Nano Markup 1.0.0
Nano Markup 1.0.0 is the first stable release of the language. It defines a
deliberately small data model consisting only of String, Mapping, and Sequence
values, together with the source syntax, deterministic parsing algorithm,
stable error categories, and decoder and writer conformance profiles.
SPEC.md is normative. The standalone HTML asset is an informative,
browser-friendly rendering generated from that Markdown source.
The release contains 112 normative shared cases: 95 decoder cases and 17
writer cases. It also contains seven informative JSON/Nano example pairs and
nine concise valid examples embedded in SPEC.md.
Review and approval
On 2026-07-24, the complete normative specification, requirement traceability,
fixture coverage, release metadata, and artifact procedures were reviewed for
the stable 1.0 compatibility commitment. No unresolved correctness, security,
or interoperability blocker was identified.
The maintainers approved the reviewed language and its compatibility promise.
The full decoder, writer, and cross-read protocol passed against the stable
corpus with these separate pre-release implementation commits:
Every valid and invalid decoder fixture passed both adapters. Every shared
writer value passed with LF and CRLF, and each implementation decoded the
other implementation's output to the expected tree. Both adapters also parsed
all informative and embedded valid examples.
Python passed its complete test suite, Ruff, strict mypy, arbitrary-byte and
randomized checks, deep-nesting and cycle tests, and clean wheel and source
distribution installation. Go passed its complete tests, race detection, vet,
formatting, randomized and deep-nesting checks, cycle tests, and a fuzz audit
of approximately 6.9 million decoder executions.
Compatibility commitment
Nano Markup 1.x preserves its accepted source syntax, decoded data trees,
error categories, and conformance protocol compatibility. An incompatible
language change requires Nano Markup 2.0.
Canonical serialization, schemas, references, aliases, includes, templates,
executable expressions, and application-specific type conversion remain
outside Nano Markup 1.0.