Skip to main content

Crate vortex_edition

Crate vortex_edition 

Source
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 registered EditionInclusions by EditionSession::encodings_in.
EditionDeclaration
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.
EditionError
Error raised when edition declarations are inconsistent.
EditionId
The identifier of an edition, e.g. core2026.07.0.
EditionInclusion
Declares that an encoding is a member of an edition — and of every later edition of the same family. Registered with EditionSession::declare_inclusion.
EditionSession
The session’s registry of editions and edition inclusions.

Traits§

AsEncodingId
A source of an encoding id for edition declarations.
EditionSessionExt
Session data for Vortex editions.