Skip to content

Conversation

@kzu
Copy link
Member

@kzu kzu commented Nov 9, 2025

Allow relaxing snapshot version compatibility

Rather than hardcoding a major+minor compatiiblity check between persisted state and current state assembly version, allow relaxing to major version only too.

It's typical in SemVer to use strictly major-only bumps when introducing significant state/API breakage, so if the user uses that, we can relax the requirement on the snapshot reading. This can significantly improve performance when event steam is long and the app is frequently updated but with minor version bumps and no state breaking changes.

Rather than hardcoding a major+minor compatiiblity check between persisted state and current state assembly version, allow relaxing to major version only too.

It's typical in SemVer to use strictly major-only bumps when introducing significant state/API breakage, so if the user uses that, we can relax the requirement on the snapshot reading. This can significantly improve performance when event steam is long and the app is frequently updated but with minor version bumps and no state breaking changes.
@kzu kzu force-pushed the dev/SnapshotCompatibility branch from 77f4fd3 to 1e56c0f Compare November 9, 2025 23:25
@kzu kzu added the enhancement New feature or request label Nov 9, 2025
@kzu kzu enabled auto-merge (rebase) November 9, 2025 23:25
@kzu
Copy link
Member Author

kzu commented Nov 9, 2025

15 passed 15 passed

🧪 Details on Microsoft Windows 10.0.26100

from dotnet-retest v1.0.0 on .NET 9.0.10 with 💜 by @devlooped

@kzu kzu merged commit 9c28b17 into main Nov 9, 2025
11 checks passed
@kzu kzu deleted the dev/SnapshotCompatibility branch November 9, 2025 23:31
@devlooped devlooped locked and limited conversation to collaborators Dec 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants