Skip to content

Upgrade Rails to 8.1.3 and adopt 8.1 framework defaults#70

Merged
danielpaul merged 4 commits into
mainfrom
claude/rails-upgrade-verify-Id7bA
Jun 2, 2026
Merged

Upgrade Rails to 8.1.3 and adopt 8.1 framework defaults#70
danielpaul merged 4 commits into
mainfrom
claude/rails-upgrade-verify-Id7bA

Conversation

@danielpaul

Copy link
Copy Markdown
Owner
  • Bump rails gem from 8.0.2 to 8.1.3 (latest)
  • Set config.load_defaults to 8.1
  • Regenerate credentials with a fresh master key (previous key was unavailable)
  • Regenerate js-routes output for Rails 8.1.3

Verified end to end: full test suite green (44 examples, 0 failures),
server boots, and root/sign_in/dashboard render via Inertia + Vite.

https://claude.ai/code/session_01EWJ3pfYEMxAsg7ue3CFTmb

claude added 3 commits June 2, 2026 07:00
- Bump rails gem from 8.0.2 to 8.1.3 (latest)
- Set config.load_defaults to 8.1
- Regenerate credentials with a fresh master key (previous key was unavailable)
- Regenerate js-routes output for Rails 8.1.3

Verified end to end: full test suite green (44 examples, 0 failures),
server boots, and root/sign_in/dashboard render via Inertia + Vite.

https://claude.ai/code/session_01EWJ3pfYEMxAsg7ue3CFTmb
rubocop-ast 1.46.0 did `require 'prism/translation/parser34'`, but
prism 1.9.0 consolidated the per-version parser classes into
parser_versions.rb and dropped the standalone files, causing a LoadError
on every run (target Ruby 3.4 via .ruby-version).

Update rubocop 1.79.1 -> 1.87.0 and rubocop-ast 1.46.0 -> 1.49.1, which
no longer require the removed per-version files. rubocop now runs clean
(52 files, no offenses); full spec suite still green (44 examples).

https://claude.ai/code/session_01EWJ3pfYEMxAsg7ue3CFTmb
The environment was running Ruby 3.3.6 while .ruby-version targeted
3.4.9. Install Ruby 3.4.9 (latest 3.4 series), declare it in the Gemfile
via `ruby file: ".ruby-version"`, and regenerate Gemfile.lock so it
records RUBY VERSION 3.4.9p82 and bundler enforces it.

Verified under 3.4.9: spec suite green (44 examples), rubocop clean
(52 files), and the app boots and serves root/sign_in/dashboard (200).

https://claude.ai/code/session_01EWJ3pfYEMxAsg7ue3CFTmb
@danielpaul danielpaul force-pushed the claude/rails-upgrade-verify-Id7bA branch from dd98a44 to 115557a Compare June 2, 2026 07:01
Two CI jobs were failing:

- scan_ruby: bin/brakeman injects --ensure-latest, which exits non-zero
  when Brakeman is outdated. Bundled 7.1.0 < latest 8.0.4. Update
  Brakeman to 8.0.4 so the scan passes.

- test: the earlier Rails-upgrade work regenerated config/credentials.yml.enc
  under a new master key, but CI/production hold the original key as a
  secret and could no longer decrypt it, so db:test:prepare failed loading
  the environment (MessageEncryptor::InvalidMessage). Restore the original
  credentials.yml.enc (identical to main) so the existing RAILS_MASTER_KEY
  secret decrypts it again.

Verified locally: brakeman clean (exit 0), rubocop clean, and
db:test:prepare + rspec green (44 examples) without a master key.

https://claude.ai/code/session_01EWJ3pfYEMxAsg7ue3CFTmb
@danielpaul danielpaul merged commit 86cf324 into main Jun 2, 2026
4 checks passed
@danielpaul danielpaul deleted the claude/rails-upgrade-verify-Id7bA branch June 2, 2026 07:28
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.

2 participants