Skip to content

Commit 3a69637

Browse files
MiguelCostajoelfoliveira
authored andcommitted
docs: add guide to migrate from v3 to v4
1 parent 96a9cd8 commit 3a69637

File tree

9 files changed

+106
-14
lines changed

9 files changed

+106
-14
lines changed

samples/KafkaFlow.Sample.WebApi/KafkaFlow.Sample.WebApi.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
</ItemGroup>
2626

2727
<ItemGroup>
28-
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="7.3.1" />
29-
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.3.1" />
30-
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="7.3.1" />
28+
<PackageReference Include="Swashbuckle.AspNetCore.Swagger" Version="7.3.2" />
29+
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerGen" Version="7.3.2" />
30+
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="7.3.2" />
3131
</ItemGroup>
3232

3333

src/KafkaFlow.Abstractions/KafkaFlow.Abstractions.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="System.Memory" Version="4.6.0" />
12-
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.6.0" />
11+
<PackageReference Include="System.Memory" Version="4.6.1" />
12+
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.6.1" />
1313
</ItemGroup>
1414

1515
</Project>

src/KafkaFlow.LogHandler.Console/KafkaFlow.LogHandler.Console.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</ItemGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="System.Text.Json" Version="9.0.3" />
13+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
1414
</ItemGroup>
1515

1616
</Project>

src/KafkaFlow.LogHandler.Microsoft/KafkaFlow.LogHandler.Microsoft.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="System.Text.Json" Version="9.0.3" />
15+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
1616
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.3" />
1717
</ItemGroup>
1818

src/KafkaFlow.Serializer.JsonCore/KafkaFlow.Serializer.JsonCore.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="System.Text.Json" Version="9.0.3" />
11+
<PackageReference Include="System.Text.Json" Version="8.0.5" />
1212
</ItemGroup>
1313

1414
<ItemGroup>

src/KafkaFlow.Serializer.SchemaRegistry.ConfluentProtobuf/KafkaFlow.Serializer.SchemaRegistry.ConfluentProtobuf.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<ItemGroup>
1111
<PackageReference Include="Confluent.SchemaRegistry.Serdes.Protobuf" Version="2.8.0" />
12-
<PackageReference Include="Google.Protobuf" Version="3.30.0">
12+
<PackageReference Include="Google.Protobuf" Version="3.30.1">
1313
<Aliases>GoogleProto</Aliases>
1414
</PackageReference>
1515
<PackageReference Include="protobuf-net.Reflection" Version="3.2.46">

tests/KafkaFlow.IntegrationTests/KafkaFlow.IntegrationTests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.3" />
2525
<PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.3" />
2626
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
27-
<PackageReference Include="MSTest.TestAdapter" Version="3.8.2">
27+
<PackageReference Include="MSTest.TestAdapter" Version="3.8.3">
2828
<TreatAsUsed>true</TreatAsUsed>
2929
</PackageReference>
30-
<PackageReference Include="MSTest.TestFramework" Version="3.8.2" />
30+
<PackageReference Include="MSTest.TestFramework" Version="3.8.3" />
3131
<PackageReference Include="coverlet.collector" Version="6.0.4">
3232
<PrivateAssets>all</PrivateAssets>
3333
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

tests/KafkaFlow.UnitTests/KafkaFlow.UnitTests.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323
<PrivateAssets>all</PrivateAssets>
2424
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2525
</PackageReference>
26-
<PackageReference Include="FluentAssertions" Version="8.1.1" />
26+
<PackageReference Include="FluentAssertions" Version="7.2.0" />
2727
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
2828
<PackageReference Include="Moq" Version="4.20.72" />
29-
<PackageReference Include="MSTest.TestAdapter" Version="3.8.2">
29+
<PackageReference Include="MSTest.TestAdapter" Version="3.8.3">
3030
<TreatAsUsed>true</TreatAsUsed>
3131
</PackageReference>
32-
<PackageReference Include="MSTest.TestFramework" Version="3.8.2" />
32+
<PackageReference Include="MSTest.TestFramework" Version="3.8.3" />
3333
</ItemGroup>
3434

3535
<ItemGroup>
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
sidebar_position: 2
3+
---
4+
5+
# From v3 to v4
6+
7+
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.
8+
9+
## Table of Contents
10+
11+
- [Prerequisites](#prerequisites)
12+
- [Update package references](#update-package-references)
13+
- [Breaking Changes / Improvements](#breaking-changes--improvements)
14+
- [1. Update to .NET 8 with Admin Packages](#1-update-to-net-8-with-admin-packages)
15+
- [2. Update `Confluent.*` from `2.1.1` to `2.8.0`](#2-update-confluent-from-211-to-280)
16+
- [Conclusion](#conclusion)
17+
18+
## Prerequisites
19+
20+
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.
21+
22+
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.
23+
24+
## Update package references
25+
26+
To update to KafkaFlow v4, change the `Version` related to KafkaFlow packages to the latest v4 available in each project referencing KafkaFlow packages.
27+
28+
```
29+
<ItemGroup>
30+
- <PackageReference Include="KafkaFlow" Version="3.1.0" />
31+
- <PackageReference Include="KafkaFlow.Abstractions" Version="3.1.0" />
32+
- <PackageReference Include="KafkaFlow.Admin" Version="3.1.0" />
33+
- <PackageReference Include="KafkaFlow.Admin.Dashboard" Version="3.1.0" />
34+
- <PackageReference Include="KafkaFlow.Admin.WebApi" Version="3.1.0" />
35+
- <PackageReference Include="KafkaFlow.Compressor.Gzip" Version="3.1.0" />
36+
- <PackageReference Include="KafkaFlow.Extensions.Hosting" Version="3.1.0" />
37+
- <PackageReference Include="KafkaFlow.LogHandler.Console" Version="3.1.0" />
38+
- <PackageReference Include="KafkaFlow.LogHandler.Microsoft" Version="3.1.0" />
39+
- <PackageReference Include="KafkaFlow.Microsoft.DependencyInjection" Version="3.1.0" />
40+
- <PackageReference Include="KafkaFlow.OpenTelemetry" Version="3.1.0" />
41+
- <PackageReference Include="KafkaFlow.SchemaRegistry" Version="3.1.0" />
42+
- <PackageReference Include="KafkaFlow.Serializer.JsonCore" Version="3.1.0" />
43+
- <PackageReference Include="KafkaFlow.Serializer.NewtonsoftJson" Version="3.1.0" />
44+
- <PackageReference Include="KafkaFlow.Serializer.ProtobufNet" Version="3.1.0" />
45+
- <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentAvro" Version="3.1.0" />
46+
- <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentJson" Version="3.1.0" />
47+
- <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentProtobuf" Version="3.1.0" />
48+
- <PackageReference Include="KafkaFlow.Unity" Version="3.1.0" />
49+
50+
+ <PackageReference Include="KafkaFlow" Version="4.0.0" />
51+
+ <PackageReference Include="KafkaFlow.Abstractions" Version="4.0.0" />
52+
+ <PackageReference Include="KafkaFlow.Admin" Version="4.0.0" />
53+
+ <PackageReference Include="KafkaFlow.Admin.Dashboard" Version="4.0.0" />
54+
+ <PackageReference Include="KafkaFlow.Admin.WebApi" Version="4.0.0" />
55+
+ <PackageReference Include="KafkaFlow.Compressor.Gzip" Version="4.0.0" />
56+
+ <PackageReference Include="KafkaFlow.Extensions.Hosting" Version="4.0.0" />
57+
+ <PackageReference Include="KafkaFlow.LogHandler.Console" Version="4.0.0" />
58+
+ <PackageReference Include="KafkaFlow.LogHandler.Microsoft" Version="4.0.0" />
59+
+ <PackageReference Include="KafkaFlow.Microsoft.DependencyInjection" Version="4.0.0" />
60+
+ <PackageReference Include="KafkaFlow.OpenTelemetry" Version="4.0.0" />
61+
+ <PackageReference Include="KafkaFlow.SchemaRegistry" Version="4.0.0" />
62+
+ <PackageReference Include="KafkaFlow.Serializer.JsonCore" Version="4.0.0" />
63+
+ <PackageReference Include="KafkaFlow.Serializer.NewtonsoftJson" Version="4.0.0" />
64+
+ <PackageReference Include="KafkaFlow.Serializer.ProtobufNet" Version="4.0.0" />
65+
+ <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentAvro" Version="4.0.0" />
66+
+ <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentJson" Version="4.0.0" />
67+
+ <PackageReference Include="KafkaFlow.Serializer.SchemaRegistry.ConfluentProtobuf" Version="4.0.0" />
68+
+ <PackageReference Include="KafkaFlow.Unity" Version="4.0.0" />
69+
</ItemGroup>
70+
```
71+
72+
## Breaking Changes / Improvements
73+
74+
The update to v4 introduces some breaking changes. Please consider them when updating KafkaFlow.
75+
76+
### 1. Update to .NET 8 with Admin Packages
77+
78+
> Related Issues: [#612](https://github.com/Farfetch/kafkaflow/issues/612)
79+
80+
The target frameworks for ASP.NET Admin projects have been updated from `.net6.0` to `.net8.0`.
81+
82+
If you are using the Admin packages (`KafkaFlow.Admin.Dashboard` and `KafkaFlow.Admin.WebApi`), you must target the .NET 8 runtime.
83+
84+
### 2. Update `Confluent.*` from `2.1.1` to `2.8.0`
85+
86+
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](https://github.com/confluentinc/confluent-kafka-dotnet/releases).
87+
88+
## Conclusion
89+
90+
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](https://github.com/Farfetch/kafkaflow#get-in-touch) to the KafkaFlow community.
91+
92+
Thank you for using KafkaFlow!

0 commit comments

Comments
 (0)