2.6.5 breaks 1.8 support
Closed this issue · 6 comments
6b9e9ed 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)
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
Having said that, bumping just the tiny version might have been a mistake. What does SemVer say about this I wonder?
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
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)
I don't think dropping support for a version is something I'd typically expect from a patch release, but thanks for the statement.
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.