From Fedora Project Wiki
No edit summary
(Add tracking bug)
 
(4 intermediate revisions by the same user not shown)
Line 25: Line 25:
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. -->
Ruby 2.2 is the latest stable version of Ruby. Many new features and improvements are included for the increasingly diverse and expanding demands for Ruby. With this major update from Ruby 2.1 in Fedora 21 to Ruby 2.2 in Fedora 22, alongside JRuby, Fedora becomes the superior Ruby development platform.
Ruby 2.2 is the latest stable version of Ruby. Many new features and improvements are included for the increasingly diverse and expanding demands for Ruby. With this major update from Ruby 2.1 in Fedora 21 to Ruby 2.2 in Fedora 22, alongside JRuby, Fedora becomes the superior Ruby development platform.


== Owner ==
== Owner ==
Line 55: Line 54:
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: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1182492 #1182492]


== Detailed Description ==
== Detailed Description ==
Line 165: Line 164:
https://github.com/ruby/ruby/blob/v2_2_0/NEWS
https://github.com/ruby/ruby/blob/v2_2_0/NEWS


[[Category:ChangeReadyForWrangler]]
[[Category:ChangeAcceptedF22]]
<!-- 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 09:48, 15 January 2015


Ruby 2.2

Summary

Ruby 2.2 is the latest stable version of Ruby. Many new features and improvements are included for the increasingly diverse and expanding demands for Ruby. With this major update from Ruby 2.1 in Fedora 21 to Ruby 2.2 in Fedora 22, alongside JRuby, Fedora becomes the superior Ruby development platform.

Owner

  • Name: Vít Ondruch
  • Email: vondruch@redhat.com
  • Release notes owner:

Current status

Detailed Description

Ruby 2.2 is upstream's new major release of Ruby. Notable changes are:

  • Incremental GC
  • Symbol GC
  • core libraries:
    • Support Unicode 7.0
    • New methods in Enumerable, Float, File and String classes
  • bundled libraries
    • Updated Psych 2.0.6, Rake 10.4.0, RDoc 4.2.0, Update RubyGems 2.4.4+, test-unit 3.0.7, minitest 5.4.3
    • Deprecate mathn, DL
  • C API
    • Remove deprecated APIs

Ruby 2.2 is source level backward compatible with Ruby 2.1, so your software will continue to work.

Benefit to Fedora

With a latest release, Ruby language is supporting the newest language features, which enables even faster and easier development of Ruby applications.

Scope

  • Proposal owners:
    • Finish packaging of Ruby 2.2. Current changes available in private-ruby-2.2 branch of ruby package in dist-git.
    • Rebuilding of Ruby packages providing native extensions (i.e. packages which depends on libruby).
  • Other developers:
    • Rebuild of packages with binary extensions (i.e. packages which depends on libruby) will be handled automatically, but some packages might need fixes/updates to support Ruby 2.2 properly.
  • Release engineering:
    • Separate Koji tag for package rebuild will be needed. The same tag will be used for Ruby on Rails 4.2 change proposal as well.
  • Policies and guidelines:
    • Since testrb tool suggested by guidelines to execute test suite was deprecated, the packaging guidelines needs minor update to reflect this change (fortunately this change was already reflected in most packages).

Upgrade/compatibility impact

  • User specific Ruby binary extensions need to be rebuild.

How To Test

  • No special hardware is needed.
  • To test, install Ruby 2.2. The test builds are pusblished on Ruby-SIG ML
  • Try to locally rebuild your packages using Ruby 2.2.
  • Use the packages with your applications previously written in Ruby.
  • If something doesn't work as it should, let us know.

User Experience

The Ruby programmes/scripts should behave as they were used to.

Dependencies

The packages depending on libruby.so will need to be rebuid:

$ dnf repoquery --disablerepo=* --enablerepo=rawhide --enablerepo=rawhide-source --arch=src --whatrequires 'ruby-devel' | sort | uniq | wc -l
146

Contingency Plan

  • Contingency mechanism: We would like to get a special buildroot tag to be able to rebuild necessary the packages with Ruby 2.2. If anything goes wrong, the tag could be easily dropped and previous version of Ruby 2.1 and its dependencies stays intact. The tag would be merged into F22 after everything is rebuild.
  • Contingency deadline: TBD (probably F22 software string freeze)
  • Blocks release? No (not a System Wide Change), Yes/No

Documentation

http://www.ruby-doc.org/

Release Notes

  • The Ruby 2.2 bumps soname, therefore Ruby packages, which use binary extensions, should be rebuilt. Nevertheless, since upstream payed great attention to source compatibility, no changes to your code are needed.

https://github.com/ruby/ruby/blob/v2_2_0/NEWS