Releases: akkadotnet/akka.net
Akka.NET v1.4.51
1.4.51 June 28th 2023
- Perf: Backoff Supervisor uses Expression based
Props
- Akka.Streams: Do not use expression based props for long lived streams
1.4.50 March 15th 2023
- Query.Sql: Fix PersistenceIdPublisher froze on failure messages
- Akka: Improve DeadLetter log message
- Akka: Fix StackOverflow exception in NewtonsoftJsonSerializer
- Akka.Persistence: Add Persistence.Query support to InMemory journal
- Akka: Fix bugs reported by PVS-Studio static analyzer
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
- 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 |
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 |
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 |
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.
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
- remove delegate allocation from
ForkJoinDispatcher
andDedicatedThreadPool
- eliminate
Mailbox
delegate allocations - Reduce
FSM<TState, TData>
allocations - removed boxing allocations inside
FSM.State.Equals
- Eliminate
DefaultLogMessageFormatter
allocations
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
- Akka.Cluster.Sharding: Add
HashCodeMessageExtractor
factory - Akka.Persistence.Sql.Common: Fix
DbCommand.CommandTimeout
inBatchingSqlJournal
You can see the full list of fixes in Akka.NET v1.4.44 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
10 | 651 | 69 | @Aaronontheweb |
4 | 275 | 17 | @Arkatufus |
1.4.42 September 23 2022
Akka.NET v1.4.42 is a minor release that contains some...
akka.net v1.5.8
1.5.8 June 15th 2023
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 - Akka.Cluster.Sharding: fixed potential wire format problem when upgrading from v1.4 to v1.5 with
state-store-mode=ddata
andremember-entities=on
- Akka.Remote.TestKit: Fix MNTR crashing because it is using PolyFill extension method
If you want to see the full set of changes made in Akka.NET v1.5.8, click here.
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 |
1.5.7 May 17th 2023
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:
- Akka - defines the base definitions for all messages, the
ProducerController
type, and theConsumerController
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 theProducerController
's outbound delivery queue persisted to the Akka.Persistence Journal and SnapshotStore; and - Akka.Cluster.Sharding - contains the definitions for the
ShardingProducerController
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] |
1.5.6 May 8th 2023
Version 1.5.6 is a patch with a few minor bug fix
- TestKit: Remove duplicate info log for unhandled messages
- Core: Change logging DateTime formatter from 12 hour to 24 hour format
If you want to see the full set of changes made in Akka.NET v1.5.6, click here.
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 |
1.5.5 May 4th 2023
- TestKit: Add new variant of
ExpectAll
that accepts predicates - FSharp: Downgrade FSharp to v6.0.5
- Core: Bump Google.Protobuf from 3.22.1 to 3.22.3
- Core: Fix ByteString to check for index bounds
- Core: Fix ReceiveActor ReceiveAsync ReceiveTimeout bug
- Core: Fix race condition inside FastLazy
If 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
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 |
1.5.4 April 25th 2023
IStash Enhancements
IStash
API have been improved with metrics API and its bound/capacity can be programatically set. Documentation can be read here
If 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
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 |
1.5.3 April 20th 2023
- Persistence.Sqlite: Bump Microsoft.Data.SQLite to 7.0.5
- Serialization.Hyperion: Fix bug: surrogate and known type provider not applied correctly by Setup
- Akka: Bump Microsoft.Extensions.ObjectPool to 7.0.5
- Persistence.Sql.Common: Add transaction isolation level to SQL queries
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 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.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
23 | 1284 | 1248 | Ebere Abanonu |
4 | 7 | 7 | dependabot[bot] |
3 | 933 | 267 | Gregorius Soedharmo |
2 | 4498 | 4407 | Aaron Stannard |
1.5.2 April 5th 2023
There are some major behavioral changes introduced to Akka.Cluster and Akka.Persistence in Akka.NET v1.5.2 - to learn how these changes might affect your Akka.NET applications, please see our Akka.NET v1.5.2 Upgrade Advisories on the Akka.NET website.
- Akka.Remote: Remove secure cookie from configuration
- DData: Remove unused _pruningPerformed and _tombstonedNodes variables
- Akka.Persistence: Remove default object serializer in Sql.Common
- Akka.Cluster: Log send time in verbose heartbeat message
- Akka.Streams: Optimize ForEachAsync
- Akka: Implement alternative AtomicState leveraging WaitAsync
- Akka.Streams: Use correct capacity when creating DynamicQueue when FixedQueue is full
- Akka.Cluster: Enable keep majority split brain resolver as default
If you want to see the full set of changes made in Akka.NET v1.5.2, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
56 | 2580 | 2913 | Ebere Abanonu |
5 | 201 | 82 | Aaron Stannard |
4 | 754 | 558 | Ismael Hamed |
3 | 4 | 4 | dependabot[bot] |
2 | 33 | 12 | Sergey Popov |
1 | 511 | 53 | Gregorius Soedharmo |
1 | 1 | 1 | ondravondra |
1 | 0 | 2 | Simon Cropp |
1.5.1 March 15th 2023
- [A...
Akka.NET v1.5.7
1.5.7 May 17th 2023
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:
- Akka - defines the base definitions for all messages, the
ProducerController
type, and theConsumerController
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 theProducerController
's outbound delivery queue persisted to the Akka.Persistence Journal and SnapshotStore; and - Akka.Cluster.Sharding - contains the definitions for the
ShardingProducerController
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] |
Changes:
- c11e5c6 added v1.5.7 release notes (#6767)
- d7304f4 Revert "Make
HandleActorTaskSchedulerMessage
methodprotected virtual
(#6763)" (#6766) - c514fd1 discard some parameters (#6751)
- 88be1fc [CS0618]
GraphInterpreterSpecKit
(#6697) - 1345e58 Make
HandleActorTaskSchedulerMessage
methodprotected virtual
(#6763) - 3e1b8e5 [Docs] Akka.Delivery Documentation (#6757)
- a8aeadf Upgrade Akka.MultiNodeTestRunner to 1.5.6 (#6764)
- 49bc347 Bump Microsoft.NET.Test.Sdk from 17.5.0 to 17.6.0 (#6762)
- a3eb0dd Update documentation-guidelines.md
- fe2405d [CS0618][Obsolete] Perserve
CreateProducer
(#6673)
See More
- 300780c Bump Polyfill from 1.22.0 to 1.23.0 (#6739)
- d7da8dd Revert DocFX changes (#6738, #6756) (#6759)
- 37cb4c6 [FIX][pre][code] CSS problem (#6756)
- 952d0ff harden ReliableDeliveryShardingSpecs (#6750)
- bf9c1ce Fix:
ProducerControllerImpl
now respects bounds when chunking large messages (#6755) [ #6754 ] - b68ba56 fix some xunit warnings (#6752)
- 4f27bac remove redundant casts via AsInstanceOf (#6744)
- d783933 Fix
ByteString.Copy
when requested length is zero (#6749) [ #6748 ] - 15ab3b1 [fixes] API Tests (#6746)
- 7dbfc94 harden ReliableDeliveryShardingSpecs (#6747)
- c0e4512 Bump Google.Protobuf from 3.22.4 to 3.23.0 (#6745)
- 8d3681d [CS0618]
RepointableActorRef
Warning Disable (#6684) - 66f348a [Doc] Upgrade to
Docfx 2.67.0
(#6738) - 95b6227 remove some redundant type parameters (#6713)
- f7a5977 Update RELEASE_NOTES.md (#6741)
- 96cd8db feature: Akka.Delivery - reliable point-to-point delivery + message chunking (#6720)
This list of changes was auto generated.
Akka.NET v1.5.6
1.5.6 May 8th 2023
Version 1.5.6 is a patch with a few minor bug fix
- TestKit: Remove duplicate info log for unhandled messages
- Core: Change logging DateTime formatter from 12 hour to 24 hour format
If you want to see the full set of changes made in Akka.NET v1.5.6, click here.
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 |
Changes:
- 899e62f Update RELEASE_NOTES.md for 1.5.6 release (#6740)
- c402cc7 Update tutorial-3.md (#6737)
- 8ad8d7c Update tutorial-2.md (#6736)
- 8f13c74 remove GetTypeInfo usage (#6727)
- 30fbb2d Change LogEvent time format from 12 to 24 hours (#6734)
- 5c29078 remove TaskExtensions (#6732)
- bf7be78 Update build.fsx
- c48617e build system: increase
dotnet test --blame-hang-timeout
to 2m (#6735) - bc0973c Bump Google.Protobuf from 3.22.3 to 3.22.4 (#6733)
- 89ecc27 Bump Polyfill from 1.21.0 to 1.22.0 (#6731)
See More
This list of changes was auto generated.
Akka.NET v1.5.5
1.5.5 May 4th 2023
- TestKit: Add new variant of
ExpectAll
that accepts predicates - FSharp: Downgrade FSharp to v6.0.5
- Core: Bump Google.Protobuf from 3.22.1 to 3.22.3
- Core: Fix ByteString to check for index bounds
- Core: Fix ReceiveActor ReceiveAsync ReceiveTimeout bug
- Core: Fix race condition inside FastLazy
If 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
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 |
Changes:
- 8a26155 Update RELEASE_NOTES.md for v1.5.5 release (#6728)
- f1eba91 [CS0420]
ActorCell
Warning Disable (#6683) - 4b19cd1 [CS0618]
GraphDslCompileSpec
- Warning Disable (#6680) - 502370e [CS0612]
QueryEventsSql
Warning Disable (#6702) - b7ec446 use Directory.Build.props convention (#6724)
- 7d5fb2b use some pattern matching (#6715)
- c2559ff Fix FastLazy race condition and waiting thread hanging (#6336) (#6707)
- 541ffc9 Fix ReceiveAsync resetting ReceiveTimeout (#6718)
- 95000a6 use Polyfill (#6693)
- cb9362a remove an empty finally (#6716)
See More
- be59e3a inline some out variables (#6712)
- 53333bb simplify TryGetByName (#6711)
- 90d6349 [CS0618] AbstractStage Warning Disable (#6672)
- 29b1513 remove some casts (#6710)
- 24dec7f [CS0618]
Serializer
Warning Disable (#6703) - a1a371d added real bounds checking to
ByteString.Slice
(#6709) - 9676cc1 remove redundant DefineConstants RELEASE (#6695)
- 48a6054 Bump Verify.Xunit from 19.14.0 to 19.14.1 (#6706)
- d2a4db3 Bump Verify.Xunit from 19.13.1 to 19.14.0 (#6701)
- d04a23c [CS0414]
AsyncWriteJournal
:_continuationOptions
value is never used (#6698) - faaf9b2 [CS1998]
ClusterHeartbeatReceiverSpec
This async method lacksawait
operators (#6699) - dcdf45f remove duplicate copyrights (#6696)
- 7533c92 [CS0168]
ShardRegion
(#6700) - 0bf9082 Bump Google.Protobuf from 3.22.1 to 3.22.3 (#6648)
- 0f3b42d Bump Verify.Xunit from 19.13.0 to 19.13.1 (#6692)
- 468f167 [CS0618]
StreamRefsSpec
Sink.ActorRef<TIn>(IActorRef, object)
is obsolete (#6691) - 79425f6 [CS0618]
ActorRefSinkSpec
Sink.ActorRef<TIn>(IActorRef, object)
is obsolete (#6690) - 331dc1b [Fix][CS0168]
RemoteDeploymentDeathWatchSpec
- The variable 'ex' never used (#6681) - 9b532ac [CS0660][CS0661]
TestActorRef
Warning Disable (#6686) - f55da53 [CS0618][Stage] Warning Disable (#6676)
- 4b8924d Bump back to
FSharp.Core
6.0.5
(#6688) - 54259a3 [Fix][CS0169]
RemoteReDeploymentSpec
- The field_identify
is never used (#6682) - 0c1120e [DependencyInjection] Stashing actor spec (#6689)
- 7e1cc7b [Issue #6667] New methods and tests to enable "ExpectAll" with Predicates (#6668)
- 1f029df [fix][DependencyResolverSetup] Ambiguous reference in cref attribute (#6678)
This list of changes was auto generated.
Akka.NET v1.5.4
1.5.4 April 25th 2023
IStash Enhancements
IStash
API have been improved with metrics API and its bound/capacity can be programatically set. Documentation can be read here
If 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
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 |
Changes:
- b688e5c Update RELEASE_NOTES.md for 1.5.4 release (#6677)
- 342ea04 [15-74]
FlowInitialDelaySpec
(#6671) - b63df56 [CS0618][IWithboundedStash]Warning disable (#6669)
- 6ea39d3 [19-74]
FlowKillSwitchSpec
(#6563) - f3dddac [14-74]
FlowIdleInjectSpec
(#6558) - 272ea2d [13-74]
FlowGroupedWithinSpec
(#6557) - 1877a0e Akka.Actor: bounded
IStash
programmatic configuration (#6661) [ #6658 ] - f79c26d disable Akka.Streams.Tests.Dsl.HubSpec.MergeHub_must_work_with_long_streams_when_buffer_size_is_1 (#6665)
- fd4860b EventStream deadLetters doc has been improved (#6662) [ #5334 ]
- 7c2ace9 Bump Verify.DiffPlex from 2.2.0 to 2.2.1 (#6663)
See More
- 11420a6 Bump Verify.Xunit from 19.12.3 to 19.13.0 (#6664)
- b3e27a9 [12-74]
FlowFromTaskSpec
(#6556) - 58435a0 [11-74]
FlowForeachSpec
(#6555) - 4642f56 [10-74]
FlowDetacherSpec
(#6554) - 8b6c0ff Akka.Actor:
IStash
API and configuration enhancements (#6660) [ #6658 ] - 61fb874 Fix
IsolationLevel
bugs (#6659) - 2fe0143 Added v1.5.4 placeholder for nightlies
This list of changes was auto generated.
Akka.NET v1.5.3
1.5.3 April 20th 2023
- Persistence.Sqlite: Bump Microsoft.Data.SQLite to 7.0.5
- Serialization.Hyperion: Fix bug: surrogate and known type provider not applied correctly by Setup
- Akka: Bump Microsoft.Extensions.ObjectPool to 7.0.5
- Persistence.Sql.Common: Add transaction isolation level to SQL queries
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 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.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
23 | 1284 | 1248 | Ebere Abanonu |
4 | 7 | 7 | dependabot[bot] |
3 | 933 | 267 | Gregorius Soedharmo |
2 | 4498 | 4407 | Aaron Stannard |
Changes:
- 26f52a9 Update RELEASE_NOTES.md for 1.5.3 release (#6656)
- 4537b1c Add SQL query isolation level (#6654)
- f48394e [9-74]
FlowConcatSpec
(#6553) - 5164c8d Bump Microsoft.Extensions.ObjectPool from 7.0.4 to 7.0.5 (#6644)
- 37903d2 Fix Hyperion setting setup code (#6655)
- 2aa497a Bump Verify.Xunit from 19.12.1 to 19.12.3 (#6652)
- 3b76b12 updated all file headers to 2023 (#6649)
- 3828b70 [20-74]
FlowMergeSpec
(#6567) - 220cffb [21-74]
FlowOnCompleteSpec
(#6569) - c1cbb7f [22-74]
FlowPrefixAndTailSpec
(#6570)
See More
- 1a8d495 [24-74]
FlowRecoverWithSpec
(#6572) - addb9fb [17-74]
FlowIteratorSpec
(#6561) - c083fcd [23-74]
FlowRecoverSpec
(#6571) - b1f6e2d [Obsolete] warning disable CS0618 (#6646)
- fdeedb8 Bump Microsoft.Data.SQLite from 7.0.4 to 7.0.5 (#6643)
- beaf727
Akka.FSharp.*fsproj
: warning NU1504: Duplicate 'PackageReference' items found (#6641) - ad49624 WARNING CS0105 (#6645)
- ff52eff [26-74]
FlowSelectAsyncSpec
(#6573) - 3c02d9e [27-74]
FlowSelectAsyncUnorderedSpec
(#6574) - 2dd7d26 [31-74]
FlowSplitAfterSpec
(#6578) - f13062e Bump for 1.5.3 nightlies
- 1ebbb4d [37-74]
FlowWatchTerminationSpec
(#6584) - 2042810 [28-74]
FlowSelectErrorSpec
(#6575) - 6234c39 [29-74]
FlowSkipWhileSpec
(#6576) - 89dc26d Bump Verify.Xunit from 19.12.0 to 19.12.1 (#6637)
- db52ac3 Lock persistence journal table on write (#6639)
- e4ac8fd [33-74]
FlowSumSpec
(#6580) - 7e3befa [32-74]
FlowSplitWhenSpec
(#6579) - fd322e9 [30-74]
FlowSlidingSpec
(#6577) - 0d6ec15 [2-74]
ActorRefSourceSpec
(#6552) - 146929f [38-74]
FlowWhereSpec
(#6585) - 607de41 [47-74]
GraphUnzipSpec
(#6594) - b218c7f Fix in
CS4014
(#6633)
This list of changes was auto generated.
Akka.NET v1.5.2
1.5.2 April 5th 2023
There are some major behavioral changes introduced to Akka.Cluster and Akka.Persistence in Akka.NET v1.5.2 - to learn how these changes might affect your Akka.NET applications, please see our Akka.NET v1.5.2 Upgrade Advisories on the Akka.NET website.
- Akka.Remote: Remove secure cookie from configuration
- DData: Remove unused _pruningPerformed and _tombstonedNodes variables
- Akka.Persistence: Remove default object serializer in Sql.Common
- Akka.Cluster: Log send time in verbose heartbeat message
- Akka.Streams: Optimize ForEachAsync
- Akka: Implement alternative AtomicState leveraging WaitAsync
- Akka.Streams: Use correct capacity when creating DynamicQueue when FixedQueue is full
- Akka.Cluster: Enable keep majority split brain resolver as default
If you want to see the full set of changes made in Akka.NET v1.5.2, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
56 | 2580 | 2913 | Ebere Abanonu |
5 | 201 | 82 | Aaron Stannard |
4 | 754 | 558 | Ismael Hamed |
3 | 4 | 4 | dependabot[bot] |
2 | 33 | 12 | Sergey Popov |
1 | 511 | 53 | Gregorius Soedharmo |
1 | 1 | 1 | ondravondra |
1 | 0 | 2 | Simon Cropp |
Changes:
- 4ffa22a Fix README to include links to Akka.Hosting and Akka.Templates (#6636)
- 3fdae60 Update RELEASE_NOTES.md for v1.5.2 release (#6635)
- e53c7b0 Akka.Cluster: enable
keep-majority
default SBR (#6628) - b3cd8b7 [35-74]
FlowTakeWithinSpec
(#6582) - f57bab7 [34-74]
FlowTakeWhileSpec
(#6581) - f798e2e [36-74]
FlowThrottleSpec
(#6583) - a11f191 [40-74]
FlowZipSpec
(#6587) - bca2ce2 Bump Verify.Xunit from 19.11.2 to 19.12.0 (#6630)
- 2534f52 [39-74]
FlowWireTapSpec
(#6586) - 02d2ec2 [41-74]
GraphBalanceSpec
(#6588)
See More
- 81a710a [42-74]
GraphBroadcastSpec
(#6589) - 48c8077 [43-74]
GraphConcatSpec
(#6590) - 6220253 [45-74]
GraphPartitionSpec
(#6592) - e052a78 use correct capacity when creating DynamicQueue when FixedQueue is full (#6632)
- d925fd5 [44-74]
GraphMergeSpec
(#6591) - 5d68c3a [46-74]
GraphStageTimersSpec
(#6593) - f2737fe [48-74]
GraphUnzipWithSpec
(#6595) - bdc526b [49-74]
GraphWireTapSpec
(#6596) - fb7bd28 [50-74]
GraphZipSpec
(#6597) - a58cab8 [51-74]
GraphZipWithSpec
(#6598) - 0ae9228 [52-74]
HeadSinkSpec
(#6599) - 4e6817d [53-74]
LazyFlowSpec
(#6600) - 95c1266 [54-74]
LazySinkSpec
(#6601) - 2f402be [55-74]
LazySourceSpec
(#6602) - 707c370 [57-74]
NeverSourceSpec
(#6605) - 8fbd281 [58-74]
ObservableSinkSpec
(#6606) - 5dab14b [60-74]
PublisherSinkSpec
(#6608) - 5636752 [61-74]
QueueSinkSpec
(#6609) - 5159b71 [62-74]
QueueSourceSpec
(#6610) - e18567a [63-74]
SinkForeachParallelSpec
(#6611) - 9135b85 [WARNING] CS0628:
new protected member declared in sealed type
(#6626) - 0b8cc60 [67-74]
UnfoldResourceSourceSpec
(#6615) - a4dcfe1 [59-74]
ObservableSourceSpec
(#6607) - b78ce49 [56-74]
MaybeSourceSpec
(#6604) - 2e1a137 [65-74]
SubscriberSinkSpec
(#6613) - 725f44b [66-74]
SubstreamSubscriptionTimeoutSpec
(#6614) - d156ff4 Alternative implementation of
AtomicState
leveraging WaitAsync (#6109) - 7472bd5 [69-74]
KeepGoingStageSpec
(#6617) - 40fdc1b [70-74]
GraphStageLogicSpec
(#6618) - 154d842 [68-74]
ActorGraphInterpreterSpec
(#6616) - 485a7c4 [71-74]
FileSinkSpec
(#6619) - af943a9 [72-74]
FileSourceSpec
(#6620) - 8d72fe4 Increase timeout size on
MergeHub_must_work_with_long_streams_when_buffer_size_is_1
- e89f427 Fixed build status in
README.md
file (#6625) - 5e2b211 [64-74]
SourceSpec
(#6612) - fab1288 [74-74]
InputStreamSourceSpec
(#6622) - 3a75d0c [73-74]
InputStreamSinkSpec
(#6621) - 5da08f7 [Obsolete]
RunScript
(#6623) [ #6566 ] - 0a8e843 fix MergeHub_must_work_with_long_streams_when_buffer_size_is_1 (#6564)
- d1299d0 Akka.Streams: fix race conditions with synchronous file sink specs (#6565)
- 091b817 [Obsolete] GetFirstAttribute (#6624)
- 7f080e9 skip racy
TickSourceSpec
(#6566) - 8729c00 [16-74]
FlowInterleaveSpec
(#6560) - 23245ae [18-74]
FlowJoinSpec
(#6562) - 947e1ed
ForEachAsync
optimization, added missingSinkForeachAsyncSpec
(#6538) - 1a03706 Cluster heartbeat creation_time to TimeSpan fix. (#6551)
- c20e28f [8-74]
FlowConcatAllSpec
(#6549) - b07771a log send time in verbose heartbeat messages #6496. (#6548)
- 0f701e9 [6-74]
FlowAskSpec
(#6545) - 6784296 [4-74]
FlowAggregateAsyncSpec
: ChangeAssertAllStagesStopped
toAssertAllStagesStoppedAsync
(#6543) - 996cac7 remove the
Obsolete
attribute (#6547) - f5924ea [5-74]FlowAggregateSpec (#6544)
- 29b56ab [3-74]
BidiFlowSpec
: ChangeAssertAllStagesStopped
toAssertAllStagesStoppedAsync
(#6542) - 29da910 Change
AssertAllStagesStopped
toAssertAllStagesStoppedAsync
-ActorRefBackpressureSinkSpec
! (#6539) - 6351bd9 [7-74]
FlowBufferSpec
(#6546) - fd41c70 Bump Verify.Xunit from 19.11.1 to 19.11.2 (#6535)
- dc232c6 Cs1711 xml typeparam (#6531)
- f30eb07 remove
EnumeratorInterpreter
fromAkka.Streams.Implementation.Fusing
(#6533) - 060cf9c Bump Microsoft.Extensions.ObjectPool from 7.0.3 to 7.0.4 (#6517)
- a1d663f [Obsolete][CS0618]
AwaitResult
>Use ShouldCompleteWithin instead
(#6498) - 7ca22af Fix broken object type serializer in QueryExecutor (#6528)
- f7c30f7 remove unused _pruningPerformed and _tombstonedNodes (#6526)
- 49c0703 Drop support for
.NETCore3.1
in Tests and samples (#6529) - 3d7c0e1 [obsolete]
ExpectNext(params T[] elems)
(#6505) - 9707dbe Remove secure cookie (#6515)
This list of changes was auto generated.
Akka.NET v1.5.1
1.5.1 March 15th 2023
- Akka.Persistence: Improve memory allocation
- Akka.Persistence: Implement persistence query in InMemory journal
- Akka: Fix bugs reported by PVS-Studio static analysis
- Akka: Bump Google.Protobuf to 3.22.1
- Akka.Persistence.Sqlite: Bump Microsoft.Data.SQLite to 7.0.4
- Akka: Fix StackOverflow exception in NewtonSoftSerializer
If you want to see the full set of changes made in Akka.NET v1.5.1, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
9 | 425 | 331 | Ebere Abanonu |
5 | 6 | 6 | dependabot[bot] |
3 | 2399 | 109 | Sergey Popov |
1 | 97 | 4 | Gregorius Soedharmo |
1 | 2 | 2 | Aaron Stannard |
1.5.0 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. 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.
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 |
1.5.0-beta5 February 28th 2023
Version 1.5.0-beta5 contains breaking API changes and new API changes for Akka.NET.
- Akka.Cluster: Remove
JoinAsync
andJoinSeedNodesAsync
default timeout values - Akka.Event: expose
Args()
onLogMessage
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
2 | 50 | 28 | Aaron Stannard |
1 | 22 | 32 | Gregorius Soedharmo |
1.5.0-beta4 February 28th 2023
Version 1.5.0-beta4 contains breaking API changes and new API changes for Akka.NET.
- Akka.Persistence.TCK: remove
IDisposable
from Akka.Persistence.TCK - this hid methods from theTestKit
base classes. - Akka.Remote: Make transport adapter messages public - adds back public APIs from v1.4.
- Akka.TestKit: fix accidental breaking changes in v1.5.0-beta3
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
2 | 110 | 37 | Aaron Stannard |
1 | 253 | 7 | Gregorius Soedharmo |
1.5.0-beta3 February 27th 2023
Version 1.5.0-beta3 contains breaking API changes and new API changes for Akka.NET.
- Removed a number of
Obsolete
APIs that were generally not used much. - Akka.Actor:
ActorSystem.Create
throwsPlatformNotSupportedException
on net7.0-android - Akka.Actor: Append message content to
DeadLetter
log messages - Akka.Streams: Use
ActorSystem
forMaterializer
- massive memory improvements for applications that materialize a large number of streams. - Akka.Persistence.Query.Sql: backpressure control for queries - full details on this here: https://petabridge.com/blog/largescale-cqrs-akkadotnet-v1.5/
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
14 | 68 | 794 | Gregorius Soedharmo |
5 | 997 | 498 | Aaron Stannard |
3 | 6 | 6 | dependabot[bot] |
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 |
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 |
1.5.0-alpha4 February 1st 2023
Version 1.5.0-alpha3 contains several bug fixes and new features to Akka.NET
Akka.NET v1.4.50
1.4.50 March 15th 2023
- Query.Sql: Fix PersistenceIdPublisher froze on failure messages
- Akka: Improve DeadLetter log message
- Akka: Fix StackOverflow exception in NewtonsoftJsonSerializer
- Akka.Persistence: Add Persistence.Query support to InMemory journal
- Akka: Fix bugs reported by PVS-Studio static analyzer
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
6 | 2402 | 241 | Gregorius Soedharmo |
Changes:
- 8372f75 Update RELEASE_NOTES.md for 1.4.50 release (#6523)
- 42f9d9d [BACKPORT #6497] Fix of PVS-Studio warnings. (#6521)
- 3970e40 [BACKPORT #6409] Realization of Persistence Query for InMemory Read Journal (#6520)
- 5a697ec [BACKPORT #6503] Fix
StackOverflow
exception whenNewtonsoftJsonSerializer
tries to deserialize aJObject
inside anobject
field (#6522) [ #6502 ] - 3a85e17 Append message content to deadletter log message (#6448) (#6492)
- a455019 Fix ActorTelemetrySpecs pool router unit test (#6376)
- 7cee0ed [BACKPORT #6374] Fix PersistenceIdsPublisher hung on failure messages (#6375)
- 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)
See More
- 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)
- 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 ]
- 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) - d914eb3 converted build system to .NET 7.0 (#6263)
- 7068ba9 cleaned up duplicate System.Collections.Immutable package reference (#6264)
- 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) - 5f496e8 Update RELEASE_NOTES.md for 1.4.45 release (#6202)
- 90dde25 Revert ConfigurationException due to binary incompatibility (#6201)
- 79c652f added v1.4.44 release notes (#6197)
- 183ec5a removed boxing allocations inside
FSM
(#6183) - cc3a361 [BACKPORT #6173] Add HashCodeMessageExtractor factory (#6182)
- aca6850 Fix DbCommand.CommandTimeout (#6175) (#6180)
- 7e9e58f [BACKPORT #6166] Eliminate
DefaultLogMessageFormatter
allocations (#6168) - 5f8710d Improve error/exception message for misconfigured cluster provider (#6167)
- 23e5d92 make
DedicatedThreadPool.QueueUserWorkItem<T>
generic (#6156) - 234bb8f Reduce
FSM<TState, TData>
allocations (#6145) [ #2560 ] - a2b27a7 Make
Envelope
a reference type again (#6137) - bf273d9 added actor messaging pressure benchmark (#6147)
- 4b1a746 remove delegate allocation from
ForkJoinDispatcher
andDedicatedThreadPool
(#6143) - f4402cb close #2560 - added performance benchmarks for FSM (#6144)
- 77d92fe Added Dispatcher Benchmarks (#6140)
- 1cee4d5 eliminate mailbox delegate allocations (#6134)
- 7441faa WIP queue benchmarks (#6127)
- 80cc680 Update RELEASE_NOTES.md for 1.4.43 (#6122)
- 86a0679 Fix GetEntityLocation use wrong actor path (#6120)
- 1f131d2 Fixing README.md URLs for v1.4 (#6115)
- bfdd559 close #5375 - made README.md NuGet-friendly (#6112)
- 256235b cleaned up NuGet package descriptions (#6111)
- 9d8f38a Update RELEASE_NOTES.md for v1.4.42 release (#6110)
- 231c8c9 Akka.Cluster.Sharding
GetEntityLocation
Query (#6101) - e2b1d73 [Akka.TestKit] TestKitBase should take arbitrary ActorSystem without throwing (#6092) (#6094)
- 63639b9 Change TestKitBase.InitializeTest to virtual so it can be deferred (#6093)
- 03190b5 Require verbose logging for more gossip send/receive log statements. (#6089) (#6091)
- 07b5b15 Update RELEASE_NOTES.md for 1.4.41 release (#6088)
- 1a1c4b6 Regenerate all protobuf messages (#6087)
- a0f0032
AkkaPduCodec
serializer benchmark (#6078) (#6086) - bfba848 [BACKPORT] #6080 Extend DistributedData Replicator settings with VerboseDebugLogging switch (#6084)
- 3dff658 enabled
Directive.Resume
to log the fullException
(#6070) - c8b46b4 Fix faulty AddLogger in LoggingBus (#6028)
- fc2ed1a Update RELEASE_NOTES.md for 1.4.40 release (#6046) [ #6048 ]
- fc777f3 Cherry-picked from 0c92aac (#6048)
- 7293c6e [BACKPORT #6044] Add IAsyncEnumerable as Akka.Streams Source (#6047)
- 2d4cbb5 [BACKPORT #6038] SSL Configuration fails even EnbleSsl property is set to false (#6043)
- 9db6ec2 These changes shouldn't change the test intent, they should be safe. (#6006)
- 5e1b066 Add Cluster.Sharding ActorInitializationException spec (#5999)
- 8e8f6a3 Model-based tests for
PersistentShardCoordinator.State
(#5974) - 97b4bd8 added v1.4.39 release notes (#5977)
- 36bc254 Fix sharding tolerant reader (#5976)
- 0e7cd06 Trap all exception thrown while trying to dispatch messages in Akka.Remote.EnpointReader (#5971)
- 4fa7abb Allow
PersistentShardCoordinator
to tolerate duplicateShardHomeAllocated
messages (#5967) [ #5604 ] - 9260924 pass
Akka.Cluster.Cluster
intoIDowningProvider
directly (#5965) [ #5962 ] - 67f6737 Update RELEASE_NOTES.md for v1.4.38 release (#5922)
- f60f585 enable
ChannelTaskScheduler
to work inside Akka.Cluster without causing errors inside/system
a...