> Though ISO/IEC 30170:2012 doesn’t specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed.
Just as a data point, Ruby 2.3 is the version in the current Debian Stable (Stretch). Debian is currently in a release freeze with 2.5 in Buster, so it won't be this way for long.
> Stable is the current release and targets stable and well-tested software needs.[122] Stable is made by freezing Testing for a few months where bugs are fixed and packages with too many bugs are removed; then the resulting system is released as stable. It is updated only if major security or usability fixes are incorporated. This branch has an optional backports service that provides more recent versions of some software.
In what sense do they consider unmaintained software to be stable? What do they do if there's a security vulnerability in a feature that's been removed so there's nothing to backport? Stable as in dead.
depends on where you are going to, ideally you would go for 2.6. the vast majority of gems is compatible with 2.6 so it would mostly be fixing internal code.
the main change I remember would be the Fixnum/Bignum disappearing in favor of the Integer parent class [1][2][3] (which isn't hard to fix).
also if you are stuck on 2.3 you might have a lot of other issues too (like outdated gems).
Looking to upgrade an app from 2.3. What is the upgrade path? Can I just go to the latest version? Should I be watching for any regressions? Where would I find breaking changes?
20 comments
[ 2.8 ms ] story [ 52.4 ms ] threadanyone remember 1.8 to 1.9 brutal
But at the time I thought that the transition to 1.9 was handled poorly and took way too long.
Little did I know that Python 2.7 would still be supported today.
> Though ISO/IEC 30170:2012 doesn’t specify details of the Integer class, Ruby had two visible Integer classes: Fixnum and Bignum. Ruby 2.4 unifies them into Integer. All C extensions which touch the Fixnum or Bignum class need to be fixed.
https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-rele...
> Debian 8 (Jessie), released 25–26 April 2015 > Debian 9 (Stretch) was released on 17 June 2017
It was 8 months old when Debian 8 shipped.
I don't know what you're trying to say with that - if it was already 8 months old why wasn't it included? Why are these packages always so old?
That's how Debian stable works.
the main change I remember would be the Fixnum/Bignum disappearing in favor of the Integer parent class [1][2][3] (which isn't hard to fix).
also if you are stuck on 2.3 you might have a lot of other issues too (like outdated gems).
[1]: https://www.ruby-lang.org/en/news/2016/12/25/ruby-2-4-0-rele... [2]: https://www.ruby-lang.org/en/news/2017/12/25/ruby-2-5-0-rele... [3]: https://www.ruby-lang.org/en/news/2018/12/25/ruby-2-6-0-rele...