You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub鈥檚 verified signature.
[1.0.1] - 2026-10-07
馃悰 Fixed
Fixed the aws_postgresql ActiveRecord adapter passing ActiveRecord-only database.yml keys, such as the Rails 8.1 pool settings (max_connections, min_connections, keepalive, max_age) and multi-database settings (replica, migrations_paths, database_tasks), to pg, which rejected them with PG::Error: invalid connection option (PR #191).
Fixed the aws_mysql2 ActiveRecord adapter dropping the flags, encoding, socket, and reconnect client options, which removed ActiveRecord's FOUND_ROWS flag so that statements such as update_all reported changed rows instead of matched rows (PR #193).
Fixed the aws_postgresql and aws_mysql2 ActiveRecord adapters not translating connection errors the way the standard adapters do, so a missing database was not reported as ActiveRecord::NoDatabaseError and db:prepare (and bin/setup) failed instead of creating it (PR #193).
Fixed the aws_postgresql and aws_mysql2 ActiveRecord adapters keeping ActiveRecord's prepared statement cache after a successful failover, so every query prepared before the failover failed on that connection with Method invoked against old connection until the process restarted (PR #194, documentation).
Fixed db:drop, db:reset, and db:test:prepare failing on Aurora PostgreSQL with database "<name>" is being accessed by other users. The same error occurred when running bin/rails test after 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 of Timed out fetching secret after 60s (PR #196).
Fixed Action Cable's PostgreSQL subscription adapter (adapter: postgresql in cable.yml) refusing to run on the aws_postgresql ActiveRecord adapter with The 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_postgresql and aws_mysql2 ActiveRecord adapters raising Unknown type for 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 underlying postgresql and mysql2 adapters 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.
Changed the aws_postgresql and aws_mysql2 ActiveRecord adapters to report the underlying adapter_name ("PostgreSQL" and "Mysql2") instead of "AwsPostgreSQL" and "AwsMySQL2". ActiveRecord's migration compatibility layer gates PostgreSQL- and MySQL-specific behavior on connection.adapter_name string comparisons. Legacy versioned migrations (ActiveRecord::Migration[5.0] through [7.0]) now complete as expected (PR #200).