Why
First framework step. With the prep and the two blocker gems done, this should be close to mechanical. Verified to resolve cleanly.
Scope
gem "rails", "~> 7.2.0"
- Keep
config.load_defaults at 7.1. Run bin/rails app:update, take the generated new_framework_defaults_7_2.rb with every option still commented. Enabling them is a separate issue — upgrading the framework and changing its behaviour are two different changes, and some defaults alter serialization formats that must not flip in the same deploy.
config/initializers/new_framework_defaults_7_1.rb can be retired: it is already fully worked through and load_defaults 7.1 is set, so it is bookkeeping.
Rails.application.secrets is removed in 7.2 — already handled by the prep issue.
Note Rails 7.2 requires Ruby >= 3.1, so this lands fine on the current Ruby 3.2.3.
Acceptance criteria
Blocked by
#881 (Mongoid 9) and #882 (Globalize 7) — both hard resolution blockers. Blocks #884 and #885.
Part of the Ruby + Rails upgrade sequence. Ruby 3.2 reached end of life on 2026-04-01 and the backend is on Rails 7.1; the goal is Ruby 3.4.10 and Rails 8.1, in steps that each keep CI green and are independently deployable.
Why
First framework step. With the prep and the two blocker gems done, this should be close to mechanical. Verified to resolve cleanly.
Scope
gem "rails", "~> 7.2.0"config.load_defaultsat 7.1. Runbin/rails app:update, take the generatednew_framework_defaults_7_2.rbwith every option still commented. Enabling them is a separate issue — upgrading the framework and changing its behaviour are two different changes, and some defaults alter serialization formats that must not flip in the same deploy.config/initializers/new_framework_defaults_7_1.rbcan be retired: it is already fully worked through andload_defaults 7.1is set, so it is bookkeeping.Rails.application.secretsis removed in 7.2 — already handled by the prep issue.Note Rails 7.2 requires Ruby >= 3.1, so this lands fine on the current Ruby 3.2.3.
Acceptance criteria
load_defaultsstill 7.1Blocked by
#881 (Mongoid 9) and #882 (Globalize 7) — both hard resolution blockers. Blocks #884 and #885.
Part of the Ruby + Rails upgrade sequence. Ruby 3.2 reached end of life on 2026-04-01 and the backend is on Rails 7.1; the goal is Ruby 3.4.10 and Rails 8.1, in steps that each keep CI green and are independently deployable.