Skip to content

Commit 981cd97

Browse files
Merge pull request #457 from mikereiche/release/3.9
Release 3.9.0
2 parents ad9a88e + 4ffa9cb commit 981cd97

2 files changed

Lines changed: 115 additions & 10 deletions

File tree

modules/devguide/examples/java/StartUsingCapella.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,24 @@
1515
*/
1616

1717
// tag::imports[]
18+
import com.couchbase.client.core.env.WanDevelopmentProfile;
19+
import com.couchbase.client.core.error.CouchbaseException;
20+
import com.couchbase.client.java.Bucket;
1821
import com.couchbase.client.java.Cluster;
1922
import com.couchbase.client.java.ClusterOptions;
23+
import com.couchbase.client.java.Collection;
2024
import com.couchbase.client.java.env.ClusterEnvironment;
21-
import com.couchbase.client.java.env.SecurityConfig;
2225
import com.couchbase.client.java.json.JsonObject;
2326
import com.couchbase.client.java.kv.GetResult;
2427
import com.couchbase.client.java.kv.ReplaceOptions;
2528

2629
import java.time.Duration;
2730
import java.util.UUID;
31+
32+
import static com.couchbase.client.core.msg.kv.DurabilityLevel.MAJORITY;
2833
// end::imports[]
2934

30-
public class Cloud {
35+
public class StartUsingCapella {
3136
public static void main(String[] args) {
3237
// tag::connect[]
3338
// Update this to your cluster
@@ -37,11 +42,11 @@ public static void main(String[] args) {
3742
String bucketName = "travel-sample";
3843

3944
ClusterEnvironment env = ClusterEnvironment.builder()
40-
.securityConfig(SecurityConfig.enableTls(true))
45+
.securityConfig(sc -> sc.enableTls(true))
4146
// Sets a pre-configured profile called "wan-development" to help avoid latency issues
4247
// when accessing Capella from a different Wide Area Network
4348
// or Availability Zone (e.g. your laptop).
44-
.applyProfile(ClusterEnvironment.WanDevelopmentProfile.INSTANCE)
49+
.applyProfile(new WanDevelopmentProfile().name())
4550
.build();
4651

4752
Cluster cluster = Cluster.connect(
@@ -51,12 +56,12 @@ public static void main(String[] args) {
5156
// end::connect[]
5257

5358
// tag::bucket[]
54-
var bucket = cluster.bucket(bucketName);
59+
Bucket bucket = cluster.bucket(bucketName);
5560
bucket.waitUntilReady(Duration.ofSeconds(30));
5661
// end::bucket[]
5762

5863
// tag::collection[]
59-
var collection = bucket.scope("inventory").collection("airport");
64+
Collection collection = bucket.scope("inventory").collection("airport");
6065
// end::collection[]
6166

6267
// tag::json[]
@@ -102,7 +107,7 @@ public static void main(String[] args) {
102107
json,
103108
ReplaceOptions.replaceOptions()
104109
.expiry(Duration.ofSeconds(10))
105-
.durability(com.couchbase.client.java.kv.Durability.MAJORITY)
110+
.durability(MAJORITY)
106111
);
107112
} catch (Exception e) {
108113
System.err.println("Error: " + e.getMessage());
@@ -115,7 +120,7 @@ public static void main(String[] args) {
115120
docId,
116121
json,
117122
ReplaceOptions.replaceOptions()
118-
.durability(com.couchbase.client.java.kv.Durability.MAJORITY)
123+
.durability(MAJORITY)
119124
);
120125
} catch (Exception e) {
121126
System.err.println("Error: " + e.getMessage());

modules/project-docs/pages/sdk-release-notes.adoc

Lines changed: 102 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ include::{version-common}@sdk:pages:partial$signed.adoc[tag=signed]
2323

2424

2525
[#latest-release]
26-
2726
== Java SDK 3.9 Releases
2827

2928
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.
@@ -46,10 +45,111 @@ echo metrics-micrometer ; grep '<version>' $src/metrics-micrometer/pom.xml | hea
4645
////
4746

4847

49-
=== Version 3.9.0 (?? August 2025)
48+
=== Version 3.9.0 (5 August 2025)
5049

5150
This is the first release of the 3.9 series.
5251

52+
https://packages.couchbase.com/clients/java/3.9.0/Couchbase-Java-Client-3.9.0.zip[Download] |
53+
https://docs.couchbase.com/sdk-api/couchbase-java-client-3.9.0/index.html[API Reference] |
54+
http://docs.couchbase.com/sdk-api/couchbase-core-io-3.9.0/[Core API Reference]
55+
56+
The supported and tested dependencies for this release are:
57+
58+
* io.projectreactor:**reactor-core:3.6.9**
59+
* org.reactivestreams:**reactive-streams:1.0.4**
60+
61+
Optional artifacts on top of this SDK version are tested for the following compatibilities:
62+
63+
.Optional Artifact Version Compatibility
64+
[options="header"]
65+
|=======================
66+
| Artifact | Couchbase Version | Built Against | API Stability
67+
| `tracing-opentelemetry` | 3.9.0 | OpenTelemetry 1.31.0 | Committed
68+
| `tracing-opentracing` | 3.9.0 | OpenTracing 0.33.0 | Committed
69+
| `metrics-opentelemetry` | 3.9.0 | OpenTelemetry 1.31.0 | Volatile
70+
| `metrics-micrometer` | 3.9.0 | Micrometer 1.12.9 | Volatile
71+
|=======================
72+
73+
74+
# Release notes - Couchbase Java Client - 3.9.0
75+
76+
==== New Feature
77+
78+
https://couchbasecloud.atlassian.net/browse/JCBC-2193[JCBC-2193]:
79+
Support FTS like Pre-Filters while doing Vector Search.
80+
81+
https://couchbasecloud.atlassian.net/browse/JCBC-2198[JCBC-2198]:
82+
Operational SDK prevented from connecting to Enterprise Analytics Cluster.
83+
84+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1637[JVMCBC-1637]:
85+
Publish a BOM.
86+
87+
88+
==== Bug Fixes
89+
90+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1644[JVMCBC-1644]:
91+
`Query\_context` namespace should not be surrounded by backticks.
92+
93+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1656[JVMCBC-1656]:
94+
Java SDK Seed Nodes Don't Always Get Correctly Updated.
95+
96+
(https://couchbasecloud.atlassian.net/browse/JVMCBC-1660[JVMCBC-1660]:
97+
Change Network Heuristic for JVM SDKs.
98+
99+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1662[JVMCBC-1662]:
100+
Preferred server group not honored in transactions.
101+
102+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1664[JVMCBC-1664]:
103+
`ArrayIndexOutOfBoundsException` when request takes more than 1 hour.
104+
105+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1671[JVMCBC-1671]:
106+
Transactions metrics not reporting all required attributes.
107+
108+
109+
==== Improvements
110+
111+
https://couchbasecloud.atlassian.net/browse/JCBC-2189[JCBC-2189]:
112+
Promoted App Telemetry config options from Volatile to Committed.
113+
114+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1639[JVMCBC-1639]:
115+
Migrated to mono-versioning.
116+
117+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1659[JVMCBC-1659]:
118+
GHA: Automate publishing API reference documentation.
119+
120+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1668[JVMCBC-1668]:
121+
Remove Project Reactor links from API reference documentation.
122+
123+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1607[JVMCBC-1607]:
124+
Improve how trusted certificates are logged
125+
126+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1612[JVMCBC-1612]:
127+
Use `IdleStateHandler` to detect dead or half-open KV connections.
128+
129+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1634[JVMCBC-1634]:
130+
Flatten published POMs.
131+
132+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1648[JVMCBC-1648]:
133+
Upgrade Jackson from 2.17.3 to 2.19.2.
134+
135+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1651[JVMCBC-1651]:
136+
Support accessDeleted reads for subdoc replica reads.
137+
138+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1652[JVMCBC-1652]:
139+
Read library version from a new `\`version.properties\`` resource instead of JAR manifest.
140+
141+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1657[JVMCBC-1657]:
142+
Improve backpressure implementation for row-based HTTP services.
143+
144+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1658[JVMCBC-1658]:
145+
Better filtering of suppressed exception stack traces.
146+
147+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1661[JVMCBC-1661]:
148+
Upgrade Gson from 2.11.0 to 2.13.1.
149+
150+
https://couchbasecloud.atlassian.net/browse/JVMCBC-1665[JVMCBC-1665]:
151+
Let internal Couchbase products bypass cluster type check.
152+
53153

54154

55155

0 commit comments

Comments
 (0)