Rails has deprecated using return, break and throw to exit a transaction

Rails havs disallowed using return, break and throw for exiting early from a transaction and having it committed.

Running a Rails Consultancy- a year in

Highlights from running our small Rails Consultancy for the first year

Rails ActiveRecord::Relation#pick now uses already loaded results

Rails ActiveRecord::Relation#pick now uses already loaded results instead of making a new query everytime.

Rails [attribute_name]_previously_changed? accepts :from and :to arguments

Rails 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 file

Rails 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 stream

Rails adds ActionCable::Channel#stop_stream_from and ActionCable::Channel#stop_stream_for methods to allow user to unsubscribe from specific stream

Rails adds round_mode parameter support to number helpers

Rails has added :round_mode parameter support to number helpers

Ruby 2.7 - Setting $ special variables to non-nil value is now warned

In Ruby 2.7, setting special variable $, $; $/ $\ to non-nil values will now show a deprecated warning

Eager loading Active Storage models to avoid N+1 issues

Removing N+1 queries when we access the Active Storage attachments associated with an ActiveRecord model.

Rails adds jitter to ActiveJob::Exceptions.retry_on

Rails adds jitter to ActiveJob::Exceptions.retry_on to cater to thundering herd effect