Releases: Backblaze/b2-sdk-python
Releases · Backblaze/b2-sdk-python
2.6.0
Removed
- Remove Python 3.7 support in new releases.
Under Python 3.7pip
will keep resolving the latest version of the package that supports active interpreter.
Python 3.8 is now the minimum supported version, until it reaches EOL in October 2024.
We encourage use of the latest stable Python release.
Fixed
- Fixed datetime.utcnow() deprecation warnings under Python 3.12.
Added
- Declare official support for Python 3.13 in b2sdk.
Test b2sdk against Python 3.13 in CI.
Infrastructure
- Upgraded to pytest 8 (#484).
2.5.1
Fixed
- Fix LocalFolder.all_files(..) erroring out if one of the non-excluded directories is not readable by the user running the scan.
Warning is added to ProgressReport instead as other file access errors are.
2.5.0
Fixed
- Fix TruncatedOutput errors when downloading files over congested network (fixes B2_Command_Line_Tool#554).
- Ensure
FileSimulator.as_download_headers
returnsdict[str, str]
mapping.
Added
- Add
unhide_file
method to Bucket class.
Doc
- Improve
download_file_from_url
methods type hints.
Infrastructure
- Limit max CI (Github Actions) duration to 90 minutes.
2.4.1
2.4.0
Changed
- In
b2sdk.v3
theB2Api
will always createcache
fromAccountInfo
object, unlesscache
is provided explicitly.
The current stableb2sdk.v2
remains unchanged, i.e.DummyCache
is created by default ifaccount_info
was provided, but notcache
.
Documentation forb2sdk.v2
was updated with the new recommended usage, e.g.B2Api(info, cache=AuthInfoCache(info))
, to achieve the same behavior asb2sdk.v3
. (#497)
Fixed
- Move scan filters before a read on filesystem access attempt. This will prevent unnecessary warnings and IO operations on paths that are not relevant to the operation. (#456)
- Fix bucket caching erroring out when using
StubAccountInfo
.
Added
- Add
annotated_types
dependency for type annotations that include basic value validation. - Add
daysFromStartingToCancelingUnfinishedLargeFiles
option tolifecycle_rules
type annotation. - Add non-retryable
NoPaymentHistory
exception.
API returns this exception when action (e.g. bucket creation or replication rules) is not allowed due to lack of payment history.
2.3.0
Added
- Add
folder_to_list_can_be_a_file
parameter tob2sdk.v2.Bucket.ls
, that if set toTrue
will allow listing a file versions if path is an exact match.
This parameter won't be included inb2sdk.v3.Bucket.ls
and unless suppliedpath
ends with/
, the possibility of path pointing to file will be considered first.
2.2.1
Fixed
- Fix
__str__
ofb2sdk.v2.BucketIdNotFound
to return full error message and not just missing bucket ID value.
2.2.0
Added
- Add
has_errors_or_warnings
method toProgressReport
class.
Fixed
- Ensure
b2sdk.v2.b2http
emitsb2sdk.v2.BucketIdNotFound
exception instead ofb2sdk._v3.BucketIdNotFound
. (#437) - Ensure
unprintable_to_hex
andunprintable_to_hex
return empty string (instead ofNone
) if empty string was supplied as argument. - Skip files with invalid filenames when scanning directories (for
sync
, ...) instead of raising an exception.
2.1.0
Changed
- Use ParallelDownloader for small files instead of SimpleDownloader to avoid blocking on I/O.
Fixed
- Fix
decode_content=True
causing an error when downloading tiny and large files. - Prevent errors due to the use of "seekable" download strategies for seekable, but not readable files.
Added
- Add set&get Event Notification rules methods to Bucket API as part of Event Notifications feature Private Preview.
See https://www.backblaze.com/blog/announcing-event-notifications/ for details.
2.0.0
Removed
- Remove
tqdm
dependency. Nowtqdm
has to be explicitly installed to useTqdmProgressListener
class. - Remove
[doc]
extras dependency group - moved to dev dependencies. - Remove unnecessary
packaging
package dependency. It's functionality was never explicitly exposed.
Changed
- Move non-apiver packages (e.g. packages other than
b2sdk.v1
,b2sdk.v2
, ...) tob2sdk._internal
to further discourage use of non-public internals.
If you accidentally used non-public internals, most likely only thing you will need to do, is import fromb2sdk.v2
instead ofb2sdk
. - Move logging setup and
UrllibWarningFilter
class fromb2sdk.__init__.py
tob2sdk._v3
(and thusb2sdk.v2
&b2sdk.v1
).
This will allow us to remove/change it in new apiver releases without the need to change the major semver version.
Added
- Add
SqliteAccountInfo.get_user_account_info_path
to public API.
Infrastructure
- Update to GitHub Actions using Node 20.