F43 Change Proposal: Ruby on Rails 8.0 (self-contained)

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.

Wiki
Announced

:link: Summary

Ruby on Rails 8.0 is the latest version of well known web framework written in Ruby.

:link: Owner

:link: 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.

:link: Feedback

:link: 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.

:link: 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)

:link: 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

:link: 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.

:link: To test only Rails itself

dnf install rubygem-rails rails new app cd app && rails s

:link: 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

:link: 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

:link: 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

:link: 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.

:link: 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)

:link: Documentation

:link: Release Notes

Last edited by @amoloney 2025-06-24T10:31:09Z

Last edited by @amoloney 2025-06-24T10:31:09Z

1 Like

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

This change proposal has now been submitted to FESCo with ticket #3434 for voting.

To find out more, please visit our Changes Policy documentation.