-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Conservative updates no longer respect yanked crates since Rust 1.26.0 #6609
Comments
Long-term I've always felt that our way of handling "locked" registries and such is a bit of a hack so I'd love to change it all, but I have no idea how we'd change it all! In the near-term I think a fix for this would be to update the registry source to take a whitelist of crates that are allowed to be yanked. We'd just take all The line here would then be removed in favor of just checking against the internal whitelist which was specified at construction time. This way "poisoning the registry" shouldn't affect the |
I don't know the code around/that-calls the resolver well enough to have a holistic solution for the long-term, but I do have On topick. Yes, the plan of having a list of allowed |
I talked some with @Eh2406 on Discord about this today and I think they're gonna try to tackle this in the near future. |
I am at a meetup. I was discussing what I was working on. As I was describing the bug each person, one by one, sead "hey we have been hitting that bug". So I think this is much more problematic than the reports suggests. When we get this fixed maybe we should consider backporting. |
keep track of crates that are whitelisted to be used even if yanked This is a start on #6609. It definitely needs tests that the bug is fixed, and to reduce the clones. But for now let's see what CI thinks.
Should we backport #6611 or should we just close this? |
Given the number of people experiencing this, I would be in favor of backporting 👍 |
Looks like this change is in nightly and we haven't received any alarming reports. This is a very longstanding bug in Cargo, but recent ecosystem events have caused it to become much worse. It's also (I personally think at least) a pretty low-risk patch. I'm down for a backport! @Eh2406 would you be interested in doing the backport? I'm gonna go ahead and close this since the bug is fixed on master in the meantime. |
Extracted from this comment Cargo no longer preserves dependencies on yanked crates when a dependency is updated. The cause of this is #5180 which was deployed in Rust 1.26.0, and the cause is evidenced in the logs of the resolver:
I haven't dug too much into this yet, but wanted to create a dedicated issue for this!
cc @Eh2406, you're likely very interested in this!
The text was updated successfully, but these errors were encountered: