Skip to content

Conversation

Arkatufus
Copy link
Contributor

@Arkatufus Arkatufus commented May 21, 2025

1.5.42 May 21st, 2025

Akka.NET v1.5.42 contains several bug fixes and also adds new quality of life features to Akka.IO.Tcp, Akka.Persistence, Akka.Pattern, and Akka.Cluster.Tools.DistributedPubSub.

Warning

This release contains several public API breaking changes to Akka.IO.Tcp and Akka.Persistence

Akka.Pattern.CircuitBreaker

Backward compatible API changes:

  • New .WithCircuitBreaker() APIs were added that changes the protected function delegate to accept a new CancellationToken argument.
  • Old .WithCircuitBreaker() APIs were marked as obsolete.

Akka.Cluster.Tools.DistributedPubSub

The documentation for the new PublishWithAck feature can be read here

Backward compatible API changes:

  • There is a new DistributedPubSubSettings constructor that leverages the new PublishWithAck feature. The old constructor is marked as obsolete.

Akka.Persistence

The documentation for the new supervision strategy for journal and snapshot-store feature can be read here

Breaking API changes:

Due to changes in CircuitBreaker.WithCircuitBreaker() APIs, several Akka.Persistence journal and snapshot-store were changed in a breaking manner. You will need to consider these changes if you have your own specific Akka.Persistence plugin implementation and needed to upgrade to this version of Akka.

  • AsyncWriteJournal
    • DeleteMessagesToAsync()
    • ReadHighestSequenceNrAsync()
    • WriteMessagesAsync
  • SnapshotStore
    • Both DeleteAsync() methods
    • LoadAsync()
    • SaveAsync()

Akka.IO.Tcp

The Akka.IO.Tcp has been redesigned to improve its reliability, visibility, and performance. This, unfortunately, requires some breaking changes to be introduced into the code base.

New features:

  • The TcpListener actor now accepts a new SubscribeToTcpListenerStats message. Subscribers will receive regular TcpListenerStatistics metrics report from the TcpListener.
  • The new UnsubscribeFromTcpListenerStats message can be used to unsubscribe from the TcpListener

Backward compatible changes:

  • The Akka.IO.Tcp.Bind command now contain a new settable TcpSettings property.
  • The Akka.IO.Tcp.Connect command now contain a new settable TcpSettings property.
  • The Akka.IO.TcpSettings class have several of its unused properties deprecated and/or changed:
    • The ReceivedMessageSizeLimit property has been deprecated, replaced with the new MaxFrameSizeBytes property.
    • New ReceiveBufferSize property added.
    • New SendBufferSize property added.

Breaking API changes:

  • Akka.IO.Tcp.Instance static field has been removed.
  • Akka.IO.TcpExt.BufferPool static property has been removed.

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

5 contributors since release 1.5.41

COMMITS LOC+ LOC- AUTHOR
15 3480 2864 Aaron Stannard
5 1711 713 Gregorius Soedharmo
4 72 100 Simon Cropp
1 172 51 Arjen Smits
1 16 60 JuYoung Kim

@Arkatufus
Copy link
Contributor Author

Arkatufus commented May 21, 2025

Still need to complete the breaking change notes

@Arkatufus Arkatufus marked this pull request as ready for review May 21, 2025 17:02
@Aaronontheweb Aaronontheweb merged commit ca65f3c into akkadotnet:dev May 21, 2025
10 checks passed
@Arkatufus Arkatufus deleted the release/Update-RELEASE_NOTES-for-1.5.42 branch May 21, 2025 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants