Skip to content

chore!: minimum node version v22#4679

Merged
escapedcat merged 1 commit into
masterfrom
chore/node-v22
Apr 30, 2026
Merged

chore!: minimum node version v22#4679
escapedcat merged 1 commit into
masterfrom
chore/node-v22

Conversation

@escapedcat

@escapedcat escapedcat commented Apr 2, 2026

Copy link
Copy Markdown
Member

BREAKING CHANGE: drop Node v18 and v20 support

  • Bump engines to >=v22 in all 39 package.json files
  • Update @types/node to ^22.0.0
  • Update CI matrix to Node [22, 24]
  • Update apt-baseline job to use ubuntu:26.04 Docker image
  • Update Dockerfile.ci and .mise.toml to Node 22
  • Update .github/workflows/{CI,docs-deploy}.yml
  • Update pre-commit hook to use --ignore-engines
  • Update README and docs (docs/guides/ci-setup.md)

Note: the ubuntu-26.04 GitHub Actions runner label is not yet
generally available in actions/runner-images. Adding it to the OS
matrix will be a follow-up PR once the runner ships. Ubuntu 26
compatibility is still exercised via the Docker-based apt-baseline
job (image: ubuntu:26.04).

@knocte

knocte commented Apr 3, 2026

Copy link
Copy Markdown
Contributor

I'd recommend to jump major version after this, from v20.x to v22.x (this way it matches with node version required too).

@escapedcat

Copy link
Copy Markdown
Member Author

I'd recommend to jump major version after this, from v20.x to v22.x (this way it matches with node version required too).

This would skip directly from the current supported version 18 to 22 and drop both 18 and 22.
Commitlint versions will never really match the node versions by number I believe, sometimes it's just coincidence. If that's what you meant, not sure.

@knocte

knocte commented Apr 4, 2026

Copy link
Copy Markdown
Contributor

from the current supported version 18 to 22 and drop both 18 and 22.

I guess that was a typo? (drop both 18 and 20, not 18 and 22)

sometimes it's just coincidence

I'm not requesting this to be the case all the time, but yeah it would be nice to make it a coincidence now that we have to bump (instead of bumping from 20.x to 21.x).

@escapedcat

Copy link
Copy Markdown
Member Author

from the current supported version 18 to 22 and drop both 18 and 22.

I guess that was a typo? (drop both 18 and 20, not 18 and 22)

Ah, yes! :D

sometimes it's just coincidence

I'm not requesting this to be the case all the time, but yeah it would be nice to make it a coincidence now that we have to bump (instead of bumping from 20.x to 21.x).

Ah well, it's a hassle to take care of this. breaking changes can happen "all the time" anyways.

@knocte

This comment was marked as off-topic.

@escapedcat

This comment was marked as off-topic.

@knocte

This comment was marked as off-topic.

@escapedcat

This comment was marked as off-topic.

@escapedcat escapedcat marked this pull request as ready for review April 25, 2026 07:32
@escapedcat escapedcat force-pushed the chore/node-v22 branch 2 times, most recently from 4d184da to 866e94c Compare April 30, 2026 07:55
BREAKING CHANGE: drop node v18 and v20 support

- Bump engines to >=v22 in all 39 package.json files
- Update @types/node to ^22.0.0
- Update CI matrix to [22, 24]
- Update Ubuntu baseline job to ubuntu:26.04
- Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
- Update pre-commit hook to use --ignore-engines
- Update README and docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@escapedcat escapedcat merged commit ac2b3f4 into master Apr 30, 2026
16 checks passed
@escapedcat escapedcat deleted the chore/node-v22 branch April 30, 2026 08:30
@daiyam

daiyam commented May 9, 2026

Copy link
Copy Markdown

Sorry to bother but why are you dropping v18 and v20?

@escapedcat

Copy link
Copy Markdown
Member Author

Both are out of maintenance and historically (creator of this project) this project followed the node cycle. The huge majority of users of this tool never complained about this decision.
Also this gives this the chance to improve deps usage.

See further discussion here

sys-support pushed a commit to 3caravelle/renovate that referenced this pull request May 11, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@commitlint/cli](https://commitlint.js.org/) ([source](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli)) | [`^20.1.0` → `^21.0.0`](https://renovatebot.com/diffs/npm/@commitlint%2fcli/20.5.3/21.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fcli/21.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fcli/20.5.3/21.0.0?slim=true) |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)) | [`^20.0.0` → `^21.0.0`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/20.5.3/21.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@commitlint%2fconfig-conventional/21.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@commitlint%2fconfig-conventional/20.5.3/21.0.0?slim=true) |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/cli)</summary>

### [`v21.0.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/cli/CHANGELOG.md#2100-2026-05-08)

[Compare Source](conventional-changelog/commitlint@v20.5.3...v21.0.0)

- chore!: minimum node version v22 ([#&#8203;4679](conventional-changelog/commitlint#4679)) ([ac2b3f4](conventional-changelog/commitlint@ac2b3f4)), closes [#&#8203;4679](conventional-changelog/commitlint#4679)

##### BREAKING CHANGES

- drop node v18 and v20 support

* Bump engines to >=v22 in all 39 package.json files
* Update [@&#8203;types/node](https://github.com/types/node) to ^22.0.0
* Update CI matrix to \[22, 24]
* Update Ubuntu baseline job to ubuntu:26.04
* Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
* Update pre-commit hook to use --ignore-engines
* Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#### [20.5.3](conventional-changelog/commitlint@v20.5.2...v20.5.3) (2026-04-30)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

#### [20.5.2](conventional-changelog/commitlint@v20.5.1...v20.5.2) (2026-04-25)

**Note:** Version bump only for package [@&#8203;commitlint/cli](https://github.com/commitlint/cli)

</details>

<details>
<summary>conventional-changelog/commitlint (@&#8203;commitlint/config-conventional)</summary>

### [`v21.0.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/@&#8203;commitlint/config-conventional/CHANGELOG.md#2100-2026-05-08)

[Compare Source](conventional-changelog/commitlint@v20.5.3...v21.0.0)

- chore!: minimum node version v22 ([#&#8203;4679](conventional-changelog/commitlint#4679)) ([ac2b3f4](conventional-changelog/commitlint@ac2b3f4)), closes [#&#8203;4679](conventional-changelog/commitlint#4679)

##### BREAKING CHANGES

- drop node v18 and v20 support

* Bump engines to >=v22 in all 39 package.json files
* Update [@&#8203;types/node](https://github.com/types/node) to ^22.0.0
* Update CI matrix to \[22, 24]
* Update Ubuntu baseline job to ubuntu:26.04
* Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
* Update pre-commit hook to use --ignore-engines
* Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#### [20.5.3](conventional-changelog/commitlint@v20.5.2...v20.5.3) (2026-04-30)

**Note:** Version bump only for package [@&#8203;commitlint/config-conventional](https://github.com/commitlint/config-conventional)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44MS4zIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.3caravelle.net/3Caravelle/renovate/pulls/30
Co-authored-by: Renovate Bot <renovate-bot@3caravelle.com>
Co-committed-by: Renovate Bot <renovate-bot@3caravelle.com>
pat-s pushed a commit to devxygmbh/ansible-posit that referenced this pull request May 12, 2026
…ocker tag to v21 (#63)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cr.codefloe.com/docker.io/commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | major | `20.5.3` → `21.0.0` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (cr.codefloe.com/docker.io/commitlint/commitlint)</summary>

### [`v21.0.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2100-2026-05-08)

[Compare Source](conventional-changelog/commitlint@v20.5.3...v21.0.0)

##### Bug Fixes

- widen cz-commitlint inquirer peer dep to support v9-v12 [#&#8203;4554](conventional-changelog/commitlint#4554) ([#&#8203;4682](conventional-changelog/commitlint#4682)) ([341f0c4](conventional-changelog/commitlint@341f0c4))

- chore!: minimum node version v22 ([#&#8203;4679](conventional-changelog/commitlint#4679)) ([ac2b3f4](conventional-changelog/commitlint@ac2b3f4)), closes [#&#8203;4679](conventional-changelog/commitlint#4679)

##### BREAKING CHANGES

- drop node v18 and v20 support

* Bump engines to >=v22 in all 39 package.json files
* Update [@&#8203;types/node](https://github.com/types/node) to ^22.0.0
* Update CI matrix to \[22, 24]
* Update Ubuntu baseline job to ubuntu:26.04
* Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
* Update pre-commit hook to use --ignore-engines
* Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#### [20.5.3](conventional-changelog/commitlint@v20.5.2...v20.5.3) (2026-04-30)

**Note:** Version bump only for package [@&#8203;commitlint/root](https://github.com/commitlint/root)

#### [20.5.2](conventional-changelog/commitlint@v20.5.1...v20.5.2) (2026-04-25)

##### Bug Fixes

- update dependency global-directory to v5 ([#&#8203;4698](conventional-changelog/commitlint#4698)) ([a8b6224](conventional-changelog/commitlint@a8b6224))

#### [20.5.1](conventional-changelog/commitlint@v20.5.0...v20.5.1) (2026-03-31)

##### Bug Fixes

- **cz-commitlint:** add VS16 to single character emojis ([#&#8203;4666](conventional-changelog/commitlint#4666)) ([9e3e2d3](conventional-changelog/commitlint@9e3e2d3))
- **cz-commitlint:** handle modifiers correctly ([#&#8203;4667](conventional-changelog/commitlint#4667)) ([5a3ebf5](conventional-changelog/commitlint@5a3ebf5))
- update dependency global-directory to v5 ([#&#8203;4671](conventional-changelog/commitlint#4671)) ([a300d32](conventional-changelog/commitlint@a300d32))

##### Reverts

- Revert "fix: update dependency global-directory to v5 ([#&#8203;4671](conventional-changelog/commitlint#4671))" ([#&#8203;4677](conventional-changelog/commitlint#4677)) ([0f124c9](conventional-changelog/commitlint@0f124c9)), closes [#&#8203;4671](conventional-changelog/commitlint#4671) [#&#8203;4677](conventional-changelog/commitlint#4677)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4wIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: devxy-bot <no-reply@devxy.io>
Reviewed-on: https://codefloe.com/devxy/ansible-posit/pulls/63
pat-s pushed a commit to devxygmbh/ansible-data-science-core that referenced this pull request May 14, 2026
…ocker tag to v21 (#88)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cr.codefloe.com/docker.io/commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | major | `20.5.3` → `21.0.1` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (cr.codefloe.com/docker.io/commitlint/commitlint)</summary>

### [`v21.0.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2101-2026-05-12)

[Compare Source](conventional-changelog/commitlint@v21.0.0...v21.0.1)

##### Bug Fixes

- **load:** only resolve relative formatter paths ([#&#8203;4761](conventional-changelog/commitlint#4761)) ([f8be069](conventional-changelog/commitlint@f8be069))
- **types:** add presetConfig to ParserPreset interface ([#&#8203;4749](conventional-changelog/commitlint#4749)) ([e402cd4](conventional-changelog/commitlint@e402cd4)), closes [#&#8203;4748](conventional-changelog/commitlint#4748)

### [`v21.0.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2100-2026-05-08)

[Compare Source](conventional-changelog/commitlint@v20.5.3...v21.0.0)

##### Bug Fixes

- widen cz-commitlint inquirer peer dep to support v9-v12 [#&#8203;4554](conventional-changelog/commitlint#4554) ([#&#8203;4682](conventional-changelog/commitlint#4682)) ([341f0c4](conventional-changelog/commitlint@341f0c4))

- chore!: minimum node version v22 ([#&#8203;4679](conventional-changelog/commitlint#4679)) ([ac2b3f4](conventional-changelog/commitlint@ac2b3f4)), closes [#&#8203;4679](conventional-changelog/commitlint#4679)

##### BREAKING CHANGES

- drop node v18 and v20 support

* Bump engines to >=v22 in all 39 package.json files
* Update [@&#8203;types/node](https://github.com/types/node) to ^22.0.0
* Update CI matrix to \[22, 24]
* Update Ubuntu baseline job to ubuntu:26.04
* Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
* Update pre-commit hook to use --ignore-engines
* Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#### [20.5.3](conventional-changelog/commitlint@v20.5.2...v20.5.3) (2026-04-30)

**Note:** Version bump only for package [@&#8203;commitlint/root](https://github.com/commitlint/root)

#### [20.5.2](conventional-changelog/commitlint@v20.5.1...v20.5.2) (2026-04-25)

##### Bug Fixes

- update dependency global-directory to v5 ([#&#8203;4698](conventional-changelog/commitlint#4698)) ([a8b6224](conventional-changelog/commitlint@a8b6224))

#### [20.5.1](conventional-changelog/commitlint@v20.5.0...v20.5.1) (2026-03-31)

##### Bug Fixes

- **cz-commitlint:** add VS16 to single character emojis ([#&#8203;4666](conventional-changelog/commitlint#4666)) ([9e3e2d3](conventional-changelog/commitlint@9e3e2d3))
- **cz-commitlint:** handle modifiers correctly ([#&#8203;4667](conventional-changelog/commitlint#4667)) ([5a3ebf5](conventional-changelog/commitlint@5a3ebf5))
- update dependency global-directory to v5 ([#&#8203;4671](conventional-changelog/commitlint#4671)) ([a300d32](conventional-changelog/commitlint@a300d32))

##### Reverts

- Revert "fix: update dependency global-directory to v5 ([#&#8203;4671](conventional-changelog/commitlint#4671))" ([#&#8203;4677](conventional-changelog/commitlint#4677)) ([0f124c9](conventional-changelog/commitlint@0f124c9)), closes [#&#8203;4671](conventional-changelog/commitlint#4671) [#&#8203;4677](conventional-changelog/commitlint#4677)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4wIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: devxy-bot <no-reply@devxy.io>
Reviewed-on: https://codefloe.com/devxy/ansible-data-science-core/pulls/88
pat-s pushed a commit to devxygmbh/starlight-theme-celestia that referenced this pull request May 26, 2026
…ocker tag to v21 (#16)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cr.codefloe.com/docker.io/commitlint/commitlint](https://github.com/conventional-changelog/commitlint) | major | `20.5.3` → `21.0.1` |

---

### Release Notes

<details>
<summary>conventional-changelog/commitlint (cr.codefloe.com/docker.io/commitlint/commitlint)</summary>

### [`v21.0.1`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2101-2026-05-12)

[Compare Source](conventional-changelog/commitlint@v21.0.0...v21.0.1)

##### Bug Fixes

- **load:** only resolve relative formatter paths ([#&#8203;4761](conventional-changelog/commitlint#4761)) ([f8be069](conventional-changelog/commitlint@f8be069))
- **types:** add presetConfig to ParserPreset interface ([#&#8203;4749](conventional-changelog/commitlint#4749)) ([e402cd4](conventional-changelog/commitlint@e402cd4)), closes [#&#8203;4748](conventional-changelog/commitlint#4748)

### [`v21.0.0`](https://github.com/conventional-changelog/commitlint/blob/HEAD/CHANGELOG.md#2100-2026-05-08)

[Compare Source](conventional-changelog/commitlint@v20.5.3...v21.0.0)

##### Bug Fixes

- widen cz-commitlint inquirer peer dep to support v9-v12 [#&#8203;4554](conventional-changelog/commitlint#4554) ([#&#8203;4682](conventional-changelog/commitlint#4682)) ([341f0c4](conventional-changelog/commitlint@341f0c4))

- chore!: minimum node version v22 ([#&#8203;4679](conventional-changelog/commitlint#4679)) ([ac2b3f4](conventional-changelog/commitlint@ac2b3f4)), closes [#&#8203;4679](conventional-changelog/commitlint#4679)

##### BREAKING CHANGES

- drop node v18 and v20 support

* Bump engines to >=v22 in all 39 package.json files
* Update [@&#8203;types/node](https://github.com/types/node) to ^22.0.0
* Update CI matrix to \[22, 24]
* Update Ubuntu baseline job to ubuntu:26.04
* Update Dockerfile.ci, .mise.toml, .codesandbox/ci.json
* Update pre-commit hook to use --ignore-engines
* Update README and docs

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

#### [20.5.3](conventional-changelog/commitlint@v20.5.2...v20.5.3) (2026-04-30)

**Note:** Version bump only for package [@&#8203;commitlint/root](https://github.com/commitlint/root)

#### [20.5.2](conventional-changelog/commitlint@v20.5.1...v20.5.2) (2026-04-25)

##### Bug Fixes

- update dependency global-directory to v5 ([#&#8203;4698](conventional-changelog/commitlint#4698)) ([a8b6224](conventional-changelog/commitlint@a8b6224))

#### [20.5.1](conventional-changelog/commitlint@v20.5.0...v20.5.1) (2026-03-31)

##### Bug Fixes

- **cz-commitlint:** add VS16 to single character emojis ([#&#8203;4666](conventional-changelog/commitlint#4666)) ([9e3e2d3](conventional-changelog/commitlint@9e3e2d3))
- **cz-commitlint:** handle modifiers correctly ([#&#8203;4667](conventional-changelog/commitlint#4667)) ([5a3ebf5](conventional-changelog/commitlint@5a3ebf5))
- update dependency global-directory to v5 ([#&#8203;4671](conventional-changelog/commitlint#4671)) ([a300d32](conventional-changelog/commitlint@a300d32))

##### Reverts

- Revert "fix: update dependency global-directory to v5 ([#&#8203;4671](conventional-changelog/commitlint#4671))" ([#&#8203;4677](conventional-changelog/commitlint#4677)) ([0f124c9](conventional-changelog/commitlint@0f124c9)), closes [#&#8203;4671](conventional-changelog/commitlint#4671) [#&#8203;4677](conventional-changelog/commitlint#4677)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC), Automerge - Between 12:00 AM and 03:59 AM ( * 0-3 * * * ) (UTC).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4wIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: devxy-bot <no-reply@devxy.io>
Reviewed-on: https://codefloe.com/devxy/starlight-theme-celestia/pulls/16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants