diff --git a/modules/hello-world/pages/start-using-sdk.adoc b/modules/hello-world/pages/start-using-sdk.adoc index 2520d1fc..60f8a561 100644 --- a/modules/hello-world/pages/start-using-sdk.adoc +++ b/modules/hello-world/pages/start-using-sdk.adoc @@ -62,7 +62,7 @@ We recommend running the latest Java LTS version (i.e. at the time of writing JD // Other supported Java versions will work, too. Couchbase publishes all stable artifacts to https://central.sonatype.com/namespace/com.couchbase.client[Maven Central]. -The latest version (as of December 2023) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.5.1/jar[3.5.1]. +The latest version (as of January 2024) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.6.0/jar[3.6.0]. You can use your favorite dependency management tool to install the SDK. @@ -77,7 +77,7 @@ Maven:: com.couchbase.client java-client - 3.5.1 + 3.6.0 ---- @@ -88,7 +88,7 @@ Gradle:: -- [source,groovy] ---- -implementation 'com.couchbase.client:java-client:3.5.1' +implementation 'com.couchbase.client:java-client:3.6.0' ---- -- ==== diff --git a/modules/project-docs/pages/sdk-full-installation.adoc b/modules/project-docs/pages/sdk-full-installation.adoc index dbdf750f..75b30ccd 100644 --- a/modules/project-docs/pages/sdk-full-installation.adoc +++ b/modules/project-docs/pages/sdk-full-installation.adoc @@ -32,7 +32,7 @@ see the xref:project-docs:compatibility.adoc#jdk-compat[Compatibility] section f We recommend running the latest Java LTS version (i.e. at the time of writing JDK 21) with the highest patch version available. Couchbase publishes all stable artifacts to https://central.sonatype.com/namespace/com.couchbase.client[Maven Central]. -The latest version (as of December 2023) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.5.1/jar[3.5.1]. +The latest version (as of March 2024) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.6.0/jar[3.6.0]. You can use your favorite dependency management tool to install the SDK. @@ -49,7 +49,7 @@ For https://maven.apache.org[Maven], you can insert the following into the depen com.couchbase.client java-client - 3.5.1 + 3.6.0 ---- Refer to the https://maven.apache.org/guides/introduction/introduction-to-the-pom.html/[Maven Documentation] for more information regarding the structure of the `pom.xml` file. @@ -61,7 +61,7 @@ For https://gradle.org/[Gradle], you can use: [source,groovy] ---- -implementation 'com.couchbase.client:java-client:3.5.1' +implementation 'com.couchbase.client:java-client:3.6.0' ---- -- ==== diff --git a/modules/project-docs/pages/sdk-release-notes.adoc b/modules/project-docs/pages/sdk-release-notes.adoc index 1361a2b0..d54718be 100644 --- a/modules/project-docs/pages/sdk-release-notes.adoc +++ b/modules/project-docs/pages/sdk-release-notes.adoc @@ -22,6 +22,81 @@ See the xref:project-docs:sdk-full-installation.adoc[Full Installation] guide fo [#latest-release] +== Java SDK 3.6 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. +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. + +//// +# get version numbers like this +src=../couchbase-jvm-clients +grep '' $src/pom.xml +grep ' ' $src/pom.xml +echo tracing-opentelemetry ; grep '' $src/tracing-opentelemetry/pom.xml | head -2 | tail -1 ; grep '' $src/pom.xml +echo tracing-opentracing ; grep '' $src/tracing-opentracing/pom.xml | head -2 | tail -1 ; grep '' $src/tracing-opentracing/pom.xml +echo metrics-open-telemetry ; grep '' $src/tracing-opentracing/pom.xml | head -2 | tail -1 ; grep '' $src/pom.xml +echo metrics-micrometergrep '' $src/metrics-micrometer/pom.xml | head -2 | tail -1 ; grep '' $src/metrics-micrometer/pom.xml +//// + + +=== Version 3.6.0 (11 March 2024) + +Version 3.6.0 is the first release of the 3.6 series. + +https://packages.couchbase.com/clients/java/3.6.0/Couchbase-Java-Client-3.6.0.zip[Download] | +https://docs.couchbase.com/sdk-api/couchbase-java-client-3.6.0/index.html[API Reference] | +http://docs.couchbase.com/sdk-api/couchbase-core-io-2.6.0/[Core API Reference] + +The supported and tested dependencies for this release are: +* io.projectreactor:**reactor-core:3.6.3** +* 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` | 1.4.0 | OpenTelemetry 1.31.0 | Committed +| `tracing-opentracing` | 1.4.0 | OpenTracing 0.33.0 | Committed +| `metrics-opentelemetry` | 0.6.1 | OpenTelemetry 1.31.0 | Volatile +| `metrics-micrometer` | 0.6.1 | Micrometer 1.10.9 | Volatile +|======================= + +==== Improvements + +* https://issues.couchbase.com/browse/JCBC-2116[JCBC-2116] +Added support for vector search, a new feature in Couchbase Server 7.6. +This API is currently at `@Stability.Uncommitted` level. +* https://issues.couchbase.com/browse/JCBC-2131[JCBC-2131] +`Scope.searchIndexes()` is now part of the committed public API. +* https://issues.couchbase.com/browse/JVMCBC-1487[JVMCBC-1487] +Upgraded reactor-core from 3.5.8 to 3.6.3. +* https://issues.couchbase.com/browse/JVMCBC-1488[JVMCBC-1488] +Upgraded Jackson from 2.16.0 to 2.16.1. +* https://issues.couchbase.com/browse/JVMCBC-1489[JVMCBC-1489] +Upgraded Netty from 4.1.101 to 4.1.107. +* https://issues.couchbase.com/browse/JVMCBC-xxxx[JVMCBC-1491] +`Collection.scan()` methods are not part of the SDK's committed API. +These methods do range-scans of documentIds. +This feature requires Couchbase Server 7.6 or later. +* https://issues.couchbase.com/browse/JVMCBC-xxxx[JVMCBC-1493] +`Collection.lookupInAnyReplica()` and `Collection.lookupInAllReplicas()` are now part of the SDK’s committed API. +These methods do sub-document lookups against replicas. +This feature requires Couchbase Server 7.6 or later. + +==== Bugfixes + +* https://issues.couchbase.com/browse/JCBC-2125[JCBC-2125] +Fixed an issue with `ScopeSearchIndexManager`, `disallowQuerying`, and `freezePlan` methods, which were not waiting for the server result before returning in the blocking API. +* https://issues.couchbase.com/browse/JVMCBC-1480[JVMCBC-1480] +`couchbase2:` should use exponential backoff when bypassing `BestEffortRetryStrategy`. +* https://issues.couchbase.com/browse/JVMCBC-1494[JVMCBC-1494] +If you specify `min=1` for a Full-Text Search disjunction query, the SDK now always sends the value to the server. +Previously, the SDK assumed `1` was the default value, and omitted the parameter in that case. + + == Java SDK 3.5 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. @@ -29,6 +104,94 @@ All patch releases for each dot minor release should be API compatible, and safe any changes to expected behavior are noted in the release notes that follow. +=== Version 3.5.3 (6 February 2024) + +This is a regular maintenance release. + +https://packages.couchbase.com/clients/java/3.5.3/Couchbase-Java-Client-3.5.3.zip[Download] | +https://docs.couchbase.com/sdk-api/couchbase-java-client-3.5.3/index.html[API Reference] | +http://docs.couchbase.com/sdk-api/couchbase-core-io-2.5.3/[Core API Reference] + +The supported and tested dependencies for this release are: + +* io.projectreactor:**reactor-core:3.5.8** +* 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` | 1.3.3 | OpenTelemetry 1.31.0 | Committed +| `tracing-opentracing` | 1.3.3 | OpenTracing 0.33.0 | Committed +| `metrics-opentelemetry` | 0.5.3 | OpenTelemetry 1.31.0 | Volatile +| `metrics-micrometer` | 0.5.3 | Micrometer 1.10.9 | Volatile +|======================= + + +==== Improvements + +* https://issues.couchbase.com/browse/JVMCBC-1460[JVMCBC-1460] +`couchbase2` now supports compressing data between the SDK and the server. +* https://issues.couchbase.com/browse/JVMCBC-1464[JVMCBC-1464] +The `metrics-opentelemetry` package is now aligned with the same `OpenTelemetry` version as `tracing-opentelemetry`. +* https://issues.couchbase.com/browse/JVMCBC-1468[JVMCBC-1468] +`Cluster.connect` now validates that connection strings using the `couchbase2` scheme have exactly one host. +(Previously, hosts after the first were silently ignored.). +* https://issues.couchbase.com/browse/JVMCBC-1470[JVMCBC-1470] +Improved support for Full Text Search in `couchbase2` mode. +* https://issues.couchbase.com/browse/JVMCBC-1472[JVMCBC-1472] +`couchbase2` errors will now include diagnostic information when CNG is running with the `--debug` flag. +* https://issues.couchbase.com/browse/JCBC-2117[JCBC-2117] +Support added for `maxTTL` value of -1 for collection "no expiry". + +==== Bugfixes + +* https://issues.couchbase.com/browse/JVMCBC-1475[JVMCBC-1475] +Accessing the terms of a `TermFacet` result no longer throws `NullPointerException` if the target field is absent from all documents. + + +=== Version 3.5.2 (5 January 2024) + +This is a regular maintenance release. + +https://packages.couchbase.com/clients/java/3.5.2/Couchbase-Java-Client-3.5.2.zip[Download] | +https://docs.couchbase.com/sdk-api/couchbase-java-client-3.5.2/index.html[API Reference] | +http://docs.couchbase.com/sdk-api/couchbase-core-io-2.5.2/[Core API Reference] + +The supported and tested dependencies for this release are: + +* io.projectreactor:**reactor-core:3.5.8** +* 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` | 1.3.2 | OpenTelemetry 1.31.0 | Committed +| `tracing-opentracing` | 1.3.2 | OpenTracing 0.33.0 | Committed +| `metrics-opentelemetry` | 0.5.2 | OpenTelemetry 1.31.0 | Volatile +| `metrics-micrometer` | 0.5.2 | Micrometer 1.10.9 | Volatile +|======================= + + +==== Improvements + +* https://issues.couchbase.com/browse/JCBC-2113[JCBC-2113]: +Added a `QueryMetadata.signatureBytes()` method for accessing query signatures that are not JSON Objects. + +==== Bugfixes + +* https://issues.couchbase.com/browse/JVMCBC-1455[JVMCBC-1455]: +Fixed compatibility with `couchbase2://` endpoints by upgrading internal GRPC dependency. +All `couchbase2://` users should upgrade to this release. +* https://issues.couchbase.com/browse/JVMCBC-1463[JVMCBC-1463]: +Fixed compatibility between `couchbase2://` endpoints and the `tracing-opentelemetry` module. + + === Version 3.5.1 (8 December 2023) This is a regular maintenance release. @@ -51,7 +214,7 @@ Optional artifacts on top of this SDK version are tested for the following compa | `tracing-opentelemetry` | 1.3.1 | OpenTelemetry 1.31.0 | Committed | `tracing-opentracing` | 1.3.1 | OpenTracing 0.33.0 | Committed | `metrics-opentelemetry` | 0.5.1 | OpenTelemetry 1.31.0 | Volatile -| `metrics-micrometer` | 0.5.1 | Micrometer 1.10.0 | Volatile +| `metrics-micrometer` | 0.5.1 | Micrometer 1.10.9 | Volatile |======================= ==== Improvements @@ -103,7 +266,7 @@ Optional artifacts on top of this SDK version are tested for the following compa | `tracing-opentelemetry` | 1.3.0 | OpenTelemetry 1.31.0 | Committed | `tracing-opentracing` | 1.3.0 | OpenTracing 0.33.0 | Committed | `metrics-opentelemetry` | 0.5.0 | OpenTelemetry 1.31.0 | Volatile -| `metrics-micrometer` | 0.5.0 | Micrometer 1.10.0 | Volatile +| `metrics-micrometer` | 0.5.0 | Micrometer 1.10.9 | Volatile |======================= ==== API Impacting @@ -165,7 +328,7 @@ Optional artifacts on top of this SDK version are tested for the following compa | `tracing-opentelemetry` | 1.2.11 | OpenTelemetry 1.19.0 | Committed | `tracing-opentracing` | 1.2.11 | OpenTracing 0.33.0 | Committed | `metrics-opentelemetry` | 0.4.11 | OpenTelemetry 1.19.0 | Volatile -| `metrics-micrometer` | 0.4.11 | Micrometer 1.10.0 | Volatile +| `metrics-micrometer` | 0.4.11 | Micrometer 1.10.9 | Volatile |======================= ==== Improvements @@ -201,7 +364,7 @@ Optional artifacts on top of this SDK version are tested for the following compa | `tracing-opentelemetry` | 1.2.10 | OpenTelemetry 1.19.0 | Committed | `tracing-opentracing` | 1.2.10 | OpenTracing 0.33.0 | Committed | `metrics-opentelemetry` | 0.4.10 | OpenTelemetry 1.19.0 | Volatile -| `metrics-micrometer` | 0.4.10 | Micrometer 1.10.0 | Volatile +| `metrics-micrometer` | 0.4.10 | Micrometer 1.10.9 | Volatile |======================= ==== Improvements