Hi, it’s zzak. Let’s explore this week’s changes in the Rails codebase.
In case you missed it, Rails 7.2.1 and 7.1.4 were released this week!
Allow use of alternative database interfaces
Prior to this PR, rails dbconsole
was hardcoded to use the default interface for the given database.
This command can now be configured via the config.active_record.database_cli
option.
Encryption casting with “encrypts” before “serialize”
This PR ensures encrypted binary data is properly handled in PostgreSQL.
Add “store_if_blank” option to “has_rich_text”
A new option was added to ActionText to allow configuring whether or not to store empty rich text fields.
This PR introduces a store_if_blank
option on has_rich_text
. It defaults to true
(the current behaviour); if you pass false
, ActionText won’t create ActionText::RichText
records when saving with a blank value.
SQLite non-GVL-blocking, fair retry interval busy handler
This PR improves SQLite connection handling for timeouts, by avoiding Ruby’s Global Variable Lock (GVL) it can reduce SQLite3::BusyException
errors and latency.
Support dumping PostgreSQL inheritance & partitioning options
With this change, we can support PostgreSQL native partitioning and inheritance options in create_table
.
Infer default “:inverse_of” option for DelegatedType
When using delegated types, we can now infer the :inverse_of
option for the association.
You can view the whole list of changes here. We had 36 contributors to the Rails codebase this past week!
Until next time!
Subscribe to get these updates mailed to you.