Skip to content

Commit 93613ad

Browse files
authored
chore: drop Node.js 18 support (EOL April 2025) (#126)
Node 18 reached end-of-life in April 2025 and no longer receives security patches. This PR: - Removes Node 18 from the CI test matrix - Bumps `engines.node` to `>=20.0.0` - Updates all docs to reflect the new minimum This also fixes the flaky Windows/Node 18 CI failures (`AttachConsole failed` in node-pty).
1 parent 3b6be76 commit 93613ad

8 files changed

Lines changed: 9 additions & 9 deletions

File tree

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ TermBeam is a Node.js CLI tool that exposes a local PTY (pseudo-terminal) over H
9191
- **Minimal dependencies** — prefer built-in Node.js APIs over npm packages
9292
- **One responsibility per file** — each `src/*.js` module owns a single concern
9393
- **Prettier formatting** — single quotes, trailing commas, 100 char width, semicolons (`.prettierrc`)
94-
- **Cross-platform support** — must work on Windows, macOS, and Linux; CI tests on Ubuntu + Windows with Node 18, 20, 22
94+
- **Cross-platform support** — must work on Windows, macOS, and Linux; CI tests on Ubuntu + Windows with Node 20, 22, 24
9595
- **PTY session cleanup**`pty.kill()` is async; the `onExit` callback removes the session from the Map
9696
- **Coverage exclusion**`src/tunnel.js` and `src/devtunnel-install.js` are excluded from coverage (requires external DevTunnel CLI)
9797
- **Connection config** — server writes `~/.termbeam/connection.json` on start (port, host, password) for `termbeam resume` auto-discovery; removed on shutdown

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
fail-fast: false
2323
matrix:
2424
os: [ubuntu-latest, windows-latest]
25-
node-version: [18, 20, 22]
25+
node-version: [20, 22, 24]
2626
steps:
2727
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
2828
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Thank you for your interest in contributing! Here's everything you need to know.
44

55
## Prerequisites
66

7-
- **Node.js**18
7+
- **Node.js**20
88
- **npm** ≥ 9
99
- **Git**
1010
- A terminal (macOS, Linux, or Windows with WSL)
@@ -186,7 +186,7 @@ feat!: require password by default
186186
1. Push your branch to your fork
187187
2. Open a PR against `main` on [dorlugasigal/TermBeam](https://github.com/dorlugasigal/TermBeam)
188188
3. Fill in the PR template (if available)
189-
4. Ensure CI passes (tests run on Node 18, 20, 22)
189+
4. Ensure CI passes (tests run on Node 20, 22, 24)
190190
5. Wait for review — we'll provide feedback if needed
191191

192192
### PR Checklist

docs/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: Install TermBeam and connect to your terminal from any device in un
77

88
## Prerequisites
99

10-
- **Node.js** 18 or higher
10+
- **Node.js** 20 or higher
1111
- A terminal (macOS, Linux, or Windows)
1212

1313
## Installation

docs/running-in-background.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ launchctl unload ~/Library/LaunchAgents/com.termbeam.plist
256256

257257
<!-- prettier-ignore -->
258258
!!! info "Node.js Requirement"
259-
TermBeam requires Node.js 18 or higher. Verify with `node --version` before setting up a background service.
259+
TermBeam requires Node.js 20 or higher. Verify with `node --version` before setting up a background service.
260260

261261
<!-- prettier-ignore -->
262262
!!! tip "Which method should I use?"

docs/troubleshooting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ curl -H "Authorization: Bearer YOUR_PASSWORD" http://localhost:3456/api/sessions
120120
- **Ubuntu / Debian:** `sudo apt install build-essential python3`
121121
- **Windows (Admin PowerShell):** `npm install --global windows-build-tools`
122122

123-
Ensure your Node.js version is 18 or higher — older versions are not supported.
123+
Ensure your Node.js version is 20 or higher — older versions are not supported.
124124

125125
### "Port already in use"
126126

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"url": "https://github.com/dorlugasigal/TermBeam/issues"
4848
},
4949
"engines": {
50-
"node": ">=18.0.0"
50+
"node": ">=20.0.0"
5151
},
5252
"files": [
5353
"bin/",

0 commit comments

Comments
 (0)