Skip to content

Bump Akka from 1.5.46 to 1.5.67#98

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/nuget/Akka-1.5.67
Open

Bump Akka from 1.5.46 to 1.5.67#98
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/nuget/Akka-1.5.67

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 27, 2026

Updated Akka from 1.5.46 to 1.5.67.

Release notes

Sourced from Akka's releases.

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.

1.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

Bug Fixes

Performance Improvements

New Features

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)
    ... (truncated)

1.5.57

1.5.57 December 11th, 2025

Akka.NET v1.5.57 is a minor release containing significant new features for Akka.Persistence and structured/semantic logging.

Akka.Persistence Completion Callbacks and Async Handler Support

  • Persistence completion callbacks via Defer - simplified alternative - This release adds completion callback and async handler support to Persist, PersistAsync, PersistAll, and PersistAllAsync methods in Akka.Persistence. Key improvements include:
    • Async Handler Support: All persist methods now support Func<TEvent, Task> handlers for async event processing
    • Completion Callbacks: PersistAll and PersistAllAsync now accept optional completion callbacks (both sync Action and async Func<Task>) that execute after all events are persisted and handled
    • Ordering Guarantees: Completion callbacks use Defer/DeferAsync internally to maintain strict ordering guarantees
    • Zero Breaking Changes: All new APIs are additive overloads

Persistence Code Examples:

// Async handler support - process events asynchronously
Persist(new OrderPlaced(orderId), async evt =>
{
    await _orderService.ProcessOrderAsync(evt);
});

// PersistAll with completion callback - know when all events are done
PersistAll(orderEvents, evt =>
{
    _state.Apply(evt);
}, onComplete: () =>
{
    // All events persisted and handlers executed
    _logger.Info("Order batch completed");
    Sender.Tell(new BatchComplete());
});

// PersistAll with async handler AND async completion callback
PersistAll(events,
    handler: async evt => await ProcessEventAsync(evt),
    onCompleteAsync: async () =>
    {
        await NotifyCompletionAsync();
        Sender.Tell(Done.Instance);
    });

// PersistAllAsync with completion - allows commands between handlers
PersistAllAsync(largeEventBatch,
    handler: evt => _state.Apply(evt),
    onComplete: () => Sender.Tell(new BatchProcessed()));

The implementation maintains Akka.Persistence's strict ordering guarantees by using Defer/DeferAsync for completion callbacks, ensuring they execute in order even when called with empty event collections. The new async handler invocations (IAsyncHandlerInvocation) are processed via RunTask to preserve the actor's single-threaded execution model.

Native Semantic Logging Support
... (truncated)

1.5.57-beta2

1.5.57-beta2 December 2nd, 2025

Akka.NET v1.5.57-beta2 is a beta release containing significant new APIs for Akka.Persistence that add completion callbacks and async handler support.

New Features:

  • Persistence completion callbacks via Defer - simplified alternative - This release adds completion callback and async handler support to Persist, PersistAsync, PersistAll, and PersistAllAsync methods in Akka.Persistence. Key improvements include:
    • Async Handler Support: All persist methods now support Func<TEvent, Task> handlers for async event processing
    • Completion Callbacks: PersistAll and PersistAllAsync now accept optional completion callbacks (both sync Action and async Func<Task>) that execute after all events are persisted and handled
    • Ordering Guarantees: Completion callbacks use Defer/DeferAsync internally to maintain strict ordering guarantees
    • Zero Breaking Changes: All new APIs are additive overloads

Code Examples:

// Async handler support - process events asynchronously
Persist(new OrderPlaced(orderId), async evt =>
{
    await _orderService.ProcessOrderAsync(evt);
});

// PersistAll with completion callback - know when all events are done
PersistAll(orderEvents, evt =>
{
    _state.Apply(evt);
}, onComplete: () =>
{
    // All events persisted and handlers executed
    _logger.Info("Order batch completed");
    Sender.Tell(new BatchComplete());
});

// PersistAll with async handler AND async completion callback
PersistAll(events,
    handler: async evt => await ProcessEventAsync(evt),
    onCompleteAsync: async () =>
    {
        await NotifyCompletionAsync();
        Sender.Tell(Done.Instance);
    });

// PersistAllAsync with completion - allows commands between handlers
PersistAllAsync(largeEventBatch,
    handler: evt => _state.Apply(evt),
    onComplete: () => Sender.Tell(new BatchProcessed()));

Technical Details:

The implementation maintains Akka.Persistence's strict ordering guarantees by using Defer/DeferAsync for completion callbacks, ensuring they execute in order even when called with empty event collections. The new async handler invocations (IAsyncHandlerInvocation) are processed via RunTask to preserve the actor's single-threaded execution model.
... (truncated)

1.5.57-beta1

1.5.57-beta1 December 2nd, 2025

Akka.NET v1.5.57-beta1 is a beta release containing a significant new feature for structured/semantic logging.

New Features:

  • Add native semantic logging support with property extraction - Fixes issue #​7932. This release adds comprehensive structured logging support to Akka.NET with both positional ({0}) and named ({PropertyName}) message template parsing, enabling seamless integration with modern logging frameworks like Serilog, NLog, and Microsoft.Extensions.Logging. Key capabilities include:
    • New LogMessage.PropertyNames and GetProperties() APIs for property extraction
    • SemanticLogMessageFormatter as the new default formatter
    • Performance optimized with 75% allocation reduction compared to the previous implementation
    • Zero new dependencies and fully backward compatible
    • EventFilter support for semantic templates in unit tests

1 contributor since release 1.5.56

COMMITS LOC+ LOC- AUTHOR
1 2317 14 Aaron Stannard

To see the full set of changes in Akka.NET v1.5.57-beta1, click here

Changes:

  • e94b4ad80895edcfa84d8cca3343c776efe02fd3 Remove Cmd demand from Windows release pipeline
  • 5e4e5de6c56e339099a224629537ad01822d2f47 Update RELEASE_NOTES.md for 1.5.57-beta1 release (#​7956)
  • 0f239487e8924542dc92ad2725f9981a5f7cfe70 feat: Add native semantic logging support with property extraction (#​7933) (#​7955) [ #​7932 ]

This list of changes was auto generated.

1.5.56

1.5.56 November 25th, 2025

Akka.NET v1.5.56 is a patch release containing important bug fixes for Akka.Remote and Akka.Streams.

Bug Fixes:

1 contributor since release 1.5.55

COMMITS LOC+ LOC- AUTHOR
2 162 6 Aaron Stannard

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

Changes:

  • dae0a406d3b8f6d1d8f1333d58ac5de3850942bc Prepare v1.5.56 release (#​7953)
  • 9601f6293f9f2cb4d809dcdb4642626f767ad0e4 Fix: Akka.Remote should not shutdown on invalid TLS traffic (#​7939) (#​7952) [ #​7839, #​7938 ]
  • 70695d98ee5db1c734a473de8585b454bee956fc fix(streams): prevent race condition in ChannelSource on channel completion (#​7941) (#​7951) [ #​7940 ]

This list of changes was auto generated.

1.5.55

1.5.55 October 26th, 2025

Akka.NET v1.5.55 is a patch release containing important stability and security improvements for Akka.Remote.

Akka.Remote Stability Improvements:

Akka.Remote Security Improvements:

  • Custom certificate validation with single execution path - fixes mTLS asymmetry bug - Fixes issue #​7914 by introducing programmatic certificate validation helpers through the new CertificateValidation factory class. This release adds 7 new validation helper methods including ValidateChain(), ValidateHostname(), PinnedCertificate(), ValidateSubject(), ValidateIssuer(), Combine(), and ChainPlusThen(). The update also fixes an mTLS asymmetry bug where server-side hostname validation was not being applied consistently with client-side validation, all while maintaining full backward compatibility with existing HOCON-based validation.

  • Fix DotNettySslSetup being ignored when HOCON has valid SSL config - Fixes issue #​7917 where programmatic DotNettySslSetup settings were incorrectly being overridden by HOCON configuration. Programmatic configuration now correctly takes precedence over HOCON defaults as intended.

1 contributor since release 1.5.54

COMMITS LOC+ LOC- AUTHOR
3 1605 289 Aaron Stannard

Changes:

  • 2492bdb1f238d5cc902b5d5a7600941bf0837ba9 Prepare v1.5.55 release (#​7926)
  • 2dc1c579f638ff87022cc8a95d36f68793a1c1c0 Akka.Remote: harden EndpointWriter against serialization failures (#​7923) (#​7925) [ #​7922 ]
  • 98c25d1c3690c218a007049d9bc43d2ac9e605b4 feat(remote): custom certificate validation with single execution path - fixes mTLS asymmetry bug (#​7915) (#​7921) [ #​7914 ]
  • 1e8d6068cf2a94c19fbf3d951547cf460ef3e8f1 Fix DotNettySslSetup being ignored when HOCON has valid SSL config (#​7918) (#​7919) [ #​7917 ]
  • 77ba03c0353bd813c6022a1a7713fab38c4d5d4a Prepare v1.5.54 release (#​7913)

This list of changes was auto generated.

1.5.54

1.5.54 October 17th, 2025

Akka.NET v1.5.54 is a patch release containing important bug fixes for Akka.Streams and Akka.DistributedData.

Bug Fixes:

1 contributor since release 1.5.53

COMMITS LOC+ LOC- AUTHOR
2 159 20 Aaron Stannard

Changes:

  • e7bf0c7b629f897405aefaad30bab7655a1b5928 Prepare v1.5.54 release
  • eb020d050d47b22da38477c9370bde2a80d82600 Fix LWWDictionary.Delta ArgumentNullException when underlying delta is null (#​7910) (#​7911) (#​7912)
  • 53e1b3d45dc6b0d0be84c0c002caea34ed63ac6b [v1.5] Fix SourceRef.Source and SinkRef.Sink non-idempotent property bug (#​7907) [ #​7895 ]
  • e1c4b4f33b5be1605af6c4b9d723f043f8a0ef4a Prepare v1.5.53 release (#​7900)

This list of changes was auto generated.

1.5.53

1.5.53 October 9th, 2025

Akka.NET v1.5.53 is a security patch containing important fixes for TLS/SSL hostname validation and improved error diagnostics for certificate authentication issues.

Security Fixes:

  • Fix TLS hostname validation bug and add configurable validation - Fixes a critical bug where TLS clients validated against their own certificate DNS name instead of the remote server address, particularly affecting mutual TLS scenarios. This release also adds a new validate-certificate-hostname configuration option to akka.remote.dot-netty.tcp (defaults to false for backward compatibility) and introduces type-safe validation APIs through the new TlsValidationCallbacks factory class.

Improvements:

1 contributor since release 1.5.52

COMMITS LOC+ LOC- AUTHOR
2 1060 77 Aaron Stannard

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

Changes:

  • dfee7bb4db4c3382012425fb8654d3cdc1f33ad9 Prepare v1.5.53 release
  • 4eaf307cd6914f8680efd37eaba846e575d74a71 Fix TLS hostname validation bug and add configurable validation (#​7897) [ #​7893 ]
  • 8644c598b9eaf54222587f5d28a74276db47544f Improve TLS/SSL certificate error messages during handshake failures (#​7891) [ #​7890 ]

This list of changes was auto generated.

1.5.52

1.5.52 October 6th, 2025

SECURITY PATCH

Akka.NET v1.5.52 is a security patch containing crucial fixes for enforcing certificate-based authentication using mTLS enforcement. Please see https://getakka.net/articles/remoting/security.html for details on how this works.

Other fixes:

1 contributors since release 1.5.51

COMMITS LOC+ LOC- AUTHOR
3 1193 149 Aaron Stannard

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

Changes:

  • b4fbd5ffd00688e250126e0e004b95e2678532b0 added v1.5.52 release notes (#​7883)
  • 5f8e39da189c1044aa0d9a5422c1421ea47603d0 ShardedDaemonSets: randomize starting worker index (#​7857) (#​7874)
  • 1a5a82bc5ce463f5a94cba7c943b28dd2b0a1fd9 feat(remote): implement mutual TLS authentication support (#​7851) (#​7855) [ #​538 ]
  • 5994efc01eec66ec53b6bcd9a4fa2efb16b19043 Fix: Validate SSL certificate private key access at server startup (#​7847) (#​7848) [ #​538 ]

This list of changes was auto generated.

1.5.51

1.5.51 October 1st, 2025

Akka.NET v1.5.51 is a minor patch containing a remoting bug fix and add required codes to support persistence health check.

2 contributors since release 1.5.50

COMMITS LOC+ LOC- AUTHOR
1 609 31 Aaron Stannard
1 139 5 Gregorius Soedharmo

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

Changes:

  • 68dbe754043544ffe1242fb36826224e46b658a2 Update RELEASE_NOTES.md for 1.5.51 release (#​7844)
  • ba5e5f89774102cb0f321e5a75138057e5a1fd44 Akka.Persistence HealthChecks (#​7842)
  • 1ec6f9edfcb92da1c65f2ba67f2234c1e6274a8d Fix TLS handshake error handling (#​7839)

This list of changes was auto generated.

1.5.50

1.5.50 September 22nd, 2025

Akka.NET v1.5.50 is a minor patch containing a bug fix.

1 contributor since release 1.5.49

COMMITS LOC+ LOC- AUTHOR
1 187 1 Gregorius Soedharmo

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

Changes:

  • 94124ba01b0c635b3908d2cdb789c3d0ac7e5ca9 Update RELEASE_NOTES.md for 1.5.50 release (#​7837)
  • f595a8442cf6852752dced6e74d45826264a4bb3 Propagate error from DotNetty TLS handshake failure to Akka.Remote (#​7824)

This list of changes was auto generated.

1.5.49

1.5.49 September 10th, 2025

Akka.NET v1.5.49 is a minor patch containing several bug fixes.

3 contributors since release 1.5.48

COMMITS LOC+ LOC- AUTHOR
18 6011 9343 Aaron Stannard
18 3760 3880 Gregorius Soedharmo
1 1 1 dependabot[bot]

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

Changes:

  • 2f19644f2b444174639d3b7b71ac2739105a69c3 Update RELEASE_NOTES.md for 1.5.49 release (#​7818)
  • 416894534d7373d82e456c276f352b20791b6135 GraphStageLogic.ConcurrentAsyncCallback throws NRE when used with ChannelSource (#​7808)
  • 9863fdf0fc248fe3622688f79b0d2417cbee8770 fix Replicator.ReceiveUnsubscribe boolean logic (#​7806) (#​7809) [ #​7804 ]
  • dceca5004a707b7114652129b0d205f9b3cd7aa2 Fix IIS/Windows Service console race condition (#​7691) (#​7793)
  • f2c311f6433c88d821220e0ee94e43fe72b13d37 Parameterize Incrementalist base branch for Azure DevOps pipelines (#​7791)

This list of changes was auto generated.

1.5.48

1.5.48 August 21st, 2025

Akka.NET v1.5.48 is a minor patch containing stability improvement to Akka.TestKit.

2 contributors since release 1.5.47

COMMITS LOC+ LOC- AUTHOR
4 5494 5561 Aaron Stannard
2 204 66 Gregorius Soedharmo

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

Changes:

  • 1f4c6d2c8aca015f89af9b4cb8fe7358969f8fcb Update RELEASE_NOTES.md for 1.5.48 release (#​7788)
  • 0bfe2fc1061927347c8e0334833bbbe63acc4309 Port #​7772 - TestKit: synchronous TestActor start (#​7787) [ #​7770 ]
  • 1f14b74ce5cc8a016ff706e5fc82d3feaa441d6d Convert Akka.Cluster.Sharding.Tests.MultiNode to async (#​7758)
  • 31adf92f3a2aeeb9c671dce2e4d3ad6f6f841fdb Convert Akka.Cluster.Tests.MultiNode specs to async (#​7755)
  • 89e6405ff91f03f10d63348e8b315a909dc91954 Convert Akka.Cluster.Tools multi-node tests to async (#​7757)
  • f422b7982b40ca49957c874b84d33a274405f410 Update RELEASE_NOTES.md for 1.5.48 nightly (#​7760)
  • 43f3e52be584676b6fc0a9cfdf32f53a64b880e6 Convert Akka.Remote.Tests.MultiNode specs to async (#​7756)

This list of changes was auto generated.

1.5.47

1.5.47 August 12th, 2025

Akka.NET v1.5.47 is a minor patch containing several stability improvements to Akka.TestKit.

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

Changes:

  • 83e4bccd3411e911b2574b115aaad2a8447a6b69 Update RELEASE_NOTES.md for 1.5.47 release (#​7759)
  • eef6fe5214ed48a8af1a709c90b31a6010784a4f Convert SBR multi-node tests to async (#​7754)
  • 599e13bded1763bb5f5a9a09c362c54933efca90 Convert ClusterRoundRobinSpec to async (#​7752)
  • 79ec342a13de1c2e4096f142a4b908e528bb58e5 move ByteBuffer alias to a global using (#​7681)
  • f1962c6ebfc4e51c8a2ff12e4db9508c104fd52e Add async overloads to multi-node TestConductor APIs (#​7750) [ #​4146 ]
  • 673f56fb64e0e869eb6a3d3b30aa9c83e753be2d Fix excessive exception nesting when cancelling ExpectMsgAsync (#​7747) [ #​7743 ]
  • 28a80b5702449b33a08459bb50a33ccf6c03eb6b Bump actions/checkout from 4 to 5 (#​7751)
  • f9a1835d2fb3471fae279dde2daf15e9c9868202 Update RELEASE_NOTES.md for 1.5.47 nightly build (#​7749)
  • a7955cb3332243cb8c25fcb3faa0f749b82ac69d Fix race condition in AllEventsSpec by using async/await (#​7748) [ #​7711 ]
  • 1c44ee30000f5d3c93701e080131a683b25df183 add worktrees to .gitignore (#​7746)
See More
  • b09d40f087989bbe028394ff991841b3850a103a Replace Thread.Sleep with SpinWait in TestKit initialization (#​7745)
  • 62094412fba5f8115d9c4890a665af3d0fc74975 Change Delivery CreateWithFuzzing to public for testing (#​7739)
  • c1b919089727d1f24aa3538ab50c06c95aa61e10 Fix racy unit tests (#​7737)
  • 27c9410d3988c7b73df434cab60b0bbeb536f111 Fix EventStreamSpec racy unit test (#​7736)
  • a017b22f89ad75ce2ed99bb9eedd81e4ad135330 [DOCS] Update build process page (#​7735)

This list of changes was auto generated.

Commits viewable in compare view.

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

---
updated-dependencies:
- dependency-name: Akka
  dependency-version: 1.5.67
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added .NET Pull requests that update .NET code dependencies Pull requests that update a dependency file labels Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment