1.5.71 August 26th, 2026
Akka.NET v1.5.71 is a maintenance release that fixes a Cluster Sharding private-replicator recovery bug, hardens MultiNodeTestRunner conductor reliability, flushes graceful Disassociate PDUs before transport force-close on shutdown, and resolves a handful of TestKit, ClusterClientDiscovery, and DotNetty fixes.
Akka.Cluster.Sharding
- Fix Cluster Sharding private replicator recovery: Fixes a bug where a Cluster Sharding private replicator could fail to recover its state, leaving shard state inconsistent after a coordinated shutdown / recovery cycle. Adds a
ClusterShardingReplicatorResiliencySpeccovering the recovery path.
Akka.Remote
- Backport #8421 to v1.5: flush graceful
DisassociatePDUs before transport force-close on shutdown: Ensures in-flight gracefulDisassociatecontrol messages are flushed to the wire before the transport force-closes the connection on shutdown, preventing an abrupt teardown from silently dropping them. - Akka.Remote: stop, don't restart, failed throttler children - Fixes #8433 and #8434: A failing outbound-throttler child is now stopped rather than restarted, avoiding an unbounded restart loop that could stall remote message throughput.
- Clarify DotNetty hostname validation direction: Clarifies the direction of the DotNetty hostname validation check so it validates the expected peer identity instead of the local endpoint.
Akka.Remote.TestKit (MultiNodeTestRunner)
- Backport MNTR conductor reliability to v1.5 - Backports #8431 and #8485: Hardens the MNTR
BarrierCoordinator,Conductor,Controller,Player, andRemoteConnectionagainst conductor-side races and disconnect handling, reducing multi-node spec flakiness.
Akka.TestKit
- Add AutoDilate metadata to TestKit timeouts: Adds AutoDilate dilation metadata to TestKit timeout expectations so dilated deadlines are correctly tracked and reported.
- Fix torn read in
PromiseActorRef.GetPaththat madePathreturn null: Fixes a torn read inPromiseActorRef.GetPaththat could returnnullunder concurrent access. - Fix double-dilated timeout in
ExpectMsgAsync<T>(Func<T, IActorRef, bool>, ...): Fixes a bug where the overload ofExpectMsgAsyncthat takes a predicate could apply its timeout dilation twice, causing spurious timeout failures.
Akka.Cluster.Tools
- Fix ClusterClientDiscovery: preserve contact-point subscriptions across rediscovery: Ensures
ClusterClientDiscoverykeeps its contact-point subscriptions alive across rediscovery cycles instead of dropping them.
Tests
- Make
ClusterShardingQueriesSpecstats/region-state queries converge-then-assert (async): HardensClusterShardingQueriesSpecby making its stats and region-state query assertions wait for convergence before asserting, reducing CI flakiness.
1 contributor since release 1.5.70
| COMMITS | LOC+ | LOC- | AUTHOR |
|---|---|---|---|
| 11 | 1376 | 468 | Aaron Stannard |
To see the full set of changes in Akka.NET v1.5.71, click here.
Changes:
- a5b9182 Release Akka.NET v1.5.71 (#8493)
- 885f466 Fix Cluster Sharding private replicator recovery (#8480)
- 04f10cb Backport #8421 to v1.5: flush graceful Disassociate PDUs before transport force-close on shutdown (#8487)
- 00c4f1a Backport MNTR conductor reliability to v1.5 (#8431 + #8485) (#8488)
- ea6d0f6 fix: add AutoDilate API approval updates for #8441 backport
- f46cbd5 Add AutoDilate metadata to TestKit timeouts (#8441)
- 70f2d1b Akka.Remote: stop, don't restart, failed throttler children (#8433, #8434) (#8437)
- 42bfb28 Fix torn read in PromiseActorRef.GetPath that made Path return null (#8436) [ #1, #2 ]
- 6713bb9 Fix double-dilated timeout in ExpectMsgAsync(Func<T, IActorRef, bool>, ...) (#8430)
- 5c6540c Fix ClusterClientDiscovery: preserve contact-point subscriptions across rediscovery (#8426)
See More
- 37798c8 Clarify DotNetty hostname validation direction (#8464)
- 850c173 fix: make ClusterShardingQueriesSpec stats/region-state queries converge-then-assert (async) (#8311)
This list of changes was auto generated.