Skip to content

Feat/add rails 8.1#1684

Draft
hatsu38 wants to merge 6 commits into
lynndylanhurley:masterfrom
hatsu38:feat/add-rails-8.1
Draft

Feat/add rails 8.1#1684
hatsu38 wants to merge 6 commits into
lynndylanhurley:masterfrom
hatsu38:feat/add-rails-8.1

Conversation

@hatsu38
Copy link
Copy Markdown
Contributor

@hatsu38 hatsu38 commented May 4, 2026

No description provided.

hatsu38 added 6 commits May 4, 2026 14:22
- sqlite3: drop version constraint so each Appraisal can pin its own
  version (consistent with how pg and mysql2 are declared).
  Required for sqlite3 ~> 2.x used by Rails 8.
- mongoid: drop the `< 8` upper bound. Rails 8 requires
  activemodel 8.x, which is incompatible with mongoid 7.x.

Without these changes, generating Rails 8 gemfiles via Appraisals
fails with conflicting requirements.
minitest-rails follows the Rails major.minor (e.g. minitest-rails 8.1.x
requires railties ~> 8.1). Pinning it in Gemfile prevents Appraisals
from overriding it for different Rails versions.

Bundler now resolves the matching minitest-rails version per Rails
appraisal, with each Appraisals block specifying the version explicitly.
Each Rails 8 block pins:
- sqlite3 ~> 2.1 (required by Rails 8 active_record adapter)
- minitest-rails matching the Rails major.minor

Generated gemfiles via:
  bundle exec appraisal rails-8-0 install
  bundle exec appraisal rails-8-1 install
- gemfile: include rails_8_0.gemfile and rails_8_1.gemfile
- ruby: include 4.0
- exclude:
  - Ruby 2.7 / 3.0 / 3.1 / 3.2 for Rails 8.x
    (Rails 8 requires Ruby 3.2+, but 3.2 is also EOL)
  - Older Rails (4.2 / 5.x / 6.0 / 7.0) for Ruby 4.0
    (Ruby 4.0 is supported only on Rails 8 series here)
  Rails 7.1 deprecated `ActiveRecord::Migration.check_pending!` in favor of
  `check_all_pending!`. Rails 8 removed `check_pending!` entirely.

  Use `check_all_pending!` when available, falling back to `check_pending!`
  on older Rails versions (4.2 through 7.0).
  Ruby 4.0 removed `CGI.parse`. Use `URI.decode_www_form` instead and
  shape the result as `Hash<String, Array<String>>` to keep the existing
  callers (which expect array values) working without changes.

  Compatible with Ruby 2.7 through 4.0.
@hatsu38 hatsu38 force-pushed the feat/add-rails-8.1 branch from e0e0ede to 7ba5cf0 Compare May 4, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant