Skip to content
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.0, 2.1, and 2.2 #148

Merged
merged 1 commit into from
Feb 8, 2019
Merged

Drop support for Ruby 2.0, 2.1, and 2.2 #148

merged 1 commit into from
Feb 8, 2019

Conversation

sds
Copy link
Collaborator

@sds sds commented Feb 3, 2019

These Ruby versions are no longer supported. Including these in our CI builds slows the feedback cycle and introduces a maintenance burden for which there is no clear user base.

These Rubies have not been supported for quite some time:

  1. Ruby 2.0 since Februrary 24th, 2016
  2. Ruby 2.1 since April 1st, 2017
  3. Ruby 2.2 since June 20th, 2018

[1] https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/
[2] https://www.ruby-lang.org/en/news/2017/04/01/support-of-ruby-2-1-has-ended/
[3] https://www.ruby-lang.org/en/news/2018/06/20/support-of-ruby-2-2-has-ended/

Opening this for any comments. Is there a good reason to maintain support for these versions?

Once merged, this would likely prompt a bump to version 2.0.0, given the introduction of the Ruby version constraint to the gemspec.

These Ruby versions are no longer supported. Including these in our CI
builds slows the feedback cycle and introduces a maintenance burden for
which there is no clear user base.

1. Ruby 2.0 on Februrary 24th, 2016
2. Ruby 2.1 on April 1st, 2017
3. Ruby 2.2 on June 20th, 2018

[1] https://www.ruby-lang.org/en/news/2016/02/24/support-plan-of-ruby-2-0-0-and-2-1/
[2] https://www.ruby-lang.org/en/news/2017/04/01/support-of-ruby-2-1-has-ended/
[3] https://www.ruby-lang.org/en/news/2018/06/20/support-of-ruby-2-2-has-ended/
@sds sds requested a review from enkessler February 3, 2019 08:01
@coveralls
Copy link

Coverage Status

Coverage remained the same at 94.825% when pulling 3625b6c on require-ruby-2.3 into fb4d23f on dev.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage remained the same at 94.825% when pulling 3625b6c on require-ruby-2.3 into fb4d23f on dev.

@enkessler
Copy link
Owner

shrug

For the base gem of the tool chain that I made for my QA activities, I support all the 'major' versions of Ruby. So, 1.8.7, 1.9.3, and the more recent 2.x ones. However, I do this mostly as an exercise in backwards compatibility and because the maintenance burden is pretty low due to the fact that it's all just (more or less) parsing text, so there isn't much to go wrong.

For a more complex gem like childprocess, though? Yeah, it's probably more susceptible to platform specific bugs or edge cases and therefore I can see that keeping its full functionality working for every kind of environment might end up being more effort than it is worth.

1.x, we hardly knew ye. Long live 2.x! Luckily, major versions are cheap with semantic versioning. ;)

Copy link
Owner

@enkessler enkessler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless there is any more conversation, this looks fine.

@sds
Copy link
Collaborator Author

sds commented Feb 8, 2019

Thanks for the response + review.

Was planning on leaving this up for a week just in case there were any other strong opinions from others. Happy to merge at this point.

@sds sds merged commit b1c09e8 into dev Feb 8, 2019
@sds sds deleted the require-ruby-2.3 branch February 8, 2019 17:29
sds referenced this pull request Jul 11, 2019
After sending TERM to a leader process, `::Process.waitpid2(_pid, ::Process::WNOHANG | ::Process::WUNTRACED)` appears to just return nil under ruby 2.6.

This causes process.stop to send TERM to the process, poll (unsuccessfully) for the exit status until the timeout is hit, then send KILL.
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Mar 24, 2020
Update ruby-childprocessto 3.0.0.


### Version 3.0.0 / 2019-09-20

* [#156](enkessler/childprocess#156 unused `rubyforge_project` from gemspec
* [#160](enkessler/childprocess#160): Remove extension to conditionally install `ffi` gem on Windows platforms
* [#160](enkessler/childprocess#160): Remove runtime dependency on `rake` gem

### Version 2.0.0 / 2019-07-11

* [#148](enkessler/childprocess#148): Drop support for Ruby 2.0, 2.1, and 2.2
* [#149](enkessler/childprocess#149): Fix Unix fork reopen to be compatible with Ruby 2.6
* [#152](https://github.com/enkessler/childprocess/pull/152)/[#154](https://github.com/enkessler/childprocess/pull/154): Fix hangs and permission errors introduced in Ruby 2.6 for leader processes of process groups

### Version 1.0.1 / 2019-02-03

* [#143](enkessler/childprocess#144): Fix installs by adding `rake` gem as runtime dependency
* [#147](enkessler/childprocess#147): Relax `rake` gem constraint from `< 12` to `< 13`

### Version 1.0.0 / 2019-01-28

* [#134](enkessler/childprocess#134): Add support for non-ASCII characters on Windows
* [#132](enkessler/childprocess#132): Install `ffi` gem requirement on Windows only
* [#128](enkessler/childprocess#128): Convert environment variable values to strings when `posix_spawn` enabled
* [#141](enkessler/childprocess#141): Support JRuby on Java >= 9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants