socketry / console

MIT License
52 stars 13 forks source link

Ruby version compatibility #35

Closed pvande closed 2 years ago

pvande commented 2 years ago

Recent changes (this one in particular, perhaps others) have broken compatibility with older Ruby versions (notably, pre 2.7). This is in conflict with the gemspec, which indicates compatibility with Ruby 2.5+.

ioquatix commented 2 years ago

Thanks for letting me know, I'll fix this.

ioquatix commented 2 years ago

I'm not testing further back than 2.7.0 - I apologies this may have caused some problems for you. So, for now, if you are using Ruby < 2.7 I recommend pin to ~> 1.5.0.

I might yank the 1.6.0 and 1.6.1 releases to avoid future problems.

ioquatix commented 2 years ago

Okay, yanking done, 1.16.0 and 1.16.1 are gone, and https://rubygems.org/gems/console/versions/1.16.2 requires >= 2.7.

Hope this addresses the issue.

pvande commented 2 years ago

The issue only ever manifested in our CI system, thankfully. Our dependency on console is transient (through async), so pinning the version would require us to introduce a direct dependency on console.

Updating the version requirement has resolved the issue. Thank you for the prompt response!

ahorek commented 2 years ago

it still breaks on ruby 2.7.0 - 2.7.2 https://github.com/socketry/console/blob/main/lib/console/progress.rb#L76

@output.info(@subject, ...)
syntax error, unexpected end-of-input, expecting `end'

the new syntax is fully supported since ruby 2.7.3

ioquatix commented 2 years ago

@ahorek thanks, I didn't know it. I'll set the minimum version to be 2.7.3.

Thanks!