Skip to content

[Direct package version update]: Adds direct package version 3.43.2#5910

Merged
ananth7592 merged 2 commits into
mainfrom
ananth/direct-release-3.43.2
Jun 1, 2026
Merged

[Direct package version update]: Adds direct package version 3.43.2#5910
ananth7592 merged 2 commits into
mainfrom
ananth/direct-release-3.43.2

Conversation

@ananth7592
Copy link
Copy Markdown
Member

@ananth7592 ananth7592 commented May 28, 2026

Description

Update direct package version to 3.43.0

Cherry-picked PRs for direct package update:

Fix RNTBD thread-pool starvation by making Dispatcher.OnIdleTimer async (ports public PR #5817) - https://msdata.visualstudio.com/CosmosDB/_git/CosmosDB/pullrequest/2102144
[SqlBinder] Add support for GenerateEmbeddings syntactic sugar- https://msdata.visualstudio.com/CosmosDB/_git/CosmosDB/pullrequest/2050912
[Routing Gateway][ServiceInterop][QueryPlan] Adds query rewrite for GenerateEmbeddings
https://msdata.visualstudio.com/CosmosDB/_git/CosmosDB/pullrequest/2072965

Type of change

Please delete options that are not relevant.

  • [] Bug fix (non-breaking change which fixes an issue)
  • [] New feature (non-breaking change which adds functionality)
  • [] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [] This change requires a documentation update

Closing issues

To automatically close an issue: closes #IssueNumber

Changelog

  • I have added a changelog entry under ### Unreleased in changelog.md
    for the user-facing impact of this change.
  • No changelog entry is required because this PR is one of:
    documentation-only, test-only, CI / build-only, or a pure internal refactor
    with no observable customer impact.

If the second box is checked, briefly justify here:

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!

@ananth7592 ananth7592 changed the title Update direct package version 3.43.2 [Direct package version update]: Adds direct package version 3.43.2 May 28, 2026
@ananth7592 ananth7592 force-pushed the ananth/direct-release-3.43.2 branch 2 times, most recently from dd84232 to 16b4e05 Compare May 29, 2026 17:36
Comment thread changelog.md Outdated
@ananth7592 ananth7592 force-pushed the ananth/direct-release-3.43.2 branch from 16b4e05 to 0fb10e7 Compare May 29, 2026 21:44
Comment thread Microsoft.Azure.Cosmos.sln
kushagraThapar
kushagraThapar previously approved these changes May 29, 2026
@ananth7592 ananth7592 force-pushed the ananth/direct-release-3.43.2 branch 3 times, most recently from e5e0813 to 0fc6649 Compare June 1, 2026 14:49
ananth7592 and others added 2 commits June 1, 2026 09:54
Documents customer-facing changes brought in by the Direct package bump from 3.43.1 to 3.43.2:

- Bugs Fixed: RNTBD thread-pool starvation fix via async Dispatcher.OnIdleTimer (ports public PR #5817).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ananth7592 ananth7592 force-pushed the ananth/direct-release-3.43.2 branch from 0fc6649 to 763204e Compare June 1, 2026 17:03
@ananth7592 ananth7592 merged commit 92606f7 into main Jun 1, 2026
33 checks passed
@ananth7592 ananth7592 deleted the ananth/direct-release-3.43.2 branch June 1, 2026 19:37
Meghana-Palaparthi added a commit that referenced this pull request Jun 2, 2026
## Release 3.61.0

### Version Changes
| Property | Previous | New |
|---|---|---|
| ClientOfficialVersion | 3.60.0 | 3.61.0 |
| ClientPreviewVersion | 3.61.0 | 3.62.0 |
| ClientPreviewSuffixVersion | preview.0 | preview.0 |

### Changelog (3.61.0 GA)

#### Features Added
- [5815](#5815) Read
Consistency Strategy: Adds hub region header for
LastCommittedSingleWriteRegion strategy.
- [5848](#5848)
VectorEmbeddingPolicy: Adds EmbeddingSource block to Embedding model
- [5867](#5867)
Diagnostics: Adds hedging detection API
- [5600](#5600) HPK:
Adds id to partition key when "/id" is the last path in partition key
definition.

#### Bugs Fixed
- [5827](#5827)
ChangeFeedEstimator: Change feed estimator threw ArgumentNullException
when an inmemory lease container was being used.
- [5910](#5910)
Upgraded Direct package to 3.43.2.
- [5910](#5910)
Direct: Fixed RNTBD thread-pool starvation by making
Dispatcher.OnIdleTimer asynchronous.

#### Other Changes
- [5887](#5887)
Direct: Documents that MaxTcpConnectionsPerEndpoint accepts any positive
value.

### Changelog (3.62.0-preview.0 - preview only)

#### Features Added
- [5838](#5838)
EmbeddingGenerator: Adds ICosmosEmbeddingGenerator client-wide
configuration (preview)
- [5911](#5911)
DistributedTransaction: Adds DistributedReadTransaction and
DistributedWriteTransaction APIs (preview)

### API Contract Diff (GA)
```diff
diff --git "a/Microsoft.Azure.Cosmos\\contracts\\API_3.60.0.txt" "b/Microsoft.Azure.Cosmos\\contracts\\API_3.61.0.txt"
index ad39f9b..767b792 100644
--- "a/Microsoft.Azure.Cosmos\\contracts\\API_3.60.0.txt"
+++ "b/Microsoft.Azure.Cosmos\\contracts\\API_3.61.0.txt"
@@ -434,7 +434,10 @@ namespace Microsoft.Azure.Cosmos
         public abstract IReadOnlyList<ValueTuple<string, Uri>> GetContactedRegions();
         public virtual int GetFailedRequestCount();
         public virtual ServerSideCumulativeMetrics GetQueryMetrics();
+        public virtual IReadOnlyList<RequestedRegion> GetRequestedRegions();
+        public virtual IReadOnlyList<string> GetRespondedRegions();
         public virtual Nullable<DateTime> GetStartTimeUtc();
+        public virtual bool HedgingStarted();
         public abstract override string ToString();
     }
     public class CosmosException : Exception, ICloneable
@@ -1033,6 +1036,28 @@ namespace Microsoft.Azure.Cosmos
         public const string WestUS2 = "West US 2";
         public const string WestUS3 = "West US 3";
     }
+    public struct RequestedRegion : IEquatable<RequestedRegion>
+    {
+        public RequestedRegion(string regionName, RequestedRegionReason reason);
+        public RequestedRegionReason Reason { get; }
+        public string RegionName { get; }
+        public bool Equals(RequestedRegion other);
+        public override bool Equals(object obj);
+        public override int GetHashCode();
+        public override string ToString();
+    }
+    public enum RequestedRegionReason : byte
+    {
+        CircuitBreakerProbe = (byte)6,
+        Hedging = (byte)4,
+        Initial = (byte)1,
+        OperationRetry = (byte)2,
+        RegionFailover = (byte)5,
+        TransportRetry = (byte)3,
+        Unknown = (byte)0,
+    }
     public abstract class RequestHandler
     {
         protected RequestHandler();

```

### API Contract Diff (Preview)
```diff
diff --git "a/Microsoft.Azure.Cosmos\\contracts\\API_3.61.0-preview.0.txt" "b/Microsoft.Azure.Cosmos\\contracts\\API_3.62.0-preview.0.txt"
index efd0a07..02f51c1 100644
--- "a/Microsoft.Azure.Cosmos\\contracts\\API_3.61.0-preview.0.txt"
+++ "b/Microsoft.Azure.Cosmos\\contracts\\API_3.62.0-preview.0.txt"
@@ -367,6 +367,7 @@ namespace Microsoft.Azure.Cosmos
         public CosmosClient(string connectionString, CosmosClientOptions clientOptions=null);
         public CosmosClient(string accountEndpoint, string authKeyOrResourceToken, CosmosClientOptions clientOptions=null);
         public virtual CosmosClientOptions ClientOptions { get; }
+        public virtual ICosmosEmbeddingGenerator EmbeddingGenerator { get; }
         public virtual Uri Endpoint { get; }
         public virtual CosmosResponseFactory ResponseFactory { get; }
         public static Task<CosmosClient> CreateAndInitializeAsync(string accountEndpoint, AzureKeyCredential authKeyOrResourceTokenCredential, IReadOnlyList<ValueTuple<string, string>> containers, CosmosClientOptions cosmosClientOptions=null, CancellationToken cancellationToken=default(CancellationToken));
@@ -378,6 +379,8 @@ namespace Microsoft.Azure.Cosmos
         public virtual Task<DatabaseResponse> CreateDatabaseIfNotExistsAsync(string id, ThroughputProperties throughputProperties, RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
         public virtual Task<DatabaseResponse> CreateDatabaseIfNotExistsAsync(string id, Nullable<int> throughput=default(Nullable<int>), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
         public virtual Task<ResponseMessage> CreateDatabaseStreamAsync(DatabaseProperties databaseProperties, Nullable<int> throughput=default(Nullable<int>), RequestOptions requestOptions=null, CancellationToken cancellationToken=default(CancellationToken));
+        public virtual DistributedReadTransaction CreateDistributedReadTransaction();
+        public virtual DistributedWriteTransaction CreateDistributedWriteTransaction();
         public void Dispose();
         protected virtual void Dispose(bool disposing);
         public virtual Container GetContainer(string databaseId, string containerId);
@@ -401,6 +404,7 @@ namespace Microsoft.Azure.Cosmos
         public Nullable<ConsistencyLevel> ConsistencyLevel { get; set; }
         public CosmosClientTelemetryOptions CosmosClientTelemetryOptions { get; set; }
         public Collection<RequestHandler> CustomHandlers { get; }
+        public ICosmosEmbeddingGenerator EmbeddingGenerator { get; set; }
         public Nullable<bool> EnableContentResponseOnWrite { get; set; }
         public bool EnableRemoteRegionPreferredForSessionRetry { get; set; }
         public bool EnableTcpConnectionEndpointRediscovery { get; set; }
@@ -511,9 +515,19 @@ namespace Microsoft.Azure.Cosmos
         public abstract IReadOnlyList<ValueTuple<string, Uri>> GetContactedRegions();
         public virtual int GetFailedRequestCount();
         public virtual ServerSideCumulativeMetrics GetQueryMetrics();
+        public virtual IReadOnlyList<RequestedRegion> GetRequestedRegions();
+        public virtual IReadOnlyList<string> GetRespondedRegions();
         public virtual Nullable<DateTime> GetStartTimeUtc();
+        public virtual bool HedgingStarted();
         public abstract override string ToString();
     }
+    public sealed class CosmosEmbeddingResult
+    {
+        public CosmosEmbeddingResult(IReadOnlyList<ReadOnlyMemory<float>> vectors, Nullable<int> totalTokens=default(Nullable<int>), Nullable<TimeSpan> latency=default(Nullable<TimeSpan>));
+        public Nullable<TimeSpan> Latency { get; }
+        public Nullable<int> TotalTokens { get; }
+        public IReadOnlyList<ReadOnlyMemory<float>> Vectors { get; }
+    }
     public class CosmosException : Exception, ICloneable
     {
         public CosmosException(string message, HttpStatusCode statusCode, int subStatusCode, string activityId, double requestCharge);
@@ -668,6 +682,69 @@ namespace Microsoft.Azure.Cosmos
         DotProduct = 2,
         Euclidean = 0,
     }
+    public abstract class DistributedReadTransaction : DistributedTransaction
+    {
+        protected DistributedReadTransaction();
+        public abstract DistributedReadTransaction ReadItem(Container container, PartitionKey partitionKey, string id, DistributedTransactionRequestOptions requestOptions=null);
+    }
+    public abstract class DistributedTransaction
+    {
+        protected DistributedTransaction();
+        public abstract Task<DistributedTransactionResponse> CommitTransactionAsync(CancellationToken cancellationToken=default(CancellationToken));
+    }
+    public class DistributedTransactionOperationResult
+    {
+        public virtual string ETag { get; }
+        public virtual int Index { get; }
+        public virtual bool IsSuccessStatusCode { get; }
+        public virtual double RequestCharge { get; }
+        public virtual Stream ResourceStream { get; }
+        public virtual HttpStatusCode StatusCode { get; }
+    }
+    public class DistributedTransactionOperationResult<T> : DistributedTransactionOperationResult
+    {
+        protected DistributedTransactionOperationResult();
+        public virtual T Resource { get; set; }
+    }
+    public class DistributedTransactionRequestOptions : RequestOptions
+    {
+        public DistributedTransactionRequestOptions();
+        public string SessionToken { get; set; }
+    }
+    public class DistributedTransactionResponse : IDisposable, IEnumerable, IEnumerable<DistributedTransactionOperationResult>, IReadOnlyCollection<DistributedTransactionOperationResult>, IReadOnlyList<DistributedTransactionOperationResult>
+    {
+        protected DistributedTransactionResponse();
+        public virtual string ActivityId { get; }
+        public virtual int Count { get; }
+        public virtual CosmosDiagnostics Diagnostics { get; }
+        public virtual string DiagnosticString { get; }
+        public virtual string ErrorMessage { get; }
+        public virtual Headers Headers { get; }
+        public virtual Guid IdempotencyToken { get; }
+        public virtual bool IsRetriable { get; }
+        public virtual bool IsSuccessStatusCode { get; }
+        public virtual DistributedTransactionOperationResult this[int index] { get; }
+        public virtual double RequestCharge { get; }
+        public virtual HttpStatusCode StatusCode { get; }
+        public void Dispose();
+        protected virtual void Dispose(bool disposing);
+        public virtual IEnumerator<DistributedTransactionOperationResult> GetEnumerator();
+        public virtual DistributedTransactionOperationResult<T> GetOperationResultAtIndex<T>(int index);
+        IEnumerator System.Collections.IEnumerable.GetEnumerator();
+    }
+    public abstract class DistributedWriteTransaction : DistributedTransaction
+    {
+        protected DistributedWriteTransaction();
+        public abstract DistributedWriteTransaction CreateItemStream(Container container, PartitionKey partitionKey, string id, Stream streamPayload, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction CreateItem<T>(Container container, PartitionKey partitionKey, string id, T resource, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction DeleteItem(Container container, PartitionKey partitionKey, string id, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction PatchItem(Container container, PartitionKey partitionKey, string id, IReadOnlyList<PatchOperation> patchOperations, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction PatchItemStream(Container container, PartitionKey partitionKey, string id, Stream streamPayload, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction ReplaceItemStream(Container container, PartitionKey partitionKey, string id, Stream streamPayload, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction ReplaceItem<T>(Container container, PartitionKey partitionKey, string id, T resource, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction UpsertItemStream(Container container, PartitionKey partitionKey, string id, Stream streamPayload, DistributedTransactionRequestOptions requestOptions=null);
+        public abstract DistributedWriteTransaction UpsertItem<T>(Container container, PartitionKey partitionKey, string id, T resource, DistributedTransactionRequestOptions requestOptions=null);
+    }
     public class Embedding : IEquatable<Embedding>
     {
         public Embedding();
@@ -809,6 +886,10 @@ namespace Microsoft.Azure.Cosmos
         IEnumerator System.Collections.IEnumerable.GetEnumerator();
         public virtual bool TryGetValue(string headerName, out string value);
     }
+    public interface ICosmosEmbeddingGenerator
+    {
+        Task<CosmosEmbeddingResult> GenerateEmbeddingsAsync(IReadOnlyList<string> texts, string endpoint, string deploymentName, int dimensions, CancellationToken cancellationToken=default(CancellationToken));
+    }
     public sealed class IncludedPath
     {
         public IncludedPath();
@@ -1157,6 +1238,28 @@ namespace Microsoft.Azure.Cosmos
         public const string WestUS2 = "West US 2";
         public const string WestUS3 = "West US 3";
     }
+    public struct RequestedRegion : IEquatable<RequestedRegion>
+    {
+        public RequestedRegion(string regionName, RequestedRegionReason reason);
+        public RequestedRegionReason Reason { get; }
+        public string RegionName { get; }
+        public bool Equals(RequestedRegion other);
+        public override bool Equals(object obj);
+        public override int GetHashCode();
+        public override string ToString();
+    }
+    public enum RequestedRegionReason : byte
+    {
+        CircuitBreakerProbe = (byte)6,
+        Hedging = (byte)4,
+        Initial = (byte)1,
+        OperationRetry = (byte)2,
+        RegionFailover = (byte)5,
+        TransportRetry = (byte)3,
+        Unknown = (byte)0,
+    }
     public abstract class RequestHandler
     {
         protected RequestHandler();
@@ -1526,6 +1629,7 @@ namespace Microsoft.Azure.Cosmos.Fluent
         public CosmosClientBuilder WithContentResponseOnWrite(bool contentResponseOnWrite);
         public CosmosClientBuilder WithCustomAccountEndpoints(IEnumerable<Uri> customAccountEndpoints);
         public CosmosClientBuilder WithCustomSerializer(CosmosSerializer cosmosJsonSerializer);
+        public CosmosClientBuilder WithEmbeddingGenerator(ICosmosEmbeddingGenerator embeddingGenerator);
         public CosmosClientBuilder WithEnableRemoteRegionPreferredForSessionRetry(bool enableRemoteRegionPreferredForSessionRetry);
         public CosmosClientBuilder WithFaultInjection(IFaultInjector faultInjector);
         public CosmosClientBuilder WithHttpClientFactory(Func<HttpClient> httpClientFactory);

```

### Checklist
- [X] Changelog entries reviewed by team
- [ ] API contract diff reviewed by Kiran and Kirill
- [ ] Preview APIs reviewed (email sent to
azurecosmossdkdotnet@microsoft.com)
- [ ] Kiran sign-off obtained

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants