Use nx release to version projects, generate changelogs from commits, and publish to npm or other registries — with support for independent versioning and release groups.
Use this file to discover all available pages before exploring further.
nx release is a set of tools for managing the full release lifecycle of your libraries and applications: versioning, changelog generation, and publishing.
Publishing is difficult to undo. Always start with --dry-run to preview what will happen before committing to a release.
The top-level nx release command runs all three phases in order:
# Preview the full release without writing anythingnx release --dry-run# First release (no prior git tags to compare against)nx release --first-release --dry-run# Release with an explicit version specifiernx release minor
When you run nx release without a specifier, Nx prompts you to choose a semver keyword (major, minor, patch) or enter a custom version.
# Publish to a specific registrynx release publish --registry=https://my-registry.example.com# Publish with a specific dist tagnx release publish --tag=next# Publish with a one-time password (2FA)nx release publish --otp=123456# Set access level for scoped packagesnx release publish --access=public
Instead of deriving version bumps from commit messages, you can create explicit version plan files:
# Create a version plan interactivelynx release plan# Create a version plan with a specific bumpnx release plan minor --message="Add new authentication API"
Version plan files are committed alongside your code changes and consumed during the next release.Verify that all touched projects have a version plan:
nx release plan:check
nx release CLI reference
Full reference for all nx release subcommands and flags.
nx.json release configuration
Configure release groups, versioning strategy, and changelog in nx.json.
CI setup
Set up automated releases in GitHub Actions, GitLab, or other CI providers.
Extend Nx
Write custom generators and executors to customize your release workflow.