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
> **Note:** Node.js 26 is an even-numbered release that will graduate to **Active LTS in October 2026**. It was released on April 22, 2026. We use Node.js 27 nightly builds in the forward-compatibility workflow (`test-and-report-latest-node.yml`) to validate readiness for the next release.
20
+
> **Note:** Node.js 26 is an even-numbered release that will graduate to **Active LTS in October 2026**. It was released on April 22, 2026. The forward-compatibility workflow (`test-and-report-latest-node.yml`) currently uses `26.0.0-nightly`to validate upcoming Node.js 26 patch releases. It will be updated to `27.0.0-nightly` once Node.js 27 nightly builds are published (expected October 2026).
21
21
22
22
### TypeScript
23
23
24
24
| TypeScript | Release Date | Status | Support Until |
|**6.0.2**| Mar 2026 | ✅ **Active — in use**| Until 7.0 release (~12 months) |
26
+
|**6.0.3**| Mar 2026 | ✅ **Active — in use**| Until 7.0 release (~12 months) |
27
27
| 5.9.x | Feb 2026 | Previous stable | Limited — security patches only |
28
28
| 5.8.x | Dec 2025 | End of life | ❌ No support |
29
29
30
-
> **Note:** TypeScript 6.0 is a major release with breaking changes including stricter module resolution with `moduleResolution: "bundler"`, removal of implicit `global` namespace, and stricter `NodeJS` namespace handling. The project uses `@typescript-eslint 8.58.0` which supports `typescript >=4.8.4 <6.1.0`.
30
+
> **Note:** TypeScript 6.0 is a major release with breaking changes including stricter module resolution with `moduleResolution: "bundler"`, removal of implicit `global` namespace, and stricter `NodeJS` namespace handling. The project uses `@typescript-eslint 8.59.2` which supports `typescript >=4.8.4 <6.1.0`.
### ✅ Completed — Upgraded to Node.js 26: May 2026
115
115
116
-
All CI/CD workflows, devcontainer configuration, and `package.json` have been updated to Node.js 26. The forward-compatibility workflow (`test-and-report-latest-node.yml`) now targets Node.js 27 nightly.
116
+
All CI/CD workflows, devcontainer configuration, and `package.json` have been updated to Node.js 26. The forward-compatibility workflow (`test-and-report-latest-node.yml`) currently uses `26.0.0-nightly` — it will switch to `27.0.0-nightly` once Node.js 27 nightly builds are published (expected October 2026).
@@ -124,11 +124,11 @@ Node.js 25 reaches full end-of-life on **June 1, 2026**. This project has alread
124
124
When Node.js 26 enters Active LTS, it becomes the recommended production runtime. At this point:
125
125
126
126
- Node.js 24 transitions from Active LTS to Maintenance LTS
127
-
- Update `test-and-report-latest-node.yml` to Node.js 27 (already done) or 28 nightly
127
+
- Update `test-and-report-latest-node.yml` to `27.0.0-nightly` (once available) or `28.0.0-nightly`
128
128
129
129
### 📅 Future — Node.js 27 Release: October 2026
130
130
131
-
Node.js 27 will be released in **October 2026** as an odd-numbered "Current" release. The forward-compatibility workflow (`test-and-report-latest-node.yml`) already targets Node.js 27 nightly builds.
131
+
Node.js 27 will be released in **October 2026** as an odd-numbered "Current" release (no LTS). When Node.js 27 nightly builds are published, update `test-and-report-latest-node.yml` from `26.0.0-nightly` to `27.0.0-nightly`. Primary workflows remain on Node.js 26 LTS.
132
132
133
133
### 📅 Future — Node.js 24 EOL: April 2028
134
134
@@ -145,7 +145,7 @@ The project maintains two parallel test workflows and tracks toolchain versions:
145
145
| Workflow | Purpose | Current Node Version |
146
146
|----------|---------|----------------------|
147
147
|`test-and-report.yml`| Primary CI — stable, production-ready |**26**|
148
-
|`test-and-report-latest-node.yml`| Forward-compat — tests next version |**27 nightly**|
148
+
|`test-and-report-latest-node.yml`| Forward-compat — tests next version |**26 nightly** (`26.0.0-nightly`)|
149
149
150
150
When a new Node.js version is released:
151
151
1. Update `test-and-report-latest-node.yml` to the new version first
@@ -156,8 +156,8 @@ When a new Node.js version is released:
156
156
157
157
| Tool | Current Version | Peer Constraint | Upgrade Path |
Copy file name to clipboardExpand all lines: docs/FUTURE_WORKFLOWS.md
+32-40Lines changed: 32 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
## Overview
4
4
5
-
This document describes the planned upgrade of all CI/CD workflows, devcontainer configuration, and documentation from **Node.js 26** to **Node.js 27**.
5
+
This document describes the plan to track **Node.js 27** in the forward-compatibility workflow (`test-and-report-latest-node.yml`) as a canary for the eventual **Node.js 28 LTS** upgrade.
6
6
7
-
Node.js 27 is expected in **October 2026**. This upgrade plan is designed to be executed immediately after the official Node.js 27 release.
7
+
Node.js 27 is expected in **October 2026**. Because Node.js 27 is an **odd-numbered non-LTS release**, the primary CI, devcontainer, and `package.json` will **remain on Node.js 26 LTS** throughout. Only `test-and-report-latest-node.yml` will advance to `27.0.0-nightly` once those builds are published.
8
8
9
9
> **✅ Node.js 26 upgrade completed May 2026.** All workflows, devcontainer, and `package.json` have been updated. The forward-compatibility workflow (`test-and-report-latest-node.yml`) currently uses `26.0.0-nightly` (Node.js 27 nightly builds do not yet exist; they will be published once Node.js 27 development starts, expected October 2026). Update the forward-compat workflow to `27.0.0-nightly` once those builds are available.
10
10
@@ -25,66 +25,58 @@ Node.js 27 is an **odd-numbered** release and will **not** become LTS. We use it
25
25
26
26
## Upgrade Checklist
27
27
28
-
When Node.js 27 is officially released, execute the following steps in a single PR:
> **Prerequisite:** Confirm `27.0.0-nightly` builds are available on [nodejs.org/download/nightly](https://nodejs.org/download/nightly/) before running these changes.
31
31
32
-
-[ ]**`package.json`** — Update `engines.node` from `>=26` to `>=27`
33
-
-[ ]**`.devcontainer/devcontainer.json`** — Update image from `javascript-node:26-trixie` to `javascript-node:27-trixie`, and node feature version from `"26"` to `"27"`
> **Note:** Primary workflows (`test-and-report.yml`, `release.yml`, `codeql.yml`, Copilot setup), `package.json` engines, and the devcontainer **remain on Node.js 26 LTS** for this phase. The full migration to Node.js 27 does not apply — Node.js 27 is odd-numbered and non-LTS. The next primary-workflow upgrade will happen when **Node.js 28 LTS** is released (April 2027).
36
35
37
-
Update `node-version` from `"26"` to `"27"` in each of the following files:
-[ ]**`.github/workflows/copilot-setup.yml`** — 1 occurrence in `node-version`, 1 occurrence in setup report text (`Node.js 26` → `Node.js 27`)
44
-
-[ ]**`.github/workflows/test-and-report-latest-node.yml`** — 4 occurrences (update from `"26.0.0-nightly"` to `"27.0.0-nightly"` once Node.js 27 nightly builds are published; then advance to `"28.0.0-nightly"` once Node.js 28 nightly builds exist)
38
+
-[ ]**`docs/End-of-Life-Strategy.md`** — Update version matrix forward-compat row to "27 nightly (`27.0.0-nightly`)", update note text
39
+
-[ ]**`docs/WORKFLOWS.md`** — Update forward-compat Node.js version to "27 nightly"
40
+
-[ ]**`docs/FUTURE_WORKFLOWS.md`** (this file) — Update to reflect Node.js 28 LTS as the next planned primary upgrade
45
41
46
-
### Phase 3 — Documentation (Day 1–2)
42
+
### Phase 3 — Validation (same PR)
47
43
48
-
-[ ]**`docs/End-of-Life-Strategy.md`** — Update "Current Status" table, highlight Node.js 27 as active
49
-
-[ ]**`docs/WORKFLOWS.md`** — Update "Current Node.js version" and all version references
50
-
-[ ]**`docs/FUTURE_WORKFLOWS.md`** (this file) — Update to reflect Node.js 28 as the next planned upgrade
51
-
-[ ]**`README.md`** — Update any Node.js version badges or requirements section if present
52
-
53
-
### Phase 4 — Validation (Day 2)
54
-
55
-
-[ ] Verify all CI jobs pass on the PR before merging
-[ ] Confirm devcontainer builds successfully with Node.js 27
59
-
-[ ] Run `npm audit` to check for any dependency advisories under Node.js 27
60
-
-[ ] Check `npm run test:licenses` passes
44
+
-[ ] Verify `test-and-report-latest-node.yml` passes on the PR
45
+
-[ ] Confirm all other CI jobs continue to pass (they all remain on Node.js 26)
46
+
-[ ] Run `npm audit` to check for any dependency advisories
61
47
62
48
---
63
49
64
50
## Sed Commands for Automation
65
51
66
-
The following commands can be run to perform the bulk of the Node.js 26 → 27 migration:
52
+
The following command updates the forward-compat workflow to Node.js 27 nightly. Run only after confirming `27.0.0-nightly` builds are available on [nodejs.org/download/nightly](https://nodejs.org/download/nightly/):
67
53
68
54
```bash
69
-
# Update all workflow node-version references (double-quoted)
# Update the forward-compat nightly workflow from 26.0.0-nightly to 27.0.0-nightly
73
-
# (run only after Node.js 27 nightly builds are confirmed available on nodejs.org/download/nightly)
74
56
sed -i 's/node-version: "26.0.0-nightly"/node-version: "27.0.0-nightly"/g' .github/workflows/test-and-report-latest-node.yml
57
+
```
75
58
76
-
# Update copilot-setup.yml (single-quoted)
77
-
sed -i "s/node-version: '26'/node-version: '27'/g" .github/workflows/copilot-setup.yml
59
+
> **Note:** The commands below are for the **future Node.js 28 LTS upgrade** (April 2027), not for Node.js 27. Primary workflows, `package.json`, and the devcontainer stay on Node.js 26 until Node.js 28 LTS.
78
60
79
-
# Update text references
80
-
sed -i 's/Node\.js 26/Node.js 27/g' .github/workflows/copilot-setup.yml
61
+
```bash
62
+
# === Node.js 28 LTS upgrade (April 2027) — DO NOT run for Node.js 27 ===
63
+
64
+
# Update all workflow node-version references (double-quoted)
0 commit comments