Skip to content

Spec v1.2.0

Choose a tag to compare

@kylemwhite kylemwhite released this 14 Oct 03:33
· 21 commits to main since this release

MDZip 1.2.0 specification release. Archives valid under 1.1.0 stay valid; see CHANGELOG.md for every change.

Highlights in v1.2.0:

  • Producers MUST write manifest.json with spec.version and entryPoint; consumers still MUST NOT require it (#6).
  • Optional root-level AGENTS.md, and support files (README, AGENTS, LICENSE, CHANGELOG, CONTRIBUTING) set aside in entry point discovery (#5).
  • Entry point errors split into ERR_ENTRYPOINT_INVALID and ERR_ENTRYPOINT_MISSING, with no silent fallback.
  • Path matching is case-sensitive after Unicode NFC normalization; symbolic link entries are forbidden and never followed (#4).
  • One link resolution algorithm, plus optional links outside and into archives with a trust boundary; wikilinks and other syntaxes allowed.
  • Producers MUST preserve unknown manifest fields and untouched entries.
  • Manifest validation rules (Section 6.4), ZIP method and ZIP64 rules, and new conformance-fixtures guidance (Section 14.3).
  • Adds schema/manifest-1.2.0.schema.json, new shared fixtures (tests T-006–T-017, P-001–P-008) and tools/sync-fixtures.mjs.

Implementations: sync the fixtures with node ../mdzip-spec/tools/sync-fixtures.mjs tests/fixtures --ref v1.2.0.