(44 intermediate revisions by 3 users not shown) | |||
Line 50: | Line 50: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id= | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1357414 #1357414] | ||
== Detailed Description == | == Detailed Description == | ||
Line 58: | Line 58: | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
<!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?--> | <!-- What is the benefit to the platform? If this is a major capability update, what has changed? If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?--> | ||
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.0 will bring ActionCable (A new framework that seamlessly integrates WebSockets with the rest of your Rails application), API mode (You can create a new Rails application using rails new backend --api), ActionRecord attributes | 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.0 will bring ActionCable (A new framework that seamlessly integrates WebSockets with the rest of your Rails application), API mode (You can create a new Rails application using rails new backend --api), ActionRecord attributes with a type on a model, and exclusive use of rails CLI over Rake. | ||
== Scope == | == Scope == | ||
Line 78: | Line 78: | ||
|rubygem-actioncable | |rubygem-actioncable | ||
|Create (5.0.x) | |Create (5.0.x) | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1354545 #1354545] | ||
|- | |- | ||
|rubygem-actionmailer | |rubygem-actionmailer | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351811 #1351811] | ||
|- | |- | ||
|rubygem-actionpack | |rubygem-actionpack | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351812 #1351812] | ||
|- | |- | ||
|rubygem-actionview | |rubygem-actionview | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351813 #1351813] | ||
|- | |- | ||
|rubygem-activejob | |rubygem-activejob | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351814 #1351814] | ||
|- | |- | ||
|rubygem-activemodel | |rubygem-activemodel | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351815 #1351815] | ||
|- | |- | ||
|rubygem-activerecord | |rubygem-activerecord | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351816 #1351816] | ||
|- | |- | ||
|rubygem-activesupport | |rubygem-activesupport | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351817 #1351817] | ||
|- | |- | ||
|rubygem-arel | |rubygem-arel | ||
|Update to 7.x | |Update to 7.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1292628 #1292628] | ||
|- | |- | ||
|rubygem-builder | |rubygem-builder | ||
Line 130: | Line 130: | ||
|rubygem-globalid | |rubygem-globalid | ||
|Update to >= 0.3.6 | |Update to >= 0.3.6 | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1296970 #1296970] | ||
|- | |- | ||
|rubygem-i18n | |rubygem-i18n | ||
Line 150: | Line 150: | ||
|rubygem-mime-types | |rubygem-mime-types | ||
|Update to 3.1 (latest version) because of rubygem-mime-types-data | |Update to 3.1 (latest version) because of rubygem-mime-types-data | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=907393 #907393] | ||
|- | |- | ||
|rubygem-mime-types-data | |rubygem-mime-types-data | ||
| | | | ||
|{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351575 #1351575] | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1351575 #1351575] | ||
|- | |- | ||
|rubygem-minitest | |rubygem-minitest | ||
Line 178: | Line 174: | ||
|rubygem-rack | |rubygem-rack | ||
|Update to 2.x | |Update to 2.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1352603 #1352603] | ||
|- | |- | ||
|rubygem-rack-test | |rubygem-rack-test | ||
Line 186: | Line 182: | ||
|rubygem-rails | |rubygem-rails | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1352604 #1352604] | ||
|- | |- | ||
|rubygem-rails-dom-testing | |rubygem-rails-dom-testing | ||
|Update to ~> 2.0 (It does not need to update at 5.0.0.rc2, but it needs to update at 5.0.0) | |Update to ~> 2.0 (It does not need to update at 5.0.0.rc2, but it needs to update at 5.0.0) | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1297006 #1297006] | ||
|- | |- | ||
|rubygem-rails-html-sanitizer | |rubygem-rails-html-sanitizer | ||
Line 198: | Line 194: | ||
|rubygem-railties | |rubygem-railties | ||
|Update to 5.0.x | |Update to 5.0.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1352605 #1352605] | ||
|- | |- | ||
|rubygem-rake | |rubygem-rake | ||
Line 206: | Line 202: | ||
|rubygem-sprockets | |rubygem-sprockets | ||
|No need to update. Fix the build failure. | |No need to update. Fix the build failure. | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1352650 #1352650] | ||
|- | |- | ||
|rubygem-sprockets-rails | |rubygem-sprockets-rails | ||
Line 246: | Line 242: | ||
|rubygem-coffee-rails | |rubygem-coffee-rails | ||
|No need to update. Fix the build failure. | |No need to update. Fix the build failure. | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1357056 #1357056] | ||
|- | |- | ||
|rubygem-coffee-script | |rubygem-coffee-script | ||
|No need to update. Fix the build failure. | |No need to update. Fix the build failure. | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1357047 #1357047] | ||
|- | |- | ||
|rubygem-coffee-script-source | |rubygem-coffee-script-source | ||
Line 262: | Line 258: | ||
|rubygem-execjs | |rubygem-execjs | ||
|No need to update. Fix the build failure. | |No need to update. Fix the build failure. | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1357592 #1357592] | ||
|- | |- | ||
|rubygem-ffi | |rubygem-ffi | ||
Line 270: | Line 266: | ||
|rubygem-jbuilder | |rubygem-jbuilder | ||
|Update to ~> 2.5 | |Update to ~> 2.5 | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1294347 #1294347] | ||
|- | |- | ||
|rubygem-jquery-rails | |rubygem-jquery-rails | ||
| | |Relax rails-dom-testing dependency. Update is blocked by jQuery. | ||
|{{result|pass| | |{{result|pass|vondruch}} | ||
|- | |- | ||
|rubygem-listen | |rubygem-listen | ||
Line 286: | Line 282: | ||
|rubygem-puma | |rubygem-puma | ||
|Create? (~> 3.0) '''TODO''' | |Create? (~> 3.0) '''TODO''' | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1372718 #1372718] | ||
|- | |- | ||
|rubygem-rails-deprecated_sanitizer | |rubygem-rails-deprecated_sanitizer | ||
Line 301: | Line 297: | ||
|- | |- | ||
|rubygem-sass | |rubygem-sass | ||
|No need to update | |No need to update. | ||
|{{result| | |{{result|pass|jaruga}} | ||
|- | |- | ||
|rubygem-sass-rails | |rubygem-sass-rails | ||
| | |~> 5.0.5 | ||
|{{result|pass| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1352576 #1352576] | ||
|- | |- | ||
|rubygem-spring | |rubygem-spring | ||
|No need to update | |No need to update | ||
|{{result|pass|jaruga}} | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1279891 #1279891] | ||
|- | |- | ||
|rubygem-spring-watcher-listen | |rubygem-spring-watcher-listen | ||
|Create? (~> 2.0.0) '''TODO''' | |Create? (~> 2.0.0) '''TODO''' | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1361584 #1361584] | ||
|- | |- | ||
|rubygem-sqlite3 | |rubygem-sqlite3 | ||
Line 326: | Line 322: | ||
|rubygem-turbolinks | |rubygem-turbolinks | ||
|Update to 5.x | |Update to 5.x | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1352597 #1352597] | ||
|- | |- | ||
|rubygem-turbolinks-source | |rubygem-turbolinks-source | ||
|Create? '''TODO''' | |Create? '''TODO''' | ||
|{{result| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1359224 #1359224] | ||
|- | |- | ||
|rubygem-uglifier | |rubygem-uglifier | ||
|No need to update. Fix the build failure. | |No need to update. Fix the build failure. | ||
|{{result| | |{{result|pass|jaruga}} [https://bugzilla.redhat.com/show_bug.cgi?id=1357879 #1357879] | ||
|- | |- | ||
|rubygem-web-console | |rubygem-web-console | ||
| | |Update to >= 3.1 | ||
|{{result|pass| | |{{result|pass|vondruch}} [https://bugzilla.redhat.com/show_bug.cgi?id=1291685 #1291685] | ||
|} | |} | ||
Line 377: | Line 373: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
* No special hardware is needed. | |||
=== To test Rails 5.0 from upstream === | |||
<pre> | <pre> | ||
gem install rails -v 5.0.x | gem install rails -v 5.0.x | ||
Line 389: | Line 384: | ||
</pre> | </pre> | ||
* Go to http://127.0.0.1:3000/ and make sure you are running Rails 5.0.x | * Go to http://127.0.0.1:3000/ and make sure you are running Rails 5.0.x | ||
=== To test only Rails itself === | |||
<pre> | <pre> | ||
dnf install rubygem- | dnf install rubygem-rails | ||
rails new app | rails new app | ||
cd app && rails s | cd app && rails s | ||
</pre> | </pre> | ||
* To test the complete feature including generating a new Rails app using RPM | * Go to http://127.0.0.1:3000/ and make sure you are running Rails 5.0.x | ||
=== To test the complete feature including generating a new Rails app using RPM === | |||
<pre> | <pre> | ||
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 new app --skip-bundle && cd app | ||
rails s | rails s | ||
Line 449: | Line 449: | ||
* http://edgeguides.rubyonrails.org/5_0_release_notes.html | * http://edgeguides.rubyonrails.org/5_0_release_notes.html | ||
[[Category: | [[Category:ChangeAcceptedF25]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> |
Latest revision as of 17:13, 16 November 2016
Ruby on Rails 5.0
Summary
Ruby on Rails 5.0 is the latest version of well known web framework written in Ruby.
Owner
- Name: Jun Aruga, Pavel Valena, Vít Ondruch
- Email: jaruga@redhat.com, pvalena@redhat.com, vondruch@redhat.com, ruby-sig@lists.fedoraproject.org
- Release notes owner:
Current status
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 4.2 in Fedora 24 to 5.0 (latest version) in Fedora 25. 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.0 will bring ActionCable (A new framework that seamlessly integrates WebSockets with the rest of your Rails application), API mode (You can create a new Rails application using rails new backend --api), ActionRecord attributes with a type on a model, and exclusive use of rails CLI over Rake.
Scope
- Proposal owners:
- The whole Rails stack has to be updated
- Some dependencies of the Rails stack will need update
List of packages needed by Rails 5.0 to generate basic application
Package name | Task | Status |
---|---|---|
rubygem-actioncable | Create (5.0.x) | #1354545 |
rubygem-actionmailer | Update to 5.0.x | #1351811 |
rubygem-actionpack | Update to 5.0.x | #1351812 |
rubygem-actionview | Update to 5.0.x | #1351813 |
rubygem-activejob | Update to 5.0.x | #1351814 |
rubygem-activemodel | Update to 5.0.x | #1351815 |
rubygem-activerecord | Update to 5.0.x | #1351816 |
rubygem-activesupport | Update to 5.0.x | #1351817 |
rubygem-arel | Update to 7.x | #1292628 |
rubygem-builder | No need to update | |
rubygem-bundler | No need to update | |
rubygem-concurrent-ruby | No need to update | |
rubygem-erubis | No need to update | |
rubygem-globalid | Update to >= 0.3.6 | #1296970 |
rubygem-i18n | No need to update | |
rubygem-loofah | No need to update | |
rubygem-mail | Latest version | #1320765 |
rubygem-method_source | No need to update | |
rubygem-mime-types | Update to 3.1 (latest version) because of rubygem-mime-types-data | #907393 |
rubygem-mime-types-data | #1351575 | |
rubygem-minitest | No need to update | |
rubygem-nio4r | Create (~> 1.2) | #1315801 |
rubygem-nokogiri | No need to update | |
rubygem-pkg-config | No need to update | |
rubygem-rack | Update to 2.x | #1352603 |
rubygem-rack-test | No need to update | |
rubygem-rails | Update to 5.0.x | #1352604 |
rubygem-rails-dom-testing | Update to ~> 2.0 (It does not need to update at 5.0.0.rc2, but it needs to update at 5.0.0) | #1297006 |
rubygem-rails-html-sanitizer | No need to update | |
rubygem-railties | Update to 5.0.x | #1352605 |
rubygem-rake | No need to update | |
rubygem-sprockets | No need to update. Fix the build failure. | #1352650 |
rubygem-sprockets-rails | No need to update | |
rubygem-thor | No need to update | |
rubygem-thread_safe | No need to update | |
rubygem-tzinfo | No need to update | |
rubygem-websocket-driver | Update to ~> 0.6.1 | #1171085 |
rubygem-websocket-extensions | No need to update |
List of optional packages, required by the basic Ruby on Rails application
Package name | Task | Status |
---|---|---|
rubygem-byebug | No need to update | |
rubygem-coffee-rails | No need to update. Fix the build failure. | #1357056 |
rubygem-coffee-script | No need to update. Fix the build failure. | #1357047 |
rubygem-coffee-script-source | No need to update | |
rubygem-debug_inspector | No need to update | |
rubygem-execjs | No need to update. Fix the build failure. | #1357592 |
rubygem-ffi | No need to update | |
rubygem-jbuilder | Update to ~> 2.5 | #1294347 |
rubygem-jquery-rails | Relax rails-dom-testing dependency. Update is blocked by jQuery. | |
rubygem-listen | No need to update | |
rubygem-multi_json | No need to update | |
rubygem-puma | Create? (~> 3.0) TODO | #1372718 |
rubygem-rails-deprecated_sanitizer | No need to update | |
rubygem-rb-fsevent | No use | |
rubygem-rb-inotify | Latest version | #1305192 |
rubygem-sass | No need to update. | |
rubygem-sass-rails | ~> 5.0.5 | #1352576 |
rubygem-spring | No need to update | #1279891 |
rubygem-spring-watcher-listen | Create? (~> 2.0.0) TODO | #1361584 |
rubygem-sqlite3 | No need to update | |
rubygem-tilt | No need to update | |
rubygem-turbolinks | Update to 5.x | #1352597 |
rubygem-turbolinks-source | Create? TODO | #1359224 |
rubygem-uglifier | No need to update. Fix the build failure. | #1357879 |
rubygem-web-console | Update to >= 3.1 | #1291685 |
The lists are compiled from the result of "bundle list" and "Gemfile.lock" after both installing rails, and creating new Rails app.
- Other developers: Update Rails dependent packages to be working with Ruby on Rails 5.0
- Release engineering: Not needed.
- Policies and guidelines: Not needed
- 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: http://guides.rubyonrails.org/upgrading_ruby_on_rails.html
How To Test
- No special hardware is needed.
To test Rails 5.0 from upstream
gem install rails -v 5.0.x rails new app cd app && rails s
- Go to http://127.0.0.1:3000/ and make sure you are running Rails 5.0.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.0.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.0.x
User Experience
- New version of Ruby on Rails (5.0) available
- The most significant Rails 5.0 features:
- ActionCable: user can use WebSockets with the rest of your Rails application.
- API mode: uesr can create a Rails application for API server easily with API mode.
- Exclusive use of rails CLI over Rake. Add bin/rails test, bin/rails db:migrate. Now bin/rails is the one master command to rule them all.
- ActionRecord attributes: user can override ActiveRecord attributes if needed.
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 now
- Following gems don't support Rails 5.0 right now and would be broken by the update:
- none now
- As Rails requires Ruby >= 2.2.2, the platform less than the version can not use Rails 5.0.
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