Releases: aws/aws-advanced-jdbc-wrapper
AWS Advanced JDBC Driver - v2.3.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.3.5] - 2024-03-14
🪄 Added
- Sample code configuring the AWS JDBC Driver with DBCP (PR #930).
🦀 Changed
AWS Advanced JDBC Driver - v2.3.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.3.4] - 2024-03-01
🪄 Added
- Documentation:
- Bundled Uber Jar for Federated Authentication. See UsingTheFederatedAuthPlugin.
- Using the Read Write Splitting Plugin's internal connection pool with Spring applications. See UsingTheReadWriteSplittingPlugin.
- Spring Framework application code examples with load balanced access to database cluster reader instances (PR #852).
- New configuration preset
SF_
optimized for Spring Framework applications (PR #852). - Lightweight alternative for IAM token generator that requires fewer dependencies (PR #867).
🐛 Fixed
- Fixes to session state transfer (PR #852).
- Enhanced Host Monitoring Plugin (EFM) v2 plugin to use
ConcurrentHashMap
instead ofHashMap
to avoidConcurrentModificationException
(Issue #855). - Move lock location and skip executing
Statement.getConnection
when runningStatement.cancel
to fixStatement.cancel
for MySQL (PR #851). - Remove Telemetry trace associated with a Monitor thread because traces for long-running tasks is an anti-pattern (PR #875).
🦀 Changed
- HostSelector implementations to take into account HostAvailability (PR #856).
- Reduced the number of Regular Expression checks with
Matcher.find
to improve performance (PR #854). - HostSpec class to not use a default lastUpdateTime and instead use null (PR 877).
- Moved Reader Selection Strategies out of the
UsingTheReadWriteSplittingPlugin
doc and into its own page. See ReaderSelectionStrategies.
AWS Advanced JDBC Driver - v2.3.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.3.3] - 2024-01-23
🪄 Added
- Documentation:
- Read Write Splitting Plugin Limitations with Spring Boot/Framework.
- AWS Profile configuration parameter. See README, UsingTheJDBCDriver, and AwsCredentialsConfiguration.
- Example code for ReadWriteSplitting Plugin (PR #765).
- Enabling AWS Profile for IAM and AWS Secrets Manager authentication plugins (PR #786).
🐛 Fixed
- SqlMethodAnalyzer to handle empty SQL query and not throw IndexOutOfBoundsException (PR #798).
- Restructure try blocks in dialects for exception handling (PR #799).
- Log message to communicate that an RDS Custom Cluster endpoint can't be used as the 'clusterInstanceHostPattern' configuration setting (PR 801).
- Make a variable volatile in RdsHostListProvider (Issue #486).
- Transfer session state during failover (Issue #812).
- Release all stopped monitors so that they are not reused (PR #831).
- Added update candidates for the MariaDB dialect in order to swap to MySQL dialects in the case of using a MySQL database with the protocol
jdbc:aws-wrapper:mariadb://
, and fixed the RDS MySQL dialect from incorrectly returning false inisDialect
method (Issue #789).
🦀 Changed
- Session state tracking and transfer redesign (PR #821).
- Improve Multi-AZ cluster detection (PR #824).
- Enhanced Host Monitoring Plugin (EFM) v2 plugin is now a default plugin. The original EFM plugin can still be used by specifying
efm
in thewrapperPlugins
parameter (PR #825). - Update China endpoint patterns (PR #832).
AWS Advanced JDBC Driver - v2.3.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.3.2] - 2023-12-18
🪄 Added
- Federated Authentication Plugin, which supports SAML authentication through ADFS (PR #741).
- Experimental Enhanced Host Monitoring Plugin v2, which is a redesign of the original Enhanced Host Monitoring Plugin that addresses memory leaks and high CPU usage during monitoring sessions (PR #764).
- Fastest Response Strategy Plugin, which implements a new autoscaling strategy (PR #755).
- Plugin code for Aurora Initial Connection Strategy Plugin. This plugin returns an instance endpoint when connected using a cluster endpoint (PR #784).
🐛 Fixed
- Use existing entries to update the round-robin cache (PR #739).
🦀 Changed
AWS Advanced JDBC Driver - v2.3.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.3.1] - 2023-11-29
🪄 Added
- User defined session state transfer functions (PR #729).
- Documentation for using the driver with RDS Multi-AZ database clusters (PR #740).
- Configuration profiles and configuration presets (PR #711 and PR #738).
🐛 Fixed
- Stopped monitoring threads causing out of memory errors (PR #718).
- Automatically register a target driver in the class path to prevent
No suitable driver
SQL exceptions (PR #748).
🦀 Changed
AWS Advanced JDBC Driver - v2.3.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.3.0] - 2023-11-15
🪄 Added
- Fast switchover support for Amazon RDS Multi-AZ DB Clusters (PR #690).
- Endpoint override for the AWS Secrets Manager plugin (PR #707).
- Allow users to set up a lambda to initialize new connections (PR #705).
- Introduced
Dialect.prepareConnectProperties
to allow dialect classes to modify connection properties when opening a new connection (PR #704). - Native telemetry support (PR #617).
- Documentation on known limitations with global databases (PR #695).
🐛 Fixed
- Continue monitoring if unhandled Exception is thrown (PR #676).
- Password properties are now masked in logs (PR #701 and PR #723).
- Issue when getting a connection for a closed statement (PR #682).
- Maven coordinates in README (PR #681).
- Update topology for specific methods (PR #683).
🦀 Changed
AWS Advanced JDBC Driver - v2.2.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.2.5] - 2023-10-03
🪄 Added
- Optional preservation of partial session state post failover (PR #632).
- Round Robin host selection strategy (PR #603).
- Sample application failover retry with Spring Boot (PR #638).
🦀 Changed
- Renamed the
messages.properties
file toaws_advanced_jdbc_wrapper_messages.properties
(Issue #633).
AWS Advanced JDBC Driver - v2.2.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.2.4] - 2023-08-29
🪄 Added
- Host Availability Strategy to help keep host health status up to date (PR #530).
- Implement
setLoginTimeout
from a suggested enhancement (Discussion #509).
🐛 Fixed
- Allow connecting with reader cluster endpoints for Aurora PostgreSQL versions 13.9 and greater by changing the
AuroraPgDialect
topology query (Issue #593). - Race condition issues between
MonitorThreadContainer#getInstance()
andMonitorThreadContainer#releaseInstance()
(PR #601).
🦀 Changed
- Dynamically sets the default host list provider based on the dialect used. User applications no longer need to manually set the AuroraHostListProvider when connecting to Aurora Postgres or Aurora MySQL databases.
- Deprecated AuroraHostListConnectionPlugin.
- As an enhancement, the wrapper is now able to automatically set the Aurora host list provider for connections to Aurora MySQL and Aurora PostgreSQL databases.
Aurora Host List Connection Plugin is deprecated. If you were using theAuroraHostListConnectionPlugin
, you can simply remove the plugin from thewrapperPlugins
parameter.
However, if you choose to, you can ensure the provider is used by specifying a topology-aware dialect, for more information, see Database Dialects.
- As an enhancement, the wrapper is now able to automatically set the Aurora host list provider for connections to Aurora MySQL and Aurora PostgreSQL databases.
- Propagate
Connection.clearWarnings()
to underlying connections in the Read Write Splitting Plugin so that the connection object does not accumulate warning messages (Issue #547). - Close underlying connections in the Read Write Splitting Plugin after switching to read-write or read-only depending on whether internal connection pooling is used (PR #583).
- Sort plugins by default to prevent plugin misconfiguration. This can be disabled by setting the property
autoSortWrapperPluginOrder
to false (PR #542). - Documentation:
- Clarified AWS JDBC Driver limitations with Blue/Green deployments. See Known Limitations.
- Updated and reworded main README.md page.
AWS Advanced JDBC Driver - v2.2.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.2.3] - 2023-07-28
🪄 Added
- Developer plugin to help test various scenarios including events like network outages and database cluster failover. This plugin is NOT intended to be used in production environments and is only for testing (PR #531).
- Documentation:
- Developer plugin. See UsingTheJdbcDriver and UsingTheDeveloperPlugin.
- MySQL code samples (PR #532).
- Add a Table of Contents section for the sample codes on README.md. See README.md.
- Sample tutorial and code example for Vert.x. See the tutorial and code example.
- Added Properties section on the README listing all the driver properties and where they are used. See the README.md
AWS Advanced JDBC Driver - v2.2.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.2.2] - 2023-07-05
🪄 Added
- Official support for Amazon Aurora with MySQL compatibility. The AWS JDBC Driver has been validated to support MySQL JDBC Driver and MariaDB JDBC Driver.
- Documentation: