Compatibility of Couchbase Features, Couchbase Server Versions, and the Couchbase Java SDK
Features available in different SDK versions, and compatibility between Server and SDK. Plus notes on Cloud, networks, and AWS Lambda.
The 3.0 SDK requires Java 8 or later to be installed, earlier versions will not work. Java 11 is recommended, which has various enhancements like lambda local variable type inference, profiling tools, and updated security features. Most of the flavors available will do, although we may only provide support for OpenJDK and Oracle JDK going forward. The Java SDK has not been tested (and is not supported on) Java 12 or later.
Couchbase Version/SDK Version Matrix
Couchbase SDKs are tested against a variety of different environments to ensure both backward and forward compatibility with different versions of Couchbase Server. The matrix below denotes the version of Couchbase Server, the version of the Java SDK and whether the SDK is:
-
✖ Unsupported: This combination is not tested, and is not within the scope of technical support if you have purchased a support agreement.
-
◎ Compatible: This combination has been tested previously, and should be compatible. This combination is not recommended by our technical support organization. It is best to upgrade either the SDK or the Couchbase version you are using.
-
✔ Supported:This combination is subject to ongoing quality assurance, and is fully supported by our technical support organization.
SDK 2.4, 2.5 | SDK 2.6 | SDK 2.7 | SDK 3.0 | |
---|---|---|---|---|
Server 5.0 |
✔ |
✔ |
✔ |
◎ |
Server 5.5 |
✔ |
✔ |
✔ |
✔ |
Server 6.0 |
◎ |
✔ |
✔ |
✔ |
Server 6.5-6.6 |
✖ |
◎ |
✔ |
✔ |
Server 7.0 |
✖ |
✖ |
◎ |
◎ |
Note the End of Life dates for Couchbase Server and SDK versions. See the notes there for Support details.
JDK Version Compatibility
The Java SDK is tested with Oracle JDK and OpenJDK. Other JDK implementations might work but are not tested and are unsupported. We recommend running the latest LTS version (i.e. at the time of writing JDK 11) with the highest patch version available.
We only support LTS versions of Oracle JDK and OpenJDK. Other versions, such as JDK 12, may work — but they are not tested and they are not supported.
The following JDK releases are supported:
Please make sure you run on one of the latest patch releases, since they provide stability improvements and security fixes in general.
Couchbase Feature Availability Matrix
Server 5.0, 5.1, & 5.5 | Server 6.0 | Server 6.5 & 6.6 | Server 7.0 | |
---|---|---|---|---|
Enhanced Durability |
All SDK versions |
|||
Durable Writes |
Not Supported |
Since 3.0 |
||
Analytics |
DP in 5.5 with 2.6 |
Since 2.7 |
||
Distributed ACID Transactions |
Not Supported |
Since 3.0[1] |
||
N1QL Queries inside the Transaction Lambda |
Not Supported |
Since 3.0.7[2] |
||
Collections |
Not Supported |
Developer Preview in 6.5-6.6, SDK 3.0 |
Since 3.0 |
|
Scope-Level N1QL Queries |
Not Supported |
Since SDK 3.0.8 |
Unresolved include directive in modules/project-docs/pages/compatibility.adoc - include::6.5@sdk:shared:partial$network-requirements.adoc[]
Spring Data Couchbase Compatibility
Spring Data Couchbase uses the Java SDK underneath and as a result is also provides different compatibilities with Couchbase Server. The following table provides an overview.
SDC 3.x | SDC 4.0 & 4.1 | |
---|---|---|
Status > |
SDK 2.x only |
New Features, Active Development |
Server 5.x |
SDK 2.x |
Not Compatible |
Server 6.0 |
SDK 2.x |
Recommended |
Server 6.5 & 6.6 |
SDK 2.x |
Recommended |
Check the Spring Data Couchbase’s compile dependencies — older versions may link an out-of-date version of the Java SDK in their dependencies list, although a supported version should be in the updates .
Please make sure that you are using a supported version of the Couchbase Java SDK, prefereably the latest version, which will contain any available bug fixes.
Using the latest Spring Data Couchbase should ensure that this is so.
|
Reactor Core Version
SpringBoot may set the io.projectreactor version at an earlier virsion than the one needed by the current version of Couchbase JVM Core IO. In case of errors, override with Core IO’s preferred version, e.g.: <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-core</artifactId> <version>3.3.5.RELEASE</version> </dependency> |
Unresolved include directive in modules/project-docs/pages/compatibility.adoc - include::6.5@sdk:shared:partial$interface-stability-pars.adoc[]
Unresolved include directive in modules/project-docs/pages/compatibility.adoc - include::7.1@sdk:shared:partial$archive.adoc[]