diff --git a/CHANGES.md b/CHANGES.md index fdead4423..580d6313f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,10 +4,11 @@ This releases fixes a long-standing "off-by-one" error which could result in state resets. Upgrading to this version is **highly** recommended. -When storing state events, we were checking if the event in question was already in something we call a "state snapshot". If it was in a previous state snapshot, we would +When deduplicating state events, we were checking if the event in question was already in a state snapshot. If it was in a previous state snapshot, we would then remove it from the list of events to store. If this happened, we were, unfortunately, skipping the next event to check. This resulted in events getting stored in state snapshots where they may not be needed. When we now compared two of those state snapshots, one of them -contained the skipped event, while the other didn't. So there was a difference between them which possibly shouldn't exist, resulting in unexpected state resets. +contained the skipped event, while the other didn't. This difference possibly shouldn't exist, resulting in unexpected state resets. +This also explains reports of rooms missing state events. This has been fixed - rooms where a state reset occurred earlier should, hopefully, reconcile over time.