Skip to content

Update dependency Microsoft.Azure.Cosmos to 3.63.1 - #98

Open
dependencyupdates[bot] wants to merge 1 commit into
mainfrom
renovate/microsoft.azure.cosmos-3.x
Open

dependencyupdates[bot] wants to merge 1 commit into
mainfrom
renovate/microsoft.azure.cosmos-3.x

Conversation

@dependencyupdates

@dependencyupdates dependencyupdates Bot commented Feb 25, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Microsoft.Azure.Cosmos 3.57.03.63.1 age adoption passing confidence

Release Notes

Azure/azure-cosmos-dotnet-v3 (Microsoft.Azure.Cosmos)

v3.63.1

Bugs Fixed
  • 6079 ChangeFeedProcessor: Fixes partition split/merge issues with in-memory leases: a NullReferenceException when a lease's FeedRange was missing after rehydration (now backfilled on acquire, with a routing-map fallback), and a continuation token being silently discarded when a split happened while the host was offline (the SDK now defers creating a post-split range's lease to its parent's own split handling when the parent lease still exists, instead of racing ahead with a fresh, continuation-less lease).

v3.63.0

Compare Source

Features Added
  • 6090 Throughput Bucketing: Promotes throughput bucketing to general availability (GA). CosmosClientOptions.ThroughputBucket, RequestOptions.ThroughputBucket, and CosmosClientBuilder.WithThroughputBucket(int) are now available in the official (GA) package. These APIs let you tag requests with a throughput bucket so the service can partition provisioned throughput across workloads. A bucket set at the request level takes precedence over one set at the client level, and is now also honored by Container.ReadManyItemsAsync via ReadManyRequestOptions. When bulk execution is enabled, a request-level throughput bucket is supported for all operation types except item point operations (which are batched into shared requests); setting it on a bulk item point operation now throws an InvalidOperationException instead of being silently ignored — set the bucket at the client level for those operations.
  • 5984 ReadConsistencyStrategy: Adds ReadConsistencyStrategy to the official (GA) package. The ReadConsistencyStrategy enum and the corresponding properties on CosmosClientOptions, ItemRequestOptions, QueryRequestOptions, ChangeFeedRequestOptions, ReadManyRequestOptions, and CosmosClientBuilder.WithReadConsistencyStrategy are now available in the public package (previously preview-only). This lets read and query operations request a read consistency strategy (for example Eventual, Session, LatestCommitted, or GlobalStrong) independent of the account's default consistency level.
  • 6053 VectorIndex Policy: Adds QuantizerType to the official (GA) package.
  • 5976 Upgraded Direct package to 3.44.0.
  • 5976 Direct: Adds barrier early yield on 429 — ConsistencyWriter and QuorumReader yield early with substatus 21013 (Server_WriteBarrierThrottled) when all replicas return 429 during barrier requests. Direct retries the 429 internally and surfaces a synthetic 408/21013 to the SDK when retries are exhausted. The SDK's ClientRetryPolicy recognizes this substatus and avoids marking the endpoint unavailable, preventing unnecessary cross-region failover. Adds internal opt-out flag and env-var kill switch (AZURE_COSMOS_BARRIER_EARLY_YIELD_ON_429_ENABLED).
Breaking Changes
  • 5976 Direct: The GenerateEmbeddings query plan rewrite (embeddingParameterMap) that was present in Direct 3.43.2 is not included in Direct 3.44.0. Queries using GenerateEmbeddings in Direct mode may produce different query plans. This exclusion was intentional for this release branch.
Bugs Fixed
  • 6102 Read Consistency Strategy: Fixes reads using ReadConsistencyStrategy.LastCommittedSingleWriteRegion hanging forever on single write region accounts when the client's application region is a read replica instead of the hub. After each 403/WriteForbidden the SDK recorded a route to the hub region but never used it, so every retry went back to the same replica and the loop never finished. The retry now follows the recorded hub route and the read completes.
  • 6085 ThinClient: Fixes dynamic thin-client routing so a client switches between thin-client and gateway on account refresh without a restart, disposes both store models, labels diagnostics with the serving store model, accepts HTTP 401 on the connectivity probe, and reflects thin-client availability in the F4 user-agent flag (see PR description for details).
  • 6069 Diagnostics: Fixes an unobserved TaskScheduler.UnobservedTaskException that could surface from a background address cache refresh failure.
  • 6100 Query: Fixes gateway query-plan requests not honoring QueryRequestOptions.ExcludeRegions. Previously, ExcludeRegions set on a query's request options was applied to the actual data query but silently dropped for the preceding gateway query-plan fetch (used when ServiceInterop is unavailable, e.g. non-Windows/.NET). This could route the query-plan call to an excluded region (typically the write region) even though the rest of the query correctly avoided it. ExcludeRegions is now propagated to the query-plan request as well, consistent with how it is already honored for the data query.
  • 6051 Cross Region Hedging: Fixes an InvalidOperationException ("A task may only be disposed if it is in a completion state") that could be thrown from CrossRegionHedgingAvailabilityStrategy when a hedged request completed at the same moment the application's CancellationToken was cancelled from another thread. The exception could surface instead of the operation's real result or cancellation, and was most visible in query workloads, where the pipeline cancels prefetch operations frequently.
  • 5623 Cross Region Hedging: Fixes a losing cross-region hedge request that is abandoned when another region produces the winning response being able to surface its fault as an unobserved TaskScheduler.UnobservedTaskException. When the winning region returns early, the still in-flight losing hedge tasks are now explicitly observed on every exit path, so a losing arm that completes faulted with a non-cancellation exception (for example a pre-dispatch failure on an abandoned arm) is handled internally and never leaks as an unobserved task exception, while the winning region's response is always returned unaffected. Note that a losing arm cancelled by the winning region completes in the Canceled state (which carries no exception) and was never the source of the leak. This is most relevant for accounts where hedging is implicitly enabled by Per-Partition Automatic Failover (PPAF), where the path is exercised with no explicit customer opt-in.
  • 4671 Client Initialization: Fixes an opaque NullReferenceException that could surface on the first request during client startup when the gateway account read completed without returning account properties. The SDK now fails initialization with a descriptive, actionable exception (which hints at a Microsoft.Azure.Cosmos / Microsoft.Azure.Cosmos.Direct package version mismatch as the most common cause) instead of a bare NullReferenceException, and continues to retry initialization on the next request so the client still self-heals.
  • 5987 ThinClient: Fixes an unobserved TaskScheduler.UnobservedTaskException (Http2StreamException "stream aborted") that could surface when an HTTP/2 thin-client gateway request was retried after an HTTP 408 (common while the emulator is cold and slow). The retriable response is now disposed before the SDK retries, so its underlying HTTP/2 stream is torn down deterministically instead of being left to garbage-collector finalization. The awaited call still surfaces the same cancellation/timeout/503 result. Note: the orphaned task that the .NET HTTP/2 stack can leave when an in-flight request is cancelled mid-flight is a runtime behavior (see dotnet/runtime#46961); to avoid it on older runtimes, run a current .NET runtime or pin the emulator client to HTTP/1.1.
  • 6032 ThinClient: Fixes clients using resource-token (permission-scoped) authorization failing or misrouting when thin client mode is enabled by default. Such clients now always route data-plane requests through the Gateway store model, since thin client mode does not support resource-token authorization. Clients using primary/secondary key or Microsoft Entra ID (AAD) authorization are unaffected.
  • 6025 Fixed RemotingException in AppDomain-isolated test hosts by replacing Type.GetType with Assembly.GetType in CosmosHttpClientCore.CreateHttpClientHandler and CreateSocketsHttpHandlerHelper. Type.GetType fires AppDomain.TypeResolve when the type is not found on .NET Framework, which crashes if cross-domain MarshalByRefObject proxies have expired leases.
  • 5954 AsyncCacheNonBlocking: Fixes the address and partition-key routing caches potentially serving a stale entry when a transient (non-404) background-refresh failure preceded a genuine 404. The internal one-shot removal latch is now consumed only when an eviction is actually performed, so a NotFound background-refresh failure always removes the stale entry even after an earlier transient failure.
Other Changes
  • 6097 ClientId: Adds an SDK-generated x-ms-client-id header, carrying a stable per-CosmosClient identifier, to every HTTP request the SDK issues — gateway data-plane, metadata, and control-plane (including database account reads), thin-client requests, and automatically retried and cross-region hedged requests. This lets the service correlate all requests originating from the same client. Direct-mode (TCP) requests are unaffected, as the RNTBD protocol has no client-id token.
  • 6063 Query: Reduces backend over-fetch for cross-partition ORDER BY queries that use TOP, LIMIT, or OFFSET/LIMIT by lowering the per-partition page size from 5x each partition's proportional share of the requested document count to 2x, which reduces query latency and backend load without changing results. Workloads with a heavily skewed sort key may see additional round trips; the previous behavior can be restored by setting the environment variable AZURE_COSMOS_PAGE_SIZE_FACTOR_FOR_TOP=5.
  • 5991 TargetReplicaSetSize : Updated address cache logic to use partition-specific target replica set size when available, falling back to the user replication policy value.

v3.62.1

Compare Source

Features Added
  • 6070 Batch: Adds the AZURE_COSMOS_MAX_OPERATIONS_IN_BATCH_REQUEST environment variable to configure the maximum number of operations in a direct mode batch request, up to the service limit.

v3.62.0

Compare Source

Features Added
  • 5917 Metadata Hedging: Adds cross-region hedging for the Collection Read and PartitionKeyRange ReadFeed metadata cache reads, reducing operation latency tails when the primary region is slow on these metadata reads (both first-population and steady-state refresh). When the primary region exceeds a fixed latency threshold (1.5s), a single hedged request is issued to another region and the first acceptable response wins, with the primary always remaining authoritative so a slow or misconfigured secondary can never change the operation result. Metadata hedging is enabled by default in the preview package; in the GA package it follows the account's PPAF (Per-Partition Automatic Failover) state and can be force-enabled or suppressed through the AZURE_COSMOS_METADATA_HEDGING_ENABLED environment variable.
  • 5970 ThinClient: Adds an HTTP/2 connectivity probe (POST /connectivity-probe) that validates each discovered thin client (proxy) regional endpoint over HTTP/2 before routing traffic to it. Data-plane traffic uses the proxy only for regions whose endpoint has passed its probe; any other region transparently uses the standard gateway, with no client restart required.Thin client mode is now enabled by default (opt-out via AZURE_COSMOS_THIN_CLIENT_ENABLED=false); the probe verifies HTTP/2 reachability per region at runtime, so no client-side HTTP/2 opt-in is required. When enabled, the SDK additionally issues the probe and routes data-plane traffic to the proxy regional endpoints on port 10250 over HTTP/2, which is useful to know when diagnosing unexpected requests or egress rules that only allow 443.
  • 5829 Routing: Adds Gateway Account Property Flag for Dynamic Hedging Control. Introduces a Gateway-controlled disableCrossRegionalHedging account property that lets operators dynamically disable PPAF cross-region hedging (and any customer-configured AvailabilityStrategy) without rolling back PPAF entirely. The SDK reconciles ConnectionPolicy.AvailabilityStrategy against the Gateway-supplied flag on each account-properties refresh; toggling the flag back to false restores the customer-configured strategy or rebuilds the SDK default.
  • 5648 Hub Region Caching: Caches discovered hub region per partition on successful response during 403/3 discovery chain, enabling subsequent requests to skip the discovery and route directly to the cached hub.
  • #​5549 Adds AAD token revocation (CAE / Emergency) transparent retry handling
Breaking Changes
  • 5970 Thin Client: Starting with this release, thin client mode is enabled by default. Accounts and workloads that authenticate with resource tokens are not supported in thin client mode, so customers relying on resource token authentication will experience a breaking change on upgrade. To continue using resource token authentication, opt out of thin client mode by setting the environment variable AZURE_COSMOS_THIN_CLIENT_ENABLED=false.
Bugs Fixed
  • 6008 AAD Authentication: Fixes a regression (introduced by the CAE/token-revocation change after 3.61.0) where the SDK attached a non-empty claims parameter (the cp1 client capability) on every AAD token acquisition, even when there was no revocation challenge. Because a non-empty claims forces the underlying identity library (Azure.Identity/MSAL) to bypass its token cache and request a fresh token from the authority on each acquisition, this could stall the first token acquisition and surface as a hang on the initial request (for example ReadAccountAsync) with certificate/managed-identity credentials. The SDK now attaches claims only when responding to an actual CAE/revocation challenge; the cp1 capability continues to be advertised via isCaeEnabled, so continuous access evaluation still works while the token cache is used on the normal path. This change also hardens the token-refresh path against a race where a token refresh already in flight when a revocation challenge arrives could, on late completion, republish its stale (no-claims) result over the newer revocation-aware token and drop the challenge; the refresh now detects that it has been superseded and leaves the newer cached state intact, so the revocation is still honored.
  • 6014 Cross Region Hedging: Fixes an ArgumentNullException ("Value cannot be null. (Parameter 'request')") that could be thrown to the caller instead of a cancellation when a cross-region hedged request was cancelled before it was dispatched, on accounts where Per-Partition Automatic Failover (PPAF) or the Partition-Level Circuit Breaker (PPCB) is enabled. A losing hedge arm that is cancelled before dispatch never records its internal request state, and the cancellation-handling path previously forwarded that missing state into the partition-failover check, which threw. Because PPAF accounts implicitly enable hedging and PPCB, this could surface on those accounts without any explicit hedging configuration. A cancellation before dispatch is now handled gracefully and surfaces as CosmosOperationCanceledException as intended.
  • 5851 Change Feed Estimator: Fixes inflated lag for uncheckpointed leases by reporting a sentinel EstimatedLag = 1 instead of probing from beginning (resolves the synthetic backlog spike from issue #​5847). Preserves the non-zero wake signal that Azure Functions Scale Controller / KEDA Cosmos scaler rely on. Note: processors configured with WithStartFromBeginning will report EstimatedLag = 1 until their first checkpoint rather than the exact pending count, which may affect Scale Controller / KEDA scale-out decisions during the initial catch-up window; once the lease checkpoints, subsequent estimations report the real measured lag.
  • 5977 Diagnostics: Fixes missing CPU/memory ("System Info") in the diagnostics of failed operations. The system usage was only attached after a successful inner send, so operations that ended in an exception (for example request timeouts, cancellations, or exhausted retries) - exactly when client CPU/memory is most useful - had no CPU/memory data in their diagnostics. The capture now runs on both the success and the failure path while remaining best-effort (it never impacts the request).
  • 5957 Json: Fixes an unrecoverable StackOverflowException that could crash the client process when the binary-JSON reader, navigator, or CosmosElement materialized a string value from a malformed reference-string redirect. This is a hardening fix and the reader/navigator counterpart to #​5909 (which only hardened the writer): the string-materialization paths now validate reference-string (StrR1/StrR2/StrR3/StrR4) targets before dereferencing them, rejecting self-references, reference-to-reference chains/cycles, and out-of-bounds (including negative) offsets with a catchable JsonInvalidTokenException instead of terminating the host. Well-formed single-hop reference strings continue to resolve normally.
  • 5852 ChangeFeedProcessor: Adds defensive regression coverage and Known Issues entry for the AllVersionsAndDeletes cold-start regression (#​5846). The functional fix shipped in 3.60.0 via #​5825; this PR adds unit + emulator regression tests and an in-source comment fence to keep the AVAD guard from being dropped.
  • 5928 ThinClient: Fixes per-request ExcludeRegions being ignored when thin client mode is enabled, so thin client requests now route to the same region the gateway path would have chosen.
  • 5955 Web Exception Retry: Fixes the connection-failure retry budget so it stops retrying at the intended 30-second limit. The remaining-time calculation previously used the seconds component of the elapsed TimeSpan (which wraps every 60 seconds) instead of the total elapsed time, so once cumulative retries crossed the one-minute mark the policy could keep retrying well beyond its budget. Retries now honor the full elapsed duration.
  • 5909 Json: Fixes a denial-of-service vulnerability where a crafted binary-JSON response payload could crash the client process with an unrecoverable StackOverflowException. The decoder and re-serializer paths now enforce the existing 256-level nesting cap, surface a catchable JsonMaxNestingExceededException / InsufficientExecutionStackException / JsonInvalidTokenException instead of terminating the host, and reject malformed reference-string redirects up front. Note: the existing 256-deep writer nesting check (JsonObjectState.Push) now throws JsonMaxNestingExceededException instead of InvalidOperationException, so a single catch covers both reader and writer paths.
  • 5583 LINQ: Fixes .Any() on Dictionary/IDictionary/IReadOnlyDictionary properties returning no results by wrapping dictionary access with OBJECTTOARRAY() so dictionary entries (and predicates on KeyValuePair.Key/Value) are iterated correctly.
  • 5298 LINQ: Fixes constant folding for closure-captured variables inside MemberInitExpression (resolves #​1664). Previously, the recursion that partially evaluates expressions terminated whenever it encountered a MemberInitExpression node, so captured variables inside object initializers were not folded, producing invalid translated SQL.
  • 5927 ThinClient: Fixes mid-flight fallback to gateway when the service stops advertising thin-client endpoints. Previously the SDK kept routing to stale thin-client URIs and required a client restart to recover.
  • 6023 LINQ: Fixes Take() silently mutating the caller's QueryRequestOptions.MaxItemCount property (resolves #​5225). The query pipeline now shallow-copies the request options before setting the internal page size, so the user's original object is never modified.
  • 4801 Spatial: Fixes serialization and deserialization of Microsoft.Azure.Cosmos.Spatial geometry types (Point, LineString, Polygon, etc.) when using CosmosClientOptions.UseSystemTextJsonSerializerWithOptions (or a custom System.Text.Json-based serializer). Previously these types threw System.NotSupportedException on read/create and produced malformed non-GeoJSON output on patch, because only Newtonsoft.Json converters existed; a full set of System.Text.Json converters now produces GeoJSON-compliant output identical to the Newtonsoft serializers (closes #​4744).
  • 5866 Routing: Fixes the AZURE_COSMOS_USE_LENGTH_AWARE_RANGE_COMPARATOR environment variable so it is honored across all length-aware range-comparer code paths (including PartitionKeyRangeCache.TryCombine) in the GA package, not just preview. Customers can now disable the length-aware range comparer as a mitigation for the hierarchical-partition-key silent empty-result issue (#​5859) by setting AZURE_COSMOS_USE_LENGTH_AWARE_RANGE_COMPARATOR=false.
Other Changes
  • 6013 AAD Token Revocation: Gates the AAD token revocation / CAE retry feature behind the AZURE_COSMOS_AAD_TOKEN_REVOCATION_ENABLED environment variable (default OFF). When unset, the SDK preserves the exact pre-feature AAD behavior; setting the variable to true opts in to the revocation retry and cp1 CAE capability.

  • 5936 Routing: Hardens dynamic per-partition automatic failover (PPAF) enablement tracking. GlobalEndpointManager now keeps its own last-known PPAF-enablement baseline for its change detection instead of reusing the mutable ConnectionPolicy.EnablePartitionLevelFailover field, so gateway-driven enablement changes are detected reliably even though that field is also written by the subscriber that applies the change. A transient failure while applying a PPAF-enablement change is now retried on the next account refresh (the SDK reverts the partially-applied PPAF state so the change is re-detected and re-applied), matching the recovery behavior already in place for the disableCrossRegionalHedging flag.

  • 5945 Diagnostics: Fixes internal failure logging on background-refresh, failover, and hedging hot paths (address/endpoint/partition caches, GlobalEndpointManager, GlobalPartitionEndpointManagerCore, and the cross-region hedging strategy) to gate each DefaultTrace call behind its trace-level check, so the full CosmosException diagnostics tree is no longer eagerly serialized when the trace sink is disabled/no-op, reducing CPU/allocations. When tracing is enabled the log lines are unchanged and still include the full diagnostics. CosmosException.Message and ToString() are also unchanged and continue to include diagnostics for the affected status codes.

  • 5956 Routing: Fixes CollectionRoutingMap.GetRangeByEffectivePartitionKey to use the configured (length-aware-by-default) comparer instead of a hard-coded ordinal comparer, so it agrees with GetOverlappingRanges for a short/partial effective partition key on a zero-padded range boundary. This is a defense-in-depth correctness fix; current SDK callers pass full-length effective partition keys, for which the ordinal and length-aware comparers are equivalent, so there is no behavior change for existing workloads.

  • 5916 Direct: Moves the OpenTcpConnectionTimeout negative-value warning trace from CosmosClientOptions to DocumentClient. The warning is now emitted once per client construction (instead of once per property assignment) and is gated on ConnectionMode == Direct, so it no longer false-positives when a negative value is later overwritten with a non-negative one or when running in Gateway mode where the timeout is not consumed.

  • 5990 Adds retry logic for 449 across Gateway modes: Changes 449 (RetryWith) retries on the gateway and thin client paths to be consistently orchestrated client-side. The SDK now retries 449 responses itself with a bounded exponential backoff, for up to 30 seconds total (60 seconds when the account default consistency is Strong) before surfacing the error.

  • #​5905 ReadMany: Adds point-read fast path for single-tuple partitions. When the items requested in a single ReadManyItems[Stream]Async call resolve to a physical partition with only one (id, partitionKey) tuple, the SDK now issues a point read for that tuple instead of a parameterized query. This reduces RU and latency for sparse multi-partition lookups (closes #​4369) and aligns the .NET SDK with the existing Java and Python SDK behavior.

v3.61.0

Compare Source

Features Added
  • 5868 Diagnostics: Adds hedging detection API (CosmosDiagnostics.HedgingStarted, GetRequestedRegions, GetRespondedRegions) along with the new RequestedRegion struct and RequestedRegionReason enum so callers can observe per-operation hedging behavior. RequestedRegionReason.Unknown (= 0) is the default sentinel for default(RequestedRegion).Reason and is never emitted by the SDK; RequestedRegionReason.CircuitBreakerProbe and RequestedRegionReason.TransportRetry are reserved for the future and not yet populated by this SDK; see issue #​5867.
  • 5600 HPK: Adds id to partition key when "/id" is the last path in partition key definition.
Breaking Changes
Bugs Fixed
  • 5827 ChangeFeedEstimator: Change feed estimator threw ArgumentNullException when an inmemory lease container was being used. Update validations so in-memory lease containers work with change feed estimator
  • 5910 Upgraded Direct package to 3.43.2.
  • 5910 Direct: Fixed RNTBD thread-pool starvation by making Dispatcher.OnIdleTimer asynchronous (ports public PR 5817)
  • 5873 Direct: Fixes silent truncation of OpenTcpConnectionTimeout. Sub-second values in [0, 1s) are now explicitly normalized to 0 and fractional values ≥ 1 second are rounded up to the nearest whole second (for example, 2.3s becomes 3s). Negative values emit a warning trace but are left unchanged for backward compatibility.
Other Changes
  • #​5887 Direct: Documents that MaxTcpConnectionsPerEndpoint accepts any positive value to allow customer control of the connection pool size; values of 16 or greater remain recommended.

v3.60.0

Compare Source

Features Added
  • 5825 ChangeFeed: Promotes Full Fidelity Change Feed (AllVersionsAndDeletes) APIs to GA
  • 5839 Adds Direct package version upgrade and fixes TCP keepalive silently failing on Linux issue due to uint overload mismatch.
Bugs Fixed
  • 5618 Diagnostics: Fixes null contacted region name for multimaster hub fallback (410/21005)
  • 5816 HttpTimeoutPolicy: Fixes aggressive 500ms first-attempt timeout in HttpTimeoutPolicyControlPlaneRetriableHotPath
  • 5819 LINQ: Fixes .NET 10 MemoryExtensions.Contains breaking change in LINQ queries
  • 5823 LocationCache: Fixes read fallback to use WriteEndpoints[0] when PPAF enabled and all regions excluded
  • 5825 ChangeFeedProcessor: Exempts AllVersionsAndDeletes from implicit StartTime back-off (not applicable to LSN-based continuation)
  • 5870 CrossRegionHedgingAvailabilityStrategy: Fixes StackOverflow in CrossRegionHedgingAvailabilityStrategy Observed in .NET Framework 4.7.2

v3.59.0

Compare Source

Features Added
  • 5579 Change Feed Processor: Adds Lease container export support
  • 5709 Performance: Adds caching for URL-encoded AAD authorization signature
  • 5731 DNS dot-suffix: Adds TCP DNS dot-suffix for Direct mode to avoid Kubernetes ndots latency
  • 5755 Exceptionless: Adds enabling exception less 400 status code
  • 5756 Exceptionless: Adds enabling exception less 404/1002 status code
  • 5757 Exceptionless: Adds enabling exception less 403
  • 5779 Direct: Adds Direct package version bump to 3.42.4
  • 5786 Region Availability: Adds missing regions from Direct 3.42.4
  • 5788 Socket Handler: Adds HTTP/2 PING keep-alive to detect broken connections in pool
Bugs Fixed
  • 5553 NativeDLLs: Fixes Conditionally include win-x64 native DLLs based on RuntimeIdentifier
  • 5588 LINQ: Fixes memory leak from Expression.Compile() in all call sites
  • 5617 ChangeFeedProcessor: Fixes first-change skip during initial startup by anchoring StartTime
  • 5636 CosmosClientBuilder: Fixes self-referencing loop in GetSerializedConfiguration with STJ TypeInfoResolver
  • 5748 Routing: Fixes GetOverlappingRanges CPU overhead from repeated JSON deserialization
  • 5807 ChangeFeedProcessor: Fixes lease de-duplication for /partitionKey-partitioned lease containers
  • 5778 DocumentClient: Fixes Potential Memory Leak By Properly Disposing GlobalPartitionEndpointManagerCore. This bug left the circuit breaker failback loop running indefinitely, leaking Task.Delay timers.

v3.58.0

Compare Source

Features Added
  • 5447 Per Partition Automatic Failover: Adds Hub Region Processing Only While Routing Requests Failed with 404/1002 for single master accounts
  • 5551 HPK: Adds internal CosmosClientOptions flag UseLengthAwareRangeComparer for length aware range comparer rollout
  • 5582 Query: Adds ability to choose global vs local/focused statistics for FullTextScore
  • 5610 Refactors N-Region Synchronous Commit feature to use IServiceConfigurationReaderVNext interface.
  • 5693 ThinClient Integration: Adds Enable Multiple Http2 connection on SocketsHttpHandler
  • 5614 ThinClient Integration: Adds support for QueryPlan in thinclient mode
Bugs Fixed
  • 5597 CosmosClient: Fixes ObjectDisposedException message when client is disposed during request
  • 5613 CrossRegionHedgingAvailabilityStrategy: Fixes ArgumentNullException race condition in hedging cancellation
  • 5650 Batch: Fixes null ErrorMessage when promoting status from MultiStatus response
  • 5651 Serializer: Fixes unsafe stream cast in FromStream
  • 5697 ResourceThrottleRetryPolicy: Fixes cumulativeRetryDelay tracking when x-ms-retry-after-ms header is absent
  • 5035 Throttling: Fixes aggressive retries for throttled (429) requests in QuorumReader and ConsistencyWriter by yielding early when all replicas return 429

v3.57.1

Compare Source

Bugs Fixed
  • 5613 CrossRegionHedgingAvailabilityStrategy: Fixes ArgumentNullException race condition in hedging cancellation

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Commands to ignore dependencies

You can trigger dependency actions by commenting on this PR:

  • @particularbot ignore this major version
  • @particularbot ignore this minor version
  • @particularbot ignore this dependency

@dependencyupdates dependencyupdates Bot added dependencies Pull requests that update a dependency file NuGet labels Feb 25, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from ab87a08 to 741cf10 Compare March 20, 2026 21:26
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.57.1 Update dependency Microsoft.Azure.Cosmos to 3.58.0 Mar 20, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from 741cf10 to eb75203 Compare March 25, 2026 16:16
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch 2 times, most recently from 0b4d2cd to 768ce24 Compare April 7, 2026 09:57
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch 2 times, most recently from 622fb96 to c316118 Compare April 25, 2026 09:35
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.58.0 Update dependency Microsoft.Azure.Cosmos to 3.59.0 Apr 25, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch 2 times, most recently from c891ef4 to 552970a Compare May 2, 2026 16:19
@dependencyupdates

Copy link
Copy Markdown
Contributor Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from 552970a to 118c296 Compare May 19, 2026 04:41
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.59.0 Update dependency Microsoft.Azure.Cosmos to 3.60.0 May 19, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from 118c296 to 05d5567 Compare May 26, 2026 22:11
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.60.0 Update dependency Microsoft.Azure.Cosmos to 3.60.0 - autoclosed Jun 2, 2026
@dependencyupdates dependencyupdates Bot closed this Jun 2, 2026
@dependencyupdates
dependencyupdates Bot deleted the renovate/microsoft.azure.cosmos-3.x branch June 2, 2026 16:51
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.60.0 - autoclosed Update dependency Microsoft.Azure.Cosmos to 3.61.0 Jun 5, 2026
@dependencyupdates dependencyupdates Bot reopened this Jun 5, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch 2 times, most recently from 05d5567 to 8855543 Compare June 5, 2026 21:48
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from 8855543 to 90991a4 Compare June 23, 2026 11:04
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch 2 times, most recently from e9d3e62 to 98845a2 Compare July 17, 2026 04:21
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.61.0 Update dependency Microsoft.Azure.Cosmos to 3.62.0 Jul 17, 2026
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.62.0 Update dependency Microsoft.Azure.Cosmos to 3.62.0 - autoclosed Jul 23, 2026
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.62.0 - autoclosed Update dependency Microsoft.Azure.Cosmos to 3.62.0 Jul 23, 2026
@dependencyupdates dependencyupdates Bot reopened this Jul 23, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch 2 times, most recently from 98845a2 to 7fcc5b7 Compare July 23, 2026 21:38
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from 7fcc5b7 to e4644b5 Compare August 7, 2026 21:28
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.62.0 Update dependency Microsoft.Azure.Cosmos to 3.62.1 Aug 7, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from e4644b5 to 0f64891 Compare September 9, 2026 03:30
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.62.1 Update dependency Microsoft.Azure.Cosmos to 3.63.0 Sep 9, 2026
@dependencyupdates
dependencyupdates Bot force-pushed the renovate/microsoft.azure.cosmos-3.x branch from 0f64891 to 67a4b09 Compare September 18, 2026 09:29
@dependencyupdates dependencyupdates Bot changed the title Update dependency Microsoft.Azure.Cosmos to 3.63.0 Update dependency Microsoft.Azure.Cosmos to 3.63.1 Sep 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file NuGet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants