Forum: Ruby-dev Ruby 2.2.0 Released

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
9361878d459f1709feec780518946ee5?d=identicon&s=25 NARUSE, Yui (Guest)
on 2014-12-25 10:43
(Received via mailing list)
We are pleased to announce the release of Ruby 2.2.0.

Ruby 2.2 includes many new features and improvements for the
increasingly
diverse and expanding demands for Ruby.

For example, Ruby's Garbage Collector is now able to collect Symbol
type objects.
This reduces memory usage of Symbols; because GC was previously unable
to collect them before 2.2.
Since Rails 5.0 will require Symbol GC, it will support only Ruby 2.2 or
later.
(See [Rails 4.2 release
post](http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final/) for
details.)

Also, a reduced pause time thanks to the new Incremental Garbage
Collector will be helpful for running Rails applications. Recent
developments mentioned on the [Rails
blog](http://weblog.rubyonrails.org/) suggest that Rails 5.0 will take
advantage of Incremental GC as well as Symbol GC.

Another feature related to memory management is an additional option
for `configure.in` to use jemalloc
[Feature #9113](https://bugs.ruby-lang.org/issues/9113).
This feature is still experimental and currently disabled by default
until we gather performance data and more use cases. When we are
convinced of the benefits, this feature will be enabled by default.

Experimental support for using vfork(2) with system() and spawn() have
also been added. You can read more detail on [tanaka-san's blog in
Japanese](http://www.a-k-r.org/d/2014-09.html#a2014_09_06).
This could potentially bring huge speed-up when a large process
executes external commands many times.
However vfork(2) is still not well understood and a potentially
harmful system call. We would like to experiment to find out how much
benefit can be gained by gathering performance data and use cases.

Try and enjoy programming with Ruby 2.2.0, and report us your findings!

## Notable Changes since 2.1

* [Incremental GC](https://bugs.ruby-lang.org/issues/10137) ([YARV
Maniacs No.12](http://magazine.rubyist.net/?0048-YARVManiacs))
* [Symbol GC](https://bugs.ruby-lang.org/issues/9634) ([presentation
at RubyKaigi 2014](http://www.slideshare.net/authorNari/symbol-gc))
* configure --with-jemalloc [Feature
#9113](https://bugs.ruby-lang.org/issues/9113)
* core libraries:
  * Support Unicode 7.0 [#9092](https://bugs.ruby-lang.org/issues/9092)
  * New methods:
    * Enumerable#slice_after
[#9071](https://bugs.ruby-lang.org/issues/9071), Enumerable#slice_when
[#9826](https://bugs.ruby-lang.org/issues/9826)
    * Float#next_float, Float#prev_float
[#9834](https://bugs.ruby-lang.org/issues/9834)
    * File.birthtime, File#birthtime
[#9647](https://bugs.ruby-lang.org/issues/9647)
    * String#unicode_normalize
[#10084](https://bugs.ruby-lang.org/issues/10084)
* bundled libraries:
  * Update Psych 2.0.8
  * Update Rake 10.4.2
  * Update RDoc 4.2.0
  * Update RubyGems 2.4.5
  * Update test-unit 3.0.8 (removed from repository but bundled
in tarball)
  * Update minitest 5.4.3 (removed from repository but bundled in
tarball)
  * Deprecate mathn
* C API
  * Remove deprecated APIs

See [NEWS in ruby repository
(WIP)](https://github.com/ruby/ruby/blob/v2_2_0/NEWS) for details.

With those changes, 1557 files changed, 125039 insertions(+), 74376
deletions(-) from v2.1.0!

## Download

* <http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0...
  * SIZE:   13304042 bytes
  * MD5:    d03cd4690fec1fff81d096d1c1255fde
  * SHA256:
1c031137999f832f86be366a71155113675b72420830ce432b777a0ff4942955
  * SHA512:
04edc53e8cd1732c3ca61ebeb1d6133614beb10f77f9abb80d8d36352fe8aa205112068e460bf600b2c7e81e0ddcc3b311e7e027c320366f1bd992b3e378a6ad
* <http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0...
  * SIZE:   16494584 bytes
  * MD5:    cd03b28fd0b555970f5c4fd481700852
  * SHA256:
7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
  * SHA512:
1ba0c68e1c8d2b60bbd1e218cf36463edbe34cf9418d7593702b631e68d02297465f752e71395f6cfa4104f4cd70a1eb44381ffb74bc7801758b830931fdcfc6
* <http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0...
  * SIZE:   10304244 bytes
  * MD5:    54b43c6c6c9dd4c4b08ceb03ad0ded7a
  * SHA256:
848714e280fc5fb44dbac3b060b206e56c1947006324ee68a174d68b483ef8ca
  * SHA512:
cd7e52faa464df8aca7ccfa23a5f06248e1ad82bc8c9f1829aa1b51ff37b15973b8caaa68e914d837325b8d59427fda4f3cad82c50925e1c84e688324a2a155d
* <http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.zip>
  * SIZE:   18441027 bytes
  * MD5:    f8e1d0cee4f2d9535a9529ed23ae3700
  * SHA256:
e06c1e2b1248cf881749833084b2bec93f7612676009190ff9bc89b8fd07c29f
  * SHA512:
364dd927b496520d95a1b06c68e1a265015f4cab08bdf3efaa323d385e7bf075eae47f2e1db78a629db0f3c0c1ed24e086603ba21e2da02ac06dd3c8b716766e
308cbef6e86dfc49cce3b2d4cf42aedc?d=identicon&s=25 SASADA Koichi (Guest)
on 2014-12-25 10:55
(Received via mailing list)
On 2014/12/25 18:42, NARUSE, Yui wrote:
> We are pleased to announce the release of Ruby 2.2.0.

Congrats!
2abdb50caf0dc5b510330f68b02db8e4?d=identicon&s=25 Rodrigo Rosenfeld Rosas (Guest)
on 2014-12-25 12:12
(Received via mailing list)
I can't install it in any of our Ubuntu servers using rbenv:

relocation R_X86_64_32S against `.rodata' can not be used when making a
shared object; recompile with -fPIC

or:

/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation
R_X86_64_32S against `.rodata' can not be used when making a shared
object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1

I couldn't test in my Debian sid environment since I use RVM and RVM
tries to install 2.2.0-rc1 when I ask it to install 2.2.0 after rvm get
head.

Any ideas on what could that be?
Eabad423977cfc6873b8f5df62b848a6?d=identicon&s=25 SHIBATA Hiroshi (Guest)
on 2014-12-25 12:32
(Received via mailing list)
> ./libffi-3.2.1/.libs/libffi.a: error adding symbols: Bad value
> collect2: error: ld returned 1 exit status
> make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1
>
> I couldn't test in my Debian sid environment since I use RVM and RVM tries
> to install 2.2.0-rc1 when I ask it to install 2.2.0 after rvm get head.
>
> Any ideas on what could that be?

Please install libffi and libffi-dev via apt-get
2abdb50caf0dc5b510330f68b02db8e4?d=identicon&s=25 Rodrigo Rosenfeld Rosas (Guest)
on 2014-12-25 13:15
(Received via mailing list)
On 25-12-2014 09:31, SHIBATA Hiroshi wrote:
>> ./libffi-3.2.1/.libs/libffi.a: error adding symbols: Bad value
>> collect2: error: ld returned 1 exit status
>> make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1
>>
>> I couldn't test in my Debian sid environment since I use RVM and RVM tries
>> to install 2.2.0-rc1 when I ask it to install 2.2.0 after rvm get head.
>>
>> Any ideas on what could that be?
> Please install libffi and libffi-dev via apt-get

Thank you! That did the trick :)

Have a merry Christmas! :)
F1d6cc2b735bfd82c8773172da2aeab9?d=identicon&s=25 Nobuyoshi Nakada (nobu)
on 2014-12-25 13:57
(Received via mailing list)
On 2014/12/25 21:14, Rodrigo Rosenfeld Rosas wrote:
>> Please install libffi and libffi-dev via apt-get
>
> Thank you! That did the trick :)

Or configure with --enable-shared.
054b5f6b8afdd5f6190bad08e46cd782?d=identicon&s=25 Zachary Scott (Guest)
on 2014-12-25 17:31
(Received via mailing list)
Congrats all! Thank you for your hard work and continued support of
Ruby.

See you all next year <3 <3 <3 <3
Happy holidays!!!
2abdb50caf0dc5b510330f68b02db8e4?d=identicon&s=25 Rodrigo Rosenfeld Rosas (Guest)
on 2014-12-25 22:27
(Received via mailing list)
Thanks, good to know :-)
Em 25/12/2014 10:57, "Nobuyoshi Nakada" <nobu@ruby-lang.org> escreveu:
This topic is locked and can not be replied to.