Behavior By Package

RubyGems

Commands

CommandCVS SupportedExpected Behavior When Latest Is Blocked
gem install <name>YesInstalls the latest compliant version
gem install <name> -v '<version>'NoReturns "Could not find a valid gem" if the latest is requested; returns 403 for a blocked older version
gem update <name>PartialSee Gem Client Behavior
bundle installYesInstalls the latest compliant version
bundle updateYesUpdates to the next compliant version

Supported Package Managers

  • Bundler
  • Gem

Gem Client Behavior

gem update uses:

  • latest_specs.*.gz (not filtered by CVS) for version discovery
  • compact index /info/<gem> (filtered by CVS) for installation

This mismatch can surface blocked versions during resolution.

Example:

  • Installed: pry 0.15.2
  • Latest: 0.16.0 (blocked)

Running gem update returns: Unable to resolve dependency: user requested 'pry (= 0.16.0)

Although the client detects the latest version, installation is blocked.
The error message is misleading, but the enforcement is correct.

NuGet

Commands

CommandCVS SupportedExpected Behavior When Latest Is Blocked
dotnet add package <name>YesInstalls the latest compliant version
dotnet add package <name> --version <ver>YesNU1102 if latest is blocked; 403 if older version is blocked
dotnet restoreYesInstalls the next compliant version
dotnet restore (with lock file)NoDownloads pinned versions; blocked versions return 403
dotnet package searchNoShows latest version; install fails with 403 if blocked

NuGet Client Behavior

  • --version 13.0.4 is interpreted as >= 13.0.4, not an exact version
  • Exact version requires [13.0.4]

dotnet package search may display versions that cannot be installed because search results are not filtered by CVS.

Conda

Commands

CommandCVS SupportedExpected Behavior When Latest Is Immature
conda install <name>YesInstalls the next compliant version
conda install <name>=<ver>NoFails with 403 if that version is immature
conda search <name>YesShows only compliant versions
conda install (environment file)YesResolves to compliant versions

Policy Constraint

Only Immaturity policies are supported for Conda CVS.

Go

Commands

CommandCVS SupportedExpected Behavior When Latest Is Blocked
go get <module>YesResolves to the latest compliant version
go get <module>@<version>Yes"package not found" if latest requested version is blocked; 403 if all versions are blocked
go get -u <module>YesUpdates to next compliant version if applicable; no upgrade if current is compliant and latest is blocked
go mod downloadNoDownloads pinned version; 403 if pinned version is blocked

PyPI

Supported Package Managers

  • Pip
  • Uv

Pip

CommandCVS SupportedExpected Behavior When Latest Is Blocked
pip install <name>YesInstalls the next compliant version silently
pip install <name>==<version>YesFails if that version is blocked; 403 if all versions are blocked
pip install <name>>=<version>YesResolves to next compliant version in range
pip install <name>~=<version>YesResolves to next compliant version in compatible range
pip install <name> --no-depsPartialOnly the main package is resolved by CVS; transitive dependencies may return 403
pip index versions <package>YesExcludes blocked versions
pip install --upgrade <name>YesUpgrades to next compliant version; no change if current is compliant

Uv

CommandCVS SupportedExpected Behavior When Latest Is Blocked
uv add <name>YesAdds next compliant version to lock file
uv add <name>>=<version>YesResolves to next compliant version in range
uv add <name>~=<version>YesResolves to next compliant version in compatible range
uv syncPartialUses pinned versions; resolves via CVS only if not locked; blocked versions return 403
uv sync --upgradeYesRe-resolves and updates to compliant versions
uv pip install <name>YesBehaves like pip; resolves to compliant version
uv run --with <pkg>YesInstalls next compliant version
uv lock --upgradeYesResolves to next compliant version within constraints