Azure SDK for Rust (June 2025)
The Azure SDK team is pleased to announce our June 2025 client library releases.
12 packages released this month.
Beta Packages (12)
-
Core
-
Core - AMQP
-
Cosmos DB
-
Event Hubs
-
Identity
-
Key Vault - Certificates
-
Key Vault - Keys
-
Key Vault - Secrets
-
Storage - Blobs
-
TypeSpec Client Core
-
TypeSpec Core
-
TypeSpec Core Macros
Release highlights
Core 0.25.0 Changelog
Features Added
- Added
#[safe]attribute helper forSafeDebugderive macro to show or hide types and members as appropriate. - Added
Pagetrait to facilitate theItemIterator. - Added
PageIteratorto asynchronously iterator all pages.
Bugs Fixed
BearerTokenCredentialPolicyreturns an error when a proactive token refresh attempt fails
Breaking Changes
- A
Pagernow asynchronously iterates over items across all pages. CallPager::into_pages()to get aPageIteratorto asynchronously iterate over all pages. - Removed
AccessToken::is_expired(). - Renamed
PagerResult::ContinuetoMoreand itscontinuationfield tonext. - Renamed
PagerResult::CompletetoDone. - Renamed
PageStreamtoItemIterator.
Core - AMQP 0.4.0 Changelog
Breaking Changes
-
AmqpClaimsBasedSecuritynow takes ownership of the associated session rather than simply referencing the associated session. This means that all CBS authentication operations should be performed on dedicated AmqpSession objects. -
AmqpOrderedMap::iternow iterates over references to key and value, not clones of the key and value, thus eliminating unnecessary clones.
Cosmos DB 0.24.0 Changelog
Features Added
- Added a function
CosmosClient::with_connection_stringto enableCosmosClientcreation via connection string. (#2641) - Added support for executing limited cross-partition queries through the Gateway. See https://learn.microsoft.com/rest/api/cosmos-db/querying-cosmosdb-resources-using-the-rest-api#queries-that-cannot-be-served-by-gateway for more details on these limitations. (#2577)
- Added a preview feature (behind
preview_query_enginefeature flag) to allow the Rust SDK to integrate with an external query engine for performing cross-partition queries. (#2577)
Breaking Changes
FeedPager<T>now asynchronously iterates items of typeTinstead of pages containing items of typeT. CallFeedPager::into_pages()to get aPageIteratorto asynchronously iterate over all pages. (#2665)
Event Hubs 0.4.0 Changelog
Breaking Changes
- Event Message Properties is now an
AmqpSimpleValuerather than anAmqpValueto more closely reflect the AMQP specification (AMQP ApplicationProperties cannot contain Map, List, or Array).
Identity 0.25.0 Changelog
Bugs Fixed
AzureCliCredentialdidn’t invokeazwithin a shell on all platforms
Key Vault - Certificates 0.3.0 Changelog
Bugs Fixed
Breaking Changes
Pager<T>now asynchronously iterates items of typeTinstead of pages containing items of typeT. CallPager::into_pages()to get aPageIteratorto asynchronously iterate over all pages. This affects:CertificateClient::list_deleted_certificate_propertiesCertificateClient::list_certificate_propertiesCertificateClient::list_certificate_properties_versionsCertificateClient::list_issuer_properties
Features Added
- Built on Azure Key Vault service version 7.6.
- Added
preserve_cert_orderto several models to preserve the order of signing certificates when importing or merging certificates.
Key Vault - Keys 0.4.0 Changelog
Bugs Fixed
Breaking Changes
Pager<T>now asynchronously iterates items of typeTinstead of pages containing items of typeT. CallPager::into_pages()to get aPageIteratorto asynchronously iterate over all pages. This affects:KeyClient::list_deleted_key_propertiesKeyClient::list_key_propertiesKeyClient::list_key_properties_versions
Features Added
- Built on Azure Key Vault service version 7.6.
- Added
EncryptionAlgorithm::CkmAesKeyWrapandCkmAesKeyWrapPad. - Added
JsonWebKeySignatureAlgorithm::Hs256,Hs384, andHs512. - Added
KeyAttestationreturned byKeyAttributes::attestationfield. - Added
KeyClient::get_key_attestationclient method.
Key Vault - Secrets 0.4.0 Changelog
Bugs Fixed
Breaking Changes
Pager<T>now asynchronously iterates items of typeTinstead of pages containing items of typeT. CallPager::into_pages()to get aPageIteratorto asynchronously iterate over all pages. This affects:SecretClient::list_deleted_secret_propertiesSecretClient::list_secret_propertiesSecretClient::list_secret_properties_versions
Features Added
- Built on Azure Key Vault service version 7.6.
Storage - Blobs 0.2.0 Changelog
Breaking Changes
- Moved
commit_block_list,get_block_list, andstage_blockfromBlobClienttoBlockBlobClient.
Bugs Fixed
- Fixed an issue where the blob type string would appear as a query parameter in the request URL for certain APIs extraneously.
Features Added
- Added a new blob client type,
BlockBlobClient. - Added navigation methods to access sub-clients from existing clients:
BlobServiceClient::blob_container_client()BlobContainerClient::blob_client()-
BlobClient::block_blob_client() - Added support for
list_blobs,set_metadatatoContainerClient. - Added support for
set_metadata,set_properties, andset_tiertoBlobClient.
TypeSpec Client Core 0.4.0 Changelog
Features Added
- Added
#[safe]attribute helper forSafeDebugderive macro to show or hide types and members as appropriate. - Added module
fmt::as_stringwhich is used to (de)serialize types in string format. - Added
Response<T, F>type to represent a response with a specific format and model type. - Added
RawResponsetype to represent a raw response without a specific model.
Breaking Changes
- Removed the
Modeltrait and replaced it withResponse<T, F>, which moves the “format” information (JSON/XML/etc.) from the model to the service client method’s return type. This allows for more flexibility in handling different response formats and user data types in Responses. - Split
ResponseintoResponse<T, F>andRawResponse(which carries the raw response data without a specific format).
TypeSpec Core 0.5.0 Changelog
Other Changes
- Updated dependencies.
TypeSpec Core Macros 0.4.0 Changelog
Features Added
- Added
#[safe]attribute helper forSafeDebugderive macro to show or hide types and members as appropriate.
Breaking Changes
- Removed
Modelderive macro.
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.25.0
$> cargo add azure_core_amqp@0.4.0
$> cargo add azure_data_cosmos@0.24.0
$> cargo add azure_identity@0.25.0
$> cargo add azure_messaging_eventhubs@0.4.0
$> cargo add azure_security_keyvault_certificates@0.3.0
$> cargo add azure_security_keyvault_keys@0.4.0
$> cargo add azure_security_keyvault_secrets@0.4.0
$> cargo add azure_storage_blob@0.2.0
$> cargo add typespec@0.5.0
$> cargo add typespec_client_core@0.4.0
$> cargo add typespec_macros@0.4.0
Feedback
If you have a bug or feature request for one of the libraries, please post an issue to GitHub.