Rails has deprecated using return, break and throw to exit a transactionRails havs disallowed using return, break and throw for exiting early from a transaction and having it committed.
Rails ActiveRecord::Relation#pick now uses already loaded resultsRails ActiveRecord::Relation#pick now uses already loaded results instead of making a new query everytime.
Rails [attribute_name]_previously_changed? accepts :from and :to argumentsRails Active Model Dirty method [attribute_name]_previously_changed? now accepts :from and :to arguments just like [attribute_name]_changed?
Rails - Allows to specify schema cache path in database configuration fileRails now exposes a new configuration for specifying the location of the schema cache file. This can be done in database.yml using schema_cache_path key.
Rails has added support in Action Cable to unsubscribe from specific streamRails adds ActionCable::Channel#stop_stream_from and ActionCable::Channel#stop_stream_for methods to allow user to unsubscribe from specific stream
Eager loading Active Storage models to avoid N+1 issuesRemoving N+1 queries when we access the Active Storage attachments associated with an ActiveRecord model.
Rails adds jitter to ActiveJob::Exceptions.retry_onRails adds jitter to ActiveJob::Exceptions.retry_on to cater to thundering herd effect
Ruby Hash#transform_keys now accepts a hash that maps existing keys to new keysRuby Hash#transform_keys now also accepts a hash that maps the existing hash keys to new keys
Rails has added strict loading mode to prevent lazy loadingRails has added strict loading mode to prevent lazy loading of associations and help avoid N + 1 queries
Rails adds config rake_eager_loadRails has added the option to eager load all the registered name spaces in rake tasks.