Akka 1.5.72

Prefix Reserved
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Akka --version 1.5.72
                    
NuGet\Install-Package Akka -Version 1.5.72
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Akka" Version="1.5.72" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Akka" Version="1.5.72" />
                    
Directory.Packages.props
<PackageReference Include="Akka" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Akka --version 1.5.72
                    
#r "nuget: Akka, 1.5.72"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Akka@1.5.72
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Akka&version=1.5.72
                    
Install as a Cake Addin
#tool nuget:?package=Akka&version=1.5.72
                    
Install as a Cake Tool

Akka.NET

Akka.NET logo

Discord NuGet Nuget

Akka.NET is a .NET port of the popular Akka project from the Scala / Java community. We are an idiomatic .NET implementation of the actor model built on top of the .NET Common Language Runtime.

Akka.NET is a .NET Foundation project.

.NET Foundation Logo

How is Akka.NET Used?

Akka.NET can be used in-process or inside large, distributed real-time systems; we support a wide variety of use cases.

Akka.NET can be used to solve the following types of problems:

  1. Concurrency - Akka.NET actors only process messages one-at-a-time and they do so in first in, first out (FIFO) order; this means that any application state internal to an actor is automatically thread-safe without having to use locks or any other shared-memory synchronization mechanisms.
  2. Stream Processing - Akka.NET actors and Akka.Streams make it easy to build streaming applications, used for processing incoming streams of data or incoming streams of live events such as UI or network events inside native applications.
  3. Event-Driven Programming - actors make it easy to build event-driven applications, as actors' message-processing routines naturally express these types of designs.
  4. Event Sourcing and CQRS - Akka.Persistence, used by actors to make their state re-entrant and recoverable across restarts or migrations between nodes, natively supports event sourcing. Akka.Persistence.Query can be used to compute CQRS-style projections and materialized views from Akka.Persistence data.
  5. Location Transparency - Akka.Remote makes it simple for actors in remote processes to transparently communicate with each other.
  6. Highly Available, Fault-Tolerant Distributed Systems - Akka.Cluster, Akka.Cluster.Sharding, and other tools built on top of Akka.Cluster make it possible to build highly available and fault-tolerant distributed systems by leveraging peer-to-peer programming models with topology-aware message routing and distribution.
  7. Low Latency, High Throughput - Akka.NET aims to be low latency and high throughput, processing 10s millions of messages per second in-memory and hundreds of thousands of messages per second over remote connections.

Where Can I Learn Akka.NET?

You can start by taking the Akka.NET Bootcamp, but there are many other great learning resources for Akka.NET Online.

Build Status

Stage Status
NuGet Pack Build Status
.NET Framework Unit Tests Build Status
.NET Unit Tests (Windows) Build Status
.NET Unit Tests (Linux) Build Status
.NET MultiNode Tests (Windows) Build Status
.NET MultiNode Tests (Linux) Build Status
Docs Build Status

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.Hosting

Akka.Hosting includes the base Akka NuGet package and also provides an easy interface to integrate Akka.NET with the most-used parts of the Microsoft.Extensions ecosystem: Configuration, Logging, Hosting, and DependencyInjection. We encourage developers to adopt it.

And if you need F# support:

PM> Install-Package Akka.FSharp

Akka.NET Project Templates

To create your own Akka.NET projects using our templates (Akka.Templates), install them via the dotnet CLI:

dotnet new install "Akka.Templates::*"

This will make our templates available via dotnet new on the CLI and as new project templates inside any .NET IDE such as Visual Studio or JetBrains Rider. You can view the full list of templates included in our package here: https://github.com/akkadotnet/akkadotnet-templates#available-templates

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.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (241)

Showing the top 5 NuGet packages that depend on Akka:

Package Downloads
Akka.Remote

Remoting support for Akka.NET. Allows actors to communicate over the network.

Akka.Streams

Streaming support for Akka.NET. Introduces a LINQ-like interface for writing asynchronous, back-pressure-aware streams built on top of Akka.NET actors.

Akka.Persistence

Persistence for Akka.NET actors. Allows actors to persist and recover their state in a database-agnostic fashion.

Akka.DependencyInjection

Dependency injection support for Akka.NET

Akka.Coordination

Distributed coordination support for Akka.NET

GitHub repositories (15)

Showing the top 15 popular GitHub repositories that depend on Akka:

Repository Stars
neo-project/neo
NEO Smart Economy
petabridge/akka-bootcamp
Self-paced training course to learn Akka.NET fundamentals from scratch
petabridge/akkadotnet-code-samples
Akka.NET professional reference code samples
petabridge/NBench
Performance benchmarking and testing framework for .NET applications :chart_with_upwards_trend:
ThembisileNGQ/Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
merken/Prise
A .NET Plugin Framework.
axzxs2001/Asp.NetCoreExperiment
原来所有项目都移动到**OleVersion**目录下进行保留。新的案例装以.net 5.0为主,一部分对以前案例进行升级,一部分将以前的工作经验总结出来,以供大家参考!
Chinchilla-Software-Com/CQRS
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.
akkadotnet/Hyperion
Polymorphic serialization for .NET
Aaronontheweb/InMemoryCQRSReplication
Akka.NET Reference Architecture - CQRS + Sharding + In-Memory Replication
superquanter/quanter
从原来的StockTrader迁移过来
petabridge/TurboMqtt
The fastest Message Queue Telemetry Transport (MQTT) client for .NET.
petabridge/akka-monitoring
Monitoring system instrumentation for Akka.NET actor systems
petabridge/DrawTogether.NET
Multi-player MS Paint application. Built with Akka.NET, Blazor, and .NET Aspire.
Horusiath/AkkaCQRS
Event sourcing example build on Akka.NET with persistence plugin
Version Downloads Last Updated
1.6.0-beta1 371 10/2/2026
1.5.72 86 10/3/2026
1.5.71 92,645 8/27/2026
1.5.70 176,490 7/3/2026
1.5.70-beta2 1,877 6/30/2026
1.5.70-beta1 11,701 6/23/2026
1.5.69 168,818 6/12/2026
1.5.68 150,750 5/17/2026
1.5.67 229,877 4/26/2026
1.5.66 2,984 4/24/2026
1.5.65 40,281 4/10/2026
1.5.64 29,269 3/31/2026
1.5.63 55,100 3/23/2026
1.5.62 88,547 3/3/2026
1.5.61 22,173 2/26/2026
1.5.60 108,576 2/10/2026
1.5.59 175,488 1/26/2026
1.5.58 207,689 1/8/2026
1.5.57 51,944 12/11/2025
1.5.57-beta2 3,629 12/3/2025
Loading failed

Akka.NET v1.5.72 backports a non-blocking Cluster extension startup, test-infrastructure hardening, a Cluster.Sharding hand-over fix, and a batch of de-flaked specs from `dev`.

Starting with this release, **Akka.Hosting ships from this repository**. The `Akka.Hosting`, `Akka.Remote.Hosting`, `Akka.Cluster.Hosting`, `Akka.Persistence.Hosting`, `Akka.Hosting.TestKit`, and `Akka.Hosting.TestKit.Xunit2` packages are now built, tested, and published alongside every Akka.NET release at the same version number.

**Akka.Hosting**
* Akka.Hosting moves into the akka.net repository - The six Hosting packages now live under `src/contrib/hosting` and share the Akka.NET version and release cadence. No package IDs, namespaces, or public APIs changed; bump `Akka.Hosting.*` to the same version as `Akka.*`. Hosting-only hotfix versions (such as `1.5.60.1`) no longer exist: a Hosting fix ships in the next Akka.NET patch release. The documentation moved to [getakka.net/articles/hosting](https://getakka.net/articles/hosting/index.html). The [akkadotnet/Akka.Hosting](https://github.com/akkadotnet/Akka.Hosting) repository will be archived and keeps the full commit history and release notes for versions up to 1.5.71; the import was taken from commit [`cefe3c4c`](https://github.com/akkadotnet/Akka.Hosting/commit/cefe3c4ccdc3149c2a2b1c8980f956b303bf1b1a).
* Microsoft.Extensions minimum version moves to 10.0 - The `Akka`, `Akka.DependencyInjection` and all `Akka.Hosting.*` packages now require `Microsoft.Extensions.*` 10.0.0 or later (previously 6.0 for the core packages and 9.0 for Akka.Hosting). The 10.0 packages still ship `netstandard2.0` assets, so applications on .NET Framework 4.8, .NET 6 and .NET 8 keep working; NuGet will lift the transitive `Microsoft.Extensions.*` references in those applications to 10.0.x. Akka.Hosting's `OpenTelemetry` dependency moves to 1.15.3 or later, which clears [GHSA-g94r-2vxg-569j](https://github.com/advisories/GHSA-g94r-2vxg-569j).

**Akka.TestKit / Akka.TestKit.Xunit**
* [TestKit.Xunit: implement the async dispose chain](https://github.com/akkadotnet/akka.net/pull/8545) - `Akka.TestKit.Xunit.TestKit` now implements `InitializeAsync`/`DisposeAsync` directly instead of relying on a derived class's own no-op overrides. **Breaking change**: a derived spec that already declares its own `InitializeAsync`/`DisposeAsync` must mark them `override` and call the base method, or the build fails with `CS0114`. `Dispose(bool)` no longer terminates the `ActorSystem` by itself; the public `Dispose()`/`DisposeAsync()` entry points do, after calling the base chain.
* [Put the DotNetty batching override under akka.remote](https://github.com/akkadotnet/akka.net/pull/8561) - The TestKit's write-batching override now lands under the key the transport actually reads. Every TestKit-hosted and multi-node test system runs with DotNetty write batching genuinely off for the first time.
* [Add TestKitBase.ShutdownAsync](https://github.com/akkadotnet/akka.net/pull/8499) - New public `TestKitBase.ShutdownAsync` overloads shut an `ActorSystem` down without blocking a thread pool worker.
* [Eliminate the MultiNodeTestRunner conductor port race](https://github.com/akkadotnet/akka.net/pull/8515) - The conductor node now binds port 0 and reports the real port over a stdout sentinel, instead of guessing a free port in advance, removing a race that could leave every other node waiting out a timeout against a conductor that never started. Adds the public `ConductorBindException` and `ConductorPortSentinel` types, and a 20-minute backstop that kills a node process that never exits on its own.

**Akka.Streams**
* [Tcp Unbind completes immediately when idle](https://github.com/akkadotnet/akka.net/pull/8570) - `ServerBinding.Unbind()` used to always wait out the subscription timeout even when no connection was pending. It now completes right away in that case, and still correctly waits when a connection was accepted but never subscribed to.

**Akka.Cluster.Sharding**
* [Arm the remember-entities write timeout with updating-state-timeout](https://github.com/akkadotnet/akka.net/pull/8574) - Remember-entities writes are now timed against `updating-state-timeout` (5 seconds by default), matching what `reference.conf` always documented, instead of `waiting-for-state-timeout` (2 seconds). **Migration**: if you raised `waiting-for-state-timeout` to give a slow remember-entities store more time, move that value to `updating-state-timeout` instead - it no longer affects the write path.
* [A coordinator hand-over only stops the local ShardRegion when the node is leaving](https://github.com/akkadotnet/akka.net/pull/8586) - Fixes [#8583](https://github.com/akkadotnet/akka.net/issues/8583): a routine singleton hand-over during a rolling restart no longer stops a `ShardRegion` that isn't leaving the cluster, which used to leave that region permanently unusable for the life of the process.

**Akka.DistributedData**
* [Fix Replicator.IsKnownNode to trust members first seen as Leaving/Exiting/Downed](https://github.com/akkadotnet/akka.net/pull/8582) - A `Replicator` started after a member had already begun leaving no longer silently drops that member's writes and gossip.

**Akka.Cluster**
* [Prevent removed cluster members from being resurrected by stale gossip](https://github.com/akkadotnet/akka.net/pull/8484) - Gossip now carries UID-scoped removal tombstones and retains them for 24 hours by default (`akka.cluster.prune-gossip-tombstones-after`). The wire change is rolling-upgrade compatible: older nodes ignore the added protobuf field and upgraded nodes treat its absence as an empty tombstone set. Protection becomes fully effective after every node is upgraded; removals that occur while old nodes remain in the cluster are not guaranteed to retain their tombstones.
* [Akka.Cluster: make Cluster extension startup non-blocking](https://github.com/akkadotnet/akka.net/pull/8359) - The `Cluster` constructor no longer blocks on a 20 second ask, and `akka.actor.creation-timeout` is no longer consulted by Akka.Cluster at all (Akka.Cluster.Sharding still uses it to bound its own start-up asks). This removes the "Failed to startup Cluster" failure mode, which could shut down a healthy node whenever every thread the startup needed was parked - a small fork-join or other dedicated dispatcher pool, or a stock pool starved under load. **Behavior note**: `Cluster.Get()` now returns before core initialization completes, and the cluster's internal actor tree (`/system/cluster/core`, `/system/cluster/core/daemon`, `/system/cluster/heartbeatReceiver`) is created after `Cluster.Get()` returns rather than before it. All public cluster APIs are message-based, so typical code is unaffected; code that used `Cluster.Get()` as a "core is started" synchronization point, or that resolves one of those internal paths right after obtaining the extension, should await `JoinAsync`/`RegisterOnMemberUp` or a cluster event instead.
* [Akka.Cluster: route user commands through /system/cluster for the extension's lifetime; LeaveAsync re-sends its Leave](https://github.com/akkadotnet/akka.net/pull/8580) - All user-issued cluster commands (`Subscribe`, `Join`, `Leave`, `Down`, ...) now route through `/system/cluster` for the entire lifetime of the extension - two extra local mailbox hops on this low-traffic control plane - instead of switching to a direct core-daemon reference once startup resolves one, so back-to-back commands from one caller stay in order for good, not just during startup. A lost `Leave` no longer wedges every later `LeaveAsync()` for the life of the process. **Behavior note**: calling `Leave()`/`LeaveAsync()` again after the extension has already shut down now produces a dead-lettered `ClusterUserAction.Leave` - worth knowing about for dead-letter alerting or `EventFilter.DeadLetter` assertions.

**Testing**
* [Bugfix5962Spec de-flaked for the non-blocking cluster startup](https://github.com/akkadotnet/akka.net/pull/8398) - the spec's raw 1 second `ResolveOne` against `/system/cluster/core/daemon/downingProvider` raced the async cluster-extension init #8359 introduces above; replaced with a dilated retrying resolve, a dynamic port, and an async `TaskCompletionSource` member-up signal.
* De-flaked a large batch of Cluster, Cluster.Sharding, Cluster.Tools, DistributedData, Streams, and Remote specs, both single-process and multi-node, to remove timing-sensitive failures under load.

3 contributors since release 1.5.71

| COMMITS | LOC+ | LOC- | AUTHOR |
| --- | --- | --- | --- |
| 66 | 35268 | 2030 | Aaron Stannard |
| 1 | 94 | 47 | Bojan Janjatović |
| 1 | 2 | 1 | Matt Kotsenas |

To see the full set of changes in Akka.NET v1.5.72, [click here](https://github.com/akkadotnet/akka.net/milestone/155?closed=1).