Platform compatibility, and features available in different SDK versions, and compatibility between Server and SDK. Plus notes on Cloud, networks, and AWS Lambda.
The {sdk_dot_minor} SDK requires Java 8 or later to be installed. Java {java_latest_lts_version} is recommended.
The {name-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 {java_latest_lts_version}) with the highest patch version available.
The following JDK releases are supported:
-
OpenJDK 25 with HotSpot JVM (recommended)
-
OpenJDK 11 (Hotspot recommended) or Oracle JDK 11
Please make sure you run on one of the latest patch releases, since they provide stability improvements and security fixes in general.
In general, the JVM eliminates concerns about underlying OS compatibility, and Couchbase JVM SDKs can be expected to run on all of the Operating Systems supported by Couchbase Server.
The {name-sdk} will run on, and is supported on, the following OSs and platforms. The SDK has been tested on a representative subset of the platforms listed below.
-
Amazon Linux 2 & AL2023.
-
Red Hat Enterprise Linux 8, 9, & 10.
-
Oracle Linux 8, 9, & 10.
-
Ubuntu (LTS) 22.04 (Jammy) & 24.04 (Noble).
-
Debian 11 (Bullseye), Debian 12 (Bookworm), & Debian 13 (Trixie).
-
SUSE Enterprise Linux 12 & 15.
-
Alpine Linux 3.21 - 3.23.
-
Microsoft Windows 10 & 11;
-
Windows Server 2019, 2022, & 2025.
The current and previous two releases of OS X. At time of writing (February 2026): 26 (Tahoe), 15 (Sequoia), and 14 (Sonoma).
The JVM SDKs should also be expected to run on other commonly-available GNU/Linux distributions which support an appropriate JDK, but not all combinations can be tested — notable exceptions are listed below.
The Netty I/O library used by our JVM SDKs supports native optimizations to achieve higher throughput and lower latency — which the SDK enables by default.
Those modules are compiled against glibc and Alpine Linux uses musl instead — so the {name-sdk} is unable to complete bootstrapping on this platform.
Because Alpine Linux does not have the glibc support needed,
we highly recommend that you seek an alternative distribution where possible.
If that is not a option, then a possible workaround that can be applied is as follows:
-
Disable native IO and native TLS by setting both the
ioEnvironment.enableNativeIoandsecurity.enableNativeTlsclient settings to false, as in this example:Cluster cluster = Cluster.connect( connectionString, ClusterOptions.clusterOptions(username, password) .environment(env -> env .ioEnvironment(it -> it.enableNativeIo(false)) .securityConfig(it -> it.enableNativeTls(false)) ) );
-
Alternatively, disable it in Netty itself via the following system properties:
-Dcom.couchbase.client.core.deps.io.netty.transport.noNative=true -Dcom.couchbase.client.core.deps.io.netty.handler.ssl.noOpenSsl=true
The downside of these workarounds is potentially reduced performance, which can be determined through benchmarking and profiling.
{version-common}@sdk:shared:partial$platform.adoc
{version-common}@sdk:shared:partial$network-requirements.adoc
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 {name-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. evertheless, this combination is not recommended by our technical support organization, as not all of the latest features are supported by it. 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.
| 3.4, 3.5 | 3.6, 3.7 | 3.8 | 3.9-3.11 | |
|---|---|---|---|---|
Server 8.0 ① |
✔ |
✔ |
✔ |
✔ |
Server 7.6 ① |
✔ |
✔ |
✔ |
✔ |
Server 7.2 |
◎ |
◎ |
✔ |
✔ |
① Server 7.6 & 8.0 are compatible with all supported (not yet End-of-Life) versions of the {name-sdk}, but for full support of the latest features you need to upgrade to a recent version of the SDK. See the Feature Availablity matrix below and the Release Notes page.
Note the End of Life dates for Couchbase Server and SDK versions. See the notes there for Support details.
The Couchbase {name-sdk} is fully compatible with Couchbase Capella, our fully-hosted database-as-a-service. To make development easier, the SDK includes the Capella client certificate ready installed.
{version-common}@sdk:shared:partial$capella.adoc
| Server 7.2 | Server 7.6 | Server 8.0 | |
|---|---|---|---|
KV Range Scan |
N/A |
All supported SDK versions |
|
Vector Search |
N/A |
From SDK 3.6.0 (base64 encoded vectors from 3.7.0) |
|
Preferred Server Group Replica Reads |
N/A |
From SDK 3.7.4 (with Server 7.6.2 onwards) |
|
Vector Query using GSI |
N/A |
From SDK 3.9.0 ① |
|
① As part of the standard SDK {sqlpp} API, it should be compatible with all earlier versions of the SDK — but it has not been tested.
This table is not an exhaustive list — just a few highlights — provided to help assess compatibility of older versions in particular. For alignment of SDKs and new Server features, scroll down to the information below the API Version table.
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 at the time of Java SDK {sdk_dot_minor}'s release:
| SDC 5.4 - 5.5 | SDC 6.0 | |
|---|---|---|
Status → |
Maintenance Support |
New Features, Active Development |
Server 7.2 - 8.0 |
Compatible |
Recommended |
|
Note
|
Check the Spring Data Couchbase’s compile dependencies — older versions may link an out-of-date version of the 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.
|
Couchbase Quarkus requires Java SDK 3.7.7 or newer.
See the Couchbase Quarkus Java Extension docs for details of using Quarkus, and the compatibility with Quarkus, GraalVM, and the Couchbase Java SDK.