codingteam / emulsion

XMPP ↔ Telegram bridge
MIT License
33 stars 3 forks source link

Update dependency Akka.TestKit to v1.5.25 - autoclosed #204

Closed renovate[bot] closed 3 months ago

renovate[bot] commented 3 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
Akka.TestKit 1.4.46 -> 1.5.25 age adoption passing confidence

Release Notes

akkadotnet/akka.net (Akka.TestKit) ### [`v1.5.25`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1525-June-14th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.24...1.5.25) 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](https://togithub.com/akkadotnet/akka.net/issues/7255) - this was a bug introduced when we added [the log-filtering feature we shipped in Akka.NET v1.5.21](https://getakka.net/articles/utilities/logging.html#filtering-log-messages). 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](https://togithub.com/akkadotnet/akka.net/pull/7256). Other fixes: - [Akka.Router: sending a message to a remote actor via `IScheduledTellMsg` results in serialization error](https://togithub.com/akkadotnet/akka.net/issues/7247) - [Akka.Discovery: Make Akka.Discovery less coupled with Akka.Management](https://togithub.com/akkadotnet/akka.net/issues/7242) You can [see the full set of changes for Akka.NET v1.5.25 here](https://togithub.com/akkadotnet/akka.net/milestones/1.5.25). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 6 | 347 | 44 | Aaron Stannard | | 2 | 1197 | 1015 | Gregorius Soedharmo | ### [`v1.5.24`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1524-June-7th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.23...1.5.24) 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. - [Fix invalid serializer was being used when serialize-message is set to true](https://togithub.com/akkadotnet/akka.net/pull/7236) - [Add Serialization.DeserializeActorRef() QoL method](https://togithub.com/akkadotnet/akka.net/pull/7237) - Resolve CVE-2018-8292 in [this PR](https://togithub.com/akkadotnet/akka.net/pull/7235) and [this PR](https://togithub.com/akkadotnet/akka.net/pull/7238) | 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](https://togithub.com/akkadotnet/akka.net/milestones/1.5.24). ### [`v1.5.23`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1523-June-4th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.22...1.5.23) - [Fix missing `HandOverDone` handler in ClusterSingletonManager](https://togithub.com/akkadotnet/akka.net/pull/7230) - [Add push mode to `ShardedDaemonProcess`](https://togithub.com/akkadotnet/akka.net/pull/7229) | 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](https://togithub.com/akkadotnet/akka.net/milestones/1.5.23). ### [`v1.5.22`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1522-June-4th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.21...1.5.22) Akka.NET v1.5.22 is a patch release for Akka.NET with a few bug fixes and logging improvement. - [Streams: Bump Reactive.Streams to 1.0.4](https://togithub.com/akkadotnet/akka.net/pull/7213) - [Remote: Bump DotNetty.Handlers to 0.7.6](https://togithub.com/akkadotnet/akka.net/pull/7198) - [Core: Resolve CVE-2018-8292 for Akka.Streams and Akka.Remote](https://togithub.com/akkadotnet/akka.net/issues/7191) - [Core: Expose `BusLogging` `EventStream` as public API](https://togithub.com/akkadotnet/akka.net/pull/7210) - [Remote: Add cross-platform support to the exception serializer](https://togithub.com/akkadotnet/akka.net/pull/7222) **On Resolving CVE-2018-8292** In order to resolve this CVE, we had to update `DotNetty.Handlers` to the latest version and unfortunately, this comes with about 10% network throughput performance hit. We are looking into possible replacement for `DotNetty` to improve this performance lost in the future (see [`#7225`](https://togithub.com/akkadotnet/akka.net/issues/7225) for updates). **Before** Num clients, Total [msg], Msgs/sec, Total [ms], Start Threads, End Threads 1, 200000, 125000, 1600.62, 46, 76 5, 1000000, 494072, 2024.04, 84, 95 10, 2000000, 713013, 2805.73, 103, 107 15, 3000000, 724463, 4141.38, 115, 115 20, 4000000, 714669, 5597.66, 123, 123 25, 5000000, 684932, 7300.37, 131, 107 30, 6000000, 694525, 8639.88, 115, 93 **After** Num clients, Total [msg], Msgs/sec, Total [ms], Start Threads, End Threads 1, 200000, 123763, 1616.32, 46, 73 5, 1000000, 386101, 2590.66, 81, 90 10, 2000000, 662691, 3018.54, 98, 104 15, 3000000, 666223, 4503.86, 112, 113 20, 4000000, 669681, 5973.89, 121, 113 25, 5000000, 669255, 7471.86, 121, 105 30, 6000000, 669121, 8967.61, 113, 92 | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 6 | 167 | 188 | Aaron Stannard | | 3 | 93 | 10 | Gregorius Soedharmo | You can [see the full set of changes for Akka.NET v1.5.22 here](https://togithub.com/akkadotnet/akka.net/milestones/1.5.22). ### [`v1.5.21`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1521-May-28th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.20...1.5.21) Akka.NET v1.5.21 is a significant release for Akka.NET with a major feature additions and bug fixes. - [Core: Fix error logging bug](https://togithub.com/akkadotnet/akka.net/pull/7186) - [Core: Add log filtering feature](https://togithub.com/akkadotnet/akka.net/pull/7179) - [Pub-Sub: Fix missing SendOneMessageToEachGroup property](https://togithub.com/akkadotnet/akka.net/pull/7202) - [Core: Fix incorrect IWrappedMessage deserialization when serialize-messages setting is on](https://togithub.com/akkadotnet/akka.net/pull/7200) - [Core: Bump Akka.Analyzers to 0.2.5](https://togithub.com/akkadotnet/akka.net/pull/7206) **Log Message Filtering** You can now filter out unwanted log messages based on either its source or message content. Documentation can be read in the [logging documentation](https://getakka.net/articles/utilities/logging.html#filtering-log-messages). **New Akka.Analyzers Rule** Added AK1006 rule to suggest user to use `PersistAll()` and `PersistAllAsync()` when applicable. Documentation can be read in the [documentation](https://getakka.net/articles/debugging/rules/AK1006.html) | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 7 | 900 | 53 | Aaron Stannard | | 5 | 497 | 1187 | Gregorius Soedharmo | | 1 | 1 | 1 | Åsmund | You can [see the full set of changes for Akka.NET v1.5.21 here](https://togithub.com/akkadotnet/akka.net/milestones/1.5.21). ### [`v1.5.20`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1520-April-29th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.19...1.5.20) Akka.NET v1.5.20 is a patch release for Akka.NET with a few bug fixes and Akka.Streams quality of life improvement. - [Cluster: Fix split brain resolver downing all nodes when failure detector records are unclean/poisoned](https://togithub.com/akkadotnet/akka.net/pull/7141) - [TestKit: Fix `AkkaEqualException` message formatting](https://togithub.com/akkadotnet/akka.net/pull/7164) - [Core: Generate Protobuf code automatically during build](https://togithub.com/akkadotnet/akka.net/pull/7063) - [Streams: `LogSource` quality of life improvement](https://togithub.com/akkadotnet/akka.net/pull/7168) - [Core: Fix `HashedWheelTimer` startup crash](https://togithub.com/akkadotnet/akka.net/pull/7174) | 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](https://togithub.com/akkadotnet/akka.net/milestones/1.5.20). ### [`v1.5.19`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1519-April-15th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.18...1.5.19) Akka.NET v1.5.19 is a patch release for Akka.NET with a few bug fixes. - [Persistence.SQLite: Bump Microsoft.Data.SQLite to 8.0.4](https://togithub.com/akkadotnet/akka.net/pull/7148) - [Core: Bump Google.Protobuf to 3.26.1](https://togithub.com/akkadotnet/akka.net/pull/7138) - [Core: Bump Akka.Analyzer to 0.2.4](https://togithub.com/akkadotnet/akka.net/pull/7143) - [Remote: Improve logging](https://togithub.com/akkadotnet/akka.net/pull/7149) - [Cluster: Improve logging](https://togithub.com/akkadotnet/akka.net/pull/7149) - [Core: Fix resource contention problem with HashedWheelTimerScheduler during start-up](https://togithub.com/akkadotnet/akka.net/pull/7144) - [TestKit: Fix async deadlock by replacing IAsyncQueue with System.Threading.Channel](https://togithub.com/akkadotnet/akka.net/pull/7157) **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](https://getakka.net/articles/debugging/rules/AK1004.html) - **AK1005** AK1005 warns users about improper `Sender` and `Self` access from inside an async lambda callbacks inside actor implementation. Documentation can be read [here](https://getakka.net/articles/debugging/rules/AK1005.html) - **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](https://getakka.net/articles/debugging/rules/AK1007.html) | 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](https://togithub.com/akkadotnet/akka.net/milestones/1.5.19). ### [`v1.5.18`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1518-March-13th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.17.1...1.5.18) Akka.NET v1.5.18 is a patch release for Akka.NET with a feature addition. - [Migrate all internal dispatchers to default thread pool dispatcher](https://togithub.com/akkadotnet/akka.net/pull/7117) | 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](https://togithub.com/akkadotnet/akka.net/milestones/1.5.18). ### [`v1.5.17.1`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#15171-March-1st-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.17...1.5.17.1) Akka.NET v1.5.17.1 is a patch release for Akka.NET with a bug fix. - [Core: Bump Akka.Analyzers to 0.2.3.1](https://togithub.com/akkadotnet/akka.analyzers/releases/tag/0.2.3.1) | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 1 | 1 | 1 | Gregorius Soedharmo | | 1 | 1 | 1 | Aaron Stannard | ### [`v1.5.17`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#15171-March-1st-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.16...1.5.17) Akka.NET v1.5.17.1 is a patch release for Akka.NET with a bug fix. - [Core: Bump Akka.Analyzers to 0.2.3.1](https://togithub.com/akkadotnet/akka.analyzers/releases/tag/0.2.3.1) | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 1 | 1 | 1 | Gregorius Soedharmo | | 1 | 1 | 1 | Aaron Stannard | ### [`v1.5.16`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1516-January-29th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.15...1.5.16) Akka.NET v1.5.16 is a patch release for Akka.NET with some feature additions and changes. - [Core: Bump Google.Protobuf to 3.25.2](https://togithub.com/akkadotnet/akka.net/pull/7056) - [Core: Remove redundant assembly titles](https://togithub.com/akkadotnet/akka.net/pull/6796) - [Akka.Cluster.Sharding: Fix sharding entity ID extractor nullability](https://togithub.com/akkadotnet/akka.net/pull/7059) - [Akka.Cluster.Sharding: Fix cluster sharding benchmark](https://togithub.com/akkadotnet/akka.net/pull/7061) - [Akka.TestKit: Fix Watch and Unwatch bug](https://togithub.com/akkadotnet/akka.net/pull/7037) - [Akka.Cluster.Metrics: Separate business models and wire format models](https://togithub.com/akkadotnet/akka.net/pull/7067) - [Akka.Analyzer: Bump Akka.Analyzer to 0.2.2](https://togithub.com/akkadotnet/akka.net/pull/7073) **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()` or `ReceiveAnyAsync` - `AK1003`: Warning: `ReceiveAsync()` or `ReceiveAnyAsync()` message handler without async lambda body [See the full set of supported Akka.Analyzers rules here](https://getakka.net/articles/debugging/akka-analyzers.html) You can [see the full set of changes for Akka.NET v1.5.16 here](https://togithub.com/akkadotnet/akka.net/milestones/1.5.16). | 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 | ### [`v1.5.15`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1515-January-9th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.14...1.5.15) Akka.NET v1.5.15 is a significant release for Akka.NET with some major feature additions and changes. - [Introducing `Akka.Analyzers` - Roslyn Analysis for Akka.NET](https://getakka.net/articles/debugging/akka-analyzers.html) - [Akka.Cluster.Sharding: perf optimize message extraction, automate `StartEntity` and `ShardEnvelope` handling](https://togithub.com/akkadotnet/akka.net/pull/6863) - [Akka.Cluster.Tools: Make `ClusterClient` messages be serialized using `ClusterClientMessageSerializer`](https://togithub.com/akkadotnet/akka.net/pull/7032) - [Akka.Persistence: Fix `LocalSnapshotStore` Metadata Fetch to ensure persistenceid match.](https://togithub.com/akkadotnet/akka.net/pull/7040) - [Akka.Delivery: Fix `ProducerControllerImpl` state bug](https://togithub.com/akkadotnet/akka.net/pull/7034) - [Change MS.EXT and System package versioning to range](https://togithub.com/akkadotnet/akka.net/pull/7029) - we now support all Microsoft.Extensions packages from `(6.0,]`. - [Akka.Serialization: `INoSerializationVerificationNeeded` does not handle `IWrappedMessage` correctly](https://togithub.com/akkadotnet/akka.net/pull/7010) **Akka.Analyzers** The core Akka NuGet package now references [Akka.Analyzers](https://togithub.com/akkadotnet/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](https://getakka.net/articles/debugging/akka-analyzers.html). **Akka.Cluster.Sharding Changes** In [#​6863](https://togithub.com/akkadotnet/akka.net/pull/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`](https://getakka.net/api/Akka.Cluster.Sharding.ExtractEntityId.html) and [`ExtractShardId`](https://getakka.net/api/Akka.Cluster.Sharding.ExtractShardId.html) 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`](https://getakka.net/api/Akka.Cluster.Sharding.HashCodeMessageExtractor.html) instead. - You no longer need to handle [`ShardRegion.StartEntity`](https://getakka.net/api/Akka.Cluster.Sharding.ShardRegion.StartEntity.html) or [`ShardingEnvelope`](https://getakka.net/api/Akka.Cluster.Sharding.ShardingEnvelope.html) inside your `IMessageExtractor` implementations, and in fact [`AK2001`](https://getakka.net/articles/debugging/rules/AK2001.html) (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](https://togithub.com/akkadotnet/akka.net/pull/7032) we solved a long-standing serialization problem with the [`ClusterClient`](https://getakka.net/api/Akka.Cluster.Tools.Client.ClusterClient.html) 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: ```hocon ``` ### [`v1.5.14`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1514-September-24th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.13...1.5.14) Akka.NET v1.5.14 is a maintenance release with several bug fixes. - [Streams: Ensure stream are closed on shutdown](https://togithub.com/akkadotnet/akka.net/pull/6935) - [Akka: Fix PeriodicTimer HashWheelTimerScheduler deadlock during start](https://togithub.com/akkadotnet/akka.net/pull/6949) - [Cluster: Old version of LeastShardAllocationStrategy is now deprecated](https://togithub.com/akkadotnet/akka.net/pull/6975) - [Query: Add a more descriptive ToString() values to Offset types](https://togithub.com/akkadotnet/akka.net/pull/6978) - Package dependency upgrades - [MNTR: Bump Akka.Multinode.TestAdapter to 1.5.13](https://togithub.com/akkadotnet/akka.net/pull/6926) - [Akka: Bump Polyfill to 1.28](https://togithub.com/akkadotnet/akka.net/pull/6936) - [Akka: Bump Google.Protobuf to 3.24.4](https://togithub.com/akkadotnet/akka.net/pull/6951) - [DData: Bump LightningDB to 0.16.0](https://togithub.com/akkadotnet/akka.net/pull/6960) - [Persistence: Bump Microsoft.Data.SQLite to 7.0.13](https://togithub.com/akkadotnet/akka.net/pull/6969) If you want to see the [full set of changes made in Akka.NET v1.5.14, click here](https://togithub.com/akkadotnet/akka.net/milestone/96?closed=1). | 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 | ### [`v1.5.13`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1513-August-26th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.12...1.5.13) Akka.NET v1.5.13 is a maintenance release with several bug fixes and also performance and QOL improvements. - [Akka: Clean up and optimize actor name validation](https://togithub.com/akkadotnet/akka.net/pull/6919) - [Akka: Wrap all scheduler Tell messages in `IScheduledMessage` envelope](https://togithub.com/akkadotnet/akka.net/pull/6461) - [Akka: Fix possible NRE bug in `Dispatchers`](https://togithub.com/akkadotnet/akka.net/pull/6906) - [Akka.Cluster.Sharding: Log shard coordinator remember entities timeout](https://togithub.com/akkadotnet/akka.net/pull/6885) - [Akka.Cluster.Sharding: Fix shard coordinator throwing NullReferenceException](https://togithub.com/akkadotnet/akka.net/pull/6892) - [Akka.Streams: Log errors inside SelectAsync stage](https://togithub.com/akkadotnet/akka.net/pull/6884) - [Akka.Streams: Add supervisor strategy support for Throttle stage](https://togithub.com/akkadotnet/akka.net/pull/6886) - [Akka: Change HashedWheelTimerScheduler implementation to use `PeriodicTimer` for net6.0+ builds](https://togithub.com/akkadotnet/akka.net/pull/6435) - Package dependency upgrades - [Bump Polyfill to 1.27.1](https://togithub.com/akkadotnet/akka.net/pull/6899) - [Bump Microsoft.Data.SQLite to 7.0.11](https://togithub.com/akkadotnet/akka.net/pull/6917) - [Bump Google.Protobuf tp 3.24.3](https://togithub.com/akkadotnet/akka.net/pull/6909) If you want to see the [full set of changes made in Akka.NET v1.5.13, click here](https://togithub.com/akkadotnet/akka.net/milestone/95?closed=1). | 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 | ### [`v1.5.12`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1512-August-2nd-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.11...1.5.12) Akka.NET v1.5.12 is a maintenance release with a minor API change and a minor bug fix. - [Persistence.Query: Fix `ReadJournalFor()` thread safety](https://togithub.com/akkadotnet/akka.net/pull/6859) - [Persistence.Query: Expose new `Tags` property in `EventEnvelope`](https://togithub.com/akkadotnet/akka.net/pull/6862) - [Documentation: Fix typo in member-roles.md](https://togithub.com/akkadotnet/akka.net/pull/6784) If you want to see the [full set of changes made in Akka.NET v1.5.12, click here](https://togithub.com/akkadotnet/akka.net/milestone/94?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 5 | 34 | 18 | Aaron Stannard | | 2 | 150 | 51 | Gregorius Soedharmo | | 1 | 1 | 1 | dependabot\[bot] | | 1 | 1 | 1 | Jim Aho | ### [`v1.5.11`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1511-July-27th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.10...1.5.11) Akka.NET v1.5.11 is a maintenance release with a minor API change and internal code modernization/cleanup. - [Remote: Modernize DotNettyTransportSettings class and add support for a SSL Setup class](https://togithub.com/akkadotnet/akka.net/pull/6854) - [PubSub: Make CountSubscriber query command public](https://togithub.com/akkadotnet/akka.net/pull/6856) If you want to see the [full set of changes made in Akka.NET v1.5.11, click here](https://togithub.com/akkadotnet/akka.net/milestone/93?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 1 | 465 | 321 | Gregorius Soedharmo | | 1 | 22 | 2 | Aaron Stannard | ### [`v1.5.10`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1510-July-26th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.9...1.5.10) Akka.NET v1.5.10 is a maintenance release with a minor API change. - [Persistence.TCK: Add constructor overload that takes ActorSystemSetup argument](https://togithub.com/akkadotnet/akka.net/pull/6850) If you want to see the [full set of changes made in Akka.NET v1.5.10, click here](https://togithub.com/akkadotnet/akka.net/milestone/92?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 1 | 70 | 12 | Gregorius Soedharmo | ### [`v1.5.9`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#159-July-18th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.8...1.5.9) Akka.NET v1.5.9 is a maintenance release that introduces some performance improvements and internal code cleanup/modernization. **Changes:** - [Remoting: Make transport adapter component public](https://togithub.com/akkadotnet/akka.net/pull/6838) **Improvements:** - [Memory optimization, use `Array.Empty` instead of creating empty arrays](https://togithub.com/akkadotnet/akka.net/pull/6801) - [Remoting: Log all wrapped message layers during errors](https://togithub.com/akkadotnet/akka.net/pull/6818) - [Port #​6805 and #​6807, Improve Stream and Pattern.Backoff instance creation time performance](https://togithub.com/akkadotnet/akka.net/pull/6821) - [DData: Harden LWWDictionary serialization null check](https://togithub.com/akkadotnet/akka.net/pull/6837) **Code modernization:** - [Use C# 9.0 target-typed new()](https://togithub.com/akkadotnet/akka.net/pull/6798) - [Use C# 8.0 null-coalescing operator](https://togithub.com/akkadotnet/akka.net/pull/6814) **Update dependency versions:** - [Bump Google.Protobuf to 3.23.4](https://togithub.com/akkadotnet/akka.net/pull/6826) - [Bump Akka.MultiNode.TestAdapter to 1.5.8](https://togithub.com/akkadotnet/akka.net/pull/6802) - [Bump Microsoft.Data.SQLite to 7.0.9](https://togithub.com/akkadotnet/akka.net/pull/6835) - [Bump Microsoft.Extensions.ObjectPool to 7.0.8](https://togithub.com/akkadotnet/akka.net/pull/6813) - [Bump Xunit to 2.5.0](https://togithub.com/akkadotnet/akka.net/pull/6825) **Akka.TestKit.Xunit Changes** Due to breaking API change in Xunit 2.5.0, updating to Akka.NET 1.5.9 might break your unit tests. Some of the breaking change that we've noticed are: - `AkkaEqualException` constructor has been changed due to changes in Xunit API. If you're using this class, please use the `AkkaEqualException.ForMismatchedValues()` static method instead of using the constructor. - Testing for exception types by calling async code inside a sync delegate will not unwrap the `AggregateException` thrown. Either use async all the way or manually unwrap the exception. - Xunit `Asset.Equal()` does not automatically check for collection item equality anymore, that means doing `Assert.Equal()` between two dictionary or list would not work anymore. - Some Xunit classes have been changed from public to private. If you're using these classes, you will need to refactor your code. - **FsCheck.Xunit:** Xunit Roslyn analyzer has become a bit too overzealous and insists that all unit test method can only return either void or Task and will raise a compilation error if you tried to return anything else. If you're using `FsCheck.Xunit`, you will need to use a pragma to disable this check: `#pragma warning disable xUnit1028`. If you want to see the [full set of changes made in Akka.NET v1.5.9, click here](https://togithub.com/akkadotnet/akka.net/milestone/91?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 12 | 171 | 155 | dependabot\[bot] | | 7 | 466 | 165 | Aaron Stannard | | 4 | 1648 | 1725 | Simon Cropp | | 1 | 9 | 4 | Gregorius Soedharmo | | 1 | 7 | 1 | Michael Buck | ### [`v1.5.8`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#158-June-15th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.7...1.5.8) Akka.NET v1.5.8 is a maintenance release that introduces some new features and fixes some bugs with Akka.NET v1.5.7 and earlier. - [Akka.Streams: Added `Source`/`Flow` `Setup` operator](https://togithub.com/akkadotnet/akka.net/pull/6788) - [Akka.Cluster.Sharding: fixed potential wire format problem when upgrading from v1.4 to v1.5 with `state-store-mode=ddata` and `remember-entities=on`](https://togithub.com/akkadotnet/akka.net/issues/6704) - [Akka.Remote.TestKit: Fix MNTR crashing because it is using PolyFill extension method](https://togithub.com/akkadotnet/akka.net/pull/6768) If you want to see the [full set of changes made in Akka.NET v1.5.8, click here](https://togithub.com/akkadotnet/akka.net/milestone/90?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 9 | 11 | 11 | dependabot\[bot] | | 2 | 8 | 0 | Aaron Stannard | | 2 | 75 | 4 | Gregorius Soedharmo | | 2 | 132 | 158 | Simon Cropp | | 1 | 431 | 1 | Ismael Hamed | | 1 | 1 | 1 | Andrea Di Stefano | ### [`v1.5.7`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#157-May-17th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.6...1.5.7) Akka.NET v1.5.7 is a significant release that introduces a [major new reliable message delivery feature to Akka.NET and Akka.Cluster.Sharding](https://getakka.net/articles/actors/reliable-delivery.html): `Akka.Delivery`. **`Akka.Delivery`** Akka.Delivery is a reliable delivery system that leverages built-in actors, serialization, and persistence to help guarantee that all messages sent from one producer to one consumer will be delivered, in-order, even across process restarts / actor restarts / network outages. Akka.Delivery's functionality is divded across four libraries: - Akka - defines the base definitions for all messages, the `ProducerController` type, and the `ConsumerController` type; - Akka.Cluster - contains the serialization definitions for Akka.Delivery; - Akka.Persistence - contains the `EventSourcedProducerQueue` implementation, an optional feature that can be used to make the `ProducerController`'s outbound delivery queue persisted to the Akka.Persistence Journal and SnapshotStore; and - Akka.Cluster.Sharding - contains the definitions for the `ShardingProducerController` and `ShardingConsumerController`. We've documented how these features work in the following two detailed articles official website: - "[Reliable Message Delivery with Akka.Delivery](https://getakka.net/articles/actors/reliable-delivery.html)" - "[Reliable Delivery over Akka.Cluster.Sharding](https://getakka.net/articles/clustering/cluster-sharding-delivery.html)" If you want to see the [full set of changes made in Akka.NET v1.5.7, click here](https://togithub.com/akkadotnet/akka.net/milestone/86?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR |\ | --- | --- | --- | --- |\ | 9 | 13972 | 135 | Aaron Stannard | | 6 | 92 | 88 | Ebere Abanonu |\ | 4 | 803 | 807 | Simon Cropp |\ | 3 | 70 | 53 | Gregorius Soedharmo | | 3 | 3 | 3 | dependabot\[bot] | ### [`v1.5.6`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#156-May-8th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.5...1.5.6) Version 1.5.6 is a patch with a few minor bug fix - [TestKit: Remove duplicate info log for unhandled messages](https://togithub.com/akkadotnet/akka.net/pull/6730) - [Core: Change logging DateTime formatter from 12 hour to 24 hour format](https://togithub.com/akkadotnet/akka.net/pull/6734) If you want to see the [full set of changes made in Akka.NET v1.5.6, click here](https://togithub.com/akkadotnet/akka.net/milestone/88?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 2 | 4 | 4 | Aaron Stannard | | 2 | 33 | 84 | Simon Cropp | | 2 | 2 | 2 | dependabot\[bot] | | 2 | 2 | 2 | Richard Smith | | 1 | 2 | 2 | Gregorius Soedharmo | | 1 | 2 | 12 | Sergey Popov | ### [`v1.5.5`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#155-May-4th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.4...1.5.5) - [TestKit: Add new variant of `ExpectAll` that accepts predicates](https://togithub.com/akkadotnet/akka.net/pull/6668) - [FSharp: Downgrade FSharp to v6.0.5](https://togithub.com/akkadotnet/akka.net/pull/6688) - [Core: Bump Google.Protobuf from 3.22.1 to 3.22.3](https://togithub.com/akkadotnet/akka.net/pull/6648) - [Core: Fix ByteString to check for index bounds](https://togithub.com/akkadotnet/akka.net/pull/6709) - [Core: Fix ReceiveActor ReceiveAsync ReceiveTimeout bug](https://togithub.com/akkadotnet/akka.net/pull/6718) - [Core: Fix race condition inside FastLazy](https://togithub.com/akkadotnet/akka.net/pull/6707) If you want to see the [full set of changes made in Akka.NET v1.5.5, click here](https://togithub.com/akkadotnet/akka.net/milestone/87?closed=1). 7 contributors since release 1.5.4 | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 16 | 68 | 34 | Ebere Abanonu | | 9 | 598 | 1053 | Simon Cropp | | 4 | 4 | 4 | dependabot\[bot] | | 2 | 229 | 5 | Gregorius Soedharmo | | 1 | 33 | 28 | Aaron Stannard | | 1 | 256 | 3 | Malcolm Learner | | 1 | 148 | 140 | Sergey Popov | ### [`v1.5.4`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#154-April-25th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.3...1.5.4) - [Akka: Enhance IStash API and configuration](https://togithub.com/akkadotnet/akka.net/pull/6660) - [Akka: Add bounded IStash configuration](https://togithub.com/akkadotnet/akka.net/pull/6661) **IStash Enhancements** `IStash` API have been improved with metrics API and its bound/capacity can be programatically set. Documentation can be read [here](https://getakka.net/articles/actors/receive-actor-api.html#bounded-stashes) If you want to see the [full set of changes made in Akka.NET v1.5.4, click here](https://togithub.com/akkadotnet/akka.net/milestone/86?closed=1). 5 contributors since release 1.5.3 | COMMITS | LOC+ | LOC- | AUTHOR | |-----------|-------|-------|---------------------| | 7 | 477 | 486 | Ebere Abanonu | | 4 | 627 | 143 | Aaron Stannard | | 2 | 2 | 2 | dependabot\[bot] | | 1 | 87 | 0 | Sergey Popov | | 1 | 0 | 1 | Gregorius Soedharmo | ### [`v1.5.3`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#153-April-20th-2023-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.2...1.5.3) - [Persistence.Sqlite: Bump Microsoft.Data.SQLite to 7.0.5](https://togithub.com/akkadotnet/akka.net/pull/6643) - [Serialization.Hyperion: Fix bug: surrogate and known type provider not applied correctly by Setup](https://togithub.com/akkadotnet/akka.net/pull/6655) - [Akka: Bump Microsoft.Extensions.ObjectPool to 7.0.5](https://togithub.com/akkadotnet/akka.net/pull/6644) - [Persistence.Sql.Common: Add transaction isolation level to SQL queries](https://togithub.com/akkadotnet/akka.net/pull/6654) **SQL Transaction Isolation Level Setting** In 1.5.3, we're introducing fine-grained control over transaction isolation level inside the `Akka.Persistence.Sql.Common` common library. This setting will be propagated to the rest of the SQL persistence plugin ecosystem and the `Akka.Hosting` package in their next release version. Four new HOCON settings are introduced: - `akka.persistence.journal.{plugin-name}.read-isolation-level` - `akka.persistence.journal.{plugin-name}.write-isolation-level` - `akka.persistence.snapshot-store.{plugin-name}.read-isolation-level` - `akka.persistence.snapshot-store.{plugin-name}.write-isolation-level` you can go to the [official Microsoft documentation](https://learn.microsoft.com/en-us/dotnet/api/system.data.isolationlevel?#fields) to read more about these isolation level settings. If you want to see the [full set of changes made in Akka.NET v1.5.3, click here](https://togithub.com/akkadotnet/akka.net/milestone/85?closed=1). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 23 | 1284 | 1248 | Ebere Abanonu | | 4 | 7 | 7 | dependabot\[bot] | | 3 | 933 | 267 | Gregorius Soedharmo | | 2 | 4498 | 4407 | Aaron Stannard | ### [`v1.5.2`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1525-June-7th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.1...1.5.2) *Placeholder for nightlies* ### [`v1.5.1`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#1519-April-15th-2024-) [Compare Source](https://togithub.com/akkadotnet/akka.net/compare/1.5.0...1.5.1) Akka.NET v1.5.19 is a patch release for Akka.NET with a few bug fixes. - [Persistence.SQLite: Bump Microsoft.Data.SQLite to 8.0.4](https://togithub.com/akkadotnet/akka.net/pull/7148) - [Core: Bump Google.Protobuf to 3.26.1](https://togithub.com/akkadotnet/akka.net/pull/7138) - [Core: Bump Akka.Analyzer to 0.2.4](https://togithub.com/akkadotnet/akka.net/pull/7143) - [Remote: Improve logging](https://togithub.com/akkadotnet/akka.net/pull/7149) - [Cluster: Improve logging](https://togithub.com/akkadotnet/akka.net/pull/7149) - [Core: Fix resource contention problem with HashedWheelTimerScheduler during start-up](https://togithub.com/akkadotnet/akka.net/pull/7144) - [TestKit: Fix async deadlock by replacing IAsyncQueue with System.Threading.Channel](https://togithub.com/akkadotnet/akka.net/pull/7157) **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](https://getakka.net/articles/debugging/rules/AK1004.html) - **AK1005** AK1005 warns users about improper `Sender` and `Self` access from inside an async lambda callbacks inside actor implementation. Documentation can be read [here](https://getakka.net/articles/debugging/rules/AK1005.html) - **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](https://getakka.net/articles/debugging/rules/AK1007.html) | 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](https://togithub.com/akkadotnet/akka.net/milestones/1.5.19). ### [`v1.5.0`](https://togithub.com/akkadotnet/akka.net/blob/HEAD/RELEASE_NOTES.md#150-March-2nd-2023-) Version 1.5.0 is a major new release of Akka.NET that is now marked as stable and ready for production use. You can read the [full notes about what's changed in Akka.NET v1.5 here](https://getakka.net/community/whats-new/akkadotnet-v1.5.html). We also encourage you to watch our video: "[Akka NET v1.5 New Features and Upgrade Guide](https://www.youtube.com/watch?v=-UPestlIw4k)" If you want to see the [full set of changes made in Akka.NET v1.5.0 so far, click here](https://togithub.com/akkadotnet/akka.net/milestone/7). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 95 | 25041 | 24976 | Gregorius Soedharmo | | 85 | 89784 | 18362 | Aaron Stannard | | 76 | 95 | 95 | dependabot\[bot] | | 18 | 3201 | 908 | Ismael Hamed | | 5 | 230 | 251 | Sergey Popov | | 2 | 77 | 7 | Vagif Abilov | | 2 | 38 | 8 | Brah McDude | | 1 | 92 | 92 | nabond251 | | 1 | 843 | 0 | Drew | | 1 | 7 | 6 | Tjaart Blignaut | | 1 | 5 | 4 | Sean Killeen | | 1 | 32 | 1 | JonnyII | | 1 | 26 | 4 | Thomas Stegemann | | 1 | 203 | 5 | Ebere Abanonu | | 1 | 2 | 2 | Popov Sergey | | 1 | 2 | 2 | Denis | | 1 | 16 | 0 | Damian | | 1 | 11 | 2 | Nicolai Davies | | 1 | 101 | 3 | aminchenkov | | 1 | 1 | 1 | zbynek001 | | 1 | 1 | 1 | Michel van Os | | 1 | 1 | 1 | Adrian D. Alvarez | ### [`v1.4.51`](https://togithub.com/akkadotnet/akka.net/releases/tag/v1.4.51): Akka.NET v1.4.51 ##### 1.4.51 June 28th 2023 - [Perf: Backoff Supervisor uses Expression based `Props`](https://togithub.com/akkadotnet/akka.net/issues/6804) - [Akka.Streams: Do not use expression based props for long lived streams](https://togithub.com/akkadotnet/akka.net/pull/6807) ##### 1.4.50 March 15th 2023 - [Query.Sql: Fix PersistenceIdPublisher froze on failure messages](https://togithub.com/akkadotnet/akka.net/pull/6375) - [Akka: Improve DeadLetter log message](https://togithub.com/akkadotnet/akka.net/pull/6492) - [Akka: Fix StackOverflow exception in NewtonsoftJsonSerializer](https://togithub.com/akkadotnet/akka.net/pull/6522) - [Akka.Persistence: Add Persistence.Query support to InMemory journal](https://togithub.com/akkadotnet/akka.net/pull/6520) - [Akka: Fix bugs reported by PVS-Studio static analyzer](https://togithub.com/akkadotnet/akka.net/pull/6521) | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|-------|---------------------| | 6 | 2402 | 241 | Gregorius Soedharmo | ##### 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](https://togithub.com/akkadotnet/akka.net/pull/6323) - [Akka.Actor: Added support for `UnrestrictedStash`](https://togithub.com/akkadotnet/akka.net/pull/6325) - [Akka.Actor: Add API for `UntypedActorWithStash` types](https://togithub.com/akkadotnet/akka.net/pull/6327) - [Akka.Actor: set default `PoolRouter.SupervisorStrategy` to `Restart`](https://togithub.com/akkadotnet/akka.net/pull/6366) - [Akka.Persistence.Sql.Common: FailChunkExecution does not handle `DbExceptions` wrapped in an `AggregateException` ](https://togithub.com/akkadotnet/akka.net/pull/6364) You can see the [full set of tracked issues for Akka.NET v1.4.49 here](https://togithub.com/akkadotnet/akka.net/milestone/80). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 2 | 711 | 186 | Ismael Hamed | | 2 | 41 | 182 | Aaron Stannard | ##### 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` and `ChannelSink` moved from Alpakka into main project](https://togithub.com/akkadotnet/akka.net/pull/6317) - these stages are now part of the normal Akka.Streams.Dsl. - [Akka: make `FutureActorRef` unsealed](https://togithub.com/akkadotnet/akka.net/pull/6322) You can see the [full set of tracked issues for Akka.NET v1.4.48 here](https://togithub.com/akkadotnet/akka.net/milestone/79). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 3 | 846 | 29 | Aaron Stannard | ##### 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: ```csharp public interface IActorTelemetryEvent : INoSerializationVerificationNeeded, INotInfluenceReceiveTimeout { /// /// The actor who emitted this event. /// IActorRef Subject {get;} /// /// The implementation type for this actor. /// Type ActorType { get; } } /// /// Event emitted when actor starts. /// public sealed class ActorStarted : IActorTelemetryEvent { public IActorRef Subject { get; } public Type ActorType { get; } } /// /// Event emitted when actor shuts down. /// public sealed class ActorStopped : IActorTelemetryEvent { public IActorRef Subject { get; } public Type ActorType { get; } } /// /// Emitted when an actor restarts. /// 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](https://phobos.petabridge.com/) and [Petabridge.Cmd](https://cmd.petabridge.com/) 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`: ```csharp // 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: ```hocon akka.actor.telemetry.enabled = on ``` The performance impact of enabling telemetry is negligible, as you can [see via our benchmarks](https://togithub.com/akkadotnet/akka.net/pull/6294#issuecomment-1340251897). **Fixes and Updates** - [Akka.Streams: Fixed `System.NotSupportedException` when disposing stage with materialized `IAsyncEnumerable`](https://togithub.com/akkadotnet/akka.net/issues/6280) - [Akka.Streams: `ReuseLatest` stage to repeatedly emit the most recent value until a newer one is pushed](https://togithub.com/akkadotnet/akka.net/pull/6262) - [Akka.Remote: eliminate `ActorPath.ToSerializationFormat` UID allocations](https://togithub.com/akkadotnet/akka.net/pull/6195) - should provide a noticeable Akka.Remote performance improvement. - [Akka.Remote: Remoting and an exception as a payload message ](https://togithub.com/akkadotnet/akka.net/issues/3903) - `Exception` types are now serialized properly inside `Status.Failure` messages over the wire. `Status.Failure` and `Status.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](https://togithub.com/akkadotnet/akka.net/issues/6265) You can see the [full set of tracked issues for Akka.NET v1.4.47 here](https://togithub.com/akkadotnet/akka.net/issues?q=is%3Aclosed+milestone%3A1.4.47). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 10 | 2027 | 188 | Aaron Stannard | | 1 | 157 | 10 | Gregorius Soedharmo | ##### 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](https://togithub.com/advisories/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](https://togithub.com/akkadotnet/akka.net/security/advisories/GHSA-gpv5-rp6w-58r8). **Fixes and Updates** - [Akka: Upgrade to Newtonsoft.Json 13.0.1 as minimum version](https://togithub.com/akkadotnet/akka.net/pull/6252) - [Akka: Upgrade to System.Configuration.ConfigurationManager 6.0.1](https://togithub.com/akkadotnet/akka.net/pull/6253) - resolves security issue. - [Akka.IO: Report cause for Akka/IO TCP `CommandFailed` events](https://togithub.com/akkadotnet/akka.net/pull/6224) - [Akka.Cluster.Tools: Make sure that `DeadLetter`s published by `DistributedPubSubMediator` contain full context of topic](https://togithub.com/akkadotnet/akka.net/pull/6209) - [Akka.Cluster.Metrics: Improve CPU/Memory metrics collection at Akka.Cluster.Metrics](https://togithub.com/akkadotnet/akka.net/issues/4142) - built-in metrics are now much more accurate. You can see the [full set of tracked issues for Akka.NET v1.4.46 here](https://togithub.com/akkadotnet/akka.net/milestone/77). ##### 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** - [Akka.NET: Revert change to ConfigurationException that is causing binary backward compatibility problem](https://togithub.com/akkadotnet/akka.net/pull/6201) ##### 1.4.44 October 17th 2022 Akka.NET v1.4.44 is a maintenance release for Akka.NET v1.4 that contains numerous performance improvements in critical areas, including core actor message processing and Akka.Remote. **Performance Fixes** - [remove delegate allocation from `ForkJoinDispatcher` and `DedicatedThreadPool`](https://togithub.com/akkadotnet/akka.net/pull/6143) - [eliminate `Mailbox` delegate allocations](https://togithub.com/akkadotnet/akka.net/pull/6134) - [Reduce `FSM` allocations](https://togithub.com/akkadotnet/akka.net/pull/6145) - [removed boxing allocations inside `FSM.State.Equals`](https://togithub.com/akkadotnet/akka.net/pull/6183) - [Eliminate `DefaultLogMessageFormatter` allocations](https://togithub.com/akkadotnet/akka.net/pull/6168) In sum you should expect to see total memory consumption, garbage collection, and throughput improve when you upgrade to Akka.NET v1.4.44. **Other Features and Improvements** - [Akka.Cluster and Akka.Cluster.Sharding: should throw human-friendly exception when accessing cluster / sharding plugins when clustering is not running](https://togithub.com/akkadotnet/akka.net/issues/6163) - [Akka.Cluster.Sharding: Add `HashCodeMessageExtractor` factory](https://togithub.com/akkadotnet/akka.net/pull/6182) - [Akka.Persistence.Sql.Common: Fix `DbCommand.CommandTimeout` in `BatchingSqlJournal`](https://togithub.com/akkadotnet/akka.net/pull/6180) You can [see the full list of fixes in Akka.NET v1.4.44 here](https://togithub.com/akkadotnet/akka.net/milestone/75). | COMMITS | LOC+ | LOC- | AUTHOR | | --- | --- | --- | --- | | 10 | 651 | 69 | [@​Aaronontheweb](https://togithub.com/Aaronontheweb) | | 4 | 275 | 17 | [@​Arkatufus](https://togithub.com/Arkatufus) | ##### 1.4.42 September 23 2022 Akka.NET v1.4.42 is a minor release that contains some minor bug fixes. - [DData: Suppress gossip message from showing up in debug log unless verbose debug logging is turned on](https://togithub.com/akkadotnet/akka.net/issues/6091) - [TestKit: TestKit automatically injects the default TestKit default configuration if an ActorSystem is passed into its constructor](https://togithub.com/akkadotnet/akka.net/issues/6094) - [Sharding: Added a new `GetEntityLocation` query message to retrieve an entity address location in the shard region](https://togithub.com/akkadotnet/akka.net/issues/6101) In order to use this query, "remember entities" should be turned on *or* the provided shard `IMessageExtractor` supports the `ShardRegion.StartEntity` message. Complete documentation can be read [here](https://getakka.net/articles/clustering/cluster-sharding.html#querying-for-the-location-of-specific-entities) If you want to see the [full set of changes made in Akka.NET v1.4.42, click here](https://togithub.com/akkadotnet/akka.net/milestone/73). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|------|------|---------------------| | 3 | 66 | 3 | Gregorius Soedharmo | | 1 | 557 | 118 | Aaron Stannard | ##### 1.4.41 August 31 2022 Akka.NET v1.4.41 is a minor release that contains some minor bug fix and throughput performance improvement for Akka.Remote - [Akka: Fix AddLogger in LoggingBus](https://togithub.com/akkadotnet/akka.net/issues/6028) Akka loggers are now loaded asynchronously by default. The `ActorSystem` will wait at most `akka.logger-startup-timeout` period long (5 seconds by default) for all loggers to report that they are ready before continuing the start-up process. A warning will be logged on each loggers that did not report within this grace period. These loggers will still be awaited upon inside a detached Task until either it is ready or the `ActorSystem` is shut down. These late loggers will not capture all log events until they are ready. If your logs are missing portion of the start-up events, check that the logger were loaded within this grace period. - [Akka: Log Exception cause inside Directive.Resume SupervisorStrategy warning log](https://togithub.com/akkadotnet/akka.net/issues/6070) - [DData: Add "verbose-debug-logging" setting to suppress debug message spam](https://togithub.com/akkadotnet/akka.net/issues/6080) - [Akka: Regenerate protobuf codes](https://togithub.com/akkadotnet/akka.net/issues/6087) All protobuf codes were re-generated, causing a significant improvement in message deserialization, increasing `Akka.Remote` throughput. **Before** ```ini BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19041.1415 (2004/May2020Update/20H1) AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores .NET SDK=6.0.200 [Host] : .NET 6.0.2 (6.0.222.6406), X64 RyuJIT DefaultJob : .NET 6.0.2 (6.0.222.6406), X64 RyuJIT ``` | Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Allocated | |----------------------- |-----------:|---------:|---------:|-------:|-------:|----------:| | WritePayloadPdu | 1,669.6 ns | 21.10 ns | 19.74 ns | 0.2156 | - | 1,808 B | | DecodePayloadPdu | 2,039.7 ns | 12.52 ns | 11.71 ns | 0.2156 | 0.0031 | 1,816 B | | DecodePduOnly | 131.3 ns | 1.32 ns | 1.11 ns | 0.0563 | 0.0002 | 472 B | | DecodeMessageOnly | 1,665.0 ns | 15.03 ns | 14.05 ns | 0.1406 | - | 1,184 B | | DeserializePayloadOnly | 151.2 ns | 1.88 ns | 1.76 ns | 0.0199 | - | 168 B | **After** ```ini BenchmarkDotNet=v0.13.1, OS=Windows 10.0.19041.1415 (2004/May2020Update/20H1) AMD Ryzen 9 3900X, 1 CPU, 24 logical and 12 physical cores .NET SDK=6.0.200 [Host] : .NET 6.0.2 (6.0.222.6406), X64 RyuJIT DefaultJob : .NET 6.0.2 (6.0.222.6406), X64 RyuJIT ``` | Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Allocated | |----------------------- |-----------:|---------:|---------:|-------:|-------:|----------:| | WritePayloadPdu | 1,623.4 ns | 19.95 ns | 18.66 ns | 0.2219 | 0.0031 | 1,880 B | | DecodePayloadPdu | 1,738.6 ns | 22.79 ns | 21.31 ns | 0.2250 | - | 1,888 B | | DecodePduOnly | 175.1 ns | 2.31 ns | 1.93 ns | 0.0572 | - | 480 B | | DecodeMessageOnly | 1,296.8 ns | 11.89 ns | 10.54 ns | 0.1469 | 0.0016 | 1,232 B | | DeserializePayloadOnly | 143.6 ns | 1.59 ns | 1.33 ns | 0.0199 | 0.0002 | 168 B | If you want to see the [full set of changes made in Akka.NET v1.4.41, click here](https://togithub.com/akkadotnet/akka.net/milestone/72). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|-------|------|---------------------| | 4 | 13003 | 1150 | Gregorius Soedharmo | | 1 | 3 | 4 | Aaron Stannard | ##### 1.4.40 July 19 2022 Akka.NET v1.4.40 is a minor release that contains a bug fix for DotNetty SSL support. - [Akka.Remote: SSL Configuration Fails even EnbleSsl property is set to false](https://togithub.com/akkadotnet/akka.net/issues/6043) - [Akka.Streams: Add IAsyncEnumerable Source](https://togithub.com/akkadotnet/akka.net/issues/6047) If you want to see the [full set of changes made in Akka.NET v1.4.40, click here](https://togithub.com/akkadotnet/akka.net/milestone/71). | COMMITS | LOC+ | LOC- | AUTHOR | |---------|-------|------|---------------------| | 8 | 544 | 64 | Gregorius Soedharmo | | 1 | 669 | 3 | Aaron Stannard | | 1 | 123 | 26 | Ebere Abanonu | | 1 | 101 | 3 | aminchenkov | ##### 1.4.39 June 1 2022 Akka.NET v1.4.39 is a minor release that contains some very important bug fixes for Akka.Remote and Akka.Cluster users. - [Akka.Cluster: Error in `SplitBrainResolver.PreStart` when using `ChannelTaskScheduler` for internal-dispatcher](https://togithub.com/akkadotnet/akka.net/issues/5962) - [Akka.Cluster.Sharding: make PersistentShardCoordinator a tolerant reader](https://togithub.com/akkadotnet/akka.net/issues/5604) - Akka.Persistence-backed sharding is more lenient when recovering state. - [Akka.Remote: Trap all `Except

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.