-
Notifications
You must be signed in to change notification settings - Fork 213
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
RuboCop dependency is too loose #613
Comments
Yea, that's an error on my part, I did not nail the intention on it, though it was to have it looser on the patch, I ended up loosening on the minor version. I don't recall why I ran into this, though I do remember it being an active decision. I'll look at the options for yanking this and fixing it with a new version of standard. |
BackgroundSome more background for arriving to this issue for the first time, here's how Standard has depended on Rubocop since its creation in 2018, because it's changed several times:
ProposalI suggest a two-phase solution. Phase 1: remediationWe cut a special release to trap/funnel anyone for whom pubgrub (Bundler's solver) opts for the
For prior art on how to disable the gem, I put out a similar release v0.0.36.1 that might be helpful. Phase 2: yanking affected gemsPer whatever notice above we land on, on that date, someone should yank these from rubygems.org:
|
Okay we're all set, sorry for the inconvenience everyone. |
It looks like when v1.34.0 was released, the version specifier for rubocop was loosened from 3 places (
~> 1.59.0
) to only 2 (~> 1.60
), which is almost definitely not what we want, because RuboCop introduces standard-breaking changes in almost every minor bump that need to be manually triaged.I caught this because
bundle update
just updated my project to rubocop v1.62.0, but the version of standard didn't change:Based on our mostly-miserable experience dealing with any published version with a too-loose specifier on rubocop, I think this means even if we lock it back down in a subsequent release, users in the future running Bundler will find that its solver will in many cases serve them a very new RuboCop with a soon-to-be-very-old Standard that will definitely be incompatible.
The solution to #340 was to take advantage of the fact nobody was using the ancient versions of Standard in question and we yanked them. Since 1.34.0 is the current release, however, I don't know the right solution.
Perhaps another patch release with no change to the rubocop version specifier that prints a big gnarly message telling them to manually pin to
~> 1.35
and update? (This is what I did with v0.0.36.1 before said yank.)@camilopayan, I'd appreciate your thoughts here
The text was updated successfully, but these errors were encountered: