Releases: Backblaze/b2-sdk-python
Releases · Backblaze/b2-sdk-python
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.
1.33.0
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
Added
- Add
set_thread_pool_size
,get_thread_pool_size
to *Manger classes.
Infrastructure
- Fix schema graph rendering in readthedocs documentation.
1.31.0
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 defaultrecommended_part_size
value, without having to explicitly setrecommended_part_size
value. - Add
GET
method support toB2Http
. - Add
JSON
type annotation and fix type hints inB2Http
methods. - Add more type hints to API methods.
1.30.1
Fixed
- Fix package author metadata.
1.30.0
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
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
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
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
Changed
- Add dependency on
setuptools
andpackaging
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
andBucket.copy