Akka.NET v1.5.58
1.5.58 January 8th, 2026
Akka.NET v1.5.58 is a maintenance release with important bug fixes and performance improvements.
.NET 10 Compatibility Fix
- Fix .NET 10 CLR shutdown hook breaking change - Resolves an issue where the CLR shutdown hook behavior changed in .NET 10, ensuring graceful actor system termination works correctly.
Bug Fixes
- Fix TcpListener to not stop accepting connections on transient accept errors - The
TcpListenernow properly handles transient socket accept errors without stopping to accept further connections. - Fix race condition in cluster sharding when entity constructor fails - Resolves a race condition that could occur when an entity actor's constructor throws an exception.
- Fix race condition in QueueSink causing async enumerable timeout - Fixes a race condition in
QueueSinkthat could cause timeouts when using async enumerables. - Make RemotingTerminator non-FSM to avoid racy FSM log init - Fixes potential race conditions during actor system shutdown logging.
Performance Improvements
- LogMessage GetProperties without FrozenDictionary - Improves semantic logging performance by avoiding FrozenDictionary allocations in hot paths.
- Skip parsing PropertyNames when empty Parameters - Additional logging optimization that skips unnecessary parsing when log messages have no parameters.
New Features
- Akka.TestKit: configurable expect-no-message-default value - Fixes issue #6675. You can now configure the default timeout for
ExpectNoMsg()via HOCON:akka.test.expect-no-message-default = 100ms
6 contributors since release 1.5.57
| COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 7 | 158 | 36 | Aaron Stannard | | 2 | 483 | 55 | Gregorius Soedharmo | | 2 | 11 | 41 | Rolf Kristensen | | 1 | 100 | 22 | Yaroslav Paslavskiy | | 1 | 37 | 53 | Jarkko Pöyry | | 1 | 11 | 2 | Petri Kero |
Changes:
- c51ab05820fa4e292106715b979fded4ed6dd2a2 Add release notes for Akka.NET v1.5.58 (#7985)
- 45e7f45871ae7a33ce0ce258fb45fead1a6557f0 Update API approval list
- cca19865c611ffe10704a9b4dee1df03bda0d2a8 LogMessage GetProperties without FrozenDictionary (#7968)
- b22808e3baa19f376c982d0f9655027ac1c9fc39 Akka.TestKit: configurable expect-no-message-default value #6675 (#7006)
- efd3f0da8c42e05bee050a7b9854289075fde8ed Fix .NET 10 CLR shutdown hook breaking change (#7964)
- 8027265086d36c9737a86f499201b377bc61061e Make RemotingTerminator non-FSM to avoid racy FSM log init. (#7967)
- 0e8480e18f836a5b705cc8dd7fe6bc23ee6c9880 Fix timing race in BackpressureTimeout_must_succeed_if_subscriber_demand_arrives test (#7972)
- 8aad0c3c9d45819ed6067bfa748151181ff72751 Fix race condition in QueueSink causing async enumerable timeout (#7973)
- feb1102edf71b694df9bd3b4f08e0fd063a8e265 Fix race condition in multi-producer sharding delivery test (#7975)
- 25cef789d726dc8cd012a85c0b5fcbef9d26b236 Fix WithinAsync timeout not propagating to EventFilter across async boundaries (#7977)
See More
- 2085bd656b4f669a35470345e0f93317390b4b10 fix(cluster.tools): fix race condition in DistributedPubSubRestartSpec actor creation (#7980)
- c9a0e91e62a3e4df3ff3bfc2a8ad390b2f57809b Fix race condition in cluster sharding when entity constructor fails (#7981) [ #7979 ]
- 0b43b2631bfe95c5cd53b09b924f0c96afb70ba3 Fix
TcpListenerto not stop from accepting further connections on transient accept errors (#7970) - cbc6ee2213b15409f79702807d1fabe4ba78d4b3 Skip parsing PropertyNames when empty Parameters (#7960)
This list of changes was auto generated.