rubyforgood / rubyforgood/Flaredown

Enable the Rails 7.2 framework defaults

Open
#884 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type:infrastructure
Dominant language
Ruby
Stars
50
Forks
21
Avg merge
6d 12h
Merged PRs (30d)
16

Description

Why

Separate from the framework bump because it is a deploy-ordering requirement, not review hygiene. Some framework defaults change the on-disk format of cached values and signed messages — cache_format_version, message_serializer and marshalling_format_version all did in 7.1, and the existing new_framework_defaults_7_1.rb carries the team's own "Does rolling deploy apply here?" annotations. A format flip must not ship in the same deploy as the framework bump, or old and new processes cannot read each other's data during the rollout.

Scope

  • Uncomment the options in new_framework_defaults_7_2.rb one group at a time
  • Bump config.load_defaults to 7.2 and delete the file once all are enabled
  • config.active_support.cache_format_version -> 7.2 only after the 7.2 code is fully deployed

For each option, check whether it affects a serialization format. If none of them do, this can be folded back into the Rails 7.2 issue — check rather than assume.

Acceptance criteria

  • Full suite green
  • load_defaults 7.2, defaults file deleted
  • Deployed separately from the framework bump

Blocked by

#883 (Rails 7.2), deployed and soaked. Blocks #886.


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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with new_framework_defaults_7_2.rb and compare its options with new_framework_defaults_7_1.rb, especially the serialization-related settings and deploy-ordering annotations. Confirm #883 is deployed and soaked, then enable the options incrementally, set config.load_defaults to 7.2, delete the defaults file, and run the full suite; done requires green CI and a separate deployment.

Written by the indexing model from the issue text.

Assessment

Tech stack
rails, ruby
Domain
backend, devops
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.