rubyforgood / rubyforgood/Flaredown

Upgrade Rails 8.0 -> 8.1

Open
#888 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

Final step. Verified that rails 8.1.3.1 resolves cleanly against this gem set today.

Scope

  • gem "rails", "~> 8.1.0", bin/rails app:update
  • Framework defaults for 8.1 handled the same way as the previous two: commented first, flipped in a separate deploy if any affect serialization formats

Acceptance criteria

  • Full suite green
  • Staging soak before production

Blocked by

#887 (Rails 8.0 defaults).


Known remaining work after this sequence

  • OmniAuth 1.9 -> 2.x / Rack 2 -> 3. Rails 8.1 resolves fine while staying on Rack 2.2.24, because omniauth 1.9.2 caps rack < 3 and actionpack 8.1 only needs rack >= 2.2.4. So this does not block the upgrade — but it leaves the app on omniauth 1.x, which carries CVE-2015-9284 (authentication request forgery). Fixing it changes the auth request from GET to POST with a CSRF token, which breaks both the Ember and native clients until they are updated. Deserves its own issue and its own schedule.
  • AMS 0.9.8 -> 0.10.x, or off AMS entirely. The pin is a deliberate freeze, not a fix.
  • PostgreSQL 12.8 and MongoDB 4.4.9 are both past end of life in docker-compose.yml and CI.

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 blocked issue #887, then review the Rails version constraint and run bin/rails app:update. Check the 8.1 framework defaults and how they affect serialization formats; done means the full suite is green and staging has completed its soak before production.

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.