Ruby 2.0.0-rc2 is released

Ruby 2.0.0-rc2 is released. This will be the last release candidate of Ruby 2.0.0.

Please give it a try, and report any issue if you notice.

Locations

New features in 2.0.0

  • Keyword arguments
  • Enumerable#lazy
  • Module#prepend
  • #to_h: Convention for conversion to Hash
  • %i: a literal for symbol array
  • Updated regexp engine: Onigmo (a fork of Oniguruma)
  • Enumerator#size and Range#size were introduced
  • DTrace support
  • TracePoint
  • Optimized require performance (especially, on Windows)
  • NativeClient support
  • Documentation improvement
  • Enhanced asynchronous interrupt handling
  • Launch-time stack size tuning parameters
  • Refinements [experimental]

… and more improvements. See NEWS for details.

Here are some introductory articles by third parties:

(If you volunteer to provide additional articles, we may cite or refer to them in the next release announcement.)

Notes

Incompatibility

There are three notable incompatibilities we know of:

  • The default encoding for ruby scripts is now UTF-8 [#6679]. Some people report that it affects existing programs, such as some benchmark programs becoming very slow [ruby-dev:46547]. The spec may change for the official release.
  • iconv was removed, which had already been deprecated when M17N was introduced in ruby 1.9. Use String#encode, etc. instead.
  • There is ABI breakage [ruby-core:48984]. We think that normal users can/should just reinstall extension libraries. You should be aware: "DO NOT COPY .so OR .bundle FILES FROM 1.9".

There are some comparatively small incompatibilities. [ruby-core:49119] Please report any other incompatibility you notice.

FYI: We are creating upgrade notes, but some parts are already outdated.

Status of Refinements

2.0.0 will include refinements as an "experimental feature" because we could not agree on its detailed spec. Note that the behavior may change in future versions of Ruby.

Special thanks

I appreciate all who try preview and rc1 release! I'm grateful for all the contributors' hard work to fix many bugs. I'm really thankful to all the people who helped me do this release.