Last Update: 2018-03-01 10:41:16 -0800


  • Running migrations using one of the included migrators on separate Database objects in separate threads simultaneously is now supported. Previously, the migrators were not thread-safe.

  • On Ruby 2.5+, :db_type entries in the schema hashes are now deduped for a slight memory savings when using many columns with the same database type.

  • The schema_caching extension now freezes string values in the resulting hashes, just as the default schema parsing code started doing in 5.5.0.

  • The schema_caching extension now supports the :callable_default schema values used by the pg_json, pg_array, and pg_hstore extensions, by removing the entry before caching and resetting it after restoring the cache.

  • Identifier mangling rules are now respected when renaming columns on Microsoft SQL Server.

Backwards Compatibility

  • The migrator internals were modified in order to support thread-safety. The private Migrator#remove_migration_classes method has been removed, and load_migration_file now returns the migration object/class instead of populating Migration.descendants. Migration.descendants is now only used for temporary storage, and will no longer contain all migration objects/classes used by the migrator.