You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ensure git status is not dirty on this branch after resetting deps. If it is, then something is probably wrong with the automated release process.
gh pr checkout 9229 --force
npm run resetdeps
node scripts/git-dirty.js
2. Check CI status
gh pr checks --watch
3. Log in to npm
npm login sessions are short lived, so you will want to have a fresh one before you publish.
npm login
4. Publish the CLI and workspaces
Warning:
This will publish all updated workspaces to latest, prerelease or backport depending on their version, and will publish the CLI with the dist-tag set to next-12.
Note:
The --test argument can optionally be omitted to run the publish process without running any tests locally.
node scripts/publish.js --test
5. Optionally install and test npm@12.0.0-pre.0.0 locally
npm i -g npm@12.0.0-pre.0.0
npm --version
npm whoami
npm help install
# etc
6. Trigger docs.npmjs.com update
gh workflow run update-cli.yml --repo npm/documentation
7. Approve and Merge release PR
gh pr review --approve
gh pr merge --rebase
git checkout latest
git fetch
git reset --hard origin/latest
node . run resetdeps
8. Wait For Release Tags
Warning:
The remaining steps all require the GitHub tags and releases to be created first. These are done once this PR has been labelled with autorelease: tagged.
Release Please will run on the just merged release commit and create GitHub releases and tags for each package. The release bot will will comment on this PR when the releases and tags are created.
Note:
The release workflow also includes the Node integration tests which do not need to finish before continuing.
You can watch the release workflow in your terminal with the following command:
gh run watch `gh run list -R npm/cli -w release -b latest -L 1 --json databaseId -q ".[0].databaseId"`
9. Mark GitHub Release as latest
Warning:
You must wait for CI to create the release tags before running this step. These are done once this PR has been labelled with autorelease: tagged.
Release Please will make GitHub Releases for the CLI and all workspaces, but GitHub has UI affordances for which release should appear as the "latest", which should always be the CLI. To mark the CLI release as latest run this command:
Warning:
You must wait for CI to create the release tags before running this step. These are done once this PR has been labelled with autorelease: tagged.
Trigger the Create Node PR action. This will open a PR on nodejs/node to the main branch.
First, sync our fork of node with the upstream source:
Then, if we are opening a PR against the latest version of node:
gh workflow run create-node-pr.yml -R npm/cli -f spec=next-12
For backport releases, you must target the correct Node branch using -f branch=<NODE_MAJOR>. Make sure you are targeting the right Node major version for this npm version.
For example, this will create a PR on nodejs/node to the v16.x-staging branch:
gh workflow run create-node-pr.yml -R npm/cli -f spec=next-12 -f branch=16
11. Label and fast-track nodejs/node PR
Note:
This requires being a nodejs collaborator. This could be you!
Thumbs-up reaction on the Fast-track comment
Add an LGTM / Approval
Add request-ci label to get it running CI
Add commit-queue label once everything is green
For backport releases, comment on the PR asking the Node.js team to add dont-land-on-v<NODE_MAJOR> labels for Node versions where this npm version should not be included
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 I have created a release beep boop
12.0.0-pre.0.0
12.0.0-pre.0.0 (2026-04-16)
npm packandnpm publishhave changed. They are now always consistent, and in the same format.star,starsandunstarcommands have been removednpm addusercommand has been removed. Create and manage user accounts on the npm website, and usenpm loginto authenticate on the command line.Features
738be10#9196 remove star commands (feat: remove star commands #9196) (@wraithgar)db7c1f8#9163 adduas alias forupdatecommand (feat: adduas alias forupdatecommand #9163) (@Ausoj)45e44dd#9228 adds a backport script (@owlstronaut)Bug Fixes
2e9b26e#9247 sync json output of pack and publish (fix: sync json output of pack and publish #9247) (@wraithgar)7357d7f#9036 remove npm adduser command (@owlstronaut)Dependencies
9669d31#9207@sigstore/protobuf-specs@0.5.1b09a5ac#9207tinyglobby@0.2.16150231d#9207picomatch@4.0.4413e0a0#9207lru-cache@11.3.36faa25e#9207diff@8.0.487bb9d0#9207minimatch@10.2.52501dd8#9207tar@7.5.13ccce5f6#9207minipass-flush@1.0.6Chores
8131de4#9239 add action permission for backport workflow (@owlstronaut)6df5f91#9232 backports can trigger CI (@owlstronaut)07552f5#9224 don't run npm update in CI (@owlstronaut)05dbba5#9195 enable prerelease mode (chore: enable prerelease mode #9195) (@wraithgar)@npmcli/arborist@9.4.3-pre.0.0libnpmdiff@8.1.6-pre.0.0libnpmexec@10.2.6-pre.0.0libnpmfund@7.0.20-pre.0.0libnpmpack@9.1.6-pre.0.0arborist: 9.4.3-pre.0.0
9.4.3-pre.0.0 (2026-04-16)
Bug Fixes
1d058b0#9221 arborist: do not install inert optional extraneous shared dependencies (fix(arborist): do not install inert optional extraneous shared dependencies #9221) (@lovell)dcad8ec#9206 pass _isRoot context where missing (fix: pass _isRoot context where missing #9206) (@wraithgar)libnpmdiff: 8.1.6-pre.0.0
Dependencies
@npmcli/arborist@9.4.3-pre.0.0libnpmexec: 10.2.6-pre.0.0
Dependencies
@npmcli/arborist@9.4.3-pre.0.0libnpmfund: 7.0.20-pre.0.0
Dependencies
@npmcli/arborist@9.4.3-pre.0.0libnpmpack: 9.1.6-pre.0.0
Dependencies
@npmcli/arborist@9.4.3-pre.0.0This PR was generated with Release Please. See documentation.