= Ruby on Rails 5.1
Summary
Ruby on Rails 5.1 is the latest version of well known web framework written in Ruby.
Owner
- Name: Pavel Valena, Vít Ondruch, Jun Aruga
- Email: pvalena@redhat.com, vondruch@redhat.com, jaruga@redhat.com, ruby-sig@lists.fedoraproject.org
- Release notes owner:
Current status
- Targeted release: Fedora 27
- Last updated: 2017-05-25
- Last updated: 2017-05-25
- Tracker bug: <will be assigned by the Wrangler>
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 5.0 in Fedora 26 to 5.1 (latest version) in Fedora 27. This will ensure that all the Ruby developers using Fedora have the latest and greatest RPM-packaged Ruby on Rails.
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. Apart from that, update to Rails 5.1 will drop jQuery as a default dependency, brings Yarn, Webpack and Capybara integration. New Rails also newly support encrypted secrets, Parameterized Mailers and Virtual/generated column support(for MySQL and MariaDB). In addition update to Rails 5.1 contains hundreds of other fixes and improvements across all the frameworks.
Scope
- Proposal owners:
- The whole Rails stack has to be updated
- Some dependencies of the Rails stack will need update
Packages need to be created/updated
Package name | Task | Status |
---|---|---|
rubygem-actioncable | Update to 5.1.x | #1446420 |
rubygem-actionmailer | Update to 5.1.x | #1446421 |
rubygem-actionpack | Update to 5.1.x | #1446422 |
rubygem-actionview | Update to 5.1.x | #1446423 |
rubygem-activejob | Update to 5.1.x | #1446424 |
rubygem-activemodel | Update to 5.1.x | #1446425 |
rubygem-activerecord | Update to 5.1.x | #1446426 |
rubygem-activesupport | Update to 5.1.x | #1446427 |
rubygem-rails | Update to 5.1.x | #1446606 |
rubygem-railties | Update to 5.1.x | #1446607 |
rubygem-arel | Update to 8.0.x | #1425629 |
- Other developers: Update Rails dependent packages to be working with Ruby on Rails 5.1
- Release engineering: Not needed
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines: Not needed
- Trademark approval: Not needed
Upgrade/compatibility impact
Web applications build above Ruby on Rails framework might need to be updated. Official upstream upgrade guide might come handy: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html
How To Test
- No special hardware is needed.
To test Rails 5.1 from upstream
gem install rails -v 5.1.x rails new app cd app && rails s
- Go to http://127.0.0.1:3000/ and make sure you are running Rails 5.1.x
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 5.1.x
To test the complete feature including generating a new Rails app using RPM
dnf install rubygem-{rails,byebug,coffee-rails,jbuilder,jquery-rails,listen,puma,sass-rails,spring,spring-watcher-listen,sqlite3,turbolinks,uglifier,web-console} nodejs rails new app --skip-bundle && cd app rails s
- Go to http://127.0.0.1:3000/ and make sure you are running Rails 5.1.x
User Experience
- New version of Ruby on Rails (5.1) available
- The most significant Rails 5.1 features:
- Drop jQuery as a default dependency
- Yarn, Webpack and Capybara integration
- Encrypted secrets, Parameterized Mailers and Virtual/generated column support(for MySQL and MariaDB)
Dependencies
- There are several packages, which depends on Ruby on Rails framework. All need to be tested an updated:
- These needs to be surely updated:
- (none)
- Following gems don't support Rails 5.1 right now and would be broken by the update:
- (none)
- As Rails requires Ruby >= 2.2.2, the platform less than the version can not use Rails 5.1.
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).
- Contingency deadline: N/A
- Blocks release? No
- Blocks product? No