Hi, Wojtek here. Let’s explore last 2 week’s changes in the Rails codebase.
Rails Versions 220.127.116.11, 18.104.22.168 have been released
Just after the previous security releases 22.214.171.124, 126.96.36.199 but with fixed file permissions.
MRSK renamed to Kamal
Due to a trademark claim, the project was renamed to Kamal.
Add after_discard method to Active Job
It lets job authors to define a block which will be run when a job is about to be discarded.
Ensure response.parsed_body support for pattern matching
Both Nokogiri and Minitest supports Ruby’s Pattern matching.
By parsing the JSON contents of
ActiveSupport::HashWithIndifferentAccess, it’s now pattern-matching compatible and can be used with Minitest’s new
Add support for Playwright as a driver for system tests
Playwright is getting popularity as a new browser automation tool. There is a community-maintained Ruby client and Capybara driver as well.
Generate config.autoload_lib for new Rails 7.1 apps
New 7.1 applications will autoload from
lib directory out of the box.
The new line in
config.autoload_lib(ignore: %w(assets tasks)).
Allow redefining to_param delimiter using param_delimiter
ActiveModel::Conversion.param_delimiter to configure delimiter being used in
Deprecate read_attribute(:id) returning the primary key
Starting in Rails 7.2,
read_attribute(:id) will return the value of the id column, regardless of the model’s primary key. To retrieve the value of the primary key, one can use
read_attribute(:id) for composite primary key models will now return the value of the id column.
Use alias_attribute to provide id_value alias for id attribute
As the follow up to the above, added
ActiveRecord::Base#id_value alias to access the raw value of a record’s id column.
This alias is only provided for models that declare an
Sort mailers on the mailer preview page alphabetically
Add an option to start rails console in sandbox mode by default
sandbox_by_default option is added to start rails console in sandbox mode by default. With this option turned on,
--no-sandbox must be specified to start rails in non-sandbox mode.
Note that this option is ignored when rails environment is development or test.
Fix host display when X_FORWARDED_HOST authorized
HostAuthorization potentially displaying the value of the
X_FORWARDED_HOST header when the
HTTP_HOST header is being blocked.
You can view the whole list of changes here.
We had 35 contributors to the Rails codebase this past week!
Until next time!
Subscribe to get these updates mailed to you.