Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
Akka.NET v1.5.20 is a patch release for Akka.NET with a few bug fixes and Akka.Streams quality of life improvement.
AkkaEqualException
message formatting
LogSource
quality of life improvement
HashedWheelTimer
startup crash
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
5 | 360 | 93 | Aaron Stannard |
3 | 187 | 20 | Gregorius Soedharmo |
1 | 81 | 41827 | Yan Pitangui |
You can see the full set of changes for Akka.NET v1.5.20 here.
HashedWheelTimer
startup crash on .NET 6+ (#7174)LogSource
s actually usable (#7168) [ #7126 ]FunctionRefSpecs
(#7169)ActorsLeakSpec
(#7155)AkkaEqualException
message formatting (#7164)This list of changes was auto generated.
Akka.NET v1.5.19 is a patch release for Akka.NET with a few bug fixes.
Akka.Analyzers
We've added 3 new analyzer rules to Akka.Analyzers
:
AK1004
AK1004 warns users to replace any ScheduleTellOnce()
and ScheduleTellRepeatedly()
invocation inside an actor to implement IWithTimers
interface instead. Documentation can be read here
AK1005
AK1005 warns users about improper Sender
and Self
access from inside an async lambda callbacks inside actor implementation. Documentation can be read here
AK1007
AK1007 is an error message for any Timers.StartSingleTimer()
and Timers.StartPeriodicTimer()
invocation from inside the actor PreRestart()
and AroundPreRestart()
lifecycle callback methods. Documentation can be read here
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
9 | 366 | 1951 | Aaron Stannard |
9 | 14 | 14 | dependabot[bot] |
2 | 516 | 30 | Gregorius Soedharmo |
You can see the full set of changes for Akka.NET v1.5.19 here.
IAsyncQueue
; replaced with System.Threading.Channel<T>
(#7157) [ #7145 ]AtLeastOnceDeliveryActorSpec
(#7156)DeadLetter
logging (#7149)This list of changes was auto generated.
Akka.NET v1.5.18 is a patch release for Akka.NET with a feature addition.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
1 | 9 | 9 | Aaron Stannard |
1 | 1 | 1 | dependabot[bot] |
You can see the full set of changes for Akka.NET v1.5.18 here.
This list of changes was auto generated.
Akka.NET v1.5.17.1 is a patch release for Akka.NET with a bug fix.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
1 | 1 | 1 | Gregorius Soedharmo |
1 | 1 | 1 | Aaron Stannard |
This list of changes was auto generated.
Akka.NET v1.5.17 is a patch release for Akka.NET with some feature additions and bug fixes.
LogSource
TimerScheduler
debug message
Akka.Analyzers
You can see the full set of changes for Akka.NET v1.5.17 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
7 | 1342 | 732 | Gregorius Soedharmo |
4 | 5 | 5 | dependabot[bot] |
3 | 158 | 4 | Aaron Stannard |
2 | 3 | 3 | hassan-me |
1 | 2 | 8 | Massimiliano Donini |
1 | 12 | 12 | Mattias Jakobsson |
ConsumerController
deadlock (#7092)" (#7107)IMessageExtractor
technical debts in tests (#7099)ConsumerController
deadlock (#7092) [ #7088 ]LogSource
(#7078)This list of changes was auto generated.
Akka.NET v1.5.16 is a patch release for Akka.NET with some feature additions and changes.
Akka.Analyzers
We have expanded Akka.Analyzer and introduced 2 new rules to the Roslyn analyzer:
AK1002
: Error: Must not await Self.GracefulStop()
inside ReceiveAsync<T>()
or ReceiveAnyAsync
AK1003
: Warning: ReceiveAsync<T>()
or ReceiveAnyAsync()
message handler without async lambda bodySee the full set of supported Akka.Analyzers rules here
You can see the full set of changes for Akka.NET v1.5.16 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
6 | 1268 | 628 | Gregorius Soedharmo |
5 | 6 | 6 | dependabot[bot] |
2 | 286 | 224 | Aaron Stannard |
1 | 2120 | 0 | Yan Pitangui |
1 | 2 | 2 | Mattias Jakobsson |
1 | 2 | 0 | Ebere Abanonu |
1 | 0 | 65 | Simon Cropp |
InternalFlowOperations
- Warning Disable (#6674)ConfigureAwait(false)
from internal synchronous TestKit methods and fix Watch
/ Unwatch
bugs (#7037) [ #7033 ]This list of changes was auto generated.
Akka.NET v1.5.15 is a significant release for Akka.NET with some major feature additions and changes.
Akka.Analyzers
- Roslyn Analysis for Akka.NET
StartEntity
and ShardEnvelope
handling
ClusterClient
messages be serialized using ClusterClientMessageSerializer
LocalSnapshotStore
Metadata Fetch to ensure persistenceid match.
ProducerControllerImpl<T>
state bug
(6.0,]
.INoSerializationVerificationNeeded
does not handle IWrappedMessage
correctly
Akka.Analyzers
The core Akka NuGet package now references Akka.Analyzers, a new set of Roslyn Code Analysis and Code Fix Providers that we distribute via NuGet. You can see the full set of supported Akka.Analyzers rules here.
Akka.Cluster.Sharding Changes
In #6863 we made some major changes to the Akka.Cluster.Sharding API aimed at helping improve Cluster.Sharding's performance and ease of use. However, these changes may require some effort on the part of the end user in order to take full advantage:
ExtractEntityId
and ExtractShardId
have been deprecated as they fundamentally can't be extended and can't benefit from the performance improvements introduced into Akka.NET v1.5.15. It is imperative that you migrate to using the HashCodeMessageExtractor
instead.ShardRegion.StartEntity
or ShardingEnvelope
inside your IMessageExtractor
implementations, and in fact AK2001
(part of Akka.Analyzers) will automatically detect this and remove those handlers for you. Akka.NET automatically handles these two message types internally now.ClusterClient Serialization Changes
In #7032 we solved a long-standing serialization problem with the ClusterClient
where Send
, SendToAll
, and Publish
were not handled by the correct internal serializer. This has been fixed by default in Akka.NET v1.5.15, but this can potentially cause wire compatibility problems during upgrades - therefore we have introduced a configuration setting to toggle this:
# re-enable legacy serialization
akka.cluster.client.use-legacy-serialization = on
That setting is currently set to on
by default, so v1.5.15 will still behave like previous versions of Akka.NET. However, if you have been affected by serialization issues with the ClusterClient
(such as #6803) you should toggle this setting to off
.
See "Akka.NET v1.5.15 Upgrade Advisories" for full details on some of the things you might need to do while upgrading to this version of Akka.NET.
You can see the full set of changes for Akka.NET v1.5.15 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
16 | 2228 | 1490 | Aaron Stannard |
9 | 9 | 9 | dependabot[bot] |
2 | 610 | 173 | Gregorius Soedharmo |
2 | 337 | 0 | Drew |
2 | 124 | 118 | Lehonti Ramos |
1 | 2 | 2 | Sergey Popov |
1 | 108 | 25 | Yaroslav Paslavskiy |
1 | 1 | 1 | Bert Lamb |
ShardingRegion.StartEntity
handling changes (#7051)AK2001
cleanup (#7049)struct
s in Akka.Streams
with exclusively read-only members were made readonly
(#6941)StartEntity
and ShardEnvelope
handling (#6863) [ #6717 ]internal
classes in Akka.Streams
(#6940)ProducerControllerImpl<T>
state bug (#7034) [ #7033 ]AkkaProtocolSpec
(#7036)INoSerializationVerificationNeeded
does not handle IWrappedMessage
correctly (#7010)build.fsx
: change test targets from net7.0
to net8.0
(#7011)This list of changes was auto generated.
Akka.NET v1.5.14 is a maintenance release with several bug fixes.
If you want to see the full set of changes made in Akka.NET v1.5.14, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
11 | 25 | 21 | dependabot[bot] |
3 | 14 | 2 | Aaron Stannard |
3 | 114 | 369 | Simon Cropp |
2 | 36 | 31 | Gregorius Soedharmo |
1 | 41 | 43 | Lehonti Ramos |
1 | 38 | 0 | Yaroslav Paslavskiy |
1 | 3 | 0 | Sean Killeen |
1 | 227 | 25 | Drew |
1 | 1 | 1 | szaliszali |
Directory.Build.props
(#6974)internal
classes in Akka.Streams
(#6932)This list of changes was auto generated.
Akka.NET v1.5.13 is a maintenance release with several bug fixes and also performance and QOL improvements.
IScheduledMessage
envelope
Dispatchers
PeriodicTimer
for net6.0+ builds
If you want to see the full set of changes made in Akka.NET v1.5.13, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
18 | 25 | 25 | dependabot[bot] |
6 | 435 | 200 | Gregorius Soedharmo |
4 | 512 | 293 | Aaron Stannard |
2 | 3 | 7 | Simon Cropp |
1 | 7 | 0 | Sergey Popov |
1 | 66 | 17 | Ismael Hamed |
1 | 1 | 1 | HamzaAmjad-RG |
Tell
messages into IScheduledMsg
envelope (#6461)PeriodicTimer
scheduler replacement for dedicated thread (#6435) [ #168 ]InternalStableApi
annotation (#6880)This list of changes was auto generated.
Akka.NET v1.5.13 is a maintenance release with several performance and QOL improvements.
PeriodicTimer
for net6.0+ builds
If you want to see the full set of changes made in Akka.NET v1.5.12, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
11 | 15 | 15 | dependabot[bot] |
3 | 302 | 143 | Aaron Stannard |
2 | 384 | 195 | Gregorius Soedharmo |
1 | 7 | 0 | Sergey Popov |
1 | 66 | 17 | Ismael Hamed |
1 | 3 | 5 | Simon Cropp |
1 | 1 | 1 | HamzaAmjad-RG |
PeriodicTimer
scheduler replacement for dedicated thread (#6435) [ #168 ]InternalStableApi
annotation (#6880)This list of changes was auto generated.