The Azure SDK team is pleased to announce our April 2026 client library releases.

13 packages released this month.

Beta Packages (13)

  • Core

  • Core - AMQP

  • Core - Macros

  • Core - OpenTelemetry

  • Cosmos DB

  • Identity

  • Key Vault - Certificates

  • Key Vault - Keys

  • Key Vault - Secrets

  • Storage - Blobs

  • TypeSpec Client Core

  • TypeSpec Core

  • TypeSpec Core Macros

Release highlights

Core 0.34.0 Changelog

Features Added

  • Added From<BytesStream> for Body.
  • Derived Clone and Serialize on ErrorResponse, ErrorDetail, and InnerError.

Breaking Changes

  • SeekableStream::len() and Body::len() now return Option<u64> instead of usize to support streams with unknown length and to align with std::fs::Metadata::len() for large file sizes.
  • SeekableStream::is_empty() and Body::is_empty() now return Option<bool>.
  • Added tokio feature to default features.
  • Changed async_runtime::spawn/SpawnedTask to return a trait object that supports abort().

Core - AMQP 0.13.0 Changelog

Other Changes

  • Updated dependencies.

Core - Macros 0.8.0 Changelog

Other Changes

  • Updated dependencies.

Core - OpenTelemetry 0.8.0 Changelog

Other Changes

  • Updated dependencies.

Cosmos DB 0.32.0 Changelog

Features Added

  • Added CosmosClientBuilder::with_proxy_allowed(bool) for explicit opt-in to HTTP proxy usage with documented support limitations. (#4062)
  • Added CustomResponseBuilder and FaultInjectionRule::hit_count() APIs for fault injection, enabling ergonomic construction of synthetic HTTP responses and test verification of rule activation counts. (#3888)

Bugs Fixed

  • Fixes Circuit Breaker Failover Logic for Multi-Master Writes on 403/3. (#3861)
  • Fixed partition key range fetch using mixed name/RID addressing, which caused 404 errors on certain operations. (#4047)

Breaking Changes

  • HTTP proxies (HTTPS_PROXY, HTTP_PROXY, ALL_PROXY environment variables) are now ignored by default. Use CosmosClientBuilder::with_proxy_allowed(true) to opt in. (#4062)
  • Client methods now return dedicated response types instead of CosmosResponse<T>: ItemResponse<T> for point operations, ResourceResponse<T> for resource management, BatchResponse for transactional batch, and QueryFeedPage<T> for query pages. etag() returns Option<&Etag> instead of Option<&str>, and activity_id() / server_duration_ms() are accessed via response.diagnostics(). (#3960)
  • FeedPage::deconstruct() has been removed. Use into_items(), continuation(), headers(), and diagnostics() instead. (#3960)
  • Replaced CosmosClientBuilder::with_application_region() with a mandatory RoutingStrategy parameter on build(). Use RoutingStrategy::ProximityTo(region) to specify the application region. Also removed CosmosClientOptions::with_application_region(). (#3889)
  • Changed default_ttl and analytical_storage_ttl fields on ContainerProperties from Option<Duration> to TimeToLive, a new enum with variants Forever, NoDefault, and Seconds(u32), to correctly handle the -1 wire value (TTL enabled with no default expiration).
  • DatabaseClient::container_client() now returns azure_core::Result<ContainerClient>, eagerly resolving container metadata (RID, partition key definition) at construction time. (#4005)
  • PartitionKeyDefinition fields (paths, kind, version) are now private; use accessor methods paths(), kind(), and version() instead. PartitionKeyKind changed from a string newtype to an enum with variants Hash, MultiHash, and Range. PartitionKeyVersion is now an enum (V1, V2) instead of Option<i32>. (#4005)
  • Replaced ItemOptions with ItemReadOptions (for read_item) and ItemWriteOptions (for create_item, replace_item, upsert_item, delete_item). QueryOptions and BatchOptions now also embed OperationOptions for general-purpose settings like custom headers, excluded regions, and content response behavior. Replaced per-operation with_custom_headers and with_content_response_on_write_enabled helpers with with_operation_options. Removed CosmosClientOptions::with_custom_headers(). (#4059)
  • Replaced SessionToken, RegionName, ETag-based conditional fields, content response, and excluded regions types with driver-aligned equivalents: SessionToken (now Cow<'static, str>), Region (use Region::EAST_US instead of regions::EAST_US), precondition: Option<Precondition> (replacing if_match_etag/if_match/if_none_match), OperationOptions::content_response_on_write: Option<ContentResponseOnWrite> (replacing content_response_on_write_enabled: bool), and OperationOptions::excluded_regions: Option<ExcludedRegions>. (#4059)

Identity 0.34.0 Changelog

Other Changes

  • Upgraded dependencies

Key Vault - Certificates 0.12.0 Changelog

Other Changes

  • Updated dependencies.

Key Vault - Keys 0.13.0 Changelog

Other Changes

  • Updated dependencies.

Key Vault - Secrets 0.13.0 Changelog

Other Changes

  • Updated dependencies.

Storage - Blobs 0.10.1 Changelog

Bugs Fixed

  • BlobClient::managed_download() and BlobClientManagedDownloadOptions were unintentionally exported in 0.10.0. The method now panics unconditionally; this API will be removed in a future release.
  • Updated minimum dependency versions to incorporate a fix for TLS 1.3 data corruption on Windows when uploading large payloads (schannel-rs#121).

TypeSpec Client Core 0.13.0 Changelog

Features Added

  • Added From<BytesStream> for Body.

Breaking Changes

  • SeekableStream::len() and Body::len() now return Option<u64> instead of usize to support streams with unknown length and to align with std::fs::Metadata::len() for large file sizes.
  • SeekableStream::is_empty() and Body::is_empty() now return Option<bool>.
  • Added tokio feature to default features.
  • Changed async_runtime::spawn to return a SpawnedTask trait (supports abort()) instead of a raw future.

TypeSpec Core 0.14.0 Changelog

Other Changes

  • Updated dependencies.

TypeSpec Core Macros 0.13.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.34.0
$> cargo add azure_core_amqp@0.13.0
$> cargo add azure_core_macros@0.8.0
$> cargo add azure_core_opentelemetry@0.8.0
$> cargo add azure_data_cosmos@0.32.0
$> cargo add azure_identity@0.34.0
$> cargo add azure_security_keyvault_certificates@0.12.0
$> cargo add azure_security_keyvault_keys@0.13.0
$> cargo add azure_security_keyvault_secrets@0.13.0
$> cargo add azure_storage_blob@0.10.1
$> cargo add typespec@0.14.0
$> cargo add typespec_client_core@0.13.0
$> cargo add typespec_macros@0.13.0

Feedback

If you have a bug or feature request for one of the libraries, please post an issue to GitHub.