Skip to content

Releases: Backblaze/b2-sdk-python

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

1.33.0

15 Mar 15:36
c9c18c9
Compare
Choose a tag to compare

Fixed

  • Escape control characters whenever printing object and bucket names to improve security.
  • Remove unused setuptools from default dependency list.

Added

  • Added control character escaping methods.

1.32.0

26 Feb 12:01
8ee9e7b
Compare
Choose a tag to compare

Added

  • Add set_thread_pool_size, get_thread_pool_size to *Manger classes.

Infrastructure

  • Fix schema graph rendering in readthedocs documentation.

1.31.0

19 Feb 15:02
Compare
Choose a tag to compare

Fixed

  • Remove obsolete test scripts from b2sdk package: test_upload_url_concurrency, b2sdk.b2http:test_http. (#471)

Added

  • Allow for min_part_size that is greater than default recommended_part_size value, without having to explicitly set recommended_part_size value.
  • Add GET method support to B2Http.
  • Add JSON type annotation and fix type hints in B2Http methods.
  • Add more type hints to API methods.

1.30.1

02 Feb 14:14
Compare
Choose a tag to compare

Fixed

  • Fix package author metadata.

1.30.0

02 Feb 13:16
Compare
Choose a tag to compare

Fixed

  • Fix escape sequence warnings present in python 3.12. (#458)
  • Handle json encoded, invalid B2 error responses, preventing exceptions such as invalid literal for int() with base 10: 'service_unavailable'.

Added

  • Add support for filters to Bucket.ls().

Infrastructure

  • Package the library using pdm, use locked dependencies in CI.
  • Update ruff linter and apply it to all files.

1.29.1

23 Jan 09:53
Compare
Choose a tag to compare

Fixed

  • Handle non-json encoded B2 error responses, i.e. retry on 502 and 504 errors.

Doc

  • Add missing import in Synchronizer docs example.

1.29.0

13 Dec 09:52
Compare
Choose a tag to compare

Changed

  • Change v3.B2Api.authorize_account signature to make realm optional and "production" by default.

Added

  • Progress listener instances can now change their descriptions during run. This allows for e.g.: changing description after file headers are downloaded but before the content is fetched.

Infrastructure

  • Add -v to pytest in CI.
  • Run windows pypy3.9 tests on nightly builds.

1.28.0

06 Dec 19:32
Compare
Choose a tag to compare

Changed

  • On XDG compatible OSes (Linux, BSD), the profile file is now created in $XDG_CONFIG_HOME (with a fallback to ~/.config/ in absence of given env. variable).
  • Replace blank assert with exception when size values for parts upload are misaligned.

Fixed

  • Streaming from empty stream no longer ends with "Empty emerge parts iterator" error.

Infrastructure

  • Changelog entries are now validated as a part of CI pipeline.
  • Disable dependabot requests for updates unrelated to security issues.
  • Fixed tests failing because of changes made to locale.normalize in Python 3.12.

1.27.0

26 Nov 22:15
f29585d
Compare
Choose a tag to compare

Changed

  • Add dependency on setuptools and packaging as they are not shipped by cpython 3.12 and are used in production code.

Fixed

  • Fix closing of passed progress listeners in Bucket.upload and Bucket.copy