rubyforgood / rubyforgood/Flaredown

Replace annotate with annotaterb and upgrade to Rails 8.0

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

annotate 3.2.0 declares activerecord >= 3.2, < 8.0 — a hard resolution blocker for Rails 8.0 — and is unmaintained. annotaterb 4.24.0 is the maintained fork. Since the swap exists only to unblock the framework bump, the two belong in one change.

Scope

  • Swap annotate -> annotaterb (development group only, so CI risk is near zero). Note that regenerating the # == Schema Information headers produces a large mechanical diff across all ActiveRecord models — consider doing the gem swap and the regeneration as separate commits so the regeneration does not hide anything.
  • gem "rails", "~> 8.0.0", bin/rails app:update
  • Keep load_defaults at 7.2; take new_framework_defaults_8_0.rb with everything commented

Verified Rails 8.1 resolves against this gem set, so 8.0 will too. Rails 8.1 requires PostgreSQL >= 9.5, so the current PG 12.8 is fine.

Acceptance criteria

  • Full suite green
  • Schema annotation headers regenerate cleanly
  • load_defaults still 7.2

Blocked by

#885 (Ruby 3.4.10) and #884 (Rails 7.2 defaults). Blocks #887.


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

First check blocked issues #885 and #884, then review the Rails upgrade entry point bin/rails app:update and new_framework_defaults_8_0.rb. Handle the development dependency swap and inspect the resulting schema annotation changes across ActiveRecord models. Done means the full suite is green, headers regenerate cleanly, and load_defaults remains at 7.2.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.