Skip to content

Latest commit

 

History

History
527 lines (406 loc) · 30.6 KB

RELEASE_NOTES.md

File metadata and controls

527 lines (406 loc) · 30.6 KB

1.4.40 July 19 2022

Akka.NET v1.4.40 is a minor release that contains a bug fix for DotNetty SSL support.

If you want to see the full set of changes made in Akka.NET v1.4.39, click here.

COMMITS LOC+ LOC- AUTHOR
8 544 64 Gregorius Soedharmo
1 669 3 Aaron Stannard
1 123 26 Ebere Abanonu
1 101 3 aminchenkov

1.4.39 June 1 2022

Akka.NET v1.4.39 is a minor release that contains some very important bug fixes for Akka.Remote and Akka.Cluster users.

If you want to see the full set of changes made in Akka.NET v1.4.39, click here.

COMMITS LOC+ LOC- AUTHOR
3 204 99 Aaron Stannard
1 1 13 Gregorius Soedharmo

1.4.38 May 6 2022

Akka.NET v1.4.38 is a minor release that contains some minor bug fixes.

If you want to see the full set of changes made in Akka.NET v1.4.38, click here.

COMMITS LOC+ LOC- AUTHOR
6 177 93 Gregorius Soedharmo
5 424 156 Ismael Hamed
2 86 89 Aaron Stannard
1 45 209 Simon Cropp
1 1 1 dependabot[bot]

1.4.37 April 14 2022

Akka.NET v1.4.37 is a minor release that contains some minor bug fixes.

If you want to see the full set of changes made in Akka.NET v1.4.37, click here.

COMMITS LOC+ LOC- AUTHOR
3 15 4 Gregorius Soedharmo
1 2 2 dependabot[bot]

1.4.36 April 4 2022

Akka.NET v1.4.36 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code.

Bug fixes:

If you want to see the full set of changes made in Akka.NET v1.4.36, click here.

COMMITS LOC+ LOC- AUTHOR
5 274 33 Gregorius Soedharmo
4 371 6 Ebere Abanonu
3 9 3 Aaron Stannard
1 34 38 Ismael Hamed
1 2 3 Adrian Leonhard

1.4.35 March 18 2022

Akka.NET v1.4.35 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code.

Bug fixes:

If you want to see the full set of changes made in Akka.NET v1.4.35, click here.

COMMITS LOC+ LOC- AUTHOR
6 2178 174 Aaron Stannard
2 43 33 Gregorius Soedharmo
1 71 19 Ismael Hamed
1 1 1 dependabot[bot]

1.4.34 March 7 2022

Akka.NET v1.4.34 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code.

Bug fixes:

Improvements:

If you want to see the full set of changes made in Akka.NET v1.4.34, click here.

COMMITS LOC+ LOC- AUTHOR
12 1177 718 Ebere Abanonu
6 192 47 Gregorius Soedharmo
3 255 167 Ismael Hamed
1 3 0 Aaron Stannard
1 126 10 Drew

1.4.33 February 14 2022

Akka.NET v1.4.33 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code. The most important bug fix is the actor Props memory leak when actors are cached inside Akka.Remote.

If you want to see the full set of changes made in Akka.NET v1.4.33, click here.

COMMITS LOC+ LOC- AUTHOR
63 1264 1052 Ebere Abanonu
9 221 27 Brah McDude
8 2537 24 Gregorius Soedharmo
2 4 1 Aaron Stannard
1 2 2 ignobilis

1.4.32 January 19 2022

Akka.NET v1.4.32 is a minor release that contains some API improvements. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code. One big improvement in this version release is the Hyperion serialization update.

Hyperion 0.12.0 introduces a new deserialization security mechanism to allow users to selectively filter allowed types during deserialization to prevent deserialization of untrusted data described here. This new feature is exposed in Akka.NET in HOCON through the new akka.actor.serialization-settings.hyperion.allowed-types settings or programmatically through the new WithTypeFilter method in the HyperionSerializerSetup class.

The simplest way to programmatically describe the type filter is to use the convenience class TypeFilterBuilder:

var typeFilter = TypeFilterBuilder.Create()
    .Include<AllowedClassA>()
    .Include<AllowedClassB>()
    .Build();
var setup = HyperionSerializerSetup.Default
    .WithTypeFilter(typeFilter);

You can also create your own implementation of ITypeFilter and pass an instance of it into the WithTypeFilter method.

For complete documentation, please read the Hyperion readme on filtering types for secure deserialization.

If you want to see the full set of changes made in Akka.NET v1.4.32, click here.

COMMITS LOC+ LOC- AUTHOR
11 1752 511 Aaron Stannard
8 1433 534 Gregorius Soedharmo
3 754 222 Ismael Hamed
2 3 6 Brah McDude
2 227 124 Ebere Abanonu
1 331 331 Sean Killeen
1 1 1 TangkasOka

1.4.31 December 20 2021

Akka.NET v1.4.31 is a minor release that contains some bug fixes.

Akka.NET v1.4.30 contained a breaking change that broke binary compatibility with all Akka.DI plugins. Even though those plugins are deprecated that change is not compatible with our SemVer standards and needed to be reverted. We regret the error.

Bug fixes:

COMMITS LOC+ LOC- AUTHOR
1 9 2 Gregorius Soedharmo

1.4.30 December 20 2021

Akka.NET v1.4.30 is a minor release that contains some enhancements for Akka.Streams and some bug fixes.

New features:

Bug fixes:

If you want to see the full set of changes made in Akka.NET v1.4.30, click here.

COMMITS LOC+ LOC- AUTHOR
6 75 101 Aaron Stannard
2 53 5 Brah McDude
2 493 12 Drew
1 289 383 Andreas Dirnberger
1 220 188 Gregorius Soedharmo
1 173 28 Ismael Hamed

1.4.29 December 13 2021

Maintenance Release for Akka.NET 1.4 Akka.NET v1.4.29 is a minor release that contains some enhancements for Akka.Streams and some bug fixes.

New features:

Documentation:

Bug fixes:

If you want to see the full set of changes made in Akka.NET v1.4.29, click here.

COMMITS LOC+ LOC- AUTHOR
7 82 51 Aaron Stannard
6 1381 483 Gregorius Soedharmo
4 618 85 Andreas Dirnberger
1 4 4 Luca V
1 1 1 dependabot[bot]

1.4.28 November 10 2021

Maintenance Release for Akka.NET 1.4 Akka.NET v1.4.28 is a minor release that contains some enhancements for Akka.Streams and some bug fixes.

New Akka.Streams Stages Akka.NET v1.4.28 includes two new Akka.Streams stages:

  • Source.Never - a utility stage that never emits any elements, never completes, and never fails. Designed primarily for unit testing.
  • Flow.WireTap - the WireTap stage attaches a given Sink to a Flow without affecting any of the upstream or downstream elements. This stage is designed for performance monitoring and instrumentation of Akka.Streams graphs.

In addition to these, here are some other changes introduced Akka.NET v1.4.28:

If you want to see the full set of changes made in Akka.NET v1.4.28, click here.

COMMITS LOC+ LOC- AUTHOR
16 2707 1911 Sean Killeen
8 1088 28 Ismael Hamed
6 501 261 Gregorius Soedharmo
5 8 8 dependabot[bot]
4 36 86 Aaron Stannard
1 1 0 Jarl Sveinung Flø Rasmussen

Special thanks for @SeanKilleen for contributing extensive Markdown linting and automated CI checks for that to our documentation! #5312

1.4.27 October 11 2021

Maintenance Release for Akka.NET 1.4 Akka.NET v1.4.27 is a small release that contains some major performance improvements for Akka.Remote.

Performance Fixes In RemoteActorRefProvider address paring, caching and resolving improvements Akka.NET contributor @Zetanova introduced some major changes that make the entire ActorPath class much more reusable and more parse-efficient.

Our last major round of Akka.NET performance improvements in Akka.NET v1.4.25 produced the following:

OSVersion:                         Microsoft Windows NT 6.2.9200.0
ProcessorCount:                    16
ClockSpeed:                        0 MHZ
Actor Count:                       32
Messages sent/received per client: 200000  (2e5)
Is Server GC:                      True
Thread count:                      111

Num clients, Total [msg], Msgs/sec, Total [ms]
         1,  200000,    130634,    1531.54
         5, 1000000,    246975,    4049.20
        10, 2000000,    244499,    8180.16
        15, 3000000,    244978,   12246.39
        20, 4000000,    245159,   16316.37
        25, 5000000,    243333,   20548.09
        30, 6000000,    241644,   24830.55

In Akka.NET v1.4.27 those numbers now look like:

OSVersion:                         Microsoft Windows NT 6.2.9200.
ProcessorCount:                    16                            
ClockSpeed:                        0 MHZ                         
Actor Count:                       32                            
Messages sent/received per client: 200000  (2e5)                 
Is Server GC:                      True                          
Thread count:                      111                           
                                                                 
Num clients, Total [msg], Msgs/sec, Total [ms]                   
         1,  200000,    105043,    1904.29                       
         5, 1000000,    255494,    3914.73                       
        10, 2000000,    291843,    6853.30                       
        15, 3000000,    291291,   10299.75                       
        20, 4000000,    286513,   13961.68                       
        25, 5000000,    292569,   17090.64                       
        30, 6000000,    281492,   21315.35

To put these numbers in comparison, here's what Akka.NET's performance looked like as of v1.4.0:

Num clients (actors)    Total [msg] Msgs/sec    Total [ms]
1   200000  69736   2868.60
5   1000000 141243  7080.98
10  2000000 136771  14623.27
15  3000000 38190   78556.49
20  4000000 32401   123454.60
25  5000000 33341   149967.08
30  6000000 126093  47584.92

We've made Akka.Remote consistently faster, more predictable, and reduced total memory consumption significantly in the process.

You can see the full set of changes introduced in Akka.NET v1.4.27 here

COMMITS LOC+ LOC- AUTHOR
3 89 8 Aaron Stannard
1 856 519 Andreas Dirnberger
1 3 4 Vadym Artemchuk
1 261 233 Gregorius Soedharmo
1 1 1 dependabot[bot]

1.4.26 September 28 2021

Maintenance Release for Akka.NET 1.4 Akka.NET v1.4.26 is a very small release that addresses one wire format regression introduced in Akka.NET v1.4.20.

Bug Fixes and Improvements

You can see the full set of changes introduced in Akka.NET v1.4.26 here

COMMITS LOC+ LOC- AUTHOR
4 99 96 Gregorius Soedharmo
3 79 5 Aaron Stannard
1 1 1 dependabot[bot]

1.4.25 September 08 2021

Maintenance Release for Akka.NET 1.4 Akka.NET v1.4.25 includes some significant performance improvements for Akka.Remote and a number of important bug fixes and improvements.

Bug Fixes and Improvements

Performance Improvements Using our standard RemotePingPong benchmark, the difference between v1.4.24 and v1.4.24 is significant:

v1.4.24

OSVersion:                         Microsoft Windows NT 6.2.9200.0 
ProcessorCount:                    16                              
ClockSpeed:                        0 MHZ                           
Actor Count:                       32                              
Messages sent/received per client: 200000  (2e5)                   
Is Server GC:                      True                            
Thread count:                      111                             
                                                                   
Num clients, Total [msg], Msgs/sec, Total [ms]                     
         1,  200000,     96994,    2062.08                         
         5, 1000000,    194818,    5133.93                         
        10, 2000000,    198966,   10052.93                         
        15, 3000000,    199455,   15041.56                         
        20, 4000000,    198177,   20184.53                         
        25, 5000000,    197613,   25302.80                         
        30, 6000000,    197349,   30403.82                         

v1.4.25

OSVersion:                         Microsoft Windows NT 6.2.9200.0
ProcessorCount:                    16
ClockSpeed:                        0 MHZ
Actor Count:                       32
Messages sent/received per client: 200000  (2e5)
Is Server GC:                      True
Thread count:                      111

Num clients, Total [msg], Msgs/sec, Total [ms]
         1,  200000,    130634,    1531.54
         5, 1000000,    246975,    4049.20
        10, 2000000,    244499,    8180.16
        15, 3000000,    244978,   12246.39
        20, 4000000,    245159,   16316.37
        25, 5000000,    243333,   20548.09
        30, 6000000,    241644,   24830.55

This represents a 24% overall throughput improvement in Akka.Remote across the board. We have additional PRs staged that should get aggregate performance improvements above 40% for Akka.Remote over v1.4.24 but they didn't make it into the Akka.NET v1.4.25 release.

You can see the full set of changes introduced in Akka.NET v1.4.25 here

COMMITS LOC+ LOC- AUTHOR
32 1301 400 Aaron Stannard
4 358 184 Andreas Dirnberger
3 414 149 Gregorius Soedharmo
3 3 3 dependabot[bot]
2 43 10 zbynek001
1 14 13 tometchy
1 139 3 carlcamilleri

1.4.24 August 17 2021

Maintenance Release for Akka.NET 1.4

Bug Fixes and Improvements

You can see the full set of changes introduced in Akka.NET v1.4.24 here

COMMITS LOC+ LOC- AUTHOR
5 360 200 Aaron Stannard
3 4 4 dependabot[bot]
1 548 333 Arjen Smits
1 42 19 Martijn Schoemaker
1 26 27 Andreas Dirnberger
1 171 27 Gregorius Soedharmo

1.4.23 August 09 2021

Maintenance Release for Akka.NET 1.4

Akka.NET v1.4.23 is designed to patch an issue that occurs on Linux machines using Akka.Cluster.Sharding with akka.cluster.sharding.state-store-mode=ddata and akka.cluster.sharding.remember-entities=on: "System.DllNotFoundException: Unable to load shared library 'lmdb' or one of its dependencies"

In Akka.NET v1.4.21 we added built-in support for Akka.DistributedData.LightningDb for use with the remember-entities setting, but we never received any reports about this issue until shortly after v1.4.22 was released. Fundamentally, the problem was that our downstream dependency, Lightning.NET, doesn't include any of the necessary Linux native binaries in their distributions currently. So in the meantime, we've published our own "vendored" distribution of Lightning.NET to NuGet until a new official one is released that includes these binaries.

There are some other small fixes included in Akka.NET v1.4.23 and you can read about them here.

COMMITS LOC+ LOC- AUTHOR
8 136 2803 Aaron Stannard
2 61 3 Gregorius Soedharmo

1.4.22 August 05 2021

Maintenance Release for Akka.NET 1.4

Akka.NET v1.4.22 is a fairly large release that includes an assortment of performance and bug fixes.

Performance Fixes Akka.NET v1.4.22 includes a significant performance improvement for Ask<T>, which now requires 1 internal await operation instead of 3:

Before

Method Iterations Mean Error StdDev Gen 0 Gen 1 Gen 2 Allocated
RequestResponseActorSelection 10000 83.313 ms 0.7553 ms 0.7065 ms 4666.6667 - - 19 MB
CreateActorSelection 10000 5.572 ms 0.1066 ms 0.1140 ms 953.1250 - - 4 MB

After

Method Iterations Mean Error StdDev Gen 0 Gen 1 Gen 2 Allocated
RequestResponseActorSelection 10000 71.216 ms 0.9885 ms 0.9246 ms 4285.7143 - - 17 MB
CreateActorSelection 10000 5.462 ms 0.0495 ms 0.0439 ms 953.1250 - - 4 MB

Bug Fixes and Improvements

You can see the full set of changes introduced in Akka.NET v1.4.22 here

Akka.Cluster.Sharding.RepairTool In addition to the work done on Akka.NET itself, we've also created a separate tool for cleaning up any left-over data in the event of an Akka.Cluster.Sharding cluster running with akka.cluster.sharding.state-store-mode=persistence was terminated abruptly before it had a chance to cleanup.

We've added documentation to the Akka.NET website that explains how to use this tool here: https://getakka.net/articles/clustering/cluster-sharding.html#cleaning-up-akkapersistence-shard-state

And the tool itself has documentation here: https://github.com/petabridge/Akka.Cluster.Sharding.RepairTool

COMMITS LOC+ LOC- AUTHOR
16 1254 160 Gregorius Soedharmo
7 104 83 Aaron Stannard
5 8 8 dependabot[bot]
4 876 302 Ismael Hamed
2 3942 716 zbynek001
2 17 3 Andreas Dirnberger
1 187 2 andyfurnival
1 110 5 Igor Fedchenko