Skip to content

Releases: fktn-k/fkYAML

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

fkYAML version 0.3.1

21 Dec 14:37
Compare
Choose a tag to compare

Summary

From this release on, fkYAML provides the amalgamated version to improve portability as a header-only library.
Also, this release contains bug-fixes in the deserialization process.
Furthermore, the documentation now uses outputs from the sources in docs/examples directory to keep the examples in the documentation up to date with the latest library sources.

What's Changed

✨ New Features

⚡ Improvements

  • #256 Added specialization of from_node() for std::map with compatible key/value types #260 (fktn-k)

🐛 Bug Fixes

  • Avoid using unintended C++14 features #266 (fktn-k) reported by @burgreen
  • Allow a dash(-) at the first character of a plain scalar #254 (fktn-k)
  • Allow double quotation marks in plain scalars #253 (fktn-k)
  • #242 Fix error in parsing string consisting only of numbers and multiple dots #251 (fktn-k)

🤖 CI

  • Added paths filter to regulate workflow executions #263 (fktn-k)

📝 Documentation

Full Changelog: v0.3.0...v0.3.1

fkYAML version 0.3.0

10 Dec 16:31
Compare
Choose a tag to compare

Summary

This release contains some breaking changes in the basic_node's mapping node type so that fkYAML supports non-string-scalar nodes, such as mappings or integer scalars, as mapping keys.
Furthermore, from this release on, GCC-7 and GCC-8 are in the list of supported compilers and used for testing on GitHub Actions.

What's Changed

💥 Breaking Changes

  • #240 Support explicit block mappings & non-scalar nodes as mapping keys #245 (fktn-k)
  • #240 Support non-string scalar nodes as mapping keys #244 (fktn-k)
  • Feature/238 apply correct noexcept #241 (fktn-k)

⚡ Improvements

  • #240 Support non-string-scalar node keys in basic_node ctor with std::initializer_list #247 (fktn-k)
  • #240 implement node comparison #243 (fktn-k)

🐛 Bug Fixes

  • Fixed missing callings of fclose() in the unit tests #246 (fktn-k)

🤖 CI

  • Add GCC compiler versions tested in GA workflows #248 (fktn-k)

📝 Documentation

Full Changelog: v0.2.3...v0.3.0

fkYAML version 0.2.3

03 Dec 05:20
Compare
Choose a tag to compare

Summary

This release contains support for the deserialization of YAML block style scalars and the user-defined string literals for YAML node objects.
A bug in parsing UTF-16 encoded inputs has also been fixed in this release.
Furthermore, from this release on, natvis debugger visualization file is/will be contained when fkYAML is built with the MSVC environments for better debugging experience.

What's Changed

⚡ Improvements

🐛 Bug Fixes

  • fixed parsing UTF-16 encoded inputs which do not end with a surrogate… #234 (fktn-k)

📝 Documentation

  • Improved contribution guide #231 (fktn-k)
  • Removed dependency on the cmake-format tool #230 (fktn-k)
  • Fixed wrong URLs in the releases page of the documentation #225 (fktn-k)

Full Changelog: v0.2.2...v0.2.3

fkYAML version 0.2.2

27 Nov 13:45
Compare
Choose a tag to compare

Summary

This release supports the UTF-8, UTF-16BE/LE, and UTF-32BE/LE encodings including BOMs in parsing YAML documents, and improved the contents of error messages by adding runtime information when exceptions are thrown.
Furthermore, bugs in the deserialization/serialization features have also been fixed.

CAVEAT

The fkYAML library is an alpha quality software, at most.
It would take a while until this library gets stabled version, since implementation and maintenance has been/will be done by a single developer.
If you find a bug or wanted features, please open a discussion/issue to let me know.
Any kind of contribution is very much welcomed.

What's Changed

⚡ Improvements

  • #209 Support auto-detection of Unicode encoding types including BOMs #223 (fktn-k)
  • #214 Emit more descriptive errors #222 (fktn-k)
  • #209 support UTF-16 / UTF-32 for deserialization input characters #221 (fktn-k)

🐛 Bug Fixes

  • #218 Fixed lacking quotes & escapes during serializtion #220 (fktn-k)
  • #217 Fix parse errors on strings containing single quotes #219 (fktn-k)

fkYAML version 0.2.1

19 Nov 05:53
Compare
Choose a tag to compare

Summary

This release supports the UTF-8 encoding (both escaped/unescaped) in parsing YAML documents.
Furthermore, bugs in the deserialization feature have also been fixed.

CAVEAT

The fkYAML library is an alpha quality software, at most.
It would take a while until this library gets stabled version, since implementation and maintenance has been/will be done by a single developer.
If you find a bug or wanted features, please open a discussion/issue to let me know.
Any kind of contribution is very much welcomed.

What's Changed

⚡ Improvements

  • #209 support escaped unicode #215 (fktn-k)
  • #209 Support unescaped UTF-8 input characters in deserialization #210 (fktn-k)
  • #207 Support markers for the end of directives/documents #208 (fktn-k)
  • #190 Support specialization of deserialization for a vector of user-defined type objects #203 (fktn-k)
  • #195 Implement insertion/extraction operators for basic_node template class #201 (fktn-k)

🐛 Bug Fixes

📝 Documentation

Full Changelog: v0.2.0...v0.2.1

fkYAML version 0.2.0

06 Nov 23:01
Compare
Choose a tag to compare

fkYAML version 0.2.0

Summary

This release contains a breaking change in the default type for YAML mapping node: it will no longer preserve insertion order of internal key/value pairs by default.
To preserve the insertion order as it used to, use fkyaml::ordered_map as basic_node's mapping node type.
Furthermore, factory methods for scalar values of basic_node type have been removed and unified into the basic_node constructors.
Along with the above changes, internal operations in the fkYAML have also been improved regarding conversions between YAML nodes and values of native data types.

CAVEAT

The fkYAML library is an alpha quality software, at most.
It would take a while until this library gets stabled version, since implementation and maintenance has been/will be done by a single developer.
If you find a bug or wanted features, please open a discussion/issue to let me know.
Any kind of contribution is very much welcomed.

What's Changed

💥 Breaking Changes

⚡ Improvements

  • #187 support compatible strings as an argument in basic_node ctors #188 (fktn-k)
  • #180 Generalize getter APIs for node value references #184 (fktn-k)
  • #105 Support std::initializer_list in basic_node constructors #173 (fktn-k)

🐛 Bug Fixes

  • #185 fixed missing calls for fclose() in input adapter tests #186 (fktn-k)
  • #175 support detecting indentation in deserialization #176 (fktn-k)

🤖 CI

  • Updated header template and target file for version up script #197 (fktn-k)
  • #177 Add test for input adapters only #178 (fktn-k)

📝 Documentation

Full Changelog: v0.1.3...v0.2.0

fkYAML version 0.1.3

21 Oct 13:08
Compare
Choose a tag to compare

Summary

This release contains improvements of the fkYAML library's internal operations with some reorganization of CMake scripts.
In addition, the analysis result from Codacy has become shown at the top of the README.md file.

CAVEAT

The fkYAML library is an alpha quality software, at most.
It would take a while until this library gets stabled version, since implementation and maintenance has been/will be done by a single developer.
If you find a bug or wanted features, please open a discussion/issue to let me know.
Any kind of contribution is very much welcomed.

What's Changed

⚡ Improvements

🔨 Tool/Service Integrations

Full Changelog: v0.1.2...v0.1.3