Update dependency Akka.TestKit to v1.5.25 - autoclosed #204
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.4.46
->1.5.25
Release Notes
akkadotnet/akka.net (Akka.TestKit)
v1.5.25
Compare Source
Akka.NET v1.5.25 includes a critical bug fix for logging and some other minor fixes.
Logging Errors Introduced in v1.5.21
Versions [v1.5.21,v1.5.24] are all affected by Akka.Logging: v1.5.21 appears to have truncated log source, timestamps, etc from all log messages - this was a bug introduced when we added the log-filtering feature we shipped in Akka.NET v1.5.21.
This issue has been resolved in v1.5.25 and we've added regression tests to ensure that the log format gets version-checked just like our APIs going forward.
Other fixes:
IScheduledTellMsg
results in serialization errorYou can see the full set of changes for Akka.NET v1.5.25 here.
v1.5.24
Compare Source
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.
You can see the full set of changes for Akka.NET v1.5.24 here.
v1.5.23
Compare Source
HandOverDone
handler in ClusterSingletonManagerShardedDaemonProcess
You can see the full set of changes for Akka.NET v1.5.23 here.
v1.5.22
Compare Source
Akka.NET v1.5.22 is a patch release for Akka.NET with a few bug fixes and logging improvement.
BusLogging
EventStream
as public APIOn 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 forDotNetty
to improve this performance lost in the future (see#7225
for updates).Before
After
You can see the full set of changes for Akka.NET v1.5.22 here.
v1.5.21
Compare Source
Akka.NET v1.5.21 is a significant release for Akka.NET with a major feature additions and bug fixes.
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.
New Akka.Analyzers Rule
Added AK1006 rule to suggest user to use
PersistAll()
andPersistAllAsync()
when applicable. Documentation can be read in the documentationYou can see the full set of changes for Akka.NET v1.5.21 here.
v1.5.20
Compare Source
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 formattingLogSource
quality of life improvementHashedWheelTimer
startup crashYou can see the full set of changes for Akka.NET v1.5.20 here.
v1.5.19
Compare Source
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()
andScheduleTellRepeatedly()
invocation inside an actor to implementIWithTimers
interface instead. Documentation can be read hereAK1005
AK1005 warns users about improper
Sender
andSelf
access from inside an async lambda callbacks inside actor implementation. Documentation can be read hereAK1007
AK1007 is an error message for any
Timers.StartSingleTimer()
andTimers.StartPeriodicTimer()
invocation from inside the actorPreRestart()
andAroundPreRestart()
lifecycle callback methods. Documentation can be read hereYou can see the full set of changes for Akka.NET v1.5.19 here.
v1.5.18
Compare Source
Akka.NET v1.5.18 is a patch release for Akka.NET with a feature addition.
You can see the full set of changes for Akka.NET v1.5.18 here.
v1.5.17.1
Compare Source
Akka.NET v1.5.17.1 is a patch release for Akka.NET with a bug fix.
v1.5.17
Compare Source
Akka.NET v1.5.17.1 is a patch release for Akka.NET with a bug fix.
v1.5.16
Compare Source
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 awaitSelf.GracefulStop()
insideReceiveAsync<T>()
orReceiveAnyAsync
AK1003
: Warning:ReceiveAsync<T>()
orReceiveAnyAsync()
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.
v1.5.15
Compare Source
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.NETStartEntity
andShardEnvelope
handlingClusterClient
messages be serialized usingClusterClientMessageSerializer
LocalSnapshotStore
Metadata Fetch to ensure persistenceid match.ProducerControllerImpl<T>
state bug(6.0,]
.INoSerializationVerificationNeeded
does not handleIWrappedMessage
correctlyAkka.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
andExtractShardId
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 theHashCodeMessageExtractor
instead.ShardRegion.StartEntity
orShardingEnvelope
inside yourIMessageExtractor
implementations, and in factAK2001
(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
whereSend
,SendToAll
, andPublish
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:v1.5.14
Compare Source
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.
v1.5.13
Compare Source
Akka.NET v1.5.13 is a maintenance release with several bug fixes and also performance and QOL improvements.
IScheduledMessage
envelopeDispatchers
PeriodicTimer
for net6.0+ buildsIf you want to see the full set of changes made in Akka.NET v1.5.13, click here.
v1.5.12
Compare Source
Akka.NET v1.5.12 is a maintenance release with a minor API change and a minor bug fix.
ReadJournalFor()
thread safetyTags
property inEventEnvelope
If you want to see the full set of changes made in Akka.NET v1.5.12, click here.
v1.5.11
Compare Source
Akka.NET v1.5.11 is a maintenance release with a minor API change and internal code modernization/cleanup.
If you want to see the full set of changes made in Akka.NET v1.5.11, click here.
v1.5.10
Compare Source
Akka.NET v1.5.10 is a maintenance release with a minor API change.
If you want to see the full set of changes made in Akka.NET v1.5.10, click here.
v1.5.9
Compare Source
Akka.NET v1.5.9 is a maintenance release that introduces some performance improvements and internal code cleanup/modernization.
Changes:
Improvements:
Array.Empty
instead of creating empty arraysCode modernization:
Update dependency versions:
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 theAkkaEqualException.ForMismatchedValues()
static method instead of using the constructor.AggregateException
thrown. Either use async all the way or manually unwrap the exception.Asset.Equal()
does not automatically check for collection item equality anymore, that means doingAssert.Equal()
between two dictionary or list would not work anymore.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.
v1.5.8
Compare Source
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.
Source
/Flow
Setup
operatorstate-store-mode=ddata
andremember-entities=on
If you want to see the full set of changes made in Akka.NET v1.5.8, click here.
v1.5.7
Compare Source
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:
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:
ProducerController
type, and theConsumerController
type;EventSourcedProducerQueue
implementation, an optional feature that can be used to make theProducerController
's outbound delivery queue persisted to the Akka.Persistence Journal and SnapshotStore; andShardingProducerController
andShardingConsumerController
.We've documented how these features work in the following two detailed articles official website:
If you want to see the full set of changes made in Akka.NET v1.5.7, click here.
| 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
Compare Source
Version 1.5.6 is a patch with a few minor bug fix
If you want to see the full set of changes made in Akka.NET v1.5.6, click here.
v1.5.5
Compare Source
ExpectAll
that accepts predicatesIf you want to see the full set of changes made in Akka.NET v1.5.5, click here.
7 contributors since release 1.5.4
v1.5.4
Compare Source
IStash Enhancements
IStash
API have been improved with metrics API and its bound/capacity can be programatically set. Documentation can be read hereIf you want to see the full set of changes made in Akka.NET v1.5.4, click here.
5 contributors since release 1.5.3
v1.5.3
Compare Source
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 theAkka.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 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.
v1.5.2
Compare Source
Placeholder for nightlies
v1.5.1
Compare Source
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()
andScheduleTellRepeatedly()
invocation inside an actor to implementIWithTimers
interface instead. Documentation can be read hereAK1005
AK1005 warns users about improper
Sender
andSelf
access from inside an async lambda callbacks inside actor implementation. Documentation can be read hereAK1007
AK1007 is an error message for any
Timers.StartSingleTimer()
andTimers.StartPeriodicTimer()
invocation from inside the actorPreRestart()
andAroundPreRestart()
lifecycle callback methods. Documentation can be read hereYou can see the full set of changes for Akka.NET v1.5.19 here.
v1.5.0
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. We also encourage you to watch our video: "Akka NET v1.5 New Features and Upgrade Guide"
If you want to see the full set of changes made in Akka.NET v1.5.0 so far, click here.
v1.4.51
: Akka.NET v1.4.511.4.51 June 28th 2023
Props
1.4.50 March 15th 2023
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.UnrestrictedStash
UntypedActorWithStash
typesPoolRouter.SupervisorStrategy
toRestart
DbExceptions
wrapped in anAggregateException
You can see the full set of tracked issues for Akka.NET v1.4.49 here.
1.4.48 January 5th 2023
Akka.NET v1.4.48 is a minor release that introduces some additional APIs to Akka.NET.
ChannelSource<T>
andChannelSink<T>
moved from Alpakka into main project - these stages are now part of the normal Akka.Streams.Dsl.FutureActorRef<T>
unsealedYou can see the full set of tracked issues for Akka.NET v1.4.48 here.
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:
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
:By default actor telemetry is disabled - to enable it you'll need to turn it on via the following HOCON setting:
The performance impact of enabling telemetry is negligible, as you can see via our benchmarks.
Fixes and Updates
System.NotSupportedException
when disposing stage with materializedIAsyncEnumerable
ReuseLatest
stage to repeatedly emit the most recent value until a newer one is pushedActorPath.ToSerializationFormat
UID allocations - should provide a noticeable Akka.Remote performance improvement.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.TestActorRef
can not catch exceptions on asynchronous methodsYou can see the full set of tracked issues for Akka.NET v1.4.47 here.
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
CommandFailed
eventsDeadLetter
s published byDistributedPubSubMediator
contain full context of topicYou can see the full set of tracked issues for Akka.NET v1.4.46 here.
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
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
ForkJoinDispatcher
andDedicatedThreadPool
Mailbox
delegate allocationsFSM<TState, TData>
allocationsFSM.State.Equals
DefaultLogMessageFormatter
allocationsIn 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
HashCodeMessageExtractor
factoryDbCommand.CommandTimeout
inBatchingSqlJournal
You can see the full list of fixes in Akka.NET v1.4.44 here.
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
TestKit: TestKit automatically injects the default TestKit default configuration if an ActorSystem is passed into its constructor
Sharding: Added a new
GetEntityLocation
query message to retrieve an entity address location in the shard regionIn order to use this query, "remember entities" should be turned on or the provided shard
IMessageExtractor
supports theShardRegion.StartEntity
message. Complete documentation can be read hereIf you want to see the full set of changes made in Akka.NET v1.4.42, click here.
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
Akka loggers are now loaded asynchronously by default. The
ActorSystem
will wait at mostakka.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
DData: Add "verbose-debug-logging" setting to suppress debug message spam
Akka: Regenerate protobuf codes
All protobuf codes were re-generated, causing a significant improvement in message deserialization, increasing
Akka.Remote
throughput.Before
After
If you want to see the full set of changes made in Akka.NET v1.4.41, click here.
1.4.40 July 19 2022
Akka.NET v1.4.40 is a minor release that contains a bug fix for DotNetty SSL support.
If you want to see the full set of changes made in Akka.NET v1.4.40, click here.
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.
SplitBrainResolver.PreStart
when usingChannelTaskScheduler
for internal-dispatcherConfiguration
📅 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.