Skip to content

Releases: aws/aws-advanced-jdbc-wrapper

AWS Advanced JDBC Wrapper - v3.0.0

19 Dec 22:49

Choose a tag to compare

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

🪄 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 PluginService interface 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 the Connection#setReadOnly method. 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:

AWS Advanced JDBC Wrapper - v2.6.8

05 Dec 01:07

Choose a tag to compare

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

  • Improve exception handling when DB server reaches maximum available connections (PR #1621)
  • Improve connection management to prevent connection leaking in topology monitor (PR #1624)

AWS Advanced JDBC Wrapper - v2.6.7

25 Nov 23:06

Choose a tag to compare

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

  • Documentation:
    • Replace references to AWS JDBC Driver to AWS Advanced JDBC Wrapper for consistency (PR #1595)
    • Update instructions regarding MySQL permissions (PR #1608)

AWS Advanced JDBC Driver - v2.6.6

06 Nov 00:02

Choose a tag to compare

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, and uk domains and rds-fips subdomains (PR #1585)

🦀 Changed

AWS Advanced JDBC Driver - v2.6.5

17 Oct 01:50

Choose a tag to compare

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

11 Sep 21:50

Choose a tag to compare

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

AWS Advanced JDBC Driver - v2.6.3

28 Aug 16:46

Choose a tag to compare

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

🐛 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

31 Jul 21:53
0fb3d35

Choose a tag to compare

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 clusterId functionality (PR #1476), which made clusterId a 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

22 Jul 16:02

Choose a tag to compare

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

10 Jun 21:53

Choose a tag to compare

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

🦀 Changed

  • Javadoc improvement (PR #1368).
  • Set failover2 as default plugin (PR #1414).
  • Improve logging for Limitless Plugin (PR #1431).
  • Clarifies support for blue/green deployments by specifying minimum versions (PR #1434).