Liberada la versión 2.2.0 de Ruby

Estamos muy contentos de anunciar la entrega final de Ruby 2.2.0.

Ruby 2.2 incluye mucha funcionalidad nueva y mejoras para las necesidades modernas de Ruby.

Por ejemplo, el Recolector de Basura ahora puede deshacerse de objetos de clase Symbol. Esto reduce el uso de memoria de los objectos de esta clase; versiones anteriores a 2.2 no eliminaban de memoria este tipo de objetos. Uno de los requerimientos de Rails 5.0 es precisamente que este tipo de objetos sean recolectados, por lo tanto solo podrá ser soportado en la versión Ruby 2.2 o superiores. (Ver el post de la entrega de Rails 4.2 para más detalles.)

También se va a reducir el tiempo de espera gracias al nuevo Recolector de Basura Incremental lo que será muy util para las aplicaciones de Rails. Algunos avances recientes mencionados en el blog de Rails sugieren que Rails 5.0 va a beneficiarse del Recolector de Basura Incremental así como de la eliminación de objetos Symbol.

Otra característica nueva relacionada al manejo de memoria es una opción adicional en configure.in para utilizar jemalloc Característica #9113. Esta funcionalidad es experimental y se encuentra actualmente deshabilitada por defecto hasta que podamos recolectar más datos del desempeño y casos de uso. Cuando estemos convencidos de que es un beneficio, habilitaremos la opción por defecto.

También ha sido incorporado soporte experimental para utilizar vfork(2) con system() y spawn(). Puedes leer más detalles en el blog en japonés de tanaka-san. Esta característica podría potencialmente traer beneficios enormes de velocidad cuando se ejecuten procesos muy grandes varias veces. Aún así, vfork(2) no ha sido debidamente estudiado y podría generar llamadas al sistema dañinas. Queremos experimentar más para saber que tanto beneficio se puede obtener recolectando información de desempeño y otros casos de uso.

¡Disfruta programar con Ruby 2.2.0 y avísanos si encuentras algún problema!

Cambios notables desde 2.1

Para más detalles pueden leer NEWS en el repositorio de Ruby.

Con estos cambios, 1557 archivos cambiaron, 125039 inserciones (+), 74376 borrados(-) desde v2.1.0!

Descarga

  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.bz2
    • SIZE: 13304042 bytes
    • MD5: d03cd4690fec1fff81d096d1c1255fde
    • SHA256: 1c031137999f832f86be366a71155113675b72420830ce432b777a0ff4942955
    • SHA512: 04edc53e8cd1732c3ca61ebeb1d6133614beb10f77f9abb80d8d36352fe8aa205112068e460bf600b2c7e81e0ddcc3b311e7e027c320366f1bd992b3e378a6ad
  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
    • SIZE: 16494584 bytes
    • MD5: cd03b28fd0b555970f5c4fd481700852
    • SHA256: 7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc
    • SHA512: 1ba0c68e1c8d2b60bbd1e218cf36463edbe34cf9418d7593702b631e68d02297465f752e71395f6cfa4104f4cd70a1eb44381ffb74bc7801758b830931fdcfc6
  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.xz
    • SIZE: 10304244 bytes
    • MD5: 54b43c6c6c9dd4c4b08ceb03ad0ded7a
    • SHA256: 848714e280fc5fb44dbac3b060b206e56c1947006324ee68a174d68b483ef8ca
    • SHA512: cd7e52faa464df8aca7ccfa23a5f06248e1ad82bc8c9f1829aa1b51ff37b15973b8caaa68e914d837325b8d59427fda4f3cad82c50925e1c84e688324a2a155d
  • https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.zip
    • SIZE: 18441027 bytes
    • MD5: f8e1d0cee4f2d9535a9529ed23ae3700
    • SHA256: e06c1e2b1248cf881749833084b2bec93f7612676009190ff9bc89b8fd07c29f
    • SHA512: 364dd927b496520d95a1b06c68e1a265015f4cab08bdf3efaa323d385e7bf075eae47f2e1db78a629db0f3c0c1ed24e086603ba21e2da02ac06dd3c8b716766e