Skip to content

Releases: confluentinc/confluent-kafka-dotnet

v1.4.3

19 May 15:19
4ec62f8

Choose a tag to compare

Fixes

  • Subject names are now URL encoded when used in Schema Registry URLs.
  • Fixed a memory leak that occured when passing a CancellationToken to Producer.ProduceAsync.

v1.4.2

06 May 17:44
d1bc5e3

Choose a tag to compare

Fixes

v1.4.0

03 Apr 15:19
25f320a

Choose a tag to compare

Enhancements

  • References librdkafka v1.4.0. Refer to the release notes for more information. Headline features:
    • KIP-98: Producer support for transactions (@edenhill). This is the final piece in the puzzle required to enable exactly once stream processing (EOS) in .NET.
    • KIP-345: Static consumer group membership (@rnpridgeon).
    • KIP-511: Client name and version are now provided to brokers.
  • Added Protobuf and JSON serdes including integration with Schema Registry.
  • Switched to the official Apache Avro nuget package, which includes support for logical types, and all fixes from the Confluent fork, which has now been discontinued.
  • Message headers are now exposed to serdes via SerializationContext (@pascalconfluent).
  • Added a CancellationToken parameter to the ProduceAsync methods.
  • Uncaught exceptions thrown in handler methods are now propagated to the initiating function, or in the case of error or log events, ignored. Previously, they would cause the application to terminate.
  • Added a WordCount example demonstrating a streaming map-reduce application with exactly-once processing.

Changes

  • Some internal improvements to the Consmer (thanks to @andypook).
  • BREAKING CHANGE: net452 is no longer a target framework of Confluent.SchemaRegistry or Confluent.SchemaRegistry.Serdes due to the switch to the official Apache Avro package which only targets netstandard2.0.
  • Marked properties on ConsumeResult that simply delegate to the corresponding properties on ConsumeResult.Message as obsolete.

Fixes

  • Fixed an ArgumentNullException regression in ListGroups (thanks to @andypook).

v1.3.0

04 Dec 00:25
91cb778

Choose a tag to compare

Enhancements

  • Added support for Subject Name Strategies to Confluent.SchemaRegistry (thanks to @fipil, @alexpedrero and @eroyal for their input).
  • ConsumeResult now throws MessageNullException, not NullReferenceException when a message property is accessed but no message exists (thanks to @enzian for this change).
  • References librdkafka v1.3.0. Refer to the release notes for more information. Headline feature is support for fetch from follower (KIP-392).

Changes

  • Deprecated properties of SchemaRegistryConfig with the (superfluous) prefix SchemaRegistry. Added corresponding properties without this prefix.

Fixes

  • Resolved issue 993 whereby RestService was unable to communicate with Schema Registry hosted on a non-root path. Thanks to @jonathansant for this fix.

v1.2.2

14 Nov 22:10

Choose a tag to compare

Fixes

  • References librdkafka v1.2.2 which upgrades the lz4 dependency to v1.9.2.

v1.2.1

09 Oct 16:28
88f75d1

Choose a tag to compare

Fixes

  • References librdkafka v1.2.1 which resolves an issue that broke GSSAPI authentication on Windows.

v1.2.0

19 Sep 20:39
5b97bfb

Choose a tag to compare

Enhancements

  • References librdkafka v1.2.0. Refer to the release notes for more information. Headline feature is consumer side support for transactions.
  • Added IDictionary overload to Config constructors (contribution by @AndyPook).
  • Confluent.Kafka, Confluent.SchemaRegistry and Confluent.SchemaRegistry.Serdes are now all signed, and Confluent.Kafka.StrongName depreciated.

Fixes

  • Updated the librdkafka build load order so that the most featureful version is used on any given platform.

v1.1.0

27 Jun 15:59
88813ff

Choose a tag to compare

  • References librdkafka v1.1.0. Refer to the release notes for more informtion. Notable improvement for Windows SSL users: You no longer need to specify a CA certificate file/directory (SslCaLocation) - librdkafka will load the CA certs by default from the Windows Root Certificate Store.

v1.0.1

28 May 22:10
c9a2d91

Choose a tag to compare

  • Support for Alpine Linux.
  • New LogLevelType enum and functions to convert between different log level type levels.
  • Added netstandard20 as a target.
  • References librdkafka 1.0.1.

v1.0.0

25 Apr 17:52
a0e8a74

Choose a tag to compare

1.0.0 is a major update of the API, introducing many new features and enhancements.
Note: The 1.0 API is not compatible with earlier versions of the library.

Feature highlights:

  • Inherits all of the new features in librdkafka v1.0.0
  • General improvements to client classes:
    • Strongly typed configuration.
    • Construction is via builder classes:
      • Allows/enforces that event handlers are specified at construction time.
      • More extensible.
    • Header support.
    • New Message class abstraction and related changes.
    • Consistency in error reporting across library (via exceptions).
    • Support for fatal errors.
  • Added AdminClient:
    • CreateTopics, DeleteTopics, CreatePartitions, AlterConfigs, and DescribeConfigs methods.
    • Moved ListGroups and GetMetadata methods from the Producer and Consumer classes to AdminClient.
  • Producer specific improvements:
    • New serialization interface:
      • Non-blocking support for async serializers.
      • Very flexible:
        • e.g. can be easily extended to support header serialization.
    • Capability to specify custom timestamps when producing messages.
    • Message persistence status support.
    • Renamed ProduceAsync variants with a callback to Produce.
  • Consumer improvements:
    • A new rebalance API.
    • New deserialization API analogous to the new serialization API.
    • PartitionEOF notification is via ConsumeResult, not events.
      • EOF notification is now disabled by default. To enable, set the EnablePartitionEof config property to true.
  • Confluent Schema Registry integration
    • Added support for basic authentication.
    • Added GET subject versions to the cached schema registry client.
    • Renamed Confluent.Kafka.Avro to Confluent.SchemaRegistry.Serdes in preparation for support for additional serialization formats.