Skip to content

Releases: akkadotnet/akka.net

Akka.NET v1.5.28

04 Sep 18:38
3df80f2
Compare
Choose a tag to compare

1.5.28 September 5th 2024

Akka.NET v1.5.28 is a release with several bug fixes and improvements.

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

2 contributors since release 1.5.27.1

COMMITS LOC+ LOC- AUTHOR
10 5318 5153 Aaron Stannard
8 1568 158 Gregorius Soedharmo

Changes:

  • 3df80f2 Update RELEASE_NOTES.md for 1.5.28 release (#7336)
  • cfd25ef Persistence.TCK: Add SnapshotStore SaveSnapshot spec (#7335)
  • cb11702 Fix SaveSnapshot timestamp metadata (#7334)
  • e8beec4 Fix StreamRefSerializer NRE bug (#7333)
  • b47b922 Move ClusterClientDiscovery docs to H1 (#7331)
  • df33c31 Update RELEASE_NOTES.md for 1.5.28-beta1 release (#7329)
  • 4856230 Fix missing AlsoTo public APIs (#7328)
  • 2502ea9 Akka.Persistence.Sql.Common: harden SqlJournal and SqlSnapshotStore against initialization failures (#7325)
  • ae942d0 Don't enable durable DData for RE unless DData is storage engine (#7327) [ #7326 ]
  • 19162bd Improve Akka.Persistence.TestKit (#7324)
See More
  • 355439e TestKit and Akka.Remote.TestKit: diagnostic improvements and code modernization (#7321)
  • 801ce60 rename ".NET 7" build tasks to just ".NET" (#7323)
  • d1f481f fixed ClusterClientDiscoverySpec (#7322)
  • 5e2bd0e chore: added 2024 headers (#7319)
  • 96c6a60 fixed Akka.Persistence.Tck snapshot load specs (#7320)
  • d6a8063 Akka.Persistence: Made DateTime.UtcNow the default timestamp for SnapshotMetdata (#7313)
  • 5e7be3a Fix ClusterSingletonProxy fails to reacquire singleton actor (#7315)
  • da3ded3 Akka.Actor: make ITimeProvider injectable into consuming classes (#7314)
  • acc8bd3 Update ClusterClientDiscovery Akka.Hosting documentation (#7310)
  • 177a7c9 Akka.Cluster.Tools.Singleton: log the correct oldest member on transition (#7309)

This list of changes was auto generated.

Akka.NET v1.5.28-beta1

23 Aug 17:57
df33c31
Compare
Choose a tag to compare
Pre-release

1.5.28-beta1 August 23rd 2024

Akka.NET v1.5.28-beta1 is a patch beta release with several bug fixes and improvements.

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

COMMITS LOC+ LOC- AUTHOR
10 5318 5153 Aaron Stannard
4 1440 115 Gregorius Soedharmo

Changes:

  • df33c31 Update RELEASE_NOTES.md for 1.5.28-beta1 release (#7329)
  • 4856230 Fix missing AlsoTo public APIs (#7328)
  • 2502ea9 Akka.Persistence.Sql.Common: harden SqlJournal and SqlSnapshotStore against initialization failures (#7325)
  • ae942d0 Don't enable durable DData for RE unless DData is storage engine (#7327) [ #7326 ]
  • 19162bd Improve Akka.Persistence.TestKit (#7324)
  • 355439e TestKit and Akka.Remote.TestKit: diagnostic improvements and code modernization (#7321)
  • 801ce60 rename ".NET 7" build tasks to just ".NET" (#7323)
  • d1f481f fixed ClusterClientDiscoverySpec (#7322)
  • 5e2bd0e chore: added 2024 headers (#7319)
  • 96c6a60 fixed Akka.Persistence.Tck snapshot load specs (#7320)
See More
  • d6a8063 Akka.Persistence: Made DateTime.UtcNow the default timestamp for SnapshotMetdata (#7313)
  • 5e7be3a Fix ClusterSingletonProxy fails to reacquire singleton actor (#7315)
  • da3ded3 Akka.Actor: make ITimeProvider injectable into consuming classes (#7314)
  • acc8bd3 Update ClusterClientDiscovery Akka.Hosting documentation (#7310)
  • 177a7c9 Akka.Cluster.Tools.Singleton: log the correct oldest member on transition (#7309)

This list of changes was auto generated.

Akka.NET v1.5.27.1

26 Jul 00:14
55827b7
Compare
Choose a tag to compare

1.5.27.1 July 25th 2024

Akka.NET v1.5.27.1 is a minor patch to fix a race condition between the logging and remoting system.

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

COMMITS LOC+ LOC- AUTHOR
1 4 0 Aaron Stannard
1 10 3 Gregorius Soedharmo

Changes:

  • 55827b7 Update RELEASE_NOTES.md for 1.5.27.1 (#7306)
  • 3e2d49c Fix remoting logging DefaultAddress race condition (#7305)
  • 3eacb6c Added v1.5.28 placeholder

This list of changes was auto generated.

Akka.NET v1.5.27

25 Jul 19:35
b34d645
Compare
Choose a tag to compare

1.5.27 July 25th 2024

Akka.NET v1.5.27 is a significant release that includes new features, mission-critical bug fixes, and some performance improvements.

Major Akka.Cluster.Sharding and Akka.Cluster.Tools.Singleton Bug Fixes

In all prior versions of Akka.NET, there are two high impact distributed systems bugs:

  1. Akka.Cluster.Tools.Singleton: singleton moves earlier than expected - as soon as new node joins
  2. Akka.Cluster.Sharding: duplicate shards / entities

As we discovered during the course of our pains-taking bug investigation, these were, in fact, the same issue:

  1. The ClusterSingletonManager is supposed to always belong on the oldest node of a given role type, but an original design error from the time Akka.Cluster.Tools was first introduced to Akka.NET meant that nodes were always sorted in descending order of UpNumber. This is backwards: nodes should always be sorted in ascending order of UpNumber - this means that the oldest possible node is always at the front of the "who is oldest?" list held by the ClusterSingletonManager. This explains why the singleton could appear to move early during deployments and restarts.
  2. The ClusterSingletonManager was suspectible to a race condition where if nodes were shutdown and restarted with the same address in under 20 seconds, the default "down removal margin" used by the ClusterSingletonManager to tolerate dirty exits, it would be possible after multiple successive, fast, restarts for multiple instances of the singleton to be alive at the same time (for a short period.)

Both of these varieties of problem, duplicate singletons, is what lead to duplicate shards.

As a result we've made the following fixes:

Akka.Discovery and ClusterClient Discovery Support

In Akka.NET v1.5.27 we've added support for using Akka.Cluster.Tools.ClusterClient alongside with Akka.Discovery plugins to automatically discover the initial contacts you need for ClusterClientReceptionist instances in your environment.

You can read the documentation for how this works here: https://getakka.net/articles/clustering/cluster-client.html#contact-auto-discovery-using-akkadiscovery

Related PRs and issues:

Other Bug Fixes and Improvements

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

COMMITS LOC+ LOC- AUTHOR
15 835 1001 Aaron Stannard
12 1123 207 Gregorius Soedharmo

Changes:

  • b34d645 V1.5.27 release notes (#7303)
  • 6a81fd3 Akka.Cluster.Tools: deprecate ClustersSingletonManagerSettings.ConsiderAppVersion (#7302)
  • 7180810 Akka.Cluster.Tools: fix mutability and oldest state bugs with ClusterSingletonManager (#7298)
  • 6b6afe4 Add AlsoTo downstream failure propagation support (#7301)
  • 7811504 Fix ActorMaterializerImpl null LogSource (#7300)
  • f2e81c5 Akka.Cluster.Tools.Singleton / Akka.Cluster.Sharding: fix duplicate shards caused by incorrect ClusterSingletonManager HandOver (#7297) [ #6973, #6793, #7196 ]
  • f4501e8 migrated ClusterSingletonManager to switch statements (#7296)
  • 9eb670a ShardCoordinator: misc cleanup (#7295)
  • a6daed7 remove unused reference.confg from DistributedData.LightningDb (#7294)
  • d3b3613 DData: if lmdb.dir is null or empty, log a warning and set to default (#7292)
See More
  • 50ef7b9 Akka.Cluster: added sanity check for Member.AgeComparer (#7291) [ #6973 ]
  • f7f9078 Akka.Cluster.Sharding: enable prefer-oldest by default on Replicator (#7290)
  • 4b7cff3 Akka.Cluster.Sharding: added tests for DData consistency settings (#7288)
  • 5176dfb Akka.Cluster: improve gossip serialization performance (#7281)
  • 9981d83 Fix busted Windows Build stage (#7283)
  • 7947c1f Optimize cluster message serializer benchmarks (#7282)
  • 7fb0c2b Add ActorBase lifecycle flow unit tests (#7128)
  • 8843a21 Akka.Cluster: ClusterMessageSerializer benchmarks (#7280)
  • 9f5de84 Akka.Cluster: harden ignored gossip messages (#7278)
  • 8f200ef Update RELEASE_NOTES.md for 1.5.27-beta2 release (#7277)
  • 03a469f Fix ClusterClientDiscovery, missing port name in lookup (#7276)
  • 67e7754 Update RELEASE_NOTES.md for 1.5.27-beta1 release (#7275)
  • e4e4ca4 Improve ClusterClientDiscovery feature (#7274)
  • 7f37465 Fix possible problems with ClusterClient Discovery (#7270)
  • dab2a5e Update failure message syntax (#7273)
  • 000d8fe Fix missing ClusterClientSettings.VerboseLogging in Copy method (#7272)
  • 399c548 Update ConfigServiceDiscovery to support multi-config (#7271)
  • 7136919 Added v1.5.27 placeholder
  • f797f8d Update RELEASE_NOTES.md for 1.5.26 release (#7268)

This list of changes was auto generated.

Akka.NET v1.5.27-beta2

03 Jul 21:16
8f200ef
Compare
Choose a tag to compare
Pre-release

1.5.27-beta2 July 3rd 2024

COMMITS LOC+ LOC- AUTHOR
1 1 1 Gregorius Soedharmo

1.5.27-beta1 July 3rd 2024

Akka.NET v1.5.27-beta1 improves upon the new ClusterClient initial contact auto-discovery feature to make it more robust in implementation.

COMMITS LOC+ LOC- AUTHOR
5 422 183 Gregorius Soedharmo
1 4 0 Aaron Stannard
1 1 1 Sean Killeen

Changes:

  • 8f200ef Update RELEASE_NOTES.md for 1.5.27-beta2 release (#7277)
  • 03a469f Fix ClusterClientDiscovery, missing port name in lookup (#7276)
  • 67e7754 Update RELEASE_NOTES.md for 1.5.27-beta1 release (#7275)
  • e4e4ca4 Improve ClusterClientDiscovery feature (#7274)
  • 7f37465 Fix possible problems with ClusterClient Discovery (#7270)
  • dab2a5e Update failure message syntax (#7273)
  • 000d8fe Fix missing ClusterClientSettings.VerboseLogging in Copy method (#7272)
  • 399c548 Update ConfigServiceDiscovery to support multi-config (#7271)
  • 7136919 Added v1.5.27 placeholder
  • f797f8d Update RELEASE_NOTES.md for 1.5.26 release (#7268)

This list of changes was auto generated.

Akka.NET v1.5.27-beta1

03 Jul 15:26
67e7754
Compare
Choose a tag to compare
Pre-release

1.5.27-beta1 July 3rd 2024

Akka.NET v1.5.27-beta1 improves upon the new ClusterClient initial contact auto-discovery feature to make it more robust in implementation.

COMMITS LOC+ LOC- AUTHOR
5 422 183 Gregorius Soedharmo
1 4 0 Aaron Stannard
1 1 1 Sean Killeen

Changes:

  • 67e7754 Update RELEASE_NOTES.md for 1.5.27-beta1 release (#7275)
  • e4e4ca4 Improve ClusterClientDiscovery feature (#7274)
  • 7f37465 Fix possible problems with ClusterClient Discovery (#7270)
  • dab2a5e Update failure message syntax (#7273)
  • 000d8fe Fix missing ClusterClientSettings.VerboseLogging in Copy method (#7272)
  • 399c548 Update ConfigServiceDiscovery to support multi-config (#7271)
  • 7136919 Added v1.5.27 placeholder
  • f797f8d Update RELEASE_NOTES.md for 1.5.26 release (#7268)

This list of changes was auto generated.

Akka.NET v1.5.26

27 Jun 15:28
Compare
Choose a tag to compare

1.5.26 June 27th 2024

Akka.NET v1.5.26 introduces a new Akka.Cluster.Tools feature and a logging improvement.

Preliminary ClusterClient Initial Contact Auto-Discovery Feature

To use this feature, you will need to use Akka.Discovery implementation (Kubernetes or Azure) version 1.5.26-beta1 or higher

This feature allows ClusterClient to use Akka.Discovery to automatically query for cluster client receptionists inside a dynamic environment such as Kubernetes.

The preliminary documentation for this feature can be read here

You can see the full set of changes for Akka.NET v1.5.26 here.

COMMITS LOC+ LOC- AUTHOR
3 45 11 Aaron Stannard
2 945 15 Gregorius Soedharmo

Changes:

  • c8fc3d4 Add notes to cluster client bit
  • 8d60093 Update RELEASE_NOTES.md for 1.5.26 release
  • 1cce480 Update ClusterClient documentation to include the new discovery feature (#7265)
  • 0fd7ca0 Improve traceability of ITimerMsg (#7262)
  • 8fd8c62 Add ClusterClient initial contact discovery feature (#7261)
  • 299fedf made examples, benchmarks, and internal libraries unpackable (#7263)
  • 851a72b Added v1.5.26 placeholder (#7258)

This list of changes was auto generated.

Akka.NET v1.5.25

14 Jun 18:25
31222aa
Compare
Choose a tag to compare

1.5.25 June 14th 2024

Akka.NET v1.5.25 includes a critical bug fix for logging and some other minor fixes.

Logging Errors Introduced in v1.5.21

Versions [v1.5.21,v1.5.24] are all affected by Akka.Logging: v1.5.21 appears to have truncated log source, timestamps, etc from all log messages - this was a bug introduced when we added the log-filtering feature we shipped in Akka.NET v1.5.21.

This issue has been resolved in v1.5.25 and we've added regression tests to ensure that the log format gets version-checked just like our APIs going forward.

Other fixes:

You can see the full set of changes for Akka.NET v1.5.25 here.

COMMITS LOC+ LOC- AUTHOR
6 347 44 Aaron Stannard
2 1197 1015 Gregorius Soedharmo

Changes:

  • 31222aa added v1.5.25 release notes (#7257)
  • be4ed4d Akka.Event: restore missing log data (#7256) [ #7255 ]
  • 6bcab70 Akka.Router: automatically unpack IScheduledTellMsg when being handled through a router (#7249) [ #7247 ]
  • 487218c Modernize Cluster.Client code (#7251)
  • 260aee9 add more appropriate settings for Ask vs. Tell benchmarking in BDN (#7248)
  • a14bb84 Fix Akka.Discovery ServiceDiscovery instantiation (#7245)
  • 3bd219e [Benchmarks] Add Ask vs. Tell memory pressure baseline (#7244)
  • b5a133a RemotePingPong: don't let permission issues crash benchmark (#7241)
  • 12619cb Added v1.5.25 (#7240)

This list of changes was auto generated.

Akka.NET v1.5.24

07 Jun 17:42
0522779
Compare
Choose a tag to compare

1.5.24 June 7th 2024

Akka.NET v1.5.24 is a patch release for Akka.NET that addresses CVE-2018-8292 and also adds a quality of life improvement to IActorRef serialization.

COMMITS LOC+ LOC- AUTHOR
3 35 22 Gregorius Soedharmo
1 26 51 Mike Perrin
1 15 2 Aaron Stannard

You can see the full set of changes for Akka.NET v1.5.24 here.

This list of changes was auto generated.

Akka.NET v1.5.23

06 Jun 14:28
2dfbecf
Compare
Choose a tag to compare

1.5.23 June 4th 2024

COMMITS LOC+ LOC- AUTHOR
2 299 44 Aaron Stannard
1 47 49 Gregorius Soedharmo
1 1 1 Hassan Abu Bakar

You can see the full set of changes for Akka.NET v1.5.23 here.

Changes:

This list of changes was auto generated.