unstale

npm / @confluentinc/kafka-javascript

@confluentinc/kafka-javascript

What changed in @confluentinc/kafka-javascript 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-14.

2 breaking1 security22 new APIs and options5 behavior and defaults28 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.1 on npm

@confluentinc/kafka-javascript 158 changes

Breaking changes 2

  • Promisified producer.connect() and consumer.connect() retry transient connection errors by default, with retry.retries defaulting to 5; set it to 0 for single-attempt behavior.

    1.11.0release notes

  • send() rejects an invalid topic or messages list before serialization, and serializer failures are reported as KeySerializationError or ValueSerializationError with the original error as cause.

    1.11.0release notes

Security 1

New APIs and options 22

  • Support was added for saving the Azure key version with a DEK.

    1.11.0release notes

  • Producer, consumer, and admin clients can fetch the id of their connected cluster through the node-rdkafka and promisified APIs; this is experimental.

    1.11.0release notes

  • Decimal was added as a CEL function.

    1.11.0release notes

  • Support was added for inline validation rules.

    1.11.0release notes

  • An experimental producer property accepts a serializer builder that is built while connecting and applied to keys.

    1.11.0release notes

  • An experimental producer property accepts a serializer builder that is built while connecting and applied to values.

    1.11.0release notes

  • Support was added for generating a JSON Schema title from a JSON payload.

    1.11.0release notes

  • An experimental builder was added for integrating an Avro deserializer with the promisified Kafka clients.

    1.11.0release notes

  • An experimental builder was added for integrating an Avro serializer with the promisified Kafka clients.

    1.11.0release notes

  • An experimental builder was added for integrating a JSON deserializer with the promisified Kafka clients.

    1.11.0release notes

  • An experimental builder was added for integrating a JSON serializer with the promisified Kafka clients.

    1.11.0release notes

  • An experimental builder was added for integrating a Protobuf deserializer with the promisified Kafka clients.

    1.11.0release notes

  • An experimental builder was added for integrating a Protobuf serializer with the promisified Kafka clients.

    1.11.0release notes

  • Timestamp was added as a CEL function.

    1.11.0release notes

  • Variant was added as a CEL function.

    1.11.0release notes

  • Adds support for union-of-pools/auto-pool mapping for schema registry.

    1.10.0release notes

  • Adds AssociatedNameStrategy.

    1.9.0release notes

  • Adds enableAt to RuleSet.

    1.9.0release notes

  • Exported from the schemaregistry index.ts, making CelExecutor available to consumers.

    1.8.0release notes

  • Exported from the schemaregistry index.ts, making CelFieldExecutor available to consumers.

    1.8.0release notes

  • Batch size is configurable through this property.

    1.7.0release notes

  • Cache size is configurable through this property.

    1.7.0release notes

Behavior and default changes 5

  • The default builder strategy lazily resolves the Kafka cluster id on first subject lookup; an explicit cluster id takes precedence, and concurrent resolutions share one call.

    1.11.0release notes

  • Clients pass context when making KEK calls to the DEK Registry.

    1.11.0release notes

  • Deserializer failures are attached to the message as deserializedKey.error or deserializedValue.error, so the record is still delivered.

    1.11.0release notes

  • The wait between connection attempts grows exponentially from retry.initialRetryTime up to retry.maxRetryTime with jitter; these settings also map to librdkafka reconnect backoff properties.

    1.11.0release notes

  • Reporting for JSON Schema validation was slightly enhanced.

    1.8.2release notes

Fixes and other changes 28

  • Concurrent connect() calls on the same client share a single in-flight connection attempt instead of the second call throwing.

    1.11.0release notes

  • Prebuilt binaries are now available for linux-s390x with both glibc and musl.

    1.11.0release notes

  • The property is now mapped from retry.maxRetryTime so librdkafka reconnection attempts use the same backoff.

    1.11.0release notes

  • The property is now mapped from retry.initialRetryTime so librdkafka reconnection attempts use the same backoff.

    1.11.0release notes

  • An explicitly configured cluster id takes precedence over lazy cluster-id resolution by the default builder strategy.

    1.11.0release notes

  • Prevents a crash if an admin operation fails before its result event is received.

    1.10.1release notes

  • A message is stored as the last consumed offset only after processing eachMessage or resolving offsets in eachBatch, when it is stored for commitment.

    1.10.1release notes

  • References librdkafka 2.15.1; see its release notes for details.

    1.10.1release notes

  • HTTP status is preserved on Schema Registry error responses.

    1.10.1release notes

  • Avoids a duplicate message when seeking back to reprocess a message or batch.

    1.10.1release notes

  • Handles non-HTTP errors during retries.

    1.10.0release notes

  • Correct the TypeScript MemberDescription shape: assignment and targetAssignment wrap a topicPartitions array, while memberAssignment and memberMetadata are nullable.

    1.9.1release notes

  • Correct FetchOffsetsPartition.error to LibrdKafkaError | null, matching the runtime, which always populates the field.

    1.9.1release notes

  • Correct its TypeScript return type to Promise<Array<ITopicMetadata>>.

    1.9.1release notes

  • Fix error callback passing and pass an object to the logger instead of a string.

    1.9.1release notes

  • Resolve the IHeaders import for installed clients.

    1.9.1release notes

  • Handle anyOf and allOf in JSON transforms.

    1.9.1release notes

  • Handle missing Protobuf message index bytes during deserialization.

    1.9.1release notes

  • Serde constructors now preserve a custom subjectNameStrategy.

    1.9.1release notes

  • Fix the broken types path so TypeScript consumers get types.

    1.9.1release notes

  • Avro arrays are processed sequentially to avoid race conditions.

    1.8.2release notes

  • NULL checks prevent segfaults when Kafka metadata contains NULL values during broker restarts.

    1.8.2release notes

  • Prevents fetch failures when max batch size is set or uses its default and the consumption rate is low.

    1.8.0release notes

  • Ensures the maximum message cache size does not reach zero by keeping at least one message per worker after rounding up.

    1.8.0release notes

  • The rule failure message was improved.

    1.8.0release notes

  • Fixes a case where the at-least-once guarantee was not ensured when seeking one partition while messages were being fetched for other partitions.

    1.7.0release notes

  • Prevents returning a negative lag when there is no cached offset for the HWM.

    1.7.0release notes

  • The statistics callback is now available with the promisified API for all client types.

    1.7.0release notes