Skip to content

[CSR-0] chore: Bump release-it from 19.2.4 to 21.0.2 - #398

Merged
twk3 merged 1 commit into
mainfrom
dependabot/npm_and_yarn/release-it-21.0.0
Aug 26, 2026
Merged

[CSR-0] chore: Bump release-it from 19.2.4 to 21.0.2#398
twk3 merged 1 commit into
mainfrom
dependabot/npm_and_yarn/release-it-21.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor

Bumps release-it from 19.2.4 to 21.0.2.

Release notes

Sourced from release-it's releases.

Release 21.0.2

  • Prevent duplicate comments on resolved issues and PRs (#1324) (7ca61cccd16ad56742ee0cb694c946353b66c117) - thanks @​krisu-pl!
  • Migrate to pnpm + update deps (6c211f087f465af8942060812ec4ee662419da9f)

Release 21.0.1

  • Fix regression and support --no-hooks to skip all hooks (a8888b45b1d9db40a8f8ea5ad625b15b53d78925)

Release 21.0.0

  • fix(ci): do not run integration on forks (#1315) (1e90d9f28f08a847029ed58f8ac211028d4203ca) - thanks @​trueberryless!
  • Pin GitHub Actions to immutable commits (#1316) (38355d8068ac5c0818bc183ddb39db643aeab0c3)
  • Fix npm publish workspace config resolution (#1312) (3bf251f5ab4c3665397aef8a7a4db6a21e02a98f) - thanks @​cyphercodes!
  • Add gitlab.repoId option (#1224) (e4e9d0e35cbd99492c8b1a7b48e5a695951af7a2) - thanks @​microHoffman!
  • Exit successfully when no release version is available (56c70c3f1436101a9284c535bed233081af85960)
  • Support numeric GitLab repository IDs (0332c4ac4ecb8b714c8971b3953c972f59fe1f30)
  • Parse CLI arguments strictly (resolve #1196) (caf77c928bfefa48339e8246261ffb8e41d70a4c)
  • fix: shell caching and working tree detection (#1317) (8d1f7522ffc6afb445a00ab03357fdc7554b48ac) - thanks @​Mopsgamer!
  • Remove dependabot workflow (e7e04ef3fb6151324ffde438a278539fbbc24eec)
  • Fix configured GitHub proxy routing (1ed9cddf5d18d2c4107500081254cc7af22eff42)
  • Upgrade dependencies and require Node 22 (c055e7fa5b2dcaf5078d4a5c337140a5bea0ac7e)
  • Fix npm custom registry argument handling (resolve #1318) (98c45c4503e1d8bad0b7c38d99f6fda380c3681e)
  • Pin GitLab releases to the current commit (resolve #1216) (70ab5769852bc5a3fafe4ac193f28bd247fa067e)
  • Refresh GitHub Actions and package preview runtime (5c5513966ba2d4f1133c9b33c33850470c12a934)
  • Document v21 runtime requirements (daab8460c0f0ed7f8a97c0ef806ef506d59f7268)
  • Simplify git-cliff recipe (resolve #1195) (52c89a7965d3aff0a5d2474903fc902dbde59cf5)
  • Make GitLab CA tests platform-independent (ba4326fb1a79b700a909ac6adab8bd242401971c)
  • Raise Node 22 requirement to 22.21 (df94838844154a6b885af1888af81a75d43c80d9)
  • Verify GitLab server certificates by default (c381a2d4ce1deb26a9e54ead63339c4860231bfd)
  • Update changelog for v21 (2637e8a91fb560f23686773d3f476bff20daa5ae)

Release 20.2.1

  • Document the draft flow for GitHub immutable releases (284e63c6d2022eaf87f9fa66373ca6ad6a942ea0)
  • Resolve dependency security alerts (3156203b614039b4e4cf63b1d4addb409606527f)

Release 20.2.0

  • Print staged-packages approval URL after stage publish (244d8112498d7283f6bdcfd25d487ecc833aff03)
  • Capture the stage id for the approval message (2476065893cfe3421cf54c02d73d280c8192b41d)

Release 20.1.0

  • feat: add --quiet flag to hide release previews (#1274) (ecefe4407351bc74a85e88355a2772ea8fb22396) - thanks @​Yeom-JinHo!
  • fix: ensure release body is an empty string instead of null (#1303) (5cc5ebd284673cb67b7897c3bd36c3ace6d54880) - thanks @​driiftkiing!
  • Add 'Accept-Encoding' header to GitLab API requests (#1301) (14a478e4c1db309a04babe7060f0d95fb2879134) - thanks @​KlausDerKleber!
  • Support npm staged publishing (npm.stage) (aa20f56587f0f5720e684d6b1d6b9bc594b3876e)
  • Run tests on Node 26 (29f079bf8a515f1fced7bde05902183b1e990b2d)
  • Use draft flow for immutable releases with assets (resolve #1295) (c63b4e46710564edf809ea688d12ecc4abc39d33)
  • Publish interactively under --only-version so passkey 2FA works (resolve #1234) (4ebb66ebc6cee1b5352aa0fdafc0fa80ad568645)
  • Format docs/npm.md (a2a262c524a14b040aa9cc50f3ea45f2e4ac78e3)
  • Dogfoodin' (0cb51a9c85cc7e91db57c251e216664197639565)

Release 20.0.1

  • fix: allow false as npm config value in types (#1289) (f783e825944cf8114305606116ca61542f0031c6) - thanks @​ahippler!

... (truncated)

Changelog

Sourced from release-it's changelog.

Changelog

This document lists breaking changes for each major release.

See the GitHub Releases page for detailed changelogs: [https://github.com/release-it/release-it/releases][1]

v21 (2026-07-25)

  • Removed support for Node.js v20 and raised the Node.js v22 minimum to v22.21.0.
  • CLI argument parsing is now strict. Unknown options, invalid booleans, and extra positional arguments are rejected.
  • GitLab server certificates are verified by default. Configure private CA or explicitly set gitlab.secure to false.

v20 (2026-03-24)

  • Upgraded undici from v6 to v7 to resolve security vulnerabilities.
  • Upgraded proxy-agent from v6 to v7 to fix DEP0169 (url.parse() deprecation).
  • Migrated from deprecated inquirer to @inquirer/prompts.
  • Bumped engines.node to minimum Node.js v20.19.0 (was v20.12.0).

v19 (2025-04-18)

  • No breaking changes (dependency party)

v18 (2025-01-06)

  • Removed support for Node.js v18.

v17 (2023-11-11)

  • Removed support for Node.js v16.

v16 (2023-07-05)

  • Removed support for Node.js v14.

v15 (2022-04-30)

  • Removed support for Node.js v10 and v12.
  • Removed support for GitLab v12.4 and lower.
  • Removed anonymous metrics (and the option to disable it).
  • Programmatic usage and plugins only through ES Module syntax (import)

Use release-it v14 in legacy environments.

v14 (2020-09-03)

  • Removed global property from plugins. Use this.config[key] instead.
  • Removed deprecated npm.access option. Set this in package.json instead.

v13 (2020-03-07)

... (truncated)

Commits
  • aa8752d Release 21.0.2
  • 6c211f0 Migrate to pnpm + update deps
  • 7ca61cc Prevent duplicate comments on resolved issues and PRs (#1324)
  • 2a1d141 Release 21.0.1
  • a8888b4 Fix regression and support --no-hooks to skip all hooks
  • 5e9c193 Release 21.0.0
  • 2637e8a Update changelog for v21
  • c381a2d Verify GitLab server certificates by default
  • df94838 Raise Node 22 requirement to 22.21
  • ba4326f Make GitLab CA tests platform-independent
  • Additional commits viewable in compare view

@dependabot dependabot Bot assigned twk3 Aug 3, 2026
@dependabot @github

dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Assignees

The following users could not be added as assignees: ynahmany. Either the username does not exist or it does not have the correct permissions to be added as an assignee.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Aug 3, 2026
Bumps [release-it](https://github.com/release-it/release-it) from 19.2.4 to 21.0.2.
- [Release notes](https://github.com/release-it/release-it/releases)
- [Changelog](https://github.com/release-it/release-it/blob/main/CHANGELOG.md)
- [Commits](release-it/release-it@19.2.4...21.0.2)

---
updated-dependencies:
- dependency-name: release-it
  dependency-version: 21.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title [CSR-0] chore: Bump release-it from 19.2.4 to 21.0.0 [CSR-0] chore: Bump release-it from 19.2.4 to 21.0.2 Aug 25, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/release-it-21.0.0 branch from 4664b2a to c86c657 Compare August 25, 2026 15:15

Copy link
Copy Markdown
Contributor

Security triage: Tier B — needs a decision (major bump; moves undici)

CI is green and this closes more than its title suggests. It is Tier B on two counts, not on any doubt about the diff.

This PR supersedes #401, #404 and #406. Those three make one-line manifest edits — packages/cmd, packages/jest, packages/node-test-reporter respectively — and this PR makes all three of those same edits plus the lockfile. See the note at the bottom; merging this one makes those three no-ops.

What and why

package from → to severity via
release-it 19.2.4 → 21.0.2 high direct devDependencies (root + 3 workspaces)
undici 6.23.0 → 7.29.0 high release-it (exact pin)
basic-ftp 5.2.2 → 5.3.1 high get-urirelease-it

No Vanta finding covers any of these — in the lockfile, not in Vanta. Vanta's current integrationId=github worklist for this repo is js-yaml (alerts 175, 176) and nanoid (178) only; none of the three above appears at any deadline. So there is no SLA clock here, and equally no compliance visibility.

Advisories closed, from npm audit on the base lockfile:

Exposure

Development. release-it is a devDependencies entry in the root manifest and in packages/cmd, packages/jest, packages/node-test-reporter, and every stanza the diff moves is recorded dev: true in the lockfile. It runs at release time on a runner, not in @currents/cmd, @currents/jest or @currents/node-test-reporter as published. Nothing here reaches a shipped artifact.

That bounds the impact, but does not make it nil: release-it executes in publish.yaml with registry credentials in the environment, and the undici set includes request smuggling and response-queue poisoning against whatever that process talks to.

The fix

Mechanism is a manifest bump — the vulnerable package is a direct dependency, so its range moves in the four manifests that declare it, and the lockfile follows. That is the right choice rather than an overrides entry, and no overrides key was added.

Worth being explicit about undici, because a lockfile refresh alone could not have done it: release-it requests undici at exactly 6.23.0, so nothing short of moving release-it itself shifts that copy. Confirmed from the base lockfile — node_modules/release-it is the only requester of undici, and the constraint is an exact version, not a range.

Breaking-change check

This is a two-major jump, 19 → 21, and that is the substance of the decision. Release notes for 20.x and 21.x were not obtainable through this sandbox — that alone is a Tier B trigger under the rubric, independent of the major bump.

What the lockfile diff shows about the shape of the change, since the notes were unavailable: the dependency set is substantially rebuilt, not nudged. Removed wholesale — inquirer, rxjs, run-async, wrap-ansi, yoctocolors-cjs, citty, nypm, node-fetch-native. Added — quickjs-wasi, proxy-agent-negotiate, powershell-utils, is-in-ssh, fast-wrap-ansi, fast-string-width, fast-string-truncated-width. Net 485 added / 650 removed lines across package-lock.json. An interactive-prompt stack (inquirer/rxjs) being swapped out is the kind of change that alters non-interactive/CI behaviour, and release-it here runs non-interactively.

Verification

Not run locally this run. CI exercises npm ci + lint + unit tests + per-workspace type checks against this exact lockfile, which is the same ground a local pass would cover, and it is green — see below. No local claim is being made.

CI coverage

All check runs on head c86c657 (2026-08-25 15:15):

check conclusion
Unit Tests success
lint success
matrix success
cmd Types success
jest Types success
typecheck-status success
[code]smith skipped

One thing worth flagging as good here, because it is not the norm in this repo: the type checks genuinely ran. types-matrix.yml gates its types job on changed files matching packages/**, and because this PR edits three packages/*/package.json manifests, the matrix is non-empty and cmd Types / jest Types actually executed. On a lockfile-only diff in this repo that matrix comes out as [""], the job is skipped, and typecheck-status still exits 0 through its any_changed != 'true' branch — a green tick with no type checking behind it. Not the case here; this green is real.

Not triggered: publish.yaml and linear-release.yaml (workflow_dispatch / push to main). So the one thing CI does not exercise is release-it itself doing a release, which is precisely what this PR changes.

What a human should still check

  1. Do a --dry-run release on this branch for at least one workspace. CI never runs release-it, so a two-major bump of the release tool is entirely unverified by the green ticks above. This is the one item that actually matters.
  2. Confirm release-it 21 still reads the existing .release-it config and the @release-it/conventional-changelog@^12.0.0 plugin — the plugin's range is unchanged by this PR, and a major of the host tool is where a plugin contract breaks.
  3. Check non-interactive behaviour given the inquirer/rxjs removal noted above.
  4. Sequencing. [CSR-0] chore: Bump @jest/reporters from 29.7.0 to 30.4.1 #397 and [CSR-0] chore: Bump jest and @types/jest #400 also rewrite package-lock.json. All three will conflict pairwise; whichever merges first forces the others to rebase. Recommended order: this PR first (it is the only one of the three that closes advisories, and the only one currently green and not superseded), then [CSR-0] chore: Bump jest and @types/jest #400, then [CSR-0] chore: Bump @jest/reporters from 29.7.0 to 30.4.1 #397 once its type failures are fixed.

Needs release

No. Dev-only dependency; nothing to publish to close these.


On #401, #404 and #406 — recommend closing all three, unmerged. Each is a lone one-line manifest edit with no accompanying lockfile change:

Every workflow in this repo installs with npm ci (lint.yml, unit-test.yaml, types-matrix.yml, publish.yaml), which refuses a manifest/lockfile mismatch outright. That is not a prediction — #401's CI is red on exactly that: lint, Unit Tests, cmd Types and typecheck-status all failure. They are individually unmergeable and collectively redundant with this PR. I have not closed them; they are not mine to close.


Generated by Claude Code

@twk3
twk3 merged commit d9a4d1c into main Aug 26, 2026
7 checks passed
@twk3
twk3 deleted the dependabot/npm_and_yarn/release-it-21.0.0 branch August 26, 2026 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants