Akka.Cluster.Sharding 1.3.9-beta68

Prefix Reserved
This is a prerelease version of Akka.Cluster.Sharding.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Akka.Cluster.Sharding --version 1.3.9-beta68
                    
NuGet\Install-Package Akka.Cluster.Sharding -Version 1.3.9-beta68
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Akka.Cluster.Sharding" Version="1.3.9-beta68" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Akka.Cluster.Sharding" Version="1.3.9-beta68" />
                    
Directory.Packages.props
<PackageReference Include="Akka.Cluster.Sharding" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Akka.Cluster.Sharding --version 1.3.9-beta68
                    
#r "nuget: Akka.Cluster.Sharding, 1.3.9-beta68"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Akka.Cluster.Sharding&version=1.3.9-beta68&prerelease
                    
Install Akka.Cluster.Sharding as a Cake Addin
#tool nuget:?package=Akka.Cluster.Sharding&version=1.3.9-beta68&prerelease
                    
Install Akka.Cluster.Sharding as a Cake Tool

Sharded actors with managed lifecycle for Akka.NET cluster

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
.NET Core netcoreapp1.0 was computed.  netcoreapp1.1 was computed.  netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard1.6 is compatible.  netstandard2.0 was computed.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen30 was computed.  tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (17)

Showing the top 5 NuGet packages that depend on Akka.Cluster.Sharding:

Package Downloads
Akka.Cluster.Hosting

Akka.Cluster and Akka.Cluster.Sharding Microsoft.Extensions.Hosting support.

Petabridge.Cmd.Cluster.Sharding

Akka.Cluster.Sharding Petabridge.Cmd palettes for shard management and monitoring.

wyvern.entity

Package Description

Akkling.Cluster.Sharding

F# wrapper library for Akka.NET cluster sharding module.

Akkatecture.Clustering

clustering library for akkatecture to enable distributed scenarios

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on Akka.Cluster.Sharding:

Repository Stars
petabridge/akkadotnet-code-samples
Akka.NET professional reference code samples
ThembisileNGQ/Akkatecture
a cqrs and event sourcing framework for dotnet core using akka.net
Aaronontheweb/InMemoryCQRSReplication
Akka.NET Reference Architecture - CQRS + Sharding + In-Memory Replication
Horusiath/AkkaCQRS
Event sourcing example build on Akka.NET with persistence plugin
Version Downloads Last updated
1.5.40 3,886 3/24/2025
1.5.39 2,693 3/14/2025
1.5.38 20,894 2/17/2025
1.5.37 19,846 1/23/2025
1.5.36 1,660 1/22/2025
1.5.35 5,913 1/13/2025
1.5.34 2,327 1/7/2025
1.5.33 17,714 12/23/2024
1.5.32 11,197 12/4/2024
1.5.31 13,377 11/11/2024
1.5.30 29,859 10/3/2024
1.5.29 1,907 10/1/2024
1.5.28 50,806 9/4/2024
1.5.28-beta1 138 8/23/2024
1.5.27.1 71,249 7/26/2024
1.5.27 793 7/25/2024
1.5.27-beta2 119 7/3/2024
1.5.27-beta1 96 7/3/2024
1.5.26 64,370 6/27/2024
1.5.25 82,892 6/14/2024
1.5.24 5,941 6/7/2024
1.5.23 995 6/6/2024
1.5.22 2,125 6/3/2024
1.5.21 3,813 5/28/2024
1.5.20 26,675 4/29/2024
1.5.19 14,254 4/15/2024
1.5.18 38,814 3/12/2024
1.5.17.1 8,593 3/2/2024
1.5.17 1,108 2/29/2024
1.5.16 22,086 1/29/2024
1.5.15 31,104 1/10/2024
1.5.14 29,057 11/3/2023
1.5.13 72,522 9/18/2023
1.5.13-beta1 446 8/25/2023
1.5.12 22,159 8/2/2023
1.5.11 3,407 7/27/2023
1.5.10 8,144 7/25/2023
1.5.9 8,703 7/17/2023
1.5.8 36,168 6/15/2023
1.5.7 23,154 5/17/2023
1.5.6 10,389 5/8/2023
1.5.5 37,009 5/4/2023
1.5.4 13,039 4/25/2023
1.5.3 3,112 4/20/2023
1.5.2 18,202 4/6/2023
1.5.1 8,911 3/15/2023
1.5.0 12,040 3/2/2023
1.5.0-beta6 1,008 3/1/2023
1.5.0-beta5 562 3/1/2023
1.5.0-beta4 654 2/28/2023
1.5.0-beta3 735 2/27/2023
1.5.0-beta2 583 2/23/2023
1.5.0-beta1 615 2/20/2023
1.5.0-alpha4 964 2/1/2023
1.5.0-alpha3 809 11/15/2022
1.5.0-alpha2 690 10/17/2022
1.5.0-alpha1 695 8/22/2022
1.4.51 10,709 6/28/2023
1.4.50 4,732 3/15/2023
1.4.49 15,873 1/27/2023
1.4.49-beta1 620 1/11/2023
1.4.48 28,873 1/5/2023
1.4.47 10,276 12/9/2022
1.4.46 26,336 11/15/2022
1.4.45 23,364 10/19/2022
1.4.44 2,918 10/17/2022
1.4.43 11,626 9/27/2022
1.4.42 2,581 9/23/2022
1.4.41 135,334 8/31/2022
1.4.40 13,984 7/22/2022
1.4.39 86,619 6/1/2022
1.4.38 43,111 5/6/2022
1.4.37 11,311 4/14/2022
1.4.36 10,012 4/5/2022
1.4.35 22,159 3/18/2022
1.4.34 7,819 3/7/2022
1.4.33 8,261 2/14/2022
1.4.32 13,646 1/18/2022
1.4.31 29,489 12/21/2021
1.4.30 1,957 12/20/2021
1.4.29 2,353 12/13/2021
1.4.28 51,030 11/10/2021
1.4.27 45,603 10/11/2021
1.4.26 4,960 9/28/2021
1.4.25 5,995 9/8/2021
1.4.24 8,826 8/17/2021
1.4.23 3,849 8/10/2021
1.4.22 6,223 8/5/2021
1.4.21 19,573 6/16/2021
1.4.21-beta1 900 6/4/2021
1.4.20 14,734 5/12/2021
1.4.19 14,470 4/28/2021
1.4.18 11,019 3/23/2021
1.4.17 6,426 3/10/2021
1.4.16 29,475 1/22/2021
1.4.15 2,698 1/20/2021
1.4.14 10,552 12/30/2020
1.4.13 3,426 12/16/2020
1.4.12 19,246 11/16/2020
1.4.11 12,702 11/5/2020
1.4.10 19,020 8/20/2020
1.4.9 15,375 7/21/2020
1.4.8 48,034 6/17/2020
1.4.7 5,943 5/27/2020
1.4.6 6,962 5/12/2020
1.4.5 4,623 4/29/2020
1.4.4 8,956 3/31/2020
1.4.3 5,277 3/18/2020
1.4.2 4,536 3/13/2020
1.4.1 9,417 3/11/2020
1.4.1-rc3 1,038 3/10/2020
1.4.1-rc2 856 3/10/2020
1.4.1-rc1 1,276 2/28/2020
1.4.0-beta4 2,479 1/28/2020
1.4.0-beta3 7,045 10/30/2019
1.4.0-beta2 3,834 9/23/2019
1.4.0-beta1 2,623 7/19/2019
1.4.0-beta 1,080 10/30/2019
1.3.19-beta 80 5/2/2024
1.3.18-beta 10,681 3/9/2020
1.3.17-beta 6,788 12/20/2019
1.3.16-beta 2,961 11/14/2019
1.3.15-beta 4,610 9/23/2019
1.3.14-beta 7,333 7/30/2019
1.3.13-beta 19,461 4/30/2019
1.3.12-beta 12,797 3/14/2019
1.3.11-beta 10,621 12/18/2018
1.3.10-beta 83,591 11/2/2018
1.3.9-beta68 40,924 8/23/2018
1.3.9-beta67 1,255 8/23/2018
1.3.9-beta 1,191 8/30/2018
1.3.8-beta66 8,916 6/5/2018
1.3.8-beta65 1,454 6/5/2018
1.3.7-beta64 2,062 5/15/2018
1.3.7-beta63 1,535 5/15/2018
1.3.6-beta62 3,511 4/17/2018
1.3.6-beta61 1,383 4/17/2018
1.3.5-beta60 8,908 2/22/2018
1.3.5-beta59 1,419 2/22/2018
1.3.4-beta58 1,689 2/1/2018
1.3.4-beta57 1,509 2/1/2018
1.3.3-beta56 1,591 1/19/2018
1.3.3-beta55 1,540 1/19/2018
1.3.2-beta54 20,480 10/21/2017
1.3.2-beta53 1,431 10/21/2017
1.3.2-beta 2,283 10/24/2017
1.3.1-beta52 2,234 9/5/2017
1.3.1-beta51 1,404 9/5/2017
1.3.0-beta50 1,487 8/18/2017
1.3.0-beta48 1,374 8/17/2017
1.3.0-beta47 1,436 8/17/2017
1.3.0-beta46 1,426 8/11/2017
1.2.3.43-beta 2,996 7/10/2017
1.2.3.41-beta 1,431 7/10/2017
1.2.2.40-beta 1,482 6/28/2017
1.2.2.39-beta 1,392 6/28/2017
1.2.1.38-beta 1,432 6/23/2017
1.2.1.37-beta 1,469 6/23/2017
1.2.0.36-beta 10,909 4/13/2017
1.2.0.35-beta 1,653 4/13/2017
1.2.0.34-beta 1,377 4/12/2017
1.2.0.33-beta 2,021 4/12/2017
1.1.3.32-beta 2,727 1/23/2017
1.1.3.31-beta 1,624 1/23/2017
1.1.2.30-beta 3,129 9/22/2016
1.1.2.29-beta 1,765 9/22/2016
1.1.1.28-beta 1,546 7/16/2016
1.1.1.27-beta 1,502 7/16/2016
1.1.0.26-beta 1,553 7/7/2016
1.0.8.25-beta 3,252 4/26/2016
1.0.8.24-beta 1,526 4/26/2016
1.0.7.18-beta 1,543 4/6/2016

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 |