ahoward / systemu

univeral capture of stdout and stderr and handling of child process pid for windows, *nix, etc.
Other
126 stars 33 forks source link

2.6.5 breaks 1.8 support #41

Closed richardc closed 9 years ago

richardc commented 9 years ago

6b9e9edfef makes the read of config use a binary slurp. Unfortunately this uses the open_args parameter which isn't supported by 1.8.7 (http://ruby-doc.org/core-1.8.7/IO.html#method-c-read vs http://ruby-doc.org/core-1.9.3/IO.html#method-c-read)

damphyr commented 9 years ago

1.8.7 reached it's EOL almost two years ago, 1.9.3 last February (the 25th Feb 2015 to be exact).

I suggest locking the version to 2.6.4 in a Gemfile

damphyr commented 9 years ago

Having said that, bumping just the tiny version might have been a mistake. What does SemVer say about this I wonder?

richardc commented 9 years ago

A clear statement as to what versions of ruby are intended to be supported would go a long way.

That 1.8 is EOL doesn't stop users having EL5 installations, and EL5 itself won't out of production for a very long time https://access.redhat.com/support/policy/updates/errata#Life_Cycle_Dates

damphyr commented 9 years ago

This is one of the pain points of maintaining software unfortunately. There is no way - relative to manpower and time investment - for small libraries like this to keep up with LTS versions. Other than that, not locking versions for LTS installed software is also bad practice.

As to the clear statement, let this serve (patches to the README are more than welcome): whatever Ruby version is officially supported at the point in time of the release.

(if I want to be pedantic: I don't know under which definition EL5 is considered production quality when packages used are not only unsupported but haven't been patched for security flaws in over 2 years. This goes far, far beyond the little bit of code that systemu consists of)

richardc commented 9 years ago

I don't think dropping support for a version is something I'd typically expect from a patch release, but thanks for the statement.

damphyr commented 9 years ago

Note for posterity: The tiny version bump (2.6.4 to 2.6.5) reflects a teeny, tiny change in the code base which has absolutely no impact in the API of systemu.

Unfortunately implementation was checked only back to the latest unsupported Ruby version (which happened to be the version that introduced the API used in the implementation).

Suggestion: Setup a CI build with the currently supported Ruby version to catch things like that instead of relying on developer setups.