Rails now provides pattern matching support for ActiveModelRails now provides pattern matching support for ActiveModel (and transitively ActiveRecord)
Rails allows using aliased attributes with insert_all and upsert_allRails is continuously adding convenience to make active record queries more flexible. Now, Rails has added support to use aliased attributes with insert/upsert_all.
Rails 7 Arel adds support for FILTER clauseRails 7 Arel adds support for FILTER clause
Rails 7 now lazy loads schema cacheUse a config option to now switch between eager and lazy schema cache loading.
Rails does not require role when to be passed to connected_toThe connected_to block no longer throws an ArgumentError when called without a role parameter so as to pave the way for a more simplified and buildable syntax.
Rails 7 adds support for deferrable foreign key constraints in PostgreSQLBy default, foreign key constraints in PostgreSQL are checked after each statement. This works for most use cases but becomes a major limitation when creating related records before the parent record is inserted into the database.
Rails adds the ability to prevent unwarranted shard swappingRails provides the config option ActiveRecord::Base.prohibit_shard_swapping that prevents swapping of database shards.
Rails 7 adds optional transaction arguments to with_lockWith Rails 7 we can pass transaction arguments like isolation, joinable, etc directly to with_lock
Rails loads ActionCable via ZeitwerkZeitwerk is a new thread-safe code loader introduced in Rails 6. Now, ActionCable and other related modules are loaded via Zeitwerk.
Rails 7: Action Text: forward form: option to hidden inputAdd support for accessing the form as a property of the