Releases: confluentinc/confluent-kafka-dotnet
Releases · confluentinc/confluent-kafka-dotnet
v1.4.3
v1.4.2
Fixes
- Maintenance release. Refer to the librdkafka release notes for more information.
- Fixed incorrect content-type header in Schema Registry HTTP requests (@jeremy001181).
v1.4.0
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
CancellationTokenparameter to theProduceAsyncmethods. - 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:
net452is no longer a target framework ofConfluent.SchemaRegistryorConfluent.SchemaRegistry.Serdesdue to the switch to the official Apache Avro package which only targetsnetstandard2.0. - Marked properties on
ConsumeResultthat simply delegate to the corresponding properties onConsumeResult.Messageas obsolete.
Fixes
- Fixed an
ArgumentNullExceptionregression inListGroups(thanks to @andypook).
v1.3.0
Enhancements
- Added support for Subject Name Strategies to
Confluent.SchemaRegistry(thanks to @fipil, @alexpedrero and @eroyal for their input). ConsumeResultnow throwsMessageNullException, notNullReferenceExceptionwhen 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
SchemaRegistryConfigwith the (superfluous) prefixSchemaRegistry. Added corresponding properties without this prefix.
Fixes
- Resolved issue 993 whereby
RestServicewas unable to communicate with Schema Registry hosted on a non-root path. Thanks to @jonathansant for this fix.
v1.2.2
v1.2.1
v1.2.0
Enhancements
- References librdkafka v1.2.0. Refer to the release notes for more information. Headline feature is consumer side support for transactions.
- Added
IDictionaryoverload toConfigconstructors (contribution by @AndyPook). Confluent.Kafka,Confluent.SchemaRegistryandConfluent.SchemaRegistry.Serdesare now all signed, andConfluent.Kafka.StrongNamedepreciated.
Fixes
- Updated the librdkafka build load order so that the most featureful version is used on any given platform.
v1.1.0
- 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
v1.0.0
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.
- New serialization interface:
- 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.