You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
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.