Skip to content

Releases: fktn-k/fkYAML

fkYAML version 0.3.11

24 Aug 03:51
Compare
Choose a tag to compare

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

18 Aug 07:27
Compare
Choose a tag to compare

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

🤖 CI

Full Changelog: v0.3.9...v0.3.10

fkYAML version 0.3.9

12 Jun 14:05
Compare
Choose a tag to compare

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

Full Changelog: v0.3.8...v0.3.9

fkYAML version 0.3.8

01 Jun 02:49
Compare
Choose a tag to compare

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

  • support flow line folding for single/double quoted scalars by @fktn-k in #344

⚡ Improvements

  • Normalize newline codes in the input buffer by @fktn-k in #343

🐛 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

  • added gcc14 & clang18 to the compiler version list for testing by @fktn-k in #349

Full Changelog: v0.3.7...v0.3.8

fkYAML version 0.3.7

16 May 15:24
Compare
Choose a tag to compare

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

  • Run and apply the result of clang-format & amalagamation in GA workflows by @fktn-k in #341

Full Changelog: v0.3.6...v0.3.7

fkYAML version 0.3.6

02 May 08:13
Compare
Choose a tag to compare

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

  • Fixed no such file/directory error when running Bash scripts on Windows by @fktn-k in #328

Full Changelog: v0.3.5...v0.3.6

fkYAML version 0.3.5

27 Apr 14:35
Compare
Choose a tag to compare

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

🐛 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

  • Add workflows items to test Win32 builds by @fktn-k in #323

🧑‍🤝‍🧑 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

20 Apr 13:25
Compare
Choose a tag to compare

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

⚡ 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

  • updated dependencies for mkdocs to the latest versions by @fktn-k in #312

Full Changelog: v0.3.3...v0.3.4

fkYAML version 0.3.3

31 Mar 10:54
Compare
Choose a tag to compare

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

🤖 CI

  • Resolve warnings against using Node.js 16 by @fktn-k in #290

🧑‍🤝‍🧑 Community

Full Changelog: v0.3.2...v0.3.3

fkYAML version 0.3.2

17 Mar 11:19
Compare
Choose a tag to compare

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

  • Add workflow jobs with the macos-13 runner image by @fktn-k in #274

📝 Documentation

Full Changelog: v0.3.1...v0.3.2