# \[RELEASE\] ScyllaDB Java Driver 4.19.2.0

**URL:** <https://forum.scylladb.com/t/release-scylladb-java-driver-4-19-2-0/5424>\
**Category:** Release Notes\
**Tags:** release, drivers, java-driver\
**Created:** [June 25, 2026, 6:42pm UTC](https://forum.scylladb.com/t/release-scylladb-java-driver-4-19-2-0/5424 "2026-06-25T18:42:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nikagra](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.scylladb.com/nikagra/32/1923_2.png) [@nikagra](https://forum.scylladb.com/u/nikagra)\
**Post date:** [June 25, 2026, 6:42pm UTC](https://forum.scylladb.com/t/release-scylladb-java-driver-4-19-2-0/5424/1 "2026-06-25T18:42:07Z")

</div>

We are happy to announce the release of the **ScyllaDB Java Driver 4.19.2.0**! 🎉

* * *

### 📦 Download

The driver is available on Maven Central. Add the following dependency to your `pom.xml`:

```xml
<dependency>
    <groupId>com.scylladb</groupId>
    <artifactId>java-driver-core</artifactId>
    <version>4.19.2.0</version>
</dependency>

```

* * *

### 🚨 Breaking Changes

- **Java 11 is now the minimum required runtime** — Support for Java 8 has been dropped. Users still on Java 8 must upgrade their JDK before adopting this release. ([#900](https://github.com/scylladb/java-driver/pull/900))

* * *

### 🔧 Bug Fixes

- **Fix prepare cache eviction under GC pressure** — In high-throughput applications (23K+ ops/s) experiencing frequent young GC, up to 62% of `session.prepare()` calls could be cache misses, triggering a full PREPARE broadcast to all nodes and causing LWT write timeouts (CUSTOMER-372). The root cause was a defensive copy in `CqlPrepareAsyncProcessor` that prevented the caller from holding a strong reference to the cached `CompletableFuture`, allowing the weak-value cache entry to be GC’d prematurely. ([#892](https://github.com/scylladb/java-driver/pull/892))

- **Fix prepared statement cache invalidation on UDT changes** — Prepared statements that reference a user-defined type could remain in the cache after `ALTER TYPE`, because the invalidation check compared UDT metadata with full field equality rather than by keyspace/type name. Stale cached statements are now correctly evicted. ([#904](https://github.com/scylladb/java-driver/pull/904))

- **Fix NPE and channel leak in ChannelPool during reconnection** — Two related issues with uninitialized channel pools: (1) a `NullPointerException` thrown by Dropwizard Metrics reporters (JMX, Graphite, Prometheus bridge, etc.) when scraping per-node gauges during the reconnection window — fixed by guarding metric methods with the existing `initialized` flag; (2) a channel leak where a reconnect completing after `closeAsync()` could leave an open channel and incorrectly emit `channelOpened` after shutdown (CUSTOMER-413). ([#928](https://github.com/scylladb/java-driver/pull/928))

- **Fix: validate non-numeric subnet prefixes** — Invalid subnet prefix strings passed to address translation configuration now produce a clear error at startup instead of being silently accepted.

* * *

### ✨ New Features (Upstream 4.19.2)

This release synchronizes with upstream [apache/cassandra-java-driver 4.19.2](https://github.com/apache/cassandra-java-driver), the first upstream merge since 4.19.0. Key user-facing additions:

- **Custom request ID injection** (`CASSJAVA-97`) — You can now provide a custom `RequestIdGenerator` to inject a per-request identifier into the request’s custom payload, enabling end-to-end request tracing through the server.

- **`SubnetAddressTranslator`** — A new built-in address translator for IP-range-based address rewriting, useful in private network / NAT deployments where client-visible addresses differ from cluster-internal ones.

- **Lock-free `ConcurrencyLimitingRequestThrottler`** — The concurrency-limiting throttler has been rewritten without locking, reducing contention on high-concurrency workloads.

- **Configurable SAN validation** (`CASSJAVA-80`) — A new configuration option lets you disable DNS reverse-lookups during TLS SAN validation, useful for environments where reverse DNS is unavailable or unreliable.

- **Fix: `RequestIdGenerator` + Retry/Speculative Execution** (`CASSJAVA-116`) — Resolved a “Duplicate Key” error thrown when a request with a custom ID was retried or speculatively executed.

([#895](https://github.com/scylladb/java-driver/pull/895))

* * *

### 🔒 Security

- **Bump Netty to 4.1.135.Final** — Remediates three CVEs affecting prior Netty versions:

* * *

### 🔗 Resources

- 🐙 [GitHub Release](https://github.com/scylladb/java-driver/releases/tag/4.19.2.0)
- 📝 [Full Changelog (4.19.0.9 → 4.19.2.0)](https://github.com/scylladb/java-driver/compare/4.19.0.9...4.19.2.0)
- 📚 [Documentation](https://java-driver.docs.scylladb.com/)

* * *

As always, feedback and questions are welcome — feel free to reply to this thread!
