Blizzard / Blizzard/node-rdkafka
Node.js 26 support: native build fails (NAN vs new V8 GetAlignedPointerFromInternalField)
- Dominant language
- JavaScript
- Stars
- 2.2k
- Forks
- 403
- PR merge metrics
- No merged PRs in 30d
Description
### Environment
- **node-rdkafka:** 3.6.1 (latest)
- **Node.js:** 26.4.0 (V8 14.x)
- **OS:** Linux (Ubuntu, GitHub Actions `ubuntu-latest`) and macOS
- **node-gyp:** 11.4.2
### Problem
`node-rdkafka@3.6.1` fails to compile from source on Node.js 26. Node 26's V8 changed the signature of `GetAlignedPointerFromInternalField` (it now takes additional arguments), and the bundled NAN-based bindings don't compile against it:
```
/home/runner/.cache/node-gyp/26.4.0/include/node/v8-object.h:558:26:
note: candidate expects 3 arguments, 1 provided
...
make: *** [node-librdkafka.target.mk:129: Release/obj.target/node-librdkafka/src/binding.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! node -v v26.4.0
gyp ERR! node-gyp -v v11.4.2
gyp ERR! not ok
```
There is also no prebuilt binary published for Node 26 (ABI 137), so installs fall back to a source build and fail.
### Impact
Any project on Node 26 (the current release; Active LTS on 2026-10-28) cannot `npm/yarn install` node-rdkafka, which blocks CI, container base images, and runtime.
### Ask
Could node-rdkafka add Node.js 26 support — either by updating/replacing the NAN usage (NAN is the root cause here; migrating the bindings to Node-API / node-addon-api would be forward-compatible across V8 changes) and/or publishing Node 26 prebuilds?
Related upstream context on the same NAN/V8 break: nodejs/node#61174.
Contributor guide
Research direction
Start by reproducing npm or yarn installation on Node.js 26 and inspect the failure around node-librdkafka.target.mk:129 and the bundled NAN bindings. Done means node-rdkafka installs successfully from source on Node.js 26, with Node 26 prebuild availability addressed if that route is pursued.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- backend, build-system
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100