From c48ddacb961a6ca52ee19cced51d529338e49520 Mon Sep 17 00:00:00 2001 From: Jeff Morris Date: Tue, 26 Apr 2022 16:36:11 -0700 Subject: [PATCH 1/2] Release notes for dotnet 3.3.0 --- .../project-docs/pages/sdk-release-notes.adoc | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index 776a3637..09c94a79 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -15,6 +15,73 @@ For release notes, download links, and installation methods for 2.7 and earlier The full installation instructions that were previously on this page can now be found xref:sdk-full-installation.adoc[here]. +== Version 3.3.0 (27 April 2022) + +Version 3.3.0 is the first release of the 3.2 series. + +https://packages.couchbase.com/clients/net/3.3/Couchbase-Net-Client-3.3.0.zip[Download] | +https://docs.couchbase.com/sdk-api/couchbase-net-client-3.3.0[API Reference] | +https://www.nuget.org/packages/CouchbaseNetClient/3.3.0[Nuget] + +=== Special Note + +* During a rebalance upgrade from 6.x (or any earlier version) to 7x, in mixed mode (where you are communicating with Couchbase Server whilst some but not all nodes are upgraded), there is a known issue where data may be written to the wrong location. +The solution is to either upgrade to 3.2.9 or greater, or to quiesce application processing so there are no writes until you have upgraded all nodes. +If you encounter a similar situation during migration and need help with mitigation, please contact our support team. + +=== Fixed Issues + +* https://issues.couchbase.com/browse/NCBC-2543[NCBC-2543]: QueryIndexManager fails to create indexes in Linq2Couchbase integration tests + +* https://issues.couchbase.com/browse/NCBC-2847[NCBC-2847]: AuthenticationFailureException is suppressed if invalid credentials are supplied + +* https://issues.couchbase.com/browse/NCBC-3054[NCBC-3054]: DependencyInjection tests fail due to Moq with .NET 5.0 and 6.0 + +* https://issues.couchbase.com/browse/NCBC-3115[NCBC-3115]: EventingFunctionManager GetFunctionAsync throws generic HttpRequestException on error + +* https://issues.couchbase.com/browse/NCBC-3123[NCBC-3123]: BucketNotFoundException thrown when Cluster.BucketAsync fails + +* https://issues.couchbase.com/browse/NCBC-3124[NCBC-3124]: FTS throws generic CouchbaseException skipping error handling + +* https://issues.couchbase.com/browse/NCBC-3151[NCBC-3151]: ScopeNotFoundException on DropCollection does not have proper message + +* https://issues.couchbase.com/browse/NCBC-3164[NCBC-3164]: NRE on OperationBuilderPool.Get() for NOOP + +* https://issues.couchbase.com/browse/NCBC-3177[NCBC-3177]: NRE when rebalancing and cluster map is missing an alternate address + +* https://issues.couchbase.com/browse/NCBC-3179[NCBC-3179]: Move the specific BucketExistsException before the generic CouchBaseException + +* https://issues.couchbase.com/browse/NCBC-3190[NCBC-3190]: CreateDataverseAsync fails with System.ArgumentOutOfRangeException + +=== New Features and Behavioral Changes + +* https://issues.couchbase.com/browse/NCBC-2870[NCBC-2870]: AggregatingMeter Otel integration + +* https://issues.couchbase.com/browse/NCBC-3082[NCBC-3082]: Support parameterized N1QL queries using string interpolation in .NET 6 + +* https://issues.couchbase.com/browse/NCBC-2955[NCBC-2955]: CreateIndexAsync doesn't escape bucket names with dashes + +* https://issues.couchbase.com/browse/NCBC-3173[NCBC-3173]: Capella CA Certificate Bundled with SDK (Note: fix is .NET 5+ only) + +* https://issues.couchbase.com/browse/NCBC-3180[NCBC-3180]: Incorrect GetAllIndexes response on default collection + +* https://issues.couchbase.com/browse/NCBC-3000[NCBC-3000]: Invalid password should raise AuthenticationFailedException instead it raises ServiceNotAvailableException + +* https://issues.couchbase.com/browse/NCBC-3043[NCBC-3043]: Make ChannelConnectionPool the default + +* https://issues.couchbase.com/browse/NCBC-3079[NCBC-3079]: Improve logging performance in hot paths + +* https://issues.couchbase.com/browse/NCBC-3126[NCBC-3126]: Reduce heap allocations deserializing vBucket maps + +* https://issues.couchbase.com/browse/NCBC-3132[NCBC-3132]: Investigate usage of Newtonsoft.Json in KeyValueErrorContext + +* https://issues.couchbase.com/browse/NCBC-3134[NCBC-3134]: Use System.Text.Json in OperationSpec.ToString + +* https://issues.couchbase.com/browse/NCBC-3137[NCBC-3137]: Use System.Text.Json in ClusterVersionProvider + +* https://issues.couchbase.com/browse/NCBC-3138[NCBC-3138]: Support both Newtonsoft and System.Text.Json for DiagnosticReport + +* https://issues.couchbase.com/browse/NCBC-3182[NCBC-3182]: ClusterOptions.WithCertificateFactory() does not apply to Server Certificate Validation == Version 3.2.9 (4 April 2022) From aac54b43b6587ca2c3d9ab34a3c921495eae85e5 Mon Sep 17 00:00:00 2001 From: Hakim Cassimally Date: Wed, 27 Apr 2022 09:40:19 +0100 Subject: [PATCH 2/2] Gardening dotnet-3.3.0-rn --- .../project-docs/pages/sdk-release-notes.adoc | 84 +++++++++---------- 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index 09c94a79..d595e29a 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -17,71 +17,69 @@ The full installation instructions that were previously on this page can now be == Version 3.3.0 (27 April 2022) -Version 3.3.0 is the first release of the 3.2 series. +Version 3.3.0 is the first release of the 3.3 series. https://packages.couchbase.com/clients/net/3.3/Couchbase-Net-Client-3.3.0.zip[Download] | https://docs.couchbase.com/sdk-api/couchbase-net-client-3.3.0[API Reference] | https://www.nuget.org/packages/CouchbaseNetClient/3.3.0[Nuget] -=== Special Note - -* During a rebalance upgrade from 6.x (or any earlier version) to 7x, in mixed mode (where you are communicating with Couchbase Server whilst some but not all nodes are upgraded), there is a known issue where data may be written to the wrong location. -The solution is to either upgrade to 3.2.9 or greater, or to quiesce application processing so there are no writes until you have upgraded all nodes. -If you encounter a similar situation during migration and need help with mitigation, please contact our support team. === Fixed Issues -* https://issues.couchbase.com/browse/NCBC-2543[NCBC-2543]: QueryIndexManager fails to create indexes in Linq2Couchbase integration tests - -* https://issues.couchbase.com/browse/NCBC-2847[NCBC-2847]: AuthenticationFailureException is suppressed if invalid credentials are supplied - -* https://issues.couchbase.com/browse/NCBC-3054[NCBC-3054]: DependencyInjection tests fail due to Moq with .NET 5.0 and 6.0 - -* https://issues.couchbase.com/browse/NCBC-3115[NCBC-3115]: EventingFunctionManager GetFunctionAsync throws generic HttpRequestException on error - -* https://issues.couchbase.com/browse/NCBC-3123[NCBC-3123]: BucketNotFoundException thrown when Cluster.BucketAsync fails +* https://issues.couchbase.com/browse/NCBC-2847[NCBC-2847], +https://issues.couchbase.com/browse/NCBC-3123[NCBC-3123], +https://issues.couchbase.com/browse/NCBC-3115[NCBC-3115], +https://issues.couchbase.com/browse/NCBC-3124[NCBC-3124], +https://issues.couchbase.com/browse/NCBC-3151[NCBC-3151], +https://issues.couchbase.com/browse/NCBC-3179[NCBC-3179], +https://issues.couchbase.com/browse/NCBC-3000[NCBC-3000]: +Made it simpler to diagnose failures by ensuring that various exceptions including `AuthenticationFailureException`, `BucketNotFoundException`, `EventingFunctionNotFoundException`, FTS exceptions, `ScopeNotFoundException`, `BucketExistsException`, `AuthenticationFailedException` are correctly thrown. -* https://issues.couchbase.com/browse/NCBC-3124[NCBC-3124]: FTS throws generic CouchbaseException skipping error handling -* https://issues.couchbase.com/browse/NCBC-3151[NCBC-3151]: ScopeNotFoundException on DropCollection does not have proper message +* https://issues.couchbase.com/browse/NCBC-3164[NCBC-3164], +https://issues.couchbase.com/browse/NCBC-3177[NCBC-3177]: +Fix bugs where NullReferenceException were thrown in +SendAsync (because the OperationBuilder has not been set for a NOOP) +and rebalancing (when the cluster map was missing an alternate address). -* https://issues.couchbase.com/browse/NCBC-3164[NCBC-3164]: NRE on OperationBuilderPool.Get() for NOOP - -* https://issues.couchbase.com/browse/NCBC-3177[NCBC-3177]: NRE when rebalancing and cluster map is missing an alternate address - -* https://issues.couchbase.com/browse/NCBC-3179[NCBC-3179]: Move the specific BucketExistsException before the generic CouchBaseException - -* https://issues.couchbase.com/browse/NCBC-3190[NCBC-3190]: CreateDataverseAsync fails with System.ArgumentOutOfRangeException +* https://issues.couchbase.com/browse/NCBC-3190[NCBC-3190]: +Fixed bug where CreateDataverseAsync failed when passed an empty TimeSpan. === New Features and Behavioral Changes -* https://issues.couchbase.com/browse/NCBC-2870[NCBC-2870]: AggregatingMeter Otel integration - -* https://issues.couchbase.com/browse/NCBC-3082[NCBC-3082]: Support parameterized N1QL queries using string interpolation in .NET 6 - -* https://issues.couchbase.com/browse/NCBC-2955[NCBC-2955]: CreateIndexAsync doesn't escape bucket names with dashes - -* https://issues.couchbase.com/browse/NCBC-3173[NCBC-3173]: Capella CA Certificate Bundled with SDK (Note: fix is .NET 5+ only) - -* https://issues.couchbase.com/browse/NCBC-3180[NCBC-3180]: Incorrect GetAllIndexes response on default collection +* https://issues.couchbase.com/browse/NCBC-3173[NCBC-3173], +https://issues.couchbase.com/browse/NCBC-3182[NCBC-3182]: +Bundle Capella CA cert with SDK, and use it by default. +(Note: fix is .NET 5+ only) -* https://issues.couchbase.com/browse/NCBC-3000[NCBC-3000]: Invalid password should raise AuthenticationFailedException instead it raises ServiceNotAvailableException +* https://issues.couchbase.com/browse/NCBC-2870[NCBC-2870]: +Added OpenTelemetry 1.2.0 AggregatingMeter Otel integration. -* https://issues.couchbase.com/browse/NCBC-3043[NCBC-3043]: Make ChannelConnectionPool the default +* https://issues.couchbase.com/browse/NCBC-3082[NCBC-3082]: +Support parameterized N1QL queries using string interpolation in .NET 6 -* https://issues.couchbase.com/browse/NCBC-3079[NCBC-3079]: Improve logging performance in hot paths +* https://issues.couchbase.com/browse/NCBC-3180[NCBC-3180]: +Fixed `GetAllIndexes` response on default collection. -* https://issues.couchbase.com/browse/NCBC-3126[NCBC-3126]: Reduce heap allocations deserializing vBucket maps +* https://issues.couchbase.com/browse/NCBC-3043[NCBC-3043]: +Made `ChannelConnectionPool` the default. +This was added in 3.1.2, and is now the default, replacing `DataFlowConnectionPool`. +(To revert to the previous connection pool set `ClusterOptions.Experiments.ChannelConnectionPools` to false.) -* https://issues.couchbase.com/browse/NCBC-3132[NCBC-3132]: Investigate usage of Newtonsoft.Json in KeyValueErrorContext +* https://issues.couchbase.com/browse/NCBC-3079[NCBC-3079]: +Improved logging performance in hot paths. -* https://issues.couchbase.com/browse/NCBC-3134[NCBC-3134]: Use System.Text.Json in OperationSpec.ToString +* https://issues.couchbase.com/browse/NCBC-3126[NCBC-3126]: +Reduce heap allocations deserializing vBucket maps. -* https://issues.couchbase.com/browse/NCBC-3137[NCBC-3137]: Use System.Text.Json in ClusterVersionProvider +* https://issues.couchbase.com/browse/NCBC-3132[NCBC-3132], +https://issues.couchbase.com/browse/NCBC-3134[NCBC-3134], +https://issues.couchbase.com/browse/NCBC-3137[NCBC-3137]: +Switched to `System.Text.Json `for exception error contexts, `OperationSpec.ToString`, `ClusterVersionProvider` -* https://issues.couchbase.com/browse/NCBC-3138[NCBC-3138]: Support both Newtonsoft and System.Text.Json for DiagnosticReport +* https://issues.couchbase.com/browse/NCBC-3138[NCBC-3138]: +Support both Newtonsoft and System.Text.Json` for DiagnosticReport -* https://issues.couchbase.com/browse/NCBC-3182[NCBC-3182]: ClusterOptions.WithCertificateFactory() does not apply to Server Certificate Validation == Version 3.2.9 (4 April 2022) @@ -94,7 +92,7 @@ https://www.nuget.org/packages/CouchbaseNetClient/3.2.9[Nuget] === Special Note * During a rebalance upgrade from 6.x (or any earlier version) to 7x, in mixed mode (where you are communicating with Couchbase Server whilst some but not all nodes are upgraded), there is a known issue where data may be written to the wrong location. -The solution is to either upgrade to 3.2.9, or to quiesce application processing so there are no writes until you have upgraded all nodes. +The solution is to either upgrade to 3.2.9, or to pause application processing so there are no writes until you have upgraded all nodes. If you encounter a similar situation during migration and need help with mitigation, please contact our support team. * Between bug fixes and performance improvements, the `ChannelConnectionPool` will be made the default in a future release.