Releases: aws/aws-advanced-jdbc-wrapper
AWS Advanced JDBC Driver - v2.2.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.2.1] - 2023-6-16
🐛 Fixed
- Move the Spring Wildfly example
gradle.properties
file toexamples/SpringWildflyExample/spring
(Issue #491).
AWS Advanced JDBC Driver - v2.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.
[2.2.0] - 2023-6-14
🪄 Added
- Autoscaling and the least connections strategy (PR #451).
- Target driver dialects (PR #452).
- Elastic Load Balancer URL support (PR #476).
- Documentation:
- Using the Driver with plain RDS Databases. See Using the Driver.
- Internal connection pool behaviour only verifying password on initial connection. See Using the Read Write Splitting Plugin Internal Connection Pooling document and code example.
- Link performance test in table of contents. See Documentation Table of Contents.
- Cluster URLs are not internally pooled. See Using Read Write Splitting Plugin Internal Connection Pooling.
- The
leastConnections
strategy in the Using Read Write Splitting Plugin Internal Connection Pooling at point 3.
- Sample code and tutorial for using the driver with:
🐛 Fixed
- Pruned null connections in connection tracker plugins (PR #461).
- HikariCP integration tests and reworked AwsWrapperDataSource by removing property names, introduced a set of simple properties to set database, server name and server port (PR #468).
- Checkstyle failure due to modified license and driver connection provider passing original properties resulting properties being overridden for subsequent connections (PR #471).
- IamAuthConnectionPlugin to properly prioritize the override property IAM_DEFAULT_PORT then Hosts port, and then Dialect port (Issue #473).
- Values for the
wrapperLoggerLevel
parameter are no longer case-sensitive (#PR #481).
🦀 Changed
AWS Advanced JDBC Driver - v2.1.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.1.2] - 2023-5-21
🦀 Changed
AWS Advanced JDBC Driver - v2.1.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.1.1] - 2023-5-15
🐛 Fixed
- MySQL reference in code that could impact workflows with other drivers (PR #446).
AWS Advanced JDBC Driver - v2.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.
[2.1.0] - 2023-5-11
🪄 Added
- Checks for stale writer records in
AuroraHostListProvider
obtained after writer-failover so that they are not used (PR #435).
🐛 Fixed
- Potential security concern by ensuring that user-specific connections in the connection pool are returned to the correct user (PR #432).
- Connection state transfer bug where switching from read-only connection to writer connection incorrectly triggers the failover process (Issue #426).
- Incorrect invalidation of the newly promoted writer and random readers after failover. EFM plugin to use instance endpoint as the monitoring endpoint in case the initial connection is established using cluster endpoint (PR #431).
- Running Hibernate tests no longer runs unrelated tests (PR #417).
- Reader failover using a shared Properties object resulting in race conditions (PR #436 & PR #438).
- Temporarily setting the socket timeout for the topology query if it is not set, to avoid topology query from executing indefinitely (PR #416).
🦀 Changed
- Removed logic from the failover plugin that changes connection to a writer instance when
setReadOnly(false)
is called on a reader connection (Issue #426). This functionality already exists in the read write splitting plugin. - Removed Multi-writer cluster related code as they are no longer supported (PR #435).
- Clarified documentation on the failover process to account for Aurora PostgreSQL clusters being offline during failover (PR #437).
⚠️ Breaking changes were introduced with the newfailoverMode
configuration parameter (PR #434):- The
failoverMode
parameter replaces theenableFailoverStrictReader
configuration parameter. - If you were previously using
enableFailoverStrictReader=true
, please update it tofailoverMode=strict-reader
. - For more information, please check the (documentation)
- The
AWS Advanced JDBC Driver - v2.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.
[2.0.0] - 2023-04-28
🪄 Added
- Read / Write Splitting (Official Release).
- Internal connection pools for the R/W splitting plugin (PR #359)
- Database dialects (PR #372 addresses Issue #341), which allow users to specify the database type to connect to.
🐛 Fixed
- Fetched the instance endpoint and added it to the host aliases for connections established using custom domains (Issue #386).
🦀 Changed
- Parsed region from ARN (PR #392 addresses Issue #391).
- Updated documentation on:
⚠️ Breaking changes were introduced with the internal connection pool changes (PR #359):- The ConnectionPlugin interface has introduced three new methods: forceConnect, acceptsStrategy, and getHostSpecByStrategy. Although the AbstractConnectionPlugin implements default behavior for these methods, you should consider adding your own implementations if you have implemented a custom ConnectionPlugin. More details on these methods can be found in the ConnectionPlugin Javadocs and the pipelines documentation.
- The HostListProvider interface has introduced a new method: getHostRole. If you have implemented your own HostListProvider, you will need to implement this method. More details on this method can be found in the HostListProvider Javadocs.
AWS Advanced JDBC Driver - v1.0.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.
[1.0.2] - 2023-03-31
🪄 Added
- Default list of plugins added to the parameter
wrapperPlugins
(PR #332). - Read-write splitting plugin example using Spring JDBC template. See Read-Write Splitting Spring JDBC Template Example.
- Read-write splitting plugin benchmark and performance results (PR #340 & PR #316).
- Aurora Connection Tracker plugin tracks all opened connections and closes all impacted connections after a failover (PR #298).
- Driver Metadata plugin allows users to override the driver name (PR #371 addresses Issue #370).
- Documentation for the Driver Metadata plugin and Aurora Connection Tracker plugin. See Using The Driver Metadata Connection Plugin & Using The Aurora Connection Tracker Plugin.
🐛 Fixed
- Unwrapped Savepoint objects when passing them in as parameters (Issue #328).
- Added null checks to
WrapperUtils#getConnectionFromSqlObject()
(Issue #348). - Extra question mark in
clusterInstanceHostPattern
parameters is no longer filtered out when setting the connection string (PR #383).
🦀 Changed
- Lock initialization of
AuroraHostListProvider
(PR #347). - Optimized thread locks and expiring cache for the Enhanced Monitoring Plugin. (PR #365).
- Updated Hibernate sample code to reflect changes in the wrapper source code (PR #368).
- Updated KnownLimitations.md to reflect that Amazon RDS Blue/Green Deployments are not supported. See Amazon RDS Blue/Green Deployments.
AWS Advanced JDBC Driver - v1.0.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.
[1.0.1] - 2023-01-30
🪄 Added
- Read / Write Splitting and Load Balancing (Experimental). Ongoing changes are being implemented to mirror behaviour of the community MySQL JDBC driver. We do not recommend using this in production until an official release.
- The Aurora Stale DNS Plugin to prevent the user application from incorrectly opening a new connection to an old writer node when DNS records have not yet updated after a recent failover event. For more details, see here.
- FailoverSQLException classes for easier error handling. See example here.
- OSGi compatibility (PR #270).
- AwsCredentialsManager to customize credentials providers used in
IamAuthenticationPlugin
andAwsSecretsManagerPlugin
. For more information, see the documentation.
🐛 Fixed
DataSourceConnectionProvider
no longer removes user/password properties on connect (Issue #288 and Issue #305).- Runtime exceptions thrown as reported in issue #284.
- Incorrect log message in
PluginServiceImpl#setAvailability
that says host alias not found instead of empty hosts change list. - FailoverTimeoutMS not being obeyed during failover, causing failover to take twice as long (PR #244).
- Reader failover sometimes reconnect to writer instances as reported by Issue #233. Applications can now set the
failoverStrictReader
parameter to only allow failover to reader nodes during the reader failover process. See more details here. - AWS Secrets Manager Plugin leaking PoolingHttpClientConnectionManager (PR #321).
- Internal
inTransaction
flag not being updated whenautocommit
status changes (PR #282). - Incorrect wrapper version returned from
getDriverVersion
calls (PR #319). - Incorrect
setReadOnly
behaviour when the method is called on a closed connection (Issue #311). isCurrentHostWriter
incorrectly return false during writer failover (PR #323).
🦀 Changed
AWS Advanced JDBC Driver - v1.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.
[1.0.0] - 2022-10-06
The Amazon Web Services (AWS) Advanced JDBC Driver allows an application to take advantage of the features of clustered Aurora databases.
Added
- Support for PostgreSQL
- The Failover Connection Plugin
- The Host Monitoring Connection Plugin
- The AWS IAM Authentication Connection Plugin
- The AWS Secrets Manager Connection Plugin