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 Context field to PollerOptions. Client methods which return Poller objects should accept a PollerOptions in their method_options field instead of a ClientMethodOptions.
  • Added F: Format type parameter to Poller and PollerResult.
  • Added Format associated type to StatusMonitor.
  • Added Format::deserialize() function to Format trait.
  • Added S type parameter to xml::from_xml congruent with json::from_json().
  • Changed PollerOptions::frequency from Option<Duration> to Duration.
  • Moved deserializers and serializers for optional base64-encoded bytes to base64::option module. base64 module now deserializes or serializes non-optional fields congruent with the time module.
  • Removed constants module.
  • Removed credentials::DEFAULT_SCOPE_SUFFIX.
  • Removed CustomHeaders policy.
  • Removed ErrorKind::MockFramework.
  • Removed Poller::wait() function. Call await on a Poller to wait for it to complete and, upon success, return the final model.
  • Removed xml::read_xml_str().
  • Renamed BearerTokenCredentialPolicy to BearerTokenAuthorizationPolicy.
  • Renamed BufResponse to AsyncRawResponse so that AsyncRawResponse is to RawResponse as AsyncIterator is to Iterator.
  • Renamed BufResponseBody to AsyncResponseBody so that AsyncResponseBody is to ResponseBody as AsyncIterator is to Iterator.
  • Renamed Response<T, F>::into_body(self) -> Result<Response<T>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.
  • Renamed RetryPolicy::get_retry_headers() to RetryPolicy::retry_headers()
  • Renamed xml::read_xml() to xml::from_xml() congruent with json::from_json().

Features Added

  • Added Context::to_owned() to create a newly owned Context from an existing Context.
  • Added ItemIterator::continuation_token() and with_continuation_token() to resume paging items. The current page is restarted until after all items have been iterated.
  • Added PipelineOptions::retry_status_codes for 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 a RawResponse from cloned data.
  • Added UrlExt::append_path().
  • Implemented IntoFuture for a Poller. Call await on a Poller to get the final model, or into_stream() to get a futures::Stream to poll the operation manually.
  • Re-exported serde_json::Value as azure_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::AmqpError instead of an azure_core::Error.
  • Several azure_core_amqp::error::AmqpErrorKind enumerations have been removed because they are no longer needed.
  • Modified several errors which previously used azure_core::Error::with_message to use azure_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>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.

Event Hubs 0.9.0 Changelog

Breaking Changes

  • All Event Hubs APIs now return an azure_messaging_eventhubs::EventHubError instead of an azure_core::Error.
  • Several azure_messaging_eventhubs::error::ErrorKind enumerations have been removed because they are no longer needed.
  • Modified several errors which previously used azure_core::Error::with_message to use azure_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.
  • ManagedIdentityCredential didn’t follow IMDS retry guidance.

Breaking Changes

  • ClientCertificateCredential::new():
  • client_certificate parameter is now certificate
  • client_certificate_password parameter is now password: Option<azure_core::credentials::Secret> in ClientCertificateCredentialOptions
  • now returns an error when the given certificate can’t be parsed
  • Removed ClientCertificateCredentialOptions.send_certificate_chain. Set environment variable AZURE_CLIENT_SEND_CERTIFICATE_CHAIN to “1” or “true” to enable this feature.

Key Vault - Certificates 0.8.0 Changelog

Breaking Changes

  • CertificateClient::create_certificate() now returns a Poller<CertificateOperation>.
  • CertificateClientListCertificatePropertiesOptions::method_options is now PagerOptions.
  • CertificateClientListCertificatePropertiesVersionsOptions::method_options is now PagerOptions.
  • CertificateClientListDeletedCertificatePropertiesOptions::method_options is now PagerOptions.
  • CertificateClientListIssuerPropertiesOptions::method_options is now PagerOptions.
  • Changed PollerOptions::frequency from Option<Duration> to Duration.
  • Removed CertificateClient::begin_create_certificate().
  • Removed CertificateClient::resume_create_certificate().
  • Removed wait() function from Poller<CertificateOperation>.
  • Renamed Response<T, F>::into_body(self) -> Result<Response<T>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.

Key Vault - Keys 0.9.0 Changelog

Breaking Changes

  • KeyClientListDeletedKeyPropertiesOptions::method_options is now PagerOptions.
  • KeyClientListKeyPropertiesOptions::method_options is now PagerOptions.
  • KeyClientListKeyPropertiesVersionsOptions::method_options is now PagerOptions.
  • Renamed Response<T, F>::into_body(self) -> Result<Response<T>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.

Key Vault - Secrets 0.9.0 Changelog

Breaking Changes

  • SecretClientListDeletedSecretPropertiesOptions::method_options is now PagerOptions.
  • SecretClientListSecretPropertiesOptions::method_options is now PagerOptions.
  • SecretClientListSecretPropertiesVersionsOptions::method_options is now PagerOptions.
  • Renamed Response<T, F>::into_body(self) -> Result<Response<T>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.

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_options from ClientMethodOptions to PagerOptions:
  • BlobContainerClientListBlobFlatSegmentOptions
  • BlobContainerClientListBlobHierarchySegmentOptions
  • BlobServiceClientListContainersSegmentOptions

  • Removed the container_name() and blob_name() accessors on relevant clients.
  • Removed the endpoint struct field on all clients, as this value is now returned directly from the underlying generated client.
  • Changed the container_name and blob_name parameters from owned String to &str reference on relevant client constructor methods (new()).
  • The credential parameter is now Optional on new() client constructors, allowing for construction of public access clients.
  • Renamed Response<T, F>::into_body(self) -> Result<Response<T>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.

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 S type parameter to xml::from_xml congruent with json::from_json().
  • Moved deserializers and serializers for optional base64-encoded bytes to base64::option module. base64 module now deserializes or serializes non-optional fields congruent with the time module.
  • Removed CustomHeaders policy.
  • Removed ErrorKind::MockFramework.
  • Removed xml::read_xml_str().
  • Renamed BufResponse to AsyncRawResponse so that AsyncRawResponse is to RawResponse as AsyncIterator is to Iterator.
  • Renamed BufResponseBody to AsyncResponseBody so that AsyncResponseBody is to ResponseBody as AsyncIterator is to Iterator.
  • Renamed Response<T, F>::into_body(self) -> Result<Response<T>> to into_model(self) -> Result<Response<T>>. into_body(self) now returns a ResponseBody.
  • Renamed xml::read_xml() to xml::from_xml() congruent with json::from_json().

Features Added

  • Added Context::to_owned() to create a static lifetime copy of an existing Context.
  • Added PipelineOptions::retry_status_codes for 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 a RawResponse from cloned data.
  • Added UrlExt::append_path().
  • Added module fmt::empty_as_null containing some serde helpers for empty/null string values.
  • Re-exported serde_json::Value as typespec_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 S type parameter to xml::from_xml congruent with json::from_json().
  • Removed ErrorKind::MockFramework.
  • Removed xml::read_xml_str().
  • Renamed xml::read_xml() to xml::from_xml() congruent with json::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.