-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
Description
Summary
- Raise the project-wide minimum Node.js version from 16 to 24.
- Unblock MCP server work in feat: PM2 Native MCP Server — Proposal #6026 without carrying multiple runtime branches.
Motivation
- Node 16 has been end-of-life since Sep 2023, Node 20 sunsetted ~11 months ago, and Node 22 is slated to drop out of maintenance in about three weeks.
- MCP support (see feat: PM2 Native MCP Server — Proposal #6026) depends on @modelcontextprotocol/sdk, which already targets Node 18+ and leans on newer platform primitives. Targeting 24 keeps us aligned with the active LTS stream.
- Chasing patch-level polyfills for old runtimes is turning into pure yak shaving.
Proposed steps
- Update
package.json
and any runtime guards to require Node.js>=24
. - Refresh CI/test matrices, Docker images, and documentation to match the new floor.
- Audit bundled dependencies or binaries that hard-code older targets and bump/rebuild as needed.
- Publish a minor release call-out so downstreams know to upgrade their Node toolchains.
Follow-up plan
- Once this lands, I'll open a PR that only performs the Node 24 bump and supporting cleanup.
- After that PR merges, I'll layer the MCP server implementation (referencing feat: PM2 Native MCP Server — Proposal #6026) as a second PR that builds on the new runtime baseline.
Open questions
- Any environments still pinned to Node <24 that we must officially support?
- Do we want to keep a compatibility shim (e.g. smoke-test for Node 22) during a short deprecation window?
Metadata
Metadata
Assignees
Labels
No labels