Releases: aws/aws-advanced-jdbc-wrapper
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.
AWS Advanced JDBC Driver - v2.6.1
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.1] - 2025-07-21
Warning
This patch removes the suggested ClusterId functionality.
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 |
🪄 Added
- Add a Blue/Green Support Behaviour and Version Compatibility section to the Blue Green Plugin documentation (PR #1475).
🐛 Fixed
- Incorrectly handling XX000 errors as network-related errors (Issue #1453).
- Several minor issues in the Blue Green Plugin (PR #1441, PR #1479).
🦀 Changed
- Performance optimization (PR #1444).
- Blue/Green Plugin documentation to include default and suggested parameter values.
- Updated Hibernate tests to Hibernate version 7.0.2.
AWS Advanced JDBC Driver - v2.6.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.
[2.6.0] - 2025-06-10
🪄 Added
- Add support of Blue/Green Deployment for Aurora MySQL clusters, Aurora PostgreSQL clusters, RDS MySQL Instances, and RDS PostgreSQL Instances. See Using The Blue/Green Deployment Plugin.
- Allow driver to recognize lower case parameters (PR #1361).
- Set names for all internal threads (PR #1410).
🐛 Fixed
- Fix connection leaks in Limitless Plugin:
- Fix wrong calls in wrapper class (PR #1413).
- Fix host info type (PR #1423).
- Include optional trailing dot in DNS regex patterns (Issue #1381).
- Clean up connections in a separate thread (Issue #1390).