Gives the store its own version mark, separate from the 0.16 schema version, which doesn't change. A store without the mark (an older release, or one coming from Stalwart) gets version 1 on start. A store marked newer than the running release is refused before anything writes to it, with a message pointing to the newer release or the pre-upgrade backup.
This is the first of the 27.1 store-independence items. Version 1 is today's layout, and the bump to 2 comes with the first real layout change. The same commit goes to release/2026 in a separate PR, so 2026.x refuses a store a later release has changed.
New test store_version passes on RocksDB, SQLite and PostgreSQL. renamed_identifiers still passes.
Gives the store its own version mark, separate from the 0.16 schema version, which doesn't change. A store without the mark (an older release, or one coming from Stalwart) gets version 1 on start. A store marked newer than the running release is refused before anything writes to it, with a message pointing to the newer release or the pre-upgrade backup.
This is the first of the 27.1 store-independence items. Version 1 is today's layout, and the bump to 2 comes with the first real layout change. The same commit goes to release/2026 in a separate PR, so 2026.x refuses a store a later release has changed.
New test `store_version` passes on RocksDB, SQLite and PostgreSQL. `renamed_identifiers` still passes.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Gives the store its own version mark, separate from the 0.16 schema version, which doesn't change. A store without the mark (an older release, or one coming from Stalwart) gets version 1 on start. A store marked newer than the running release is refused before anything writes to it, with a message pointing to the newer release or the pre-upgrade backup.
This is the first of the 27.1 store-independence items. Version 1 is today's layout, and the bump to 2 comes with the first real layout change. The same commit goes to release/2026 in a separate PR, so 2026.x refuses a store a later release has changed.
New test
store_versionpasses on RocksDB, SQLite and PostgreSQL.renamed_identifiersstill passes.