Releases: aws/aws-advanced-jdbc-wrapper
AWS Advanced JDBC Wrapper - v3.2.0
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.
[3.2.0] - 2026-02-04
🪄 Added
- Added the Global Database Failover Plugin (
gdbFailover), introducing home-region awareness and configurable failover logic for in-home and out-of-home scenarios. See the documentation for more information (PR #1676). - Added the Global Database Read/Write Splitting Plugin (
gdbReadWriteSplitting), introducing home-region awareness for read/write splitting connections. See the documentation for more information. (PR #1690). - Documentation:
- Added documentation for the critical
clusterIdparameter. Refer to the documentation for more information (PR #1681 and PR #1692).
- Added documentation for the critical
🐛 Fixed
- Custom cluster of type
readerwith excluded members incorrectly allowed writer host connections (PR #1680). - Memory spiking when creating statements in Blue/Green monitor (PR #1683).
- IAM-related plugins unable to parse the correct region from global cluster endpoints (PR #1679).
- Correctly set Host ID in
createHostinTopologyUtils(PR #1696). - Handle SdkClientException and avoid a high rate of AWS SDK calls in
customEndpointplugin (PR #1702). - Consider topology verified if topology from all readers remains consistent (PR #1697).
🦀 Changed
- Refactor read/write splitting plugins (PR #1682).
- Documentation:
- Update documentation on how to properly register a custom plugin (PR #1685).
AWS Advanced JDBC Wrapper - v3.1.0
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.
[3.1.0] - 2026-01-20
🐛 Fixed
- Fix custom endpoint plugin incorrectly failing over to excluded members (Issue #1662).
- Keep reader failover connection open if failover succeeded (PR #1674).
- Fix connection failure error message with the initial connection plugin (PR #1675).
- Limit refresh rate backoff in Custom Endpoint Plugin, and speedup after successful calls (PR #1650).
🦀 Changed
- Use try-with-resources ResourceLock to lock (PR #1659).
- Improve connection garbage collecting by using LazyCleaner (Java 11+ and Java 8) (PR #1661).
- Improve connection management in RW Splitting Plugin (PR #1673).
- Documentation:
- Clarify driver support for Global Databases and update maven search (PR #1653).
- Fix gradle snapshot example (PR #1651).
- Various improvements (PR #1654).
- Improve
srwplugin documentation when using non-RDS clusters (PR #1657). - Remove incorrect
cluster-prefix from global instance endpoints in examples (PR #1664 and PR #1672).
🪄 Added
- Add ability to configure internal connection pool with configuration parameters (PR #1658).
- Add connection parameters to configure client-sided secrets expiration time and allow custom Secret Value parsing in Secrets Manager Plugin (PR #1663 and PR #1671).
- Configurable instance substitution and role verification in AuroraInitialConnectionStrategyPlugin (
initialConnectionplugin) (PR #1655). - Documentation:
AWS Advanced JDBC Wrapper - v3.0.0
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.
[3.0.0] - 2025-12-18
🦀 Breaking Changes
Warning
3.0 removes the suggested ClusterId functionality (PR #1570).
Suggested ClusterId Functionality
Prior to this change, the wrapper would generate a unique cluster ID based on the connection string and the cluster topology; however, in some cases (such as custom endpoints, IP addresses, and CNAME aliases, etc), the wrapper would generate an incorrect identifier. This change was needed to prevent applications with several clusters from accidentally relying on incorrect topology during failover which could result in the wrapper failing to complete failover successfully.
Migration
| Number of Database Clusters in Use | Requires Changes | Action Items |
|---|---|---|
| Single database cluster | No | No changes required |
| Multiple database clusters | Yes | Review all connection strings and add mandatory clusterId parameter (PR #1476). See documentation for clusterId parameter configuration |
Warning
3.0 removes deprecated code (PR #1572 and PR #1637).
Deprecated Code Removal
Some methods marked as deprecated in version 2.x.x are now removed in 3.0.
If you implemented any custom classes such as custom Connection Plugins, please review the changes in PR #1572 for proper replacements.
Warning
3.0 removes deprecated configuration parameters (PR #1577).
Deprecated Configuration Parameters Removal
Deprecated configuration parameters keepSessionStateOnFailover and enableFailoverStrictReader are now removed in 3.0. If you used these two parameters along with the Failover Connection Plugin, please review the changes from PR #1577 for the proper replacements.
Warning
3.0 removes the ConnectionPluginFactory#getInstance(PluginService, Properties) method (PR #1633).
ConnectionPluginFactory#getInstance(PluginService, Properties) Removal
The ConnectionPluginFactory#getInstance(PluginService, Properties) method has now been removed.
The ConnectionPluginFactory#getInstance(FullServicesContainer, Properties) method should be used instead.
The code below shows a short example of how to migrate from the removed method to the replacement method for users
that have created their own ConnectionPluginFactory classes.
Migration
public class FooPluginFactory implements ConnectionPluginFactory {
ConnectionPlugin getInstance(FullServicesContainer servicesContainer, Properties props) {
return new FooPlugin(servicesContainer.getPluginService(), props);
}
}🐛 Fixed
- Incorrect nodeId in HostSpec for RDS Multi-AZ cluster (PR #1579).
- Avoid duplicates in manifest file (PR #1607).
- Add expiration time for cached reader connections and refactor Blue/Green plugin (PR #1626).
- During Blue/Green switchover IAM host name should be based on green host (PR #1642).
- Restart Blue/Green monitors when B/G switchover is completed. That closes unnecessary monitoring connections to old blue and green clusters. It also prepares for further Blue/Green switchover (PR #1639).
🦀 Changed
- Improve Javadoc (PR #1576).
- Remove mutable keys from HostSpec#hashCode and document immutability requirements (PR #1565).
- Deprecate
enableGreenNodeReplacementparameter (PR #1578), use the Blue/Green Connection Plugin instead. - Deprecate
auroraStaleDnsplugin (PR #1590), use the Aurora Initial Connection Strategy Plugin instead. - Add Aurora Initial Connection Strategy Plugin(
initialConnection) plugin to default plugin list (PR #1592). - Remove unused
StorageServicemethod (PR #1597). - Remove deprecated
ConnectionServiceclasses (PR #1598). - Logging improvement for RW Splitting plugin (PR #1604).
- Refactor dialects and host list providers to reduce code duplication (PR #1588).
- Use monitoring host list providers by default (PR #1636).
- Cache
efm2monitor key for better performance (PR #1644).
🪄 Added
- Global Databases and Global Database endpoint support. Both in-region and cross-region failovers are supported now (PR #1573, PR #1575, PR #1645).
- Recognize RDS Proxy custom endpoints (PR #1583).
- Public
PluginServiceinterface extended with a new method helping to identify a source of connection. Knowing whether a connection is brand new or obtained from a pool helps to improve connection management. Custom plugins implemented by user can now use this new method (PR #1581). - Allow overriding the IAM token property name (PR #1603).
- Simple Read/Write Splitting Plugin (
srw). This plugin adds functionality to switch between endpoints via calls to theConnection#setReadOnlymethod. It does not rely on cluster topology. It relies purely on the provided endpoints and their DNS resolution (PR #1586). - Automatically trigger writer failover when connections are incorrectly established as read-only connections (PR #1609).
- Documentation:
- Required permissions for non-admin users accessing MultiAZ clusters (PR #1602).
- Add link for simplifying MySQL permission configuration process (PR #1631).
- Improved Compatibility Guide (PR #1638).
- Example code improvements (PR #1623).
AWS Advanced JDBC Wrapper - v2.6.8
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.
[2.6.8] - 2025-12-04
🐛 Fixed
- Wait timeout for custom endpoint info (PR #1616)
- Use custom endpoint as cluster ID to prevent accumulating of connections if using a custom endpoint in a connection string (PR #1619)
🦀 Changed
AWS Advanced JDBC Wrapper - v2.6.7
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.
[2.6.7] - 2025-11-25
🐛 Fixed
- Handle nested auth exceptions in MySQLExceptionHandler (PR #1601) and in other handlers (PR #1605).
- Outdated topology during Blue/Green switchover leads to wrong connection failover (PR #1599).
- Ensure Blue/Green monitor instances are set up properly (PR #1612).
🦀 Changed
AWS Advanced JDBC Driver - v2.6.6
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.
[2.6.6] - 2025-11-05
🪄 Added
- Added support for
eu,au, andukdomains andrds-fipssubdomains (PR #1585)
🦀 Changed
- Scoped down GitHub Token permissions (PR #1571)
- Improved integration testing by cleaning up the test environment before each run(PR #1562)
- Documentation:
- Added compatibility guide documentation which covers database type compatibility, database URL type compatibility, and cross plugins compatibility (PR #1567)
- Removed IAM Multi-AZ DB Cluster limitation from documentation (PR #1569)
- Update integration testing guide with clean-up step (PR #1584)
AWS Advanced JDBC Driver - v2.6.5
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.
[2.6.5] - 2025-10-16
🪄 Added
- Weighted random host selector strategy (PR #1537).
🐛 Fixed
- Problem where monitor plugin chains were created unnecessarily, leading to performance degradation (PR #1530).
- Limitless rounding bug for host weights (PR #1537).
- Issue with Blue/Green metadata retrieval for PG databases after switchover is completed (PR #1552).
- Issue where host monitors would occasionally call isValid() without a timeout (PR #1546).
- Verify connection is not a stale writer in the cluster topology monitor (PR #1322).
- Issue where the closedExplicitly flag in the Failover2 plugin was not updated correctly (PR #1560).
🦀 Changed
- Refactor failover handler tasks to use separate PluginService instances (PR #1514).
- Replace ConnectionService with ServiceUtility (PR #1534).
- Decouple initialization objects and clean up initialization logic (PR #1541).
- Refactor PG SQL queries to be fully qualified (PR #1561).
- Documentation:
- Required permissions for non-admin to the Blue/Green docs (PR #1559).
- Remove important service dependency in the Blue/Green docs (PR #1544).
- Supported service versions required for Blue/Green support (PR #1548).
- Remove outdated information regarding Blue/Green support (PR #1549).
- Correct property for the Secrets Manager plugin (PR #1556).
- ClusterId requirement when using non-standard RDS URLs(PR #1553 and PR #1558).
- RDS Proxy compatibility (PR #1535).
AWS Advanced JDBC Driver - v2.6.4
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.
[2.6.4] - 2025-08-28
🐛 Fixed
- Handle unauthorized exceptions while getting custom endpoint details (PR #1521).
- Fix invalid POM file and optional dependencies (PR #1524).
- Use HostSpec#getUrl() to check for matching hosts instead of HostSpec#equals() (PR #1523).
🦀 Changed
- Update AWS SDK to 2.33.5 to address CVE-2025-58056 vulnerability (PR #1528).
AWS Advanced JDBC Driver - v2.6.3
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.
[2.6.3] - 2025-08-28
🪄 Added
- Add support for pgvector (PR #1494).
🐛 Fixed
- Fix a bug where the incorrect variable was being used in the RuntimeException when an invalid metrics backend is configured (PR #1516).
🦀 Changed
- Update Blue/Green Plugin documentation to specify wrapper versions in the known limitation section and clarify compatibility within the current service landscape (PR #1490), (PR #1512).
- Adapt EFM2, Limitless, and Fastest Response plugins to use StorageService, MonitorService, and ConnectionService (PR #1495).
- Revise README intro to focus on the universal benefits of using the wrapper library (PR #1508).
- Removed pom dependencies (PR #1517).
AWS Advanced JDBC Driver - v2.6.2
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.
[2.6.2] - 2025-07-31
🦀 Changed
- Reverted the breaking change to suggested
clusterIdfunctionality (PR #1476), which madeclusterIda required parameter in applications using multiple database clusters. This change will be reintroduced later as a major version update.