1.4.1 March 11 2020
Major release for Akka.NET 1.4
Akka.NET v1.4 is a non-breaking upgrade for all Akka.NET v1.3 and earlier users. It introduces many new features, all of which can be found in our "What's new in Akka.NET v1.4" page.
Major changes include:
- Akka.Cluster.Sharding and Akka.DistributedData are now out of beta status and are treated as mature modules.
- Akka.Remote's performance has significantly increased as a function of our new batching mode (see the numbers) - which is tunable via HOCON configuration to best support your needs. Learn how to performance optimize Akka.Remote here.
- Added new Akka.Cluster.Metrics module to measure and broadcast the performance of each node, also includes some routers that can use this information to direct traffic to the "least busy" nodes.
- Added Stream References to Akka.Streams, a feature which allows Akka.Streams graphs to span across the network.
- Moved from .NET Standard 1.6 to .NET Standard 2.0 and dropped support for all versions of .NET Framework that aren't supported by .NET Standard 2.0 - this means issues caused by our polyfills (i.e. SerializableAttribute) should be fully resolved now.
- Moved onto modern C# best practices, such as changing our APIs to support
System.ValueTuple
over regular tuples.
And hundreds of other fixes and improvements. See the full set of changes for Akka.NET v1.4 here:
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
199 | 41324 | 26885 | Aaron Stannard |
46 | 63 | 63 | dependabot-preview[bot] |
34 | 16800 | 6804 | Igor Fedchenko |
13 | 11671 | 1059 | Bartosz Sypytkowski |
10 | 802 | 317 | Ismael Hamed |
7 | 1876 | 362 | zbynek001 |
6 | 897 | 579 | Sean Gilliam |
5 | 95 | 986 | cptjazz |
5 | 4837 | 51 | Valdis Zobēla |
5 | 407 | 95 | Jonathan Nagy |
5 | 116 | 14 | Andre Loker |
3 | 992 | 77 | Gregorius Soedharmo |
3 | 2 | 2 | Arjen Smits |
2 | 7 | 7 | jdsartori |
2 | 4 | 6 | Onur Gumus |
2 | 15 | 1 | Kaiwei Li |
1 | 65 | 47 | Ondrej Pialek |
1 | 62 | 15 | Mathias Feitzinger |
1 | 3 | 3 | Abi |
1 | 3 | 1 | jg11jg |
1 | 18 | 16 | Peter Huang |
1 | 1 | 2 | Maciej Wódke |
1 | 1 | 1 | Wessel Kranenborg |
1 | 1 | 1 | Greatsamps |
1 | 1 | 1 | Christoffer Jedbäck |
1 | 1 | 1 | Andre |
Changes:
- b15d3a9 Merge pull request #4325 from akkadotnet/dev
- bedc54c added v1.4.1 final release notes (#4323)
- 70f37ec DData Replicator deserialize ORMultiValueDictionary as ORDictionary causing invalid cast exception (#4317) [ #4302 ]
- 00f7271 Gracefully handle exception throw in SnapshotOffer (#4322)
- 68e7215 addressing future RCs and releases (#4321)
- 169041c added v1.4.1-RC3 release notes (#4320)
- 91ece59 Revert common sealing (#4319)
- 5ac0c7e added missing API checks (#4318)
- 411fb07 V1.4.1 rc2 release notes (#4316)
- bb4e7d9 Reintroduce old HOCON, lay groundwork for gradual introduction of HOCON stand-alone (#4299)
See More
- 8850f8d Fix IActorRef leaks in AddressTerminatedTopic when entity terminates immediately after unwatching a remote actor. (#4305) (#4308)
- ab76895 Fix atomic updates of AddressTerminatedTopic._subscribers. Also, optimize the implementation to not take copies on Subscribe() or Unsubscribe(). (#4307) (#4309)
- 1397ea0 harden RemoteActorsLeakSpec (#4315)
- 085a721 FIX: #4079 sqlite table name was hardcoded (#4313)
- f1bc8e1 fixed some racy Akka.Streams specs (#4312)
- c726f11 SAEA already in use error fix (#4301)
- 717fb24 Nbench 2.0 Integration (Akka.NET v1.4) (#4298)
- 2214914 Revert "explicitly support CI for the v1.3 branch (#4294)" (#4297)
- 8265282 explicitly support CI for the v1.3 branch (#4294)
- 0948525 updated copyright headers to 2020 (#4289)
- b06190c Update "what's new in 1.4" page (#4287)
- 4dd996e add-title-to-build-docs (#4286)
- d820e98 updated build system documentation (#4285)
- 16b6d18 Bump FsCheck.Xunit from 2.9.0 to 2.14.1 (#4284)
- 451b127 Bump FsCheck from 2.14.0 to 2.14.1 (#4283)
- 921ef34 Merge pull request #4282 from akkadotnet/dev
- 5cd8a45 added Akka.NET v1.4.1-rc1 release notes (#4281)
- 850dc73 v1.4.0 migration guide (#4280) [ #4279 ]
- 4fdbdb2 removed beta status from Akka.Cluster.Sharding and Akka.DistributedData (#4275)
- 2a3dec5 Bump Hocon.Configuration from 2.0.1 to 2.0.3 (#4276)
- bc14a9d ClusterRouter no routees on startup (#4272)
- ad50778 unregister AppDomain.ProcessExit event handler after ActorSystem terminates (#3846) [ #3735 ]
- fc687b5 Internalize types 2 (#4242)
- 0b52cb5 Bump Hyperion from 0.9.14 to 0.9.15 (#4266)
- eb7fc9f Racy test pruning (#4268)
- 549ff8a per #3786 - harden DData.Tests.WriteAggregatorSpecs (#4269)
- 7abe24a Internalize types 1 (#4238)
- 1cc107d disable Akka.Remote DotNetty batching system inside TestKit by default (#4257)
- c97e5b6 enable remember-entities with DData Cluster.Sharding (#4255)
- 97fa6ed close #2805 - remove Akka.Persistence.PersistentView (#4263)
- fa78b8b ActorCell cleanup (#4211)
- 6835ff1 fixed invalid HOCON with DisallowJoinOfTwoClusterSpec (#4260)
- f22f86d Migrating DData to Google.Protobuf wire format (#4212)
- 6e9a7f4 harden DispatchersSpec (#4259)
- 5052b65 hardened BackoffSupervisorSpec (#4258)
- c867e13 Disable racy Remoting and Core specs (#4256)
- c102dd9 Racy specs: Akka.Streams (#4209) [ #3786 ]
- 94c15d4 close #3879 - disable buffer pooling in DotNetty transport (#4252)
- 4ace339 close #4246 - no throw inside EndpointReader (#4249)
- ed90302 standardized on HOCON 2.0.1 (#4248)
- 618a39a fix RemotePingPong benchmark HOCON (#4250)
- cd607da Create documentation for the new standalone Hocon integration (#4228)
- 6293948 close #4234 - added CachingConfig back (#4239)
- 8ab21dc Bump LightningDB from 0.10.0 to 0.11.0 (#4236)
- 486147e Bump Microsoft.Extensions.DependencyModel from 3.1.1 to 3.1.2 (#4233)
- faaf563 Bump Microsoft.Data.SQLite from 3.1.1 to 3.1.2 (#4237)
- b78c132 Arkatufus/#4221 performance regression (#4231)
- 23706fb Bump FsPickler from 5.3.1 to 5.3.2 (#4230)
- 9aa3b5e Bump Google.Protobuf from 3.11.2 to 3.11.4 (#4225)
- 397caef ActorSpawn benchmark tweaks (#4227)
- adb173d Bump FsPickler from 5.3.0 to 5.3.1 (#4224)
- c19b2d0 Migrating to stand-alone HOCON (#4128)
- 4a2d48e upgrade to Incrementalist 0.2.2 (#4222)
- 4087d01 Migrate entire build system and test runtime to .NET Core 3.1 (#4216)
- 2d93eea Improve racy spec (#4217)
- da868dc Bump Hyperion from 0.9.13 to 0.9.14 (#4214)
- 2abca05 DData: enable and fix Jepsen inspired insert spec (#4210) [ #3078 ]
- fd491d7 Fix/3129 pubsub - reworking MNTR specifications (#4207) [ #3129 ]
- d979221 disabling deadletter logging by default in MNTR (#4208)
- bd57643 disabling the MNTR TCP transport from logging (#4206)
- 9739349 enable DData ReplicatorChaosSpec (#4205)
- 49f5621 harden ClusterClientSpec (#4152)
- eed654d harden NodeChurnSpec (#4150)
- 71a290a enabled DData MNTR ReplicatorPruningSpec (#4196) [ #3080, #4198, #4199, #4200 ]
- f3236f4 fix race conditions with node exits in MNTR (#4204)
- 5f896ef Bump Microsoft.NET.Test.Sdk from 16.4.0 to 16.5.0 (#4193)
- 0c31601 Bump FsPickler from 5.2.2 to 5.3.0 (#4202)
- 7b5d87b added Akka.DistributedData to Akka.Cluster friends list (#4201)
- 48ffec2 Bump Hyperion from 0.9.12 to 0.9.13 (#4197)
- 290d6d7 Fix DataEnvelope merge bug (#4185) [ #4184 ]
- ef25997 disable Sharding_and_CoordinatedShutdown_must_run_successfully spec - racy (#4194)
- 4e2aaf5 #3786 - make CoordinatedShutdownShardingSpec use murmur hash for shard distributions (#4186)
- 1d5e80d Akka.Persistence.TCK.SnapshotStoreSpec ignores ShouldSerializeSnapshots if SupportsSerialization == false (#4190)
- 1db112d Using environment variable to detect MNTR (#4189)
- 8dcbd59 fix DData ReplicatorSpec (#4178) [ #3075 ]
- 3b4e3db Added test details loading exception handling (#4180)
- 9071ce8 #2892 - TestKit: create child actors via TestProbe (#4148)
- 3517103 close #3954 - properly push .snupkg files to NuGet feed (#4176)
- d185948 V1.4.0 beta4 release notes (#4174)
- 595a5a8 modified build script so if there's a beta version in the release notes, that ges automatically included in the NuGet package metadata (#4175)
- 1aed8a7 added real header to Akka.Remote performance page (#4173)
- 386c495 writing Akka.Remote performance optimization document (#4172)
- 5dbb7cc upgrade DocFx to v2.48.1 (#4171)
- 5bcdd19 Fix metrics documentation examples (#4170)
- 11ccebe Add documentation for Akka.Cluster.Metrics (#4168)
- 282ee9e Bump Hyperion from 0.9.11 to 0.9.12 (#4149)
- 8bf2d8d disable parallelism in Akka.Cluster.Metrics specs (#4167)
- 61f2646 Update MNTR docs according to features added (#4153)
- f068b09 Akka.Cluster.Metrics extension implementation (#4126)
- 6febe56 Update cluster-sharding.md (#4164)
- 39e96e8 Add inner exceptions to spec failure report (#4163)
- faa92fb Fix racy test: Akka.Cluster.Sharding.Tests.CoordinatedShutdownShardingSpec.Sharding_and_CoordinatedShutdown_must_run_successfully (#4158)
- 1efeb36 Using async API and increased timeouts (#4159)
- f783b82 Fix racy test: Akka.Tests.IO.TcpIntegrationSpec.Should_fail_writing_when_buffer_is_filled (#4160)
- d383e12 Added xunitSettings.props to all test assemblies (#4157)
- 98aae17 Hocon toString() with correct fallback behavior (#3893) [ #3886 ]
- 0b9f716 disable parallelism in Akka.Cluster.Sharding.Tests (#4154)
- c199182 Add unneeded API Approval output to .gitignore (#4155)
- c9d7e08 Standardize serialized type manifest lookup process (#4151)
- cd11064 Akka.Remote: improved write performance with DotNetty flush-batching (#4106)
- 1191a20 Bump System.Configuration.ConfigurationManager from 4.5.0 to 4.7.0 (#4131)
- 222e126 Bump Microsoft.Extensions.DependencyModel from 3.1.0 to 3.1.1 (#4144)
- 591e36b Bump Microsoft.Data.SQLite from 3.1.0 to 3.1.1 (#4145)
- 41cb5a1 Added missing brackets in HOCON test configs (#4147)
- 30a1010 Remove/disable pooling by default when working with Tcp SAEA (#4140)
- 634f20b Refactor TaskEx API to deprecate pre-4.6.1 methods (#4135)
- 4463fcb Close collection to TcpConnection actor on test runner stop (#4139)
- 46ff564 Add initializer for console properties - #2432 (#4133)
- cff47b3 add Partition in Fan-out stage (#4134)
- 0ec6001 Bump Google.Protobuf from 3.10.1 to 3.11.2 (#4129)
- 4ea192c Bump TeamCity.ServiceMessages from 3.0.12 to 3.0.13 (#4132)
- f63ef42 Bump Microsoft.SourceLink.GitHub from 1.0.0-beta2-19554-01 to 1.0.0 (#4130)
- e1771b5 Bump System.Collections.Immutable from 1.6.0 to 1.7.0 (#4123)
- 4aec3a7 Bump System.Reflection.TypeExtensions from 4.6.0 to 4.7.0 (#4125)
- 3672331 Bump Microsoft.Extensions.DependencyModel from 3.0.1 to 3.1.0 (#4121)
- 3022329 Bump Microsoft.Data.SQLite from 3.0.1 to 3.1.0 (#4124)
- ae9449d Bump FsPickler from 5.2.0 to 5.2.2 (#3982)
- dc09eec Bump System.Reflection.Emit from 4.6.0 to 4.7.0 (#4122)
- 70d4a7a Bump FSharp.Core from 4.5.0 to 4.7.0 (#4046)
- 4c61c9f detect and run F# projects during incremental builds (#4118) [ #4117 ]
- 8481623 use .NET Standard 2.0 and later as only build target (#3944) [ #3851 ]
- 41ff337 modify build system to support wildcard PR triggers (#4113)
- 63472ea Add MNTR aggregated failure logs to artifacts (#4100)
- 4eb5a5d Akka.Remote: don't log aborted connection as disassociation error (#4101)
- 3468e57 increased RemotePingPong by an order of magnitude (#4108)
- 3110260 close #4099 - made ActorSystem.Dispose method block until WhenTerminated.IsComplete == true (#4105)
- 2c03627 Increase default number of nodes for cluster failure detection (#4097)
- 51ed45f TypeExtensions.TypeQualifiedName like in Hyperion (#4071)
- d228f94 Fix #4083 - Endpoint receive buffer stack overflow (#4089)
- 32325b9 Convert to ImmutableHashSet for consistency in comparison (#4090)
- ff486da close #4087 - enable akka.cluster.allow-weakly-up-members by default (#4088)
- 2486edf Remove string interpolation from cluster logs (#4084)
- c9249f1 Made cleanup call thread-safe (#4081)
- 6a29065 Added async API to Akka.TestKit (#4075)
- 4a91b7c Fix/inbox actor reference (#4073)
- be08805 Detailed error message on sending Tcp.Close to TcpManager (#4068)
- 728a3d1 Changed to 'user guardian'. (#4070)
- 0ab7ee1 StreamRef can be sent over wire in POCO envelope (#4063)
- a71bf97 Taking current locate into account (#4069)
- 2df679e Logging and buffering Tcp.Write before Tcp.Register received (#4062)
- cb91d7f MNTR logs representation improvements (#4067)
- 9447976 Added delayed heartbeat logging (#4057)
- fb54c8f Fix MNTR failure (#4061)
- 63192fb Fix actor terminated exception from TcpListener actor (#4058)
- a4b0533 Update Akka.IO.TcpConnection implementation to use Socket.SendAsync method (#4022)
- 6e07bfc NRE fix (#4056)
- 5cf8002 Add timeout to abort joining of seed nodes (#3863)
- 51f1d7e Bump Microsoft.Data.SQLite from 3.0.0 to 3.0.1 (#4052)
- 07e9ad8 Stop DeadLetterListener on terminate if LogDeadLettersDuringShutdown is disabled (#4042)
- 42cfae6 Context.WatchWith memory leak fix (#4047)
- 408b00b Bump Microsoft.Extensions.DependencyModel from 1.1.2 to 3.0.1 (#4049)
- 6925d78 updated Incrementalist to v0.2.1 to solve NRE issues (#4048)
- 9213363 Fix state non-empty check when starting HandOffStopper (#4043)
- e37dc8c Bump Google.Protobuf from 3.10.0 to 3.10.1 (#4039)
- a635d43 modernized EventSourced.Recovery to use C#7 language features (#4036)
- 0542c26 Merge pull request #4038 from Aaronontheweb/v1.3.16-backport-sync
- 66cc10f Merge branch 'dev' into v1.3.16-backport-sync
- 339eac5 Bump Hyperion from 0.9.10 to 0.9.11 (#4034)
- bcf71db Bump Microsoft.NET.Test.Sdk from 16.3.0 to 16.4.0 (#4033)
- 983e0ea Bump Microsoft.SourceLink.GitHub (#4028)
- 16ada54 Bump Microsoft.Data.SQLite from 2.2.3 to 3.0.0 (#4027)
- 3d72705 Bump Newtonsoft.Json from 9.0.1 to 12.0.3 (#4030)
- cc0c4ef cleaning up Akka.Persistence internals (#4025)
- 0f7b997 Bump FsCheck from 2.9.0 to 2.14.0 (#4024)
- cfe7693 Add AsFlowWithContext extension method (#4023)
- 0c357c1 Akka.IO.Tcp benchmark with parallel clients (#4019)
- 0799075 Add Akka.IO.Tcp benchmark (#4015)
- cd80abc Merge DocExamples.sln (#4005)
- 368a705 added v1.4.0-beta3 release notes to common.props
- fc8c93d added v1.4.0-beta3 release notes (#4012)
- 6b5e6b1 Inject Address into LogSource (#3922) [ #3867 ]
- c474cb4 fix: build fails when SDK 3.0.100 is installed, second attempt (#3967) (#3970)
- 1e472f9 Bump System.Reflection.Emit from 4.3.0 to 4.6.0 (#3992)
- e5f1bc9 Bump Google.Protobuf from 3.9.1 to 3.10.0 (#3993)
- e458283 RebalanceWorker should watch shard regions (#4000) [ #27261 ]
- 9717c21 upgraded to Incrementalist v0.2.0 (#4009)
- 73e9719 Akka.Persistence.TCK.JournalSerializationSpec: made error messages in #3964 clearer (#4008)
- 7966624 missing singleton state change fix (#4003)
- c09c300 Moving to ValueTuples (#3973)
- 4de751a Akka.Persistence.TCK fix - check Persistent.Sender == DeadLetters (#4002)
- 103b745 Added missing Persistence Testing link to navbar (#4001)
- 5400ff9 Persistence TestKit documentation article (#3889)
- 157d0d5 close #3920 - only reference System.ValueTuple when building against .NET Framework (#3998)
- 8e92545 Bump Microsoft.NET.Test.Sdk from 15.9.0 to 16.3.0 (#3996)
- d168580 Bump System.Runtime.Extensions from 4.3.0 to 4.3.1 (#3990)
- ae24804 re-enabled DData serialization specs now that #3668 has been merged (#3994)
- c1c6578 Implement UnfoldInfinite + update Unfold to use Option class (#3988)
- a2c71e6 Bump LightningDB from 0.9.8 to 0.10.0 (#3987)
- adc323e Bump System.Collections.Immutable from 1.5.0 to 1.6.0 (#3979)
- bd4fda6 Bump Hyperion from 0.9.9 to 0.9.10 (#3984)
- e09098b Bump System.Reflection.TypeExtensions from 4.3.0 to 4.6.0 (#3978)
- 0155f32 Bump TeamCity.ServiceMessages from 3.0.8 to 3.0.12 (#3980)
- 3d471b1 Bump xunit.runner.utility from 2.2.0 to 2.4.1 (#3981)
- e4bef6e cleaned up some samples to use C#7 pattern matching (#3975)
- 0a6e405 Provide static GetRoutees.Instance property that holds a singleton in… (#3974)
- 7a49f8a Fixed singleton issue when leaving several nodes (#3962)
- 0533d1d Revert "fix: build fails when SDK 3.0.100 is installed (#3967) (#3968)" (#3969)
- 886de0c fix: build fails when SDK 3.0.100 is installed (#3967) (#3968)
- cda544c fix: NuGet symbols not published (#3954) (#3966)
- 0140c6a Fixed scheduling and cancelling receive timeout (#3963)
- 3345b1d TRX Reporter for MultiNode tests (#3904)
- ce6e68b Consolidated passivation check on settings used in region and shard (#3961)
- cd7e2de Upgrade to Hyperion v0.9.9 (#3960)
- e45516d Deprecate PersistentFSM+State.Using (#3955) (#3956)
- b893555 Revert "Fix nightly-build template (#3957)" (#3958)
- 60911cf Fix nightly-build template (#3957)
- ca99160 bump to XUnit 2.4.1 (#3951)
- 40188ad Akka.Persistence.Query: made Offset IComparable to itself (#3950) [ #3947 ]
- 4f433cd Merge pull request #3952 from akkadotnet/fix-readme-logo
- eb48f3c fixed-Akka-logo-readme
- 9b52cc5 fix: data provided to AndThen (PersistentFSM) is not the latest version (#3654) (#3948)
- 7530669 [docs] Move/update Sandcastle project (#3949)
- 7fb411d [docs] Fix several website issues (#3946)
- 444f205 delete HeliosTransport (#3945) [ #3851 ]
- 8ae6a15 [build] Fix CS0162 warnings (#3941)
- 5817a40 [xunit] Fix xunit warnings (#3940)
- c162d41 disabling AkkaProtocolStressTest (#3942)
- 7dddd0d close #3935 - Akka.Persistence.TCK.Query.TestActor now waits for delete confirmation before replying (#3936)
- fe4becc [xml-docs] Fixed broken xrefs / missing field refs (#3939)
- 4f984bc Support paths containing spaces in 'build.fsx' (#3925)
- 83bb9d3 removed global.json (#3927)
- 8c02bcf Fix build script to be able to run Fake from a path that contains spaces. (#3924)
- 5ad1629 Merge pull request #3932 from Aaronontheweb/v1.3.15-sync
- 3690c16 Merge remote-tracking branch 'akkadotnet/master' into v1.3.15-sync
- 0a8c039 added 2019 copyright headers (#3926)
- 1b118cb added v1.4.0-beta2 release notes (#3929)
- 24c20db deleted Akka.MultiNodeTestRunner.nuspec - not meant to be part of solution (#3928)
- 67d0020 added ability to support custom beta builds from commandline (#3923)
- 65b4f55 Fixed Akka.Remote.ResendUnfulfillableException: Unable to fulfill resend request since negatively acknowledged payload is no longer in buffer. (#3914) [ #3905 ]
- 9cbcbcf reorganize StreamRef implementation (#3919)
- b41eb43 Add MNTR documentation (#3901)
- 59e030c Update receive-actor-api.md (#3918)
- 36a7267 name AzureDevops artifacts per build (#3915)
- 338c5c8 cleaned up build status table in README (#3912)
- ee68a97 have DocsSamples.sln get ValueTuple version from Akka.NET project (#3911)
- bded491 Update and fix readme (#3910)
- 000d340 add System.ValueTuple reference (#3909)
- 319efc4 upgrade to Incrementalist v0.1.7 (#3906)
- 37be6a5 TestJournal and TestSnaphostStore (#3881)
- eed2681 close #3868 - increase Akka.Remote.TestKit TestConductor timeout to 30s by defualt (#3897)
This list of changes was auto generated.