Releases: akkadotnet/akka.net
Akka.NET v1.5.0-beta2
1.5.0-beta2 February 20th 2023
Version 1.5.0-beta2 contains breaking API changes and new API changes for Akka.NET.
- Akka.Event: Add K to the DateTime format string to include TZ information
- Akka.TestKit: Reintroduce old code and mark them obsolete - fixes major regression in Akka.TestKit.Xunit2 where we removed
IDipsoable
before. This PR reintroduces it for backwards compat. - Akka.Cluster.Sharding: clean its internal cache if region/proxy died
- Akka.Util: Harden
Option<T>
by disallowing null value - Akka.Util: move
DateTime
/TimeSpan
extension APIs out of Akka.Util and into Akka.Cluster.Metrics - Akka.Util: Remove unsafe
implicit
conversion operators inAtomicBoolean
andAtomicReference<T>
- Akka: Standardize on C# 11.0
- Akka.Persistence: improve
AsyncWriteJournal
andPersistentActor
performance
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
8 | 260 | 942 | Aaron Stannard |
5 | 169 | 60 | Gregorius Soedharmo |
Changes:
- 30e762c added v1.5.0-beta2 release notes (#6434)
- bd793f0 Bump Google.Protobuf from 3.21.12 to 3.22.0 (#6410)
- 32b832b Akka.Persistence: improve
AsyncWriteJournal
andPersistentActor
performance (#6432) - e58b041 Remove unsafe
implicit
conversion operators inAtomicBoolean
andAtomicReference<T>
(#6429) - ac3c06a Standardize on C# 11.0 (#6431) [ #11 ]
- ee2513c close #5506 - deleted PersistenceBenchmark (#6428)
- 22255e3 Fix racy Akka.Streams.IO.Tcp spec (#6430)
- 0e0bd83 move
DateTime
/TimeSpan
extension APIs out of Akka.Util and into Akka.Cluster.Metrics (#6427) - e5d8c30 Harden
Option<T>
by disallowing null value (#6426) - 9779a37 delete
Akka.Util.,Resolver
(#6425)
See More
- 053199e ClusterSharding should clean its internal cache if region/proxy died (#6424)
- 46d680f [TESTKIT] Reintroduce old code and mark them obsolete (#6420)
- b570276 cleaned up build warnings (#6418)
- 90bedf2 Bump MultinodeTestAdapter to 1.5.0-beta1 (#6422)
- 4f98a13 Add K to the DateTime format string to include TZ information (#6419)
- c0b81d9 Akka.NET v1.5.0-beta1 Release notes (#6416)
- e8e3569 Customizable
ILogMessageFormatter
across entireActorSystem
(#6413) - bf3b5e2 Bump Verify.Xunit from 19.9.3 to 19.10.0 (#6415)
- 797894c Delete unnecessary / bad Sql.Common.Journal subscriptions (#6412)
- 8fb39e5 v1.5 logging (version 2) (#6408)
- c9ccc25 Bump Microsoft.Extensions.Hosting.WindowsServices from 6.0.1 to 7.0.0 (#6240)
- 1065929 Bump Microsoft.Data.SQLite from 7.0.2 to 7.0.3 (#6400)
- 8423c80 Bump Microsoft.Extensions.ObjectPool from 7.0.2 to 7.0.3 (#6401)
- b138778 Bump Microsoft.Extensions.Hosting from 6.0.1 to 7.0.1 (#6403)
- 0b8f611 added
EventStreamBenchmark
(#6405) - ff77b28 Fix persistence allocations #5505. (#6384)
- 5a077d4 Bump Verify.Xunit from 19.9.2 to 19.9.3 (#6399)
- c5a52cb harden timing on racy Akka.Streams specs (#6397)
- 74ff4f2 fixed ordering assertion in AtLeastOnceDelivery_must_warn_about_unconfirmed_messages (#6396)
- 9a55cba harden racy
ActorCellSpec
s (#6395) - 06b1d29 fixed
GracefulStop
DocFx warnings (#6393) - ba142bc add
WatchAysnc
methods for monitoring actor lifecycles outside of Akka.NET (#6102) - 192e9a8 harden
ClusterLogVerboseSpec
(#6390) - 2f5aab2 Fix for issue #6377 (#6378)
- 83341fa Fix of EventFilter.And from Akka.testKit when one parameter is string (#6316). (#6371)
- c5bdeae Bump Verify.DiffPlex from 2.1.0 to 2.2.0 (#6387)
- 48bf02f Bump Verify.Xunit from 19.8.3 to 19.9.2 (#6386)
- 905ff73 Update tutorial-1.md (#6382)
- ff2b321 Bump LightningDB from 0.14.1 to 0.15.0 (#6385)
- 5b8c04f Bump Microsoft.Bcl.AsyncInterfaces from 6.0.0 to 7.0.0 (#6233)
- aa7eca0 Bump Verify.Xunit from 19.8.2 to 19.8.3 (#6383)
- 8156ecc Bump Verify.Xunit from 19.8.1 to 19.8.2 (#6381)
- 233fc34 Bump Verify.Xunit from 19.7.1 to 19.8.1 (#6380)
- 918688f Update RELEASE_NOTES.md for 1.5.0-alpha4 release (#6379)
- 8dfa8f8 [PORT #6366] set default PoolRouter SupervisorStrategy to Restart (#6370) [ #6295 ]
- d3b89da Fix PersistenceIdsPublisher hung on failure messages (#6374)
- a447760 Type of LogEvent of UnhandledMessage was changed to INFO in Akka.TestKit (#6354). (#6360)
- d43a8d0 Persistence-views docs has been removed (#6291). (#6363)
- fb4fe01 Fixes FailChunkExecution does not handle
DbExceptions
wrapped in anAggregateException
(#6361) - a7f4d3f Bump Verify.Xunit from 19.7.0 to 19.7.1 (#6357)
- 303ad3c Add API for UntypedActorWithStash types (#6327)
- 1aff6c7 Bump Verify.Xunit from 19.6.0 to 19.7.0 (#6356)
- 7b1090d Added support for
UnrestrictedStash
(#6325) - d0d1369 Bump Microsoft.Extensions.ObjectPool from 7.0.1 to 7.0.2 (#6340)
- 2c3b5db Documentation fix #6342. (#6343)
- 459a160 Bump Swashbuckle.AspNetCore from 6.4.0 to 6.5.0 (#6345)
- c553e0d Bump Verify.DiffPlex from 2.0.1 to 2.1.0 (#6337)
- 0b3e8bc Bump Verify.Xunit from 19.5.0 to 19.6.0 (#6338)
- 91a9086 Bump Microsoft.Data.SQLite from 7.0.1 to 7.0.2 (#6339)
- 31f40e2 Documentation fix of ActorRefExtensions.IsNobody #6313. (#6334)
- 0070079 [PORT] make
FutureActorRef<T>
unsealed (#6331) [ #6322 ] - 965e4c3 Add support to
ByteString
for copying to/fromMemory
andSpan
(#6026) - 4d124ce Read stash capacity from actor's mailbox or dispatcher configuration (#6323)
- 124a378 Add DI router pool unit tests (#6319)
- b7241f5 Move Channel Stages from Alpakka to main project. (#6268)
- 134a35b Bump Microsoft.Extensions.DependencyInjection from 6.0.1 to 7.0.0 (#6234)
- aa9d7f3 Bump Microsoft.Extensions.ObjectPool from 6.0.10 to 7.0.1 (#6308)
- 0d9fcb8 Bump Microsoft.Extensions.Http from 6.0.0 to 7.0.0 (#6243)
- 2ffe584 Bump Google.Protobuf from 3.21.11 to 3.21.12 (#6311)
- 3f8988c Bump Verify.DiffPlex from 2.0.0 to 2.0.1 (#6314)
- f9f84e6 Bump Verify.Xunit from 19.3.0 to 19.5.0 (#6315)
- e5f3cdd Bump Microsoft.NET.Test.Sdk from 17.4.0 to 17.4.1 (#6312)
- 52ecb0c Bump Microsoft.Data.SQLite from 7.0.0 to 7.0.1 (#6309)
- 780af3a Bump Newtonsoft.Json in /src/examples/PersistenceExample.FsApi (#6303)
- 39156a6 Bump Newtonsoft.Json (#6302)
- 3b18a2b Bump Newtonsoft.Json in /src/examples/Stocks/SymbolLookup (#6304)
- 3c5ad25 Bump Newtonsoft.Json in /src/examples/FaultTolerance (#6305)
- 4e47543 Bump Newtonsoft.Json (#6307)
- 5cb5e74 Bump Newtonsoft.Json (#6306)
- ec1e469 [Port #6294] add simple actor telemetry (#6299) [ #6293 ]
- fddecf1
Exception
serialization support for built-in messages (#6297) (#6300) [ #3903 ] - 4b7badc Bump Google.Protobuf from 3.21.10 to 3.21.11 (#6298)
- bedce24 [Backports #6290] Akka:Streams Resolve
IAsyncEnumerator.DisposeAsync
bug (#6296) [ #6280 ] - ae953d0 Added .NET 7.0 support for release pipelines (#6288)
- 5605d83...
Akka.NET v1.5.0-beta1
1.5.0-beta1 February 20th 2023
Version 1.5.0-beta1 contains breaking API changes and new API changes for Akka.NET.
Breaking Changes: Logging
In #6408 the entire ILoggingAdapter
interface was rewritten in order to improve extensibility and performance (logging is now 30-40% faster in all cases and allocates ~50% fewer objects for large format strings).
All of the changes made here are source compatible, but not binary compatible - meaning that users and package authors will need to do the following:
- Add
using Akka.Event
in all files that used theILoggingAdapter
and - Recompile.
NOTE: you can use a
global using Akka.Event
directive to do this solution / project-wide if your project supports C# 10 and / or .NET 6.
In addition to improving the performance of the ILoggingAdapter
system, we've also made it more extensible - for instance, you can now globally configure the ILogMessageFormatter
via the following HOCON:
akka {
loglevel=INFO,
loggers=["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]
logger-formatter="Akka.Logger.Serilog.SerilogLogMessageFormatter, Akka.Logger.Serilog"
}
That will allow users to use the SerilogLogMessageFormatter
globally throughout their applications - no more annoying calls like this inside individual actors that want to use semantic logging:
private readonly ILoggingAdapter _logger = Context.GetLogger<SerilogLoggingAdapter>();
Breaking Changes: Akka.Persistence.Sql.Common
This is a breaking change that should effect almost no users, but we deleted some old, bad ideas from the API surface and it might require all Akka.Persistence.Sql* plugins to be recompiled.
For what it's worth, Akka.Persistence.Sql.Common's performance has been improved significantly and we'll continue working on that with some additional API changes this week.
Other Changes and Additions
- Akka.Actor: New API -
IActorRef.WatchAsync
- adds a new extension method toIActorRef
which allows users to subscribe to actor lifecycle notifications outside of theActorSystem
. - Akka.Actor: Suppress
System.Object
warning for serializer configuration changes
If you want to see the full set of changes made in Akka.NET v1.5.0 so far, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
12 | 15 | 15 | dependabot[bot] |
11 | 1930 | 1278 | Aaron Stannard |
2 | 143 | 73 | Sergey Popov |
1 | 26 | 4 | Thomas Stegemann |
1 | 1 | 1 | Michel van Os |
Changes:
- c0b81d9 Akka.NET v1.5.0-beta1 Release notes (#6416)
- e8e3569 Customizable
ILogMessageFormatter
across entireActorSystem
(#6413) - bf3b5e2 Bump Verify.Xunit from 19.9.3 to 19.10.0 (#6415)
- 797894c Delete unnecessary / bad Sql.Common.Journal subscriptions (#6412)
- 8fb39e5 v1.5 logging (version 2) (#6408)
- c9ccc25 Bump Microsoft.Extensions.Hosting.WindowsServices from 6.0.1 to 7.0.0 (#6240)
- 1065929 Bump Microsoft.Data.SQLite from 7.0.2 to 7.0.3 (#6400)
- 8423c80 Bump Microsoft.Extensions.ObjectPool from 7.0.2 to 7.0.3 (#6401)
- b138778 Bump Microsoft.Extensions.Hosting from 6.0.1 to 7.0.1 (#6403)
- 0b8f611 added
EventStreamBenchmark
(#6405)
See More
- ff77b28 Fix persistence allocations #5505. (#6384)
- 5a077d4 Bump Verify.Xunit from 19.9.2 to 19.9.3 (#6399)
- c5a52cb harden timing on racy Akka.Streams specs (#6397)
- 74ff4f2 fixed ordering assertion in AtLeastOnceDelivery_must_warn_about_unconfirmed_messages (#6396)
- 9a55cba harden racy
ActorCellSpec
s (#6395) - 06b1d29 fixed
GracefulStop
DocFx warnings (#6393) - ba142bc add
WatchAysnc
methods for monitoring actor lifecycles outside of Akka.NET (#6102) - 192e9a8 harden
ClusterLogVerboseSpec
(#6390) - 2f5aab2 Fix for issue #6377 (#6378)
- 83341fa Fix of EventFilter.And from Akka.testKit when one parameter is string (#6316). (#6371)
- c5bdeae Bump Verify.DiffPlex from 2.1.0 to 2.2.0 (#6387)
- 48bf02f Bump Verify.Xunit from 19.8.3 to 19.9.2 (#6386)
- 905ff73 Update tutorial-1.md (#6382)
- ff2b321 Bump LightningDB from 0.14.1 to 0.15.0 (#6385)
- 5b8c04f Bump Microsoft.Bcl.AsyncInterfaces from 6.0.0 to 7.0.0 (#6233)
- aa7eca0 Bump Verify.Xunit from 19.8.2 to 19.8.3 (#6383)
- 8156ecc Bump Verify.Xunit from 19.8.1 to 19.8.2 (#6381)
- 233fc34 Bump Verify.Xunit from 19.7.1 to 19.8.1 (#6380)
- 918688f Update RELEASE_NOTES.md for 1.5.0-alpha4 release (#6379)
- 8dfa8f8 [PORT #6366] set default PoolRouter SupervisorStrategy to Restart (#6370) [ #6295 ]
- d3b89da Fix PersistenceIdsPublisher hung on failure messages (#6374)
- a447760 Type of LogEvent of UnhandledMessage was changed to INFO in Akka.TestKit (#6354). (#6360)
- d43a8d0 Persistence-views docs has been removed (#6291). (#6363)
- fb4fe01 Fixes FailChunkExecution does not handle
DbExceptions
wrapped in anAggregateException
(#6361) - a7f4d3f Bump Verify.Xunit from 19.7.0 to 19.7.1 (#6357)
- 303ad3c Add API for UntypedActorWithStash types (#6327)
- 1aff6c7 Bump Verify.Xunit from 19.6.0 to 19.7.0 (#6356)
- 7b1090d Added support for
UnrestrictedStash
(#6325) - d0d1369 Bump Microsoft.Extensions.ObjectPool from 7.0.1 to 7.0.2 (#6340)
- 2c3b5db Documentation fix #6342. (#6343)
- 459a160 Bump Swashbuckle.AspNetCore from 6.4.0 to 6.5.0 (#6345)
- c553e0d Bump Verify.DiffPlex from 2.0.1 to 2.1.0 (#6337)
- 0b3e8bc Bump Verify.Xunit from 19.5.0 to 19.6.0 (#6338)
- 91a9086 Bump Microsoft.Data.SQLite from 7.0.1 to 7.0.2 (#6339)
- 31f40e2 Documentation fix of ActorRefExtensions.IsNobody #6313. (#6334)
- 0070079 [PORT] make
FutureActorRef<T>
unsealed (#6331) [ #6322 ] - 965e4c3 Add support to
ByteString
for copying to/fromMemory
andSpan
(#6026) - 4d124ce Read stash capacity from actor's mailbox or dispatcher configuration (#6323)
- 124a378 Add DI router pool unit tests (#6319)
- b7241f5 Move Channel Stages from Alpakka to main project. (#6268)
- 134a35b Bump Microsoft.Extensions.DependencyInjection from 6.0.1 to 7.0.0 (#6234)
- aa9d7f3 Bump Microsoft.Extensions.ObjectPool from 6.0.10 to 7.0.1 (#6308)
- 0d9fcb8 Bump Microsoft.Extensions.Http from 6.0.0 to 7.0.0 (#6243)
- 2ffe584 Bump Google.Protobuf from 3.21.11 to 3.21.12 (#6311)
- 3f8988c Bump Verify.DiffPlex from 2.0.0 to 2.0.1 (#6314)
- f9f84e6 Bump Verify.Xunit from 19.3.0 to 19.5.0 (#6315)
- e5f3cdd Bump Microsoft.NET.Test.Sdk from 17.4.0 to 17.4.1 (#6312)
- 52ecb0c Bump Microsoft.Data.SQLite from 7.0.0 to 7.0.1 (#6309)
- 780af3a Bump Newtonsoft.Json in /src/examples/PersistenceExample.FsApi (#6303)
- 39156a6 Bump Newtonsoft.Json (#6302)
- 3b18a2b Bump Newtonsoft.Json in /src/examples/Stocks/SymbolLookup (#6304)
- 3c5ad25 Bump Newtonsoft.Json in /src/examples/FaultTolerance (#6305)
- 4e47543 Bump Newtonsoft.Json (#6307)
- 5cb5e74 Bump Newtonsoft.Json (#6306)
- ec1e469 [Port #6294] add simple actor telemetry (#6299) [ #6293 ]
- fddecf1
Exception
serialization support for built-in messages (#6297) (#6300) [ #3903 ] - 4b7badc Bump Google.Protobuf from 3.21.10 to 3.21.11 (#6298)
- bedce24 [Backports #6290] Akka:Streams Resolve
IAsyncEnumerator.DisposeAsync
bug (#...
Akka.NET v1.5.0-alpha4
1.5.0-alpha4 February 1st 2023
Version 1.5.0-alpha3 contains several bug fixes and new features to Akka.NET
- Akka.TestKit: Remove Akka.Tests.Shared.Internal dependency
- Akka.TestKit: Added ReceiveAsync feature to TestActorRef
- Akka.Stream: Fix
IAsyncEnumerator.DisposeAsync
bug - Akka: Add
Exception
serialization support for built-in messages - Akka: Add simple actor telemetry feature
- Akka.Streams: Move Channel stages from Alpakka to Akka.NET repo
- Akka: Set actor stash capacity to actor mailbox or dispatcher size
- Akka: Add
ByteString
support to copy to/fromMemory
andSpan
- Akka: Add support for
UnrestrictedStash
- Akka: Add API for
UntypedActorWithStash
- Akka.Persistence.Sql.Common: Fix unhandled
DbExceptions
that are wrapped insideAggregateException
- Akka.Persistence.Sql: Fix persistence id publisher actor hung on failure messages
- Akka: Change default pool router supervisor strategy to
Restart
- NuGet package upgrades:
If you want to see the full set of changes made in Akka.NET v1.5.0 so far, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
27 | 30 | 30 | dependabot[bot] |
11 | 2212 | 165 | Gregorius Soedharmo |
4 | 741 | 208 | Ismael Hamed |
4 | 680 | 112 | Aaron Stannard |
3 | 87 | 178 | Sergey Popov |
1 | 843 | 0 | Drew |
1 | 2 | 2 | Popov Sergey |
Changes:
- 918688f Update RELEASE_NOTES.md for 1.5.0-alpha4 release (#6379)
- 8dfa8f8 [PORT #6366] set default PoolRouter SupervisorStrategy to Restart (#6370) [ #6295 ]
- d3b89da Fix PersistenceIdsPublisher hung on failure messages (#6374)
- a447760 Type of LogEvent of UnhandledMessage was changed to INFO in Akka.TestKit (#6354). (#6360)
- d43a8d0 Persistence-views docs has been removed (#6291). (#6363)
- fb4fe01 Fixes FailChunkExecution does not handle
DbExceptions
wrapped in anAggregateException
(#6361) - a7f4d3f Bump Verify.Xunit from 19.7.0 to 19.7.1 (#6357)
- 303ad3c Add API for UntypedActorWithStash types (#6327)
- 1aff6c7 Bump Verify.Xunit from 19.6.0 to 19.7.0 (#6356)
- 7b1090d Added support for
UnrestrictedStash
(#6325)
See More
- d0d1369 Bump Microsoft.Extensions.ObjectPool from 7.0.1 to 7.0.2 (#6340)
- 2c3b5db Documentation fix #6342. (#6343)
- 459a160 Bump Swashbuckle.AspNetCore from 6.4.0 to 6.5.0 (#6345)
- c553e0d Bump Verify.DiffPlex from 2.0.1 to 2.1.0 (#6337)
- 0b3e8bc Bump Verify.Xunit from 19.5.0 to 19.6.0 (#6338)
- 91a9086 Bump Microsoft.Data.SQLite from 7.0.1 to 7.0.2 (#6339)
- 31f40e2 Documentation fix of ActorRefExtensions.IsNobody #6313. (#6334)
- 0070079 [PORT] make
FutureActorRef<T>
unsealed (#6331) [ #6322 ] - 965e4c3 Add support to
ByteString
for copying to/fromMemory
andSpan
(#6026) - 4d124ce Read stash capacity from actor's mailbox or dispatcher configuration (#6323)
- 124a378 Add DI router pool unit tests (#6319)
- b7241f5 Move Channel Stages from Alpakka to main project. (#6268)
- 134a35b Bump Microsoft.Extensions.DependencyInjection from 6.0.1 to 7.0.0 (#6234)
- aa9d7f3 Bump Microsoft.Extensions.ObjectPool from 6.0.10 to 7.0.1 (#6308)
- 0d9fcb8 Bump Microsoft.Extensions.Http from 6.0.0 to 7.0.0 (#6243)
- 2ffe584 Bump Google.Protobuf from 3.21.11 to 3.21.12 (#6311)
- 3f8988c Bump Verify.DiffPlex from 2.0.0 to 2.0.1 (#6314)
- f9f84e6 Bump Verify.Xunit from 19.3.0 to 19.5.0 (#6315)
- e5f3cdd Bump Microsoft.NET.Test.Sdk from 17.4.0 to 17.4.1 (#6312)
- 52ecb0c Bump Microsoft.Data.SQLite from 7.0.0 to 7.0.1 (#6309)
- 780af3a Bump Newtonsoft.Json in /src/examples/PersistenceExample.FsApi (#6303)
- 39156a6 Bump Newtonsoft.Json (#6302)
- 3b18a2b Bump Newtonsoft.Json in /src/examples/Stocks/SymbolLookup (#6304)
- 3c5ad25 Bump Newtonsoft.Json in /src/examples/FaultTolerance (#6305)
- 4e47543 Bump Newtonsoft.Json (#6307)
- 5cb5e74 Bump Newtonsoft.Json (#6306)
- ec1e469 [Port #6294] add simple actor telemetry (#6299) [ #6293 ]
- fddecf1
Exception
serialization support for built-in messages (#6297) (#6300) [ #3903 ] - 4b7badc Bump Google.Protobuf from 3.21.10 to 3.21.11 (#6298)
- bedce24 [Backports #6290] Akka:Streams Resolve
IAsyncEnumerator.DisposeAsync
bug (#6296) [ #6280 ] - ae953d0 Added .NET 7.0 support for release pipelines (#6288)
- 5605d83 Add ReceiveAsync feature to Akka.TestKit TestActorRef (#6281)
- de55b33 Bump Google.Protobuf from 3.21.9 to 3.21.10 (#6284)
- 020cb7d V1.4 sync up (#6282) [ #6264, #6263, #6262, #6276, #6277, #6195 ]
- 16888b2 Bump Microsoft.NET.Test.Sdk from 17.3.2 to 17.4.0 (#6236)
- 2ea44e3 Bump Verify.Xunit from 19.1.0 to 19.3.0 (#6278)
- 680e101 Fix serilog aspnet docs (#6261)
- b90c129 Bump NUnit3TestAdapter from 4.3.0 to 4.3.1 (#6259)
- 3f7d398 Bump Microsoft.Data.SQLite from 6.0.10 to 7.0.0 (#6239)
- 76b1886 Remove Akka.Tests.Shared.Internals from Akka.Streams.TestKit dependency (#6258)
- 88ebfa9 Update cluster SBR documentation on lease and how it works (#6257)
- d6564d5 Update RELEASE_NOTES.md for 1.5.0-alpha3 release (#6256)
- 1e2eda4 Add CodeQL vulnerability scanning (#6254)
- 68a969a Bump Verify.Xunit from 19.0.0 to 19.1.0 (#6249)
- c3a288f Bump Verify.Xunit from 18.3.0 to 19.0.0 (#6244)
- 5e66bf0 Upgrade to Newtonsoft.Json 13.0.1 as minimum version (#6230)
- 94756d6 Upgrade to System.Configuration.ConfigurationManager 6.0.1 (#6229)
- 5665013 Increase dependabot open PR limit (#6227)
- cebc498 Improve Akka.Cluster.Metrics collected values (#6203) (#6225)
- 39a8f9e Bump NUnit3TestAdapter from 4.2.1 to 4.3.0 (#6219)
- ab93f9a Bump Verify.Xunit from 18.1.1 to 18.3.0 (#6222)
- c9c0b44 Report cause for Akka/IO TCP CommandFailed events (#6221)
- cdc2b85 Bump Verify.Xunit from 18.0.0 to 18.1.1 (#6218)
- 471922a Remove suspicious code fragment in ActorMaterializer.cs (#6216)
- 78d753f Bump Google.Protobuf from 3.21.8 to 3.21.9 (#6217)
- 8bf4a61 Update PersistenceExample to use the latest Akka.NET version (#6213)
- 108c701 Make sure that
DeadLetter
s published byDistributedPubSubMediator
contain full context of topic (#6209) (#6212) - 4bcf3e6 Bump Verify.DiffPlex from 1.3.0 to 2.0.0 (#6210)
- 7c2bbcb Bump Verify.Xunit from 17.10.2 to 18.0.0 (#6211)
- 1639765 Update app.conf (#6208)
- bf4e7b4...
Akka.NET v1.4.49
1.4.49 January 26th 2023
Akka.NET v1.4.49 includes some new core Akka.NET APIs and bug fixes to fundamental Akka.Actor
behavior.
- Akka.Actor: Read stash capacity from actor's mailbox or dispatcher configuration
- Akka.Actor: Added support for
UnrestrictedStash
- Akka.Actor: Add API for
UntypedActorWithStash
types - Akka.Actor: set default
PoolRouter.SupervisorStrategy
toRestart
- Akka.Persistence.Sql.Common: FailChunkExecution does not handle
DbExceptions
wrapped in anAggregateException
You can see the full set of tracked issues for Akka.NET v1.4.49 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
2 | 711 | 186 | Ismael Hamed |
2 | 41 | 182 | Aaron Stannard |
Changes:
- 8a2afc2 added v1.4.49 release notes (#6369)
- ffd9a9e close #6295 - set default PoolRouter SupervisorStrategy to Restart (#6366)
- 579741d Fixes FailChunkExecution does not handle
DbExceptions
wrapped in anAggregateException
(#6361) (#6364) - ba9ff3e [BACKPORT] Several stashing improvements (#6323, #6325 and #6327) (#6358)
- 7a33b50 Revert "Add compression option for NewtonSoftJsonSerializer (#6341)" (#6349)
- e5a916c Update RELEASE_NOTES.md for 1.4.49-beta1 release (#6344)
- d7daf56 Add compression option for NewtonSoftJsonSerializer (#6341)
This list of changes was auto generated.
Akka.NET v1.4.49-beta1
1.4.49-beta1 January 11th 2023
Akka.NET v1.4.49-beta is a minor release that introduces compression to the JSON serializer, which can be enabled via the following configuration:
akka.actor.serialization-settings.json.use-compression = true
Please note that this changes the wire format for Newtonsoft.Json - so enabling this setting may cause downtime during your initial deployment over Akka.Remote. This setting might also cause previously persisted Akka.Persistence data to become unreadable if it was serialized using Newtonsoft.Json.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
1 | 157 | 28 | Gregorius Soedharmo |
Changes:
- e5a916c Update RELEASE_NOTES.md for 1.4.49-beta1 release (#6344)
- d7daf56 Add compression option for NewtonSoftJsonSerializer (#6341)
This list of changes was auto generated.
Akka.NET v1.4.48
1.4.48 January 5th 2023
Akka.NET v1.4.48 is a minor release that introduces some additional APIs to Akka.NET.
- Akka.Streams:
ChannelSource<T>
andChannelSink<T>
moved from Alpakka into main project - these stages are now part of the normal Akka.Streams.Dsl. - Akka: make
FutureActorRef<T>
unsealed
You can see the full set of tracked issues for Akka.NET v1.4.48 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
3 | 846 | 29 | Aaron Stannard |
Changes:
- 062c80c added v1.4.48 release notes (#6330)
- 8613880 Upgrade all v1.4 build systems to use
{os}-latest
(#6329) - 2cd11f5 make
FutureActorRef<T>
unsealed (#6322) - fb507b1 [BACKPORT] move Move Channel Stages from Alpakka to main project. (#6317) [ #6268 ]
This list of changes was auto generated.
Akka.NET v1.4.47
1.4.47 December 9th 2022
Akka.NET v1.4.47 is a maintenance patch for Akka.NET v1.4.46 that includes a variety of bug fixes, performance improvements, and new features.
Actor Telemetry
Starting in Akka.NET v1.4.47 local and remotely deployed actors will now emit events when being started, stopped, and restarted:
public interface IActorTelemetryEvent : INoSerializationVerificationNeeded, INotInfluenceReceiveTimeout
{
/// <summary>
/// The actor who emitted this event.
/// </summary>
IActorRef Subject {get;}
/// <summary>
/// The implementation type for this actor.
/// </summary>
Type ActorType { get; }
}
/// <summary>
/// Event emitted when actor starts.
/// </summary>
public sealed class ActorStarted : IActorTelemetryEvent
{
public IActorRef Subject { get; }
public Type ActorType { get; }
}
/// <summary>
/// Event emitted when actor shuts down.
/// </summary>
public sealed class ActorStopped : IActorTelemetryEvent
{
public IActorRef Subject { get; }
public Type ActorType { get; }
}
/// <summary>
/// Emitted when an actor restarts.
/// </summary>
public sealed class ActorRestarted : IActorTelemetryEvent
{
public IActorRef Subject { get; }
public Type ActorType { get; }
public Exception Reason { get; }
}
These events will be consumed from popular Akka.NET observability and management tools such as Phobos and Petabridge.Cmd to help provide users with more accurate insights into actor workloads over time, but you can also consume these events yourself by subscribing to them via the EventStream
:
// subscribe to all actor telemetry events
Context.System.EventStream.Subscribe(Self, typeof(IActorTelemetryEvent));
By default actor telemetry is disabled - to enable it you'll need to turn it on via the following HOCON setting:
akka.actor.telemetry.enabled = on
The performance impact of enabling telemetry is negligible, as you can see via our benchmarks.
Fixes and Updates
- Akka.Streams: Fixed
System.NotSupportedException
when disposing stage with materializedIAsyncEnumerable
- Akka.Streams:
ReuseLatest
stage to repeatedly emit the most recent value until a newer one is pushed - Akka.Remote: eliminate
ActorPath.ToSerializationFormat
UID allocations - should provide a noticeable Akka.Remote performance improvement. - Akka.Remote: Remoting and an exception as a payload message -
Exception
types are now serialized properly insideStatus.Failure
messages over the wire.Status.Failure
andStatus.Success
messages are now managed by Protobuf - so you might see some deserialization errors while upgrading if those types are being exchanged over the wire. - Akka.TestKit:
TestActorRef
can not catch exceptions on asynchronous methods
You can see the full set of tracked issues for Akka.NET v1.4.47 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
10 | 2027 | 188 | Aaron Stannard |
1 | 157 | 10 | Gregorius Soedharmo |
Changes:
- 791bd10 added v1.4.47 release notes (#6301)
- 998dcca
Exception
serialization support for built-in messages (#6297) [ #3903 ] - 7f68c48 add simple actor telemetry (#6294) [ #6293 ]
- 3156272 Akka:Streams Resolve
IAsyncEnumerator.DisposeAsync
bug (#6290) [ #6280 ] - 1974404 Added .NET 7.0 support for release pipelines (#6288) (#6289)
- 2eb3004 [BACKPORT #6281] Add ReceiveAsync to TestActorRef (#6286)
- 37179fe eliminate
ActorPath.ToSerializationFormat
UID allocations (#6195) - b17ce60 Enable dynamic PGO for RemotePingPong and PingPong (#6277)
- bb7435e added real UID to
ActorPathBenchmarks
(#6276) - 76c9364 Akka.Streams:
ReuseLatest
stage to repeatedly emit the most recent value until a newer one is pushed (#6262)
See More
- d914eb3 converted build system to .NET 7.0 (#6263)
- 7068ba9 cleaned up duplicate System.Collections.Immutable package reference (#6264)
This list of changes was auto generated.
Akka.NET v1.5.0-alpha3
1.5.0-alpha3 November 15th 2022
Akka.NET v1.5.0-alpha3 is a security patch for Akka.NET v1.5.0-alpha2 but also includes some other fixes.
Security Advisory: Akka.NET v1.5.0-alpha2 and earlier depend on an old System.Configuration.ConfigurationManager version 4.7.0 which transitively depends on System.Common.Drawing v4.7.0. The System.Common.Drawing v4.7.0 is affected by a remote code execution vulnerability GHSA-ghhp-997w-qr28.
We have separately created a security advisory for Akka.NET Versions < 1.4.46 and < 1.5.0-alpha3 to track this issue.
Fixes and Updates
- Akka: Revert ConfigurationException due to binary incompatibility
- Akka: Upgrade to Newtonsoft.Json 13.0.1 as minimum version - resolves security issue.
- Akka: Upgrade to System.Configuration.ConfigurationManager 6.0.1 - resolves security issue.
- Akka: Upgrade to Google.Protobuf 3.21.9
- Akka.Cluster.Tools: Make sure that
DeadLetter
s published byDistributedPubSubMediator
contain full context of topic - Akka.Streams: Remove suspicious code fragment in ActorMaterializer
- Akka.IO: Report cause for Akka/IO TCP
CommandFailed
events - Akka.Cluster.Metrics: Improve CPU/Memory metrics collection at Akka.Cluster.Metrics - built-in metrics are now much more accurate.
You can see the full set of tracked issues for Akka.NET v1.5.0 here.
Changes:
- d6564d5 Update RELEASE_NOTES.md for 1.5.0-alpha3 release (#6256)
- 1e2eda4 Add CodeQL vulnerability scanning (#6254)
- 68a969a Bump Verify.Xunit from 19.0.0 to 19.1.0 (#6249)
- c3a288f Bump Verify.Xunit from 18.3.0 to 19.0.0 (#6244)
- 5e66bf0 Upgrade to Newtonsoft.Json 13.0.1 as minimum version (#6230)
- 94756d6 Upgrade to System.Configuration.ConfigurationManager 6.0.1 (#6229)
- 5665013 Increase dependabot open PR limit (#6227)
- cebc498 Improve Akka.Cluster.Metrics collected values (#6203) (#6225)
- 39a8f9e Bump NUnit3TestAdapter from 4.2.1 to 4.3.0 (#6219)
- ab93f9a Bump Verify.Xunit from 18.1.1 to 18.3.0 (#6222)
See More
- c9c0b44 Report cause for Akka/IO TCP CommandFailed events (#6221)
- cdc2b85 Bump Verify.Xunit from 18.0.0 to 18.1.1 (#6218)
- 471922a Remove suspicious code fragment in ActorMaterializer.cs (#6216)
- 78d753f Bump Google.Protobuf from 3.21.8 to 3.21.9 (#6217)
- 8bf4a61 Update PersistenceExample to use the latest Akka.NET version (#6213)
- 108c701 Make sure that
DeadLetter
s published byDistributedPubSubMediator
contain full context of topic (#6209) (#6212) - 4bcf3e6 Bump Verify.DiffPlex from 1.3.0 to 2.0.0 (#6210)
- 7c2bbcb Bump Verify.Xunit from 17.10.2 to 18.0.0 (#6211)
- 1639765 Update app.conf (#6208)
- bf4e7b4 Update testing-actor-systems.md (#6207)
- ec2d4ba [PORT #6201] Revert ConfigurationException due to binary incompatibility (#6204)
- b45065e Bump Google.Protobuf from 3.21.7 to 3.21.8 (#6199)
- a69d778 Update RELEASE_NOTES.md for 1.5.0-alpha2 release (#6198)
- c78cec6 removed boxing allocations inside
FSM
(#6183) (#6196) - 65f392a Bump Microsoft.Extensions.ObjectPool from 5.0.5 to 6.0.10 (#6170)
- e26b196 Bump Microsoft.Data.SQLite from 6.0.9 to 6.0.10 (#6179)
- ee3a26b Bump Microsoft.Extensions.Hosting.WindowsServices from 6.0.0 to 6.0.1 (#6172)
- 0675bd9 Fix OldCoordinatorStateMigrationEventAdapter.Manifest (#6176)
- f5d5838 add HashCodeMEssageExtractor Factory method (#6173)
- 0b944de Bump Microsoft.Extensions.DependencyInjection from 6.0.0 to 6.0.1 (#6171)
- 695fada Fix DbCommand.CommandTimeout (#6175)
- eba7bf5 [PORT #6167] Improve error/exception message for misconfigured cluster provider (#6169)
- d82cdc2 Eliminate
DefaultLogMessageFormatter
allocations (#6166) - c508e3e Update version numbers in spellcheck pipeline (#6165)
- b6c5e93 Logging Benchmarks (#6164)
- 04a24be Merge pull request #6162 from Aaronontheweb/backport-v1.4.44
- 43ba211 fixed API port issues and API approvals
- 2131146 make
DedicatedThreadPool.QueueUserWorkItem<T>
generic (#6156) - 18aae3b Reduce
FSM<TState, TData>
allocations (#6145) [ #2560 ] - e308e28 Make
Envelope
a reference type again (#6137) - ef186a4 added actor messaging pressure benchmark (#6147)
- 2032ff9 remove delegate allocation from
ForkJoinDispatcher
andDedicatedThreadPool
(#6143) - 7855518 close #2560 - added performance benchmarks for FSM (#6144)
- dbdc4e1 Added Dispatcher Benchmarks (#6140)
- 352d9a1 eliminate mailbox delegate allocations (#6134)
- 70c57df WIP queue benchmarks (#6127)
- bf543ff Fix unhandled RememberShards by DDataShardCoordinator (#6160)
- 6259295 Bump Microsoft.NET.Test.Sdk from 17.2.0 to 17.3.2 (#6155)
- dc616b9 Bump Tmds.ExecFunction from 0.5.0 to 0.6.0 (#6154)
- d683312 Block Xunit2 TestKit until unit test logger is ready (#6152)
- 6655d63 Bump Google.Protobuf from 3.21.1 to 3.21.7 (#6141)
- 21d8b3a Bump Microsoft.Data.SQLite from 6.0.4 to 6.0.9 (#6150)
- 9575f22 Bump FluentDateTime from 2.0.0 to 2.1.0 (#6151)
- 7780131 Bump Verify.Xunit from 17.1.4 to 17.10.2 (#6149)
- e5c7c16 Bump Swashbuckle.AspNetCore from 6.3.0 to 6.4.0 (#6148)
- 24d1d7f fix
Shard.LoadingEntityIdsFailed
log message (#6146) - 213ebb6 Bump XunitVersion from 2.4.1 to 2.4.2 (#6138)
- 425aef0 Bump Microsoft.Extensions.Hosting from 5.0.0 to 6.0.1 (#5605)
- dbfc802 Bump NUnit3TestAdapter from 4.1.0 to 4.2.1 (#6139)
- 5c224c4 Bump BenchmarkDotNet from 0.13.1 to 0.13.2 (#6130)
- c813d9e Bump Verify.DiffPlex from 1.2.0 to 1.3.0 (#6129)
- 5d6ae6a Bump LightningDB from 0.14.0 to 0.14.1 (#6128)
- a4bbd85 Bump Fsharp.Core from 6.0.1 to 6.0.6 (#6096)
- 507d3c8 1.5 Akka.Cluster.Sharding migration documentation (#6124) [ #6123 ]
- 8daa482 Allow
LogLevel
template to display milliseconds (#6126) - a04daec [Port #6120] Fix GetEntityLocation use wrong actor path (#6121)
- cc84ca5 [PORT #6111] cleaned up NuGet package descriptions (#6114)
- 6f298a6 made README.md NuGet-friendly (#6113)
- 8fcaaa4 cherry-picked from 231c8c9 (#6107)
- b0529e9 Update Linux AzDo to use
ubuntu-latest
(#6104) - daa2b9b Add graceful stop specs (#6103)
- 4c2f30e Remove the PatternMatch class (#6099)
- 46d02f9 Change TestKitBase.InitializeTest to virtual so it can be deferred (#6093) (#6095)
- 015de37 [Akka.TestKit] TestKitBase should take arbitrary ActorSystem without throwing (#6092)
- 3b4ed91 Require verbose logging for more gossip send/receive log statements. (#6089)
- a55cb9e regenerate all protobuf messages (#6082)
- e3511dc Extend DistributedData Replicator settings with VerboseDebugLogging switch (#6080)
- 79c7afc delete
AzCopy
from tools directory` (#6081) - eee47ac
AkkaPduCodec
serializer benchmark (#6078) - 3a90fe2 add BenchmarkDotNet results to
.gitignore
(#6079...
Akka.NET v1.4.46
1.4.46 November 15th 2022
Akka.NET v1.4.46 is a security patch for Akka.NET v1.4.45 but also includes some other fixes.
Security Advisory: Akka.NET v1.4.45 and earlier depend on an old System.Configuration.ConfigurationManager version 4.7.0 which transitively depends on System.Common.Drawing v4.7.0. The System.Common.Drawing v4.7.0 is affected by a remote code execution vulnerability GHSA-ghhp-997w-qr28.
We have separately created a security advisory for Akka.NET Versions < 1.4.46 and < 1.5.0-alpha3 to track this issue.
Fixes and Updates
- Akka: Upgrade to Newtonsoft.Json 13.0.1 as minimum version
- Akka: Upgrade to System.Configuration.ConfigurationManager 6.0.1 - resolves security issue.
- Akka.IO: Report cause for Akka/IO TCP
CommandFailed
events - Akka.Cluster.Tools: Make sure that
DeadLetter
s published byDistributedPubSubMediator
contain full context of topic - Akka.Cluster.Metrics: Improve CPU/Memory metrics collection at Akka.Cluster.Metrics - built-in metrics are now much more accurate.
You can see the full set of tracked issues for Akka.NET v1.4.46 here.
Changes:
- 44d3808 added v1.4.46 release notes (#6255)
- 2b85598 Upgrade to Newtonsoft.Json 13.0.1 as minimum version (#6230) (#6252)
- d6ba97a (cherry-picked from 94756d6) (#6253)
- e94913c Make transport adapter messages public (#6250)
- eeb156c [BACKPORT #6221] Report cause for Akka/IO TCP CommandFailed events (#6224) [ #22954 ]
- dca908b Improve Akka.Cluster.Metrics collected values (#6203)
- 61df6fc Separate wire protocol from internal models (#6206)
- 9f84438 Make sure that
DeadLetter
s published byDistributedPubSubMediator
contain full context of topic (#6209)
This list of changes was auto generated.
Akka.NET v1.4.45
1.4.45 October 19th 2022
Akka.NET v1.4.45 is a patch release for Akka.NET v1.4 for a bug introduced in v1.4.44.
Patch
Changes:
- 5f496e8 Update RELEASE_NOTES.md for 1.4.45 release (#6202)
- 90dde25 Revert ConfigurationException due to binary incompatibility (#6201)
This list of changes was auto generated.