Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion antora.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ asciidoc:
server_version: '8.0.0'
sdk_current_version: '3.9.0'
sdk_dot_minor: '3.9'
sdk_dot_major: '1.x'
sdk_dot_major: '3.x'
version-server: '7.6'
version-common: '8.0'
name_platform: 'Scala'
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ sourceSets {
}

dependencies {
implementation group: 'com.couchbase.client', name: 'scala-client_2.12', version: '1.8.3'
implementation group: 'com.couchbase.client', name: 'scala-client_2.12', version: '3.9.0'
implementation group: 'com.couchbase.client', name: 'tracing-opentelemetry', version: '1.6.3'
implementation group: 'com.couchbase.client', name: 'metrics-opentelemetry', version: '0.8.3'
implementation group: 'com.couchbase.client', name: 'metrics-micrometer', version: '0.8.3'
Expand Down
93 changes: 86 additions & 7 deletions modules/project-docs/pages/sdk-release-notes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,10 @@ include::{version-common}@sdk:pages:partial$signed.adoc[tag=signed]
Version 3.9 of the Scala SDK implements the 3.8 xref:compatibility.adoc#api-version[SDK API].
See the xref:compatibility.adoc#couchbase-feature-availability-matrix[compatibility pages] for more information on feature compatibility with different versions of Couchbase Server.

NOTE: From 3.9.0 on, all Couchbase JVM SDKs have an aligned version number to make it easier to users to track changes. So the version has jumped from 1.8.x to 3.9.x.

While this is technically an increase in the major, the Scala 2 versions of the SDK have only one very small breaking change made to the API, to remove a long-deprecated transactions method. All other functionality works unchanged and users can upgrade existing applications without issue.
NOTE: From 3.9.0 on, all Couchbase JVM SDKs have an aligned version number to make it easier to users to track changes.
So the version has jumped from 1.8.x to 3.9.x.
While this is technically an increase in the major, the Scala 2 versions of the SDK have only one very small breaking change made to the API, to remove a long-deprecated transactions method.
All other functionality works unchanged and users can upgrade existing applications without issue.

The major new feature in the 3.9 series is the addition of a new version of the SDK, built for Scala 3.
The Scala 3 version of the SDK has some API differences, documented on xref:project-docs:migrating-to-scala-3.adoc[migrating to Scala 3].
Expand All @@ -54,8 +55,9 @@ grep ' <reactive-streams.version>' $src/pom.xml
////


=== Version 3.9.0 (5 August 2025)

=== Version 3.9.0 (August 2025)
Version 3.9.0 is the first release of the 3.9 series.

https://docs.couchbase.com/sdk-api/couchbase-scala-client-3.9.0/com/couchbase/client/scala/index.html[API Reference] |
http://docs.couchbase.com/sdk-api/couchbase-core-io-3.9.0/[Core API Reference]
Expand All @@ -68,13 +70,90 @@ The supported and tested dependencies for this release are:
* io.projectreactor:**reactor-core:3.6.9**
* org.reactivestreams:**reactive-streams:1.0.4**

==== Improvements

// TODO: for release captain!
====New Features

https://couchbasecloud.atlassian.net/browse/SCBC-378[SCBC-378]:
Support Scala 3.

https://couchbasecloud.atlassian.net/browse/SCBC-476[SCBC-476]:
Implement `ExtGetMulti` (aka Enhanced Read Committed Isolation).

https://couchbasecloud.atlassian.net/browse/SCBC-483[SCBC-483]:
Support FTS like Pre-Filters while doing Vector Search.

https://couchbasecloud.atlassian.net/browse/SCBC-490[SCBC-490]:
Operational SDK is now prevented from connecting to an Enterprise Analytics Cluster.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1637[JVMCBC-1637]:
Publish a BOM.

==== Bug Fixes

// TODO: for release captain!
https://couchbasecloud.atlassian.net/browse/SCBC-491[SCBC-491]:
NPE when accessing unscoped (cluster-level) eventing function manager.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1644[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.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1660[JVMCBC-1660]:
Change Network Heuristic for JVM SDKs.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1662[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.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1671[JVMCBC-1671]:
Transactions metrics not reporting all required attributes.

==== Improvements

https://couchbasecloud.atlassian.net/browse/JVMCBC-1607[JVMCBC-1607]:
Improve how trusted certificates are logged.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1612[JVMCBC-1612]:
Use `IdleStateHandler` to detect dead or half-open KV connections.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1634[JVMCBC-1634]:
Flatten published POMs.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1648[JVMCBC-1648]:
Upgrade Jackson from 2.17.3 to 2.19.2.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1651[JVMCBC-1651]:
Support `accessDeleted` reads for subdoc replica reads.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1652[JVMCBC-1652]:
Read library version from a new `version.properties` resource instead of JAR manifest.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1657[JVMCBC-1657]:
Improve backpressure implementation for row-based HTTP services.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1658[JVMCBC-1658]:
Better filtering of suppressed exception stack traces.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1661[JVMCBC-1661]:
Upgrade `Gson` from 2.11.0 to 2.13.1.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1665[JVMCBC-1665]:
Let internal Couchbase products bypass cluster type check.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1667[JVMCBC-1667]
Make `IgnoreWhen` annotation repeatable.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1639[JVMCBC-1639]:
Migrated to mono-versioning.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1659[JVMCBC-1659]:
Automate publishing API reference documentation.

https://couchbasecloud.atlassian.net/browse/JVMCBC-1668[JVMCBC-1668]:
Remove Project Reactor links from API reference documentation.



Expand Down