diff --git a/docs/articles/actors/receive-actor-api.md b/docs/articles/actors/receive-actor-api.md
index 7740a5c78db..43efb8788f3 100644
--- a/docs/articles/actors/receive-actor-api.md
+++ b/docs/articles/actors/receive-actor-api.md
@@ -403,6 +403,9 @@ Task.WhenAll(tasks).PipeTo(actorC, Self);
This example demonstrates `Ask` together with the `Pipe` Pattern on tasks, because this is likely to be a common combination. Please note that all of the above is completely non-blocking and asynchronous: `Ask` produces a `Task`, two of which are awaited until both are completed, and when that happens, a new `Result` object is forwarded to another actor.
+> [!NOTE]
+> While `Ask` waits for a response, that does not ensure it receives any kind of priority. Messages sent via `Ask` queue in actor mailboxes the same way that messages sent via `Tell` do. You may need to adapt your actor hierarchy if `Ask` messages might be impeded by a large queue in an actor's mailbox.
+
Using `Ask` will send a message to the receiving Actor as with `Tell`, and the receiving actor must reply with `Sender.Tell(reply, Self)` in order to complete the returned `Task` with a value. The `Ask` operation involves creating an internal actor for handling this reply, which needs to have a timeout after which it is destroyed in order not to leak resources; see more below.
> [!WARNING]
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 5549db54d85..d55e8d7735f 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -2,7 +2,7 @@
Copyright © 2013-2023 Akka.NET Team
Akka.NET Team
- 1.5.7
+ 1.5.14
akkalogo.png
https://github.com/akkadotnet/akka.net
https://github.com/akkadotnet/akka.net/blob/master/LICENSE
@@ -24,7 +24,7 @@
0.12.2
[13.0.1,)
2.0.1
- 3.24.3
+ 3.24.4
0.13.9
net7.0
6.0.5
@@ -67,4 +67,4 @@
-
+
\ No newline at end of file
diff --git a/src/benchmark/Akka.Benchmarks/Akka.Benchmarks.csproj b/src/benchmark/Akka.Benchmarks/Akka.Benchmarks.csproj
index f16ed08be7d..8af1c8df081 100644
--- a/src/benchmark/Akka.Benchmarks/Akka.Benchmarks.csproj
+++ b/src/benchmark/Akka.Benchmarks/Akka.Benchmarks.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/benchmark/Akka.Cluster.Benchmarks/Akka.Cluster.Benchmarks.csproj b/src/benchmark/Akka.Cluster.Benchmarks/Akka.Cluster.Benchmarks.csproj
index 31233522eeb..976eb54e699 100644
--- a/src/benchmark/Akka.Cluster.Benchmarks/Akka.Cluster.Benchmarks.csproj
+++ b/src/benchmark/Akka.Cluster.Benchmarks/Akka.Cluster.Benchmarks.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src/contrib/cluster/Akka.Cluster.Sharding/ClusterSharding.cs b/src/contrib/cluster/Akka.Cluster.Sharding/ClusterSharding.cs
index c6b8e35ec77..e944e0f18e6 100644
--- a/src/contrib/cluster/Akka.Cluster.Sharding/ClusterSharding.cs
+++ b/src/contrib/cluster/Akka.Cluster.Sharding/ClusterSharding.cs
@@ -1415,10 +1415,13 @@ public IShardAllocationStrategy DefaultShardAllocationStrategy(ClusterShardingSe
}
else
{
+ // TODO: remove this in v1.6 and force all users to use only the new strategy going forward
// old algorithm
var threshold = settings.TuningParameters.LeastShardAllocationRebalanceThreshold;
var maxSimultaneousRebalance = settings.TuningParameters.LeastShardAllocationMaxSimultaneousRebalance;
+#pragma warning disable CS0618 // Type or member is obsolete
return new LeastShardAllocationStrategy(threshold, maxSimultaneousRebalance);
+#pragma warning restore CS0618 // Type or member is obsolete
}
}
}
diff --git a/src/contrib/cluster/Akka.Cluster.Sharding/ShardAllocationStrategy.cs b/src/contrib/cluster/Akka.Cluster.Sharding/ShardAllocationStrategy.cs
index 8b562e953b2..786e94b8301 100644
--- a/src/contrib/cluster/Akka.Cluster.Sharding/ShardAllocationStrategy.cs
+++ b/src/contrib/cluster/Akka.Cluster.Sharding/ShardAllocationStrategy.cs
@@ -139,6 +139,7 @@ public static IShardAllocationStrategy LeastShardAllocationStrategy(int absolute
/// The number of ongoing rebalancing processes can be limited by `maxSimultaneousRebalance`.
///
[Serializable]
+ [Obsolete("Use ShardAllocationStrategy.LeastShardAllocationStrategy instead. This will be removed in v1.6.")]
public class LeastShardAllocationStrategy : AbstractLeastShardAllocationStrategy
{
private readonly int _rebalanceThreshold;
diff --git a/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj b/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj
index 1fe16569cf2..20b6e9a674e 100644
--- a/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj
+++ b/src/contrib/cluster/Akka.DistributedData.LightningDB/Akka.DistributedData.LightningDB.csproj
@@ -1,4 +1,4 @@
-
+
Akka.DistributedData.LightningDB
@@ -14,7 +14,7 @@
-
+
diff --git a/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj b/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj
index c99c18f6669..ed04db28141 100644
--- a/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj
+++ b/src/contrib/persistence/Akka.Persistence.Sqlite/Akka.Persistence.Sqlite.csproj
@@ -15,7 +15,7 @@
-
+
\ No newline at end of file
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.DotNet.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.DotNet.verified.txt
index 19325ac0b86..2765e2cef3c 100644
--- a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.DotNet.verified.txt
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.DotNet.verified.txt
@@ -180,6 +180,8 @@ namespace Akka.Cluster.Sharding
{
void Start();
}
+ [System.ObsoleteAttribute("Use ShardAllocationStrategy.LeastShardAllocationStrategy instead. This will be re" +
+ "moved in v1.6.")]
public class LeastShardAllocationStrategy : Akka.Cluster.Sharding.Internal.AbstractLeastShardAllocationStrategy
{
public LeastShardAllocationStrategy(int rebalanceThreshold, int maxSimultaneousRebalance) { }
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.Net.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.Net.verified.txt
index 133e6d1a3aa..5509ef03982 100644
--- a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.Net.verified.txt
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApproveClusterSharding.Net.verified.txt
@@ -180,6 +180,8 @@ namespace Akka.Cluster.Sharding
{
void Start();
}
+ [System.ObsoleteAttribute("Use ShardAllocationStrategy.LeastShardAllocationStrategy instead. This will be re" +
+ "moved in v1.6.")]
public class LeastShardAllocationStrategy : Akka.Cluster.Sharding.Internal.AbstractLeastShardAllocationStrategy
{
public LeastShardAllocationStrategy(int rebalanceThreshold, int maxSimultaneousRebalance) { }
diff --git a/src/core/Akka/Util/SpanHacks.cs b/src/core/Akka/Util/SpanHacks.cs
index ff618479897..d66b42fc994 100644
--- a/src/core/Akka/Util/SpanHacks.cs
+++ b/src/core/Akka/Util/SpanHacks.cs
@@ -39,7 +39,7 @@ public static int Parse(ReadOnlySpan str)
if (int.TryParse(str, out var i))
return i;
#endif
- throw new FormatException($"[{str.ToString()}] is now a valid numeric format");
+ throw new FormatException($"[{str.ToString()}] is not a valid numeric format");
}
private const char Negative = '-';
diff --git a/src/examples/Akka.Persistence.Custom/Akka.Persistence.Custom.csproj b/src/examples/Akka.Persistence.Custom/Akka.Persistence.Custom.csproj
index facb218d4d5..c62da5d83f9 100644
--- a/src/examples/Akka.Persistence.Custom/Akka.Persistence.Custom.csproj
+++ b/src/examples/Akka.Persistence.Custom/Akka.Persistence.Custom.csproj
@@ -5,7 +5,7 @@
-
+