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 15 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
13 changes: 13 additions & 0 deletions docs/source/upgrade-guide/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,19 @@ 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.
It is the long-term support (LTS) release effective 2024-10-29.

Long-term support for {term}`Node.js` 18 by the Node.js community will end on 2025-04-30.
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