0.129 → 0.130 — a stored row under a tag older than @0.124.0 does not open¶
A row tagged quillmark/document@0.81.0 through @0.116.0 fails to load as
an unknown schema version. 0.130 reads @0.129.0 and @0.124.0 only; the
seven tags before them, and their forward migrations, are retired. The refusal
is the one an unknown tag always gets: serde_json fails with
unknown variant, Document.fromStored throws and Document.from_stored
raises. A row written by 0.124 or later carries a tag 0.130 reads, and nothing
about it changes.
Before upgrading, rewrite every row under an older tag with a 0.124 to 0.129
build: load it and save it back, which stamps that build's tag. Then count the
stored rows by schema tag; none should be older than @0.124.0.
Document.storageVersionOf / Document.storage_version_of reads the tag off a row
without decoding it.
A count over a database misses every copy outside it. A document a client keeps in browser storage, an exported file, or a backup taken before the resave keeps its old tag and fails under 0.130. Resave each such copy on a 0.124 to 0.129 build first: a client-side copy needs that build live long enough for its owner to open the app.
| Break | Surface | Action |
|---|---|---|
A row tagged @0.81.0, @0.82.0, @0.92.0, @0.93.0, @0.112.0, @0.115.0 or @0.116.0 fails to load as an unknown schema version |
stored documents | Resave it with a 0.124 to 0.129 build before upgrading |
StoredDocument loses the V0_116_0 through V0_81_0 variants, with their DTO trees; STORAGE_V0_116_0, STORAGE_V0_115_0, STORAGE_V0_112_0 and STORAGE_V0_93_0 are gone; PayloadV0_116_0, PayloadItemV0_116_0, NestedCommentV0_92_0 and CommentPathSegmentV0_92_0 are PayloadV0_124_0, PayloadItemV0_124_0, NestedCommentV0_124_0 and CommentPathSegmentV0_124_0 |
Rust | Drop the arms and imports; rename the payload types |