$ the-wire · showcase
Active Record consolidates to one pool reaper thread; frozen verifiers stop raising
By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology
Rails moved Active Record's connection reaper to a single thread per process, and a pending fix stops the message signing stack from raising FrozenError after Ractor.make_shareable.
Use a single Active Record pool reaper thread rails/rails
ConnectionPool::Reaper used to spawn one "AR Pool Reaper" thread per distinct reaping frequency; it now runs a single thread, so a database with a lower keepalive no longer adds a second reaper to every process. You do not need to set reaping_frequency for the old behavior to bite: the default is the smallest of 20s, idle_timeout, max_age and keepalive, so one divergent database was enough.
Fix FrozenError in frozen MessageVerifier, MessageEncryptor and CachingKeyGenerator rails/rails
A MessageVerifier frozen before its first verification raised from digest_length_in_hex, and a MessageEncryptor frozen before its first decryption raised from length_of_encoded_iv and length_of_encoded_auth_tag under both GCM and CBC; CachingKeyGenerator#freeze had the same problem. The fix matters if you pass signing objects through Ractor.make_shareable, which freezes them.
Bump rubocop-md to 3.0.0 and fix Ruby snippets in guides rails/rails
rubocop-md 2.0.4 did not recognize fences with highlight metadata such as ```ruby#10 as block openers, so opening and closing fences drifted out of sync and many Ruby snippets in the guides were never linted. Version 3.0.0 parses Markdown correctly with Kramdown, and the newly linted snippets came back with offenses, including unterminated class definitions now closed.
add this week in rails (#768) rails/website
This Week in Rails landed on the website.
build(deps): bump the github-actions group with 2 updates rails/tailwindcss-rails
The tail was routine: Dependabot bumped the github-actions group in tailwindcss-rails, moving zizmor-action from 0.7.1 to 0.8.0 and updating setup-ruby, and gregmolnar's site entry for This Week in Rails merged as its own commit.