Refuse stores marked by a newer release (release/2026) #247

Merged
jcoffey-dev merged 1 commits from fix/store-version-mark-2026 into release/2026 2026-10-30 03:52:50 +00:00
Owner

Cherry-pick of the store version mark from main. It applied cleanly, since the migration crate is identical on both branches. 2026.x writes the same version 1 as 27.1, and it refuses a store a later release has marked newer, so rolling back from a future 27.x can't open a store it no longer understands.

This isn't a security fix, so there's no release just for it. It rides along with the next 2026.x security release. store_version passes on RocksDB.

Cherry-pick of the store version mark from main. It applied cleanly, since the migration crate is identical on both branches. 2026.x writes the same version 1 as 27.1, and it refuses a store a later release has marked newer, so rolling back from a future 27.x can't open a store it no longer understands. This isn't a security fix, so there's no release just for it. It rides along with the next 2026.x security release. `store_version` passes on RocksDB.
jcoffey-dev added 1 commit 2026-10-30 03:42:22 +00:00
Mark the store with inbuxa's own store version
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 10m17s
16fa559427
The store now carries an inbuxa store version (1), kept in the fork's
subspace beside the 0.16 schema version, which stays as it is. A store
without the mark, from an older release or from Stalwart, gets it on
start. A store marked newer than the running release is refused before
anything writes to it, with a message pointing at the newer release or
the pre-upgrade backup.

Layout 1 is what 2026.x and 27.1 both write today, so the same check goes
to release/2026: a 2026.x release then refuses a store a later 27.x has
changed instead of opening it.

(cherry picked from commit f7ec11c107)
jcoffey-dev merged commit 440190ac55 into release/2026 2026-10-30 03:52:50 +00:00
jcoffey-dev deleted branch fix/store-version-mark-2026 2026-10-30 03:52:50 +00:00
Sign in to join this conversation.