Placeholder for nightly build
- Core: Add
ILoggingAdaptercontext enrichment, explicit scopes, and bracketed context output in StandardOutLogger and Xunit logger - Akka.Streams: Add cancellation-aware
Source.Queueoffers so backpressured pending offers can be canceled without later emitting the canceled element. - Akka.Streams: Fixed
Source.From(IAsyncEnumerable<T>)cleanup so cancellation waits for any in-flightMoveNextAsync()before disposing the async enumerator and its cancellation token source. - Build: Bump
MessagePackto 3.1.7 to address CVE-2026-48109 (LZ4 decompression out-of-bounds read) - Core: Fix consistent-hashing router could wedge cluster-wide after a 32-bit hash collision - Fixes #8031 (forward-port of #8294): 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.Createthrew"An entry with the same key already exists". The consistent-hashing router swallowed the exception and returnedNoRouteefor every subsequent message until a manual restart. The ring now re-hashes and 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 protectsAkka.Cluster.Tools'ClusterReceptionist, which builds the same ring.
Akka.NET v1.5.47 is a minor patch containing several stability improvements to Akka.TestKit.
- TestKit: Replace Thread.Sleep with SpinWait
- TestKit: Fix excessive AggregateException nesting when cancelling ExpectMessageAsync
- TestKit: Add async overload to multi-node TestConductor API
- Core: Move ByteBuffer alias to global using
4 contributors since release 1.5.46
| COMMITS | LOC+ | LOC- | AUTHOR |
|---|---|---|---|
| 7 | 4185 | 3156 | Aaron Stannard |
| 5 | 352 | 142 | Gregorius Soedharmo |
| 1 | 2 | 2 | dependabot[bot] |
| 1 | 13 | 22 | Simon Cropp |
To see the full set of changes in Akka.NET v1.5.47, click here
Akka.NET v1.5.46 is a minor patch containing a fix for the Akka.IO.Dns extension.
3 contributors since release 1.5.45
| COMMITS | LOC+ | LOC- | AUTHOR |
|---|---|---|---|
| 1 | 4 | 0 | Aaron Stannard |
| 1 | 1 | 1 | Pavel Anpin |
| 1 | 1 | 0 | Gregorius Soedharmo |
To see the full set of changes in Akka.NET v1.5.46, click here
Akka.NET v1.5.45 is a minor patch containing bug fixes for Core Akka and Akka.Cluster.Sharding plugin.
- Core: Code modernization, use deconstructor for variable swapping
- Sharding: Fix unclean
ShardingConsumerControllerImplshutdown - Core: Convert
FailuretoExceptionforAsk<object> - Core: Fix
Settings.InjectTopLevelFallbackrace condition - Sharding: Make remembered entities honor supervision strategy decisions
Supervision Strategy For Sharding Remembered Entities
- We've added a
SupervisorStrategyproperty toClusterShardingSettings. You can use any type ofSupervisionStrategy, but it is recommended that you inheritShardSupervisionStrategyif you're making your own custom supervision strategy. - Remembered shard entities will now honor
SupervisionStrategydecisions and stops remembered entities if theSupervisionStrategy.Deciderreturned aDirective.Stopor if there is a maximum restart retry limitation.
4 contributors since release 1.5.44
| COMMITS | LOC+ | LOC- | AUTHOR |
|---|---|---|---|
| 10 | 823 | 108 | Gregorius Soedharmo |
| 1 | 7 | 13 | Simon Cropp |
| 1 | 60 | 18 | ondravondra |
| 1 | 1 | 0 | Aaron Stannard |
To see the full set of changes in Akka.NET v1.5.45, click here
Akka.NET v1.5.44 is a minor patch that contains a bug fix to the Akka.Persistence plugin.
3 contributors since release 1.5.43
| COMMITS | LOC+ | LOC- | AUTHOR |
|---|---|---|---|
| 10 | 438 | 323 | Gregorius Soedharmo |
| 2 | 4 | 2015 | Aaron Stannard |
| 1 | 47 | 43 | Simon Cropp |
To see the full set of changes in Akka.NET v1.5.44, click here.
Akka.NET v1.5.43 contains several bug fixes and also adds new quality of life features.
- Cluster.Tools: Fix PublishWithAck response message type
- Sharding: Allows sharding delivery consumer to passivate self
- TestKit: Fix CallingThreadDispatcher async context switching
- Persistence.Query: Add non-generic
ReadJournalForAPI method - Core: Simplify null checks
- Core: Propagate CoordinatedShutdown reason to application exit code
- Core: Bump AkkaAnalyzerVersion to 0.3.3
- Core: Improve IScheduledTellMsg DeadLetter log message
New Akka.Analyzer Rules
We've added three new Akka.Analyzer rules, AK2003, AK2004, and AK2005. All of them addresses the same Akka anti-pattern where a void async delegate is being passed into the ReceiveActor.Receive<T>() (AK2003), IDslActor.Receive<T>() (AK2004), and ReceivePersistentActor.Command<T>() (AK2005) message handlers.
Here are the documentation for each new rules:
4 contributors since release 1.5.42
| COMMITS | LOC+ | LOC- | AUTHOR |
|---|---|---|---|
| 7 | 435 | 19 | Gregorius Soedharmo |
| 2 | 26 | 23 | Mark Dinh |
| 1 | 49 | 136 | Simon Cropp |
| 1 | 4 | 0 | Aaron Stannard |
To see the full set of changes in Akka.NET v1.5.43, click here.