Repository navigation
Releases: aws/aws-advanced-ruby-driver-wrapper
Releases · aws/aws-advanced-ruby-driver-wrapper
Release list
AWS Advanced Ruby Driver Wrapper - v1.0.1
[1.0.1] - 2026-10-07
🐛 Fixed
- Fixed the
aws_postgresqlActiveRecord adapter passing ActiveRecord-onlydatabase.ymlkeys, such as the Rails 8.1 pool settings (max_connections,min_connections,keepalive,max_age) and multi-database settings (replica,migrations_paths,database_tasks), topg, which rejected them withPG::Error: invalid connection option(PR #191). - Fixed the
aws_mysql2ActiveRecord adapter dropping theflags,encoding,socket, andreconnectclient options, which removed ActiveRecord'sFOUND_ROWSflag so that statements such asupdate_allreported changed rows instead of matched rows (PR #193). - Fixed the
aws_postgresqlandaws_mysql2ActiveRecord adapters not translating connection errors the way the standard adapters do, so a missing database was not reported asActiveRecord::NoDatabaseErroranddb:prepare(andbin/setup) failed instead of creating it (PR #193). - Fixed the
aws_postgresqlandaws_mysql2ActiveRecord adapters keeping ActiveRecord's prepared statement cache after a successful failover, so every query prepared before the failover failed on that connection withMethod invoked against old connectionuntil the process restarted (PR #194, documentation). - Fixed
db:drop,db:reset, anddb:test:preparefailing on Aurora PostgreSQL withdatabase "<name>" is being accessed by other users. The same error occurred when runningbin/rails testafter a schema change. The cause was the wrapper's topology and Blue/Green monitors, which kept their own connections open to the database being dropped. The wrapper now stops these monitors before dropping a database and when ActiveRecord clears all its connections (PR #195). - Fixed forked processes, such as Puma workers with
preload_app!, Unicorn workers, and Resque jobs, inheriting the parent's background monitors after their threads had stopped, so the cluster topology never refreshed in the child and failover there could not find the new writer. A forked child now starts its own monitors and leaves the parent's monitoring connections open. A forked child also no longer waits on a Secrets Manager fetch that was in progress in the parent when it forked (PR #196). - Fixed the AWS Secrets Manager plugin not reporting a timed-out secret fetch as a timeout. A fetch that did not finish within 60 seconds failed with a generic
SecretsManagerAuthError(Failed to fetch database credentials from AWS Secrets Manager) instead ofTimed out fetching secret after 60s(PR #196). - Fixed Action Cable's PostgreSQL subscription adapter (
adapter: postgresqlincable.yml) refusing to run on theaws_postgresqlActiveRecord adapter withThe Active Record database must be PostgreSQL in order to use the PostgreSQL Action Cable storage adapter, which also stopped Turbo Stream broadcasts (PR #197). - Fixed the
aws_postgresqlandaws_mysql2ActiveRecord adapters raisingUnknown typefor adapter-specific attribute types and columns. ActiveRecord keys its type registry by the connection's adapter name, and the wrapped adapters registered none of their own, so types such as PostgreSQL:interval,:point,:uuid, array, and range, and MySQL:unsigned_integer, could not be resolved. The wrapped adapter names are now aliased to the underlyingpostgresqlandmysql2adapters for type registration and lookup, so the wrapped adapters resolve the same types as the standard adapters (PR #200).- Side effect: in an application that uses both a standard (
postgresql/mysql2) connection and a wrapped (aws_postgresql/aws_mysql2) connection, a type registered for one is now shared with the other, because both resolve under the same underlying adapter key.
- Side effect: in an application that uses both a standard (
- Changed the
aws_postgresqlandaws_mysql2ActiveRecord adapters to report the underlyingadapter_name("PostgreSQL"and"Mysql2") instead of"AwsPostgreSQL"and"AwsMySQL2". ActiveRecord's migration compatibility layer gates PostgreSQL- and MySQL-specific behavior onconnection.adapter_namestring comparisons. Legacy versioned migrations (ActiveRecord::Migration[5.0]through[7.0]) now complete as expected (PR #200).
AWS Advanced Ruby Driver Wrapper - v1.0.0
1.0.0 - 2026-10-05
The Amazon Web Services (AWS) Advanced Ruby Driver Wrapper allows an application to take advantage of the features of clustered Aurora databases.
Added
- Support for MySQL and PostgreSQL, usable in two ways:
- Direct connections through the wrapped community driver via the
WrapperPgConnection(on top ofpg) andWrapperMysql2Client(on top ofmysql2), requiring only a change of the connection class. - Drop-in ActiveRecord adapters
aws_postgresqlandaws_mysql2that replace the communitypostgresqlandmysql2adapters.
- Direct connections through the wrapped community driver via the
- Failover Plugin.
- Global Database Failover Plugin.
- AWS IAM Authentication Plugin.
- AWS Secrets Manager Plugin.
- Custom Endpoint Plugin.
- Blue/Green Deployment Plugin.
- Initial Connection Strategy Plugin.
- KMS Encryption Plugin.