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

Release/3.6 #409

Merged
merged 14 commits into from
Mar 13, 2024
12 changes: 7 additions & 5 deletions antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@ nav:
- modules/ROOT/nav.adoc
asciidoc:
attributes:
server_version: '7.2'
page-nav-header-levels: 1
server_version: '7.6'
sdk_current_version: '3.6.0'
sdk_dot_minor: 3.6
sdk_dot_major: 3.x
sdk_dot_minor: '3.6'
sdk_dot_major: '3.x'
version-server: '7.6'
version-common: '7.5'
name_platform: 'Java'
name-sdk: Java SDK
sdk_api: '3.5'
sdk-api-link: https://docs.couchbase.com/sdk-api/couchbase-java-client
sdk-gh-link: https://github.com/couchbase/couchbase-jvm-clients
sdk-api-link: https://docs.couchbase.com/sdk-api/couchbase-java-client/
sdk-gh-link: https://github.com/couchbase/couchbase-jvm-clients/

3 changes: 2 additions & 1 deletion modules/concept-docs/pages/documents.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
:description: Couchbase supports CRUD operations, various data structures, and binary documents.
:nav-title: Documents & Doc Ops
:page-topic-type: concept
:page-aliases: ROOT:documents.adoc,ROOT:documents-basics.adoc,ROOT:documents-atomic.adoc,ROOT:core-operations.adoc,7.6@server:developer-guide:expiry.adoc,7.6@server:developer-guide:creating-documents.adoc
// :page-aliases: ROOT:documents.adoc,ROOT:documents-basics.adoc,ROOT:documents-atomic.adoc,ROOT:core-operations.adoc,7.6@server:developer-guide:expiry.adoc,7.6@server:developer-guide:creating-documents.adoc


include::project-docs:partial$attributes.adoc[]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= Failure Considerations
:description: Data durability refers to the fault tolerance and persistence of data in the face of software or hardware failure.
:page-topic-type: concept
:page-aliases: ROOT:failure-considerations,ROOT:durability,ROOT:enhanced-durability,7.6@server:developer-guide:durability.adoc
// :page-aliases: ROOT:failure-considerations,ROOT:durability,ROOT:enhanced-durability,7.6@server:developer-guide:durability.adoc

include::project-docs:partial$attributes.adoc[]

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.3/jar[3.5.3].
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.

Expand All @@ -77,7 +77,7 @@ Maven::
<dependency>
<groupId>com.couchbase.client</groupId>
<artifactId>java-client</artifactId>
<version>3.5.3</version>
<version>3.6.0</version>
</dependency>
</dependencies>
----
Expand All @@ -88,7 +88,7 @@ Gradle::
--
[source,groovy]
----
implementation 'com.couchbase.client:java-client:3.5.3'
implementation 'com.couchbase.client:java-client:3.6.0'
----
--
====
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
= Durability in Action
:description: Data durability is handled by Couchbase Server, but the application programmer needs to code for the best way of handling problems for their particular application.
:page-topic-type: howto

[abstract]
{description}
This example case covers timeouts, node failures, and how to deal with both Couchbase Server's Synchronous Replication, and the older Server versions' Enhanced Durability.

_Code sample will be here shortly after the Retry API stabilizes._




2 changes: 1 addition & 1 deletion modules/howtos/pages/full-text-searching-with-sdk.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ The FTS APIs exist at both the `Cluster` and `Scope` levels.

This is because FTS supports, as of Couchbase Server 7.6, a new form of "scoped index" in addition to the traditional "global index".

It's important to use the `Cluster.searchQuery()` / `Cluster.search()` for global indexes, and `Scope.search()` for scoped indexes.
It's important to use the `Cluster.searchQuery()` or `Cluster.search()` for global indexes, and `Scope.search()` for scoped indexes.

== Vector Search
As of Couchbase Server 7.6, the FTS service supports vector search in additional to traditional full text search queries.
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.3/jar[3.5.3].
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.

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.3</version>
<version>3.6.0</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.3'
implementation 'com.couchbase.client:java-client:3.6.0'
----
--
====
Expand Down
75 changes: 75 additions & 0 deletions modules/project-docs/pages/sdk-release-notes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,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 '<reactor.version>' $src/pom.xml
grep ' <reactive-streams.version>' $src/pom.xml
echo tracing-opentelemetry ; grep '<version>' $src/tracing-opentelemetry/pom.xml | head -2 | tail -1 ; grep '<opentelemetry.version>' $src/pom.xml
echo tracing-opentracing ; grep '<version>' $src/tracing-opentracing/pom.xml | head -2 | tail -1 ; grep '<opentracing.version>' $src/tracing-opentracing/pom.xml
echo metrics-open-telemetry ; grep '<version>' $src/tracing-opentracing/pom.xml | head -2 | tail -1 ; grep '<opentelemetry.version>' $src/pom.xml
echo metrics-micrometergrep '<version>' $src/metrics-micrometer/pom.xml | head -2 | tail -1 ; grep '<micrometer.version>' $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.
Expand Down
Loading