Skip to content

Bump Akka.Hosting from 1.5.58 to 1.5.72 - #241

Closed
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/nuget/Akka.Hosting-1.5.71
Closed

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/nuget/Akka.Hosting-1.5.71

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Pinned Akka.Hosting at 1.5.72.

Release notes

Sourced from Akka.Hosting's releases.

1.5.72

1.5.72 October 3rd, 2026

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. The 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.
  • 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.

Akka.TestKit / Akka.TestKit.Xunit

  • TestKit.Xunit: implement the async dispose chain - 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 - 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 - New public TestKitBase.ShutdownAsync overloads shut an ActorSystem down without blocking a thread pool worker.
  • Eliminate the MultiNodeTestRunner conductor port race - 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 - 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

Akka.DistributedData

Akka.Cluster

  • Prevent removed cluster members from being resurrected by stale gossip - 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 - 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 - 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 - 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.

Changes:

  • 5cb76a8e3402b7d8f7becc03dd197b1c1cf92c67 Merge pull request #​8741 from Aaronontheweb/release/v1.5.72
  • 45900401ac6eebf3d1cbc530597fc88323ecaba8 Bump version to 1.5.72 and update release notes
    ... (truncated)

1.5.71

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 ClusterShardingReplicatorResiliencySpec covering the recovery path.

Akka.Remote

Akka.Remote.TestKit (MultiNodeTestRunner)

Akka.TestKit

Akka.Cluster.Tools

Tests

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:

  • a5b91822727b137c537ebcf3a182a3c98d6c935d Release Akka.NET v1.5.71 (#​8493)
  • 885f466680ee207ee8130d5d6b74c9ddc17b7629 Fix Cluster Sharding private replicator recovery (#​8480)
  • 04f10cbbbc41c2631b29425f4c79f9426584a9f7 Backport #​8421 to v1.5: flush graceful Disassociate PDUs before transport force-close on shutdown (#​8487)
  • 00c4f1a9d3f9c33e4da8337efd3227e8c5b270b2 Backport MNTR conductor reliability to v1.5 (#​8431 + #​8485) (#​8488)
  • ea6d0f6918dd4cb6366a9f47d1761a09c909d07e fix: add AutoDilate API approval updates for #​8441 backport
  • f46cbd5169a2646d8e0bf47fd5fa349b986d37ce Add AutoDilate metadata to TestKit timeouts (#​8441)
  • 70f2d1b063f245e0094059779682c67f2acbbc71 Akka.Remote: stop, don't restart, failed throttler children (#​8433, #​8434) (#​8437)
  • 42bfb2878a596b5bc462ce6a063287acefda9e8e Fix torn read in PromiseActorRef.GetPath that made Path return null (#​8436) [ #​1, #​2 ]
  • 6713bb9d39f0da3cce5d9b26a97c8ae10f407eb2 Fix double-dilated timeout in ExpectMsgAsync(Func<T, IActorRef, bool>, ...) (#​8430)
  • 5c6540ce63a85d8283ace15e05fb310d26ce98b7 Fix ClusterClientDiscovery: preserve contact-point subscriptions across rediscovery (#​8426)
See More
  • 37798c86472f50c4d383fbbf6f3f7505d2878bdf Clarify DotNetty hostname validation direction (#​8464)
    ... (truncated)

1.5.70

1.5.70 July 2nd, 2026

Akka.NET v1.5.70 is a maintenance release that adds a new "last-N" query offset to Akka.Persistence.Query, resolves two Akka.Streams reliability issues and improves BroadcastHub performance under high consumer counts, and fixes a consistent-hashing router bug that could wedge an entire cluster after a 32-bit hash collision.

Akka.Persistence.Query

  • Add Offset.FromEnd(int count) — "last-N events" query offset: Introduces Offset.FromEnd(int count), a new query-input-only offset type that begins a read journal query at the Nth event from the end of history rather than from the beginning. The offset is resolved at stream materialization into a concrete Sequence start position; no interface changes or wire-format changes are required. Includes opt-in TCK spec (FromEndOffsetSpec) for plugin authors.

Akka.Streams Bug Fixes

  • Fix: async enumerable source disposal ordering: Fixes a race in Source.From(IAsyncEnumerable<T>) where the underlying enumerator could be disposed before all elements were delivered to downstream, causing ObjectDisposedException on high-throughput pipelines.
  • Fix: ChannelSink drops final element on backpressure - Fixes #​8285: ChannelSink was discarding the last element in a sequence whenever the downstream Channel<T> applied backpressure during completion. The sink now correctly delivers all elements before signaling completion.

Akka.Streams Performance

Akka.Core Bug Fixes

  • Fix: consistent-hashing router could wedge cluster-wide after a 32-bit hash collision - Fixes #​8031: When two virtual nodes collided in the 32-bit consistent-hash ring (increasingly likely at high routee counts, e.g. when the ring was rebuilt after a node was downed), ConsistentHash.Create threw "An entry with the same key already exists". The consistent-hashing router swallowed the exception and returned NoRoutee for every subsequent message until a manual restart. The ring now linear-probes to the next free slot on a collision instead of throwing. This keeps the hash distribution unchanged and produces a byte-identical ring to prior versions whenever no collision occurs (safe for rolling upgrades), and also protects Akka.Cluster.Tools' ClusterReceptionist, which builds the same ring.

2 contributors since release 1.5.69

COMMITS LOC+ LOC- AUTHOR
22 2274 332 Aaron Stannard
1 97 4 beminee

To see the full set of changes in Akka.NET v1.5.70, click here.

Changes:

  • d48457256ebeaccca7f7add4f6d27b5b5a7ec931 Release Akka.NET v1.5.70 (#​8306)
  • cdec84e00ef84170cfb7e05a506d3f73c680df92 Fix #​8031: consistent-hashing router wedges cluster-wide on 32-bit hash collision (#​8294) [ #​8293, #​2, #​3, #​1 ]
  • 71e8a96013e69892ffaf5bc9b98a4a5f16bde0f2 Fix ClusterClientSpec with two-phase shutdown handshake (#​8008)
  • 797662709d64b760ed95c2d2d26191717337b4e0 Fix ClusterClientSpec flaky shutdown test with ask-pattern confirmation (#​8007)
  • 611e2eda4d241bfba8e3ded22ada805672158721 Fix racy ClusterClientSpec server restart test (#​8004)
  • 0d0c953e11b986c6b88f0cc34bddd4f588be7cfd Fix EventFilterTestBase logger-subscription race (#​7797, partial) [ #​8301 ]
  • 2c2554349926c7abe98d170f607bfb5cdeeea79d Fix race condition in TcpSpec connection failure test (#​7870)
  • 4a2098b7e09c5b6b9f9b5e7c6bb9c6da14932988 Fix race condition in TCP abort test for Linux compatibility (#​7815) [ #​7813 ]
  • 47ebf2a4d1aac0cf0b511ad2b0463d138aa2e69a Harden TcpSpec Outgoing_TCP_stream_must_handle_when_connection_actor_terminates_unexpectedly (backport of #​7827) (#​8301) [ #​8132, #​8078 ]
  • 8d1caea619c883febcee9f36a6912a7d6c9e0701 fix: make A_dispatcher_must_process_messages_one_at_a_time deterministic (#​8300)
See More
  • a8b3b2fb607c5468caaf038d50ea953c436e946d fix: prevent ephemeral-port overflow in DotNettyTransportShutdownSpec (#​8273)
  • 362c9c39567180e2b866ee13c916e8830108b590 Fix metrics specs race conditions and constructor deadlocks (#​7798)
  • e4734026614eb171fba6921a3d4d446c8c55a22c Fix race condition in DistributedPubSubRestartSpec (#​8013)
  • c82fef5b2ad7535f0a520142d282f86082343bde fix: Eliminate race condition in Log_dead_letters test (#​7950)
  • 01c01e41cb0b4ed372cc446a8046d76446960ce3 fix(cluster.tools): fix race condition in DistributedPubSubRestartSpec (#​7924)
  • 05bea51df2abd4be10eb4347a0bf7a6d7fefdfb7 Fix race condition in HubSpec.MergeHub_must_keep_working_even_if_one_of_the_producers_fail (#​7852) [ #​7712 ]
  • 5bc9fb284eb804777959cf788ad02be2d782b9e5 Fix race condition in ClusterLogSpec tests (#​7831)
  • 4078bd49f8d5d8c00f578ba11608bbf6602d9194 Release Akka.NET v1.5.70-beta2 (#​8292)
  • 8b44f140807550ca1bc8b11a665141f962c6c0b7 fix: #​8285 ChannelSink drops final element on backpressure (backport to v1.5) (#​8291) [ #​8289 ]
    ... (truncated)

1.5.70-beta2

1.5.70-beta2 June 30th, 2026

Akka.NET v1.5.70-beta2 is a beta release with a bug fix for ChannelSink dropping the final element under backpressure.

Akka.Streams Bug Fixes

2 contributors since release 1.5.70-beta1

COMMITS LOC+ LOC- AUTHOR
2 115 15 Aaron Stannard
1 97 3 beminee

Changes:

  • 4078bd49f8d5d8c00f578ba11608bbf6602d9194 Release Akka.NET v1.5.70-beta2 (#​8292)
  • 8b44f140807550ca1bc8b11a665141f962c6c0b7 fix: #​8285 ChannelSink drops final element on backpressure (backport to v1.5) (#​8291) [ #​8289 ]
  • 0bbbc62ec6ce70af0a1f7e96fc01ceecd2d7962f Release Akka.NET v1.5.70-beta1 (#​8283)
  • 938a6290978563e9bc2cb43f83f3dcace9d703c5 Add a "from the end" (last-N) query Offset to Akka.Persistence.Query (#​8245) [ #​8244 ]
  • 9b56af82ea89f5e31c223c5cc3a815f977378502 Backport PR #​8265 and PR #​8264 to v1.5
  • 3b91d55dcf7af7a1f2aeb1fba3cd411e54ec7eff fix: backport #​8278 — suppress GHSA-2m69-gcr7-jv3q in v1.5 (#​8280) [ dev/netclaw#​1444 ]

This list of changes was auto generated.

1.5.70-beta1

1.5.70-beta1 June 23rd, 2026

Akka.NET v1.5.70-beta1 is a beta release with a new Offset.FromEnd query offset for Akka.Persistence.Query, bug fixes for Akka.Streams async enumerable disposal, and a performance improvement for BroadcastHub with high consumer counts.

Akka.Persistence.Query

  • Add Offset.FromEnd(int count) — "last-N events" query offset: Introduces Offset.FromEnd(int count), a new query-input-only offset type that begins a read journal query at the Nth event from the end of history rather than from the beginning. The offset is resolved at stream materialization into a concrete Sequence start position; no interface changes or wire-format changes are required. Includes opt-in TCK spec (FromEndOffsetSpec) for plugin authors.

Akka.Streams Bug Fixes

  • Fix: async enumerable source disposal ordering: Fixes a race in Source.From(IAsyncEnumerable<T>) where the underlying enumerator could be disposed before all elements were delivered to downstream, causing ObjectDisposedException on high-throughput pipelines.

Akka.Streams Performance

1 contributor since release 1.5.69

COMMITS LOC+ LOC- AUTHOR
3 1438 180 Aaron Stannard

Changes:

  • 0bbbc62ec6ce70af0a1f7e96fc01ceecd2d7962f Release Akka.NET v1.5.70-beta1 (#​8283)
  • 938a6290978563e9bc2cb43f83f3dcace9d703c5 Add a "from the end" (last-N) query Offset to Akka.Persistence.Query (#​8245) [ #​8244 ]
  • 9b56af82ea89f5e31c223c5cc3a815f977378502 Backport PR #​8265 and PR #​8264 to v1.5
  • 3b91d55dcf7af7a1f2aeb1fba3cd411e54ec7eff fix: backport #​8278 — suppress GHSA-2m69-gcr7-jv3q in v1.5 (#​8280) [ dev/netclaw#​1444 ]

This list of changes was auto generated.

1.5.69

1.5.69 June 12th, 2026

Akka.NET v1.5.69 is a maintenance release with bug fixes for Akka.DistributedData state propagation, Akka.Core message rejection handling, and Akka.Streams tracing reliability and backpressure cancellation.

Akka.Streams

Akka.Streams Bug Fixes

  • Fix: observe discarded stream task faults - Fixes #​8241: Resolves a NullReferenceException in the GraphInterpreter when tracing across actor boundaries — the interpreter now safely handles null activity context references during stream teardown.

Akka.Core

Akka.DistributedData

1 contributor since release 1.5.68

Akka.NET v1.5.68 is a maintenance release with bug fixes for Akka.IO TCP connection handling, Akka.Streams stream materialized task faults, and Akka.TestKit xUnit 3 parallel context management.

Akka.IO Bug Fixes

  • Fix: report Tcp.CommandFailed when a scheduled connect retry throws - Fixes #​8195: On Linux, a dropped TCP connection could permanently stall the user actor — it never received Tcp.Connected or Tcp.CommandFailed because a PlatformNotSupportedException thrown during a scheduled connect retry was swallowed by the HashedWheelTimerScheduler. The retry is now scheduled as a RetryConnect self-message via IWithTimers, ensuring any exception is surfaced to the commander as Tcp.CommandFailed and the connection actor stops cleanly. The pending timer is also canceled automatically when the actor stops, removing a latent use-after-dispose bug.

Akka.Streams Bug Fixes

Akka.TestKit Bug Fixes

  • Fix: wrap outer SynchronizationContext in ActorCellKeepingSynchronizationContext - ActorCellKeepingSynchronizationContext now accepts an optional inner SynchronizationContext and delegates scheduling to it while wrapping callbacks with the cell-pinning window. This prevents test hangs in downstream consumers such as Akka.Hosting.TestKit whose async IHost lifecycle depends on xUnit v3's MaxConcurrencySyncContext scheduling.

1 contributor since release 1.5.67

COMMITS LOC+ LOC- AUTHOR
3 476 119 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.68, click here.

Changes:

  • 5183965a12bf4c3e2f076b30680e39ba31ab6f09 Release Akka.NET v1.5.69 (#​8262)
  • 7e0e8189d1b4a5942aaf0ad24729dee94a2c0cc0 Akka.Streams: add cancellation-aware Source.Queue offers (#​8248) — backport to v1.5 (#​8258)
  • 10a30fe796e0c5742fecdb042ff9832c8ee8dcac Propagate trace context across the .Async() actor boundary (#​8243) (#​8246) [ #​8241 ]
  • 8fcde23e57c0455f7b9af1e58bb3cb52ae6ca2d3 Harden flaky v1.5 unit tests (#​8249)
  • bc62882145ae19f7986172360ad56a93d1b3c8d2 Fix NullReferenceException in GraphInterpreter when tracing across actor boundaries (#​8241) (#​8242) [ #​8243 ]
  • 7d04bb487d11b6433197dea169f3c293e9563e66 fix: RejectOnType should use Rejection, not Failure (#​8231)
    ... (truncated)

1.5.68

1.5.68 May 17th, 2026

Akka.NET v1.5.68 is a maintenance release with bug fixes for Akka.IO TCP connection handling, Akka.Streams stream materialized task faults, and Akka.TestKit xUnit 3 parallel context management.

Akka.IO Bug Fixes

  • Fix: report Tcp.CommandFailed when a scheduled connect retry throws - Fixes #​8195: On Linux, a dropped TCP connection could permanently stall the user actor — it never received Tcp.Connected or Tcp.CommandFailed because a PlatformNotSupportedException thrown during a scheduled connect retry was swallowed by the HashedWheelTimerScheduler. The retry is now scheduled as a RetryConnect self-message via IWithTimers, ensuring any exception is surfaced to the commander as Tcp.CommandFailed and the connection actor stops cleanly. The pending timer is also canceled automatically when the actor stops, removing a latent use-after-dispose bug.

Akka.Streams Bug Fixes

Akka.TestKit Bug Fixes

  • Fix: wrap outer SynchronizationContext in ActorCellKeepingSynchronizationContext - ActorCellKeepingSynchronizationContext now accepts an optional inner SynchronizationContext and delegates scheduling to it while wrapping callbacks with the cell-pinning window. This prevents test hangs in downstream consumers such as Akka.Hosting.TestKit whose async IHost lifecycle depends on xUnit v3's MaxConcurrencySyncContext scheduling.

1 contributor since release 1.5.67

COMMITS LOC+ LOC- AUTHOR
3 476 119 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.68, click here.

Changes:

  • 9a00eff319f2518a7c66715ab0fbd3e0575ea879 Update RELEASE_NOTES.md for 1.5.68 release (#​8216)
  • e5afb74950d1efbd2d8f70741dd16bd50879f193 fix: report Tcp.CommandFailed when a scheduled connect retry throws (#​8195) (#​8214)
  • 2ab48f5e37d1d27b36d9fdd5ef3214bd643078a4 fix: observe discarded stream task faults (#​8212)
  • e6080542bbfb33b0f0a5908fe8e2bb45c4e56689 fix: wrap outer SynchronizationContext in ActorCellKeepingSynchronizationContext (#​8182) [ akkadotnet/Akka.Hosting#​735, akkadotnet/Akka.Hosting#​733 ]

This list of changes was auto generated.

1.5.67

1.5.67 April 25th, 2026

Akka.NET v1.5.67 is a hotfix release that reverts a breaking change to the persistence plugin contract introduced in v1.5.66.

Akka.Persistence: Revert async WriteMessagesAsync/SaveAsync dispatch (#​8163)

v1.5.66 added Task.Yield() inside AsyncWriteJournal.ExecuteBatch and SnapshotStore to move persistence plugin WriteMessagesAsync/SaveAsync calls off the actor thread. While this improved throughput in benchmarks, it silently broke the implicit contract that persistence plugins rely on — that the synchronous preamble of these methods executes in actor context.

This caused failures in plugins that:

  • Access Self inside WriteMessagesAsync (e.g. Akka.Persistence.Sql, Akka.Persistence.EventStore) — throws NotSupportedException off the actor thread
  • Use non-thread-safe collections for write tracking (e.g. Dictionary<string, Task>) — concurrent access from actor thread and thread pool causes InvalidOperationException
  • Send messages to subscribers after writes complete (e.g. Akka.Persistence.Redis) — accesses shared actor state off-thread

This release removes the Task.Yield() calls and restores the original dispatch behavior. A future version may reintroduce this optimization with a more targeted approach that preserves the plugin threading contract.

If you are on v1.5.66, upgrade to v1.5.67 immediately if you use any third-party persistence plugin.

COMMITS LOC+ LOC- AUTHOR
1 3 17 Aaron Stannard

Changes:

  • 2f057e49852313996cc196000a917b1cbaf67588 Update RELEASE_NOTES.md for 1.5.67 release
  • 46371dd4c04fc8bdd2a9eba574a5ed79e1b083b2 revert(persistence): remove Task.Yield() from AsyncWriteJournal and SnapshotStore (#​8163)

This list of changes was auto generated.

1.5.66

1.5.66 April 24th, 2026

Akka.NET v1.5.66 is a significant release with persistence bug fixes, major Akka.Streams improvements including OpenTelemetry trace propagation and non-blocking materialized values, and new serialization security controls.

Akka.Streams: OpenTelemetry Trace Context Propagation

Akka.Streams now propagates System.Diagnostics.Activity trace context end-to-end through stream graphs, including across async stage boundaries, fan-in merges, and fan-out broadcasts. This enables full distributed tracing visibility into stream pipelines when using OpenTelemetry.

For full documentation, see: https://getakka.net/articles/streams/stream-tracing.html

Akka.Streams: Non-Blocking Materialized-Value TaskCompletionSource

All TaskCompletionSource instances used for materialized values across Akka.Streams now use TaskCreationOptions.RunContinuationsAsynchronously, eliminating potential deadlocks and thread-pool starvation when continuations run synchronously on completion.

Akka.Persistence

Akka.Core

New Features

Documentation

4 contributors since release 1.5.65

COMMITS LOC+ LOC- AUTHOR
18 3962 991 Aaron Stannard
8 1627 1952 Gregorius Soedharmo
6 214 177 Matt Kotsenas
1 55 39 schdooz

To see the full set of changes in Akka.NET v1.5.66, click here.

Changes:

  • ed4bd3b22a8e936c3dc61645911a43d6a56ea651 fix(api-approval): update Net.verified.txt files to match v1.5.66 API surface [ #​8158, #​8184, #​8160 ]
  • db7d0c61403b21023ee4b1f97abe37bfabbf6090 Update RELEASE_NOTES.md for 1.5.66 release
    ... (truncated)

1.5.65

1.5.65 April 10th, 2026

Akka.NET v1.5.65 is a maintenance release with important bug fixes for Akka.Cluster.Sharding, Akka.Core configuration, and Akka.TestKit.

Akka.Cluster.Sharding Bug Fixes

  • Fix cluster sharding lease coordination bugs - Fixes three chained bugs that cause shard unavailability (~6 minutes) during rolling restarts when using distributed lease coordination (e.g. Kubernetes leases):
    • #​8146: The backup ShardStopped safety net from #​8055 fires spuriously after every successful rebalance, causing the same shard to be allocated to 2+ nodes simultaneously.
    • #​8147: AwaitingLease stashes HandOff messages indefinitely, preventing the coordinator from reclaiming stuck shards.
    • #​8148: StartShardRebalanceIfNeeded silently skips shards during graceful shutdown when a rebalance is already in progress.

Akka.Core Bug Fixes

Akka.TestKit Bug Fixes

1 contributor since release 1.5.64

COMMITS LOC+ LOC- AUTHOR
3 263 19 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.65, click here.

Changes:

  • aa5ab2083865e50fa0244c5f3730c2df066e11b8 Update RELEASE_NOTES.md for 1.5.65 release (#​8157)
  • c7a8cac586962baf1c50225cb065997669b4faf0 Fix Settings.InjectTopLevelFallback race condition bug (#​8143) (#​8156)
  • 51532eeea088d3046335c5c4245765024c0d184f Fix cluster sharding lease coordination bugs (#​8150) [ #​8146, #​8147, #​8148, #​8055, #​7500 ]
  • e8309deff24090aceb11cd5ad4386ae23e4fbcfe [1.5] Port #​8145 - Fix broken xUnit 3 explicit sender (IAsyncLifetime) (#​8149)

This list of changes was auto generated.

1.5.64

1.5.64 March 31st, 2026

Akka.NET v1.5.64 is a maintenance release focused on completing the xUnit 3 migration for TestKit packages, removing the FluentAssertions transitive dependency, and merging the Multi-Node Test Runner back into the core repository.

FluentAssertions Removal

Due to the recent commercialization of FluentAssertions, we have completed the removal of the FluentAssertions transitive dependency from all Akka.TestKit.* packages. If your tests relied on the transitive FluentAssertions dependency provided by Akka.NET TestKit packages, you will need to add a direct reference to FluentAssertions in your own project.

TestKit Package Naming Convention

As part of the ongoing xUnit 3 migration, TestKit packages now follow a naming convention: packages with the .Xunit postfix provide xUnit 3 support, while packages with the .Xunit2 postfix provide xUnit 2 support.

1 contributor since release 1.5.63

COMMITS LOC+ LOC- AUTHOR
5 17427 3874 Gregorius Soedharmo

To see the full set of changes in Akka.NET v1.5.64, click here.

Changes:

  • 45fe10f5ad8b5862e5b8cd132e1e2a4346891597 Update RELEASE_NOTES.md for 1.5.64 release (#​8142)
  • c7ef797b98e5c6cbcf27d1ad5d44585e109fedb7 [xUnit 3] Convert Akka.MultiNode.TestAdapter (#​8136) (#​8138)
  • 6e0236e87e9166f7183324c312b75625fb041084 [xUnit 3] Convert Akka.Cluster.TestKit (#​8135) (#​8137)
  • 08b27738a9fe3b6d7b6dcae0fc6a8227315bc22b [1.5] Port #​8133 - Merge MNTR back to core (#​8134) [ #​8129 ]
  • 635bb86ba9e3d931b68e47f55f38bbb899a8ae9e [1.5] Port #​8097 - Migrate solution file from .sln to .slnx format (#​8131) [ #​7982 ]
  • a7740acd1cd8d72d9f6d1db462465e8342ec5824 Remove FluentAssertions dependency from all TestKit (#​7769) (#​8130)

This list of changes was auto generated.

1.5.63

1.5.63 March 24th, 2026

Akka.NET v1.5.63 is a maintenance release that includes a critical Akka.Remote bug fix along with Akka.Streams fixes and a major migration of all test projects to xUnit 3.
All users running Akka.Remote or Akka.Cluster are strongly encouraged to upgrade.

Important Akka.Remote Bug Fix

Fixes a critical issue where a stale ACK from a previous connection could cause an irrecoverable quarantine state after a transient network disruption, permanently preventing nodes from re-establishing communication.
In affected scenarios, the only recovery option was a full restart of the quarantined node. This fix ensures that stale ACKs are correctly discarded during reconnection, allowing nodes to recover automatically after network interruptions.

2 contributors since release 1.5.62

COMMITS LOC+ LOC- AUTHOR
28 4009 1637 Gregorius Soedharmo
2 42 21 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.63, click here.

Changes:

  • c73e5ef335f250d6052fadd170efeebd7766549c Update RELEASE_NOTES.md for 1.5.63 release (#​8127)
  • d5ca5c3e95ef912efab42e8ef5ad7079e2a94b5b Remove FluentAssertions from Akka.Persistence.TCK and Akka.Persistence.TCK.Xunit2 (#​8111) (#​8125)
  • 486d28acb4fe825a2af2508ac0023399010b06e9 Extract only latest release block for GitHub release body (#​8109) (#​8126)
  • d8d649aab1beed2705e1eb5993466e7fe9ad10d1 Fix stale ACK causing irrecoverable quarantine after transient network disruption (#​8116) (#​8124)
  • 463b38790eac8068baa77eb4e68ef863f9297a63 Merge pull request #​8123 from Arkatufus/1.5/Port-#​7875-QueueSourceSpec [ #​7859 ]
  • 6bdc0d486ce04548866a90f0342f238ebcac6fee Merge branch 'v1.5' into 1.5/Port-#​7875-QueueSourceSpec
  • 125556ed1395ebf2e8d5b2291b0bcf83c173cd27 Merge pull request #​8113 from Arkatufus/1.5/xUnit3-port
  • 45e6788edd0e259439bc9e2d6a41f0fd01a73743 Fix race condition in QueueSource offer handling (#​7875)
  • 62082647850125b84b60ba73e138c263d82879ae Fix race condition in UnfoldResourceAsyncSource callback invocation (#​7859)
  • c90481f7ba4e787dd55185ad2b8cb0b0d11fe051 [xUnit 3] Convert Akka.FSharp.Tests (#​8106)
See More
  • bcbacb7c7faec7b491f3fc872ae5af83c90fdee9 [xUnit3] Convert Akka.Docs.Tests (#​8107)
  • 8f347bdaa1d32233d132250bfad9125807be4680 Fix Akka.Streams.Tests FlowSplitWhenSpec
  • f518443eefc830fc5f146e190dd00ddc194f90c0 Fix dev - 1.5 discrepancy
  • bd25edd63974a227dbd6752c22db91400a2ef761 [xUnit 3] Convert Akka.Cluster.Tests and Akka.Cluster.Metrics.Tests (#​8098)
  • 1c16bc4082205f896a5dbb00732fdf02944b1afc [xUnit 3] Convert Akka.Cluster.Tools.Tests (#​8104)
  • 16d6bd233157afeff73578d92f0fec78a2f81edc [xUnit 3] Convert Akka.Persistence.Query.InMemory.Tests (#​8102)
  • 5e547db05c2d8c72abae5ab70081a6ee0c71593c [xUnit 3] Convert Akka.Cluster.Sharding.Tests (#​8099)
  • 64a0f2e1670e5944ff90f4c04a36312b8daaa92c [xUnit 3] Convert Akka.Persistence.Tests (#​8100)
  • b84eb7c655b48a4fe623cd963647c32fb77ed1dc [xUnit 3] Convert Akka.Persistence.Query.Tests (#​8101)
  • 73ec58daef70e575f1a804fb25fbd9cebe13b226 [xUnit 3] Convert Akka.Coordination.Tests (#​8076)
    ... (truncated)

1.5.62

1.5.62 March 3rd, 2026

Akka.NET v1.5.62 is a maintenance release with an important bug fix for logging stability when using third-party logging providers.

Bug Fixes

1 contributor since release 1.5.61

COMMITS LOC+ LOC- AUTHOR
1 213 35 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.62, click here.

Changes:

  • 8223e147a39fa746bd4dff5d1bd6c3ae1e6b6710 Update RELEASE_NOTES.md for 1.5.62 release (#​8074)
  • 958ae1b56dd667f287137e89af42d83787debf54 Update RELEASE_NOTES.md for 1.5.62 release (#​8074)
  • 79b8c0d5ecdc7e58750d5306859cc61fb87bdf32 fix: catch FormatException in log message formatters to prevent third-party logger crashes (#​8070) (#​8073)

This list of changes was auto generated.

1.5.61

1.5.61 February 26th, 2026

Akka.NET v1.5.61 is a maintenance release with important bug fixes for Akka.Cluster.Sharding, Akka.Cluster, and Akka.Core.

Akka.Cluster.Sharding Bug Fixes

Akka.Cluster Bug Fixes

Bug Fixes

Improvements

4 contributors since release 1.5.60

COMMITS LOC+ LOC- AUTHOR
4 2085 27 Aaron Stannard
5 52 14 Matt Kotsenas
3 151 9 Gregorius Soedharmo
1 2 2 Apoorv Darshan

To see the full set of changes in Akka.NET v1.5.61, click here.

Changes:

  • a5b74fdc056c9129595418fc76473fbaafc90361 Update RELEASE_NOTES.md for 1.5.61 release (#​8063)
  • e5eda84a2456b46adf7b871f108097911f2e5b39 Update v1.5 branch with latest v1.6 changes (#​8062) [ #​8046, #​8052, #​8048, #​8037, #​8051, #​8054, #​8050, #​7500, #​8055, #​8056, #​8057, #​8058, #​8061 ]
  • 60530835dee3e03aa95bcdcf9d96c8ece2666133 Update API Approval list for .net 4.8
  • be798e75df2c79c683f19719aea261a534fdaf37 Fix wrong randomFactor argument type on RetrySupport.Retry() (#​8061)
  • 1acf5dce21da04c71c2660084470b03110c4af48 VectorClock inequality fixes (#​8058)
  • 84217761134a80061bd733264dbd57b7f145dfa0 fix: remove stray dollar signs from interpolated strings (#​8057)
  • 6fb236b6bf8bdbb8fd2872a1606bab694cc6dbfc fix: correct format index in 3-arg LogInfo overload (#​8056)
  • 53312a03c73d9c4138b9cd34f5b4d1d5eeca8bc2 Port Pekko ShardStopped handler + handoff safety net (#​7500) (#​8055)
  • 1b0f61a0eb9b84fbd1583bf9cedaf16449b58648 Correct self-comparison in ShardCoordinator ResendShardHost handler (#​8050)
  • c6c20805082a524ff0081a2e766f2e04ba4896d6 Fix Shard remember-entities flag mismatch causing entity restart failures (#​8054)
See More

... (truncated)

1.5.60

1.5.60 February 9th, 2026

Akka.NET v1.5.60 is a maintenance release with a bug fix and a new feature for structured logging.

Bug Fixes

New Features

  • Add logging context enrichment and scopes - Fixes issue #​7535. Adds WithContext() and BeginScope() extension methods to ILoggingAdapter for structured logging context enrichment. Context properties are automatically included in log output and forwarded to downstream logging providers like Serilog and NLog. See documentation.

    var log = Logging.GetLogger(Sys, "example");
    
    // Enrich a logger with additional structured context
    var enrichedLog = log
        .WithContext("Tenant", "foo")
        .WithContext("Partition", 12);
    
    enrichedLog.Info("Processing {Offset}", 42);
    // Output: [INFO][...][akka://sys/user/a][Tenant=foo][Partition=12] Processing 42
    
    // Create a temporary logging scope
    using (var scope = log.BeginScope("RequestId", "REQ-123"))
    {
        scope.Log.Info("Handling request {RequestId}", "REQ-123");
    }
COMMITS LOC+ LOC- AUTHOR
2 581 89 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.60, click here.

Changes:

  • 174a81d4d6a056c0fb3d55b207a4e7a8cba2c78c Update version to 1.5.60 and add release notes (#​8045)
  • dfcb680afd5b372eec549beebd8cd37ad2dfb6ad Add logging context enrichment and scopes (#​8042)
  • 717b53f74e2432db6119fc754fba0e0bc4eb72e7 Fix TestActor initialization race in parallel test startup (#​8023)

This list of changes was auto generated.

1.5.59

1.5.59 January 27th, 2026

Akka.NET v1.5.59 is a maintenance release with critical bug fixes and new features for observability.

Critical Bug Fixes

Bug Fixes

New Features

  • Add ActivityContext capture to LogEvent for trace correlation - Log events now automatically capture the current System.Diagnostics.ActivityContext when created, enabling correlation between Akka.NET logs and distributed traces in observability platforms like OpenTelemetry, Application Insights, and Jaeger.
  • Add BroadcastHub startAfterNrOfConsumers parameter - Fixes issue #​8017. Port from Apache Pekko - adds a startAfterNrOfConsumers parameter to BroadcastHub.Sink<T>() that delays broadcasting until the specified number of consumers have subscribed:
    // Wait for 3 consumers before starting to broadcast
    var sink = BroadcastHub.Sink<int>(startAfterNrOfConsumers: 3, bufferSize: 256);

Improvements

To see the full set of changes in Akka.NET v1.5.59, click here.

Changes:

  • 85889e2d49ee75a3161eff115c08809ffed1cce0 Update version to 1.5.59 in Directory.Build.props
  • bbb70873e69e4fcfc17bac8b2d018f4589a0fc3d Add release notes for Akka.NET v1.5.59 [ #​8011 ]
  • f7b77584fdd8dd791b7c75b2b8834c365e23d4d1 Update API approval files for 1.5.59 backport
  • b1d6d10591d262fb4d10e55e8a2e669be5fed4d6 Fix MergeSeen to filter Seen against current Members (#​8009) (#​8011)
  • da692cb3fbf740eea1a1fdc1bab712985e1a2472 Add ActivityContext capture to LogEvent for trace correlation (#​7995) [ #​6855 ]
  • 1ada6355729b01dd2d6698d332c318c753ff4622 Fix logger initialization continuation race in LoggingBus (#​8006)
  • 5284e131bafc373ead85d29993eb4682ac65fdca Add BroadcastHub startAfterNrOfConsumers parameter (#​8017) (#​8018) [ #​275, #​1841 ]
  • 99b00c5d24024d28997309e4571bc4f15d9ee9b5 Fix Inbox.AwaitResult throwing AggregateException instead of TimeoutException (#​8005)
  • 7e18fb8067ac959636a1f3e4fd7bce3f7879baac Fix DeferAsync async handler nesting bug in CommandAsync (#​7998) (#​7999)
  • bc85915839ffa45be04407e87f9b737a766c65f4 CoordinatedShutdown: clearly log the reason why we're exiting (#​7988)
See More
  • 55f008a2d0124b198b15281e30e1db6bbd8d8022 Fix AwaitAssertAsync logic

This list of changes was auto generated.

Commits viewable in compare view.

@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Sep 10, 2026
@dependabot dependabot Bot changed the title Bump Akka.Hosting from 1.5.55.1 to 1.5.71 Bump Akka.Hosting from 1.5.58 to 1.5.71 Sep 10, 2026
@dependabot
dependabot Bot force-pushed the dependabot/nuget/Akka.Hosting-1.5.71 branch from ceb9c04 to 2446fe1 Compare September 10, 2026 16:36
---
updated-dependencies:
- dependency-name: Akka.Hosting
  dependency-version: 1.5.71
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/nuget/Akka.Hosting-1.5.71 branch from 2446fe1 to 5686144 Compare September 11, 2026 13:40
@dependabot @github

dependabot Bot commented on behalf of github Oct 4, 2026

Copy link
Copy Markdown
Contributor Author

Looks like Akka.Hosting is updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Oct 4, 2026
@dependabot dependabot Bot changed the title Bump Akka.Hosting from 1.5.58 to 1.5.71 Bump Akka.Hosting from 1.5.58 to 1.5.72 Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment