From 84c2bcd1d241e68a72b491590f2d41d210c65441 Mon Sep 17 00:00:00 2001 From: Gregorius Soedharmo Date: Tue, 12 Nov 2024 04:01:40 +0700 Subject: [PATCH] Add v1.5.31 upgrade advisory (#7385) --- .../whats-new/akkadotnet-v1.5-upgrade-advisories.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/community/whats-new/akkadotnet-v1.5-upgrade-advisories.md b/docs/community/whats-new/akkadotnet-v1.5-upgrade-advisories.md index 6055351fef4..74ae5962952 100644 --- a/docs/community/whats-new/akkadotnet-v1.5-upgrade-advisories.md +++ b/docs/community/whats-new/akkadotnet-v1.5-upgrade-advisories.md @@ -11,6 +11,14 @@ This document contains specific upgrade suggestions, warnings, and notices that +## Upgrading to Akka.NET v1.5.31 + +Akka.NET v1.5.31 introduces a breaking behavior change to actor `Stash`. In previous behavior, `Stash` will filter out any messages that are identical (see explanation below) when it is prepended with another. It will not do so now, which is the actual intended behavior. + +This change will affect `Akka.Persistence` users or users who use the `Stash.Prepend()` method in their code. You will need to add a de-duplication code if your code depends on sending identical messages multiple times to a persistence actor while it is recovering. + +Messages are considered as identical if they are sent from the same sender actor and have a payload message that `Equals()` to true against another message. Example payload types would be an object pointing to the same memory address (`ReferenceEquals()` returns true), value types (enum, primitives, structs), and classes that implements the `IEquatable` interface. + ## Upgrading to Akka.NET v1.5.15 Akka.NET v1.5.15 introduces several major changes: