Releases: Backblaze/b2-sdk-python
1.18.0
Added
- Logging performance summary of parallel download threads
- Add
max_download_streams_per_file
parameter to B2Api class and underlying structures - Add
is_file_lock_enabled
parameter toBucket.update()
and related methods
Fixed
- Replace
ReplicationScanResult.source_has_sse_c_enabled
withsource_encryption_mode
- Fix
B2Api.get_key()
andRawSimulator.delete_key()
- Fix calling
CopySizeTooBig
exception
Infrastructure
- Fix nox's deprecated
session.install()
calls - Re-enable changelog validation in CI
1.17.3
As in version 1.16.0, the replication API may still be unstable, however
no backward-incompatible changes are planned at this point.
Fixed
- Fix
FileVersion._get_upload_headers
when encryption key isNone
Infrastructure
- Fix download integration tests on non-production environments
- Add
B2_DEBUG_HTTP
env variable to enable network-level test debugging - Disable changelog validation temporarily
1.17.2
As in version 1.16.0, the replication API may still be unstable, however
no backward-incompatible changes are planned at this point.
Fixed
- Fix a race in progress reporter
- Fix import of replication
1.17.1
As in version 1.16.0, the replication API may still be unstable, however
no backward-incompatible changes are planned at this point.
Fixed
- Fix importing scan module
1.17.0
As in version 1.16.0, the replication API may still be unstable, however
no backward-incompatible changes are planned at this point.
Added
- Add
included_sources
module for keeping track of included modified third-party libraries - Add
include_existing_files
parameter toReplicationSetupHelper
Changed
- Downloading compressed files with
Content-Encoding
header set no longer causes them to be decompressed on the fly - it's an option - Change the per part retry limit from 5 to 20 for data transfer operations. Please note that the retry system is not considered to be a part of the public interface and is subject to be adjusted
- Do not wait more than 64 seconds between retry attempts (unless server asks for it)
- On longer failures wait an additional (random, up to 1s) amount of time to prevent client synchronization
- Flatten
ReplicationConfiguration
interface - Reorder actions of
ReplicationSetupHelper
to avoid zombie rules
Fixed
- Fix: downloading compressed files and decompressing them on the fly now does not cause a TruncatedOutput error
- Fix
AccountInfo.is_master_key()
- Fix docstring of
SqliteAccountInfo
- Fix lifecycle rule type in the docs
Infrastructure
- Add 3.11.0-beta.1 to CI
- Change Sphinx major version from 5 to 6
- Extract folder/bucket scanning into a new
scan
module - Enable pip cache in CI
1.16.0
This release contains a preview of replication support. It allows for basic
usage of B2 replication feature (currently in closed beta).
As the interface of the sdk (and the server api) may change, the replication
support shall be considered PRIVATE interface and should be used with caution.
Please consult the documentation on how to safely use the private api interface.
Expect substantial amount of work on sdk interface:
- The interface of
ReplicationConfiguration
WILL change - The interface of
FileVersion.replication_status
MIGHT change - The interface of
FileVersionDownload
MIGHT change
Added
- Add basic replication support to
Bucket
andFileVersion
- Add
is_master_key()
method toAbstractAccountInfo
- Add
readBucketReplications
andwriteBucketReplications
toALL_CAPABILITIES
- Add log tracing of
interpret_b2_error
- Add
ReplicationSetupHelper
Fixed
- Fix license test on Windows
- Fix cryptic errors when running integration tests with a non-full key
1.15.0
Changed
- Don't run coverage in pypy in CI
- Introduce a common thread worker pool for all downloads
- Increase http timeout to 20min (for copy using 5GB parts)
- Remove inheritance from object (leftover from python2)
- Run unit tests on all CPUs
Added
- Add pypy-3.8 to test matrix
- Add support for unverified checksum upload mode
- Add dedicated exception for unverified email
- Add a parameter to customize
sync_policy_manager
- Add parameters to set the min/max part size for large file upload/copy methods
- Add CopySourceTooBig exception
- Add an option to set a custom file version class to FileVersionFactory
- Add an option for B2Api to turn off hash checking for downloaded files
- Add an option for B2Api to set write buffer size for DownloadedFile.save_to method
- Add support for multiple profile files for SqliteAccountInfo
Fixed
- Fix copying objects larger than 1TB
- Fix uploading objects larger than 1TB
- Fix downloading files with unverified checksum
- Fix decoding in filename and file info of
DownloadVersion
- Fix an off-by-one bug and other bugs in the Simulator copy functionality
Removed
- Drop support for Python 3.5 and Python 3.6
1.14.1
Fixed
- Fix setting permissions for local sqlite database (thanks to Jan Schejbal for responsible disclosure!)
1.14.0
Fixed
- Relax constraint on arrow to allow for versions >= 1.0.2
1.13.0
Added
- Add support for Python 3.10
Changed
- Update a list with all capabilities
Fixed
- Fix pypy selector in CI