Skip to content

v0.2.0

Choose a tag to compare

@zoosky zoosky released this 08 Jul 16:42
c9e432f

Added

  • Fidelity engines for byte-preserving reads, selectable at runtime with the
    new --engine flag. With --engine noyalib or --engine rust-yaml,
    untouched nodes are emitted as their original source bytes — comments,
    quoting, indentation, and line endings survive, and the identity filter
    reproduces the input byte-for-byte.
  • Both fidelity backends now ship in the default build, so --engine noyalib
    and --engine rust-yaml are switchable in one binary without recompiling.
    Build with --no-default-features for a minimal binary that carries neither
    backend (the standard re-serializing pipeline still works; --engine then
    reports the backend as unavailable).
  • A backend-agnostic fidelity round-trip harness (tests/fidelity.rs) that
    checks the parse -> emit == input property across backends, one case per
    formatting dimension (comments, blank lines, indent, quote/block/flow style,
    CRLF, BOM, multi-doc, anchors, numbers, key order).
  • A shared real-world corpus (tests/corpus/) driving both the validation
    suite and the Criterion benchmarks from one case table (Kubernetes, GitHub
    Actions, Docker Compose, Helm, application config).
  • Kubernetes usage guide in the documentation.

Changed

  • An unknown --engine value is now diagnosed before any input is read, so a
    typo is reported immediately instead of after consuming stdin or the file.