Repository navigation
feat: support Node.js 26 LTS - #360
Merged
Merged
Conversation
Node 26 became LTS on 2026-10-28, and Homebridge 2.4 already allows ^22 || ^24 || ^26. Add it to engines and the CI matrix (build, test and lint pass on 26.13.0), and move CI to actions/checkout@v7 and actions/setup-node@v7, which run on Node 24 now that runners have dropped Node 20. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LzktUt9rqfrSfRydbWruTR
donavanbecker
added a commit
to OpenWonderLabs/homebridge-switchbot
that referenced
this pull request
Nov 6, 2026
## What - `engines.node`: `^22 || ^24` → `^22 || ^24 || ^26`. `engines.homebridge` stays `^2.0.0`. - CI matrix: Node 22, 24 and 26. - Workflows: `actions/checkout` and `actions/setup-node` move to `@v7` (`ci.yml` was on v4, `manual-e2e.yml` on v6). The v4 actions run on Node 20, which GitHub [removed from runners on 2026-09-23](https://github.blog/changelog/2026-01-12-deprecation-of-node-20-on-github-actions-runners/). - The contributor guide lists the new Node range. ## Why Node 26 became [LTS on 2026-10-28](https://www.linuxcompatible.org/story/nodejs-26130-lithium-reaches-lts-support-through-april-2029/). Homebridge 2.4.0 already declares `^22 || ^24 || ^26`, so users on Node 26 currently get an engines warning for this plugin only. The matching node-switchbot change is OpenWonderLabs/node-switchbot#360. The plugin's `engines` doesn't depend on it. ## Checks Build, test (219 passed, 1 skipped) and lint pass on Node 22.23.4 and on Node 26.13.0. ## Target branch No `beta-*` branch exists, and this session wasn't allowed to create `beta-5.2.11` (the next patch after the published 5.2.10, since there are no labels). So, as the guide's fallback says, this targets `latest`. Retarget to a beta branch if you'd rather ship it as a beta first. No config migration needed. --- _Generated by [Claude Code](https://claude.ai/code/session_01LzktUt9rqfrSfRydbWruTR)_ Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
engines.node:^22 || ^24→^22 || ^24 || ^26.actions/checkout@v4→@v7andactions/setup-node@v4→@v7. The v4 actions run on Node 20, which GitHub removed from runners on 2026-09-23; they only still work because runners force them onto Node 24.BLE.mdlist the new Node range.BLE.mdstill said^20.Why
Node 26 became LTS on 2026-10-28. Homebridge 2.4.0 already declares
^22 || ^24 || ^26.Checks
Build, test (462 passed) and lint pass on Node 22.23.4 and on Node 26.13.0.
Nothing is dropped and the minimum is unchanged. Node 22 reaches end of life in April 2027; dropping it is left for a later decision.
Generated by Claude Code