Akka.Cluster.Sharding 1.3.9-beta67

Sharded actors with managed lifecycle for Akka.NET cluster

No packages depend on Akka.Cluster.Sharding.

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](http://getakka.net/articles/clustering/cluster-sharding.html#quickstart) 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 the `entityPropsFactory` parameter to `ClusterSharding.Start` or `ClusterSharding.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`](http://getakka.net/api/Akka.Cluster.Sharding.ClusterSharding.html#Akka_Cluster_Sharding_ClusterSharding_Start_System_String_System_Func_System_String_Akka_Actor_Props__Akka_Cluster_Sharding_ClusterShardingSettings_Akka_Cluster_Sharding_ExtractEntityId_Akka_Cluster_Sharding_ExtractShardId_) and [`StartAsync`](http://getakka.net/api/Akka.Cluster.Sharding.ClusterSharding.html#Akka_Cluster_Sharding_ClusterSharding_StartAsync_System_String_System_Func_System_String_Akka_Actor_Props__Akka_Cluster_Sharding_ClusterShardingSettings_Akka_Cluster_Sharding_ExtractEntityId_Akka_Cluster_Sharding_ExtractShardId_) 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](http://getakka.net/api/Akka.Cluster.Sharding.ClusterSharding.html#Akka_Cluster_Sharding_ClusterSharding_ShardTypeNames). 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](https://github.com/akkadotnet/akka.net/pull/3524) [Akka.Cluster.Sharding: sharding rebalance fix](https://github.com/akkadotnet/akka.net/pull/3518) [Akka.Cluster.Sharding: log formatting fix](https://github.com/akkadotnet/akka.net/pull/3554) [Akka.Cluster.Sharding: `RestartShard` escapes into userspace](https://github.com/akkadotnet/akka.net/pull/3509) 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](https://github.com/akkadotnet/akka.net/pull/3489) [Akka.Streams: KillSwitches: flow stage from CancellationToken](https://github.com/akkadotnet/akka.net/pull/3568) [Akka.Streams: Port KeepAliveConcat and UnfoldFlow](https://github.com/akkadotnet/akka.net/pull/3560) [Akka.Streams: Port PagedSource & IntervalBasedRateLimiter](https://github.com/akkadotnet/akka.net/pull/3570) Other Updates, Additions, and Bugfixes** [Akka.Cluster: cluster coordinated leave fix for empty cluster](https://github.com/akkadotnet/akka.net/pull/3516) [Akka.Cluster.Tools: bumped ClusterClient message drop log messages from DEBUG to WARNING](https://github.com/akkadotnet/akka.net/pull/3513) [Akka.Cluster.Tools: Singleton - confirm TakeOverFromMe when singleton already in oldest state](https://github.com/akkadotnet/akka.net/pull/3553) [Akka.Remote: RemoteWatcher race-condition fix](https://github.com/akkadotnet/akka.net/pull/3519) [Akka: fix concurrency bug in CircuitBreaker](https://github.com/akkadotnet/akka.net/pull/3505) [Akka: Fixed ReceiveTimeout not triggered in some case when combined with NotInfluenceReceiveTimeout messages](https://github.com/akkadotnet/akka.net/pull/3555) [Akka.Persistence: Optimized recovery](https://github.com/akkadotnet/akka.net/pull/3549) [Akka.Persistence: Allow persisting events when recovery has completed](https://github.com/akkadotnet/akka.net/pull/3366) To [see the full set of changes for Akka.NET v1.3.9, click here](https://github.com/akkadotnet/akka.net/milestone/27). | 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 |

.NET Framework 4.5

.NET Standard 1.6

Version Downloads Last updated
1.5.46 1 07/23/2025
1.5.45 4 07/09/2025
1.5.44 6 06/28/2025
1.5.43 5 06/14/2025
1.5.42 17 05/23/2025
1.5.41 18 05/19/2025
1.5.40 31 03/29/2025
1.5.39 32 03/16/2025
1.5.38 27 02/17/2025
1.5.37 29 01/27/2025
1.5.36 28 01/26/2025
1.5.35 26 01/19/2025
1.5.34 25 01/14/2025
1.5.33 25 12/29/2024
1.5.32 28 12/10/2024
1.5.31 31 11/13/2024
1.5.30 32 10/06/2024
1.5.29 31 10/06/2024
1.5.28 34 09/20/2024
1.5.28-beta1 43 08/24/2024
1.5.27.1 30 07/26/2024
1.5.27 37 07/26/2024
1.5.27-beta2 39 07/04/2024
1.5.27-beta1 37 07/04/2024
1.5.26 37 06/29/2024
1.5.25 39 06/23/2024
1.5.24 44 06/08/2024
1.5.23 36 06/06/2024
1.5.22 43 06/05/2024
1.5.21 47 06/02/2024
1.5.20 58 05/04/2024
1.5.19 42 04/15/2024
1.5.18 46 03/19/2024
1.5.17.1 44 03/19/2024
1.5.17 43 03/19/2024
1.5.16 36 02/15/2024
1.5.15 38 01/23/2024
1.5.14 43 01/10/2024
1.5.13 61 10/02/2023
1.5.13-beta1 41 02/14/2024
1.5.12 42 02/15/2024
1.5.11 40 08/31/2023
1.5.10 39 01/28/2024
1.5.9 44 01/08/2024
1.5.8 43 01/08/2024
1.5.7 45 06/13/2023
1.5.6 40 02/15/2024
1.5.5 36 02/15/2024
1.5.4 39 06/13/2023
1.5.3 46 06/14/2023
1.5.2 42 06/14/2023
1.5.1 42 06/13/2023
1.5.0 60 06/13/2023
1.5.0-beta6 33 08/25/2023
1.5.0-beta5 36 08/30/2023
1.5.0-beta4 40 08/27/2023
1.5.0-beta3 41 08/25/2023
1.5.0-beta2 41 09/01/2023
1.5.0-beta1 35 08/24/2023
1.5.0-alpha4 42 08/28/2023
1.5.0-alpha3 40 02/15/2024
1.5.0-alpha2 43 08/27/2023
1.5.0-alpha1 42 08/30/2023
1.4.51 42 08/27/2023
1.4.50 39 08/30/2023
1.4.49 44 05/07/2023
1.4.49-beta1 42 05/18/2023
1.4.48 42 08/29/2023
1.4.47 45 08/27/2023
1.4.46 45 09/01/2023
1.4.45 76 04/05/2023
1.4.44 39 08/28/2023
1.4.43 64 04/29/2023
1.4.42 53 03/22/2023
1.4.41 46 08/28/2023
1.4.40 85 04/23/2023
1.4.39 38 08/28/2023
1.4.38 79 07/25/2023
1.4.37 44 08/25/2023
1.4.36 39 08/31/2023
1.4.35 40 08/31/2023
1.4.34 43 08/30/2023
1.4.33 44 08/24/2023
1.4.32 43 02/15/2024
1.4.31 76 07/21/2022
1.4.30 41 08/30/2023
1.4.29 39 08/29/2023
1.4.28 41 08/31/2023
1.4.27 40 08/30/2023
1.4.26 51 08/31/2023
1.4.25 38 08/26/2023
1.4.24 44 08/31/2023
1.4.23 42 08/29/2023
1.4.22 42 08/30/2023
1.4.21 41 08/30/2023
1.4.21-beta1 41 08/29/2023
1.4.20 38 08/30/2023
1.4.19 39 08/29/2023
1.4.18 43 08/31/2023
1.4.17 46 08/30/2023
1.4.16 42 08/29/2023
1.4.15 41 08/30/2023
1.4.14 42 08/28/2023
1.4.13 43 08/30/2023
1.4.12 44 08/25/2023
1.4.11 40 08/26/2023
1.4.10 44 08/29/2023
1.4.9 40 06/13/2023
1.4.8 41 06/14/2023
1.4.7 53 10/14/2023
1.4.6 43 06/14/2023
1.4.5 42 06/14/2023
1.4.4 42 06/14/2023
1.4.3 45 06/14/2023
1.4.2 48 06/14/2023
1.4.1 62 05/23/2023
1.4.1-rc3 39 10/18/2023
1.4.1-rc2 42 02/15/2024
1.4.1-rc1 41 02/15/2024
1.4.0-beta4 37 08/30/2023
1.4.0-beta3 36 09/01/2023
1.4.0-beta2 40 08/31/2023
1.4.0-beta1 37 08/27/2023
1.4.0-beta 49 06/14/2023
1.3.19-beta 53 05/04/2024
1.3.18-beta 45 08/30/2023
1.3.17-beta 44 08/30/2023
1.3.16-beta 45 08/28/2023
1.3.15-beta 49 03/22/2023
1.3.14-beta 47 04/09/2024
1.3.13-beta 43 08/24/2023
1.3.12-beta 42 08/28/2023
1.3.11-beta 46 08/28/2023
1.3.10-beta 44 08/26/2023
1.3.9-beta68 45 08/25/2023
1.3.9-beta67 43 08/31/2023
1.3.9-beta 42 06/12/2023
1.3.8-beta66 41 08/27/2023
1.3.8-beta65 46 08/28/2023
1.3.7-beta64 52 08/29/2023
1.3.7-beta63 45 02/15/2024
1.3.6-beta62 48 08/31/2023
1.3.6-beta61 43 08/30/2023
1.3.5-beta60 45 08/26/2023
1.3.5-beta59 46 08/29/2023
1.3.4-beta58 43 02/15/2024
1.3.4-beta57 48 08/31/2023
1.3.3-beta56 52 08/28/2023
1.3.3-beta55 49 08/31/2023
1.3.2-beta54 78 04/23/2023
1.3.2-beta53 48 08/30/2023
1.3.2-beta 42 06/14/2023
1.3.1-beta52 45 01/28/2024
1.3.1-beta51 47 08/31/2023
1.3.0-beta50 46 08/30/2023
1.3.0-beta48 73 04/28/2023
1.3.0-beta47 73 02/17/2023
1.3.0-beta46 49 08/30/2023
1.2.3.43-beta 41 09/01/2023
1.2.3.41-beta 47 08/25/2023
1.2.2.40-beta 37 08/31/2023
1.2.2.39-beta 36 08/29/2023
1.2.1.38-beta 47 08/30/2023
1.2.1.37-beta 42 08/30/2023
1.2.0.36-beta 38 04/09/2024
1.2.0.35-beta 37 04/09/2024
1.2.0.34-beta 40 09/22/2023
1.2.0.33-beta 40 12/28/2023
1.1.3.32-beta 42 04/09/2024
1.1.3.31-beta 41 02/20/2024
1.1.2.30-beta 40 04/09/2024
1.1.2.29-beta 40 04/09/2024
1.1.1.28-beta 40 04/09/2024
1.1.1.27-beta 40 04/09/2024
1.1.0.26-beta 39 09/22/2023
1.0.8.25-beta 43 08/30/2023
1.0.8.24-beta 37 04/09/2024
1.0.7.18-beta 42 08/26/2023
1.0.6 48 04/09/2024