Ruby on Rails 8.0
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
Summary
Ruby on Rails 8.0 is the latest version of well known web framework written in Ruby.
Owner
- Name: VĂt Ondruch
- Email: vondruch@redhat.com, ruby-sig@lists.fedoraproject.org
Detailed Description
The Ruby on Rails stack is evolving quickly and Fedora needs to keep pace with it. Therefore the whole Ruby on Rails stack should be updated from 7.0 in Fedora 42 to 8.0 (latest version) in Fedora 43. This will ensure that all the Ruby developers using Fedora have the latest and greatest RPM-packaged Ruby on Rails.
Feedback
Benefit to Fedora
This update will keep Fedora up-to-date and will ensure that the current Ruby on Rails developers stay with us as they will get support for system-packaged Ruby on Rails of the latest version. Update to Rails 8.0 contains hundreds of fixes and improvements across all the frameworks. For new features, please see User Experience.
Scope
-
Proposal owners:
- The whole Rails stack has to be updated.
- Some dependencies of the Rails stack will need update.
- Current development state can be observed in vondruch/ror8 COPR repository.
-
Other developers: Update Rails dependent packages to be working with Ruby on Rails 8.0
-
Policies and guidelines: N/A (not needed for this Change)
-
Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
Web applications build above Ruby on Rails framework might need to be updated. Official upstream upgrade guide might come handy: Upgrading Ruby on Rails — Ruby on Rails Guides
How To Test
- No special hardware is needed.
- Not all dependencies for default app are available in Fedora. Drop those dependencies or grab them from RubyGems repo.
To test only Rails itself
dnf install rubygem-rails rails new app cd app && rails s
- Go to http://127.0.0.1:3000/ and make sure you are running Rails 8.0.x
To test the complete feature including generating a new Rails app using RPM
dnf group install 'Ruby on Rails' rails new app --skip-bundle && cd app rails s
- Go to http://127.0.0.1:3000/ and make sure you are running Rails 8.0.x
Rails app with Fedora only dependencies
dnf group install 'Ruby on Rails' rails new app --skip-bundle --skip-kamal --skip-solid --skip-brakeman --skip-rubocop --skip-thruster --skip-bootsnap --skip-hotwire cd app rails s
- Go to http://127.0.0.1:3000/ and make sure you are running Rails 8.0.x
User Experience
- New version of Ruby on Rails (8.0) available
- The most significant Rails 8.0 features:
- Trifecta of new database-backed adapters named Solid Cable, Solid Cache, and Solid Queue (not part of Fedora ATM).
- SQLite ready for production
- Sprockets replaced with Propshaft
- Generating the authentication basics
Dependencies
- Ruby on Rails framework consists of multiple packages, which all needs to be updated at once. As part of the update, Rack family of gem will also be updated.
Contingency Plan
- Contingency mechanism: None needed. Rails stack won’t be updated until all its dependencies are in Rawhide. After that, it will be a simple matter of updating the core packages (and their dependencies) via side-tag.
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change)
Documentation
Release Notes
Last edited by @amoloney 2025-06-24T10:31:09Z
Last edited by @amoloney 2025-06-24T10:31:09Z