pypi / azure-storage-blob
azure-storage-blob
What changed in azure-storage-blob 2 to 12, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.
24 breaking3 security3 deprecations17 new APIs and options4 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initazure-storage-blob 1246 changes
Breaking changes 24
Python 3.9 is no longer supported; this version and future versions require Python 3.10+.
Client-side encryption 2.0 now detects rearrangement of otherwise-untampered authenticated regions in blob content and throws exceptions.
Only BlobServiceClient, ContainerClient, BlobClient, and BlobLeaseClient should be imported from the async module.
BlobAnalyticsLogging is the new name for Logging.
BlobLeaseClient is the new name for LeaseClient.
Client and model files are internal; users should import only from the top-level azure.storage.blob and azure.storage.blob.aio modules.
The overwrite option is now keyword-only.
The client methods were replaced by module-level SAS generation functions.
get_service_properties now returns a dict with keys consistent with set_service_properties.
get_service_stats now returns a dict.
Etag conditional operations now take explicit etag and match_condition parameters instead of if_match.
Etag conditional operations now take explicit etag and match_condition parameters instead of if_none_match.
LeaseClient was renamed to BlobLeaseClient.
Logging was renamed to BlobAnalyticsLogging.
Etag conditional operations now take match_condition as an instance of azure.core.MatchConditions.
The NoRetry policy was removed; use retry_total=0 for no retries.
Batch APIs add the keyword-only raise_on_any_failure argument, defaulting to True and raising an error for partial batch failure.
Reads the complete download stream and returns bytes, replacing content_as_bytes and content_as_text.
The signed_identifiers parameter is now required.
StorageStreamDownloader is no longer iterable; use its chunks attribute to iterate over the blob data stream.
The public attributes of StorageStreamDownloader are limited to name, container, properties, and size.
The public attributes of StorageStreamDownloader are limited to name, container, properties, and size.
The downloader exposes size for the total blob size or the length of a specified subsection; this was previously called download_size.
The overwrite option is now keyword-only.
Security 3
Fixed an issue where certain headers were not being properly redacted when DEBUG logging was enabled.
Async clients now reject header names and values containing carriage returns or newlines when sending a batch request, matching sync clients.
Client-side encryption now detects version downgrades and other metadata tampering beyond the start of a download.
Deprecations 3
content_as_bytes is deprecated and replaced by readall().
content_as_text is deprecated and replaced by readall().
download_to_stream is deprecated and replaced by readinto(stream).
New APIs and options 12
Added list support for use with directory-scoped SAS tokens.
Set this environment variable to revert detection of misordered authenticated regions for data recovery purposes.
Use chunks to iterate over the blob data stream.
An async module-level download_blob_from_url function was added.
Etag conditional operations now take an explicit etag value parameter.
A module-level function replaces the BlobServiceClient generate_shared_access_signature method.
A module-level function replaces the BlobClient generate_shared_access_signature method.
A module-level function replaces the ContainerClient generate_shared_access_signature method.
Downloads the complete stream into a supplied writable stream and returns the number of bytes written.
ResourceTypes adds a from_string method that takes a string parameter.
Services adds a from_string method that takes a string parameter.
An async module-level upload_blob_to_url function was added.
Fixes and other changes 4
Fixed UTC conversion of timezone-aware datetimes in generate_account_sas, generate_container_sas, generate_blob_sas, and BlobServiceClient.get_user_delegation_key for sync and async APIs. Datetimes without timezone information continue to be treated as UTC.
Fixed the field being always None on a blob's copy properties when listing blobs with response_format="arrow".
Header names or values containing carriage returns or newlines are now rejected with a ValueError instead of being written into the batch request body.
The public attributes of StorageStreamDownloader are limited to name, container, properties, and size.
azure-storage-blob 25 changes
New APIs and options 5
Adds synchronous support for appending a block from URL(s) to append blobs.
Adds support for generating and using blob snapshot SAS tokens.
Adds support for the 2018-11-09 REST version, enabling related REST API features.
Adds synchronous support for updating a page from URL(s) for page blobs.
Adds support for generating user delegation SAS tokens.