Rails7

Rails 7 adds encryption to ActiveRecord

Rails 7 supports application-level encryption. We can declare which attributes should be encrypted and, ActiveRecord will encrypt and decrypt when necessary.

Rails 7 ensures has_one autosave association callbacks get called once

In Rails 7, the autosave association callbacks for the has_one are non-cyclic.

Rails 7 allows access to nested encrypted secrets by method calls

We can now access nested secrets stored in credentials.yml.enc using the dot (.) syntax instead of using [ ]

Rails 7 adds disable_joins: true option to has_one :through association

In multiple database applications, associations can't join across databases. When set, Rails makes 2 or more queries rather than using join for associations.

Rails 7 adds `Enumerable#sole` to return a sole item in the enumerable

Enumerable#sole returns the sole item in the enumerable and raises an exception if no items or more than one item is found.

Rails 7 adds range serializer for ActiveJob

ActiveJob in Rails 7 allows a range to be passed as an argument to perform method.

Rails 7 ActiveSupport::Cache::MemCacheStore now accepts an explicit nil for addresses argument

Those migrating from :dalli_store to :mem_cache_store can now pass an explicit nil for its addresses argument.

Rails 7 transforms a Ruby hash into HTML attributes for ERB interpolation

Rails 7 adds `tag.attributes`, which transforms a Hash into HTML Attributes, ready to be interpolated into ERB.

Rails 7 adds disable_joins: true option to has_many :through association

In multiple database applications, associations can't join across databases. When set, Rails makes 2 or more queries rather than using join for associations.

Rails 7 allows constructors on has_one :through associations

Rails 7 allows build_association and create_association on has_one :through associations.