fkYAML v0.4.4
Permanent link:
cppdashboard.dev/r/2026/08/fkyaml-v0-4-4A 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