Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[4.4.0] - 2026-08-20
🪄 Added
- Added the
autoSimpleReadWriteSplitting,gdbAutoReadWriteSplitting,gdbSimpleReadWriteSplitting, andgdbAutoSimpleReadWriteSplittingplugins, extended query-level load balancing (queryLevelLoadBalancing,loadBalancingIncludeWriter) to every read/write splitting plugin, and added statement recreation on connection switch (allowStatementRecreationOnConnectionSwitch), which re-creates a reused statement on the connection a query is routed to (PR #2016, documentation). - Added XA distributed transaction support through the new
AwsWrapperXADataSource, which lets an application enlist wrapper connections in JTA-managed distributed transactions with PostgreSQL, MySQL, and MariaDB (PR #2045, documentation). - Added the
assumeWriteTransactionparameter to the SQL-routing read/write splitting plugins, which routes a transaction that was not declared read-only to the writer, including its leading reads (PR #2094, documentation). - Added opt-in connect retry to the AWS Secrets Manager plugins (
secretsManagerConnectRetryTimeoutMs,secretsManagerConnectRetryIntervalMs), which re-fetches credentials and retries with capped exponential backoff so new connections survive a secret rotation window (PR #2097, documentation). - Added the
allowAwsLoginSessionparameter, which resolves AWS credentials from anawsProfilethat authenticates through alogin_sessionentry using the region resolved for the connection (PR #2050, documentation). - Added the
bgReleaseOnBlueDnsUpdateparameter, which releases held traffic as soon as all blue endpoints resolve to new IP addresses instead of waiting for the deployment to report a post-switchover status (PR #2101, documentation).
🐛 Fixed
- Fixed monitoring connections inheriting node-selection properties such as
targetServerType, and stopped treating an unreadableNOT_CREATEDBlue/Green status as a rollback, which together could hold traffic for the full timeout during a switchover (PR #2101, documentation). - Fixed statements, result sets, and metadata objects reporting a stale connection, which caused a false "The internal connection has changed" error for driver-bound JDBC objects such as a
ResultSetobtained fromArray#getResultSet(PR #2077, documentation). - Fixed a connection being pinned to a reader when autocommit is off but no transaction has started, so the first write of an implicit transaction reaches the writer (PR #2086, documentation).
- Fixed transaction detection missing
BEGIN/COMMIThidden behind--and#line comments, which could leave a transaction stranded on another connection (PR #2056, documentation). - Fixed
connectTimeout,socketTimeout, andtcpKeepAlivenot reaching the target driver'sXADataSource, which disabled failure detection and failover on XA connections (PR #2058, documentation). - Fixed failover aborting with a raw runtime exception when an internal HikariCP pool failed to initialize; the failure is now reported as a
SQLExceptionand retried (PR #2051, documentation). - Fixed
wrapperLoggerLevelbeing applied after the driver's first log record and being a silent no-op inAwsWrapperDataSourceandAwsWrapperXADataSource(PR #2071, documentation). - Fixed a
password=query parameter in a user-supplied connection URL leaking intoFINEandFINESTlog records (PR #2080, documentation). - Fixed negative timeout and expiration values such as
loginTimeout,iamExpiration, andfailoverTimeoutMsbeing accepted silently; they now fail fast with a clear error (PR #2081, documentation). - Fixed EFM v1 and EFM v2 monitoring threads silently dying on a transient exception, which leaked memory and disabled failure detection (PR #2069, documentation).
- Fixed a
NoSuchMethodErrorduring IAM token generation when an older AWS SDKauthmodule is on the classpath (PR #2082, documentation). - Fixed IAM tokens being signed for the wrong region after a region change, such as a cross-region failover (PR #2078, documentation).
- Fixed host selection throwing an unsupported-strategy error for custom endpoints that use the
anysubstitution strategy (PR #2102, documentation).
🦀 Changed
- Reworked the read/write splitting plugins onto a single unified implementation. The existing
readWriteSplitting,autoReadWriteSplitting,srw, andgdbReadWriteSplittingplugin codes and their behavior are unchanged (PR #2016, documentation). - Schema-qualified the driver's internal SQL, including the Global Database queries, so functions, operators,
LIKE, and casts resolve independently of the sessionsearch_path(PR #2052, PR #2076, documentation). - Reading a cached XML value now works on classpaths that provide a standalone Xerces, where it previously failed. DTDs remain disallowed (PR #2095, documentation).
- Continued the Checker Framework
NullnessCheckeradoption and enforced it in CI (PR #2055). - Dependency updates, including MySQL Connector/J 26.7.0, MariaDB Connector/J 3.5.10, Jackson Databind 3.2.2, Atomikos 6.0.1, JBoss Logging 3.6.3.Final, jsoup 1.23.1, Vert.x 4.5.32, and various GitHub Actions bumps (PR #2053, PR #2054, PR #2062, PR #2063, PR #2064, PR #2066, PR #2067, PR #2090, PR #2092, PR #2093, PR #2100).
- CI and test improvements: sharded integration tests across parallel jobs and clusters, repaired and extended the JMH benchmarks, retried RDS/EC2 throttling in the test harness, fixed IntelliJ warnings and javadoc reference errors, and tightened Blue/Green test assertions (PR #2049, PR #2059, PR #2060, PR #2074, PR #2075, PR #2079, PR #2088, PR #2089, PR #2098).
- Documentation:
- documented the telemetry metrics emitted by each plugin and corrected the central metrics list (PR #2070, documentation)
- improved the search-ability of the Aurora custom endpoint plugin and distinguished Aurora custom endpoints from user custom domains (PR #2072, documentation)
- clarified the Jackson 3.x runtime dependency for the Secrets Manager and Okta plugins (PR #2084, documentation)
- noted that
allowAwsLoginSessionis unnecessary on AWS SDK 2.51.1 and later (PR #2085, documentation) - improved the configuration assistant skill and fixed a Blue/Green force-connect comment (PR #2044, PR #2046, documentation).