KafkaJS is a modern Apache Kafka client for Node.js, providing producer, consumer groups, transactional support, message headers, compression, and admin capabilities. It supports plain and secure connections (SSL, SASL_SSL) including SCRAM and AWS IAM authentication, and is useful for building Kafka-based messaging and streaming apps in JavaScript.
Project status
- The repository (tulios/kafkajs, a modern Apache Kafka client for Node.js) appears largely maintained through occasional updates, but the most recent published update is v2.2.4 on 2023-02-27, with no further update history shown since then.
- Update cadence looks low. The last upstream push shown is 2024-08-02, and compared to today (2026-08-12), there have been no evidenced published updates for more than a year, suggesting a quiet or maintenance mode period.
AI summary generated
Recent updates
v2.2.4
Release v2.2.4 focuses on consumer reliability fixes, specifically rejoining after ILLEGAL_GENERATION, preventing stalls after brief client-side throttling, and avoiding infinite crash loops when no brokers are available. It also improves observability by adding groupId to a debug log when failing to find the group coordinator.
Featuresv2.2.3
Release v2.2.3 is a small patch release with a single documented fix for a regression in SASL/PLAIN authentication. The code diff shows only a minor change in the network connection write path plus version/changelog updates.
v2.2.2
Release v2.2.2 is described as a compatibility fix for AWS MSK Serverless. The provided code diff is very small and does not show any explicit AWS MSK specific logic changes, only a protocol version value change for the RoundRobin assigner plus metadata version bumps.
v2.2.1
Release v2.2.1 mainly updates TypeScript typing definitions for custom authentication mechanisms. Most other changes in this diff are documentation or website link updates, plus the package version bump.
v2.2.0
v2.2.0 adds support for injecting custom SASL authentication mechanisms and introduces new admin APIs for partition reassignment (alter and list). It also includes fixes for TLS connection behavior when using IP addresses and performance improvements for large subscriptions in the consumer group.
BreakingFeaturesv2.1.0
v2.1.0 adds a new `pause()` capability to both `eachMessage` and `eachBatch`, and updates the `KafkaMessage` TypeScript type to better reflect pre-Kafka 0.10 versus current record formats. It also includes multiple fixes around consumer pause behavior, EOS transaction edge cases, and stability/performance when brokers become unavailable.
Featuresv2.0.2
Release v2.0.2 contains a targeted fix for `consumer.seek` when seeking across multiple partitions within the same topic. The code change corrects how pending seek offsets are keyed internally, preventing partition offset collisions. Test coverage for `seek` was expanded accordingly.
v2.0.1
KafkaJS v2.0.1 is a small follow-up release that fixes consumer group behavior when a member receives no partition assignments, and it adjusts error handling for REPLICA_NOT_AVAILABLE to improve retryability. It also updates documentation around admin.createTopics behavior. Most code changes are internal refactors replacing custom array-flattening helpers with native Array.prototype.flat/flatMap.
v2.0.0
v2.0.0 is a major release that includes a migration guide and several breaking API removals and behavior changes. The notes highlight consumer performance improvements, new topic subscription capabilities, and stricter defaults for request timeouts and topic creation. It also removes legacy Node versions and deprecated KafkaJS APIs from the public surface.
BreakingFeaturesv1.16.0
v1.16.0 adds several admin and consumer enhancements, including support for fetching offsets for multiple topics and new consumer events, plus improved admin error output and additional typings. It also introduces stricter validation and error handling (for brokers, and for consumer stop/disconnect), and includes fixes for crashes around topic names and offset/heartbeat behavior.
BreakingFeatures