Skip to content

Akka.NET v1.5.15

Compare
Choose a tag to compare
@Aaronontheweb Aaronontheweb released this 10 Jan 03:07
e504c34

1.5.15 January 9th 2024

Akka.NET v1.5.15 is a significant release for Akka.NET with some major feature additions and changes.

Akka.Analyzers

The core Akka NuGet package now references Akka.Analyzers, a new set of Roslyn Code Analysis and Code Fix Providers that we distribute via NuGet. You can see the full set of supported Akka.Analyzers rules here.

Akka.Cluster.Sharding Changes

In #6863 we made some major changes to the Akka.Cluster.Sharding API aimed at helping improve Cluster.Sharding's performance and ease of use. However, these changes may require some effort on the part of the end user in order to take full advantage:

  • ExtractEntityId and ExtractShardId have been deprecated as they fundamentally can't be extended and can't benefit from the performance improvements introduced into Akka.NET v1.5.15. It is imperative that you migrate to using the HashCodeMessageExtractor instead.
  • You no longer need to handle ShardRegion.StartEntity or ShardingEnvelope inside your IMessageExtractor implementations, and in fact AK2001 (part of Akka.Analyzers) will automatically detect this and remove those handlers for you. Akka.NET automatically handles these two message types internally now.

ClusterClient Serialization Changes

In #7032 we solved a long-standing serialization problem with the ClusterClient where Send, SendToAll, and Publish were not handled by the correct internal serializer. This has been fixed by default in Akka.NET v1.5.15, but this can potentially cause wire compatibility problems during upgrades - therefore we have introduced a configuration setting to toggle this:

# re-enable legacy serialization
akka.cluster.client.use-legacy-serialization = on

That setting is currently set to on by default, so v1.5.15 will still behave like previous versions of Akka.NET. However, if you have been affected by serialization issues with the ClusterClient (such as #6803) you should toggle this setting to off.

See "Akka.NET v1.5.15 Upgrade Advisories" for full details on some of the things you might need to do while upgrading to this version of Akka.NET.

You can see the full set of changes for Akka.NET v1.5.15 here.

COMMITS LOC+ LOC- AUTHOR
16 2228 1490 Aaron Stannard
9 9 9 dependabot[bot]
2 610 173 Gregorius Soedharmo
2 337 0 Drew
2 124 118 Lehonti Ramos
1 2 2 Sergey Popov
1 108 25 Yaroslav Paslavskiy
1 1 1 Bert Lamb

Changes:

  • e504c34 added v1.5.15 release notes (#7053)
  • 9d2efe0 [Docs] Adding Akka.NET v1.5.15 upgrade advisories (#7052)
  • f03fc68 troubleshooting ShardingRegion.StartEntity handling changes (#7051)
  • b6a4a5c distribute Akka.Analyzers as transitive dependency through Akka (#7050)
  • 38ad362 Akka.Cluster.Sharding AK2001 cleanup (#7049)
  • 3285197 Bump Microsoft.Data.SQLite from 7.0.13 to 8.0.1 (#7048)
  • 3c16fdc added AK2001 warning docs (#7047)
  • 97323d1 Fix LocalSnapshotStore Metadata Fetch to ensure persistenceid match. (#7040)
  • a2c0df4 Docs: defining Akka.Analyzer rules (#7039)
  • 0486f97 structs in Akka.Streams with exclusively read-only members were made readonly (#6941)
See More
  • fd41a82 Akka.Cluster.Sharding: perf optimize message extraction, automate StartEntity and ShardEnvelope handling (#6863) [ #6717 ]
  • 5620f02 Sealed uninherited internal classes in Akka.Streams (#6940)
  • 1c4f071 Akka.Delivery: fix ProducerControllerImpl<T> state bug (#7034) [ #7033 ]
  • 70787ae resolved build warning inside AkkaProtocolSpec (#7036)
  • ca1889d Documentation redirect fix(#7025). (#7035)
  • db3d68e Bump Microsoft.Data.SQLite from 7.0.13 to 8.0.0 (#6992)
  • db1119c Bump BenchmarkDotNet.Diagnostics.dotTrace, System.Collections.Immutable and Microsoft.Extensions.DependencyInjection.Abstractions (#7030)
  • 1e24aab Make ClusterClient messages be serialized using ClusterClientMessageSerializer (#7032)
  • 1a06ec1 added Akka.Analyzer reference (#7031)
  • 2633f91 Change MS.EXT and System package versioning to ranged (#7029)
  • dbac721 Bump Google.Protobuf from 3.25.0 to 3.25.1 (#7004)
  • 3aeebb0 Cleanup warnings (#7026)
  • b3f7d38 Bump BenchmarkDotNetVersion from 0.13.10 to 0.13.11 (#7022)
  • b7c2871 DData Serializer Benches (#7013)
  • 04630da Akka.Serialization: INoSerializationVerificationNeeded does not handle IWrappedMessage correctly (#7010)
  • 93af6e4 Bump BenchmarkDotNetVersion from 0.13.10 to 0.13.11 (#7015)
  • 8311f2a fixed Hyperion test issues (#7012)
  • 1fa70e7 build.fsx: change test targets from net7.0 to net8.0 (#7011)
  • 527d1ca Bump Microsoft.NET.Test.Sdk from 17.7.2 to 17.8.0 (#6986)
  • c03ff1c migrate build and test system to .NET 8 (#7008)
  • f4f0077 Fix link to Build instructions in README.md (#6987)
  • 6a5b194 Bump Microsoft.SourceLink.GitHub from 1.1.1 to 8.0.0 (#7005)
  • aeec1b9 #6816 Akka.DistributedData.LightningDb: move durable folder creation outside of actor constructor (#6983)
  • f7fd7ab Bump Google.Protobuf from 3.24.4 to 3.25.0 (#6981)

This list of changes was auto generated.