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"; } }