Summary
RFC: #3923
Original issue: #15973
Implementation: #17012
Documentation: TODO
This RFC adds a configuration to set the minimum publish age used for dependency resolution.
Unresolved Issues
Future Extensions
- Support
fallback for resolver.incompatible-publish-age
- Add an exclude list for
min-publish-age
- When all compatible older-than-min-age versions are yanked and a newer non-yanked version exists, Cargo could alert the user that they may want to override with
--precise.
- Potentially support other source of publish time besides the
pubtime field from a cargo registry.
- A
resolver.now field for setting the reference time that min-publish-age is compared against. This could be useful for offline workflows where wall-clock time keeps advancing but the registry index may be stale.
(see RFC)
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Summary
RFC: #3923
Original issue: #15973
Implementation: #17012
Documentation: TODO
This RFC adds a configuration to set the minimum publish age used for dependency resolution.
Unresolved Issues
VersionPreferencesand using it?denyprecedence between this andincompatible-rust-version?incompatible-rust-versionwill likely be evaluated first to increase the chance of builds succeeding.Future Extensions
fallbackforresolver.incompatible-publish-agemin-publish-age--precise.pubtimefield from a cargo registry.resolver.nowfield for setting the reference time thatmin-publish-ageis compared against. This could be useful for offline workflows where wall-clock time keeps advancing but the registry index may be stale.(see RFC)
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.