Skip to content

fix: missing $schema is explicitely Data Package v1 - #1857

Merged
pierrecamilleri merged 6 commits into
mainfrom
fix/version-handling
Oct 15, 2026
Merged

pierrecamilleri merged 6 commits into
mainfrom
fix/version-handling

Conversation

@pierrecamilleri

Copy link
Copy Markdown
Collaborator

Per the spec, a descriptor without $schema is an explicit v1, imposed top-down on all children (whose own $schema is ignored); a standalone field stays version-less and only inherits.

All version gates (name pattern, object missingValues, exclusive bounds) now behave the same for an absent $schema as for a declared v1.

The resolved version is stored privately on Resource/Schema at import and threaded through from_descriptor/to_copy/validate, so detached children (per-resource validation, copies, transform pipelines) keep the information. Exports stay canonical : the export of a child does not create a standalone version.

Also adds an upgrade method to upgrade an object from DPv1 to DPv2.

Finally, a documentation page has been added to explicit these design choices.

…children

Per the spec, a descriptor without `$schema` is an explicit v1, imposed
top-down on all children (whose own `$schema` is ignored); a standalone
field stays version-less and only inherits. All version gates (name
pattern, object missingValues, exclusive bounds) now behave the same
for an absent `$schema` as for a declared v1. The resolved version is
stored privately on Resource/Schema at import and threaded through
from_descriptor/to_copy/validate, so detached children (per-resource
validation, copies, transform pipelines) keep the information.
exports stay canonical : the export of a child does _not_ create a standalone version.
@pierrecamilleri
pierrecamilleri merged commit c33f726 into main Oct 15, 2026
10 checks passed
@pierrecamilleri
pierrecamilleri deleted the fix/version-handling branch October 15, 2026 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant