Releases: fktn-k/fkYAML
fkYAML version 0.3.11
Summary
This release fixes bugs in the deserialization feature including input handling.
Furthermore, CI workflow errors when a PR from fork repository tries to acquire write permission/secrets access are also resolved, which was introduced when code formatting & coverage report sharing were made executed during the GitHub Actions workflows running for PR reviews.
What's Changed
🐛 Bug Fixes
- Allow the document end marker omitted by @fktn-k in #374
- #375 Fix newline code normalization in UTF-8 encoded file input by @fktn-k in #376, reported by @sndth in #375
- Fix wrong parse result from a block sequence as a nested block mapping value by @fktn-k in #377
- Throw exception when loading a nonexistent stream by @sndth in #379, reported by @sndth in #378
- Fix error on parsing a floating point value which ends with a dot by @fktn-k in #382, reported by @realysy in #380
🤖 CI
- Fix workflow errors on PRs from fork repos by @fktn-k in #383
- Fix conditional branching for pull_request_target events by @fktn-k in #384
Full Changelog: v0.3.10...v0.3.11
fkYAML version 0.3.10
Summary
This release adds the new support for deserializing/serializing multiple YAML documents by adding new APIs (fkyaml::node::deserialize_docs()
and fkyaml::node::serialize_docs()
respectively). You can still call the existing APIs for deserializing/serializing a single YAML document. See the linked API document pages for details.
In addition, from this version on, Intel icpx compiler is supported and used in the CI processes. Some compiler flags are added in building the unit testing app, but no compiler specific swiches are required for the library itself.
Moreover, because the GitHub Actions runner image for macOS11 has been deprecated, the CI jobs which uses the runner image and some compiler support which depend on the runner image have been removed.
For other changes like bug fixes, see descriptions in each related issues and PRs.
What's Changed
✨ New Features
- Support Intel icpx compiler by @fktn-k in #360
- Support parssing multiple YAML documents by @fktn-k in #362
- Support serializing multiple YAML docs by @fktn-k in #363
🐛 Bug Fixes
- Detect missing the end of directives markers (---) by @fktn-k in #361
- Fix bug in serializing alias keys by @fktn-k in #364
- Allow trailing comma in flow mapping/sequence by @fktn-k in #365
- #368 Fix line advancement after node props by @fktn-k in #369, reported by @alienczf in #368
- Apply node properties for the root node by @fktn-k in #370
- #366 Fix node-to-float conversion error if node's value is <= 0 by @fktn-k in #371, reported by @ARessegetesStery in #366
🤖 CI
- Remove CI jobs running with macOS 11 by @fktn-k in #367
- update configs for reuse v4 by @fktn-k in #372
Full Changelog: v0.3.9...v0.3.10
fkYAML version 0.3.9
Summary
This release adds the benchmarking tool for fkYAML and other C++ libraries for YAML.
The tool is quite experimental and will be modified and expanded in future releases.
See the benchmarking section of the README.md file for the current benchmarking scores.
Moreover, several bugs in deserialization and Windows builds have been fixed.
What's Changed
✨ New Features
⚡ Improvements
🐛 Bug Fixes
- fixed parse error on explicit mappings as a block sequence entry by @fktn-k in #353
- Fix parse error on smal negative integer keys by @fktn-k in #355
- Fix compile errors on Windows by @fktn-k in #358, reported by @Michael-Lafreniere in #357
Full Changelog: v0.3.8...v0.3.9
fkYAML version 0.3.8
Summary
This release contains the new support of multiline scalars in the deserialization feature.
As described in the PR #344, the support is limited to single/double quoted styles and multiline scalar keys are being permitted as opposed to the YAML specification.
The above limitations will, of course, be resolved in future releases.
Furthermore, a number of bugs in the deserialization feature have been resolved as shown in the Bug Fixes section down below.
Last but not least, gcc14 and clang18 have been added to the supported compilers list and are now used in the GitHub Actions workflows for testing.
What's Changed
✨ New Features
⚡ Improvements
🐛 Bug Fixes
- Fix parse error on flow containers containing child flow containers by @fktn-k in #345
- Fix parse error on flow container keys by @fktn-k in #346
- Fix wrong parse result from mappings containing the non-first block sequence by @fktn-k in #348 reported by @adjbcbc in #347
- Detect errors on missing flow value separators by @fktn-k in #350
- Fix parse error on empty flow containers by @fktn-k in #351 reported by @adjbcbc in #347
🤖 CI
Full Changelog: v0.3.7...v0.3.8
fkYAML version 0.3.7
Summary
This release includes refactoring of YAML escaping and improvement of the way of managing anchor/alias nodes.
Furthermore, several bugs found in the deserializer are resolved.
For contributors, the results of executing clang-format and amalgamation in the GitHub Actions workflows are now automatically applied to the source files.
You can, of course, still run those tools locally but that's not required from this release on.
For more details, see the CONTRIBUTING.md file.
What's Changed
⚡ Improvements
- Separate YAML escaping/unescaping functionalities by @fktn-k in #337
- Improve anchor alias node management by @fktn-k in #340
🐛 Bug Fixes
- Fix false error on anchor names containing colons (:) by @fktn-k in #335
- Escape backslash(\) + 0x09 to a horizontal tab (\t) by @fktn-k in #336
- Fixed error on node properties for child block sequences by @fktn-k in #338
- Fix the C6262 warning on Windows by @fktn-k in #339
🤖 CI
Full Changelog: v0.3.6...v0.3.7
fkYAML version 0.3.6
Summary
This release includes enhancements to the deserializer, improving both performance and readability.
Furthermore, it resolves several issues identified in the deserializer and improves conformance to the YAML specification.
What's Changed
⚡ Improvements
🐛 Bug Fixes
- Fixed parser crashes on a sequence right after the directives end marker by @fktn-k in #327
- Allow backslashes in plain/single-quoted scalars by @fktn-k in #329
- Fixed parse error on root block sequence with child block sequences by @fktn-k in #330
- Fix parse error on block sequences with child flow style container nodes by @fktn-k in #332
- Fixed parse error on block sequences with child block mappings split by a newline code by @fktn-k in #333
🧑🤝🧑 Community
Full Changelog: v0.3.5...v0.3.6
fkYAML version 0.3.5
Summary
This release adds the new support for serialization of YAML container key nodes either with or without tags and/or anchors.
In addition, Win32 builds are now tested during the GitHub Actions workflows.
Moreover, the performance and efficiency of Unicode handlings have been improved by refactoring the deserialization feature.
For contributors, fkYAML now depends on the Clang-Format Python distribution as the source code formatter and provides Bash/Batch scripts for running the Clang-Format and amalgamation.
For more information, see the latest CONTRIBUTING.md file.
What's Changed
✨ New Features
⚡ Improvements
- Query the count of UTF-8 character bytes by @fktn-k in #317
- Improved UTF encoding processing by @fktn-k in #318
- Reformat source files by @fktn-k in #320
🐛 Bug Fixes
- Fix parse error on the first node which isn't a block mapping by @fktn-k in #322
- Force LF newline codes in the amalgamated file by @fktn-k in #324
🤖 CI
🧑🤝🧑 Community
- Use Clang-Format python distribution by @fktn-k in #316
- Set the unit test app as the Visual Studio startup project by @fktn-k in #321
- Add Bash & Batch scripts to run clang-format & amalgamation by @fktn-k in #325
Full Changelog: v0.3.4...v0.3.5
fkYAML version 0.3.4
Summary
This release adds the new support for YAML tags in both the deserialization and serialization features while improving the performance and efficiency of the deserialization feature.
In addition, std::basic_string_view types, such as std::string_view, are now explicitly supported, and implementations of conversion from string scalar nodes and test cases for the functions that take those types as arguments.
For CI processes, workflows using the macOS 14 GitHub Actions runner image have been added, and platform support for fkYAML has been extended.
What's Changed
✨ New Features
- #181 support tag for scalars by @fktn-k in #305
- support tags for container nodes with some cleanup in test suite by @fktn-k in #309
- Add workflow jobs with the macOS14 runner image by @fktn-k in #310
- #294 Support std::basic_string_view by @fktn-k in #313
- #181 Serialize container tags by @fktn-k in #314
⚡ Improvements
🤖 CI
- Fix Valgrind error in the test suite by @fktn-k in #307
- Organized the contents of the test suite by @fktn-k in #311
📝 Documentation
Full Changelog: v0.3.3...v0.3.4
fkYAML version 0.3.3
Summary
This release adds a new basic_node API, at(), which validates before either (1) that the specified key exists in the mapping or (2) that the specified index is less than the current size of the sequence before accessing the target node.
Several bugs bugs in the deserialization feature have also been fixed.
In addition, refactoring of the deserializer has improved the handling of input characters.
What's Changed
✨ New Features
⚡ Improvements
- Further improvements of input handlings by @fktn-k in #301
- Fixed warnings and made future warnings as errors by @fktn-k in #300
- Improve handling UTF encoded inputs by @fktn-k in #296
- modied the way of formatting error messages for exception objects by fktn-k in #291
🐛 Bug Fixes
- #302 Fixed parse error on alias mapping keys by @fktn-k in #303
- #292 Better handling for flow indicators in permitted scalar contexts by @stephenwhittle in #293
- #288 Fixed incorrect parse results from mapping entries split across newlines by @fktn-k in #289 (reported by @stephenwhittle)
🤖 CI
🧑🤝🧑 Community
- #297 Add a note for checking the coverage & upload the same as an artifact by @fktn-k in #295 (suggested by @stephenwhittle)
- Add .editorconfig file by @fktn-k in #287
Full Changelog: v0.3.2...v0.3.3
fkYAML version 0.3.2
Summary
This release contains the char8_t
support for deserialization and bug fixes related to the deserialization feature.
Furthermore, the list of the supported compilers are expanded since the GitHub Actions runner image macOS-13
has been officially released.
What's Changed
✨ New Features
⚡ Improvements
🐛 Bug Fixes
- #281 Fixed the parser crash due to comments right after a sequence block key by @fktn-k in #284
- #282 Don't traverse up to the parent node immediately after parsing a flow-mapping value by @stephenwhittle in #283
- #277 Fixed incorrect parse result from plain scalars starting with special values by @fktn-k in #278
- #275 Fixed parse error on plain scalars containing flow indicators by @fktn-k in #276 reported by @stephenwhittle
- #272 Fix parse error on a block sequence containing a comment within by @fktn-k in #273 reported by @acfsmith
🤖 CI
📝 Documentation
Full Changelog: v0.3.1...v0.3.2