lockvet v0.3.11
NuGet joins the registry lineup
npm · PyPI · crates.io · RubyGems · Packagist · NuGet. One anonymous
GET per changed package against the registration index — the same
metadata endpoint dotnet restore reads, CORS-open, so the
browser playground gets every
signal too.
Unlisted, the way NuGet itself means it
NuGet is the one registry where "unlisted" is a native concept, and
lockvet now splits the flag the way NuGet does:
- a stable version absent from the registration index entirely — what
an admin-deleted (malicious) package looks like — keeps the ▲
unlistedflag, registry-verified; - a version its author merely
unlisted
(listed:false: hidden from search, still restorable) lands in the
deprecation lane instead; - absent prereleases are cleared rather than flagged — on NuGet those
are overwhelmingly CI-feed daily builds (Roslyn nightlies and friends)
thatpackages.lock.jsoncannot attribute to their real feed. The
deps.dev-only layer used to false-flag them; this release removes a
false-positive class instead of adding one.
Deprecations with the replacement deps.dev drops
↑ WindowsAzure.Storage 9.3.2 → 9.3.3 patch (7y old)
● deprecated upstream: legacy; use Azure.Storage.Common instead
deps.dev relays only the bare reason ("Legacy"); the registration index
carries the suggested replacement package, so lockvet now shows it.
Also
- Release-age backfill from registration
publishedtimes when
deps.dev lags, so the ⏱ cooldown flag works on brand-new NuGet
releases (the 1900-01-01 sentinel NuGet stores for unlisted versions
is ignored). - License-change fallback from per-version
licenseExpressionwhen
deps.dev lacks either side. - Packages with long version histories page their registration index;
lockvet fetches only the pages whose version range covers a version
the diff actually mentions.
Validated against real Dependabot PRs and 81 historical
packages.lock.json commits across five repos: zero failures, zero
false unlisted flags.
Install: brew install matteo-sung/tap/lockvet · scoop bucket add matteo-sung https://github.com/matteo-sung/scoop-bucket && scoop install lockvet · go install github.com/matteo-sung/lockvet@v0.3.11 · docker run ghcr.io/matteo-sung/lockvet:0.3.11 · install.sh / binaries below