KafkaJS (https://github.com/tulios/kafkajs 4,005 ) (MIT) implements the protocol in plain JavaScript: no native code and nothing to compile, which made it the default Node.js 2,131 client for years. Its last release, 2.2.4, came out on 27 February 2023, and the last commit in May 2024. Issues and pull requests still arrive in 2026, unmerged; there is no deprecation notice, but the effect is the same. A Node.js Consumer's analytics consumer on KafkaJS and Node.js 24:
cd clients/node && npm install && timeout 20 node analytics.js kafkajs(node:49329) TimeoutNegativeWarning: -1790923653473 is a negative number.
{"level":"ERROR",...,"message":"[Connection] Response Fetch(key: 1, version: 11)",...}
{"level":"ERROR",...,"message":"[Consumer] Crash: KafkaJSNotImplemented: ZSTD compression not
implemented","groupId":"booknest-analytics-kafkajs",...}Node.js flags a timer bug in KafkaJS; the crash is worse. KafkaJS decodes only GZIP itself; zstd 126 , used by the shop producer (Compression Codecs), needs the @kafkajs/zstd codec package registered first. The consumer crashed, restarted and crashed until timeout stopped it. KafkaJS also lacks KIP-848 and share groups. Producing works, with a Java-compatible murmur2 partitioner since 2.0. Keep working KafkaJS services; start new ones on the Confluent 17,245 client.