Expand description
Definitions of Vortex editions: named, frozen sets of encodings that a writer may put in a file, carrying a forever read-compatibility guarantee.
Editions live on the session, like encodings do: EditionSession is the session
variable holding the edition registry, populated at initialization time. Declarations
are plain constants — an EditionId plus an Edition record, and one
EditionInclusion per encoding stating that it is a member of an edition and every
later edition of the same family. Any crate can register declarations into a session,
so inclusions can live next to the encoding they describe.
An edition is a draft until its Edition::min_vortex_version is recorded —
recording it is the act of freezing. The per-edition encoding sets are computed from the
registered declarations by EditionSession::encodings_in, and correctness is enforced
by unit tests: EditionSession::validate checks a whole registry, and
test_harness::validate_edition validates one edition’s constraints — call it once in
the #[cfg(test)] module of each edition definition.
This crate defines only the types and the session variable; the first-party edition
declarations live in the public vortex crate (vortex::editions), which seeds them
into the default session. See the published spec at
https://docs.vortex.dev/specs/editions.html.
Modules§
- test_
harness - Test harness for edition declarations.
Structs§
- Edition
- An edition: a named set of encodings with a read-compatibility guarantee, registered with
EditionSession::declare_edition. The set itself is computed from the registeredEditionInclusions byEditionSession::encodings_in. - Edition
Declaration - Declares an edition together with the encodings that join the family at it, in one
block. Registered with
EditionSession::declare, which derives each encoding’s membership (since= the declared edition) from the block structure. - Edition
Error - Error raised when edition declarations are inconsistent.
- Edition
Id - The identifier of an edition, e.g.
core2026.07.0. - Edition
Inclusion - Declares that an encoding is a member of an edition — and of every later edition of the
same family. Registered with
EditionSession::declare_inclusion. - Edition
Session - The session’s registry of editions and edition inclusions.
Traits§
- AsEncoding
Id - A source of an encoding id for edition declarations.
- Edition
Session Ext - Session data for Vortex editions.