libfyaml v1.0.0-beta1
Permanent link:
cppdashboard.dev/r/2026/08/libfyaml-v1-0-0-beta1Fully feature complete YAML parser and emitter, supporting the latest YAML spec and passing the full YAML testsuite.
Release notes
# libfyaml v1.0.0-beta1 `v1.0.0-beta1` is the first beta for the libfyaml 1.0 line. The main 1.0 API areas are now in place: core YAML parsing/emission, generic values, reflection-based typed serdes, Python bindings over generics, transparent parse caching, durable generic storage, auto-anchor emission, and comment round-tripping. Beta1 adds smaller public generic helpers and fixes edge cases found by the expanded tests. It does not add a new subsystem. Highlights: - Generic string and number conversion helpers - Short scalar predicates for compact generic type checks - Indexed sequence iteration and mapping item iteration helpers - Builder-backed string formatting helpers - Fixes for empty generic item lists and empty collection comparison - Parser/emitter fixes for cached line-break scans, large block scalars, and empty-string generic round-trips - Documentation refreshes for canned man pages and kernel-doc comments ## Generic API The generic API now has public helpers for direct string/number conversion, short predicates, sequence iteration with indexes, mapping item iteration, and builder-backed string formatting. `fy_join()` can now take an optional leading builder, and decorated scalar accessors unwrap correctly. ## Correctness Fixes Beta1 fixes several edge cases found by the expanded tests. Empty generic item lists now use valid storage. Empty collections compare by value instead of backing address. Empty-string generics under the core schema are quoted so they do not emit as null. Stale dedup resize requests are rejected. The parser/emitter path also fixes cached line-break scans and block scalars with many empty lines. ## Build, ABI, and Documentation The build now selects the requested C standard during configuration. The linker interface version moves to `8:0:6` because beta1 adds public APIs without removing existing ones. Autotools and CMake both read `.libtool-version`, so the shared-library ABI version stays aligned across build systems. Documentation updates include refreshed canned man pages and fixed kernel-doc comments for string formatting helpers. ## Resources - Full changelog: https://github.com/pantoniou/libfyaml/compare/v1.0.0-alpha8...v1.0.0-beta1 - Python binding docs: `python-libfyaml/docs/API.md`
Share this resource