-
Notifications
You must be signed in to change notification settings - Fork 266
Description
NuGet Product(s) Involved
Visual Studio Package Management UI and .NET CLI
The Elevator Pitch
Inspired by We should all be using dependency cooldowns.
I think this would apply to any place in NuGet that has an update flow, so namely PM UI package update and the update CLI command.
Right now, NuGet update flows look for the latest version available on the package sources. Some package managers such as uv (Python) and pnpm (JavaScript) have a cooldown feature which means "don't update to a package until it is older than X".
pnpm’s minimumReleaseAge. uv also has exclude-newer, although this specifies an absolute cutoff rather than a rolling cooldown.
We should consider this for NuGet as an opt-in or default change in update behavior. We could also consider implementing this in restore as a "strict mode" (don't download a package older than X) but this may be challenging to implement for protocol reasons.
From the blog post above, 7 days seems to be a sweet spot to prevent impact of many of the recent incidents.
Alternatively, or additionally, we could document how to configure various pipeline tools like Dependabot (docs) to work for NuGet.
Additional Context and Details
No response