From v3 to v4
KafkaFlow version 4 introduces the latest Confluent.Kafka package and upgrades to .NET 8. This guide will help you navigate the migration process from version 3 to version 4.
Table of Contents
Prerequisites
As .NET Core 6 has reached the end of support in its lifecycle, we have updated references to Core Packages (Microsoft.*
and System.*
) to version 8.
While the KafkaFlow core and most of the extension packages are still targeting netstandard2.0
which supports a range of runtimes, we recommend with this v4 update to target at least .NET 8 in applications using KafkaFlow.
Update package references
To update to KafkaFlow v4, change the Version
related to KafkaFlow packages to the latest v4 available in each project referencing KafkaFlow packages.
<ItemGroup>
- <PackageReference Include="KafkaFlow" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Abstractions" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Admin" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Admin.Dashboard" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Admin.WebApi" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Compressor.Gzip" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Extensions.Hosting" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.LogHandler.Console" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.LogHandler.Microsoft" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Microsoft.DependencyInjection" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.OpenTelemetry" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.SchemaRegistry" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Serializer.JsonCore" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Serializer.NewtonsoftJson" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Serializer.ProtobufNet" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentAvro" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentJson" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentProtobuf" Version="3.1.0" />
- <PackageReference Include="KafkaFlow.Unity" Version="3.1.0" />
+ <PackageReference Include="KafkaFlow" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Abstractions" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Admin" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Admin.Dashboard" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Admin.WebApi" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Compressor.Gzip" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Extensions.Hosting" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.LogHandler.Console" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.LogHandler.Microsoft" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Microsoft.DependencyInjection" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.OpenTelemetry" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.SchemaRegistry" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Serializer.JsonCore" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Serializer.NewtonsoftJson" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Serializer.ProtobufNet" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentAvro" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentJson" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentProtobuf" Version="4.0.0" />
+ <PackageReference Include="KafkaFlow.Unity" Version="4.0.0" />
</ItemGroup>
Breaking Changes / Improvements
The update to v4 introduces some breaking changes. Please consider them when updating KafkaFlow.
1. Update to .NET 8 with Admin Packages
Related Issues: #612
The target frameworks for ASP.NET Admin projects have been updated from .net6.0
to .net8.0
.
If you are using the Admin packages (KafkaFlow.Admin.Dashboard
and KafkaFlow.Admin.WebApi
), you must target the .NET 8 runtime.
2. Update Confluent.*
from 2.1.1
to 2.8.0
All Confluent.*
packages have been updated. No breaking changes are expected, but it is recommended to check the release notes for potential impacts: Confluent Kafka Release Notes.
Conclusion
Please ensure you review and adapt your codebase according to these changes. If you encounter any issues or need assistance, feel free to reach out to the KafkaFlow community.
Thank you for using KafkaFlow!