NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #270 most downloaded on PyPI
Microsoft Azure Blob Storage Client Library for Python
Last release 4 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
94 releases · first in 2017
This version and all future versions will require Python 3.10+. Python 3.9 is no longer supported.
This version and all future versions will require Python 3.10+. Python 3.9 is no longer supported.
list support to BlobSasPermissions for use with directory-scoped SAS tokens.destination_snapshot on a blob's copy properties was always None when listing blobs with response_format="arrow".Added support for service version 2026-10-06.
response_format="arrow" keyword to ContainerClient's list_blobs, walk_blobs, and list_blob_names APIs
(response_format defaults to "auto", and "auto" currently means "xml").
The use of "response_format=arrow" requires nanoarrow to be installed.
This change also enables the new end_before keyword for range-based listing.BlobClient's download_blob API.
The blob_tier, blob_tier_inferred, blob_tier_change_time, and smart_access_tier
properties are now populated on the downloaded blob's properties.content_crc64 on the response of
BlobClient upload operations (stage_block, stage_block_from_url, upload_page,
upload_pages_from_url, append_block, append_block_from_url, upload_blob, and
upload_blob_from_url) in addition to content_md5 when a content MD5 is
provided with the request.upload_blob with Block Blobs will now generate random,
unique block ids for each block rather than using a sequential count.
The length of the new block ids will be the same as previous versions to ensure backwards compatibility.One column per quarter.
Async clients now reject header names and values containing a \r or \n when sending a batch request, matching the behavior of the sync clients.
\r or \n when sending a batch request, matching the behavior of the sync clients.Fixed an issue where a header name or value containing a \r or \n was written directly into a batch request body. Such headers are now rejected with a
\r or \n was written directly into a batch request body. Such headers are now rejected with a ValueError.Fixed a bug where client-side encryption 2.0 could not detect a rearrangement of otherwise-untampered authenticated regions in blob content. This is n
Stable release of features from 12.30.0b1
Code | Docs
Support: Active
Storage - Blobs Changefeed
azure-storage-blob-changefeed
Added support for service version 2026-06-06.
account_urls to accept URLs with -ipv6 and -dualstack suffixes
for BlobServiceClient, ContainerClient, and BlobClient.create permission in BlobSasPermissions for stage_block,
stage_block_from_url, and commit_block_list.Smart access tier to StandardBlobTier used in BlobClient.set_standard_blob_tier,
which is optimized to automatically determine the most cost-effective access with no performance impact.
When set, BlobProperties.smart_access_tier will reveal the service's current access
tier choice between Hot, Cool, and Archive.is_directory keyword in generate_blob_sas that generates directory-level SAS for blobs.max_concurrency=None by defaulting to the shared DEFAULT_MAX_CONCURRENCY constant.Stable release of features from 12.29.0b1
BlobClient's download_blob did not retry upon
ServiceResponseError and ServiceResponseTimeoutError exceptionslogging_enable and logging_body keywords on a per-request
basis and with retries. Prior to this fix logging may have not behaved as expected, especially on retries.This replaces INCREMENTAL_COPY_OF_EARLIER_VERSION_SNAPSHOT_NOT_ALLOWED which has been deprecated.
INCREMENTAL_COPY_OF_EARLIER_SNAPSHOT_NOT_ALLOWED.
This replaces INCREMENTAL_COPY_OF_EARLIER_VERSION_SNAPSHOT_NOT_ALLOWED which has been deprecated.access_tier_if_modified_since and access_tier_if_unmodified_since to
conditionally perform BlobClient.delete_blob operation.source_cpk for BlobClient's upload_blob_from_url,
stage_block_from_url, upload_pages_from_url, and append_block_from_url APIs
to re-encrypt data automatically by the service through a CustomerProvidedEncryptionKey.user_delegation_tid to BlobServiceClient.get_user_delegation_key API, which
can be used in generate_blob_sas and generate_container_sas to specify the Tenant ID that is authorized
to use the generated SAS URL. Note that user_delegation_tid must be used together with user_delegation_oid.request_headers to generate_blob_sas and generate_container_sas,
which specifies a set of headers and their corresponding values that must be
present in the request header when using the generated SAS.request_query_params to generate_blob_sas and generate_container_sas,
which specifies a set of query parameters and their corresponding values that must be
present in the request URL when using the generated SAS.azure-core dependency to 1.37.0.Stable release of features from 12.28.0b1
connection_data_block_size for all clients from 4 KiB to 256 KiB. This should result in
significantly better throughput on large file downloads for most environments.Added support for service version 2026-02-06.
if_modified_since, if_unmodified_since, etag, and match_condition to
conditionally perform BlobClient's set_blob_tags and get_blob_tags operations.start_from in ContainerClient's list_blobs, list_blob_names, and walk_blobs
APIs, which specifies the full path to start listing paths from.user_delegation_oid to generate_blob_sas and generate_container_sas, which
specifies the Entra ID of the user that is authorized to use the generated SAS URL.UseDevelopmentStorage=true; as a valid connection string for Azurite.BlobClient.download_blob via the decompress keyword.Fixed MyPy attr-defined errors for BlobClient.
attr-defined errors for BlobClient.Stable release of features from 12.27.0b1
kwarg arguments to be named keywords.
Some public types may have been adjusted if they were previously erroneous or incomplete.__enter__ and __exit__ attributes for all asynchronous client objects for raising explicit TypeError,
and let the AttributeError raise directly.Code | Docs Storage - Queues azure-storage-queue
Code | Docs
Storage - Queues
azure-storage-queue
This version and all future versions will require Python 3.9+. Python 3.8 is no longer supported.
Code | Docs Support: Active
Code | Docs
Support: Active
BlobClient's start_copy_from_url with incremental_copy=True results in TypeError.Code | Docs Storage - Files Share azure-storage-file-share
Code | Docs
Storage - Files Share
azure-storage-file-share
ContainerClient's get_container_access_policy
and set_container_access_policy APIs.source_token_intent when copying from file share to blob and
authenticated via TokenCredential for the following BlobClient APIs: upload_blob_from_url,
start_copy_from_url, stage_block_from_url, upload_pages_from_url, and append_block_from_url.query_blob in the asynchronous BlobClient.Updated dependency for azure-storage-file-datalake type hints.
azure-storage-file-datalake type hints.Code | Docs Support: Active
Code | Docs
Support: Active
Added support for service version 2025-05-05.
Fixed an issue where custom transports may encounter AttributeError on certain requests.
AttributeError on certain requests.StorageStreamDownloader(chars=-1) may not return all data.Stable release of features from 12.24.0b1
Added support for service version 2025-01-05.
upload_blob_from_url via the new metadata keyword.set_immutability_policy, delete_immutability_policy and set_legal_hold for Blob snapshots and versions.Added support for decryption of Blobs encrypted using client-side encryption version 2.1.
Stable release of features from 12.23.0b1
Added support for service version 2024-11-04.
azure-core dependency to 1.30.0.Updated type hints across the entire package and enabled MyPy to run during CI. Some public types may have been adjusted if they were previously erron
Stable release of features from 12.21.0b1
chars keyword to the StorageStreamDownloader.read method to support reading an arbitrary number of
characters from the stream rather than bytes. This can only be used when encoding is specified on download_blob
but can help prevent decoding errors in certain scenarios.Added support for service version 2024-08-04.
Stable release of features from 12.20.0b1
This version and all future versions will require Python 3.8+. Python 3.7 is no longer supported.
This version and all future versions will require Python 3.8+. Python 3.7 is no longer supported.
services parameter has been added to the generate_account_sas API, which enables the ability to generate SAS
tokens to be used with multiple services. By default, the SAS token service scope will default to the current service.typing-extensions to >=4.6.0 to avoid potential TypeError with typing.TypeVar on
Python 3.12.AttributeError instead of ClientAuthenticationError when
using async OAuth credentials.readinto API. The correct input type is IO[bytes].completion_time for the CopyProperties model.upload_blob when using Iterators/Generators as the data input.prefix to the following ContainerClient APIs now raises a ValueError:
list_blobs, list_blobs_names, and walk_blobs. This change was made to avoid confusion for filtering results.
The name_starts_with parameter is the correct parameter to pass for filtering.Fixed an issue where under rare circumstances, full downloads of sparse Page Blobs could result in the downloaded content containing up to one "chunk"
\x00 at the end due to an optimization error.Stable release of features from 12.19.0b1
Deprecated BlobProperties as a valid input type to the blob parameter on the following APIs: BlobServiceClient's get_blob_client, ContainerClient's de…
audience as an optional keyword that can be specified on APIs that have a credential parameter. This
keyword only has an effect when the credential provided is of type TokenCredential.BlobProperties as a valid input type to the blob parameter on the following APIs:
BlobServiceClient's get_blob_client, ContainerClient's delete_blob, download_blob, and get_blob_client.
This deprecation change also applies to the name parameter on ContainerClient's upload_blob API. This change
applies to both sync and async packages but does not apply to the batch equivalent of any of the listed APIs. If a
BlobProperties is provided, a deprecation warning is raised.Fixed an issue when an invalid type was provided for credential during client construction, the __str__ of the object would be present in the exceptio
credential during client construction, the
__str__ of the object would be present in the exception message and therefore potentially logged.Fixed an issue where user_agent was being ignored on upload_blob or download_blob if client was configured for encryption.
user_agent was being ignored on upload_blob or download_blob if client was configured
for encryption.Fixed breaking KeyError: 'sdk_moniker' in create_configuration. NOTE: This is not an exported method and therefore should not be imported/called direc
KeyError: 'sdk_moniker' in create_configuration.
NOTE: This is not an exported method and therefore should not be imported/called directly.Stable release of features from 12.18.0b1
Code | Docs Synapse - AccessControl azure-synapse-accesscontrol
Code | Docs
Synapse - AccessControl
azure-synapse-accesscontrol
version_id as a client constructor parameter to BlobClient. This change makes BlobClients version-aware, such that
all APIs that accept version_id will operate on the version ID provided during client construction by default.version_id to get_blob_client APIs which, if provided, will result in a version-aware BlobClient in which
all APIs that accept version_id will operate on the version ID provided to the get_blob_client API call by default.Code | Docs Support: Active
Code | Docs
Support: Active
Added support for service version 2023-01-03.
append_block and append_block_from_url APIs and their async equivalents.Stable release of features from 12.16.0b1
Added support for service version 2022-11-02.
Stable release of features from 12.15.0b1
download_blob API now returns creation_time on the download response.Added support for service version 2021-12-02.
Cold.AsyncIterable as data type for async blob upload.upload_blob to increase compatiblity with different types.msrest dependency.typing-extensions>=4.0.1 as a dependency.isodate>=0.6.1 as a dependency.aio for installing optional async dependencies. Use pip install azure-storage-blob[aio] to install.Fixed possible ValueError for invalid content range that gets raised when downloading empty blobs through Azurite.
ValueError for invalid content range that gets raised when downloading empty blobs through Azurite.Stable release of features from 12.14.0b1 and 12.14.0b2.
download_blob with an invalid base64-encoded account key would cause an
AttributeError rather than the proper AzureSigningError.read_timeout to 60 seconds for all clients.Added a new API, list_blob_names, to ContainerClient that lists only the names of the blobs in the respective container. This API is significantly fas
list_blob_names, to ContainerClient that lists only the names of the blobs in the respective
container. This API is significantly faster than the traditional list_blobs and can be used if only the blob names
are desired. It does not return any additional properties or metadata for the blobs.This version and all future versions will require Python 3.7+. Python 3.6 is no longer supported.
This version and all future versions will require Python 3.7+. Python 3.6 is no longer supported.
AzureNamedKeyCredential as a valid credential type.read method to StorageStreamDownloader.read method) to async upload_blob.azure.storage.blob.aio.StorageStreamDownloader.azure.storage.blob.StorageStreamDownloader's retry mechanism.upload_blob and StorageStreamDownloader.readall.upload_blob would fail with validate_content=True.Fixed two rare issues with ranged blob download when using client-side encryption V1 or V2.
Stable release of features from 12.13.0b1.
delete_blobs by supplying version_id.Added support for service version 2021-08-06.
encryption_version keyword (encryption_version='2.0').Stable release of features from 12.12.0b1.
upload_blob() and download_blob() via a new optional callback,progress_hook.BlobClient.from_blob_url() such that users will receive a more helpful error
message if they pass an incorrect URL without a full /container/blob path.Added a new paginated method for listing page ranges, list_page_ranges(). This replaces get_page_ranges() which has been deprecated.
list_page_ranges(). This replaces get_page_ranges() which has been deprecated.start_copy_from_url() by specifying "COPY" for the tags keyword.Warning This release involves a bug fix that may change the behavior for some users. In previous versions, the tag parameter onBlobSasPermissions defa
Warning This release involves a bug fix that may change the behavior for some users. In previous versions,
the tag parameter onBlobSasPermissions defaulted to True meaning a Blob SAS URL would include the t permission
by default. This was not the intended behavior. This release adjusts BlobSasPermission so the tag permission will
default to False, like all other permissions.
BlobSasPermissions where the tag permission had a default value of True and
therefore was being added to the SAS token by default.This version and all future versions will require Python 3.6+. Python 2.7 is no longer supported.
This version and all future versions will require Python 3.6+. Python 2.7 is no longer supported.
permanent_deleteset_immutability_policycopy_from_url()).find_blobs_by_tags() on a container.Find (f) container SAS permission.upload_blob() from working with an OS pipe
reader stream on Linux. (#23131)Updated clients to support both SAS and OAuth together.
mypy typing hint errors.This version and all future versions will require Python 3.6+. Python 2.7 is no longer supported.
This version and all future versions will require Python 3.6+. Python 2.7 is no longer supported.
find_blobs_by_tags() on a container.Find (f) container SAS permission.azure-core dependency to avoid inconsistent dependencies from being installed.Added support for service version 2021-02-12
Account level SAS tokens now support two new permissions:
New Features
permanent_deletecopy_from_url())Fixes
invalid type inference issues (#19906)Stable release of preview features
Stable release of preview features
Your coding agent can read these notes before it upgrades. Set up the MCP server →