You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+40-2Lines changed: 40 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,48 @@
1
1
# Confluent Python Client for Apache Kafka - CHANGELOG
2
2
3
-
## v2.xx.x
3
+
## v2.15.0
4
+
5
+
### [KIP-932](https://cwiki.apache.org/confluence/display/KAFKA/KIP-932%3A+Queues+for+Kafka) Queues for Kafka – Now in **Preview**
6
+
7
+
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.
8
+
9
+
- New `ShareConsumer` and `DeserializingShareConsumer` clients: subscribe, batch poll (`poll()` returns a `Messages` batch), and close (with context-manager support).
10
+
- Implicit (default) and explicit acknowledgement modes (`share.acknowledgement.mode`), with `AcknowledgeType` ACCEPT / RELEASE / REJECT and `Message.delivery_count()`.
11
+
- Synchronous and asynchronous commit (`commit_sync` / `commit_async`) and an acknowledgement-commit callback.
12
+
- Runtime SASL credential updates (`set_sasl_credentials`) and new `IllegalStateException` / `ConcurrentModificationException` exceptions.
See the [Share Consumer guide](docs/kip-932-share-consumer.md) and the [Share consumers section of librdkafka's INTRODUCTION.md](https://github.com/confluentinc/librdkafka/blob/master/INTRODUCTION.md#share-consumers-queues-for-kafka).
16
+
17
+
**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).
18
+
19
+
### Features
20
+
21
+
- New optional install `confluent-kafka[oauthbearer-aws]` provides AWS IAM-based
22
+
OAUTHBEARER authentication via AWS STS `GetWebIdentityToken`. Activate by setting `sasl.oauthbearer.method=oidc`,
23
+
`sasl.oauthbearer.metadata.authentication.type=aws_iam`, and
24
+
`sasl.oauthbearer.config="region=...,audience=..."`. See the
25
+
[AWS IAM OAUTHBEARER guide](docs/oauthbearer-aws.md) for full configuration, and
-**High Performance & Reliability**: Built on [`librdkafka`](https://github.com/confluentinc/librdkafka), the battle-tested C client for Apache Kafka, ensuring maximum throughput, low latency, and stability. The client is supported by Confluent and is trusted in mission-critical production environments.
26
26
-**Comprehensive Kafka Support**: Full support for the Kafka protocol, transactions, and administration APIs.
27
+
-**Queues for Kafka (Preview)**: A `ShareConsumer` ([KIP-932](https://cwiki.apache.org/confluence/display/KAFKA/KIP-932%3A+Queues+for+Kafka)) for queue-like, cooperative consumption with per-record acknowledgement. See the [Share Consumer guide](docs/kip-932-share-consumer.md). **Preview** — not recommended for production.
27
28
-**AsyncIO Producer**: A fully asynchronous producer (`AIOProducer`) for seamless integration with modern Python applications using `asyncio`.
28
29
-**Seamless Schema Registry Integration**: Synchronous and asynchronous clients for Confluent Schema Registry to handle schema management and serialization (Avro, Protobuf, JSON Schema).
29
30
-**Improved Error Handling**: Detailed, context-aware error messages and exceptions to speed up debugging and troubleshooting.
@@ -263,7 +264,10 @@ for topic, f in fs.items():
263
264
```
264
265
## Thread safety
265
266
266
-
The `Producer`, `Consumer`, and `AdminClient` are all thread safe.
267
+
The `Producer`, `Consumer`, and `AdminClient` are all thread safe. The
268
+
`ShareConsumer` (Preview) is **not** thread safe — a single instance must not
269
+
be used concurrently from multiple threads (see the
# With AWS IAM OAUTHBEARER authentication (mints JWTs via AWS STS GetWebIdentityToken)
286
+
pip install "confluent-kafka[oauthbearer-aws]"
280
287
```
281
288
282
289
**Note:** Pre-built Linux wheels do not include SASL Kerberos/GSSAPI support. For Kerberos, see the source installation instructions in [INSTALL.md](INSTALL.md).
@@ -304,6 +311,20 @@ When using Data Contract rules (including CSFLE) add the `rules`extra, e.g.:
0 commit comments