4.81.0 (2026-06-08)
Features Added
- Added support for creating Global Secondary Index (GSI) containers via
CosmosContainerProperties.setGlobalSecondaryIndexDefinition()/getGlobalSecondaryIndexDefinition(), the newCosmosGlobalSecondaryIndexDefinitionmodel, and theCosmosGlobalSecondaryIndexBuildStatusenum returned bygetStatus(). - See PR 48480 - Promoted the Full Fidelity Change Feed (AllVersionsAndDeletes) APIs to GA - See PR 49283
- Enabled
ReadConsistencyStrategyfor Gateway V1 (compute gateway) and Gateway V2 (thin client proxy). Previously only supported in Direct mode. - See PR 48787
Bugs Fixed
- Fixed region name normalization for preferred and excluded regions — non-canonical inputs (e.g.,
"westus3","WEST US 3") are now mapped to the canonical form. Also fixed a case-sensitive exclude-region check in PPCB reevaluate logic. - See PR 49090 - Fixed
UnsupportedOperationExceptionwhen usingreadManyByPartitionKeysfor empty pages. - See PR 49311 - Fixed silent drift in
CosmosChangeFeedRequestOptionswhen resuming from a continuation token viabyPage(savedContinuation). Previously onlymaxPrefetchPageCountandthroughputControlGroupNamewere inherited onto the rebuilt impl;endLSN,customSerializer,excludeRegions,readConsistencyStrategy,completeAfterAllCurrentChangesRetrieved, and other caller-supplied configuration were silently dropped. All non-token-encoded fields are now propagated. - See PR 49276
Other Changes
- Added HTTP/2 PING keepalive (default ON) for Gateway service endpoints to detect silently-broken connections. - See PR 49095
- Replaced per-client
Schedulers.newSingle()schedulers inGlobalEndpointManagerandGlobalPartitionEndpointManagerForPerPartitionCircuitBreakerwith sharedBoundedElasticschedulers inCosmosSchedulersto prevent thread count from scaling linearly with client/tenant count. - See PR 49062 - Promoted the
ReadConsistencyStrategyandHttp2ConnectionConfigrelated@BetaAPIs to GA. - See PR 49345 - Fixed a sporadic
NullPointerExceptioninJsonSerializable.getWithMappingtriggered by concurrent first-time calls toDatabaseAccount.getConsistencyPolicy()and its sibling lazy getters (getReplicationPolicy,getSystemReplicationPolicy,getQueryEngineConfiguration). The fix makesJsonSerializable.propertyBagfinal, closing an unsafe-publication race in the lazy-initialisation pattern. - See Issue 49256 and PR #49258 - Changed 449 (
Retry With) retries in Gateway V1 and Gateway V2 to be consistently orchestrated client-side. - See PR 49332 - Added client-side fast-fail validation for
ReadConsistencyStrategy.GLOBAL_STRONG: requests that specifyGLOBAL_STRONGagainst an account whose default consistency is notSTRONGare now rejected client-side with aBadRequestException(HTTP 400). - See PR 48787