The release mostly contains bugfixes, but there are also a few changes any 1.9 adopter need to be aware of, as they change behavior:
* Enumerable#zip behavior reverted to 1.8 one. string
* Hash#flatten no longer work recursively.
Ruby creator Yukihiro Matsumoto ("Matz") clarifies the new behavior of
Hash#flatten
: I meanThere are also a few notable additions, such as
{a: [:a,1], b: 2}.flatten
to give
[:a, [:a, 1], :b, 2]
not
[:a, :a, 1, :b, 2]
as it used to.
Proc#curry
, recently discussed here at InfoQ. Other additions: * Math.cbrt added.Adopters of Ruby 1.9 can use Multiruby to run tests on multiple Ruby versions to quickly determine changes in behavior.
* Math.{gamma,lgamma} added.
* import RubyGems r1601.
* Proc#curry added.
* Oniguruma 5.9.1
* added UTF-16,CP949,EUC-KR,GB12345,UCS-{2,4}{BE,LE},GBK,CP936,CP949, GB2312,UTF-7,BIG5,EUC-TW,GB18030,KOI8,KOI8-R,KOI8-U,Windows-1251 support.
While Ruby 1.9 development is moving ahead, the stable 1.8.x branch will still be maintained. Akinori Musha posted a schedule for the work on Ruby 1.8.7, the next stable release of the 1.8 branch. While the specific changes are still to be determined, the release date is aimed at late April 2008.