diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index ccc539ac18d..778ea6d9f36 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -1,6 +1,31 @@
#### 1.5.14 September 24th 2023 ####
-*Placeholder for nightlies*
+Akka.NET v1.5.14 is a maintenance release with several bug fixes.
+
+* [Streams: Ensure stream are closed on shutdown](https://github.com/akkadotnet/akka.net/pull/6935)
+* [Akka: Fix PeriodicTimer HashWheelTimerScheduler deadlock during start](https://github.com/akkadotnet/akka.net/pull/6949)
+* [Cluster: Old version of LeastShardAllocationStrategy is now deprecated](https://github.com/akkadotnet/akka.net/pull/6975)
+* [Query: Add a more descriptive ToString() values to Offset types](https://github.com/akkadotnet/akka.net/pull/6978)
+* Package dependency upgrades
+ * [MNTR: Bump Akka.Multinode.TestAdapter to 1.5.13](https://github.com/akkadotnet/akka.net/pull/6926)
+ * [Akka: Bump Polyfill to 1.28](https://github.com/akkadotnet/akka.net/pull/6936)
+ * [Akka: Bump Google.Protobuf to 3.24.4](https://github.com/akkadotnet/akka.net/pull/6951)
+ * [DData: Bump LightningDB to 0.16.0](https://github.com/akkadotnet/akka.net/pull/6960)
+ * [Persistence: Bump Microsoft.Data.SQLite to 7.0.13](https://github.com/akkadotnet/akka.net/pull/6969)
+
+If you want to see the [full set of changes made in Akka.NET v1.5.14, click here](https://github.com/akkadotnet/akka.net/milestone/96?closed=1).
+
+| COMMITS | LOC+ | LOC- | AUTHOR |
+|---------|------|------|---------------------|
+| 11 | 25 | 21 | dependabot[bot] |
+| 3 | 14 | 2 | Aaron Stannard |
+| 3 | 114 | 369 | Simon Cropp |
+| 2 | 36 | 31 | Gregorius Soedharmo |
+| 1 | 41 | 43 | Lehonti Ramos |
+| 1 | 38 | 0 | Yaroslav Paslavskiy |
+| 1 | 3 | 0 | Sean Killeen |
+| 1 | 227 | 25 | Drew |
+| 1 | 1 | 1 | szaliszali |
#### 1.5.13 August 26th 2023 ####
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index d55e8d7735f..d8dde81df89 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -18,14 +18,14 @@
11.0
- 2.5.1
- 2.5.1
+ 2.5.3
+ 2.5.3
17.7.2
0.12.2
[13.0.1,)
2.0.1
- 3.24.4
- 0.13.9
+ 3.25.0
+ 0.13.10
net7.0
6.0.5
net471
diff --git a/src/benchmark/Akka.Benchmarks/Akka.Benchmarks.csproj b/src/benchmark/Akka.Benchmarks/Akka.Benchmarks.csproj
index 8af1c8df081..d354c20531b 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 976eb54e699..3fa2cca5d14 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/benchmark/SerializationBenchmarks/SerializationBenchmarks.csproj b/src/benchmark/SerializationBenchmarks/SerializationBenchmarks.csproj
index 65c4249b105..2964c8091cf 100644
--- a/src/benchmark/SerializationBenchmarks/SerializationBenchmarks.csproj
+++ b/src/benchmark/SerializationBenchmarks/SerializationBenchmarks.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.DotNet.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.DotNet.verified.txt
index ac9d02f5fdf..fc98e247614 100644
--- a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.DotNet.verified.txt
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.DotNet.verified.txt
@@ -64,6 +64,7 @@ namespace Akka.Persistence.Query
{
public static Akka.Persistence.Query.NoOffset Instance { get; }
public override int CompareTo(Akka.Persistence.Query.Offset other) { }
+ public override string ToString() { }
}
public abstract class Offset : System.IComparable
{
@@ -72,6 +73,7 @@ namespace Akka.Persistence.Query
public static Akka.Persistence.Query.Offset NoOffset() { }
public static Akka.Persistence.Query.Offset Sequence(long value) { }
public static Akka.Persistence.Query.Offset TimeBasedUuid(System.Guid value) { }
+ public virtual string ToString() { }
}
public sealed class PersistenceQuery : Akka.Actor.IExtension
{
@@ -100,6 +102,7 @@ namespace Akka.Persistence.Query
public override int CompareTo(Akka.Persistence.Query.Offset other) { }
public override bool Equals(object obj) { }
public override int GetHashCode() { }
+ public override string ToString() { }
}
public sealed class TimeBasedUuid : Akka.Persistence.Query.Offset, System.IComparable
{
@@ -109,5 +112,6 @@ namespace Akka.Persistence.Query
public override int CompareTo(Akka.Persistence.Query.Offset other) { }
public override bool Equals(object obj) { }
public override int GetHashCode() { }
+ public override string ToString() { }
}
}
\ No newline at end of file
diff --git a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.Net.verified.txt b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.Net.verified.txt
index eb4682f9eaa..e598732f711 100644
--- a/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.Net.verified.txt
+++ b/src/core/Akka.API.Tests/verify/CoreAPISpec.ApprovePersistenceQuery.Net.verified.txt
@@ -64,6 +64,7 @@ namespace Akka.Persistence.Query
{
public static Akka.Persistence.Query.NoOffset Instance { get; }
public override int CompareTo(Akka.Persistence.Query.Offset other) { }
+ public override string ToString() { }
}
public abstract class Offset : System.IComparable
{
@@ -72,6 +73,7 @@ namespace Akka.Persistence.Query
public static Akka.Persistence.Query.Offset NoOffset() { }
public static Akka.Persistence.Query.Offset Sequence(long value) { }
public static Akka.Persistence.Query.Offset TimeBasedUuid(System.Guid value) { }
+ public virtual string ToString() { }
}
public sealed class PersistenceQuery : Akka.Actor.IExtension
{
@@ -100,6 +102,7 @@ namespace Akka.Persistence.Query
public override int CompareTo(Akka.Persistence.Query.Offset other) { }
public override bool Equals(object obj) { }
public override int GetHashCode() { }
+ public override string ToString() { }
}
public sealed class TimeBasedUuid : Akka.Persistence.Query.Offset, System.IComparable
{
@@ -109,5 +112,6 @@ namespace Akka.Persistence.Query
public override int CompareTo(Akka.Persistence.Query.Offset other) { }
public override bool Equals(object obj) { }
public override int GetHashCode() { }
+ public override string ToString() { }
}
}
\ No newline at end of file
diff --git a/src/core/Akka.Persistence.Query.Tests/OffsetSpec.cs b/src/core/Akka.Persistence.Query.Tests/OffsetSpec.cs
index 336745ed0f5..1a29a8d5c9c 100644
--- a/src/core/Akka.Persistence.Query.Tests/OffsetSpec.cs
+++ b/src/core/Akka.Persistence.Query.Tests/OffsetSpec.cs
@@ -38,5 +38,24 @@ public void Sequence_offset_must_be_ordered_correctly()
var shuffledSequenceBasedList = sequenceBasedList.OrderBy(_ => Guid.NewGuid());
shuffledSequenceBasedList.Should().BeEquivalentTo(sequenceBasedList);
}
+
+ [Fact]
+ public void Sequence_must_log_value_correctly()
+ {
+ Assert.Equal("7", new Sequence(7).ToString());
+ }
+
+ [Fact]
+ public void TimeBasedUuid_must_log_value_correctly()
+ {
+ var timeBasedUuid = new TimeBasedUuid(new Guid("49225740-2019-11ea-a6f0-a0a60c2ef4ff"));
+ Assert.Equal("49225740-2019-11ea-a6f0-a0a60c2ef4ff", timeBasedUuid.ToString());
+ }
+
+ [Fact]
+ public void NoOffset_must_log_zero()
+ {
+ Assert.Equal("0", NoOffset.Instance.ToString());
+ }
}
}
diff --git a/src/core/Akka.Persistence.Query/Offset.cs b/src/core/Akka.Persistence.Query/Offset.cs
index 9f2a1301308..113c1722eb7 100644
--- a/src/core/Akka.Persistence.Query/Offset.cs
+++ b/src/core/Akka.Persistence.Query/Offset.cs
@@ -37,6 +37,11 @@ public abstract class Offset : IComparable
///
/// The other offset to compare.
public abstract int CompareTo(Offset other);
+
+ ///
+ /// Used to log offset's value
+ ///
+ public abstract override string ToString();
}
///
@@ -83,6 +88,8 @@ public override int CompareTo(Offset other)
throw new InvalidOperationException($"Can't compare offset of type {GetType()} to offset of type {other.GetType()}");
}
+
+ public override string ToString() => Value.ToString();
}
///
@@ -123,6 +130,8 @@ public override int CompareTo(Offset other)
? CompareTo(seq)
: throw new InvalidOperationException($"Can't compare offset of type {GetType()} to offset of type {other.GetType()}");
}
+
+ public override string ToString() => Value.ToString();
}
///
@@ -145,5 +154,7 @@ public override int CompareTo(Offset other)
throw new InvalidOperationException($"Can't compare offset of type {GetType()} to offset of type {other.GetType()}");
}
+
+ public override string ToString() => "0";
}
}