Releases¶
fkYAML version 0.3.14¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
- fkyaml_fwd.hpp (single header)
Summary¶
This release adds the new header file fkyaml_fwd.hpp which provides the library's namespace macros and forward declarations of the library's API classes. With the file, you can reduce the compile time cost of including the full library header if some source files do not actually use the library features.
Furthermore, conversions of YAML nodes into arbitrary types have been much improved and a lot more STL container and scalar types have been supported for that purpose. See the API documentation page for more details.
Other changes are related to minor bug fixes in YAML scalar parsing and maintenance fixes for CI.
What's Changed¶
New Features¶
- Numeric scalar conversions inside basic_node::get_value API (#419, fktn-k)
- Suggested by ARessegetesStery in the issue #366
- Automatic value conversions among null, boolean, integer and floating-point scalar values inside fkyaml::basic_node::get_value() API calls
- Add forward declaration header (#422, fktn-k)
- Suggested by abcminiuser in the duscussion #420
- This new header provides the fkYAML namespace macros and forward declarations of fkYAML API classes.
- This file is available both in the include and single_include directories.
Improvements¶
- Support more STL types in from_node (#421, fktn-k)
- YAML node objects can now be converted into a lot more STL container types.
- See the API documentation page for more details.
- Clarify type restrictions of get_value() & get_value_ref() APIs (#424, fktn-k)
- get_value calls with unsupported types (reference, pointer and C-style array types) now emits an explicit error message.
- Use std::unreachable() or similar compiler specific extensions for dead but necessary code (#425, fktn-k)
- Exclude detail::unreachable() from coverage target (#426, fktn-k)
Bug Fixes¶
- Fix wrong scalar value type detection from floating point value token (#414, fktn-k)
- reported by ebertolazzi in the issue #413
- Disable -Wdeprecated-literal-operator warnings (#417, fktn-k)
- reported by ebertolazzi in the issue #413
CI¶
- Update GA workflow jobs for ubuntu24.04 (#415, fktn-k)
- GA workflow jobs with more AppleClang versions on macOS (#416, fktn-k)
- Fix somehow shadowed clang-tidy warnings (#418, fktn-k)
- Fix duplicate include error if clang-tidy helper file already exists (#423, fktn-k)
Full Changelog¶
https://github.com/fktn-k/fkYAML/compare/v0.3.13...v0.3.14
fkYAML version 0.3.13¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
Summary¶
This release includes performance improvements in parsing YAML documents and many bug fixes in both serialization and deserialization functions.
In addition, benchmarking has been improved to facilitate comparison with existing YAML libraries by adding variations in data file content.
No changes are required for migration.
What's Changed¶
Improvements¶
- Refine benchmarking (#397, fktn-k)
- replaced data files for benchmarking for better comparison against existing YAML libraries
- Optimized scalar parsing (#409, fktn-k)
- increased parse speed by about 5MiB/s
Bug Fixes¶
- Accept % as first scalar character (#399, fktn-k)
- Fix compile warnings/errors when benchmarker app is compiled with msvc (#401, fktn-k)
- Updated natvis file (#402, fktn-k)
- fixed broken natvis file contents
- Fix URI validation for tag shorthands (#403, fktn-k)
- Fix float scalar serialization when a float is actually an integer (#407, fktn-k)
- reported by ARessegetesStery in the issue #405
- Fix infinite loops after parsing final empty block scalar (#410, fktn-k)
- Fix wrong parse result from single scalar document (#411, fktn-k)
Documentation¶
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.3.12...v0.3.13
fkYAML version 0.3.12¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
Summary¶
This release adds some basic_node APIs to get/set node attributes for more secure backwards compatibilities in future releases. Because of that, some existing APIs have been deprecated (see the list down below). It's recommended for users to replace deprecated API usages with new APIs.
Furthermore, relatively large refactoring has been made for better performance and more flexible node attribute configurations (just preparation for now, but will be added within a few coming releases). As a result, deserialization performance has increased. See the Benchmarking section in README.md for details.
Last but not least, several bugs have also been resolved in deserialization, and active C++ standard is now correctly detected at compile time when using MSVC compilers where __cplusplus
macro doesn't hold a correct value by default.
New Features¶
- Add node_type/yaml_version_type enum class APIs by fktn-k in #388
- In this PR, the following APIs has been deprecated. Although they still work as before except for compile-time deprecation warnings, it's highly recommended to replace their usages with new APIs since they are planned to be removed in v0.4.0. See the Deprecation notes in each deprecated API reference page for migration guides.
fkyaml::basic_node::node_t
- Replace with:
fkyaml::node_type
fkyaml::basic_node::basic_node(const fkyaml::basic_node::node_t)
- Replace with:
fkyaml::basic_node::basic_node(const fkyaml::node_type)
fkyaml::basic_node::node_t fkyaml::basic_node::type()
- Replace with:
fkyaml::basic_node::get_type()
fkyaml::basic_node::yaml_version_t
- Replace with:
fkyaml::yaml_version_type
fkyaml::basic_node::yaml_version_t fkyaml::basic_node::get_yaml_version()
- Replace with:
fkyaml::yaml_version_type fkyaml::basic_node::get_yaml_version_type()
void fkyaml::basic_node::set_yaml_version(const fkyaml::basic_node::yaml_version_t)
- Replace with:
void fkyaml::basic_node::set_yaml_version_type(const fkyaml::yaml_version_type)
Improvements¶
- Improve UTF encoding detection by fktn-k in #386
- Refactor node attributes management by fktn-k in #389
- Refactor lexical analysis by fktn-k in #390
- Improve conversion from scalars to native types by fktn-k in #391
- Reduce string copies in parse by fktn-k in #394
- Use likely/unlikely if available by fktn-k in #395
Bug Fixes¶
- Fix detecting invalid contents of block scalar headers by fktn-k in #387
- Use _MSVC_LANG macro when compiled with MSVC for C++ standard detection by fktn-k in #392
- Parse +.inf as the positive float infinity by fktn-k in #393
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.3.11...v0.3.12
fkYAML version 0.3.11¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.10...v0.3.11
fkYAML version 0.3.10¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.9...v0.3.10
fkYAML version 0.3.9¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.8...v0.3.9
fkYAML version 0.3.8¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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
- Detect errors on missing flow value separators by fktn-k in #350
- Fix parse error on empty flow containers by fktn-k in #351
CI¶
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.3.7...v0.3.8
fkYAML version 0.3.7¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.6...v0.3.7
fkYAML version 0.3.6¶
Release Packages
- fkYAML.zip
- fkYAML.tgz
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.5...v0.3.6
fkYAML version 0.3.5¶
Release Packages
- fkYAML.tgz
- fkYAML.zip
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.4...v0.3.5
fkYAML version 0.3.4¶
Release Packages
- fkYAML.tgz
- fkYAML.zip
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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: https://github.com/fktn-k/fkYAML/compare/v0.3.3...v0.3.4
fkYAML version 0.3.3¶
Release Packages
- fkYAML.tgz
- fkYAML.zip
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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 #303 fktn-k
- #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: https://github.com/fktn-k/fkYAML/compare/v0.3.2...v0.3.3
fkYAML version 0.3.2¶
Release Packages
- fkYAML.tgz
- fkYAML.zip
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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 #284 (fktn-k)
- #282 Don't traverse up to the parent node immediately after parsing a flow-mapping value #283 (stephenwhittle)
- #277 Fixed incorrect parse result from plain scalars starting with special values #278 (fktn-k)
- #275 Fixed parse error on plain scalars containing flow indicators #276 (fktn-k)
- #272 Fix parse error on a block sequence containing a comment within #273 (fktn-k)
CI¶
Documentation¶
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.3.1...v0.3.2
fkYAML version 0.3.1¶
Release Packages
- fkYAML.tgz
- fkYAML.zip
- fkYAML_single_header.zip
- fkYAML_single_header.tgz
- node.hpp (single header)
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¶
- #255 serve single header file #261 (fktn-k) suggested by @reFX-Mike
Improvements¶
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¶
Documentation¶
- fixed typos which needs to be target_link_libraries() in tutorials #267 (fktn-k) reported by @burgreen
- #229 Fix the documentation build errors #265 (fktn-k)
- #229 build example code and use output #264 (fktn-k)
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.3.0...v0.3.1
fkYAML version 0.3.0¶
Release Packages
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¶
CI¶
Documentation¶
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.2.3...v0.3.0
fkYAML version 0.2.3¶
Release Packages
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¶
- Feature/232 user defined literal for deserialization #235 (fktn-k)
- #159 Support block scalar styles #228 (fktn-k)
- Feature/226 add natvis file #227 (fktn-k)
Bug Fixes¶
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: https://github.com/fktn-k/fkYAML/compare/v0.2.2...v0.2.3
fkYAML version 0.2.2¶
Release Packages
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.
Warning
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)
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.2.1...v0.2.2
fkYAML version 0.2.1¶
Release Packages
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.
Warning
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¶
- #211 Fix indentation handling #213 (fktn-k)
- #211 fixed bug in parsing single quoted strings #212 (fktn-k)
- #205 Detect duplicate keys as an error #206 (fktn-k)
- #200 Allow a space in unquoted strings #202 (fktn-k)
Documentation¶
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.2.0...v0.2.1
fkYAML version 0.2.0¶
Release Packages
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.
Warning
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¶
- #180 clean up public apis #183 (fktn-k)
- #167 Use std::map as the default mapping node type #174 (fktn-k)
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¶
- #179 Added integration with Google Analytics 4 #196 (fktn-k)
- #179 Updated pages in the Home section in the documentation #194 (fktn-k)
- #179 Migrate the gh-page content with MkDocs #193 (fktn-k)
- #179 Created tutorial pages #192 (fktn-k)
- #179 Migrate API docs with MkDocs #189 (fktn-k)
- #179 introduce mkdocs for documentation #182 (fktn-k)
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.1.3...v0.2.0
fkYAML version 0.1.3¶
Release Packages
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¶
- #145 Expand swap() support for basic node by @fktn-k in https://github.com/fktn-k/fkYAML/pull/163
- #18 Resolve warnings while building library/tests by @fktn-k in https://github.com/fktn-k/fkYAML/pull/165
- #164 Use default initial values for class member variables by @fktn-k in https://github.com/fktn-k/fkYAML/pull/168
- #158 Added to_string() for serialization of YAML nodes. by @fktn-k in https://github.com/fktn-k/fkYAML/pull/170
- #166 Organize CMake scripts for testing by @fktn-k in https://github.com/fktn-k/fkYAML/pull/171
Tool/Service Integrations¶
- #160 Added the Codacy badge to README.md by @fktn-k in https://github.com/fktn-k/fkYAML/pull/162
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.1.2...v0.1.3
fkYAML version 0.1.2¶
Summary¶
This release contains improvements regarding internal implementation of the fkYAML library.
Furthermore, new unit test cases have been added and the coverage result (C1) is now 100%.
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¶
- #133 refactor lexer by @fktn-k in https://github.com/fktn-k/fkYAML/pull/146
Bug Fixes¶
- Fix version_macros.hpp file path in Makefile by @fktn-k in https://github.com/fktn-k/fkYAML/pull/147
CI¶
- #150 Add unit tests for input_handler class by @fktn-k in https://github.com/fktn-k/fkYAML/pull/151
- #150 Excluded unreachable lines in serializer class test from coverage data by @fktn-k in https://github.com/fktn-k/fkYAML/pull/152
- #150 Covered a missing branch in ordered_map class by @fktn-k in https://github.com/fktn-k/fkYAML/pull/153
- #150 added/modified unit tests for lexical_analyzer test by @fktn-k in https://github.com/fktn-k/fkYAML/pull/154
- #150 Added tests for basic_deserializer class by @fktn-k in https://github.com/fktn-k/fkYAML/pull/155
Documentation¶
- Updated documents by @fktn-k in https://github.com/fktn-k/fkYAML/pull/156
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.1.1...v0.1.2
fkYAML version 0.1.1¶
Summary¶
This release contains a hotfix for the test suite to check CMake integration with FetchContent module which uses the old fkYAML APIs.
All changes are backward-compatible. See release notes of version 0.1.0 for more information on other features.
CAVEAT¶
The fkYAML library is a alpha quality software. 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 us know. Any kind of contribution is very much welcomed.
What's Changed¶
Bug Fixes¶
- use the v0.1.0 fkYAML APIs in the cmake_fetch_content_test (commit hash: https://github.com/fktn-k/fkYAML/commit/2253217c4fe4d83cfe845d77675c3a1ae412c62e) by @fktn-k
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.1.0...v0.1.1
fkYAML version 0.1.0¶
Summary¶
This release contains a huge change in public APIs, including naming conventions and migration of serialization/deserialization features to fkyaml::basic_node class APIs.
Furthermore, internal implementation of the fkYAML library has been intentionally moved to include/fkYAML/detail
's subdirectories so that we can provide as much backward compatibility as possible for the future releases.
CAVEAT¶
The fkYAML library is a alpha quality software.
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 us know. Any kind of contribution is very much welcomed.
What's Changed¶
Improvements¶
- #123 Change naming conventions to lower_snake_case by @fktn-k in https://github.com/fktn-k/fkYAML/pull/124
- #123 Changed file naming convention by @fktn-k in https://github.com/fktn-k/fkYAML/pull/125
- #127 Generalize conversions between nodes and native data by @fktn-k in https://github.com/fktn-k/fkYAML/pull/129
- #128 moved internal impl to detail dir/namespace by @fktn-k in https://github.com/fktn-k/fkYAML/pull/131
- #126 Generalize serialization/deserialization features by @fktn-k in https://github.com/fktn-k/fkYAML/pull/134
- #132 Classify source files in detail directory by @fktn-k in https://github.com/fktn-k/fkYAML/pull/137
- #135 optimize build scripts by @fktn-k in https://github.com/fktn-k/fkYAML/pull/138
Documentation¶
- #127 Update examples in readme by @fktn-k in https://github.com/fktn-k/fkYAML/pull/141
CI¶
- #136 Auto-generate a helper source file for the clang-tidy tool by @fktn-k in https://github.com/fktn-k/fkYAML/pull/139
- #128 fixed filtering source files to generate full-spec coverage by @fktn-k in https://github.com/fktn-k/fkYAML/pull/140
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.0.0...v0.1.0
fkYAML version 0.0.1¶
Summary¶
This release improves internal operations in the fkYAML library and adds unit tests for the existing classes.
Furthermore, several tool/service integrations has been incorporated for better maintainability.
What's Changed¶
Improvements¶
- #34 add unit tests for deserializer by @fktn-k in https://github.com/fktn-k/fkYAML/pull/97
- Expand usable key types by @fktn-k in https://github.com/fktn-k/fkYAML/pull/115
Tool/Service Integrations¶
- #101 added memory leak check with Valgrind by @fktn-k in https://github.com/fktn-k/fkYAML/pull/108
- #116 use reuse software for file headers by @fktn-k in https://github.com/fktn-k/fkYAML/pull/117
- #118 introduce cmake-format by @fktn-k in https://github.com/fktn-k/fkYAML/pull/119
- #120 added target to use github-changelog-generator tool by @fktn-k in https://github.com/fktn-k/fkYAML/pull/121
CI¶
- #109 Use official docker image for GCC during CI jobs by @fktn-k in https://github.com/fktn-k/fkYAML/pull/110
- #111 Use docker images for Clang compilers during CI jobs by @fktn-k in https://github.com/fktn-k/fkYAML/pull/112
Documentation¶
- #113 Generate API documentation only for public members by @fktn-k in https://github.com/fktn-k/fkYAML/pull/114
Community¶
- #21 Update issue templates by @fktn-k in https://github.com/fktn-k/fkYAML/pull/100
Full Changelog: https://github.com/fktn-k/fkYAML/compare/v0.0.0...v0.0.1
fkYAML v0.0.0¶
This release provides basic features of the fkYAML library.
Major known issues and limitaions are as follows:
- %TAG directives are not supported. (Will surely be implemented.)
- YAML key must be a string literal. (YAML specification of any version does not restrict YAML keys as such.)
- Backward compatibilities for YAML 1.1 or older have not yet been implemented.
The other issues and limitations will also be fixed in later versions.
Wait for such a version, or create a PR to fix one.