Skip to content

Upgrading Confluent.Kafka 1 to 2

Breaking1.9.3 → 2.16.0Breaking2Security3Platform1New54Changed35Fixed44Other7

BreakingUpgrade verdict

2 breaking changes and a platform requirement change and 3 security fixes.

  • If your code stores an offset for an end-of-partition message, it will now raise an error instead of silently skipping or reprocessing messages.
  • The underlying Kafka library now uses OpenSSL 3.0.x. Some old encryption ciphers no longer work unless you turn them back on explicitly, and you probably should not.
  • Projects on .NET 6 must move to a supported framework such as .NET 8 or .NET 10 to use this version.
  • Example and test code that used outdated NJsonSchema versions is updated to fix a security issue, and the test framework is upgraded.
Top 5 of 6 that need code or config changes

Target frameworks requirement changed in 2.15.0-dev: .NETFramework4.6.2, .NETStandard1.3, .NETStandard2.0, net6.0 → .NETFramework4.6.2, .NETStandard2.0, net10.0, net8.0.

Breaking2
Calling StoreOffset with an EOF message now throws InvalidOperationException, matching Commit behavior.
StoreOffsetCommitInvalidOperationException
OpenSSL 3.0.x upgrade in librdkafka requires a major version bump; legacy ciphers must be explicitly configured to keep working, though their use is discouraged.
Security3
Patches security issue in examples and tests using old NJsonSchema versions and upgrades the test framework.
NJsonSchema
Updates Caching.Memory to 8.0.1 to address a CVE.
Caching.Memory
Upgrades Azure Identity library to 1.11.4 to address a vulnerability in previous versions.
Platform1
Adds .NET 10 (LTS) support and drops .NET 6; the library now multi-targets net8.0, net10.0, netstandard2.0 and net462.
net8.0net10.0netstandard2.0net462