-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drop support for Ruby 2.3 #168
Conversation
The build doesn't work and this version has been EOL for years. We will consider also dropping support for 2.4 once the build stops passing on that version.
Ruby 2.3 can still be tested against Linux and Windows but, given the cross-platform nature of this gem, I do understand not wanting to officially support something that we can't test everywhere. Would this be a major version increase event? |
Bumping major version sounds good to me! What I'm puzzled by is why the JRuby build started failing for seemingly no reason. You can see it passed on one commit and then started failing on another commit that was just a copy change. |
Oh. Right, the OSX/Ruby 2.3 combo stopped working months ago, even with no code changes. Travis still has it as an offered combination but it got broken somehow and I guess that they still haven't fixed it. I took it out of my other projects already. I figure that if I know that my stuff works on OSX and for both earlier and later versions than 2.3, then it is reasonably unlikely that I'll add code that would somehow break only that one combination that I no longer test. |
Alright, managed to get the JRuby build to pass with a tweak to the RubyGems and Bundler versions installed. |
This version is EOL.
I could be wrong, but I don't think dropping support for Ruby 2.3 requires a major version release: https://semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api |
Without incrementing the major version, teams who have the following in their gem 'childprocess', '~> 3.0' ...and running Ruby 2.3 would suddenly start to see failures when installing, since we added a constraint on Ruby version in the gemspec: childprocess/childprocess.gemspec Line 21 in 6ace7a6
Bumping ensures teams opt-in to the new version and dependency requirements explicitly. If I've misunderstood your point, let me know! |
@mvz Even if changing platform limitations does not break the letter of Semver, it would seem to break the spirit of it. That spirit being: "this thing can keep doing what it did before". Speaking from experience, one of the more surprising/annoying things to deal with when it comes to maintaining my projects is having to stick in all kinds of version limits and conditionals because some library decided to put out a patch level release that renders their library unusable for a huge swath of users. Summary: the code didn't change but how it is used did. |
I think this used to be the case for older rubies/rubygems but shouldn't be the case any longer? I agree the Ruby version is a special case because it's handled differently from other versioned dependencies, and there used to be problems with that, but I think those should be resolved now.
I would argue that that is exactly why this is mentioned specifically on the Semver website: Your dependencies don't count, and the package manager should deal with it. As I mention above, bundler and rubygems should be able to do so now. (The reason I'm going on about this is that I'm now going to have to release a new Aruba version just to allow the new childprocess version for dependent projects. It's not a big deal, but I'd prefer this to be seamless). |
You're right about Bundler! I wasn't aware this feature was added. You'll only see an issue if you specify the version explicitly. TIL. RubyGems will still fail, however:
For that reason, I think the major version bump is still the pragmatic choice here, but I'm glad to see Bundler supports finding a version that is compatible with the Ruby version constraints. Thanks for the tip! |
Unsurprisingly, we are not the first people to have this conversation. ;) https://www.reddit.com/r/ruby/comments/7vtceq/when_is_it_okay_to_drop_support_for_ruby_versions/ |
The build doesn't work and this version has been EOL for years. We will consider also dropping support for 2.4 once the build stops passing on that version.