Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Node 22 as LTS, main and recommended Volto version #6371

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
2 changes: 1 addition & 1 deletion .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x]
node-version: [20.x, 22.x]
steps:
- uses: actions/checkout@v4

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- main

env:
node-version: 20.x
node-version: 22.x

jobs:
towncrier:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/code-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Code Analysis Check
on: [push, pull_request]

env:
node-version: 20.x
node-version: 22.x

jobs:
prettier:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deployment_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Deployment Tests
on: [push, pull_request]

env:
node-version: 20.x
node-version: 22.x

jobs:
vitessr:
Expand Down
18 changes: 7 additions & 11 deletions .github/workflows/unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Unit Tests
on: [push, pull_request]

env:
node-version: 20.x
node-version: 22.x

jobs:
volto:
Expand All @@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x]
node-version: [20.x, 22.x]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -40,7 +40,7 @@ jobs:
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x]
node-version: [20.x, 22.x]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -77,16 +77,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v4

# node setup
- name: Use Node.js ${{ matrix.node-version }}
- name: Use Node.js ${{ env.node-version }}
stevepiercy marked this conversation as resolved.
Show resolved Hide resolved
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
node-version: ${{ env.node-version }}

- name: Enable corepack
run: corepack enable
Expand Down Expand Up @@ -152,16 +150,14 @@ jobs:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v4

# node setup
- name: Use Node.js ${{ matrix.node-version }}
- name: Use Node.js ${{ env.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
node-version: ${{ env.node-version }}

- name: Enable corepack
run: corepack enable
Expand Down
2 changes: 1 addition & 1 deletion docs/source/contributing/developing-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ To set up a Volto core development environment, your system must satisfy the fol
```

- {term}`nvm`
- {term}`Node.js` LTS 20.x
- {term}`Node.js` LTS 22.x
- {term}`pnpm`
- {term}`GNU make`
- {term}`Docker`
Expand Down
5 changes: 3 additions & 2 deletions docs/source/contributing/version-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,12 @@ See also [Plone REST API Python and Plone compatibility](https://github.com/plon
## Node.js

Volto runs using [Node.js](https://nodejs.org/en).
Volto always supports only [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule).
Volto supports only the latest two [LTS versions of Node.js](https://github.com/nodejs/release#release-schedule).
We recommend using the current LTS version.

- Node.js 22 LTS: Supported since Volto 18.
- Node.js 20 LTS: Supported since Volto 17.
- Node.js 18 LTS: Supported since Volto 17.
- Node.js 18: No longer supported. It was supported in Volto 16 - 17.
stevepiercy marked this conversation as resolved.
Show resolved Hide resolved
- Node.js 16: No longer supported. It was supported in Volto 14 - 16.
- Node.js 14: No longer supported. It was supported in Volto 8.8.0 - 16.
- Node.js 12: No longer supported. It was supported in Volto 4 - 15.
Expand Down
12 changes: 12 additions & 0 deletions docs/source/upgrade-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,18 @@ Thus it is safe to run it on top of your project and answer the prompts.

## Upgrading to Volto 18.x.x

### Node.js version support: adding 22, dropping 18

Added support for Node.js 22, since it will become LTS on 2024-10-29.
stevepiercy marked this conversation as resolved.
Show resolved Hide resolved

Long Term Support (LTS) for {term}`Node.js` 18 by the Node.js community will end on 2025-04-30.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Long Term Support (LTS) for {term}`Node.js` 18 by the Node.js community will end on 2025-04-30.
Long-term support for {term}`Node.js` 18 by the Node.js community will end on 2025-04-30.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a branding thing by Node.js, so "Long Term Support (LTS)" in this context is correct.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@stevepiercy Is it? https://nodejs.org/en/about/previous-releases says "long-term support" just like I did.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then I'd like to pick the one that seems more correct grammatically, which is "long-term support." https://www.grammarly.com/blog/punctuation-capitalization/hyphen-with-compound-modifiers/

Volto 18 no longer supports Node.js 18, since Volto only supports the latest two LTS versions.
Volto might continue to work on Node.js 18, but it is not tested in CI.

Please update your projects to a supported Node.js version, either 20 or 22.
Version 22 is recommended, as the latest LTS version of Node.js.


### Volto's internal `dependencies` and `devDependencies` are now properly sorted out

Volto internal `dependencies` and `devDependencies` have been correctly sorted out.
Expand Down
2 changes: 2 additions & 0 deletions packages/generator-volto/news/6371.breaking
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Dropped support for Node.js 18, since Volto only supports the last two LTS versions. @sneridagh
Volto might continue to work on it, but it will be no longer tested in CI.
2 changes: 1 addition & 1 deletion packages/generator-volto/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
"testEnvironment": "node"
},
"engines": {
"node": "^16 || ^18 || ^20"
"node": "^16 || ^18 || ^20 || ^22"
},
"dependencies": {
"ansi-escapes": "2.0.0",
Expand Down
1 change: 1 addition & 0 deletions packages/registry/news/6371.internal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update typescript @sneridagh
2 changes: 1 addition & 1 deletion packages/registry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
"react-dom": "^18.2.0",
"release-it": "16.2.1",
"tsconfig": "workspace:*",
"typescript": "^5.4.5",
"typescript": "^5.6.3",
"vitest": "^2.1.3"
}
}
2 changes: 2 additions & 0 deletions packages/volto/news/6371.breaking
stevepiercy marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Dropped support for Node.js 18, since Volto only supports the last two LTS versions. @sneridagh
Volto might continue to work on it, but it will be no longer tested in CI.
1 change: 1 addition & 0 deletions packages/volto/news/6371.internal
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Added support for Node.js 22, since it will become LTS on 2024-10-29. @sneridagh
2 changes: 1 addition & 1 deletion packages/volto/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
"not dead"
],
"engines": {
"node": "^16 || ^18 || ^20"
"node": "^20 || ^22"
},
"dependencies": {
"@loadable/component": "5.14.1",
Expand Down
Loading
Loading