Skip to content

Hedging: Adds support for writes on multi region accounts#4706

Merged
microsoft-github-policy-service[bot] merged 42 commits intomasterfrom
users/nalutripician/hedgingMMWrites
Nov 26, 2024
Merged

Hedging: Adds support for writes on multi region accounts#4706
microsoft-github-policy-service[bot] merged 42 commits intomasterfrom
users/nalutripician/hedgingMMWrites

Conversation

@NaluTripician
Copy link
Copy Markdown
Contributor

@NaluTripician NaluTripician commented Sep 18, 2024

Pull Request Template

Description

Adds support to use hedging on write requests for multimaster accounts. Note that this does come with the caveat that there will be more 409 errors thrown by the SDK. This is expected and applications that adapt this feature should be prepared to handle these exceptions.

This feature will also be an opt in feature for Availability Strategies and users will need to explicitly specify that in the availability strategy definition.

ItemRequestOptions requestOptions = new ItemRequestOptions
{
    AvailabilityStrategy = new CrossRegionHedgingAvailabilityStrategy(
        threshold: TimeSpan.FromMilliseconds(100),
        thresholdStep: TimeSpan.FromMilliseconds(50),
        multiMasterWritesEnabled: true)
};

Type of change

Please delete options that are not relevant.

  • [] New feature (non-breaking change which adds functionality)

Closing issues

To automatically close an issue: closes #4457

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All good!

@NaluTripician NaluTripician changed the title add mm hedging support Hedging: Adds support for multimaster writes Sep 18, 2024
@NaluTripician NaluTripician self-assigned this Sep 18, 2024
@NaluTripician NaluTripician added the Hedging Any issue/feature request related to request hedging label Sep 18, 2024
@NaluTripician NaluTripician marked this pull request as ready for review October 10, 2024 19:51
@NaluTripician NaluTripician requested a review from khdang as a code owner October 10, 2024 19:51
@NaluTripician NaluTripician requested a review from a team as a code owner October 15, 2024 17:23
Copy link
Copy Markdown
Member

@Pilchie Pilchie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The feature is not named "multi-master", right? We call it multiple write regions, or active-active in docs. We should change the API to match.

PhilipWoulfe pushed a commit to PhilipWoulfe/F1Competition that referenced this pull request Mar 1, 2026
Updated
[Microsoft.Azure.Cosmos](https://github.com/Azure/azure-cosmos-dotnet-v3)
from 3.47.2 to 3.57.1.

<details>
<summary>Release notes</summary>

_Sourced from [Microsoft.Azure.Cosmos's
releases](https://github.com/Azure/azure-cosmos-dotnet-v3/releases)._

## 3.57.1

### <a name="3.57.1"/>
[3.57.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.1) -
2026-2-20

#### Fixed

- [5613](Azure/azure-cosmos-dotnet-v3#5613)
CrossRegionHedgingAvailabilityStrategy: Fixes `ArgumentNullException`
race condition in hedging cancellation


## 3.57.0

### <a name="3.57.0"/>
[3.57.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.0) -
2026-1-15

#### Added
- [5511](Azure/azure-cosmos-dotnet-v3#5511)
Tracing: Adds tracing improvements for pkrange refresh calls
- [5515](Azure/azure-cosmos-dotnet-v3#5515)
[FullTextPolicy]: Adds tests for full text policy multi-language
support.
- [5529](Azure/azure-cosmos-dotnet-v3#5529)
[Thin Client Integration]: Adds support for store procedure in
thinclient mode.
- [5535](Azure/azure-cosmos-dotnet-v3#5535)
[Thin Client Integration]: Adds thinclient header for refresh account
data requests.

#### Fixed

- [5512](Azure/azure-cosmos-dotnet-v3#5512)
ChangeFeed: Fixes crts field being nullable
- [5517](Azure/azure-cosmos-dotnet-v3#5517)
SystemTextSerializer: Fixes serialization to preserve polymorphic
serialization when base type is marked [JsonPolymorphic]
- [5498](Azure/azure-cosmos-dotnet-v3#5498)
Query: Fixes hybrid search query plan optimization to be enabled by
default
- [5543](Azure/azure-cosmos-dotnet-v3#5543)
Query: Fixes GetItemQueryIterator to honor the supplied (optional)
FeedRange
- [5541](Azure/azure-cosmos-dotnet-v3#5541)
Upsert/Batch: Fixes bug where RequestOptions are not honored for Upsert
requests in Bulk Mode
- [5544](Azure/azure-cosmos-dotnet-v3#5544)
Query : Fixes LINQ API to support builtin functions - ARRAY_CONTAINS_ALL
and ARRAY_CONTAINS_ANY

## 3.57.0-preview.1

### <a name="3.57.0-preview.1"/>
[3.57.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.0-preview.1)
- 2025-12-16
#### Fixed
- [5528](Azure/azure-cosmos-dotnet-v3#5528)
Semantic Reranking: Refactors RerankResult.Document to return string
type


## 3.57.0-preview.0

### <a name="3.57.0-preview.0"/>
[3.57.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.57.0-preview.0)
- 2025-11-25
#### Added
- [5445](Azure/azure-cosmos-dotnet-v3#5445)
Semantic Rerank: Adds Semantic Rerank API


## 3.56.0

### <a name="3.56.0"/>
[3.56.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.56.0) -
2025-11-25

#### Fixed

- [5550](Azure/azure-cosmos-dotnet-v3#5550)
Owner not found: Fixes substatus code 1003 for item operations when
container doesn't exist (Direct mode)


## 3.56.0-preview.0

### <a name="3.56.0-preview.0"/>
[3.56.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.56.0-preview.0)
- 2025-11-14
#### Fixed
- [5260](Azure/azure-cosmos-dotnet-v3#5260) HPK:
Fixes Lengthaware normalized EPK comparators as default (only in
preview)

## 3.55.0

### <a name="3.55.0"/>
[3.55.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.55.0) -
2025-11-14
#### Added
- [5462](Azure/azure-cosmos-dotnet-v3#5462)
[VectorIndexPath]: Adds GA IndexingSearchListSize and
VectorIndexShardKey
- [5470](Azure/azure-cosmos-dotnet-v3#5470)
Change feed: Adds id and pk to ChangeFeedMetadata for delete operations
(Default policy excludes Previous for deletes)
- [5474](Azure/azure-cosmos-dotnet-v3#5474)
Binary Encoding: Adds support to DateTimeOffset type


#### Fixed
- [5469](Azure/azure-cosmos-dotnet-v3#5469)
BarrierRequests: Adds 410/LeaseNotFound(1022) fail-fast to cross-region
retries by retrying on primary (checks last replica response)
- [5475](Azure/azure-cosmos-dotnet-v3#5475)
Query: Fixes query advisor prefix url links to use aka.ms
- [5476](Azure/azure-cosmos-dotnet-v3#5476)
HttpTimeoutPolicy: Fixes QueryPlan retry gaps (Http POST but its Read)
- [5497](Azure/azure-cosmos-dotnet-v3#5497)
HttpTimeoutPolicy: Fixes PPAF and ThinProxy timeout polices to (6s, 6s,
10s) for both PointReads and NonPointReads


## 3.55.0-preview.1



## 3.55.0-preview.0

### <a name="3.55.0-preview.0"/>
[3.55.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.55.0-preview.0)
- 2025-10-2

> Note: FullTextScore query function now expects string value parameters
(e.g., FullTextScore(c.text, 'swim','run')); preview array syntax is no
longer supported.

#### Added

- [5368](Azure/azure-cosmos-dotnet-v3#5368)
VectorDataType: Adds Support for Float16 Data Type
- [5411](Azure/azure-cosmos-dotnet-v3#5411)
Hedging: Adds GA for adding hedging via RequestOptions
- [5412](Azure/azure-cosmos-dotnet-v3#5412)
Hedging: Adds back diagnostics filed Response Region to hedging request
diagnostics
- [5386](Azure/azure-cosmos-dotnet-v3#5386)
Build: Removes System.Net.Http and System.Text.RegularExpressions
package references

#### Fixed

- [5409](Azure/azure-cosmos-dotnet-v3#5409)
Query: Fixes to not use passthrough context for collections with HPK
- [5422](Azure/azure-cosmos-dotnet-v3#5422)
Diagnostics: Fixes race condition that can cause
InvalidOperationException in
CosmosOperationCancelledException.ToString()
- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.54.1



## 3.54.0

### <a name="3.54.0"/>
[3.54.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0) -
2025-10-2

> Note: FullTextScore query function now expects string value parameters
(e.g., FullTextScore(c.text, 'swim','run')); preview array syntax is no
longer supported.

#### Added

- [5368](Azure/azure-cosmos-dotnet-v3#5368)
VectorDataType: Adds Support for Float16 Data Type
- [5411](Azure/azure-cosmos-dotnet-v3#5411)
Hedging: Adds GA for adding hedging via RequestOptions
- [5412](Azure/azure-cosmos-dotnet-v3#5412)
Hedging: Adds back diagnostics filed Response Region to hedging request
diagnostics
- [5386](Azure/azure-cosmos-dotnet-v3#5386)
Build: Removes System.Net.Http and System.Text.RegularExpressions
package references

#### Fixed

- [5409](Azure/azure-cosmos-dotnet-v3#5409)
Query: Fixes to not use passthrough context for collections with HPK
- [5422](Azure/azure-cosmos-dotnet-v3#5422)
Diagnostics: Fixes race condition that can cause
InvalidOperationException in
CosmosOperationCancelledException.ToString()
- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.54.0-preview.2

## <a name="3.54.0-preview.2"/>
[3.54.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.2)
- 2025-10-7

#### Fixed

- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.54.0-preview.1

### <a name="3.54.0-preview.1"/>
[3.54.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.1)
- 2025-8-28
#### Added
- [5364](Azure/azure-cosmos-dotnet-v3#5364)
TokenCredentialCache: Adds a fallback mechanism to AAD scope override.
- [5361](Azure/azure-cosmos-dotnet-v3#5361)
Trace: Fixes thread safety issue in Trace class causing high CPU usage
and InvalidOperationException

## 3.54.0-preview.0

### <a name="3.54.0-preview.0"/>
[3.54.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.54.0-preview.0)
- 2025-8-13

#### Added

- [5253](Azure/azure-cosmos-dotnet-v3#5253)
License: Adds new license expression
- [5252](Azure/azure-cosmos-dotnet-v3#5252)
TokenCredentialCache: Adds an options to override AAD audience scope
- [5308](Azure/azure-cosmos-dotnet-v3#5308)
Query: Adds Weighted RRF capability to LINQ
- [5213](Azure/azure-cosmos-dotnet-v3#5213)
Query: Adds GetIndexMetrics LINQ extension method

#### Fixed

- [5273](Azure/azure-cosmos-dotnet-v3#5273)
Query: Fixes non streaming order by queries to not be tagged as
passthrough queries
- [5291](Azure/azure-cosmos-dotnet-v3#5291)
GatewayStoreClient: Fixes stream consumption bug in
GatewayStoreClient.CreateDocumentClientExceptionAsync
- [5317](Azure/azure-cosmos-dotnet-v3#5317)
Query: Fixes HybridSearchQueryTests to account for backend changes in
phrase search

## 3.53.2

### <a name="3.53.2"/>
[3.53.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.2) -
2025-10-7

#### Fixed

- [5427](Azure/azure-cosmos-dotnet-v3#5427)
PPAF: Fixes issue where setting RequestTimeout to 0 second will cause
PPAF dynamic enablement to break

## 3.53.1

### <a name="3.53.1"/>
[3.53.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.1) -
2025-8-28
#### Added
- [5364](Azure/azure-cosmos-dotnet-v3#5364)
TokenCredentialCache: Adds a fallback mechanism to AAD scope override.
- [5361](Azure/azure-cosmos-dotnet-v3#5361)
Trace: Fixes thread safety issue in Trace class causing high CPU usage
and InvalidOperationException

## 3.53.0

### <a name="3.53.0"/>
[3.53.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.0) -
2025-8-13

#### Added

- [5253](Azure/azure-cosmos-dotnet-v3#5253)
License: Adds new license expression
- [5252](Azure/azure-cosmos-dotnet-v3#5252)
TokenCredentialCache: Adds an options to override AAD audience scope
- [5308](Azure/azure-cosmos-dotnet-v3#5308)
Query: Adds Weighted RRF capability to LINQ
- [5213](Azure/azure-cosmos-dotnet-v3#5213)
Query: Adds GetIndexMetrics LINQ extension method

#### Fixed

- [5273](Azure/azure-cosmos-dotnet-v3#5273)
Query: Fixes non streaming order by queries to not be tagged as
passthrough queries
- [5291](Azure/azure-cosmos-dotnet-v3#5291)
GatewayStoreClient: Fixes stream consumption bug in
GatewayStoreClient.CreateDocumentClientExceptionAsync
- [5317](Azure/azure-cosmos-dotnet-v3#5317)
Query: Fixes HybridSearchQueryTests to account for backend changes in
phrase search


## 3.53.0-preview.1

### <a name="3.53.0-preview.1"/>
[3.53.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.0-preview.1)
- 2025-7-10

#### Fixed
- [5257](Azure/azure-cosmos-dotnet-v3#5257)
QueryPlan: Fixes 410 Gone exception on query plan calls in Non-X64
windows platforms

## 3.53.0-preview.0

### <a name="3.53.0-preview.0"/>
[3.53.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.53.0-preview.0)
- 2025-6-13

#### Added

- [5180](Azure/azure-cosmos-dotnet-v3#5180)
Query: Adds public PopulateQueryAdvice capability
- [5215](Azure/azure-cosmos-dotnet-v3#5215)
Client Encryption: Adds support for latest Cosmos package and bumps up
Encryption package for nuget release
- [5157](Azure/azure-cosmos-dotnet-v3#5157)
Query: Adds support for LINQ extension method for VectorDistance
> This also includes a Direct Package version update to `3.39.1` in PR
[#​5241](Azure/azure-cosmos-dotnet-v3#5241)
which includes the following:
- Rntbd Health Check Improvements Part 3: Enables Aggressive Timeout
Detection By Default.
 - Introduce East US 3 region in the SDK.

#### Fixed

- [5221](Azure/azure-cosmos-dotnet-v3#5221)
Query : Fixes Skip + Order By Bug
- [5218](Azure/azure-cosmos-dotnet-v3#5218)
Binary Encoding: Fixes DateTime Parsing Issue with Trailing Zeros in the
Milli-Seconds Precision
- [5234](Azure/azure-cosmos-dotnet-v3#5234)
Client Encryption: Fixes Encryption Release Pipeline

## 3.52.1

### <a name="3.52.1"/>
[3.52.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.52.1) -
2025-7-10

#### Fixed
- [5257](Azure/azure-cosmos-dotnet-v3#5257)
QueryPlan: Fixes 410 Gone exception on query plan calls in Non-X64
windows platforms



## 3.52.0

### <a name="3.52.0"/>
[3.52.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.52.0) -
2025-6-13

#### Added

- [5180](Azure/azure-cosmos-dotnet-v3#5180)
Query: Adds public PopulateQueryAdvice capability
- [5215](Azure/azure-cosmos-dotnet-v3#5215)
Client Encryption: Adds support for latest Cosmos package and bumps up
Encryption package for nuget release
- [5157](Azure/azure-cosmos-dotnet-v3#5157)
Query: Adds support for LINQ extension method for VectorDistance
> This also includes a Direct Package version update to `3.39.1` in PR
[#​5241](Azure/azure-cosmos-dotnet-v3#5241)
which includes the following:
- Rntbd Health Check Improvements Part 3: Enables Aggressive Timeout
Detection By Default.
 - Introduce East US 3 region in the SDK.

#### Fixed

- [5221](Azure/azure-cosmos-dotnet-v3#5221)
Query : Fixes Skip + Order By Bug
- [5218](Azure/azure-cosmos-dotnet-v3#5218)
Binary Encoding: Fixes DateTime Parsing Issue with Trailing Zeros in the
Milli-Seconds Precision
- [5234](Azure/azure-cosmos-dotnet-v3#5234)
Client Encryption: Fixes Encryption Release Pipeline

## 3.52.0-preview.0

### <a name="3.52.0-preview.0"/>
[3.52.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.52.0-preview.0)
- 2025-5-16

#### Added

- [5182](Azure/azure-cosmos-dotnet-v3#5182)
InMemoryLeaseContainer: Adds public API to use InMemoryLeaseContainer
with ChangeFeedProcessorBuilder
- [5170](Azure/azure-cosmos-dotnet-v3#5170)
PPAF: Adds Code to Fetch Enablement Flag Through Gateway Database
Account Response

#### Fixed

- [5197](Azure/azure-cosmos-dotnet-v3#5197)
GlobalEndpointManager: Fixes Observed exception
(ObjectDisposedException)

## 3.51.0

### <a name="3.51.0"/>
[3.51.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.51.0) -
2025-5-16

#### Added

- [5182](Azure/azure-cosmos-dotnet-v3#5182)
InMemoryLeaseContainer: Adds public API to use InMemoryLeaseContainer
with ChangeFeedProcessorBuilder
- [5170](Azure/azure-cosmos-dotnet-v3#5170)
PPAF: Adds Code to Fetch Enablement Flag Through Gateway Database
Account Response

#### Fixed

- [5197](Azure/azure-cosmos-dotnet-v3#5197)
GlobalEndpointManager: Fixes Observed exception
(ObjectDisposedException)

## 3.51.0-preview.0

### <a name="3.51.0-preview.0"/>
[3.51.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.51.0-preview.0)
- 2025-5-9

#### Added

- [4993](Azure/azure-cosmos-dotnet-v3#4993)
Query: Adds LINQ extension method for ORDER BY RANK, FullTextScore and
RRF
- [5121](Azure/azure-cosmos-dotnet-v3#5121)
Query: Adds support for the optimized query plan that skips the order by
rewrite
- [5190](Azure/azure-cosmos-dotnet-v3#5190)
Hedging: Adds Hedging for Write requests GA

#### Fixed

- [5145](Azure/azure-cosmos-dotnet-v3#5145)
Query: Fixes handling of undefined projections in hybrid search
- [5150](Azure/azure-cosmos-dotnet-v3#5150)
Query: Fixes Full Text Search APIs by marking them public
- [5162](Azure/azure-cosmos-dotnet-v3#5162) HPK
: Fixes code documentation to reference PartitionKeyPaths for HPK
scenarios
- [5163](Azure/azure-cosmos-dotnet-v3#5163)
Query: Fixes function signature for RRF, OrderByRank and FullTextScore
LINQ extension methods
- [5171](Azure/azure-cosmos-dotnet-v3#5172)
Query: Fixes FullText Policy API by making language optional
- [5189](Azure/azure-cosmos-dotnet-v3#5189)
Hedging: Fixes Concurrency Issue

## 3.50.0

### <a name="3.50.0"/>
[3.50.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.50.0) -
2025-5-9

#### Added

- [4993](Azure/azure-cosmos-dotnet-v3#4993)
Query: Adds LINQ extension method for ORDER BY RANK, FullTextScore and
RRF
- [5121](Azure/azure-cosmos-dotnet-v3#5121)
Query: Adds support for the optimized query plan that skips the order by
rewrite
- [5190](Azure/azure-cosmos-dotnet-v3#5190)
Hedging: Adds Hedging for Write requests GA

#### Fixed

- [5145](Azure/azure-cosmos-dotnet-v3#5145)
Query: Fixes handling of undefined projections in hybrid search
- [5150](Azure/azure-cosmos-dotnet-v3#5150)
Query: Fixes Full Text Search APIs by marking them public
- [5162](Azure/azure-cosmos-dotnet-v3#5162) HPK
: Fixes code documentation to reference PartitionKeyPaths for HPK
scenarios
- [5163](Azure/azure-cosmos-dotnet-v3#5163)
Query: Fixes function signature for RRF, OrderByRank and FullTextScore
LINQ extension methods
- [5171](Azure/azure-cosmos-dotnet-v3#5172)
Query: Fixes FullText Policy API by making language optional
- [5189](Azure/azure-cosmos-dotnet-v3#5189)
Hedging: Fixes Concurrency Issue

## 3.50.0-preview.0

### <a name="3.50.0-preview.0"/>
[3.50.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.50.0-preview.0)
- 2025-4-17

#### Added
- [5136](Azure/azure-cosmos-dotnet-v3#5136)
VectorIndexing: Adds Preview APIs for VectorIndexing Policies

## 3.49.0

### <a name="3.49.0"/>
[3.49.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.49.0) -
2025-4-17

#### Added

- [5077](Azure/azure-cosmos-dotnet-v3#5077)
ThroughputBucketing: Adds changes to make ThroughputBucket public for
preview SDK
- [5069](Azure/azure-cosmos-dotnet-v3#5069)
AsyncCache: Adds support for stack trace optimization during exceptions
for AsyncCache and AsyncCacheNonblocking
- [5120](Azure/azure-cosmos-dotnet-v3#5106)
Query: Adds an environment variable for disabling the hybrid search
query plan optimization
- [5127](Azure/azure-cosmos-dotnet-v3#5127)
UnknownRntbdHeader : Adds a new SDK capability for UnknownRntbdHeaders
- [5128](Azure/azure-cosmos-dotnet-v3#5128)
Session Consistency: Adds SessionTokenMismatchRetryPolicy optimization
through customer supplied region switch hints

### Fixed

- [5089](Azure/azure-cosmos-dotnet-v3#5089)
WebAssembly : Fixes Guard the ServicePointAccessor call in DocumentClass
with IsSupported as well
- [5106](Azure/azure-cosmos-dotnet-v3#5106)
Diagnostics: Fixes bug where some overloaded substatus codes are
displayed incorrectly in diagnostics.
- [5139](Azure/azure-cosmos-dotnet-v3#5139)
Query: Fixes flip of boolean switch for hybridSearchSkipOrderByRewrite

## 3.49.0-preview.1

### <a name="3.49.0-preview.1"/>
[3.49.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.49.0-preview.1)
- 2025-4-11

#### Fixes

- [5108](Azure/azure-cosmos-dotnet-v3#5108)
Metadata requests: Fixes bug where certain metadata requests are not
retried with a client cold start with only query requests

## 3.49.0-preview.0

### <a name="3.49.0-preview.0"/>
[3.49.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.49.0-preview.0)
- 2025-3-21

#### Fixes

- [5024](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5024)
Query: Fixes logic to determine whether to use distributed query by
adding a check for gateway connection mode
- [5049](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5049)
.NET9: Fixes WebAssembly or browser scenarios by conditionally setting
the ConnectionLimit
- [4470](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4470)
NonBlockingAsyncCache: Fixes lambda func capturing the outer context
(memory optimization)
- [4977](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4977)
Heiarchical Partition Keys: Fixes bug for ReadMany where None Partition
does not return results

#### Added

- [5057](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5057)
AvailabilityStrategy: Adds WithAvailabilityStrategy method to public GA
SDK.
- [5011](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5011)
Query: Adds query feature and deserialization of component weights for
weighted rank fusion
- [4980](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4980)
Query: Adds FullTextContains, FullTextContainsAll, FullTextContainsAny
as LINQ extension method

## 3.48.1

### <a name="3.48.1"/>
[3.48.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.1) -
2025-4-11

#### Fixes

- [5108](Azure/azure-cosmos-dotnet-v3#5108)
Metadata requests: Fixes bug where certain metadata requests are not
retried with a client cold start with only query requests

## 3.48.0

### <a name="3.47.3"/>
[3.48.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0) -
2025-3-21

#### Fixes

- [5024](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5024)
Query: Fixes logic to determine whether to use distributed query by
adding a check for gateway connection mode
- [5049](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5049)
.NET9: Fixes WebAssembly or browser scenarios by conditionally setting
the ConnectionLimit
- [4470](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4470)
NonBlockingAsyncCache: Fixes lambda func capturing the outer context
(memory optimization)
- [4977](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4977)
Heiarchical Partition Keys: Fixes bug for ReadMany where None Partition
does not return results

#### Added

- [5057](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5057)
AvailabilityStrategy: Adds WithAvailabilityStrategy method to public GA
SDK.
- [5011](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/5011)
Query: Adds query feature and deserialization of component weights for
weighted rank fusion
- [4980](http://github.con/Azure/azure-cosmos-dotnet-v3/pull/4980)
Query: Adds FullTextContains, FullTextContainsAll, FullTextContainsAny
as LINQ extension method

## 3.48.0-preview.2

### <a name="3.48.0-preview.2"/>
[3.48.0-preview.2](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0-preview.2)
- 2025-2-28

#### Fixed
- [5030](Azure/azure-cosmos-dotnet-v3#5030)
Binary Encoding: Fixes Serialization Gaps on Newtonsoft Reader/Writer
for Transactional Batch API.

## 3.48.0-preview.1

### <a name="3.48.0-preview.1"/>
[3.48.0-preview.1](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0-preview.1)
- 2025-2-14

#### Added
- [5013](Azure/azure-cosmos-dotnet-v3#5013)
Resiliency: Fixes a bug in the feature for "Faster detection of broken
Transport connections".
> Set Environment variable
AZURE_COSMOS_AGGRESSIVE_TIMEOUT_DETECTION_ENABLED to "True" to enable
the above feature. Fixed an issue where connections weren't marked as
"unhealthy" under sustained failures, delaying recovery. Now, unhealthy
connections trigger prompt reconnection, ensuring continuous client
operations.

## 3.48.0-preview.0

### <a name="3.48.0-preview.0"/>
[3.48.0-preview.0](https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.48.0-preview.0)
- 2025-2-7

#### Added 

- [4706](Azure/azure-cosmos-dotnet-v3#4706)
Hedging: Adds support for writes on multi region accounts

Commits viewable in [compare
view](Azure/azure-cosmos-dotnet-v3@3.47.2...3.57.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Microsoft.Azure.Cosmos&package-manager=nuget&previous-version=3.47.2&new-version=3.57.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge Enables automation to merge PRs Hedging Any issue/feature request related to request hedging

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Hedging With Writes on MultiMaster

5 participants