Expand description
Definitions of Vortex editions: named, frozen sets of components that a writer may put in a file, carrying a forever read-compatibility guarantee.
Editions live on the session, like encodings do: EditionSession holds the registered
editions and EnabledEditions selects which of them a writer may emit. Declarations
are plain constants — an EditionId plus an Edition record, and one
EditionInclusion per member 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 component they describe.
Every membership is typed by a ComponentKind, and members are resolved one kind at a
time with EditionSessionExt::enabled_component_ids: the file writer restricts the
arrays, layouts, extension dtypes, and aggregates it writes from separate id sets, never one
untyped set.
An edition is a draft until its Edition::min_vortex_version is recorded —
recording it is the act of freezing. The per-edition member sets are computed from the
registered declarations by EditionSession::components_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.
The first-party edition declarations live in the public vortex crate, which registers
and enables them on 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 components with a read-compatibility guarantee, registered with
EditionSession::declare_edition. The set itself is computed from the registeredEditionInclusions byEditionSession::components_in. - Edition
Declaration - Declares an edition together with the components that join the family at it, in one
block. Registered with
EditionSession::declare, which derives each member’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 a component is a member of an edition — and of every later edition of the
same family. Registered with
EditionSession::declare_inclusion. - Edition
Member - A component that joins an edition, named by id string or vtable and tagged with the kind
of registry it belongs to. Built with the per-kind constructors, so a declaration reads
as
EditionMember::array(&"vortex.alp"). - Edition
Session - The session’s registry of editions and edition inclusions.
- Enabled
Editions - The editions enabled for writing in a session.
Enums§
- Component
Kind - The kind of component an edition membership covers.
Traits§
- AsComponent
Id - A source of a component id for edition declarations.
- Edition
Session Ext - Session data for Vortex editions.