Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Dec 12, 2025

Updated Akka.Cluster.Sharding from 1.5.54 to 1.5.57.

Release notes

Sourced from Akka.Cluster.Sharding's releases.

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.

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 merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @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.Cluster.Sharding
  dependency-version: 1.5.57
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added .NET Pull requests that update .net code dependencies Pull requests that update a dependency file labels Dec 12, 2025
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@Aaronontheweb Aaronontheweb enabled auto-merge (squash) January 6, 2026 16:50
@Aaronontheweb
Copy link
Member

@dependabot rebase

@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jan 6, 2026

Looks like Akka.Cluster.Sharding is no longer a dependency, so this is no longer needed.

@dependabot dependabot bot closed this Jan 6, 2026
auto-merge was automatically disabled January 6, 2026 16:52

Pull request was closed

@dependabot dependabot bot deleted the dependabot/nuget/src/Akka.Cluster.Sharding-1.5.57 branch January 6, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment