Azure SDK for Rust (November 2025)
The Azure SDK team is pleased to announce our November 2025 client library releases.
22 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.30.0 Changelog
Bugs Fixed
ItemIterator::into_pages()now properly supports resuming from the current page until after all items have been iterated.
Breaking Changes
- Added
Contextfield toPollerOptions. Client methods which returnPollerobjects should accept aPollerOptionsin theirmethod_optionsfield instead of aClientMethodOptions. - Added
F: Formattype parameter toPollerandPollerResult. - Added
Formatassociated type toStatusMonitor. - Added
Format::deserialize()function toFormattrait. - Added
Stype parameter toxml::from_xmlcongruent withjson::from_json(). - Changed
PollerOptions::frequencyfromOption<Duration>toDuration. - Moved deserializers and serializers for optional base64-encoded bytes to
base64::optionmodule.base64module now deserializes or serializes non-optional fields congruent with thetimemodule. - Removed
constantsmodule. - Removed
credentials::DEFAULT_SCOPE_SUFFIX. - Removed
CustomHeaderspolicy. - Removed
ErrorKind::MockFramework. - Removed
Poller::wait()function. Callawaiton aPollerto wait for it to complete and, upon success, return the final model. - Removed
xml::read_xml_str(). - Renamed
BearerTokenCredentialPolicytoBearerTokenAuthorizationPolicy. - Renamed
BufResponsetoAsyncRawResponseso thatAsyncRawResponseis toRawResponseasAsyncIteratoris toIterator. - Renamed
BufResponseBodytoAsyncResponseBodyso thatAsyncResponseBodyis toResponseBodyasAsyncIteratoris toIterator. - Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody. - Renamed
RetryPolicy::get_retry_headers()toRetryPolicy::retry_headers() - Renamed
xml::read_xml()toxml::from_xml()congruent withjson::from_json().
Features Added
- Added
Context::to_owned()to create a newly ownedContextfrom an existingContext. - Added
ItemIterator::continuation_token()andwith_continuation_token()to resume paging items. The current page is restarted until after all items have been iterated. - Added
PipelineOptions::retry_status_codesfor configuring which status codes should trigger a retry. - Added
Response<T, F>::body(&self) -> &ResponseBody. - Added
Response<T, F>::to_raw_response()function to create aRawResponsefrom cloned data. - Added
UrlExt::append_path(). - Implemented
IntoFuturefor aPoller. Callawaiton a Poller to get the final model, orinto_stream()to get afutures::Streamto poll the operation manually. - Re-exported
serde_json::Valueasazure_core::Value(#1687)
Core 0.30.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
Core - AMQP 0.9.0 Changelog
Breaking Changes
- All AMQP APIs now return an
azure_core_amqp::AmqpErrorinstead of anazure_core::Error. - Several
azure_core_amqp::error::AmqpErrorKindenumerations have been removed because they are no longer needed. - Modified several errors which previously used
azure_core::Error::with_messageto useazure_core_amqp::AmqpError::with_message, changing their underlying type.
Core - AMQP 0.9.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
Core - Macros 0.4.0 Changelog
Other Changes
- Updated dependencies.
Core - Macros 0.4.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
Core - OpenTelemetry 0.4.0 Changelog
Other Changes
- Updated dependencies.
Core - OpenTelemetry 0.4.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
Cosmos DB 0.29.0 Changelog
Features Added
- Added Regions to pass preferred regions through Cosmos Client Options. (#3274)
- Adjusted the query engine abstraction to support future enhancements and optimizations. (#3166)
Breaking Changes
- Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody.
Event Hubs 0.9.0 Changelog
Breaking Changes
- All Event Hubs APIs now return an
azure_messaging_eventhubs::EventHubErrorinstead of anazure_core::Error. - Several
azure_messaging_eventhubs::error::ErrorKindenumerations have been removed because they are no longer needed. - Modified several errors which previously used
azure_core::Error::with_messageto useazure_messaging_eventhubs::EventHubsError::with_message, changing their underlying type.
EventHubs Checkpoint Store for Azure Blob Storage 0.3.0 Changelog
Other Changes
- Updated dependencies.
Identity 0.30.0 Changelog
Features Added
- A
get_token()error caused by an HTTP response carries that response. See the troubleshooting guide for example code showing how to access the response.
Bugs Fixed
ClientCertificateCredential::get_token()returned an error when given multiple scopes.ManagedIdentityCredentialdidn’t follow IMDS retry guidance.
Breaking Changes
ClientCertificateCredential::new():client_certificateparameter is nowcertificateclient_certificate_passwordparameter is nowpassword: Option<azure_core::credentials::Secret>inClientCertificateCredentialOptions- now returns an error when the given certificate can’t be parsed
- Removed
ClientCertificateCredentialOptions.send_certificate_chain. Set environment variableAZURE_CLIENT_SEND_CERTIFICATE_CHAINto “1” or “true” to enable this feature.
Key Vault - Certificates 0.8.0 Changelog
Breaking Changes
CertificateClient::create_certificate()now returns aPoller<CertificateOperation>.CertificateClientListCertificatePropertiesOptions::method_optionsis nowPagerOptions.CertificateClientListCertificatePropertiesVersionsOptions::method_optionsis nowPagerOptions.CertificateClientListDeletedCertificatePropertiesOptions::method_optionsis nowPagerOptions.CertificateClientListIssuerPropertiesOptions::method_optionsis nowPagerOptions.- Changed
PollerOptions::frequencyfromOption<Duration>toDuration. - Removed
CertificateClient::begin_create_certificate(). - Removed
CertificateClient::resume_create_certificate(). - Removed
wait()function fromPoller<CertificateOperation>. - Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody.
Key Vault - Keys 0.9.0 Changelog
Breaking Changes
KeyClientListDeletedKeyPropertiesOptions::method_optionsis nowPagerOptions.KeyClientListKeyPropertiesOptions::method_optionsis nowPagerOptions.KeyClientListKeyPropertiesVersionsOptions::method_optionsis nowPagerOptions.- Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody.
Key Vault - Secrets 0.9.0 Changelog
Breaking Changes
SecretClientListDeletedSecretPropertiesOptions::method_optionsis nowPagerOptions.SecretClientListSecretPropertiesOptions::method_optionsis nowPagerOptions.SecretClientListSecretPropertiesVersionsOptions::method_optionsis nowPagerOptions.- Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody.
Storage - Blobs 0.7.0 Changelog
Features Added
- Added support for client construction directly from URLs:
AppendBlobClient::from_url()BlobClient::from_url()BlobContainerClient::from_url()BlockBlobClient::from_url()PageBlobClient::from_url()- Added support for SAS (shared access signature) URLs via the new
from_url()methods.
Breaking Changes
- Changed the following options structs’
method_optionsfromClientMethodOptionstoPagerOptions: BlobContainerClientListBlobFlatSegmentOptionsBlobContainerClientListBlobHierarchySegmentOptions-
BlobServiceClientListContainersSegmentOptions - Removed the
container_name()andblob_name()accessors on relevant clients. - Removed the
endpointstruct field on all clients, as this value is now returned directly from the underlying generated client. - Changed the
container_nameandblob_nameparameters from ownedStringto&strreference on relevant client constructor methods (new()). - The
credentialparameter is nowOptionalonnew()client constructors, allowing for construction of public access clients. - Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody.
Bugs Fixed
TypeSpec Client Core 0.9.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
TypeSpec Client Core 0.9.0 Changelog
Breaking Changes
- Added
Stype parameter toxml::from_xmlcongruent withjson::from_json(). - Moved deserializers and serializers for optional base64-encoded bytes to
base64::optionmodule.base64module now deserializes or serializes non-optional fields congruent with thetimemodule. - Removed
CustomHeaderspolicy. - Removed
ErrorKind::MockFramework. - Removed
xml::read_xml_str(). - Renamed
BufResponsetoAsyncRawResponseso thatAsyncRawResponseis toRawResponseasAsyncIteratoris toIterator. - Renamed
BufResponseBodytoAsyncResponseBodyso thatAsyncResponseBodyis toResponseBodyasAsyncIteratoris toIterator. - Renamed
Response<T, F>::into_body(self) -> Result<Response<T>>tointo_model(self) -> Result<Response<T>>.into_body(self)now returns aResponseBody. - Renamed
xml::read_xml()toxml::from_xml()congruent withjson::from_json().
Features Added
- Added
Context::to_owned()to create a static lifetime copy of an existingContext. - Added
PipelineOptions::retry_status_codesfor configuring which status codes should trigger a retry. - Added
Response<T, F>::body(&self) -> &ResponseBody. - Added
Response<T, F>::to_raw_response()function to create aRawResponsefrom cloned data. - Added
UrlExt::append_path(). - Added module
fmt::empty_as_nullcontaining some serde helpers for empty/null string values. - Re-exported
serde_json::Valueastypespec_client_core::Value(#1687)
TypeSpec Core 0.10.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
TypeSpec Core 0.10.0 Changelog
Breaking Changes
- Added
Stype parameter toxml::from_xmlcongruent withjson::from_json(). - Removed
ErrorKind::MockFramework. - Removed
xml::read_xml_str(). - Renamed
xml::read_xml()toxml::from_xml()congruent withjson::from_json().
TypeSpec Core Macros 0.9.1 Changelog
Other Changes
- Increment version for re-release following a fix to publishing.
TypeSpec Core Macros 0.9.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.30.0
$> cargo add azure_core@0.30.1
$> cargo add azure_core_amqp@0.9.0
$> cargo add azure_core_amqp@0.9.1
$> cargo add azure_core_macros@0.4.0
$> cargo add azure_core_macros@0.4.1
$> cargo add azure_core_opentelemetry@0.4.0
$> cargo add azure_core_opentelemetry@0.4.1
$> cargo add azure_data_cosmos@0.29.0
$> cargo add azure_identity@0.30.0
$> cargo add azure_messaging_eventhubs@0.9.0
$> cargo add azure_messaging_eventhubs_checkpointstore_blob@0.3.0
$> cargo add azure_security_keyvault_certificates@0.8.0
$> cargo add azure_security_keyvault_keys@0.9.0
$> cargo add azure_security_keyvault_secrets@0.9.0
$> cargo add azure_storage_blob@0.7.0
$> cargo add typespec@0.10.1
$> cargo add typespec@0.10.0
$> cargo add typespec_client_core@0.9.1
$> cargo add typespec_client_core@0.9.0
$> cargo add typespec_macros@0.9.1
$> cargo add typespec_macros@0.9.0
Feedback
If you have a bug or feature request for one of the libraries, please post an issue to GitHub.