|
7 | 7 | <LangVersion>latest</LangVersion>
|
8 | 8 | <Nullable>enable</Nullable>
|
9 | 9 | <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
10 |
| - <VersionPrefix>1.5.39</VersionPrefix> |
11 |
| - <PackageReleaseNotes>Akka.Streams.Kafka 1.5.39 represents a major improvement in stability and performance for Kafka stream processing, particularly for applications using manual partition assignment and rebalancing scenarios. This release includes critical fixes for partition management and introduces new performance tuning capabilities that give users more control over their Kafka consumer behavior. |
12 |
| - |
13 |
| - **Key Improvements** |
14 |
| - |
15 |
| - * Improved stability during partition rebalancing operations |
16 |
| - * Enhanced manual partition assignment behavior |
17 |
| - * Significantly more reliable and improved committing performance |
18 |
| - * New performance tuning capabilities for consumer polling |
19 |
| - * Better handling of partition revocation scenarios |
20 |
| - * Improved memory efficiency through C# record types |
21 |
| - |
22 |
| - **Breaking Changes** |
23 |
| - * Manual partition assignment now uses `IncrementalAssign` instead of `Assign` - this prevents offset resets for users running `ManualSubscription`s. If you're using manual partition assignment, you'll need to verify your offset management logic is compatible with incremental assignment behavior. |
24 |
| - * Several internal types have been converted from classes to C# `record`s for better performance and nullability support. This change should be transparent for most users as records are fully compatible with standard class usage patterns. The only potential impact would be if you're using inheritance on these types (which is not a recommended pattern for Akka.Streams.Kafka types). |
25 |
| - * We removed some extension methods that should have never been made `public` in the first place. |
26 |
| - * We made some changes to `ICommittable` interface and others. |
27 |
| - |
28 |
| - **Major Bug Fixes and Improvements** |
29 |
| - * [Fixed critical issue: Exception inside SelectAsync with null cancellation cause](https://github.com/akkadotnet/Akka.Streams.Kafka/issues/426) |
30 |
| - * [Resolved: System.ArgumentException during rebalance operations](https://github.com/akkadotnet/Akka.Streams.Kafka/issues/415) |
31 |
| - * [Added performance tuning capability through ConsumerSettings.MaxPollRecords](https://github.com/akkadotnet/Akka.Streams.Kafka/pull/453) |
32 |
| - * [Improved partition management: filtering messages from revoked partitions](https://github.com/akkadotnet/Akka.Streams.Kafka/pull/452) |
33 |
| - * [Enhanced stability: filtering out buffered records from recently revoked partitions](https://github.com/akkadotnet/Akka.Streams.Kafka/pull/450) |
34 |
| - |
35 |
| - **Performance Data** |
36 |
| - |
37 |
| - For the `PlainSource`: |
38 |
| - |
39 |
| - ``` |
40 |
| - |
41 |
| - BenchmarkDotNet v0.14.0, Pop!_OS 22.04 LTS |
42 |
| - 13th Gen Intel Core i7-1360P, 1 CPU, 16 logical and 12 physical cores |
43 |
| - .NET SDK 9.0.100 |
44 |
| - [Host] : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2 |
45 |
| - LongRun : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2 |
46 |
| - |
47 |
| - Job=LongRun EvaluateOverhead=False Concurrent=True |
48 |
| - Server=True InvocationCount=1 IterationCount=10 |
49 |
| - LaunchCount=3 RunStrategy=Monitoring UnrollFactor=1 |
50 |
| - WarmupCount=3 Categories=MacroBenchmark,Consumer,Plain |
51 |
| - |
52 |
| - ``` |
53 |
| - | Method | PollBatchSize | Mean | Error | StdDev | msg/sec | |
54 |
| - |-------------------- |-------------- |---------:|---------:|---------:|----------:| |
55 |
| - | ConsumeMessageAsync | 500 | 41.29 μs | 1.960 μs | 2.933 μs | 24,217.30 | |
56 |
| - |
57 |
| - This is a ~2.5x improvement over what v1.5.38 was able to achieve. |
58 |
| - |
59 |
| - **Dependencies** |
60 |
| - * [Upgraded to Akka.NET v1.5.39](https://github.com/akkadotnet/akka.net/releases/tag/1.5.39) |
61 |
| - </PackageReleaseNotes> |
| 10 | + <VersionPrefix>1.5.40</VersionPrefix> |
| 11 | + <PackageReleaseNotes>* [Major bug fix: Committers: fixed n+1 errors with offset committing](https://github.com/akkadotnet/Akka.Streams.Kafka/pull/484) |
| 12 | +* [Upgraded to Akka.NET v1.5.40](https://github.com/akkadotnet/akka.net/releases/tag/1.5.40)</PackageReleaseNotes> |
62 | 13 | </PropertyGroup>
|
63 | 14 | <PropertyGroup>
|
64 | 15 | <!-- Visual Studio C# settings -->
|
|
67 | 18 | <NetCoreTestVersion>net9.0</NetCoreTestVersion>
|
68 | 19 | </PropertyGroup>
|
69 | 20 | <ItemGroup>
|
70 |
| - <Using Include="Akka.Event"/> |
| 21 | + <Using Include="Akka.Event" /> |
71 | 22 | </ItemGroup>
|
72 | 23 | <!-- GitHub SourceLink -->
|
73 | 24 | <ItemGroup>
|
74 |
| - <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/> |
| 25 | + <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" /> |
75 | 26 | </ItemGroup>
|
76 | 27 | <!-- NuGet package properties -->
|
77 | 28 | <PropertyGroup>
|
|
0 commit comments