Bug fixed:
- The byte-order-mark `U+FEFF` (“the BOM”) is now treated as whitespace, as required by the KDLv1 spec ([8]).
Enhancement:
- The parser and emitter now support the [draft KDLv2 spec][kdl2-pr] if you explicitly enable this in the options:
* in __C__, pass `KDL_DETECT_VERSION` (for hybrid mode) or `KDL_READ_VERSION_2` (for v2 only) as a parse option to `kdl_create_*_parser()`, and set the `version` attribute of the struct `kdl_emitter_options` when creating the emitter.
* in __C++__, `parse()` and `to_string()` now take an optional argument of type `KdlVersion`.
* in __Python__, the `parse()` function and the `EmitterOptions` both take an optional argument `version`.
* the command line tools `ckdl-cat` and `ckdl-parse-events` take options `-1` and `-2` to specify the KDL version.
Deprecations:
- The string escaping functions `kdl_escape` and `kdl_unescape` are deprecated. Use `kdl_escape_v` and `kdl_unescape_v` instead (the `*_v` functions allow you to pass the KDL version).
[8]: https://github.com/tjol/ckdl/issues/8
[kdl2-pr]: https://github.com/kdl-org/kdl/pull/286