What changed
v0.0.36 is a correctness release for multi-document streams. It began with a report from a downstream tool author and ended with the whole yaml-test-suite exercised as streams.
Fixed
- Stream error positions.
cst::parse_streamandparse_stream_with_configreport an error where it is in the stream, not where it is in the failing document. The typed loaders already did; the two entry points now agree byte for byte. Contributed by @zoosky (#407, #408). - An all-blank keep-chomped block scalar before a document marker
(
- |+, a line of spaces, then---) parsed on its own but failed inside a stream. - A tab before a top-level flow node (
<tab>[) was accepted in the first document of a stream and rejected in every later one. One rule now applies at every line start. - A
...that closes nothing made the CST count one document more than the typed loaders. - CST scanner errors carry their position, the same one the typed loaders report.
Added
- The yaml-test-suite as streams. Every valid suite case becomes a stream with a known-bad document injected first, in the middle and last, and every entry point must report the error at the injected byte. 7,488 streams run on every push.
- The CLI and the MCP server pin the same property through their
own entry points:
noyavalidate --fixandnoyalib_set_multidocreport stream positions. - The npm package is gated before publish. The 0.0.35
@sebastienrousseau/noyalib-wasmpackage shipped without its bindings file after the release tooling drifted; 0.0.36 pins the tool and refuses a package whose entry imports a file the tarball leaves out.
Upgrading
Bump every noyalib crate you use to 0.0.36. No public API changed
shape. Users of the npm package on 0.0.35 should move to 0.0.36.