Skip to content

Releases: confluentinc/confluent-kafka-python

v2.5.3

02 Sep 14:24
5347020
Compare
Choose a tag to compare

confluent-kafka-python v2.5.3

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

Fixes

  • Fix an assert being triggered during push telemetry call when no metrics matched on the client side.
  • Minor enhancement to JSONDeserializer to retrieve schema from Schema Registry if not provided

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

v2.5.0

10 Jul 15:34
dc3114a
Compare
Choose a tag to compare

Warning

This version has introduced a regression in which an assert is triggered during PushTelemetry call. This happens when no metric is matched on the client side among those requested by broker subscription.

You won't face any problem if:

  • Broker doesn't support KIP-714.
  • KIP-714 feature is disabled on the broker side.
  • KIP-714 feature is disabled on the client side. This is enabled by default. Set configuration enable.metrics.push to false.
  • If KIP-714 is enabled on the broker side and there is no subscription configured there.
  • If KIP-714 is enabled on the broker side with subscriptions that match the KIP-714 metrics defined on the client.

Having said this, we strongly recommend using v2.5.3 and above to not face this regression at all.

confluent-kafka-python v2.5.0

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

  • KIP-107 Added delete_records API. (#1710)
  • Added an example to show the usage of the custom logger with AdminClient. (#1758)
  • Improve caching on Schema Registry client. (#1744)
  • Removed usage of strcpy to enhance security of the client. (#1745)
  • Removed support for centos6 and centos7. (#1776)
  • Fixed invalid write in OAUTHBEARER/OIDC extensions copy. (#1745)
  • Fixed documentation for default value of operation_timeout and request_timeout in various Admin apis. (#1710)
  • Fixed an issue related to import error of TopicCollection and TopicPartitionInfo classes when importing through other module like mypy. (#1764)
  • Fixed a segfault when commit or store_offsets consumer method is called incorrectly with errored Message object. (#1754)
  • Fixed logger not working when provided as an argument to AdminClient instead of a configuration property. (#1758)
  • Fixed some memory leaks related to PyDict_SetItem. (#1710)

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

v2.4.0

07 May 16:38
b3bde5c
Compare
Choose a tag to compare

confluent-kafka-python v2.4.0

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

  • KIP-848: Added KIP-848 based new consumer group rebalance protocol. The feature is an Early Access: not production ready yet. Please refer detailed doc for more information.
  • Fix segfault with describe_topics and flaky connection (@lpsinger, #1692)

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

v2.3.0

25 Oct 18:46
a27d113
Compare
Choose a tag to compare

confluent-kafka-python v2.3.0

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

  • Add Python 3.12 wheels
  • KIP-117: Add support for AdminAPI describe_cluster() and describe_topics(). (@jainruchir, #1635)
  • KIP-430:
    Return authorized operations in Describe Responses. (@jainruchir, #1635)
  • KIP-516: Partial support of topic identifiers. Topic identifiers in metadata response are available through the new describe_topics function (#1645).
  • KIP-396: completed the implementation with the addition of list_offsets (#1576).
  • Add Rack to the Node type, so AdminAPI calls can expose racks for brokers
    (currently, all Describe Responses) (#1635, @jainruchir).
  • Fix the Describe User Scram Credentials for Describe all users or empty users list. Please refer to
    issue(#1616) for more details (#1630).

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

v2.2.0

12 Jul 15:58
67f0084
Compare
Choose a tag to compare

confluent-kafka-python v2.2.0

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

  • KIP-339
    IncrementalAlterConfigs API (#1517).
  • KIP-554:
    User SASL/SCRAM credentials alteration and description (#1575).
  • Added documentation with an example of FIPS compliant communication with Kafka cluster.
  • Fixed wrong error code parameter name in KafkaError.

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

v2.1.1

04 May 18:21
baf71ea
Compare
Choose a tag to compare

confluent-kafka-python v2.1.1

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

Fixes

  • Added a new ConsumerGroupState UNKNOWN. The typo state UNKOWN is deprecated and will be removed in the next major version.
  • Fix some Admin API documentation stating -1 for infinite timeout incorrectly.
    Request timeout can't be infinite.

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

v2.1.0

06 Apr 10:08
370d62e
Compare
Choose a tag to compare

confluent-kafka-python v2.1.0

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

  • Added set_sasl_credentials. This new method (on the Producer, Consumer, and AdminClient) allows modifying the stored SASL PLAIN/SCRAM credentials that will be used for subsequent (new) connections to a broker (#1511).
  • Wheels for Linux / arm64 (#1496).
  • Added support for Default num_partitions in CreateTopics Admin API.
  • Added support for password protected private key in CachedSchemaRegistryClient.
  • Add reference support in Schema Registry client. (@RickTalken, #1304)
  • Migrated travis jobs to Semaphore CI (#1503)
  • Added support for schema references. (#1514 and @slominskir #1088)
  • KIP-320: add offset leader epoch methods to the TopicPartition and Message classes (#1540).

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

v2.0.2

24 Jan 13:00
bbe1225
Compare
Choose a tag to compare

confluent-kafka-python v2.0.2

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

  • Added Python 3.11 wheels.
  • KIP-222 Add Consumer Group operations to Admin API.
  • KIP-518 Allow listing consumer groups per state.
  • KIP-396 Partially implemented: support for AlterConsumerGroupOffsets.
  • As result of the above KIPs, added (#1449)
    • list_consumer_groups Admin operation. Supports listing by state.
    • describe_consumer_groups Admin operation. Supports multiple groups.
    • delete_consumer_groups Admin operation. Supports multiple groups.
    • list_consumer_group_offsets Admin operation. Currently, only supports 1 group with multiple partitions. Supports require_stable option.
    • alter_consumer_group_offsets Admin operation. Currently, only supports 1 group with multiple offsets.
  • Added normalize.schemas configuration property to Schema Registry client (@rayokota, #1406)
  • Added metadata to TopicPartition type and commit() (#1410).
  • Added consumer.memberid() for getting member id assigned to
    the consumer in a consumer group (#1154).
  • Implemented nb_bool method for the Producer, so that the default (which uses len)
    will not be used. This avoids situations where producers with no enqueued items would
    evaluate to False (@vladz-sternum, #1445).
  • Deprecated AvroProducer and AvroConsumer. Use AvroSerializer and AvroDeserializer instead.
  • Deprecated list_groups. Use list_consumer_groups and describe_consumer_groups instead.
  • Improved Consumer Example to show atleast once semantics.
  • Improved Serialization and Deserialization Examples.
  • Documentation Improvements.

Upgrade considerations

OpenSSL 3.0.x upgrade in librdkafka requires a major version bump, as some
legacy ciphers need to be explicitly configured to continue working,
but it is highly recommended NOT to use them. The rest of the API remains
backward compatible.

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

Note: There were no v2.0.0 and v2.0.1 releases.

v1.9.2

03 Aug 18:52
cdc5f3b
Compare
Choose a tag to compare

confluent-kafka-python v1.9.2

v1.9.2 is a maintenance release with the following fixes and enhancements:

  • Support for setting principal and SASL extensions in oauth_cb
    and handle failures (@Manicben, #1402)
  • Wheel for macOS M1/arm64
  • KIP-140 Admin API ACL fix:
    When requesting multiple create_acls or delete_acls operations,
    if the provided ACL bindings or ACL binding filters are not
    unique, an exception will be thrown immediately rather than later
    when the responses are read. (#1370).
  • KIP-140 Admin API ACL fix:
    Better documentation of the describe and delete ACLs behavior
    when using the MATCH resource patter type in a filter. (#1373).
  • Avro serialization examples:
    added a parameter for using a generic or specific Avro schema. (#1381).

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

v1.9.0

16 Jun 22:21
Compare
Choose a tag to compare

confluent-kafka-python v1.9.0

v1.9.0 is a feature release:

  • OAUTHBEARER OIDC support
  • KIP-140 Admin API ACL support

Fixes

  • The warnings for use.deprecated.format (introduced in v1.8.2) had its logic reversed, which result in warning logs to be emitted when the property was correctly configured, and the log message itself also contained text that had it backwards. The warning is now only emitted when use.deprecated.format is set to the old legacy encoding (True). #1265
  • Use str(Schema) rather than Schema.to_json to prevent fastavro from raising exception TypeError: unhashable type: 'mappingproxy'. (@ffissore, #1156, #1197)
  • Fix the argument order in the constructor signature for AvroDeserializer/Serializer: the argument order in the constructor signature for AvroDeserializer/Serializer was altered in v1.6.1, but the example is not changed yet. (@DLT1412, #1263)
  • Fix the json deserialization errors from _schema_loads for valid primitive declarations. (@dylrich, #989)

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