Library

libfyaml v1.0.0-beta1

Versionv1.0.0-beta1
Stars★ 340
Released2026-08-13

Fully 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


Discovered 2026-08-14 Source GitHub Archive 2026-08 →