Skip to content

Releases: Backblaze/b2-sdk-python

2.6.0

28 Oct 22:30
c6f291f
Compare
Choose a tag to compare

Removed

  • Remove Python 3.7 support in new releases.
    Under Python 3.7 pip 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

15 Aug 19:59
5b5ac44
Compare
Choose a tag to compare

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

30 Jul 19:28
470de14
Compare
Choose a tag to compare

Fixed

  • Fix TruncatedOutput errors when downloading files over congested network (fixes B2_Command_Line_Tool#554).
  • Ensure FileSimulator.as_download_headers returns dict[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

19 Jun 14:26
9de9d70
Compare
Choose a tag to compare

Fixed

  • Fix LocalFolder regression (introduced in 2.4.0) which caused LocalFolder to not list files by path lexicographical order.
    This is also a fix for synchronizer re-uploading files on every run in some cases. (#502)

2.4.0

17 Jun 09:01
21f12c4
Compare
Choose a tag to compare

Changed

  • In b2sdk.v3 the B2Api will always create cache from AccountInfo object, unless cache is provided explicitly.
    The current stable b2sdk.v2 remains unchanged, i.e. DummyCache is created by default if account_info was provided, but not cache.
    Documentation for b2sdk.v2 was updated with the new recommended usage, e.g. B2Api(info, cache=AuthInfoCache(info)), to achieve the same behavior as b2sdk.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 to lifecycle_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

15 May 12:37
84f421b
Compare
Choose a tag to compare

Added

  • Add folder_to_list_can_be_a_file parameter to b2sdk.v2.Bucket.ls, that if set to True will allow listing a file versions if path is an exact match.
    This parameter won't be included in b2sdk.v3.Bucket.ls and unless supplied path ends with /, the possibility of path pointing to file will be considered first.

2.2.1

09 May 11:12
9fbe73c
Compare
Choose a tag to compare

Fixed

  • Fix __str__ of b2sdk.v2.BucketIdNotFound to return full error message and not just missing bucket ID value.

2.2.0

08 May 18:33
3bb7f33
Compare
Choose a tag to compare

Added

  • Add has_errors_or_warnings method to ProgressReport class.

Fixed

  • Ensure b2sdk.v2.b2http emits b2sdk.v2.BucketIdNotFound exception instead of b2sdk._v3.BucketIdNotFound. (#437)
  • Ensure unprintable_to_hex and unprintable_to_hex return empty string (instead of None) 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

15 Apr 13:35
87311b9
Compare
Choose a tag to compare

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

2.0.0

02 Apr 12:02
294d056
Compare
Choose a tag to compare

Removed

  • Remove tqdm dependency. Now tqdm has to be explicitly installed to use TqdmProgressListener 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, ...) to b2sdk._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 from b2sdk.v2 instead of b2sdk.
  • Move logging setup and UrllibWarningFilter class from b2sdk.__init__.py to b2sdk._v3 (and thus b2sdk.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