Skip to content

Support Node 26 - #4

Merged
31453 merged 4 commits into
masterfrom
node26
Oct 23, 2026
Merged

31453 merged 4 commits into
masterfrom
node26

Conversation

@awick

@awick awick commented Oct 23, 2026 •

Copy link
Copy Markdown
Collaborator
  • Pass the V8 embedder data type tag to internal field pointer calls (sets on V8 14.1+, gets on 14.2+)
  • Use Isolate::GetCurrent() since V8 14.6 (Node 26) removed Object::GetIsolate() and Context::GetIsolate()
  • Fix error messages, CheckedString ignored its argument and always returned "IPTrie"
  • Reject invalid prefix lengths (over 32/128, negative, NaN, Infinity, fractional) with a RangeError instead of overreading or aborting in btrie
  • Free the old value when a route is re-added instead of leaking it
  • Throw when IPTrie is called without new instead of aborting
  • Remove always-true NODE_VERSION_AT_LEAST ifdefs and fix init signature warnings
  • Add npm test, validation tests and a Node 18/20/22/24/25/26 CI matrix
  • Set engines to node >= 18.0.0
  • Bump version to 0.1.0

awick and others added 4 commits October 23, 2026 07:09
- Pass the V8 14 embedder data type tag to internal field pointer calls on Node 26
- Use Isolate::GetCurrent() since Object::GetIsolate() was removed
- Fix error messages, CheckedString ignored its argument and always returned "IPTrie"
- Remove always-true NODE_VERSION_AT_LEAST ifdefs and fix init signature warnings
- Set engines to node >= 18.0.0, tested on 18, 20, 22, 23, 24, 26
- Bump version to 0.0.11

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Reject prefix lengths over 32/128 instead of overreading or aborting in btrie
- Free the old value when a route is re-added instead of leaking it
- Throw when IPTrie is called without new instead of aborting
- Gate the internal field tag on V8 14.2+ instead of Node 26
- Make the addon context-aware so it loads in worker threads
- Add npm test, validation tests and a Node 18-26 CI matrix
- Bump version to 0.1.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Reject NaN, Infinity, fractional and wrapped prefix lengths
- Tag internal field sets on V8 14.1 to avoid Node 25 deprecation warning
- Fail the worker test if the worker never reports back
- CI: build with npm's bundled node-gyp, read-only token, SHA-pinned actions, add Node 25

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Use Isolate::GetCurrent() since V8 14.6 also removed Context::GetIsolate()
- Go back to NODE_MODULE, workers never loaded alongside the main thread and leaked every trie on exit
- Remove the worker test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@31453
31453 merged commit 88d4b86 into master Oct 23, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants