You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Whilst we build and test for the current supported versions of Ruby (https://www.ruby-lang.org/en/downloads/branches/) we do not (currently) prevent use with other versions. If you feel this should be the case, we can update the gemspec to specify the supported versions of Ruby.
@pacso Since you can't retroactively update the gemspec for 0.17 I just wanted to report what I ran into here for anyone who is searching. I think it's pretty split in the community whether it's best practice for gemspecs to have strict upper bounds on their dependencies. You can cause more trouble than it's worth if you limit the bounds too much and then people are left waiting for you to release a patch before they can upgrade.
It could be helpful to users with old codebases to avoid using the anonymous block argument feature in library code since there are backwards compatible ways to work around it, and it's not improving performance (see the comment about it in the link I shared).
Just for a little more context here - I'm not suggesting that it's a good thing to stay on old versions of Ruby. This came up for me because my company upgrades Ruby/Rails apps, and we often deal with large projects that are pretty deep in a hole. We strongly prefer to do upgrades incrementally and in small pieces, so for example we'd much prefer to upgrade ice_cube and ruby independently, rather than coupling them together in the same PR. That's why I pointed out 0.16.4 above since it's a version of ice_cube that's dual-compatible.
Activity
rellampec commentedon Nov 5, 2024
Lost support for ruby 2.x.x
Line of the error
pacso commentedon Nov 6, 2024
Whilst we build and test for the current supported versions of Ruby (https://www.ruby-lang.org/en/downloads/branches/) we do not (currently) prevent use with other versions. If you feel this should be the case, we can update the gemspec to specify the supported versions of Ruby.
scpike commentedon Nov 6, 2024
@pacso Since you can't retroactively update the gemspec for 0.17 I just wanted to report what I ran into here for anyone who is searching. I think it's pretty split in the community whether it's best practice for gemspecs to have strict upper bounds on their dependencies. You can cause more trouble than it's worth if you limit the bounds too much and then people are left waiting for you to release a patch before they can upgrade.
It could be helpful to users with old codebases to avoid using the anonymous block argument feature in library code since there are backwards compatible ways to work around it, and it's not improving performance (see the comment about it in the link I shared).
pacso commentedon Nov 6, 2024
Thanks @scpike. If you're keen to improve our backwards compatibility feel free to ping over a PR and I'll review it 👍🏻
scpike commentedon Nov 6, 2024
I put up a PR at #562. I then realized it's identical to #561 except that I widened the set of ruby versions being tested against.
scpike commentedon Nov 6, 2024
Just for a little more context here - I'm not suggesting that it's a good thing to stay on old versions of Ruby. This came up for me because my company upgrades Ruby/Rails apps, and we often deal with large projects that are pretty deep in a hole. We strongly prefer to do upgrades incrementally and in small pieces, so for example we'd much prefer to upgrade ice_cube and ruby independently, rather than coupling them together in the same PR. That's why I pointed out 0.16.4 above since it's a version of ice_cube that's dual-compatible.