Skip to content

Safer YAML configuration parsing

Latest

Choose a tag to compare

@zaga00 zaga00 released this 04 Jul 02:08

What's new

  • A YAML key with an empty value is now treated as if the key were absent, uniformly in both parser backends.
  • The library version advances to 6:0:1 with the soname unchanged at 5, so existing binaries remain compatible.

Breaking changes

  • A reader export_interval equal to export_timeout is now rejected at startup; previously the SDK silently reset both values to their defaults.

Bug fixes

  • Empty scalar values in the configuration no longer read past the parse arena into neighboring document text, which could produce garbage values that passed validation.
  • A missing optional http_headers or resources map no longer aborts component startup with a "path does not exist" error.
  • A numeric configuration value with no digits is rejected instead of being accepted as 0.
  • otelc_memdup() and otelc_text_map_free() are now exported from the shared library, as the public headers have always declared.
  • The umbrella header include.h is self-contained, so the Quick Start examples compile exactly as written.

Other changes

  • Hardened the libfyaml lookup formats and rejected node names containing %; malformed sequence items now fail identically under both parser backends.
  • Completed the debug entry traces in the tracer and meter modules.
  • Refreshed the documentation: corrected stale statements across the README files and MEMO, aligned the public header descriptions with the sources, and linked the documentation files from the README.md overview.
  • Added empty-value regression tests to the YAML test suite.

Full Changelog: v2.2.0...v2.2.1