Akka 1.5.0-alpha1

Akka.NET

Akka.NET logo

Gitter

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.

.NET Foundation Logo

Build Status

Stage Status
Build Build Status
NuGet Pack Build Status
.NET Framework Unit Tests Build Status
.NET Framework MultiNode Tests Build Status
.NET Core (Windows) Unit Tests Build Status
.NET Core (Linux) Unit Tests Build Status
.NET Core (Windows) MultiNode Tests Build Status
.NET Core (Linux) MultiNode Tests
Docs 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:

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

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