Skip to content

Update dependency confluent-kafka to v2.15.1 - #9

Merged
dimallya merged 1 commit into
mainfrom
renovate/confluent-kafka-2.x
Oct 5, 2026
Merged

dimallya merged 1 commit into
mainfrom
renovate/confluent-kafka-2.x

Conversation

@renovate

@renovate renovate Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
confluent-kafka ==2.5.3 → ==2.15.1 age confidence

Release Notes

confluentinc/confluent-kafka-python (confluent-kafka)

v2.15.1

Fixes
  • DeserializingConsumer and DeserializingShareConsumer now deserialize the
    message key before the value, matching SerializingProducer and the Java
    client. When both key and value fail to deserialize, the key error is now
    surfaced instead of the value error.
  • Minor fix for subjectPrefix parameter in subjects API (#​2311)
  • Fix race conditions (#​2315)
  • Fix segmentation fault after calling AdminClient.delete_records() followed
    by another Admin API call (e.g. list_topics()) on Python 3.14.
  • Use asyncio.get_running_loop() instead of asyncio.get_event_loop() to avoid creating a new event loop and raise an error in case a loop isn't available (@​AlexCai26, #​2339).

confluent-kafka-python 2.15.1 is based on librdkafka 2.15.1, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.15.0

KIP-932 Queues for Kafka – Now in Preview

confluent-kafka-python 2.15.0 adds a Preview implementation of the KIP-932 share consumer (Queues for Kafka). Members of a share group cooperatively consume from the same partitions with per-record acquire/acknowledge semantics and redelivery, providing queue-like consumption on top of Kafka.

  • New ShareConsumer and DeserializingShareConsumer clients: subscribe, batch poll (poll() returns a Messages batch), and close (with context-manager support).
  • Implicit (default) and explicit acknowledgement modes (share.acknowledgement.mode), with AcknowledgeType ACCEPT / RELEASE / REJECT and Message.delivery_count().
  • Synchronous and asynchronous commit (commit_sync / commit_async) and an acknowledgement-commit callback.
  • Runtime SASL credential updates (set_sasl_credentials) and new IllegalStateException / ConcurrentModificationException exceptions.
  • (#​2217, #​2239, #​2241, #​2252, #​2253, #​2265, #​2273, #​2277, #​2279)

See the Share Consumer guide and the Share consumers section of librdkafka's INTRODUCTION.md.

Note: The share consumer is currently in Preview and should not be used in production environments. Its public interfaces may change before General Availability, and known limitations apply (see the guide). The share consumer is single-threaded and not thread-safe. It requires a broker with share groups enabled (generally available in Apache Kafka 4.2.0).

Features
  • New optional install confluent-kafka[oauthbearer-aws] provides AWS IAM-based
    OAUTHBEARER authentication via AWS STS GetWebIdentityToken. Activate by setting sasl.oauthbearer.method=oidc,
    sasl.oauthbearer.metadata.authentication.type=aws_iam, and
    sasl.oauthbearer.config="region=...,audience=...". See the
    AWS IAM OAUTHBEARER guide for full configuration, and
    examples/oauth_oidc_ccloud_aws_iam.py
    for a worked example.
Enhancements
  • Add support for union-of-pools and auto pool mapping for Schema Registry (#​2182)
Fixes
  • Fix Encryption fails when expanded union types have two references to the same record (@​ChristophMajcenAtXxxlutz, #​2262)
  • Make orjson optional in JSON serdes with stdlib json fallback (#​2281)
  • Handle non-http errors during retries (#​2292)
  • Use TLS certification verification with Hashicorp Vault (#​2294)

confluent-kafka-python v2.15.0 is based on librdkafka v2.15.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.14.2

v2.14.2 is a maintenance release with the following fixes and enhancements:

Fixes
  • Fix URL joining in Python client (#​2228)
  • Handle anyOf/allOf in JSON transforms (#​2237)
  • Fix redefining a named Avro type in a diamond dependency pattern (#​2238)
  • Fix typing_extensions import errors on Python 3.12 (#​2232)
  • Fix Encryption fails when referencing self defined types (#​2254)

confluent-kafka-python v2.14.2 is based on librdkafka v2.14.2, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.14.0

v2.14.0 is a feature release with the following features, fixes and enhancements:

Enhancements
  • Implement async context manager protocol for AIOProducer and AIOConsumer (#​2180)
  • Add AssociatedNameStrategy (#​2194)
  • Add enableAt to RuleSet (#​2218)
Fixes
  • Ensure normalize.schemas config is passed during Protobuf ref lookup #​2214
  • Fix type annotations for context manager hooks so that they are correct for subclasses (#​2181)
  • Fix OAuth callback handling for Async IO clients to prevent initialization failures (#​2219)

confluent-kafka-python v2.14.0 is based on librdkafka v2.14.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.13.2

v2.13.2 is a maintenance release with the following fixes and enhancements:

Enhancements
  • Add Confluent-Client-Version header to requests to SR, Python client (#​2148)
  • Add UAMI OAuth changes (#​2189)
Fixes
  • Fixed memory leak in Producer.produce() when called with headers and raises BufferError (queue full) or RuntimeError (producer closed). The allocated rd_headers memory is now properly freed in error paths before returning. Fixes Issue #​2167.
  • Fixed type hinting of KafkaError class, Consumer.__init()__, Producer.__init()__, Producer.produce() and Consumer.commit() and introduced a script in tools directory to keep error codes up to date. Fixes Issue #​2168.
  • Fix the token expiration logic in SR Oauth (#​2177)
  • Ensure use of cachetools is thread-safe (#​2178)
  • Remove passing resolver in json validate (#​2186)
  • Fix JSON schema resolver bug (#​2188)

v2.13.0

v2.13.0 is a feature release with the following features, fixes and enhancements:

Enhancements
  • Enforced type hinting for all interfaces
  • Handle OAuth Token Refreshes using background thread for Admin, Producer and Consumer clients (#​2130)
  • Added black and isort linting rules and enforcement to codebase (#​2133, #​2137)
  • Enabled direct creation of Message objects (#​2128)
  • Added close() method to producer (#​2039)
  • Added context manager for librdkafka classes to enable easy scope cleanup (#​2114)
  • Expose deterministic partitioner functions (#​2116)
  • Add Accept-Version header for schemas (#​2117)
  • Enhanced the BufferTimeoutManager to flush the librdkafka queue
  • Remove experimental module designation for Async classes (#​2143)
  • Add __len__ function to AIOProducer (#​2140)
  • Enhance Message class to include serialisation support and rich comparison (#​2153)
  • Support Strict Validation Flags in Avro Serializers (#​2147)
Fixes
  • Type hint __enter__ to return the same object type that called it (#​2157)
  • Fixed Consumer.poll(), Consumer.consume(), Producer.poll(), and Producer.flush() blocking indefinitely and not responding to Ctrl+C (KeyboardInterrupt) signals. The implementation now uses a "wakeable poll" pattern that breaks long blocking calls into smaller chunks (200ms) and periodically re-acquires the Python GIL to check for pending signals. This allows Ctrl+C to properly interrupt blocking operations. Fixes Issues #​209 and #​807 (#​2126).
  • Fix support for wrapped Avro unions (#​2134)
  • Fixed segfault exceptions on calls against objects that had closed internal objects (#​2122)
  • Handle evolution during field transformation of schemas (#​2121)
  • Handle null group name to prevent segfault in Admin list_consumer_group_offsets() (#​2118)
  • Ensure schemaId initialization is thread-safe (#​2120)
  • Fix error propagation rule for Python's C API
  • Fix SR delete behavior with client-side caching
  • Don't leave NewTopic partially-initialized on error (#​2151)
  • Fix formatting issue of TopicPartition that causes SystemError on Windows (#​2141)
  • Add Py_None check for msg and offset params in commit() and store_offsets() (#​2145)
  • Fix experimental module references (#​2144)
  • Update outdated example in README.md (#​2150)

confluent-kafka-python v2.13.0 is based on librdkafka v2.13.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.12.2

v2.12.2 - 2025-11-06

v2.12.2 is a maintenance release with the following change:

Schema Registry Client

  • Handled evolution during field transformation
  • Changed Accept-Version to Confluent-Accept-Unknown-Properties in request header

v2.12.1

v2.12.1 is a maintenance release with the following fixes:

  • Restored macOS binaries compatibility with macOS 13
  • libversion() now returns the string/integer tuple for varients on version -- use version() for string only response
  • Added Python 3.14 support and dropped 3.7 support -- Free-threaded capabilities not fully supported yet
  • Fixed use.schema.id in sr.lookup_schema()
  • Removed tomli dependency from standard (non-documentation) requirements
  • Fixed experimental asyncio example files to correctly use new capabilities
  • Fixed invalid argument error on schema lookups on repeat requests
  • Fixed documentation generation and added error checks for builds to prevent future breaks

v2.12.0

v2.12.0 is a feature release with the following enhancements:

KIP-848 – General Availability

Starting with confluent-kafka-python 2.12.0, the next generation consumer group rebalance protocol defined in KIP-848 is production-ready. Please refer to the following migration guide for moving from classic to consumer protocol.

Note: The new consumer group protocol defined in KIP-848 is not enabled by default. There are few contract change associated with the new protocol and might cause breaking changes. group.protocol configuration property dictates whether to use the new consumer protocol or older classic protocol. It defaults to classic if not provided.

AsyncIO Producer (experimental)

Introduces beta class AIOProducer for asynchronous message production in asyncio applications.

Added
  • AsyncIO Producer (experimental): Introduces beta class AIOProducer for
    asynchronous message production in asyncio applications. This API offloads
    blocking librdkafka calls to a thread pool and schedules common callbacks
    (error_cb, throttle_cb, stats_cb, oauth_cb, logger) onto the event
    loop for safe usage inside async frameworks.
Features
  • Batched async produce: await AIOProducer(...).produce(topic, value=...)
    buffers messages and flushes when the buffer threshold or timeout is reached.
  • Async lifecycle: await producer.flush(), await producer.purge(), and
    transactional operations (init_transactions, begin_transaction,
    commit_transaction, abort_transaction).
Limitations
  • Per-message headers are not supported in the current batched async produce
    path. If headers are required, use the synchronous Producer.produce(...) or
    offload a sync produce call to a thread executor within your async app.
Guidance
  • Use the AsyncIO Producer inside async apps/servers (FastAPI/Starlette, aiohttp,
    asyncio tasks) to avoid blocking the event loop.
  • For batch jobs, scripts, or highest-throughput pipelines without an event
    loop, the synchronous Producer remains recommended.
Enhancement and Fixes
  • Kafka OAuth/OIDC metadata based authentication examples with Azure IMDS (#​2083).

confluent-kafka-python v2.12.0 is based on librdkafka v2.12.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.11.1

v2.11.1 is a maintenance release with the following fixes:

confluent-kafka-python v2.11.1 is based on librdkafka v2.11.1, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.11.0

v2.11.0 is a feature release with the following enhancements:

confluent-kafka-python v2.11.0 is based on librdkafka v2.11.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.10.1

v2.10.1 is a maintenance release with the following fixes:

  • Handled None value for optional ctx parameter in ProtobufDeserializer (#​1939)
  • Handled None value for optional ctx parameter in AvroDeserializer (#​1973)
  • Handled ctx=None for AvroDeserializer and ProtobufDeserializer in call (#​1974)
  • Fix possible NPE in CSFLE executor (#​1980)
  • Support for schema id in header (#​1978)
  • Raise an error if Protobuf deprecated format is specified (#​1986)
  • Implement Async Schema Registry client (#​1965)

confluent-kafka-python v2.10.1 is based on librdkafka v2.10.1, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.10.0

v2.10.0 is a feature release with the following fixes and enhancements:

  • [KIP-848] Group Config is now supported in AlterConfigs, IncrementalAlterConfigs and DescribeConfigs. (#​1856)
  • [KIP-848] describe_consumer_groups() now supports KIP-848 introduced consumer groups. Two new fields for consumer group type and target assignment have also been added. Type defines whether this group is a classic or consumer group. Target assignment is only valid for the consumer protocol and its defaults to NULL. (#​1873).

confluent-kafka-python v2.10.0 is based on librdkafka v2.10.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.9.0

v2.9.0 is a feature release with the following fixes and enhancements:

  • Add Client Credentials OAuth support for Schema Registry (#​1919)
  • Add custom OAuth support for Schema Registry (#​1925)
  • Add utilities to convert decimals from/to Protobuf (#​1946)
  • Add support for passing schema ID during serialization (#​1949)

confluent-kafka-python v2.9.0 is based on librdkafka v2.8.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.8.2

v2.8.1

v2.8.0

v2.9.0 is a feature release with the following fixes and enhancements:

  • Add Client Credentials OAuth support for Schema Registry (#​1919)
  • Add custom OAuth support for Schema Registry (#​1925)
  • Add utilities to convert decimals from/to Protobuf (#​1946)
  • Add support for passing schema ID during serialization (#​1949)

confluent-kafka-python v2.9.0 is based on librdkafka v2.8.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.7.0

v2.7.0 is a feature release with the features, fixes and enhancements present in v2.6.2 including the following fix:

  • Added missing dependency on googleapis-common-protos when using protobufs. (#​1881, @​tenzer)

confluent-kafka-python v2.7.0 is based on librdkafka v2.6.1, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.6.2

[!WARNING]
Due to an error in which we included dependency changes to a recent patch release, Confluent recommends users to refrain from upgrading to 2.6.2 of Confluent Kafka. Confluent will release a new minor version, 2.7.0, where the dependency changes will be appropriately included. Users who have already upgraded to 2.6.2 and made the required dependency changes are free to remain on that version and are recommended to upgrade to 2.7.0 when that version is available. Upon the release of 2.7.0, the 2.6.2 version will be marked deprecated.
We apologize for the inconvenience and appreciate the feedback that we have gotten from the community.

v2.6.2 is a feature release with the following features, fixes and enhancements:

Note: This release modifies the dependencies of the Schema Registry client.
If you are using the Schema Registry client, please ensure that you install the
extra dependencies using the following syntax:

pip install confluent-kafka[schemaregistry]

or

pip install confluent-kafka[avro,schemaregistry]

Please see the README.md for more information.

  • Support for Data Contracts with Schema Registry, including
    • Data Quality rules
    • Data Transformation rules
    • Client-Side Field Level Encryption (CSFLE)
    • Schema Migration rules (requires Python 3.9+)
  • Migrated the Schema Registry client from requests to httpx
  • Add support for multiple URLs (#​409)
  • Allow configuring timeout (#​622)
  • Fix deletion semantics (#​1127)
  • Python deserializer can take SR client (#​1174)
  • Fix handling of Avro unions (#​1562)
  • Remove deprecated RefResolver for JSON (#​1840)
  • Support delete of subject version (#​1851)

confluent-kafka-python is based on librdkafka v2.6.1, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.

v2.6.1

v2.6.0

confluent-kafka-python v2.6.0

v2.6.0 is a feature release with the following features, fixes and enhancements:

confluent-kafka-python is based on librdkafka v2.6.0, see the
librdkafka release notes
for a complete list of changes, enhancements, fixes and upgrade considerations.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@dimallya
dimallya merged commit 65de36a into main Oct 5, 2026
6 checks passed
@renovate
renovate Bot deleted the renovate/confluent-kafka-2.x branch October 5, 2026 05:12
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.

1 participant