Hi, it’s Vipul!. Let’s explore this week’s changes in the Rails codebase.
New Guides Pull Request for review
A new guides Pull Request is up, which updates the Rails Application Template Guide and also merges it with Rails Generators Guide.
If you are well versed in these areas, please review and submit your feedback on the PR!
Rails World updates!
Check out the latest updates on schedule, new ticket types and availability and a new Rails at Scale event!
Defer ActiveJob enqueue callbacks until after commit when enqueue_after_transaction_commit enabled
Active Job’s around_enqueue
callbacks are deferred until after the database transaction commits, but only when the enqueue_after_transaction_commit
option is enabled.
This ensures that job enqueue logic, including handling Sidekiq connectivity issues, occurs only after a successful transaction commit, preventing premature job execution.
Enable passing retryable SqlLiterals to #where
This update ensures that when a retryable SqlLiteral
is provided to #where
, its retryable status is preserved. The modification adjusts the internal handling within #build_where_clause
and WhereClause to maintain the retryable attribute of the original SqlLiteral
.
Use TRUE and FALSE for more SQLite queries
This change updates Active Record’s SQLite adapter to represent boolean values as TRUE
and FALSE
instead of 1 and 0. This enhances SQL readability and aligns with standard SQL boolean literals.
Make the executor hooks in AR::QueryCache private
ActiveRecord::QueryCache
has been refactored to make its executor hooks private, ensuring they’re not accessible or overrideable externally. Additionally, it reorganizes these hooks for improved clarity, aligning with the structure used in the connection pool.
Rescue connection related errors in MemCacheStore#read_multi_entries
This change enhances the MemCacheStore#read_multi_entries
method by adding error handling for connection-related issues. Previously, network interruptions during bulk reads from Memcached could cause failures; such errors are now properly rescued, improving resilience in distributed caching scenarios.
Support selenium-webdriver 4.32.0
This change updates and adds support for some breaking changes on selenium-webdriver
4.32.0 version.
You can view the whole list of changes here.
We had 11 contributors to the Rails codebase this past week!
Until next time!
Subscribe to get these updates mailed to you.