Ruby 3.1 evaluates multiple assignments from left to right

Ruby changes the evaluation order for multiple assignments from left to right making it consistent with single assignment evaluation order.

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.

React 17 adds support for KeyboardEvent.code property to SyntheticEvent

Starting with React 17, KeyboardEvent.code property is available on React keyboard event.

Rails 7 adds invert_where method to ActiveRecord

Rails 7 adds invert_where method that will invert all scope conditions.

Rails 7 adds `Enumerable#in_order_of` to put an enumerable in a certain order by a key.

With the addition of the `in_order_of` method, we can order enumerable based on the provided series.

Rails 7 ActiveJob adds the ability to communicate enqueue failures to callers

ActiveJob's `perform_later` method provides a clean way of communicating enqueued job failures to the caller method, allowing developers to handle errors more efficiently.

Rails 7 enables scoping to apply to all queries

Rails 7 allows passing all_queries option to the scoping method. This change allows the scoping method to work on all queries for a model in a block.