Rails adds the ability to prevent unwarranted shard swapping

Rails provides the config option ActiveRecord::Base.prohibit_shard_swapping that prevents swapping of database shards.

Optimize large React app performance by code-splitting

Code-splitting helps divide large code bundles into smaller ones, which can then be loaded on demand. It helps in reducing the initial load time of the application.

Rails 7 adds optional transaction arguments to with_lock

With Rails 7 we can pass transaction arguments like isolation, joinable, etc directly to with_lock

Rails loads ActionCable via Zeitwerk

Zeitwerk is a new thread-safe code loader introduced in Rails 6. Now, ActionCable and other related modules are loaded via Zeitwerk.

ECMAScript 2022: Ergonomic brand check for private fields

ECMAScript 2022 provides a simpler way to check if an object has a given private field using the 'in' operator.

Rails 7: Action Text: forward form: option to hidden input

Add support for accessing the form as a property of the element.

Rails conforms to destroy_association_async_job config when destroying asynchronously

Rails no longer ignores the configuration option destroy_association_async_job when destroying objects with destroy_async option.

Taking control of scroll with CSS Overscroll Behavior and Scroll Snap

Improve the scroll bar behavior with CSS properties 'overscroll-behavior' and 'scroll snap'.

Rails 7 adds support for setting the schema dump filepath in the database config

Schema dumps can now be toggled and dump filepaths can be set for individual database shards.

Rails 7 allows permitting numeric params

Rails 7 eliminates the issue of permitting nested hash. Now required attributes can be permitted by calling the permit method directly on the parent hash.