Releases: confluentinc/confluent-kafka-dotnet
v2.5.3
v2.5.3 is a maintenance release with the following fixes and enhancements:
Fixes
- Properly handle messages with well-known types in Protobuf serializer
- Use AES128_GCM in the Local KMS client, for consistency with Java/go
- Include deleted schemas when getting schemas by subject and version
- Handle signed ints when transforming Protobuf payloads
- Allow null SchemaRegistryClient in AsyncSerde constructor
confluent-kafka-dotnet 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.2
Warning
Versions 2.5.0, 2.5.1 and 2.5.2 have 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
tofalse
. - 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.
This is a maintenance release.
Fixes
- Fix CSFLE (client-side field-level encryption) to use the Google Tink format for DEKs for interoperability with clients in other languages (Java, go, etc.).
- Improve error when specifying an invalid KMS type for CSFLE
- Enhance CSFLE examples with KMS configuration settings
v2.5.1
This is a maintenance release.
Fixes
- Fix CSFLE (client-side field-level encryption) when using Azure Key Vault by specifying RsaOaep256 (instead of RsaOaep) for interoperability with clients in other languages (Java, go, etc.).
- Fix AvroSerializer configuration to allow using schema normalization.
- Upgrade Azure Identity library to 1.11.4 to address a vulnerability in previous versions.
v2.5.0
This is a feature release
Enhancements
- References librdkafka.redist 2.5.0. Refer to the librdkafka v2.5.0 release notes for more information.
- Add support for metadata and ruleSet in the schema registry client, which together support data
contracts. - Add support for CSFLE (client-side field-level encryption) for AWS, Azure, GCP, and HashiCorp
Vault. See the encryption examples in the examples directory. - Add support for CEL, CEL_FIELD, and JSONata rules.
Fixes
- Switch license expression and other repo information. (#2192, @thompson-tomo)
v2.4.0
This is a feature release.
Enhancements
- References librdkafka.redist 2.4.0. Refer to the librdkafka v2.4.0 release notes for more information.
- KIP-848 EA: Added KIP-848 based new consumer group rebalance protocol.
Integration tests running with the new consumer group protocol. The feature is an Early Access: not production ready. Please refer
detailed doc for more information. (#2212).
2.3.0
This is a feature release.
Enhancements
- References librdkafka.redist 2.3.0. Refer to the librdkafka v2.3.0 release notes for more information.
- KIP-430:
Return authorized operations in describe responses (#2021, @jainruchir). - KIP-396: Added support for ListOffsets Admin API (#2086).
- Add
Rack
to theNode
type, so AdminAPI calls can expose racks for brokers (currently, all Describe
Responses) (#2021, @jainruchir). - Added support for external JSON schemas in
JsonSerializer
andJsonDeserializer
(#2042). - Added compatibility methods to CachedSchemaRegistryClient (ISBronny, #2097).
- Add support for AdminAPI
DescribeCluster()
andDescribeTopics()
(#2021, @jainruchir).
2.2.0
This is a feature release.
Enhancements
- References librdkafka.redist 2.2.0. Refer to the librdkafka v2.2.0 release notes for more information.
- KIP-339
IncrementalAlterConfigs API (#2005). - KIP-554:
User SASL/SCRAM credentials alteration and description (#2070).
Fixes
- Fix backwards compatability of TopicPartitionOffset constructor. (drinehimer, #2066)
- Fix IConsumer breaking change. (ttd2089, #2071)
2.1.1
This is a maintenance release.
Enhancements
- References librdkafka.redist 2.1.1. Refer to the librdkafka v2.1.1 release notes for more information.
- Less heap allocations when calling Produce (bjornbouetsmith, #2020)
2.1.0
This is a feature release.
Enhancements
- References librdkafka.redist 2.1.0. Refer to the librdkafka v2.1.0 release notes and later ones for more information.
- 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 (#1980). - Changed the way the
_SCHEMA
filed is accessed internally from reflecting the static field to accessing it from the instance (AlexeyRaga). - KIP-320: add offset leader epoch fields to the TopicPartitionOffset,
TopicPartitionOffsetError and ConsumeResult classes (#2027).
Fixes
- Fixed
OverflowException
thrown intermittently when using theListGroup
method (#2003).
2.0.2
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.
Enhancements
- References librdkafka.redist 2.0.2. Refer to the librdkafka v2.0.0 release notes and later ones for more information.
- Upgraded
NJsonSchema
to v10.6.3 - Added
LatestCompatibilityStrict
configuration property to JsonSerializerConfig to check the compatibility with latest schema whenUseLatestVersion
is set to true. - Added DeleteConsumerGroupOffset to AdminClient.
- KIP-222 Finish remaining implementation: Add Consumer Group operations to Admin API (
DeleteGroups
is already present). - KIP-518 Allow listing consumer groups per state.
- KIP-396 Partially implemented: support for AlterConsumerGroupOffsets.
- As result of the above KIPs, added (#1981)
ListConsumerGroups
Admin operation. Supports listing by state.DescribeConsumerGroups
Admin operation. Supports multiple groups.ListConsumerGroupOffsets
Admin operation. Currently, only supports
1 group with multiple partitions. Supports therequireStable
option.AlterConsumerGroupOffsets
Admin operation. Currently, only supports
1 group with multiple offsets.
Fixes
- During a group rebalance, partitions are now always revoked as a side effect of a call to Consume, whether or not a partitions revoked handler has been specified. Previously, if no handler was specified, the timing of when the consumer lost ownership of partitions during a rebalance was arbitrarily, frequently resulting in an erroneous state exception when committing or storing offsets.
- Fixed 100% CPU usage with
DependentAdminClientBuilder
.
Note: There were no 2.0.0 and 2.0.1 releases.