Library

fkYAML v0.4.4

Versionv0.4.4
Stars★ 151
Released2026-08-20

A C++ header-only YAML library

Release notes

# What's Changed
## :sparkles: New Features
- Add fuzz test for parsing YAML inputs #537 (@fktn-k)
    - Currently, it can only built with a Clang compiler. With GCC or MSVC compilers, the build fails.
    - You can run the fuzz test with sanitizers enabled by running the following commands.  
      ```bash
      $ cd /path/to/fkYAML
      $ cmake -B build -S . -DFK_YAML_BUILD_TYPE=Debug -DFK_YAML_BUILD_FUZZ_TEST=ON
      $ cmake --build build --target run_fuzz_test
        # The results will be output to the `build/tests/fuzz_tests/corpus` directory.
      ```
- Add get\_resolved\_tag\_name API to basic\_node #559 (@fktn-k)
    - This method returns a resolved tag name by replacing a tag shorthand (`!!` or `!e!`) with the prefix defined in the %TAG directive.
    - This would be useful if you would like to perform some special operation based on tag properties associated to the target node, given that the pre-existing `get_tag_name` returns an unresolved tag name.
    - See [the API reference page](https://fktn-k.github.io/fkYAML/api/basic_node/get_resolved_tag_name) for more details.

## :zap: Improvements
- Harden input adapter against truncated encoded input #533 (@sndth)

## :bug: Bug Fixes
Most bug are reported in or related to the issue #536. (thanks to @AlexandrKhromov2005)

- Fix crashes and memory leaks found during fuzz test #538 (@fktn-k)
- Fix more crashes caused by fuzz test #540 (@fktn-k)
- Fix out-of-bounds read on an explicit key without a parent context #543 (@AlexandrKhromov2005)
- Guard empty context stack in the key-separator and add\_new\_key paths #544 (@AlexandrKhromov2005)
- Prevent stack overflow by a self-referential alias #549 (@fktn-k)
- Fix out-of-bounds read from a truncated BOM in the char encoding detector #545 (@AlexandrKhromov2005)
- Fix four out-of-bounds reads in the lexer and tag URI validation #547 (@sndth)
- Guard the context stack access behind a checked accessor #552 (@sndth)
- Complete explicit mapping keys which are not followed by a value on the same line #554 (@sndth)
- Hold parse context node ownership in a unique\_ptr #563 (@sndth)

## :robot: CI
- Fix comment posting failures to the PRs from forks #555 (@fktn-k)
- Update coverage options for lcov v2.x #551 (@fktn-k)
- Migrate to doctest #535 ([fktn-k](https://github.KLcom/fktn-k))
- Send coverage report to Coveralls on all commits in main/develop branches #541 (@fktn-k)
- Change the way to generate test\_data.hpp for unit tests #550 (@fktn-k)

## :jigsaw: Miscellaneous
- Harden SPDX copyright against duplicate entries #534 (@sndth)
- Remove unused BSL-1.0 license file #539 (@fktn-k)
- Update the copyright year in LICENSE.txt #542 (@fktn-k)

# Full Changelog
https://github.com/fktn-k/fkYAML/compare/v0.4.3...v0.4.4

Share this resource


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