Skip to content

azure_data_cosmos@0.33.0

Pre-release
Pre-release

Choose a tag to compare

@azure-sdk azure-sdk released this 27 Apr 22:29
3ed6961

0.33.0 (2026-04-24)

Features Added

  • Added throughput control API: re-exported ThroughputControlGroupOptions and PriorityLevel from the driver. Users can register throughput control groups on CosmosClientBuilder via with_throughput_control_group() to configure priority-based execution and throughput bucket server features. (#4078)
  • Added ThroughputPoller type that implements IntoFuture and Stream for tracking asynchronous throughput replacement operations.
  • Added FeedRange type with ContainerClient::read_feed_ranges() and ContainerClient::feed_range_from_partition_key() - supports hierarchical partition keys (MultiHash) including prefix partition keys that return multiple feed ranges. (#4149)
  • Added lsn() and item_lsn() accessors on ItemResponse<T> exposing the lsn and x-ms-item-lsn Cosmos DB response headers. (#4176)
  • Added partition_key_range_id and internal_partition_id response headers to the driver bridge, making them accessible on SDK response types. (#4278)
  • Added rustls feature flag (enabled by default) that configures reqwest with rustls as the TLS stack. (#4252)
  • Added native_tls feature flag that configures reqwest with native-tls as the TLS stack. Disable default features and enable native_tls to use the platform TLS stack. (#4252)
  • The allow_invalid_certificates feature now works with any TLS backend (rustls or native_tls). (#4252)
  • Added ContainerClient::get_latest_session_token(). (#4214)

Breaking Changes

  • ContainerClient::create_item() and ContainerClient::upsert_item() now require an item_id: &str parameter (same pattern as replace_item and read_item). The item id is passed to the driver via ItemReference so the body never needs to be parsed to extract the document id.
  • Renamed replace_throughput to begin_replace_throughput on ContainerClient and DatabaseClient. The return type changed from ResourceResponse<ThroughputProperties> to ThroughputPoller. (#4096)
  • Removed CreateDatabaseOptions::with_throughput(). Database-level shared throughput provisioning is no longer supported through the SDK. Use container-level throughput instead. (#4147)

Other Changes

  • Database and container CRUD operations (create_database, read, create_container, delete) now route through the Cosmos driver pipeline. Throughput provisioning uses typed request headers via the driver. (#4147)
  • Query operations (query_items, query_databases, query_containers) now route through the Cosmos driver pipeline, gaining driver-level transport, routing, and retry capabilities. (#4174)