Releases: akkadotnet/akka.net
Akka.NET v1.3.15 Stable Release
1.3.15 September 23 2019
Maintenance Release for Akka.NET 1.3
1.3.15 consists of non-breaking bugfixes and additions that have been contributed against the Akka.NET v1.4.0 milestone thus far.
This really only includes one major fix: a major issue with Akka.Remote, which caused unnecessary Quarantine
events.
We highly recommend upgrading to this build if you're using Akka.Remote or Akka.Cluster.
To see the full set of changes in Akka.NET v1.3.15, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
3 | 443 | 196 | Aaron Stannard |
Akka.NET v1.3.14 Stable Release
1.3.14 July 29 2019
Maintenance Release for Akka.NET 1.3
You know what? We're going to stop promising that this is the last 1.3.x release, because even though we've said that twice... We now have another 1.3.x release.
1.3.14 consists of non-breaking bugfixes and additions that have been contributed against the Akka.NET v1.4.0 milestone thus far. These include:
- Akka.Cluster.Sharding: default "persistent" mode has been stabilized and errors that users have ran into during
ShardCoordinator
recovery, such as Exception in PersistentShardCoordinator ReceiveRecover; - Akka.Remote: no longer disassociates when serialization errors are thrown in the remoting pipeline - the connection will now stay open;
- Akka.Cluster.Tools: mission-critical
ClusterClient
andClusterClientReceptionist
fixes; - SourceLink debugging support for Akka.NET; and
- Akka.Persistence: Allow AtLeastOnceDelivery parameters to be set from deriving classes;
- Akka.Persistence.Sql: BatchingSqlJournal now preserves Sender in PersistCallback; and
- Akka: bugfix - coordinated shutdown timesout when exit-clr = on.
To see the full set of changes for Akka.NET v1.3.14, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
22 | 2893 | 828 | Aaron Stannard |
3 | 1706 | 347 | zbynek001 |
2 | 37 | 114 | Ismael Hamed |
1 | 65 | 47 | Ondrej Pialek |
1 | 3 | 3 | Abi |
1 | 18 | 16 | Peter Huang |
1 | 1 | 2 | Maciej Wódke |
1 | 1 | 1 | Wessel Kranenborg |
1 | 1 | 1 | Kaiwei Li |
1 | 1 | 1 | jdsartori |
Changes:
- 14a26ef Merge pull request #3869 from Aaronontheweb/v1.3.14-backport2
- 9726db5 added updated Windows Release pipeline YAML file (#3873)
- c1f861a added v1.3.14 release notes
- e909e8d fixed compilation errors caused by backport
- f918475 disable incremental builds
- 59410e0 disabled v1.4.0-beta1 common.props insertion for Akka.Persistence.Sqlite.Tests.csproj
- 17386d3 ClusterClient fixes (#3866) [ #2535, #2312, #3840 ]
- c2e8fa9 fix typo in transports.md (#3865)
- 5d619ed Allow AtLeastOnceDelivery parameters to be set from deriving classes (as intended) (#3810)
- daacad7 Fix sharding recovery error and WithTransport serialization (#3744) [ #3414 ]
See more
- 150ff43 close #3783 - added SourceLink support (#3848)
- 57043aa Added nightly builds YAML definition for Azure DevOps (#3849)
- ecd50b9 ShardStats and ClusterShardingStats serialization fix (#3832) [ #3830 ]
- 14e5e84 reduce allocations in RemoteSystemDaemon ActorPath resolution (#3842)
- 754e6b8 Don't passivate idle for remembering entities (#3833)
- fecc2a3 catch NotSerializableException from deserialization, Migrated from #20641 (#3782) [ #24910 ]
- edd629f Updated CircuitBreaker documentation with correct exception (#3828)
- 271f6f4 Removed return of force exit task in coordinated shutdown, which caused timeout #3815 (#3816)
- 0bd45ae Changed subscriber lists to immutable collections (#3823)
- 806f103 fixed solution issues that prevented NuGet publication (#3819)
- ab4d436 close #3807 - fixed NRE with build.fsx when not running incrementally (#3818)
- d0766a5 Batch update with singleton/sharding fixes (#3780) [ #25854, #25274, #24442, #25639, #25710, #26336, #26339, #26793, #25648, #26061, #26012, #26101, #26214, #26451, #26452, #25782, #26819, #26878 ]
- 285cf5f sharding PassivateIdle fix (#3808)
- dfcd558 close #3796 - glob all artifact subfolderS (#3802)
- 856d237 close #3797 - moved 'fail' stage after artifact copy stage (#3799)
- 8d5baf1 Fix docfx warning re: index.html links (#3707)
- 3e45848 Update Storage Plugins page Ref Issue #3732 (#3787)
- 8da604f Skip MNTRNuGet pack when skipping builds (#3795)
- b48b1c6 added Azure Pipelines build system (#3794)
- 0fe3ea9 BatchingSqlJournal now preserves Sender in PersistCallback (#3779)
This list of changes was auto generated.
Akka.NET v1.4.0-beta1 Release
1.4.0-beta1 July 17 2019
First pre-release candidate for Akka.NET 1.4
Akka.NET v1.4 has a ways to go before it's fully ready for market, but this is the first publicly available release on NuGet and it contains some massive changes.
- Akka.Cluster.Sharding's default "persistent" mode has been stabilized and errors that users have ran into during
ShardCoordinator
recovery, such as Exception in PersistentShardCoordinator ReceiveRecover - StreamRefs have been added to Akka.Streams, which allows streams to run across process boundaries and over Akka.Remote / Akka.Cluster.
- Akka.NET now targets .NET Standard 2.0, which means many annoying polyfills and other hacks we needed to add in order to support .NET Core 1.1 are now gone and replaced with standard APIs.
- Lots of small bug fixes and API changes have been added to Akka core and other libraries.
To follow our progress on the Akka.NET v1.4 milestone, click here.
We expect to release more beta versions in the future, and if you wish to get access to nightly Akka.NET builds then click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
39 | 3479 | 1731 | Aaron Stannard |
6 | 5255 | 531 | Bartosz Sypytkowski |
4 | 1708 | 347 | zbynek001 |
2 | 37 | 114 | Ismael Hamed |
1 | 3 | 3 | Abi |
1 | 2 | 3 | Onur Gumus |
1 | 18 | 16 | Peter Huang |
1 | 1 | 2 | Maciej Wódke |
1 | 1 | 1 | jdsartori |
1 | 1 | 1 | Wessel Kranenborg |
Akka.NET v1.3.13 Stable Release
1.3.13 April 30 2019
Maintenance Release for Akka.NET 1.3
Well, we thought 1.3.12 would be the final release for Akka.NET v1.3.* - but then we found some nasty bugs prior to merging any of the v1.4 features into our development branch. But finally, for real this time - this is really the last v1.3.13 release.
This patch contains some critical bug fixes and improvements to Akka.NET:
- Akka.Persistence: OnPersistRejected now logs an error with the complete stacktrace
- Akka.Persistence.Sql: Ensure that BatchingSqlJournal will propagate sql connection opening failure
- Akka: Add UnboundedStablePriorityMailbox
- Akka.Remote and Akka.Cluster: Port exhaustion problem with Akka.Cluster
To see the full set of changes for Akka.NET v1.3.13, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
2 | 5 | 6 | Ismael Hamed |
2 | 45 | 7 | Shukhrat Nekbaev |
2 | 23 | 30 | Aaron Stannard |
1 | 87 | 7 | Bartosz Sypytkowski |
1 | 492 | 9 | AndreSteenbergen |
1 | 2 | 2 | ThomasWetzel |
1 | 12 | 12 | Sean Gilliam |
Akka.NET v1.3.12 Stable Release
1.3.12 March 13 2019
Maintenance Release for Akka.NET 1.3
This will be the final bugfix release for Akka.NET v1.3.* - going forward we will be working on releasing Akka.NET v1.4.
This patch contains many important bug fixes and improvements:
- Akka.Cluster.Sharding: Automatic passivation for sharding
- Akka.Persistence: Optimize AtLeastOnceDelivery by not scheduling ticks when not needed
- Akka.Persistence.Sql.Common: Bugfix CurrentEventsByTag does not return more than a 100 events
- Akka.Persistence.Sql.Common: DeleteMessages when journal is empty causes duplicate key SQL exception
- Akka.Cluster: SplitBrainResolver: don't down oldest if alone in cluster
- Akka: Include manifest or class in missing serializer failure if possible
- Akka: Memory leak when disposing actor system with non default ActorRefProvider
To see the full set of changes for Akka.NET v1.3.12, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
8 | 1487 | 357 | Ismael Hamed |
7 | 126 | 120 | jdsartori |
3 | 198 | 4 | JSartori |
3 | 155 | 22 | Aaron Stannard |
2 | 11 | 2 | Peter Lin |
1 | 8 | 4 | Raimund Hirz |
1 | 7 | 0 | Warren Falk |
1 | 45 | 6 | Peter Huang |
1 | 14 | 13 | Bartosz Sypytkowski |
1 | 11 | 1 | Greg Shackles |
1 | 10 | 10 | Jill D. Headen |
1 | 1 | 1 | Isaac Z |
Akka.NET v1.3.11 Stable Release
1.3.11 December 17 2018
Maintenance Release for Akka.NET 1.3
Akka.NET v1.3.11 is a bugfix patch primarily aimed at solving the following issue: DotNetty Remote Transport Issues with .NET Core 2.1.
.NET Core 2.1 exposed some issues with the DotNetty connection methods in DotNetty v0.4.8 that have since been fixed in subsequent releases. In Akka.NET v1.3.11 we've resolved this issue by upgrading to DotNetty v0.6.0.
In addition to the above, we've introduced some additional fixes and changes in Akka.NET v1.3.11:
- Akka.FSharp: Akka.Fsharp spawning an actor results in Exception
- Akka.Remote: tcp-reuse-addr = off-for-windows prevents actorsystem from starting
- Akka.Remote: tcp socket address reuse - default configuration
- Akka.Cluster.Tools:
Actor still receiving messages from mediator after termination - Akka.Persistence: Provide minSequenceNr for snapshot deletion
To see the full set of changes for Akka.NET 1.3.11, click here
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
5 | 123 | 71 | Aaron Stannard |
3 | 96 | 10 | Ismael Hamed |
2 | 4 | 3 | Oleksandr Kobylianskyi |
1 | 5 | 1 | Ruben Mamo |
1 | 23 | 6 | Chris Hoare |
Akka.NET v1.3.10 Stable Release
1.3.10 November 1 2018
Maintenance Release for Akka.NET 1.3
Akka.NET v1.3.10 consists mostly of bug fixes and patches to various parts of Akka.NET:
- Akka.Remote: add support for using installed certificates with thumbprints
- Akka.IO: fix TCP sockets leak
- Akka.DI.Core: Check if Dependency Resolver is configured to avoid a
NullReferenceException
- Akka.Streams: Interop between Akka.Streams and IObservable
- HOCON: Parse size in bytes format. Parse microseconds and nanoseconds.
- Akka.Cluster: Don't automatically down quarantined nodes
To see the full set of changes for Akka.NET 1.3.10, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
8 | 887 | 220 | Bartosz Sypytkowski |
5 | 67 | 174 | Aaron Stannard |
4 | 15 | 7 | Caio Proiete |
3 | 7 | 4 | Maciek Misztal |
2 | 60 | 8 | Marcus Weaver |
2 | 57 | 12 | moerwald |
2 | 278 | 16 | Peter Shrosbree |
2 | 2 | 2 | Fábio Beirão |
1 | 71 | 71 | Sean Gilliam |
1 | 6 | 0 | basbossinkdivverence |
1 | 24 | 5 | Ismael Hamed |
1 | 193 | 8 | to11mtm |
1 | 17 | 33 | zbynek001 |
1 | 12 | 3 | Oleksandr Bogomaz |
1 | 1 | 1 | MelnikovIG |
1 | 1 | 1 | Alex Villarreal |
1 | 1 | 0 | Yongjie Ma |
Akka.NET v1.3.9 Stable Release
1.3.9 August 22 2018
Maintenance Release for Akka.NET 1.3
Akka.NET v1.3.9 features some major changes to Akka.Cluster.Sharding, additional Akka.Streams stages, and some general bug fixes across the board.
Akka.Cluster.Sharding Improvements
The Akka.Cluster.Sharding documentation already describes some of the major changes in Akka.NET v1.3.9, but we figured it would be worth calling special attention to those changes here.
Props Factory for Entity Actors
In some cases, the actor may need to know the
entityId
associated with it. This can be achieved using theentityPropsFactory
parameter toClusterSharding.Start
orClusterSharding.StartAsync
. The entity ID will be passed to the factory as a parameter, which can then be used in the creation of the actor.
In addition to the existing APIs we've always had for defining sharded entities via Props
, Akka.NET v1.3.9 introduces a new method overload for Start
and StartAsync
which allows users to pass in the entityId
of each entity actor as a constructor argument to those entities when they start.
For example:
var anotherCounterShard = ClusterSharding.Get(Sys).Start(
typeName: "AnotherCounter",
entityProps: Props.Create<AnotherCounter>(),
typeName: AnotherCounter.ShardingTypeName,
entityPropsFactory: entityId => AnotherCounter.Props(entityId),
settings: ClusterShardingSettings.Create(Sys),
extractEntityId: Counter.ExtractEntityId,
extractShardId: Counter.ExtractShardId);
This will give you the opportunity to pass in the entityId
for each actor as a constructor argument into the Props
of your entity actor and possibly other use cases too.
Improvements to Starting and Querying Existing Shard Entity Types
Two additional major usability improvements to Cluster.Sharding come from some API additions and changes.
The first is that it's now possible to look up all of the currently registered shard types via the ClusterSharding.ShardTypeNames
property. So long as a ShardRegion
of that type has been started in the cluster, that entity type name will be added to the collection exposed by this property.
The other major usability improvement is a change to the ClusterSharding.Start
property itself. Historically, you used to have to know whether or not the node you wanted to use sharding on was going to be hosting shards (call ClusterSharding.Start
) or simply communicated with shards hosted on a different cluster role type (call ClusterSharding.StartProxy
). Going forward, it's safe to call ClusterSharding.Start
on any node and you will either receive an IActorRef
to active ShardRegion
or a ShardRegion
running in "proxy only" mode; this is determined by looking at the ClusterShardingSettings
and determining if the current node is in a role that is allowed to host shards of this type.
- Akka.Cluster.Sharding: Sharding API Updates
- Akka.Cluster.Sharding: sharding rebalance fix
- Akka.Cluster.Sharding: log formatting fix
- Akka.Cluster.Sharding:
RestartShard
escapes into userspace
Akka.Streams Additions and Changes
In Akka.NET v1.3.9 we've added some new built-in stream stages and API methods designed to help improve developer productivity and ease of use.
- Akka.Streams: add CombineMaterialized method to Source
- Akka.Streams:
KillSwitches: flow stage from CancellationToken - Akka.Streams: Port KeepAliveConcat and UnfoldFlow
- Akka.Streams: Port PagedSource & IntervalBasedRateLimiter
Other Updates, Additions, and Bugfixes
- Akka.Cluster: cluster coordinated leave fix for empty cluster
- Akka.Cluster.Tools: bumped ClusterClient message drop log messages from DEBUG to WARNING
- Akka.Cluster.Tools: Singleton - confirm TakeOverFromMe when singleton already in oldest state
- Akka.Remote: RemoteWatcher race-condition fix
- Akka: fix concurrency bug in CircuitBreaker
- Akka: Fixed ReceiveTimeout not triggered in some case when combined with NotInfluenceReceiveTimeout messages
- Akka.Persistence: Optimized recovery
- Akka.Persistence: Allow persisting events when recovery has completed
To see the full set of changes for Akka.NET v1.3.9, click here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
28 | 2448 | 5691 | Aaron Stannard |
11 | 1373 | 230 | zbynek001 |
8 | 4590 | 577 | Bartosz Sypytkowski |
4 | 438 | 99 | Ismael Hamed |
4 | 230 | 240 | Sean Gilliam |
2 | 1438 | 0 | Oleksandr Bogomaz |
1 | 86 | 79 | Nick Polideropoulos |
1 | 78 | 0 | v1rusw0rm |
1 | 4 | 4 | Joshua Garnett |
1 | 32 | 17 | Jarl Sveinung Flø Rasmussen |
1 | 27 | 1 | Sam13 |
1 | 250 | 220 | Maxim Cherednik |
1 | 184 | 124 | Josh Taylor |
1 | 14 | 0 | Peter Shrosbree |
1 | 1278 | 42 | Marc Piechura |
1 | 1 | 1 | Vasily Kirichenko |
1 | 1 | 1 | Samuel Kelemen |
1 | 1 | 1 | Nyola Mike |
1 | 1 | 1 | Fábio Beirão |
Akka.NET v1.3.8 Stable Release
1.3.8 June 04 2018
Maintenance Release for Akka.NET 1.3
Akka.NET v1.3.7 is a minor patch consisting mostly of bug fixes as well as an upgrade to DotNetty v0.4.8.
DotNetty v0.4.8 Upgrade
You can read the release notes for DotNetty v0.4.8 here - but here are the major improvements as they pertain to Akka.NET:
- DotNetty length-frame decoding is now fully-supported on .NET Core on Linux and
- Socket shutdown code has been improved, which fixes a potential "port exhaustion" issue reported by Akka.Remote users.
If you've been affected by either of these issues, we strongly encourage that you upgrade your applications to Akka.NET v1.3.8 as soon as possible.
Updates and Additions
- Akka.Streams: add PreMaterialize support for Sources
- Akka.Streams: add PreMaterialize support for Sinks
- Akka.Streams:
Port Pulse, DelayFlow and Valve streams-contrib stages - Akka.FSharp: Unit test Akka.FSharp.System.create with extensions
Relevant documentation for Akka.Streams pre-materialization, for those who are interested: http://getakka.net/articles/streams/basics.html#source-pre-materialization
Bugfixes
- Akka.Remote: ActorSelection fails for ActorPath from remotely deployed actors
- Akka.Remote: WilcardCard ActorSelections that fail to match any actors don't deliver messages into DeadLetters
- Akka.Cluster: SplitBrainResolver logs "network partition detected" after change in cluster membership, even when no unreachable nodes
- Akka: SynchronizationLockException in user-defined mailboxes
- Akka: UnhandledMessageForwarder crashes and restarted every time the app is starting
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
17 | 498 | 171 | Aaron Stannard |
4 | 1054 | 23 | Bartosz Sypytkowski |
2 | 2 | 2 | Fábio Beirão |
2 | 16 | 2 | Aaron Palmer |
1 | 1063 | 4 | Oleksandr Bogomaz |
1 | 1 | 1 | Ismael Hamed |
1 | 1 | 1 | Gauthier Segay |
Akka.NET v1.3.7 Stable Release
1.3.7 May 15 2018
Maintenance Release for Akka.NET 1.3
Akka.NET v1.3.7 is a minor patch consisting mostly of bug fixes.
DotNetty stabilization
We've had a number of issues related to DotNetty issues over recent weeks, and we've resolved those in this patch by doing the following:
- Locking down the version of DotNetty to v0.4.6 until further notice
- Resolving memory leaks introduced with DotNetty in v1.3.6
We will be upgrading to DotNetty v0.4.8 in a near future release, but in the meantime this patch fixes critical issues introduced in v1.3.6.
Bugfixes
- Akka.Persistence.Sql: Slow reading of big snapshots - this will require a recompilation of all Akka.Persistence.Sql-type Akka.Persistence plugins.
- Akka.Fsharp: spawning an actor results in Exception in 1.3.6 release
See the full list of fixes for Akka.NET v1.3.7 here.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
5 | 130 | 180 | Aaron Stannard |
3 | 7 | 1 | chrisjhoare |
2 | 3 | 1 | ivog |
1 | 70 | 17 | TietoOliverKurowski |
1 | 41 | 4 | Bart de Boer |
1 | 11 | 3 | Oleksandr Bogomaz |
1 | 1 | 1 | Vasily Kirichenko |