Skip to content

Releases: confluentinc/confluent-kafka-dotnet

v1.2.0

19 Sep 20:39
5b97bfb
Compare
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
Compare
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
Compare
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
Compare
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.

v1.0.0-RC7

23 Apr 21:27
5dc99a7
Compare
Choose a tag to compare
  • Moved SyncOverAsync functionality to the Confluent.Kafka.SyncOverAsync namespace.
  • Marked DependentProducerBuilder as API-SUBJECT-TO-CHANGE.
  • No-op handlers are no longer registered with librdkafka if corresponding handlers are not specified in client builder classes.
  • Renamed AsyncAvroSerializer to AvroSerializer and AsyncAvroDeserializer to AvroDeserializer

v1.0-RC6

18 Apr 19:50
006c7b5
Compare
Choose a tag to compare

New Features

  • Added DependentAdminClientBuilder class.

Changes

  • Reverted RC4 changes.
  • Renamed AvroSerializer to AsyncAvroSerializer and AvroDeserializer to AsyncAvroDeserializer
  • Added SyncOverAsyncSerializer and SyncOverAsyncDeserializer adapter classes.
  • Added AsSyncOverAsync factory method to AsyncAvroSerializer and AsyncAvroDeserializer.
  • Removed IAsyncDeserializer setter overloads from the ConsumerBuilder class.
  • Renamed Producer.BeginProduce to Producer.Produce.
  • Produce throws an exception if used when async serializers are configured.
  • Made AdminClient, Producer, and Consumer classes internal.

v1.0-RC4

08 Apr 19:37
Compare
Choose a tag to compare

Changes

  • Removed SerializationContext from non-async serde interfaces.
  • Replaced ISerializer interface with Serializer delegate.
  • Replaced IDeserializer interface with Deserializer delegate.

v1.0-RC3

02 Apr 19:49
d49e118
Compare
Choose a tag to compare

New Features

  • Producer.Poll can now be used with producer instances that are in background polling mode.
    • Typically use: Block for a minimal period of time following a ErrorCode.Local_QueueFull error.

Changes

  • Removed the Confluent.Kafka.Serdes namespace.

Fixes

  • Added CompressionType property to ProducerConfig class.

v1.0-RC2

26 Mar 16:00
2b7ec3c
Compare
Choose a tag to compare

New Features

  • References librdkafka.redist v1.0.0

Changes

  • Moved API docs from the client classes to their respective interfaces.
  • Updated formatting of client API docs so they display well in Visual Studio Code intellisense.

v1.0-RC1

21 Mar 21:12
49abec3
Compare
Choose a tag to compare
v1.0-RC1 Pre-release
Pre-release

New Features

  • Added GET subject versions to the cached schema registry client.
  • References librdkafka.redist 1.0.0-RC9
    • supports apline linux out-of-the-box.
    • fallback support (that excludes security features) for most linux distributions previously unsuppored out-of-the-box.
    • fixed a dependency issue on MacOS

Changes

  • A new rebalance API.
    • SetRebalanceHandler has been split into SetPartitionsAssignedHandler and SetPartitionsRevokedHandler.
    • Calling of Assign/Unassign in these handlers is prohibited.
    • Partitions to read from / start offsets can be optionally specified manually via the return value from these handlers.
  • The Message.PersistenceStatus property name has changed to Message.Status.
  • Moved the GetWatermarkOffsets and QueryWatermarkOffsets methods from admin client to consumer.
  • Context is now provided to serdes via a SerializationContext class instance.
  • All errors (that don't correspond to application logic errors) that occur as the result of a call to the produce and consume methods are now reported via exceptions of type ProduceException and ConsumeException.

Fixes

  • Corrected an error in the rd_kafka_event_type method signature which was causing incompatibility with mono.
  • Audited exception use across the library and made changes in various places where appropriate.
  • Removed unused CancellationToken parameters (we will add them back when implemented).
  • Builder classes now return interfaces, not concrete classes.
  • Removed the dependency on CompilerServices.Unsafe which was causing ProduceAsync to hang in some scenarios.
  • Fixed a deadlock-on-dispose issue in AdminClient.
  • Made Producer.ProduceAsync async.
  • Fixed deadlock in BeginProduce and Consume when using async serdes in a single threaded context.