Skip to content

docs: settle decoder edge cases and encoder output for 4.2 - #66

Merged
johannschopplich merged 36 commits into
mainfrom
docs/spec-4.2
Oct 6, 2026
Merged

johannschopplich merged 36 commits into
mainfrom
docs/spec-4.2

Conversation

@johannschopplich

@johannschopplich johannschopplich commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

The 4.2 minor release settles the decoder cases the ports read differently and removes the encoders' remaining choices. Every decoder change concerns input no conforming 4.1 encoder emits, and the encoder changes are tightenings, so 4.1 output decodes unchanged.

  • Decoding – a line of tabs is not blank, raw control characters inside quotes decode as themselves, a header-shaped line without a colon is a scalar line, an indented first line is over-indented, a hyphen marks a list item only at item depth, an empty key token is "" while an empty field entry is an error, whitespace before a nested field group is an error, and a " opens a quoted span anywhere in a line.
  • Non-strict mode – a decoder applies only the leniencies the spec names, or errors where they are optional. Depth jumps gain one: the first line's depth becomes the scope's content depth.
  • Encoding – shortest round-trip digits, no quotes unless required, and primitive list items quoted by the document delimiter.

Stacked on #65. Four new cases fail the reference until toon-format/toon#357 lands. The date line still shows 4.1's; it is set at release.

Base automatically changed from docs/spec-4.1.3 to main October 5, 2026 09:43
@johannschopplich
johannschopplich merged commit 67243dd into main Oct 6, 2026
1 check passed
@johannschopplich
johannschopplich deleted the docs/spec-4.2 branch October 6, 2026 05:19
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