diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5abe3d2adf2..cd12ee1eb3d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,25 @@
# Changelog
+## [6.96.0](https://github.com/googleapis/java-spanner/compare/v6.95.1...v6.96.0) (2025-06-27)
+
+
+### Features
+
+* Allow JDBC to configure directpath for connection ([#3929](https://github.com/googleapis/java-spanner/issues/3929)) ([d754f1f](https://github.com/googleapis/java-spanner/commit/d754f1f99294d86ec881583f217fa09f291a3d7a))
+* Support getOrNull and getOrDefault in Struct ([#3914](https://github.com/googleapis/java-spanner/issues/3914)) ([1dc5a3e](https://github.com/googleapis/java-spanner/commit/1dc5a3ec0ca9ea530e8691df5c2734c0a1ece559))
+* Use multiplexed sessions for read-only transactions ([#3917](https://github.com/googleapis/java-spanner/issues/3917)) ([37fdc27](https://github.com/googleapis/java-spanner/commit/37fdc27aab4e71ac141c2a2c979f864e97395a97))
+
+
+### Bug Fixes
+
+* Allow zero durations to be set for connections ([#3916](https://github.com/googleapis/java-spanner/issues/3916)) ([43ea4fa](https://github.com/googleapis/java-spanner/commit/43ea4fa68eac00801beb8e58c1eb09e9f32e5ce5))
+
+
+### Documentation
+
+* Add snippet for Repeatable Read configuration at client and transaction ([#3908](https://github.com/googleapis/java-spanner/issues/3908)) ([ff3d212](https://github.com/googleapis/java-spanner/commit/ff3d212c98276c4084f44619916d0444c9652803))
+* Update SpannerSample.java to align with best practices ([#3625](https://github.com/googleapis/java-spanner/issues/3625)) ([7bfc62d](https://github.com/googleapis/java-spanner/commit/7bfc62d3d9e57242e0dfddea090208f8c65f0f8e))
+
## [6.95.1](https://github.com/googleapis/java-spanner/compare/v6.95.0...v6.95.1) (2025-06-06)
diff --git a/README.md b/README.md
index 3087f0df703..d3072b66884 100644
--- a/README.md
+++ b/README.md
@@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-spanner'
If you are using Gradle without BOM, add this to your dependencies:
```Groovy
-implementation 'com.google.cloud:google-cloud-spanner:6.95.1'
+implementation 'com.google.cloud:google-cloud-spanner:6.96.0'
```
If you are using SBT, add this to your dependencies:
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.95.1"
+libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.96.0"
```
## Authentication
@@ -731,7 +731,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-spanner/java11.html
[stability-image]: https://img.shields.io/badge/stability-stable-green
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-spanner.svg
-[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.95.1
+[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.96.0
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index 6cefe336b80..afacf46db4a 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -24,7 +24,7 @@
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/google-cloud-spanner-bom/pom.xml b/google-cloud-spanner-bom/pom.xml
index 2cce6b40241..da925c10189 100644
--- a/google-cloud-spanner-bom/pom.xml
+++ b/google-cloud-spanner-bom/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-spanner-bom
- 6.95.2-SNAPSHOT
+ 6.96.0
pom
com.google.cloud
@@ -53,43 +53,43 @@
com.google.cloud
google-cloud-spanner
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.cloud
google-cloud-spanner
test-jar
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-instance-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-database-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
proto-google-cloud-spanner-admin-database-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/google-cloud-spanner-executor/pom.xml b/google-cloud-spanner-executor/pom.xml
index 34f0b8dc2e1..2b5520887c9 100644
--- a/google-cloud-spanner-executor/pom.xml
+++ b/google-cloud-spanner-executor/pom.xml
@@ -5,14 +5,14 @@
4.0.0
com.google.cloud
google-cloud-spanner-executor
- 6.95.2-SNAPSHOT
+ 6.96.0
jar
Google Cloud Spanner Executor
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/google-cloud-spanner/pom.xml b/google-cloud-spanner/pom.xml
index 172d2e045fb..598af22a010 100644
--- a/google-cloud-spanner/pom.xml
+++ b/google-cloud-spanner/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.google.cloud
google-cloud-spanner
- 6.95.2-SNAPSHOT
+ 6.96.0
jar
Google Cloud Spanner
https://github.com/googleapis/java-spanner
@@ -11,7 +11,7 @@
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
google-cloud-spanner
diff --git a/grpc-google-cloud-spanner-admin-database-v1/pom.xml b/grpc-google-cloud-spanner-admin-database-v1/pom.xml
index 8976cb2657f..4bda5a7d90e 100644
--- a/grpc-google-cloud-spanner-admin-database-v1/pom.xml
+++ b/grpc-google-cloud-spanner-admin-database-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-database-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
grpc-google-cloud-spanner-admin-database-v1
GRPC library for grpc-google-cloud-spanner-admin-database-v1
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
index d17cc2a71e9..aafc0fc88e6 100644
--- a/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
+++ b/grpc-google-cloud-spanner-admin-instance-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-instance-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
grpc-google-cloud-spanner-admin-instance-v1
GRPC library for grpc-google-cloud-spanner-admin-instance-v1
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/grpc-google-cloud-spanner-executor-v1/pom.xml b/grpc-google-cloud-spanner-executor-v1/pom.xml
index 9df46ece301..888c6da5749 100644
--- a/grpc-google-cloud-spanner-executor-v1/pom.xml
+++ b/grpc-google-cloud-spanner-executor-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-executor-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
grpc-google-cloud-spanner-executor-v1
GRPC library for google-cloud-spanner
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/grpc-google-cloud-spanner-v1/pom.xml b/grpc-google-cloud-spanner-v1/pom.xml
index abf35aad3f1..0b67799f416 100644
--- a/grpc-google-cloud-spanner-v1/pom.xml
+++ b/grpc-google-cloud-spanner-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-spanner-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
grpc-google-cloud-spanner-v1
GRPC library for grpc-google-cloud-spanner-v1
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/pom.xml b/pom.xml
index 965082cb312..b16b7994007 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-spanner-parent
pom
- 6.95.2-SNAPSHOT
+ 6.96.0
Google Cloud Spanner Parent
https://github.com/googleapis/java-spanner
@@ -61,47 +61,47 @@
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
proto-google-cloud-spanner-executor-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-executor-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
proto-google-cloud-spanner-admin-database-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-instance-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.api.grpc
grpc-google-cloud-spanner-admin-database-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
com.google.cloud
google-cloud-spanner
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/proto-google-cloud-spanner-admin-database-v1/pom.xml b/proto-google-cloud-spanner-admin-database-v1/pom.xml
index 4666ec36a95..3ab3f7d41bc 100644
--- a/proto-google-cloud-spanner-admin-database-v1/pom.xml
+++ b/proto-google-cloud-spanner-admin-database-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-admin-database-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
proto-google-cloud-spanner-admin-database-v1
PROTO library for proto-google-cloud-spanner-admin-database-v1
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/proto-google-cloud-spanner-admin-instance-v1/pom.xml b/proto-google-cloud-spanner-admin-instance-v1/pom.xml
index e704f3b6380..c6b014344b3 100644
--- a/proto-google-cloud-spanner-admin-instance-v1/pom.xml
+++ b/proto-google-cloud-spanner-admin-instance-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-admin-instance-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
proto-google-cloud-spanner-admin-instance-v1
PROTO library for proto-google-cloud-spanner-admin-instance-v1
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/proto-google-cloud-spanner-executor-v1/pom.xml b/proto-google-cloud-spanner-executor-v1/pom.xml
index 1902f648052..22b14061e87 100644
--- a/proto-google-cloud-spanner-executor-v1/pom.xml
+++ b/proto-google-cloud-spanner-executor-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-executor-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
proto-google-cloud-spanner-executor-v1
Proto library for google-cloud-spanner
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/proto-google-cloud-spanner-v1/pom.xml b/proto-google-cloud-spanner-v1/pom.xml
index 488ad0d891f..b7fa4f17723 100644
--- a/proto-google-cloud-spanner-v1/pom.xml
+++ b/proto-google-cloud-spanner-v1/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-spanner-v1
- 6.95.2-SNAPSHOT
+ 6.96.0
proto-google-cloud-spanner-v1
PROTO library for proto-google-cloud-spanner-v1
com.google.cloud
google-cloud-spanner-parent
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index b1f270d5355..02ca5e99bff 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -32,7 +32,7 @@
com.google.cloud
google-cloud-spanner
- 6.95.2-SNAPSHOT
+ 6.96.0
diff --git a/versions.txt b/versions.txt
index 00aeafc5317..9f97d4eab10 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,13 +1,13 @@
# Format:
# module:released-version:current-version
-proto-google-cloud-spanner-admin-instance-v1:6.95.1:6.95.2-SNAPSHOT
-proto-google-cloud-spanner-v1:6.95.1:6.95.2-SNAPSHOT
-proto-google-cloud-spanner-admin-database-v1:6.95.1:6.95.2-SNAPSHOT
-grpc-google-cloud-spanner-v1:6.95.1:6.95.2-SNAPSHOT
-grpc-google-cloud-spanner-admin-instance-v1:6.95.1:6.95.2-SNAPSHOT
-grpc-google-cloud-spanner-admin-database-v1:6.95.1:6.95.2-SNAPSHOT
-google-cloud-spanner:6.95.1:6.95.2-SNAPSHOT
-google-cloud-spanner-executor:6.95.1:6.95.2-SNAPSHOT
-proto-google-cloud-spanner-executor-v1:6.95.1:6.95.2-SNAPSHOT
-grpc-google-cloud-spanner-executor-v1:6.95.1:6.95.2-SNAPSHOT
+proto-google-cloud-spanner-admin-instance-v1:6.96.0:6.96.0
+proto-google-cloud-spanner-v1:6.96.0:6.96.0
+proto-google-cloud-spanner-admin-database-v1:6.96.0:6.96.0
+grpc-google-cloud-spanner-v1:6.96.0:6.96.0
+grpc-google-cloud-spanner-admin-instance-v1:6.96.0:6.96.0
+grpc-google-cloud-spanner-admin-database-v1:6.96.0:6.96.0
+google-cloud-spanner:6.96.0:6.96.0
+google-cloud-spanner-executor:6.96.0:6.96.0
+proto-google-cloud-spanner-executor-v1:6.96.0:6.96.0
+grpc-google-cloud-spanner-executor-v1:6.96.0:6.96.0