From cea90bd118dc9a8db69a432af11f3fd247f2ba55 Mon Sep 17 00:00:00 2001 From: jmorris Date: Wed, 4 Oct 2023 20:57:13 -0700 Subject: [PATCH 1/2] dotnet release 3.4.12 notes --- .../project-docs/pages/sdk-release-notes.adoc | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index 2eb3175b..b139e33f 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -24,6 +24,35 @@ We always recommend using the latest version of the SDK -- it contains all of th All patch releases for each dot minor release should be API compatible, and safe to upgrade; any changes to expected behavior are noted in the release notes that follow. +[#version-3-4-12] +=== Version 3.4.12 (04 Oct 2023) + +Version 3.4.12 is the thirteenth release of the 3.4 series. + +https://packages.couchbase.com/clients/net/3.4/Couchbase-Net-Client-3.4.12.zip[Download] | +https://docs.couchbase.com/sdk-api/couchbase-net-client-3.4.12[API Reference] | +https://www.nuget.org/packages/CouchbaseNetClient/3.4.12[Nuget] + +==== Fixed Issues + +* https://issues.couchbase.com/browse/NCBC-3490[NCBC-3490]:MutateIn doesn't throw CasMismatchException +* https://issues.couchbase.com/browse/NCBC-3493[NCBC-3493]:When private link is enabled all VBuckets map to the same node and NMVB +* https://issues.couchbase.com/browse/NCBC-3496[NCBC-3496]:Make WaitUntilReady use the cluster map and not ServiceType enum by default +* https://issues.couchbase.com/browse/NCBC-3455[NCBC-3455]:SDK does not throw DocumentUnretrievableException in LookupInAnyReplica +* https://issues.couchbase.com/browse/NCBC-3465[NCBC-3465]:Exist specs in LookupInResults do not return ContentAs +* https://issues.couchbase.com/browse/NCBC-3473[NCBC-3473]:GetInAnyReplica might fail when it should be successful + throw DocumentUnretrievable +* https://issues.couchbase.com/browse/NCBC-3484[NCBC-3484]:LookupIn(Any/All)Replica do not execute against primary vBucket +* https://issues.couchbase.com/browse/NCBC-3485[NCBC-3485]:LookupInAnyReplica might fail when they should be successful +* https://issues.couchbase.com/browse/NCBC-3486[NCBC-3486]:LookupIn(Any/All)Replicas do not actually send to replica VBuckets + +==== New Features and Behavioral Changes + +* https://issues.couchbase.com/browse/NCBC-3494[NCBC-3494]:Add client-side check for TooManySpecs in LookupIn +* https://issues.couchbase.com/browse/NCBC-3387[NCBC-3387]:Remove Internal keword from ICollectionQueryIndexManager +* https://issues.couchbase.com/browse/NCBC-3479[NCBC-3479]:Add trimming and AOT annotations to Analytics and Search clients +* https://issues.couchbase.com/browse/NCBC-3492[NCBC-3492]:Update Config When 0xd Response is Received +* https://issues.couchbase.com/browse/NCBC-3495[NCBC-3495]:Move LookupInAllReplicasAsync and LookupInAnyReplicaAsync into ICouchbaseCollection +* https://issues.couchbase.com/browse/NCBC-3497[NCBC-3497]:Add additional DEBUG logging ConnectionFactory.CreateAndConnectAsync for TLS [#version-3-4-11] From d9f9a134b2b8432c4d8533101052999dc67ef378 Mon Sep 17 00:00:00 2001 From: Richard Smedley Date: Thu, 5 Oct 2023 09:29:31 +0100 Subject: [PATCH 2/2] Gardening --- .../project-docs/pages/sdk-release-notes.adoc | 48 +++++++++++++------ 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index b139e33f..6dd7c483 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -24,6 +24,7 @@ We always recommend using the latest version of the SDK -- it contains all of th All patch releases for each dot minor release should be API compatible, and safe to upgrade; any changes to expected behavior are noted in the release notes that follow. + [#version-3-4-12] === Version 3.4.12 (04 Oct 2023) @@ -35,24 +36,41 @@ https://www.nuget.org/packages/CouchbaseNetClient/3.4.12[Nuget] ==== Fixed Issues -* https://issues.couchbase.com/browse/NCBC-3490[NCBC-3490]:MutateIn doesn't throw CasMismatchException -* https://issues.couchbase.com/browse/NCBC-3493[NCBC-3493]:When private link is enabled all VBuckets map to the same node and NMVB -* https://issues.couchbase.com/browse/NCBC-3496[NCBC-3496]:Make WaitUntilReady use the cluster map and not ServiceType enum by default -* https://issues.couchbase.com/browse/NCBC-3455[NCBC-3455]:SDK does not throw DocumentUnretrievableException in LookupInAnyReplica -* https://issues.couchbase.com/browse/NCBC-3465[NCBC-3465]:Exist specs in LookupInResults do not return ContentAs -* https://issues.couchbase.com/browse/NCBC-3473[NCBC-3473]:GetInAnyReplica might fail when it should be successful + throw DocumentUnretrievable -* https://issues.couchbase.com/browse/NCBC-3484[NCBC-3484]:LookupIn(Any/All)Replica do not execute against primary vBucket -* https://issues.couchbase.com/browse/NCBC-3485[NCBC-3485]:LookupInAnyReplica might fail when they should be successful -* https://issues.couchbase.com/browse/NCBC-3486[NCBC-3486]:LookupIn(Any/All)Replicas do not actually send to replica VBuckets +* https://issues.couchbase.com/browse/NCBC-3490[NCBC-3490]: +When a request includes a CAS, `MutateIn` should now throw a `CasMismatch` exception if the status is `KeyExists`. +Otherwise, for `KeyExists`, it will continue to throw `DocumentExistsException`. +* https://issues.couchbase.com/browse/NCBC-3493[NCBC-3493]: +When a Private Link is enabled, the SDK was not properly using the provided config and all of the VBuckets were mapped to the same node. +This could cause a recurring `KvNotMyVBucket`, which would eventually become an `AmbiguousTimeoutException` thrown to the user. +This behavior has now been fixed -- +changes have been made so that `NetworkResolution` is propagated to `BucketConfig`, duplicate nodes not added to nodes list, and entries in `LookupDictionary` are only made for nodes with actual ports. +* https://issues.couchbase.com/browse/NCBC-3496[NCBC-3496]: +`WaitUntilReady` should now use the cluster map and not the `ServiceType` enum by default -- removing spurious error messages about services which are not being used. +* https://issues.couchbase.com/browse/NCBC-3455[NCBC-3455]: +During a `MultiLookup`, the SDK should now correctly throw `DocumentUnretrievableException` in `LookupInAnyReplica`, for key not found. +* https://issues.couchbase.com/browse/NCBC-3465[NCBC-3465]: +Exist specs in `LookupInResults` was not returning `ContentAs` -- +it now returns bool Exist value serialized as `T` when calling `LookupinResult.ContentAs()`, as per RFC. +* https://issues.couchbase.com/browse/NCBC-3473[NCBC-3473]: +`GetInAnyReplica` could fail when it should have been successful, throwing `DocumentUnretrievable` -- +it should now return the first _successful_ operation (unless all fail). +* https://issues.couchbase.com/browse/NCBC-3484[NCBC-3484], https://issues.couchbase.com/browse/NCBC-3485[NCBC-3485], https://issues.couchbase.com/browse/NCBC-3486[NCBC-3486]: +Several bugs in LookupInAny and LookupInAllReplicas have been fixed. ==== New Features and Behavioral Changes -* https://issues.couchbase.com/browse/NCBC-3494[NCBC-3494]:Add client-side check for TooManySpecs in LookupIn -* https://issues.couchbase.com/browse/NCBC-3387[NCBC-3387]:Remove Internal keword from ICollectionQueryIndexManager -* https://issues.couchbase.com/browse/NCBC-3479[NCBC-3479]:Add trimming and AOT annotations to Analytics and Search clients -* https://issues.couchbase.com/browse/NCBC-3492[NCBC-3492]:Update Config When 0xd Response is Received -* https://issues.couchbase.com/browse/NCBC-3495[NCBC-3495]:Move LookupInAllReplicasAsync and LookupInAnyReplicaAsync into ICouchbaseCollection -* https://issues.couchbase.com/browse/NCBC-3497[NCBC-3497]:Add additional DEBUG logging ConnectionFactory.CreateAndConnectAsync for TLS +* https://issues.couchbase.com/browse/NCBC-3494[NCBC-3494]: +Added a client-side check for `TooManySpecs` in `LookupIn`. +* https://issues.couchbase.com/browse/NCBC-3387[NCBC-3387]: +Removed internal keword from `ICollectionQueryIndexManager`, facilitatiing better testing. +* https://issues.couchbase.com/browse/NCBC-3479[NCBC-3479]: +Added trimming and AOT annotations to Analytics and Search clients. +* https://issues.couchbase.com/browse/NCBC-3492[NCBC-3492]: +When an `EConfigOnly (0xd)` response is received, the SDK assumes that this _may_ mean a stale config, and so fetches a new config and publishes it for processing. +* https://issues.couchbase.com/browse/NCBC-3495[NCBC-3495]: +Moved `LookupInAllReplicasAsync` and `LookupInAnyReplicaAsync` into `ICouchbaseCollection`. +* https://issues.couchbase.com/browse/NCBC-3497[NCBC-3497]: +Added additional DEBUG logging `ConnectionFactory.CreateAndConnectAsync`, to aid TLS troubleshooting. [#version-3-4-11]