From df6cdf19baae410635fe95d4ea6d998296f9d9d3 Mon Sep 17 00:00:00 2001 From: mikereiche Date: Fri, 8 Aug 2025 16:24:16 -0700 Subject: [PATCH 1/3] Release 3.9.0 --- .../project-docs/pages/sdk-release-notes.adoc | 84 ++++++++++++++++++- 1 file changed, 83 insertions(+), 1 deletion(-) diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index f2a85bed..c20db676 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -46,12 +46,94 @@ echo metrics-micrometer ; grep '' $src/metrics-micrometer/pom.xml | hea //// -=== Version 3.9.0 (?? August 2025) +=== Version 3.9.0 (5 August 2025) This is the first release of the 3.9 series. +https://packages.couchbase.com/clients/java/3.9.0/Couchbase-Java-Client-3.9.0.zip[Download] | +https://docs.couchbase.com/sdk-api/couchbase-java-client-3.9.0/index.html[API Reference] | +http://docs.couchbase.com/sdk-api/couchbase-core-io-3.9.0/[Core API Reference] +The supported and tested dependencies for this release are: + +* io.projectreactor:**reactor-core:3.6.9** +* org.reactivestreams:**reactive-streams:1.0.4** + +Optional artifacts on top of this SDK version are tested for the following compatibilities: + +.Optional Artifact Version Compatibility +[options="header"] +|======================= +| Artifact | Couchbase Version | Built Against | API Stability +| `tracing-opentelemetry` | 3.9.0 | OpenTelemetry 1.31.0 | Committed +| `tracing-opentracing` | 3.9.0 | OpenTracing 0.33.0 | Committed +| `metrics-opentelemetry` | 3.9.0 | OpenTelemetry 1.31.0 | Volatile +| `metrics-micrometer` | 3.9.0 | Micrometer 1.12.9 | Volatile +|======================= + + +# Release notes - Couchbase Java Client - 3.9.0 + +### Task + +[JCBC-2189](https://couchbasecloud.atlassian.net/browse/JCBC-2189) Promote App Telemetry config options from Volatile to Committed + +### New Feature + +[JCBC-2193](https://couchbasecloud.atlassian.net/browse/JCBC-2193) SDK: Support FTS like Pre-Filters while doing Vector Search + +[JCBC-2198](https://couchbasecloud.atlassian.net/browse/JCBC-2198) Operational SDK prevent connection to Analytics 2.0 Cluster + +# Release notes - Java Couchbase JVM Core - 3.9.0 + +### Bug + +[JVMCBC-1644](https://couchbasecloud.atlassian.net/browse/JVMCBC-1644) Query\_context namespace should not be surrounded by backticks + +[JVMCBC-1656](https://couchbasecloud.atlassian.net/browse/JVMCBC-1656) Java SDK Seed Nodes Don't Always Get Correctly Updated + +[JVMCBC-1660](https://couchbasecloud.atlassian.net/browse/JVMCBC-1660) Change Network Heuristic for JVM SDKs + +[JVMCBC-1662](https://couchbasecloud.atlassian.net/browse/JVMCBC-1662) Preferred server group not honored in transactions + +[JVMCBC-1664](https://couchbasecloud.atlassian.net/browse/JVMCBC-1664) ArrayIndexOutOfBoundsException when request takes more than 1 hour + +[JVMCBC-1671](https://couchbasecloud.atlassian.net/browse/JVMCBC-1671) Transactions metrics not reporting all required attributes + +### Task + +[JVMCBC-1639](https://couchbasecloud.atlassian.net/browse/JVMCBC-1639) Migrate to mono-versioning + +[JVMCBC-1659](https://couchbasecloud.atlassian.net/browse/JVMCBC-1659) GHA: Automate publishing API reference documentation + +[JVMCBC-1668](https://couchbasecloud.atlassian.net/browse/JVMCBC-1668) Remove Project Reactor links from API reference documentation + +### Improvement + +[JVMCBC-1607](https://couchbasecloud.atlassian.net/browse/JVMCBC-1607) Improve how trusted certificates are logged + +[JVMCBC-1612](https://couchbasecloud.atlassian.net/browse/JVMCBC-1612) Use IdleStateHandler to detect dead or half-open KV connections + +[JVMCBC-1634](https://couchbasecloud.atlassian.net/browse/JVMCBC-1634) Flatten published POMs + +[JVMCBC-1648](https://couchbasecloud.atlassian.net/browse/JVMCBC-1648) Upgrade Jackson from 2.17.3 to 2.19.2 + +[JVMCBC-1651](https://couchbasecloud.atlassian.net/browse/JVMCBC-1651) Support accessDeleted reads for subdoc replica reads + +[JVMCBC-1652](https://couchbasecloud.atlassian.net/browse/JVMCBC-1652) Read library version from a new \`version.properties\` resource instead of JAR manifest + +[JVMCBC-1657](https://couchbasecloud.atlassian.net/browse/JVMCBC-1657) Improve backpressure implementation for row-based HTTP services + +[JVMCBC-1658](https://couchbasecloud.atlassian.net/browse/JVMCBC-1658) Better filtering of suppressed exception stack traces + +[JVMCBC-1661](https://couchbasecloud.atlassian.net/browse/JVMCBC-1661) Upgrade Gson from 2.11.0 to 2.13.1 + +[JVMCBC-1665](https://couchbasecloud.atlassian.net/browse/JVMCBC-1665) Let internal Couchbase products bypass cluster type check + + +### New Feature +[JVMCBC-1637](https://couchbasecloud.atlassian.net/browse/JVMCBC-1637) Publish a BOM == Java SDK 3.8 Releases From 1251324c48017f6a9e41d6054d5a081c8a1f0452 Mon Sep 17 00:00:00 2001 From: mikereiche Date: Fri, 8 Aug 2025 17:08:05 -0700 Subject: [PATCH 2/3] Fix StartUsingCapella --- .../examples/java/StartUsingCapella.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/devguide/examples/java/StartUsingCapella.java b/modules/devguide/examples/java/StartUsingCapella.java index 737d0cb4..27d8bffb 100644 --- a/modules/devguide/examples/java/StartUsingCapella.java +++ b/modules/devguide/examples/java/StartUsingCapella.java @@ -15,19 +15,24 @@ */ // tag::imports[] +import com.couchbase.client.core.env.WanDevelopmentProfile; +import com.couchbase.client.core.error.CouchbaseException; +import com.couchbase.client.java.Bucket; import com.couchbase.client.java.Cluster; import com.couchbase.client.java.ClusterOptions; +import com.couchbase.client.java.Collection; import com.couchbase.client.java.env.ClusterEnvironment; -import com.couchbase.client.java.env.SecurityConfig; import com.couchbase.client.java.json.JsonObject; import com.couchbase.client.java.kv.GetResult; import com.couchbase.client.java.kv.ReplaceOptions; import java.time.Duration; import java.util.UUID; + +import static com.couchbase.client.core.msg.kv.DurabilityLevel.MAJORITY; // end::imports[] -public class Cloud { +public class StartUsingCapella { public static void main(String[] args) { // tag::connect[] // Update this to your cluster @@ -37,11 +42,11 @@ public static void main(String[] args) { String bucketName = "travel-sample"; ClusterEnvironment env = ClusterEnvironment.builder() - .securityConfig(SecurityConfig.enableTls(true)) + .securityConfig(sc -> sc.enableTls(true)) // Sets a pre-configured profile called "wan-development" to help avoid latency issues // when accessing Capella from a different Wide Area Network // or Availability Zone (e.g. your laptop). - .applyProfile(ClusterEnvironment.WanDevelopmentProfile.INSTANCE) + .applyProfile(new WanDevelopmentProfile().name()) .build(); Cluster cluster = Cluster.connect( @@ -51,12 +56,12 @@ public static void main(String[] args) { // end::connect[] // tag::bucket[] - var bucket = cluster.bucket(bucketName); + Bucket bucket = cluster.bucket(bucketName); bucket.waitUntilReady(Duration.ofSeconds(30)); // end::bucket[] // tag::collection[] - var collection = bucket.scope("inventory").collection("airport"); + Collection collection = bucket.scope("inventory").collection("airport"); // end::collection[] // tag::json[] @@ -102,7 +107,7 @@ public static void main(String[] args) { json, ReplaceOptions.replaceOptions() .expiry(Duration.ofSeconds(10)) - .durability(com.couchbase.client.java.kv.Durability.MAJORITY) + .durability(MAJORITY) ); } catch (Exception e) { System.err.println("Error: " + e.getMessage()); @@ -115,7 +120,7 @@ public static void main(String[] args) { docId, json, ReplaceOptions.replaceOptions() - .durability(com.couchbase.client.java.kv.Durability.MAJORITY) + .durability(MAJORITY) ); } catch (Exception e) { System.err.println("Error: " + e.getMessage()); From 4ffa9cbac72658e1ca20d7e586d5a73e4d8b2a38 Mon Sep 17 00:00:00 2001 From: Richard Smedley Date: Mon, 11 Aug 2025 11:40:22 +0100 Subject: [PATCH 3/3] !MarkDown --- .../project-docs/pages/sdk-release-notes.adoc | 80 ++++++++++++------- 1 file changed, 49 insertions(+), 31 deletions(-) diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index c20db676..df92caeb 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -23,7 +23,6 @@ include::{version-common}@sdk:pages:partial$signed.adoc[tag=signed] [#latest-release] - == Java SDK 3.9 Releases We always recommend using the latest version of the SDK -- it contains all of the latest security patches and support for new and upcoming features. @@ -74,66 +73,85 @@ Optional artifacts on top of this SDK version are tested for the following compa # Release notes - Couchbase Java Client - 3.9.0 -### Task +==== New Feature -[JCBC-2189](https://couchbasecloud.atlassian.net/browse/JCBC-2189) Promote App Telemetry config options from Volatile to Committed +https://couchbasecloud.atlassian.net/browse/JCBC-2193[JCBC-2193]: +Support FTS like Pre-Filters while doing Vector Search. -### New Feature +https://couchbasecloud.atlassian.net/browse/JCBC-2198[JCBC-2198]: +Operational SDK prevented from connecting to Enterprise Analytics Cluster. -[JCBC-2193](https://couchbasecloud.atlassian.net/browse/JCBC-2193) SDK: Support FTS like Pre-Filters while doing Vector Search +https://couchbasecloud.atlassian.net/browse/JVMCBC-1637[JVMCBC-1637]: +Publish a BOM. -[JCBC-2198](https://couchbasecloud.atlassian.net/browse/JCBC-2198) Operational SDK prevent connection to Analytics 2.0 Cluster -# Release notes - Java Couchbase JVM Core - 3.9.0 +==== Bug Fixes -### Bug +https://couchbasecloud.atlassian.net/browse/JVMCBC-1644[JVMCBC-1644]: +`Query\_context` namespace should not be surrounded by backticks. -[JVMCBC-1644](https://couchbasecloud.atlassian.net/browse/JVMCBC-1644) Query\_context namespace should not be surrounded by backticks +https://couchbasecloud.atlassian.net/browse/JVMCBC-1656[JVMCBC-1656]: +Java SDK Seed Nodes Don't Always Get Correctly Updated. -[JVMCBC-1656](https://couchbasecloud.atlassian.net/browse/JVMCBC-1656) Java SDK Seed Nodes Don't Always Get Correctly Updated +(https://couchbasecloud.atlassian.net/browse/JVMCBC-1660[JVMCBC-1660]: +Change Network Heuristic for JVM SDKs. -[JVMCBC-1660](https://couchbasecloud.atlassian.net/browse/JVMCBC-1660) Change Network Heuristic for JVM SDKs +https://couchbasecloud.atlassian.net/browse/JVMCBC-1662[JVMCBC-1662]: +Preferred server group not honored in transactions. -[JVMCBC-1662](https://couchbasecloud.atlassian.net/browse/JVMCBC-1662) Preferred server group not honored in transactions +https://couchbasecloud.atlassian.net/browse/JVMCBC-1664[JVMCBC-1664]: +`ArrayIndexOutOfBoundsException` when request takes more than 1 hour. -[JVMCBC-1664](https://couchbasecloud.atlassian.net/browse/JVMCBC-1664) ArrayIndexOutOfBoundsException when request takes more than 1 hour +https://couchbasecloud.atlassian.net/browse/JVMCBC-1671[JVMCBC-1671]: +Transactions metrics not reporting all required attributes. -[JVMCBC-1671](https://couchbasecloud.atlassian.net/browse/JVMCBC-1671) Transactions metrics not reporting all required attributes -### Task +==== Improvements -[JVMCBC-1639](https://couchbasecloud.atlassian.net/browse/JVMCBC-1639) Migrate to mono-versioning +https://couchbasecloud.atlassian.net/browse/JCBC-2189[JCBC-2189]: +Promoted App Telemetry config options from Volatile to Committed. -[JVMCBC-1659](https://couchbasecloud.atlassian.net/browse/JVMCBC-1659) GHA: Automate publishing API reference documentation +https://couchbasecloud.atlassian.net/browse/JVMCBC-1639[JVMCBC-1639]: +Migrated to mono-versioning. -[JVMCBC-1668](https://couchbasecloud.atlassian.net/browse/JVMCBC-1668) Remove Project Reactor links from API reference documentation +https://couchbasecloud.atlassian.net/browse/JVMCBC-1659[JVMCBC-1659]: +GHA: Automate publishing API reference documentation. -### Improvement +https://couchbasecloud.atlassian.net/browse/JVMCBC-1668[JVMCBC-1668]: +Remove Project Reactor links from API reference documentation. -[JVMCBC-1607](https://couchbasecloud.atlassian.net/browse/JVMCBC-1607) Improve how trusted certificates are logged +https://couchbasecloud.atlassian.net/browse/JVMCBC-1607[JVMCBC-1607]: +Improve how trusted certificates are logged -[JVMCBC-1612](https://couchbasecloud.atlassian.net/browse/JVMCBC-1612) Use IdleStateHandler to detect dead or half-open KV connections +https://couchbasecloud.atlassian.net/browse/JVMCBC-1612[JVMCBC-1612]: +Use `IdleStateHandler` to detect dead or half-open KV connections. -[JVMCBC-1634](https://couchbasecloud.atlassian.net/browse/JVMCBC-1634) Flatten published POMs +https://couchbasecloud.atlassian.net/browse/JVMCBC-1634[JVMCBC-1634]: +Flatten published POMs. -[JVMCBC-1648](https://couchbasecloud.atlassian.net/browse/JVMCBC-1648) Upgrade Jackson from 2.17.3 to 2.19.2 +https://couchbasecloud.atlassian.net/browse/JVMCBC-1648[JVMCBC-1648]: +Upgrade Jackson from 2.17.3 to 2.19.2. -[JVMCBC-1651](https://couchbasecloud.atlassian.net/browse/JVMCBC-1651) Support accessDeleted reads for subdoc replica reads +https://couchbasecloud.atlassian.net/browse/JVMCBC-1651[JVMCBC-1651]: +Support accessDeleted reads for subdoc replica reads. -[JVMCBC-1652](https://couchbasecloud.atlassian.net/browse/JVMCBC-1652) Read library version from a new \`version.properties\` resource instead of JAR manifest +https://couchbasecloud.atlassian.net/browse/JVMCBC-1652[JVMCBC-1652]: +Read library version from a new `\`version.properties\`` resource instead of JAR manifest. -[JVMCBC-1657](https://couchbasecloud.atlassian.net/browse/JVMCBC-1657) Improve backpressure implementation for row-based HTTP services +https://couchbasecloud.atlassian.net/browse/JVMCBC-1657[JVMCBC-1657]: +Improve backpressure implementation for row-based HTTP services. -[JVMCBC-1658](https://couchbasecloud.atlassian.net/browse/JVMCBC-1658) Better filtering of suppressed exception stack traces +https://couchbasecloud.atlassian.net/browse/JVMCBC-1658[JVMCBC-1658]: +Better filtering of suppressed exception stack traces. -[JVMCBC-1661](https://couchbasecloud.atlassian.net/browse/JVMCBC-1661) Upgrade Gson from 2.11.0 to 2.13.1 +https://couchbasecloud.atlassian.net/browse/JVMCBC-1661[JVMCBC-1661]: +Upgrade Gson from 2.11.0 to 2.13.1. -[JVMCBC-1665](https://couchbasecloud.atlassian.net/browse/JVMCBC-1665) Let internal Couchbase products bypass cluster type check +https://couchbasecloud.atlassian.net/browse/JVMCBC-1665[JVMCBC-1665]: +Let internal Couchbase products bypass cluster type check. -### New Feature -[JVMCBC-1637](https://couchbasecloud.atlassian.net/browse/JVMCBC-1637) Publish a BOM == Java SDK 3.8 Releases