Azure SDK for Rust (March 2026)
The Azure SDK team is pleased to announce our March 2026 client library releases.
15 packages released this month.
Beta Packages (15)
-
Core
-
Core - AMQP
-
Core - Macros
-
Core - OpenTelemetry
-
Cosmos DB
-
Event Hubs
-
EventHubs Checkpoint Store for Azure Blob Storage
-
Identity
-
Key Vault - Certificates
-
Key Vault - Keys
-
Key Vault - Secrets
-
Storage - Blobs
-
TypeSpec Client Core
-
TypeSpec Core
-
TypeSpec Core Macros
Release highlights
Core 0.33.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
Features Added
- Added
ErrorKind::Connectionfor connection errors. - Added
QueryBuilder,DEFAULT_ALLOWED_HEADER_NAMES,DEFAULT_ALLOWED_QUERY_PARAMETERS, andREDACTED_PATTERNtoazure_core::http. - Added
request_header!,request_option!, andrequest_query!macros. - Added
SecretBytestoazure_core::credentialsfor securely passing byte secrets without printing them inDebugorDisplayoutput. - The
reqwestHTTP client now classifies connection errors asErrorKind::Connection.
Core - AMQP 0.12.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
Core - Macros 0.7.0 Changelog
Core - OpenTelemetry 0.7.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
Cosmos DB 0.31.0 Changelog
Features Added
- Added
with_excluded_regionstoItemOptionsfor additional regional routing options. (#3602) - Added
effective_preferred_regionsto the client, ensuring multi-region accounts use all regions for cross-regional availability without supplying regional preferences to their client. (#3602) - Added basic multi-region writes support. (#3482 and #3495)
- Added new
CosmosResponsethat wrapsazure_core::Responsefor all operations except queries. (#3622) - Added transactional batch support for executing multiple operations atomically within the same partition key. (#3664)
- Added fault injection support for testing cosmosdb clients in disaster scenarios. Fault injection is behind the feature flag
fault_injection. (#3599)
Breaking Changes
- Changed our minimum supported Rust version (MSRV) from 1.85 to 1.88.
- Removed
ContainerClient::patch_item,PatchDocument, andPatchOperationtemporarily to redesign the PATCH API for safe idempotency. Use a Read/Modify/Replace model with ETag-based optimistic concurrency instead. - Changed return type of query methods from
FeedPager<T>(an alias forItemIterator<FeedPage<T>, String>) toFeedItemIterator<T>, which implementsStream<Item = Result<T>>and providesinto_pages()for page-level access. (#3515) - Introduced
CosmosClientBuilderfor constructingCosmosClientinstances, replacing constructor-based API. Removedconsistency_level,priority,throughput_bucket,excluded_regions,SessionRetryOptions, triggers, andIndexingDirectivefrom options. SimplifiedCosmosAccountReferenceto takeCosmosAccountEndpointdirectly. Made option struct fields private with getters andwith_*setters. (#3744) - Removed
with_application_preferred_regionsAPI. Usewith_application_regionto set the Azure region the app is executing in (or the closest region to the actual location you’re running in); the SDK generates preferred regions by geographic proximity. (#3796) - Made
CosmosClientBuilder::build()andDatabaseClient::container_client()async to prepare for future cache population (account, collection, partition key range caches). - Support for
wasm32-unknown-unknownhas been removed (#3377)
Event Hubs 0.12.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
EventHubs Checkpoint Store for Azure Blob Storage 0.6.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
Identity 0.33.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377) ClientCertificateCredential::new()now takesSecretBytesinstead ofSecretfor thecertificateparameter. Pass the raw PKCS12 bytes wrapped inSecretBytesinstead of a base64-encoded string wrapped inSecret.
Key Vault - Certificates 0.11.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
Key Vault - Keys 0.12.0 Changelog
Breaking Changes
- Moved
key_versionfrom options to a required parameter onKeyClient::decrypt(),encrypt(),sign(),unwrap_key(),verify(), andwrap_key(). - Support for
wasm32-unknown-unknownhas been removed (#3377)
Key Vault - Secrets 0.12.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377)
Storage - Blobs 0.10.0 Changelog
Bugs Fixed
- Fixed an issue where user-provided
per_try_policiesinClientOptionswere ignored when constructing any Blob Storage client.
Breaking Changes
- Revised
upload()onBlockBlobClientandBlobClientwith the following breaking changes: - Now uses our managed upload logic for optimal performance in single-shot and multi-part transfers.
- Removed the
content_lengthparameter. BlobClient::upload()removed theoverwriteparameter; it now overwrites by default. UseBlobClientUploadOptions::with_if_not_exists()to prevent overwriting an existing blob.BlockBlobClient::upload()acceptsBlockBlobClientUploadOptions;BlobClient::upload()acceptsBlobClientUploadOptions(a re-export of the same type).- Returns
Result<BlockBlobClientUploadResult>(orResult<BlobClientUploadResult>viaBlobClient) instead ofResult<Response<BlockBlobClientUploadInternalResult, NoFormat>>. - Changed
BlockBlobClientUploadOptions.if_matchandif_none_matchfromOption<String>toOption<Etag>. - Changed
if_match,if_none_match,source_if_match, andsource_if_none_matchfields in all method option structs fromOption<String>toOption<Etag>. - Changed
BlobProperties::etagandContainerProperties::etagfromOption<String>toOption<Etag>. - Renamed
ContainerItem.deletetoContainerItem.deleted. - Renamed
ListBlobsFlatSegmentResponsetoListBlobsResponse. - Changed
BlobItem.namefromOption<BlobName>toOption<String>. Encoded blob names are now automatically percent-decoded during deserialization. - Support for
wasm32-unknown-unknownhas been removed (#3377)
TypeSpec Client Core 0.12.0 Changelog
Breaking Changes
- Support for
wasm32-unknown-unknownhas been removed (#3377) - Removed
tracing::FutureExtandtracing::WithContext.
Features Added
- Added
ErrorKind::Connectionfor connection errors. - The
reqwestHTTP client now classifies connection errors asErrorKind::Connection.
TypeSpec Core 0.13.0 Changelog
Features Added
- Added
ErrorKind::Connectionfor connection errors.
TypeSpec Core Macros 0.12.0 Changelog
Other Changes
- Updated dependencies.
Latest Releases
View all the latest versions of Rust crates here.
Installation Instructions
To install any of our crates, copy and paste the following commands into a terminal:
$> cargo add azure_core@0.33.0
$> cargo add azure_core_amqp@0.12.0
$> cargo add azure_core_macros@0.7.0
$> cargo add azure_core_opentelemetry@0.7.0
$> cargo add azure_data_cosmos@0.31.0
$> cargo add azure_identity@0.33.0
$> cargo add azure_messaging_eventhubs@0.12.0
$> cargo add azure_messaging_eventhubs_checkpointstore_blob@0.6.0
$> cargo add azure_security_keyvault_certificates@0.11.0
$> cargo add azure_security_keyvault_keys@0.12.0
$> cargo add azure_security_keyvault_secrets@0.12.0
$> cargo add azure_storage_blob@0.10.0
$> cargo add typespec@0.13.0
$> cargo add typespec_client_core@0.12.0
$> cargo add typespec_macros@0.12.0
Feedback
If you have a bug or feature request for one of the libraries, please post an issue to GitHub.