Open ianks opened 2 years ago
Wearing my Nokogiri maintainer hat, I try to support the 4 most recent Ruby minors at any time. A policy like this would be fine for me, but I think we should solicit more opinions from other users before committing to anything.
I have amalgalite - which doesn't have a lot of usage, but its still there (and yes, it needs a new release). I think supporting the most recent EOL version (either as an extra commandline, or by default) and all minors going forward with a major version release of RCD after each EOL sounds like a reasonable policy.
RCD is meant to support the release process of other gems with possibly a longer support time frame. That's why I tried to support 2 or 3 EOL releases as long as there is no relevant maintenance burden. And that wasn't the case so far. It only took a little bit more building time on my end and approx 25 MByte per release uncompressed.
Currently, RCD supports all the way down to Ruby 2.4 which has been EOL for almost 3 years.
Not only is there a maintenance burden from supporting more versions, it makes certain refactors harder to do.
I propose come up with a policy for which Ruby versions RCD will support, and how that will affect RCDs semver. The obvious proposal would be to support stable rubies (as of now 2.7+), and release a major version of RCD whenever a Ruby version is EOL.
We can also adjust this scheme to make migration easier — i.e. support the most recent EOL Ruby version (as of now 2.6) via opt-in if it’s included in
RUBY_CC_VERSION
.The goal here is to agree on a support policy going forward, since it’s untenable to support all rubies forever.
Thoughts?