Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Upgrade Ruby 3.2.3 -> 3.4.10

Đang mở
#885 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Tái cấu trúc
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, rails, ruby
Lĩnh vực
backend, devops

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ả

type:infrastructure

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

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của rubyforgood/Flaredown

Tất cả issue của rubyforgood/Flaredown

Issue tương tự

Thêm issue về Ruby

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.