Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates #408

Merged
merged 11 commits into from
Mar 13, 2024
2 changes: 1 addition & 1 deletion antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ asciidoc:
sdk_current_version: '3.6.0'
sdk_dot_minor: 3.6
sdk_dot_major: 3.x
version-server: '7.2'
version-server: '7.6'
version-common: '7.5'
name_platform: 'Java'
name-sdk: Java SDK
Expand Down
6 changes: 3 additions & 3 deletions modules/hello-world/pages/start-using-sdk.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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 January 2024) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.5.2/jar[3.5.2].
The latest version (as of January 2024) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.5.3/jar[3.5.3].

You can use your favorite dependency management tool to install the SDK.

Expand All @@ -77,7 +77,7 @@ Maven::
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
<version>3.5.2</version>
<version>3.5.3</version>
</dependency>
</dependencies>
----
Expand All @@ -88,7 +88,7 @@ Gradle::
--
[source,groovy]
----
implementation 'com.couchbase.client:java-client:3.5.2'
implementation 'com.couchbase.client:java-client:3.5.3'
----
--
====
Expand Down
18 changes: 18 additions & 0 deletions modules/howtos/pages/transcoders-nonjson.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,24 @@ If Jackson is on the application's classpath, the SDK will instead automatically
It does this during `ClusterEnvironment` creation: if no serializer has been specified, and if Jackson is detected on the classpath, then a `JacksonJsonSerializer` is used as the global default serializer instead of `DefaultJsonSerializer`.
This will create and use a Jackson `ObjectMapper` from the standard `com.fasterxml.jackson.databind` package.

// TODO add this to Transcoding.java file

.Using a custom JsonMapper
[source,java]
----
JsonMapper customMapper = JsonMapper.builder()
// add modules or customize other settings
.build();

Cluster cluster = Cluster.connect(
connectionString,
ClusterOptions.clusterOptions(username, password)
.environment(env -> env
.jsonSerializer(JacksonJsonSerializer.create(customMapper))
)
);
----

== RawJsonTranscoder
The RawJsonTranscoder provides the ability for the application to explicitly specify that the data they are storing or retrieving is JSON.
This transcoder does not accept a serializer, and always performs straight pass through of the data to the server.
Expand Down
6 changes: 3 additions & 3 deletions modules/project-docs/pages/sdk-full-installation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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 January 2024) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.5.2/jar[3.5.2].
The latest version (as of January 2024) is https://central.sonatype.com/artifact/com.couchbase.client/java-client/3.5.3/jar[3.5.3].

You can use your favorite dependency management tool to install the SDK.

Expand All @@ -49,7 +49,7 @@ For https://maven.apache.org[Maven], you can insert the following into the depen
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
<version>3.5.2</version>
<version>3.5.3</version>
</dependency>
----
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.
Expand All @@ -61,7 +61,7 @@ For https://gradle.org/[Gradle], you can use:

[source,groovy]
----
implementation 'com.couchbase.client:java-client:3.5.2'
implementation 'com.couchbase.client:java-client:3.5.3'
----
--
====
Expand Down
65 changes: 56 additions & 9 deletions modules/project-docs/pages/sdk-release-notes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,13 @@
:page-topic-type: project-doc
:page-toclevels: 2
:page-partial:
:page-aliases: relnotes-java-sdk,ROOT:sdk-release-notes,ROOT:relnotes-java-sdk,ROOT:release-notes,ROOT:download-links
// ,server:sdks:java-2.2/download-links
:page-aliases: relnotes-java-sdk,ROOT:sdk-release-notes,ROOT:relnotes-java-sdk,ROOT:release-notes,ROOT:download-links,server:sdks:java-2.2/download-links

[abstract]
{description}

These pages cover the 3._x_ versions of the Couchbase Java SDK.
For release notes, download links, and installation methods for 2.7 and earlier releases of the Couchbase Java Client, which will not work with Distributed Transactions, please see the https://docs-archive.couchbase.com/java-sdk/2.7/sdk-release-notes.html[2.x Java Release Notes & Download Archive].
For release notes, download links, and installation methods for 2.7 and earlier releases of the Couchbase Java Client, please see the https://docs-archive.couchbase.com/java-sdk/2.7/sdk-release-notes.html[2.x Java Release Notes & Download Archive].

=== Installation

Expand All @@ -29,6 +28,54 @@ 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.
Expand All @@ -51,7 +98,7 @@ Optional artifacts on top of this SDK version are tested for the following compa
| `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.1 | Micrometer 1.10.0 | Volatile
| `metrics-micrometer` | 0.5.2 | Micrometer 1.10.9 | Volatile
|=======================


Expand All @@ -64,7 +111,7 @@ Added a `QueryMetadata.signatureBytes()` method for accessing query signatures t

* https://issues.couchbase.com/browse/JVMCBC-1455[JVMCBC-1455]:
Fixed compatibility with `couchbase2://` endpoints by upgrading internal GRPC dependency.
All couchbase2 protocol users should upgrade to this release.
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.

Expand All @@ -91,7 +138,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
Expand Down Expand Up @@ -143,7 +190,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
Expand Down Expand Up @@ -205,7 +252,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
Expand Down Expand Up @@ -241,7 +288,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
Expand Down
Loading