Akka 1.5.0-alpha1
Akka.NET
![]()
Akka.NET is a professional-grade port of the popular Java/Scala framework Akka distributed actor framework to .NET.
Akka.NET is a .NET Foundation project.
Build Status
Documentation and resources
Akka.NET Project Site
Install Akka.NET via NuGet
If you want to include Akka.NET in your project, you can install it directly from NuGet
To install Akka.NET Distributed Actor Framework, run the following command in the Package Manager Console
PM> Install-Package Akka
PM> Install-Package Akka.Remote
And if you need F# support:
PM> Install-Package Akka.FSharp
Builds
Please see Building Akka.NET.
To access nightly Akka.NET builds, please see the instructions here.
Support
If you need help getting started with Akka.NET, there's a number of great community resources online:
- Subscribe to the Akka.NET project feed on Twitter: https://twitter.com/AkkaDotNet (@AkkaDotNet)
- Join the Akka.NET project Gitter chat: https://gitter.im/akkadotnet/akka.net
- Ask Akka.NET questions on Stack Overflow: http://stackoverflow.com/questions/tagged/akka.net
If you and your company are interested in getting professional Akka.NET support, you can contact Petabridge for dedicated Akka.NET support.
No packages depend on Akka.
Akka.NET v1.5.0-alpha1 is a major release that contains a lot of code improvement and rewrites/refactors. Major upgrades to Akka.Cluster.Sharding in particular.
Deprecation
Some codes and packages are being deprecated in v1.5
Deprecated/removed Akka.DI package
Please use the new Akka.DependencyInjection NuGet package as a replacement. Documentation can be read here
Deprecated/removed Akka.MultiNodeTestRunner package
Please use the new Akka.MultiNode.TestAdapter NuGet package as a replacement. Documentation can be read here.
[Streams] Refactor SetHandler(Inlet, Outlet, IanAndOutGraphStageLogic) to SetHandlers()
Changes
Akka
Add dual targetting to support .NET 6.0
All Akka.NET packages are now dual targetting netstandard2.0 and net6.0 platforms, we will be integrating .NET 6.0 better performing API and SDK in the future.
Add IThreadPoolWorkItem support to ThreadPoolDispatcher
Add ValueTask support to PipeTo extensions
Add CancellationToken support to Cancelable
Fix long starting loggers crashing ActorSystem startup
All loggers are asynchronously started during ActorSystem startup. A warning will be logged if a logger does not respond within the prescribed akka.logger-startup-timeout period and will be awaited upon in a detached task until the ActorSystem is shut down. This have a side effect in that slow starting loggers might not be able to capture all log events emmited by the EventBus until it is ready.
Akka.Cluster
Fix ChannelTaskScheduler to work with Akka.Cluster, ported from 1.4
Harden Cluster.JoinAsync() and Cluster.JoinSeedNodesAsync() methods
Fix ShardedDaemonProcess should use lease, if configured
Make SplitBrainResolver more tolerant to invalid node records
Enable Heartbeat and HearbeatRsp message serialization and deserialization
By default, Akka.Cluster will now use the new Heartbeat and HartbeatRsp message serialization/deserialization that was introduced in version 1.4.19. If you're doing a rolling upgrade from a version older than 1.4.19, you will need to set akka.cluster.use-legacy-heartbeat-message to true.
Akka.Cluster.Sharding
Make Cluster.Sharding recovery more tolerant against corrupted persistence data
Major reorganization to Akka.Cluster.Sharding
The Akka.Cluster.Sharding changes in Akka.NET v1.5 are significant, but backwards compatible with v1.4 and upgrades should happen seamlessly.
Akka.Cluster.Sharding's state-store-mode has been split into two parts:
CoordinatorStore
ShardStore
Which can use different persistent mode configured via akka.cluster.sharding.state-store-mode & akka.cluster.sharding.remember-entities-store.
Possible combinations:
state-store-mode | remember-entities-store | CoordinatorStore mode | ShardStore mode
------------------ | ------------------------- | ------------------------ | ------------------
persistence (default) | - (ignored) | persistence | persistence
ddata | ddata | ddata | ddata
ddata | eventsourced (new) | ddata | persistence
There should be no breaking changes from user perspective. Only some internal messages/objects were moved.
There should be no change in the PersistentId behavior and default persistent configuration (akka.cluster.sharding.state-store-mode)
This change is designed to speed up the performance of Akka.Cluster.Sharding coordinator recovery by moving remember-entities recovery into separate actors - this also solves major performance problems with the ddata recovery mode overall.
The recommended settings for maximum ease-of-use for Akka.Cluster.Sharding going forward will be:
akka.cluster.sharding{
state-store-mode = ddata
remember-entities-store = eventsourced
}
However, for the sake of backwards compatibility the Akka.Cluster.Sharding defaults have been left as-is:
akka.cluster.sharding{
state-store-mode = persistence
# remember-entities-store (not set - also uses legacy Akka.Persistence)
}
Switching over to using remember-entities-store = eventsourced will cause an initial migration of data from the ShardCoordinator's journal into separate event journals going forward - this migration is irreversible without taking the cluster offline and deleting all Akka.Cluster.Sharding-related data from Akka.Persistence, so plan accordingly.
Akka.Cluster.Tools
Add typed ClusterSingleton support
Singleton can use Member.AppVersion metadata to decide its host node during hand-over
Akka.Cluster.Singleton can use Member.AppVersion metadata when it is relocating the singleton instance. When turned on, new singleton instance will be created on the oldest node in the cluster with the highest AppVersion number. You can opt-in to this behavior by setting akka.cluster.singleton.consider-app-version to true.
Akka.Persistence.Query
Add TimeBasedUuid offset property
Akka.Remote
Fix typo in HOCON SSL settings. Backward compatible with the old setting names
Treat all exceptions thrown inside EndpointReader message dispatch as transient, Ported from 1.4
Fix SSL enable HOCON setting
Akka.Streams
Allow GroupBy sub-flow to re-create closed sub-streams, backported to 1.4
Fix ActorRef source not completing properly, backported to 1.4
Rewrite ActorRefSink as a GraphStage
Add stream cancellation cause upstream propagation, ported from 1.4
Fix VirtualProcessor subscription bug, ported from 1.4
Refactor Sink.Ignore signature from Task to Task<Done>
Add SourceWithContext.FromTuples() operator](https://github.com/akkadotnet/akka.net/pull/5987) [Add GroupedWeightedWithinoperator](https://github.com/akkadotnet/akka.net/pull/6000) [AddIAsyncEnumerable` source
Akka.TestKit
Rewrite Akka.TestKit to work asynchronously from the ground up
.NET 6.0
- Microsoft.Extensions.ObjectPool (>= 5.0.5)
- Newtonsoft.Json (>= 12.0.3)
- System.Collections.Immutable (>= 5.0.0)
- System.Configuration.ConfigurationManager (>= 4.7.0)
- System.Reflection.Emit (>= 4.7.0)
.NET Standard 2.0
- Microsoft.Extensions.ObjectPool (>= 5.0.5)
- Newtonsoft.Json (>= 12.0.3)
- System.Collections.Immutable (>= 5.0.0)
- System.Configuration.ConfigurationManager (>= 4.7.0)
- System.Reflection.Emit (>= 4.7.0)
- System.Threading.Channels (>= 5.0.0)
| Version | Downloads | Last updated |
|---|---|---|
| 1.5.54 | 1 | 10/23/2025 |
| 1.5.53 | 1 | 10/23/2025 |
| 1.5.52 | 1 | 10/23/2025 |
| 1.5.51 | 1 | 10/23/2025 |
| 1.5.50 | 1 | 10/23/2025 |
| 1.5.49 | 1 | 10/23/2025 |
| 1.5.48 | 1 | 10/23/2025 |
| 1.5.47 | 1 | 10/23/2025 |
| 1.5.46 | 1 | 10/23/2025 |
| 1.5.45 | 1 | 10/23/2025 |
| 1.5.44 | 1 | 10/23/2025 |
| 1.5.43 | 1 | 10/23/2025 |
| 1.5.42 | 1 | 10/23/2025 |
| 1.5.41 | 1 | 10/23/2025 |
| 1.5.40 | 1 | 10/23/2025 |
| 1.5.39 | 1 | 10/23/2025 |
| 1.5.38 | 1 | 10/23/2025 |
| 1.5.37 | 1 | 10/23/2025 |
| 1.5.36 | 1 | 10/23/2025 |
| 1.5.35 | 1 | 10/23/2025 |
| 1.5.34 | 1 | 10/23/2025 |
| 1.5.33 | 1 | 10/23/2025 |
| 1.5.32 | 1 | 10/23/2025 |
| 1.5.31 | 1 | 10/23/2025 |
| 1.5.30 | 1 | 10/23/2025 |
| 1.5.29 | 1 | 10/23/2025 |
| 1.5.28 | 1 | 10/23/2025 |
| 1.5.28-beta1 | 1 | 10/23/2025 |
| 1.5.27.1 | 1 | 10/23/2025 |
| 1.5.27 | 1 | 10/23/2025 |
| 1.5.27-beta2 | 1 | 10/23/2025 |
| 1.5.27-beta1 | 1 | 10/23/2025 |
| 1.5.26 | 1 | 10/23/2025 |
| 1.5.25 | 1 | 10/23/2025 |
| 1.5.24 | 1 | 10/23/2025 |
| 1.5.23 | 1 | 10/23/2025 |
| 1.5.22 | 1 | 10/23/2025 |
| 1.5.21 | 1 | 10/23/2025 |
| 1.5.20 | 1 | 10/23/2025 |
| 1.5.19 | 1 | 10/23/2025 |
| 1.5.18 | 1 | 10/23/2025 |
| 1.5.17.1 | 1 | 10/23/2025 |
| 1.5.17 | 1 | 10/23/2025 |
| 1.5.16 | 1 | 10/23/2025 |
| 1.5.15 | 1 | 10/23/2025 |
| 1.5.14 | 1 | 10/23/2025 |
| 1.5.13 | 1 | 10/23/2025 |
| 1.5.13-beta1 | 1 | 10/23/2025 |
| 1.5.12 | 1 | 10/23/2025 |
| 1.5.11 | 1 | 10/23/2025 |
| 1.5.10 | 1 | 10/23/2025 |
| 1.5.9 | 1 | 10/23/2025 |
| 1.5.8 | 1 | 10/23/2025 |
| 1.5.7 | 1 | 10/23/2025 |
| 1.5.6 | 1 | 10/23/2025 |
| 1.5.5 | 1 | 10/23/2025 |
| 1.5.4 | 1 | 10/23/2025 |
| 1.5.3 | 1 | 10/23/2025 |
| 1.5.2 | 1 | 10/23/2025 |
| 1.5.1 | 1 | 10/23/2025 |
| 1.5.0 | 1 | 10/23/2025 |
| 1.5.0-beta6 | 1 | 10/23/2025 |
| 1.5.0-beta5 | 1 | 10/23/2025 |
| 1.5.0-beta4 | 1 | 10/23/2025 |
| 1.5.0-beta3 | 1 | 10/23/2025 |
| 1.5.0-beta2 | 1 | 10/23/2025 |
| 1.5.0-beta1 | 1 | 10/23/2025 |
| 1.5.0-alpha4 | 1 | 10/23/2025 |
| 1.5.0-alpha3 | 1 | 10/23/2025 |
| 1.5.0-alpha2 | 1 | 10/23/2025 |
| 1.5.0-alpha1 | 1 | 10/23/2025 |
| 1.4.51 | 1 | 10/23/2025 |
| 1.4.50 | 1 | 10/23/2025 |
| 1.4.49 | 1 | 10/23/2025 |
| 1.4.49-beta1 | 1 | 10/23/2025 |
| 1.4.48 | 1 | 10/23/2025 |
| 1.4.47 | 1 | 10/23/2025 |
| 1.4.46 | 1 | 10/23/2025 |
| 1.4.45 | 1 | 10/23/2025 |
| 1.4.44 | 1 | 10/23/2025 |
| 1.4.43 | 1 | 10/23/2025 |
| 1.4.42 | 1 | 10/23/2025 |
| 1.4.41 | 1 | 10/23/2025 |
| 1.4.40 | 1 | 10/23/2025 |
| 1.4.39 | 1 | 10/23/2025 |
| 1.4.38 | 1 | 10/23/2025 |
| 1.4.37 | 1 | 10/23/2025 |
| 1.4.36 | 1 | 10/23/2025 |
| 1.4.35 | 1 | 10/23/2025 |
| 1.4.34 | 1 | 10/23/2025 |
| 1.4.33 | 1 | 10/23/2025 |
| 1.4.32 | 1 | 10/23/2025 |
| 1.4.31 | 1 | 10/23/2025 |
| 1.4.30 | 1 | 10/23/2025 |
| 1.4.29 | 1 | 10/23/2025 |
| 1.4.28 | 1 | 10/23/2025 |
| 1.4.27 | 1 | 10/23/2025 |
| 1.4.26 | 1 | 10/23/2025 |
| 1.4.25 | 1 | 10/23/2025 |
| 1.4.24 | 1 | 10/23/2025 |
| 1.4.23 | 1 | 10/23/2025 |
| 1.4.22 | 1 | 10/23/2025 |
| 1.4.21 | 1 | 10/23/2025 |
| 1.4.21-beta1 | 1 | 10/23/2025 |
| 1.4.20 | 1 | 10/23/2025 |
| 1.4.19 | 1 | 10/23/2025 |
| 1.4.18 | 1 | 10/23/2025 |
| 1.4.17 | 1 | 10/23/2025 |
| 1.4.16 | 1 | 10/23/2025 |
| 1.4.15 | 1 | 10/23/2025 |
| 1.4.14 | 1 | 10/23/2025 |
| 1.4.13 | 1 | 10/23/2025 |
| 1.4.12 | 1 | 10/23/2025 |
| 1.4.11 | 1 | 10/23/2025 |
| 1.4.10 | 1 | 10/23/2025 |
| 1.4.9 | 1 | 10/23/2025 |
| 1.4.8 | 1 | 10/23/2025 |
| 1.4.7 | 1 | 10/23/2025 |
| 1.4.6 | 1 | 10/23/2025 |
| 1.4.5 | 1 | 10/23/2025 |
| 1.4.4 | 1 | 10/23/2025 |
| 1.4.3 | 1 | 10/23/2025 |
| 1.4.2 | 1 | 10/23/2025 |
| 1.4.1 | 1 | 10/23/2025 |
| 1.4.1-rc3 | 1 | 10/23/2025 |
| 1.4.1-rc2 | 1 | 10/23/2025 |
| 1.4.1-rc1 | 1 | 10/23/2025 |
| 1.4.0-beta4 | 1 | 10/23/2025 |
| 1.4.0-beta3 | 2 | 10/23/2025 |
| 1.4.0-beta2 | 1 | 10/23/2025 |
| 1.4.0-beta1 | 1 | 10/23/2025 |
| 1.3.19 | 1 | 10/23/2025 |
| 1.3.18 | 1 | 10/23/2025 |
| 1.3.17 | 1 | 10/23/2025 |
| 1.3.16 | 1 | 10/23/2025 |
| 1.3.15 | 1 | 10/23/2025 |
| 1.3.14 | 1 | 10/23/2025 |
| 1.3.13 | 1 | 10/23/2025 |
| 1.3.12 | 1 | 10/23/2025 |
| 1.3.11 | 1 | 10/23/2025 |
| 1.3.10 | 1 | 10/23/2025 |
| 1.3.9 | 1 | 10/23/2025 |
| 1.3.8 | 1 | 10/23/2025 |
| 1.3.7 | 1 | 10/23/2025 |
| 1.3.6 | 1 | 10/23/2025 |
| 1.3.5 | 1 | 10/23/2025 |
| 1.3.4 | 1 | 10/23/2025 |
| 1.3.3 | 1 | 10/23/2025 |
| 1.3.2 | 1 | 10/23/2025 |
| 1.3.1 | 1 | 10/23/2025 |
| 1.3.0 | 1 | 10/23/2025 |
| 1.2.3 | 1 | 10/23/2025 |
| 1.2.2 | 1 | 10/23/2025 |
| 1.2.1 | 1 | 10/23/2025 |
| 1.2.0 | 1 | 10/23/2025 |
| 1.1.3 | 1 | 10/23/2025 |
| 1.1.2 | 1 | 10/23/2025 |
| 1.1.1 | 1 | 10/23/2025 |
| 1.1.0 | 1 | 10/23/2025 |
| 1.0.8 | 1 | 10/23/2025 |
| 1.0.7 | 1 | 10/23/2025 |
| 1.0.6 | 1 | 10/23/2025 |
| 1.0.5 | 1 | 10/23/2025 |
| 1.0.4 | 1 | 10/23/2025 |
| 1.0.3 | 1 | 10/23/2025 |
| 1.0.2 | 1 | 10/23/2025 |
| 1.0.1 | 1 | 10/23/2025 |
| 1.0.0 | 1 | 10/23/2025 |
| 1.0.0-dev1504032244 | 1 | 10/23/2025 |
| 0.8.0 | 1 | 10/23/2025 |
| 0.7.1 | 1 | 10/23/2025 |
| 0.7.0 | 1 | 10/23/2025 |
| 0.6.4 | 1 | 10/23/2025 |
| 0.6.3 | 1 | 10/23/2025 |
| 0.6.2 | 1 | 10/23/2025 |
| 0.6.1 | 1 | 10/23/2025 |
| 0.6.0 | 1 | 10/23/2025 |
| 0.5.8 | 1 | 10/23/2025 |
| 0.5.2 | 1 | 10/23/2025 |
| 0.5.0 | 1 | 10/23/2025 |
| 0.2.1-beta | 1 | 10/23/2025 |
| 0.2.0-beta | 1 | 10/23/2025 |