Skip to content

v2.0.2

Compare
Choose a tag to compare
@milindl milindl released this 23 Jan 09:33
· 209 commits to master since this release
cde2827

This is a feature release:

  • Added SetSaslCredentials. 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 (#879).
  • Channel based producer (Producer ProduceChannel()) and channel based consumer (Consumer Events()) are deprecated (#894).
  • Added IsTimeout() on Error type. This is a convenience method that checks if the error is due to a timeout (#903).
  • The timeout parameter on Seek() is now ignored and an infinite timeout is used, the method will block until the fetcher state is updated (typically within microseconds) (#906)
  • The minimum version of Go supported has been changed from 1.11 to 1.14.
  • 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 (#923)
    • ListConsumerGroups Admin operation. Supports listing by state.
    • DescribeConsumerGroups Admin operation. Supports multiple groups.
    • DeleteConsumerGroups Admin operation. Supports multiple groups (@vsantwana).
    • ListConsumerGroupOffsets Admin operation. Currently, only supports 1 group with multiple partitions. Supports the requireStable option.
    • AlterConsumerGroupOffsets Admin operation. Currently, only supports 1 group with multiple offsets.
  • Added SetRoundtripDuration to the mock broker for setting RTT delay for a given mock broker (@kkoehler, #892).
  • Built-in support for Linux/ arm64. (#933).

Fixes

  • The SpecificDeserializer.Deserialize method was not returning its result correctly, and was hence unusable. The return has been fixed (#849).
  • The schema ID to use during serialization, specified in SerializerConfig, was ignored. It is now used as expected (@perdue, #870).
  • Creating a new schema registry client with an SSL CA Certificate led to a panic. This was due to a nil pointer, fixed with proper initialization (@HansK-p, @ju-popov, #878).

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, see the librdkafka release notes below for details.
  • As required by the Go module system, a suffix with the new major version has been added to the module name, and package imports must reflect this change.

confluent-kafka-go 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 confluent-kafka-go v2.0.0 or v2.0.1 releases.