Upgrade Ruby 3.2.3 -> 3.4.10
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
Xem xét sáu khai báo phiên bản được liệt kê trong issue, cùng với README.md và CLAUDE.md; trước tiên kiểm tra trạng thái nâng cấp Rails hiện tại trong #883 và grep để tìm các chỗ sử dụng OpenStruct. Tạo lại backend/Gemfile.lock bằng bundle lock, sau đó chạy toàn bộ bộ kiểm thử và build Docker image. Được xem là hoàn tất khi cả sáu phiên bản Ruby đều khớp và các tiêu chí nghiệm thu đạt yêu cầu, bao gồm việc xác nhận Heroku được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Why
Ruby 3.2 reached end of life on 2026-04-01. 3.4 is the only branch in normal maintenance that Rails 7.2/8.x officially supports.
This lands after Rails 7.2 rather than before, because Rails 7.1 does not officially support Ruby 3.4 (that starts at 7.2.2 / 8.0.1). Doing the framework bump first removes the constraint and makes an intermediate stop at 3.3.12 unnecessary.
Trade-off worth stating: this keeps the app on EOL Ruby until this issue lands. If that is unacceptable, split into 3.2 -> 3.3.12 early (3.3 is supported by both Rails 7.1 and 7.2) and 3.3 -> 3.4 here.
Scope — six files must move together
/.ruby-version 3.2.3 -> 3.4.10
/.tool-versions ruby 3.2.3 -> ruby 3.4.10
/backend/.ruby-version 3.2.3 -> 3.4.10
/backend/Gemfile ruby "3.2.3" -> ruby "3.4.10"
/backend/Dockerfile FROM ruby:3.2.3 -> FROM ruby:3.4.10
/backend/Gemfile.lock RUBY VERSION (regenerate: bundle lock)
Plus docs: README.md, CLAUDE.md.
Trap: .ruby-version exists at the repo root and in backend/, and CI reads both — the erb-lint job resolves the root one while standardrb, rspec and brakeman resolve backend/. Bump both in the same commit. (The prep issue makes erb-lint consistent with the others, which reduces but does not remove this.)
Notes
Ruby 3.4 extracted several stdlibs to bundled gems. Checked the current lockfile: base64, bigdecimal, drb, mutex_m, logger, benchmark, csv, stringio are all already explicit entries. The one gap is ostruct, which Mongoid 9.1 adds as an explicit runtime dep. Worth a grep -rn "OpenStruct" app/ lib/ to confirm nothing else reaches for it.
Also confirm the Heroku stack supports 3.4 before deploying; the version is picked up from the Gemfile.
Acceptance criteria
- Full suite green
- Docker image builds
- All six version declarations consistent
Blocked by
#883 (Rails 7.2). 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.
- Ngôn ngữ chính
- Ruby
- Star
- 50
- Fork
- 21
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của rubyforgood/Flaredown
-
Four API faults found while backfilling coverage, documented but unfixedCó thể đã có người làm @suttondemlong đã nhận 46 ngày trước. Đang mởlanguage:ruby type:bug
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
rubyforgood/Flaredown#913 · 1 bình luận ·
-
Coverage is measured differently locally and on CI, hiding 68 untested app filesCó thể đã có người làm @suttondemlong đã nhận 47 ngày trước. Đang mởlanguage:ruby type:bug
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
rubyforgood/Flaredown#911 · 1 bình luận ·
-
Enable the Mongoid 9 defaultsĐang mởtype:infrastructure
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 76/100
rubyforgood/Flaredown#904 ·
-
Upgrade Rails 8.0 -> 8.1Đang mởtype:infrastructure
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
rubyforgood/Flaredown#888 ·
-
type:infrastructure
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
rubyforgood/Flaredown#887 ·
Tất cả issue của rubyforgood/Flaredown
Issue tương tự
-
Liens externes cassésĐang mở
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 66/100
betagouv/conseillers-entreprises#4770 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
seek4science/seek#2762 ·
Maintainer thường phản hồi trong vòng 5 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
Freika/dawarich#3910 · 3 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
rubyevents/rubyevents#2277 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 2 ngày