Releases: akkadotnet/akka.net
Akka.NET v1.5.35
1.5.35 January 13th 2025
Akka.NET v1.5.35 is a maintenance release that addresses several bugs and added several improvements.
- Persistence: Add per-plugin recovery permiter actor
- Persistence: Add support for optional snapshots
- TestKit: Improve XUnit assertion message formatting
- Sharding: Add
Broadcast
message support to sharded daemon process - Core: Bump Microsoft.Extensions and BCL library version to 8.0.*
- DData: Fix 8.0 BCL library causing DeltaPropagationSelector to throw IndexOutOfBoundException
- Sharding: Fix Shard fails to unwrap buffered messages
- Core: Deprecate AddOrSet utility method
To see the full set of changes in Akka.NET v1.5.35, click here.
5 contributors since release 1.5.34
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
10 | 431 | 95 | Gregorius Soedharmo |
7 | 4535 | 4515 | Aaron Stannard |
1 | 90 | 6 | Chris Hoare |
1 | 5 | 5 | Simon Cropp |
1 | 173 | 34 | Milan Gardian |
Changes:
- b160721 Update RELEASE_NOTES.md for 1.5.35 release (#7464)
- 39cce0a obsolete AddOrSet (#7408)
- f362af5 Trim dead codes
- 23976eb Update API approval list
- 388ed9d Fix broken unit test
- 1cdf9da Add IShardingBufferMessageAdapter.UnApply
- 4b85133 Improve code
- 8073bec Fix code error
- 6ffd304 Add reproduction test
- 5c7c967 DData: Fix BCL update causing DeltaPropagationSelector throwing IndexOutOfBoundException (#7462)
See More
- 94bcc66 upgrade MSFT.EXT and BCL libraries to 8.0+ (#7460)
- 81b94f4 Remove more F# duplicate package warnings
- 77d0aa2 remove duplicate package reference on Akka.FSharp
- 1f7ffa7 Added 2025 copyright headers (#7454)
- 9c64ecb reorganized dependencies (#7453)
- 51ad038 Add
Broadcast
message support toShardedDaemonProcess
(#7451) - 80f73bc Added
ShardingEnvelope
checks forShardingMessageAdapter
(#7449) - 468546c Add support for optional snapshots (#7444)
- 26383ec Safer formatting of Xunit assertion messages (#7446)
- 848cd4c Add per-plugin recovery permitter actors (#7448)
- ccae284 Update RELEASE_NOTES.md
This list of changes was auto generated.
Akka.NET v1.5.34
1.5.34 January 7th 2025
- TestKit: Fix DelegatingSupervisorStrategy KeyNotFoundException
- Core: Improve actor telemetry type name override
- Sharding: Add
IShardingBufferMessageAdapter
to support tracing over sharding
To see the full set of changes in Akka.NET v1.5.34, click here.
3 contributors since release 1.5.33
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
2 | 311 | 16 | Gregorius Soedharmo |
2 | 17 | 9 | Aaron Stannard |
1 | 1 | 1 | jasonmar |
Changes:
- 90c577e Update RELEASE_NOTES.md for 1.5.34 release (#7443)
- 497315a Update Directory.Build.props
- e425975 Add
IShardingMessageAdapter
(#7441) - 08dd5bd Update Akka.FSharp README Interop with Task Parallel Library Example (#7440)
- 90e60c6 Improve actor telemetry types (#7439)
- 400e7cb close #7437 - fix KeyNotFoundException in DelegatingSupervisorStrategy (#7438)
- 507cff4 Update RELEASE_NOTES.md
This list of changes was auto generated.
Akka.NET v1.5.33
1.5.33 December 23rd 2024
- Bump Akka.Analyzers from 0.2.5 to 0.3.0
- Core: Throw better error message when
Stash()
stashes null message - Core: Fix
IWrappedMessage
andIDeadLetterSuppression
handling - Core: Make actor start/stop telemetry descriptors overridable
- Core: Fix
Result.FromTask
edge case handling - Remote: HandleStashedInbound performance improvement
- TestKit: Make startup timeout configurable
- TestKit: Make InternalTestActor override its SupervisionStrategy
- Streams: Add custom log level argument to
Log
stage
To see the full set of changes in Akka.NET v1.5.33, click here.
4 contributors since release 1.5.32
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
9 | 513 | 117 | Aaron Stannard |
3 | 299 | 49 | Gregorius Soedharmo |
1 | 32 | 1 | Yan Pitangui |
1 | 3 | 4 | Simon Cropp |
Changes:
- dadabd0 Update RELEASE_NOTES.md for 1.5.33 release (#7436)
- 8bbffcd Fix
Akka.Util.Result
edge case (#7433) - 0a01453 Make actor start / stop telemetry descriptors overrideable (#7434)
- 61bdebf Harden
LogFormatSpec
(#7429) [ #7421 ] - f2ec912 Benchmark to measure
ShardingCoordinator.CoordinatorState
serialization over DData (#7428) - 0cf567a Fixed:
IWrappedMessage
+IDeadLetterSuppression
handling (#7414) - 96645a5 Make InternalTestActor override its SupervisionStrategy (#7221)
- 7e85cac Throw clearer error message during
Stash()
innull
message cases (#7425) [ #7938 ] - 487bb85 Add custom log level to stream Log stage (#7424)
- 1b2e3ab Make TestKit startup timeouts configurable (#7423) [ #7259 ]
Akka.NET v1.5.32
1.5.32 December 4th 2024
Akka.NET v1.5.32 is a maintenance release that addresses several bugs.
- Cluster.Tools: Deprecate ClusterSingleton.Init() method
- Remote: Ensure RemoteActorRef are serialized correctly when using multiple transports
- Sharding: Harden event-sourced RememberEntities infrastructure against transient persistence failures
To see the full set of changes in Akka.NET v1.5.32, click here.
3 contributors since release 1.5.31
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
8 | 750 | 350 | Aaron Stannard |
5 | 505 | 15 | Gregorius Soedharmo |
1 | 2 | 2 | Ran Trifon |
Changes:
- 2f2bdf7 Add missing information to RELEASE_NOTES (#7404)
- c8b1c5b Update RELEASE_NOTES.md for 1.5.32 release (#7403)
- 1f448e9 Added reproduction spec for missing custom mailbox when using DI (#7402)
- 1a22e39 Akka.Cluster.Sharding: harden event-sourced
RememberEntities
infrastructure against transient Akka.Persistence failures (#7401) [ #7399 ] - 4becbdd cleaned up
RememberEntitiesFailureSpecs
(#7400) - 0968e9d Update books.md (#7397)
- 0141b6a Add note about duplicate
PeriodicTimer
messages when actors are busy (#7396) - 4ae4792 Akka.Remote: ensure
RemoteActorRef
are serialized with correctAddress
when using multiple transports (#7393) [ #7378 ] - e412b58 Harden Lease docs unit test (#7394)
- bd8a823 Added multi-transport addressing spec (#7391) [ #7378 ]
See More
- 866e053 Cleaned up
TestTransport
XML-DOCTBD
s (#7390) - 36b0ec6 Deprecate
ClusterSingleton.Init()
and add missing singleton feature toClusterSingletonSettings
(#7387) - 4082e9c [DOCS] Add custom lease documentation (#7388)
- 0ad0b77 Update RELEASE_NOTES.md
- 84c2bcd Add v1.5.31 upgrade advisory (#7385)
This list of changes was auto generated.
Akka.NET v1.5.31
1.5.31 November 11th 2024
Akka.NET v1.5.31 is a maintenance release that addresses several bugs and added new features.
- Persistence: Add logging for failed DeleteAsync() that was caused by failed SaveSnapshot()
- Persistence: Fix RecoveryTick timer leak
- Serialization.Hyperion: Fix serializer config bug
- Sharding: Fix potential
ArgumentException
during shard re-balancing - Cluster: Fix multiple
Member
with the sameAddress
crashingClusterDaemon
- Core: Fix
Stash
filtering out identicalEnvelope
s - Streams: Fix
ShellRegistered
message deadletter log - Sharding: Make lease release in
Shard.PostStop
be blocking instead of using detached async task - Cluster.Tools: Add missing singleton detection feature for easier infrastructure debugging
Upgrade Advisory
There is a slight change in how actor Stash
behavior. In previous behavior, Stash
will filter out any messages that are identical (see explanation below) when it is prepended with another. It will not do so now, which is the actual intended behavior.
This change will affect Akka.Persistence
users or users who use the Stash.Prepend()
method in their code. You will need to add a de-duplication code if your code depends on sending identical messages multiple times to a persistence actor while it is recovering.
Messages are considered as identical if they are sent from the same sender actor and have a payload message that Equals()
to true against another message. Example payload types would be an object pointing to the same memory address (ReferenceEquals()
returns true), value types (enum, primitives, structs), and classes that implements the IEquatable
interface.
To see the full set of changes in Akka.NET v1.5.31, click here.
2 contributors since release 1.5.30
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
9 | 627 | 154 | Gregorius Soedharmo |
4 | 133 | 40 | Aaron Stannard |
Changes:
- fe6fa8d Update RELEASE_NOTES.md for 1.5.31 release (#7384)
- fb526e5 Add missing cluster singleton detection (#7363)
- 322c494 Block lease release in Shard PostStop (#7383)
- 902daf5 clarified that you don't need to handle ShardRegion.StartEntity after version v1.5.15 of Akka.NET (#7380)
- 699aff2 [Streams] Fix ShellRegistered message deadletter log (#7376)
- 3700809 Added reproduction for missing
Stash.Stash
messages in Akka.,Persistence actors (#7374) [ #7373 ] - 67fad90 Fix EventSourced Stash filtering out identical envelopes (#7375)
- 0cbddb5 fixed bugs with multiple
Member
s with sameAddress
crashingClusterDaemon
(#7371) [ #7370 ] - 02157c3 fix potential
ArgumentException
during shard rebalancing (#7367) [ #7365 ] - 7685a6f Fix Hyperion serializer config bug (#7364)
Akka.NET v1.5.30
1.5.30 October 1st 2024
Akka.NET v1.5.29 introduced an interface change on the IScheduler
that unfortunately caused a lot of other plugins to break due to API compatibility issues. v1.5.30 rolls back that change but still fixes the underlying bug in Akka.Persistence's handling and serialziation of timestamps without any interface changes. v1.5.29 will be deprecated from NuGet.
- DData: Remove Hyperion dependency
- Streams: Fix SelectAsync race condition bug
- Core: Add new IWithTimers API to allow sender override
- Persistence: Fix SnapshotMetadata default timestamp value (DateTimeKind.Utc bug)
- Core: Fix AskTimeoutException message formatting bug
To see the full set of changes in Akka.NET v1.5.30, click here.
3 contributors since release 1.5.28
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
8 | 259 | 104 | Gregorius Soedharmo |
1 | 10 | 10 | Simon Cropp |
1 | 0 | 1 | Aaron Stannard |
1.5.29 October 1st 2024
Note
Deprecated
This version introduced breaking changes that needs to be reverted. Please use 1.5.30 instead.
Akka.NET v1.5.29 is an emergency patch release that addresses a severe bug for persistence users whom also use protobuf serializer.
- DData: Remove Hyperion dependency
- Streams: Fix SelectAsync race condition bug
- Core: Add new IWithTimers API to allow sender override
- Persistence: Fix SnapshotMetadata default timestamp value (DateTimeKind.Utc bug)
- Core: Fix AskTimeoutException message formatting bug
To see the full set of changes in Akka.NET v1.5.29, click here.
3 contributors since release 1.5.28
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
4 | 177 | 14 | Gregorius Soedharmo |
1 | 10 | 10 | Simon Cropp |
1 | 0 | 1 | Aaron Stannard |
Changes:
- 6fd8701 Update RELEASE_NOTES.md for 1.5.30 release (#7355)
- d98d37f Fix SnapshotMetadata.Timestamp bug (#7354)
- e5aebed Revert #7349 and #7352 (#7353)
This list of changes was auto generated.
Akka.NET v1.5.29
1.5.29 October 1st 2024
Akka.NET v1.5.29 is an emergency patch release that addresses a severe bug for persistence users whom also use protobuf serializer.
- DData: Remove Hyperion dependency
- Streams: Fix SelectAsync race condition bug
- Core: Add new IWithTimers API to allow sender override
- Persistence: Fix SnapshotMetadata default timestamp value (DateTimeKind.Utc bug)
- Core: Fix AskTimeoutException message formatting bug
To see the full set of changes in Akka.NET v1.5.29, click here.
3 contributors since release 1.5.28
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
4 | 177 | 14 | Gregorius Soedharmo |
1 | 10 | 10 | Simon Cropp |
1 | 0 | 1 | Aaron Stannard |
Changes:
- f5c4e63 Fix unit tests related to the Persistence DateTime bug (#7352)
- 5db9d86 Update RELEASE_NOTES.md for 1.5.29 release (#7351)
- 42dfbce Fix AskTimeoutException message formatting bug (#7350)
- 33fd92d Fix DateTimeOffset.DateTime UTC bug (#7349)
- c295010 sdk 8.0.402 (#7348)
- 554086c Add IWithTimers API with sender override (#7341)
- 8e2e11d Streams: Fix SelectAsync race condition bug (#7338)
- 6f937b5 Remove Hyperion from DData (#7337)
This list of changes was auto generated.
Akka.NET v1.5.28
1.5.28 September 5th 2024
Akka.NET v1.5.28 is a release with several bug fixes and improvements.
- Singleton: Fix oldest member transition log message
- Core: Make ITimeProvider injectable into consuming classes
- Singleton: Fix ClusterSingletonProxy failed to re-acquire singleton actor
- Persistence: Make DateTime.UtcNow the default SnapshotMetadata timestamp
- Remote.TestKit: Improve diagnostics and code modernization
- Persistence.TestKit: Add new ConnectionInterceptor and improve usability
- Sharding: Disable durable DData if RememberEntity does not use DData storage
- Persistence.Sql.Common: Harden journal and snapshot store initialization
- Streams: Fix missing AlsoTo public API in Flow, SubFlow, and Source
- Streams: Fix StreamRefSerializer NRE bug
- Persistence: Fix SnapshotStore.SaveSnapshot metadata timestamp bug
- Persistence.TCK: Add new optional SnapshotStore save data integrity spec
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
andSqlSnapshotStore
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 forSnapshotMetdata
(#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
1.5.28-beta1 August 23rd 2024
Akka.NET v1.5.28-beta1 is a patch beta release with several bug fixes and improvements.
- Singleton: Fix oldest member transition log message
- Core: Make ITimeProvider injectable into consuming classes
- Singleton: Fix ClusterSingletonProxy failed to re-acquire singleton actor
- Persistence: Make DateTime.UtcNow the default SnapshotMetadata timestamp
- Remote.TestKit: Improve diagnostics and code modernization
- Persistence.TestKit: Add new ConnectionInterceptor and improve usability
- Sharding: Disable durable DData if RememberEntity does not use DData storage
- Persistence.Sql.Common: Harden journal and snapshot store initialization
- Streams: Fix missing AlsoTo public API in Flow, SubFlow, and Source
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
andSqlSnapshotStore
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 forSnapshotMetdata
(#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
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.