Hacker News new | past | comments | ask | show | jobs | submit login
Support of Ruby 2.3 has ended (ruby-lang.org)
44 points by proboscis 6 days ago | hide | past | web | favorite | 18 comments

Was this a particularly popular version? Does this affect a lot of projects?

The beauty of Ruby is that upgrading Ruby versions is not much of an issue most of the time. Most deprecations are also simple to fix.

I'd disagree with the upgrade from 2.3 to 2.4:

> 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.


How many C extensions does the average Ruby developer maintain?

The question should be: how many C extensions does the average Ruby developer have in their Gemfile. And my guess would ranging from a few to many.

most of the time :|

anyone remember 1.8 to 1.9 brutal

No. It wasn't that brutal compared to Rails 2 to 3 that was much more painful :-)

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.

hah. try 1.8 -> 1.9 w/ Rails 2-> 3 happening at the same time :))))

I joined a project that did that, luckily I joined by the end, but I could see the toll it had on the other developers.

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.

Why does Debian ship such ludicrously old versions of software?

> Ruby 2.3.0 was released on Christmas Day in 2015

> 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.

> 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?

> 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.

That's how Debian stable works.

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.

The post will be complete with a guidance how to upgrade Ruby 2.3 itself ;)

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).

[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...

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?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact