PureYAML/docs
Mihaela Mihaljevic cd05976fac feat(parsing): handle directives and document-end boundaries
Three root causes: (1) a '%' begins a directive only in directive position (before document content, outside flow); everywhere else it is plain content, fixing misfires inside plain scalars, flow mappings, and block scalars. (2) %YAML accepts any 1.x (a higher minor is treated as 1.2 without error), rejects major != 1 and duplicate %YAML, and requires a following '---'; reserved and %TAG directives are accepted and ignored. A directive not followed by a document start is rejected with the new directiveWithoutDocument error. (3) An explicit '...' end marker closes the current document so following content begins a fresh document in parseStream; single-document parse still rejects multi-document input at compose time.

Tests/UnsupportedYAMLGapsFixtures.swift, StreamParsingTests, ScannerTests, and ParsingErrorTests were updated in lockstep to assert the now-correct behavior (percent-after-content is plain text; '...' then content is two documents; %YAML 1.3 is valid while 2.0 and duplicate %YAML are rejected); no test was weakened and multi-document rejection for single-document parse is still covered.

Flips 15 official YAML test suite cases (295/402); SF5V, 9MMA, B63P, H7TQ now correctly rejected. 6LVF and W4TN are reclassified to json-mismatch (blocked by other scalar gaps). Updates the manifest, fixtures, counts, and roadmap.
2026-06-23 21:31:58 +02:00
..
releases feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
rules ci: use checkout action with node 24 2026-06-06 00:32:53 +02:00
CONVENTIONS.md test(coding): add sequence fixtures and contract gate 2026-06-05 12:33:09 +02:00
CORPUS.md feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
DESIGN.md feat(emitting): dump YAML streams 2026-06-05 17:14:41 +02:00
MIGRATION.md fix(ci): prepare 0.1.0 release 2026-06-05 21:20:20 +02:00
RELEASE.md feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
USAGE.md docs(release): prepare 0.1.1 2026-06-06 00:28:38 +02:00
YAML_TEST_SUITE_CONFORMANCE.md feat(parsing): handle directives and document-end boundaries 2026-06-23 21:31:58 +02:00