Releasing Packages
The standard release
uvr releaseuvr release detects changes, pins dependencies, and plans a topologically ordered build, publish, and bump. Validates everything locally before dispatch. Version conflicts, stale pins, and dirty working trees are caught on your machine, not in CI. See Architecture for the full pipeline.
Preview without releasing
uvr release --dry-runRuns all detection and planning logic but makes no changes.
Export plan as JSON
uvr release --jsonBump versions inline
uvr release --bump minorBumps all changed packages before generating the plan. Equivalent to uvr bump --minor followed by uvr release in a single command. Available types. alpha, beta, rc, post, dev, stable, minor, major, patch.
Publish dev versions
uvr release --devPublishes the .devN version as-is instead of stripping it.
Set release notes
uvr release --release-notes pkg-alpha "Fixed the widget serializer"
uvr release --release-notes pkg-alpha @notes/alpha.mdThe flag is repeatable for multiple packages.
Skip confirmation
uvr release -yBuild and release locally
uvr release --where localRuns the full pipeline (build, release, publish, bump) on your machine instead of dispatching to CI. Add --no-push to skip git push.
Allow a dirty working tree
uvr release --allow-dirtyTurns clean-tree and remote-match checks into warnings instead of errors.
Rebuild specific packages
uvr release --rebuild pkg-alpha pkg-betaForce specific packages to be treated as changed (and their dependents).
Rebuild all packages
uvr release --rebuild-allSet the Python version for CI
uvr release --python 3.11Defaults to 3.12.