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
- Redesign MemoryJournal and MemorySnapshotStore with channel-based drain-on-read pattern
- Ensure WriteMessagesAsync/SaveAsync is called asynchronously
Akka.Core
New Features
- Add
allow-unregistered-typesserialization setting — when set tofalse,FindSerializerForTypethrowsSerializationExceptionif no explicit serializer binding exists, rather than falling back to the default serializer. - Widen ActorTaskScheduler(ActorCell) ctor to protected internal
Documentation
- Surface serialization security guidance on remoting security page
- Replace TBD XML doc placeholders in Scheduler and Stash
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:
- ed4bd3b fix(api-approval): update Net.verified.txt files to match v1.5.66 API surface [ #8158, #8184, #8160 ]
- db7d0c6 Update RELEASE_NOTES.md for 1.5.66 release
- 30d3245 fix(persistence): redesign MemoryJournal and MemorySnapshotStore with channel-based drain-on-read pattern (#8184)
- a661450 fix: use AwaitAssert for eventually-consistent cluster state in QuickRestartSpec (#8183)
- 12c9ea0 Fix multi-node adapter output race (#8180)
- c43c9e5 Add inline comments explaining APIPA fallback behavior at both ResolveNameAsync sites
- eca0e31 Address PR review: use IEnumerable, condense tests to Theory, add debug logging
- c7388f3 fix: filter link-local (APIPA) addresses from DNS resolution results (#8178)
- f08b940 Ensure WriteMessagesAsync/SaveAsync is called asynchronously in Async… (#8163)
- 18905e4 Docs: surface serialization security guidance on the remoting security page (#8177) [ #8173 ]
See More
- 42343e2 Replace TBD XML doc placeholders in Akka.Actor.Scheduler (#3435) (#8119)
- 3959347 Akka.Streams: end-to-end OpenTelemetry trace context propagation (#8160) [ #7995 ]
- 35180bf Fix flaky ClusterShardingDeliveryGracefulShutdownSpec and convert to async TestKit APIs (#8176)
- a96656f Fix flaky RememberEntitiesFailureSpec and DotNettySslSetupSpec tests (#8175)
- 95268f2 Akka.Streams #8161: non-blocking materialized-value TCS — StreamRef + DSL stages (#8165)
- 6bdcf2b Akka.Streams #8161: non-blocking materialized-value TCS — core stage infra + Fusing (#8166)
- 5e415c1 Akka.Streams #8161: non-blocking materialized-value TCS — Sinks + Sources + Stages (#8167)
- ca59608 Akka.Streams #8161: non-blocking materialized-value TCS — non-TCP IO (#8168)
- bc00427 Akka.Streams #8161: non-blocking materialized-value TCS — TcpStages (#8169)
- 5386170 Akka.Streams #8161: non-blocking TCS — benign cleanup (KillSwitch, Source.Never) (#8170)
- f4703a9 Add allow-unregistered-types setting to disable default serializer fallback (#8173) [ #8164 ]
- e41140f Add Akka.Streams throughput benchmarks (#8172) [ #8160 ]
- fdfa2c2 Widen ActorTaskScheduler(ActorCell) ctor to protected internal (#8158)
- 2aa6d63 Fix flaky NodeChurnSpec — enable coordinated shutdown on Down (#8155)
- 400e217 Fix flaky AwaitAssertAsync tests — remove redundant WithinAsync wrapper (#8154)
- 4ffec16 Fix flaky ReceiveTimeoutSpec CI timeout (#8153)
- b27b636 Replace TBD XML doc placeholders in Akka.Actor.Stash (#3435) (#8122)
- f8cc1c8 Fix flaky ClusterLogSpec and correct XML doc references to MemberStatus.Down (#8128)
- 253a15f [xUnit 3] Fix broken Akka.Remote.TestKit.Xunit2 (#8129)
- cb89e28 Refactor SeqNo from class to readonly record struct for reduced allocations (#8115)
- bb4bd8f [xUnit 3] Convert Akka.Streams.Tests.TCK (#8110)
- 0b47175 Fix flaky PersistentClusterShardingSpec multi-node test (#8103) [ #8055 ]
- 5c9f5e6 Add missing null guards around Type.GetType (#8087) [ #1300 ]
- 91f717b Replace TBD XML doc placeholders in Tcp.cs (#3435, #647) (#8090)
- bda98fe Make TCK query specs tolerant of eventually-consistent backends (#8108)
This list of changes was auto generated.