diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e05ef73..992f1c32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,36 +25,37 @@ template: #### Fixes -- fixed `is_homogeneous()` overloads with `first_nonmatch` outparam being broken in optimized builds (#231) (@Forbinn) -- fixed unclear error message when parsing integers that would overflow (#224) (@chrimbo) +- fixed `is_homogeneous()` overloads with `first_nonmatch` outparam being broken in optimized builds (#231) (@Forbinn) +- fixed unclear error message when parsing integers that would overflow (#224) (@chrimbo) +- fixed CMake `install` target installing `meson.build` files (#236) (@JWCS) ## v3.4.0 -- fixed "unresolved symbol" error with nvc++ (#220) (@Tomcat-42) +- fixed "unresolved symbol" error with nvc++ (#220) (@Tomcat-42) #### Fixes -- fixed `value_flags` not being preserved correctly when inserting into tables and arrays (#108) (@LebJe) -- fixed `toml::value::flags()` not being cleared when `std::move`-ing a value -- fixed error in README (#195) (@andrewkcorcoran) -- fixed compiler error when using NVCC (#198) (@thompsonnoahe) -- fixed `noexcept(...)` sometimes being incorrectly derived on `for_each()` -- fixed `for_each()` compilation error on GCC <= 7 (#197) (@sagi-ottopia, @damirbarr) -- fixed `FLT_RADIX` check getting broken by Intel MKL headers (#202) (@iago-lito) -- fixed keys containing `\t` incorrectly formatting as bare keys (@jasmine-zhu, @arp242) -- fixed keys containing `\t` and `\n` not round-tripping correctly (@arp242) +- fixed `value_flags` not being preserved correctly when inserting into tables and arrays (#108) (@LebJe) +- fixed `toml::value::flags()` not being cleared when `std::move`-ing a value +- fixed error in README (#195) (@andrewkcorcoran) +- fixed compiler error when using NVCC (#198) (@thompsonnoahe) +- fixed `noexcept(...)` sometimes being incorrectly derived on `for_each()` +- fixed `for_each()` compilation error on GCC <= 7 (#197) (@sagi-ottopia, @damirbarr) +- fixed `FLT_RADIX` check getting broken by Intel MKL headers (#202) (@iago-lito) +- fixed keys containing `\t` incorrectly formatting as bare keys (@jasmine-zhu, @arp242) +- fixed keys containing `\t` and `\n` not round-tripping correctly (@arp242) #### Additions -- added support for using enums with `value_or()` +- added support for using enums with `value_or()` -#### Changes: +#### Changes -- renamed header files to have `.hpp` extension (`toml.h` is still present for backwards-compatibility) +- renamed header files to have `.hpp` extension (`toml.h` is still present for backwards-compatibility) -#### Build system: +#### Build system -- fixed meson builds with `-Ddefault_library=static` having hidden symbols on GNU compilers (#201) (@vlad0x00) +- fixed meson builds with `-Ddefault_library=static` having hidden symbols on GNU compilers (#201) (@vlad0x00)

@@ -62,28 +63,28 @@ template: [Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.3.0) 2023-01-29 -#### Fixes: +#### Fixes -- fixed null pointer dereference in parser when exceptions are disabled (#169) (@ncaklovic) -- fixed spurious warnings in MSVC 19.34 -- fixed `toml::parse_file()` on windows for non-ASCII paths -- fixed a spurious table redefinition error (#187) (@jorisvr) -- fixed UB edge-case in integer parsing (#188) (@jorisvr) -- fixed some build issues with Apple-flavoured Clang (#189) (@eddelbuettel) +- fixed null pointer dereference in parser when exceptions are disabled (#169) (@ncaklovic) +- fixed spurious warnings in MSVC 19.34 +- fixed `toml::parse_file()` on windows for non-ASCII paths +- fixed a spurious table redefinition error (#187) (@jorisvr) +- fixed UB edge-case in integer parsing (#188) (@jorisvr) +- fixed some build issues with Apple-flavoured Clang (#189) (@eddelbuettel) -#### Additions: +#### Additions -- added `toml::format_flags::terse_key_value_pairs` -- added `TOML_ENABLE_FLOAT16` config (#178) (@Scrumplex) +- added `toml::format_flags::terse_key_value_pairs` +- added `TOML_ENABLE_FLOAT16` config (#178) (@Scrumplex) -#### Removals: +#### Removals -- removed automatic detection of `_Float16` (you must explicitly set `TOML_ENABLE_FLOAT16` to enable it) (#186) (@benthetechguy) +- removed automatic detection of `_Float16` (you must explicitly set `TOML_ENABLE_FLOAT16` to enable it) (#186) (@benthetechguy) -#### Build system: +#### Build system -- re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy) -- increased the minimum required meson version to `0.61.0` +- re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy) +- increased the minimum required meson version to `0.61.0`

@@ -91,23 +92,23 @@ template: [Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.2.0) 2022-08-29 -#### Fixes: +#### Fixes -- fixed `[dotted.table]` source columns sometimes being off by one (#152) (@vaartis) -- fixed spurious `Wnull-dereference` warning on GCC (#164) (@zaporozhets) -- fixed `print_to_stream` ambiguity for `size_t` (#167) (@acronce) +- fixed `[dotted.table]` source columns sometimes being off by one (#152) (@vaartis) +- fixed spurious `Wnull-dereference` warning on GCC (#164) (@zaporozhets) +- fixed `print_to_stream` ambiguity for `size_t` (#167) (@acronce) -#### Additions: +#### Additions -- added value type deduction to `emplace()` methods -- added `toml::path` utility type (#153, #156, #168) (@jonestristand, @kcsaul) -- added config option `TOML_CALLCONV` -- added missing relational operators for `source_position` +- added value type deduction to `emplace()` methods +- added `toml::path` utility type (#153, #156, #168) (@jonestristand, @kcsaul) +- added config option `TOML_CALLCONV` +- added missing relational operators for `source_position` -#### Changes: +#### Changes -- relaxed cvref requirements of `is_homogeneous()`, `emplace()`, `emplace_back()`, `emplace_hint()` -- relaxed mantissa and digits10 requirements of extended float support +- relaxed cvref requirements of `is_homogeneous()`, `emplace()`, `emplace_back()`, `emplace_hint()` +- relaxed mantissa and digits10 requirements of extended float support

@@ -115,30 +116,30 @@ template: [Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.1.0) 2022-04-22 -#### Fixes: +#### Fixes -- fixed potential segfault when calling `at_path()` with an empty string -- fixed UB in internal unicode machinery (#144) (@kchalmer) -- fixed a number of spurious warnings with Clang 10 (#145, #146) (@chronoxor) +- fixed potential segfault when calling `at_path()` with an empty string +- fixed UB in internal unicode machinery (#144) (@kchalmer) +- fixed a number of spurious warnings with Clang 10 (#145, #146) (@chronoxor) -#### Additions: +#### Additions -- added `toml::array::for_each()` -- added `toml::table::for_each()` -- added config options `TOML_EXPORTED_CLASS`, `TOML_EXPORTED_MEMBER_FUNCTION`, `TOML_EXPORTED_STATIC_FUNCTION` & `TOML_EXPORTED_FREE_FUNCTION` -- added support for escape sequence `\e` when using `TOML_ENABLE_UNRELEASED_FEATURES` ([toml/790](https://github.com/toml-lang/toml/pull/790)) -- added support for more unicode in bare keys when using `TOML_ENABLE_UNRELEASED_FEATURES` ([toml/891](https://github.com/toml-lang/toml/pull/891)) +- added `toml::array::for_each()` +- added `toml::table::for_each()` +- added config options `TOML_EXPORTED_CLASS`, `TOML_EXPORTED_MEMBER_FUNCTION`, `TOML_EXPORTED_STATIC_FUNCTION` & `TOML_EXPORTED_FREE_FUNCTION` +- added support for escape sequence `\e` when using `TOML_ENABLE_UNRELEASED_FEATURES` ([toml/790](https://github.com/toml-lang/toml/pull/790)) +- added support for more unicode in bare keys when using `TOML_ENABLE_UNRELEASED_FEATURES` ([toml/891](https://github.com/toml-lang/toml/pull/891)) -#### Removals/Deprecations: +#### Removals/Deprecations -- deprecated old `TOML_API` option in favour new `TOML_EXPORTED_X` options +- deprecated old `TOML_API` option in favour new `TOML_EXPORTED_X` options (it will continue to work as it did before if none of the new function export options are defined) -#### Build system: +#### Build system -- meson: added `compile_library` option (@Tachi107) -- meson: added `ubsan_tests` and `ubsan_examples` options -- meson: use system dependencies where available when building tests (@Tachi107) +- meson: added `compile_library` option (@Tachi107) +- meson: added `ubsan_tests` and `ubsan_examples` options +- meson: use system dependencies where available when building tests (@Tachi107)

@@ -150,9 +151,9 @@ This is a single-bugfix release to fix an ODR issue for people using header-only translation units. If you aren't seeing linker errors because of `toml::array::insert_at()`, this release holds nothing of value over v3.0.0. -#### Fixes: +#### Fixes -- fixed erroneous use of `TOML_API` causing ODR issue (#136) (@Azarael) +- fixed erroneous use of `TOML_API` causing ODR issue (#136) (@Azarael)

@@ -163,92 +164,92 @@ this release holds nothing of value over v3.0.0. This release will be a major version bump, so it's ABI breaks all around. Any changes that are likely to cause migration issues (API changes, build system breakage, etc.) are indicated with ⚠️. -#### Fixes: - -- ⚠️ fixed `toml::table` init-list constructor requiring double-brackets -- ⚠️ fixed `TOML_API` + extern templates causing linker errors in some circumstances -- ⚠️ fixed incorrect `noexcept` specifications on many functions -- ⚠️ fixed missing `TOML_API` on some interfaces -- fixed `toml::json_formatter` not formatting inf and nan incorrectly -- fixed a number of spec conformance issues (#127, #128, #129, #130, #131, #132, #135) (@moorereason) -- fixed an illegal table redefinition edge case (#112) (@python36) -- fixed documentation issues -- fixed GCC bug causing memory leak during parse failures (#123, #124) (@rsmmr, @ronalabraham) -- fixed incorrect handling of vertical whitespace in keys when printing TOML to streams -- fixed incorrect source position in redefinition error messages -- fixed missing includes ``, `` -- fixed parser not correctly round-tripping the format of binary and octal integers in some cases -- fixed some incorrect unicode scalar sequence transformations (#125) -- fixed strong exception guarantee edge-cases in `toml::table` and `toml::array` - -#### Additions: - -- added value flags to array + table insert methods (#44) (@levicki) -- added support for Unicode 14.0 -- added support for ref categories and cv-qualifiers in `toml::node::ref()` -- added magic `toml::value_flags` constant `toml::preserve_source_value_flags` -- added clang's enum annotation attributes to all enums -- added `TOML_ENABLE_FORMATTERS` option -- added `toml::yaml_formatter` -- added `toml::value` copy+move constructor overloads with flags override -- added `toml::table::prune()` -- added `toml::table::lower_bound()` (same semantics as `std::map::lower_bound()`) -- added `toml::table::emplace_hint()` (same semantics as `std::map::emplace_hint()`) -- added `toml::table::at()` (same semantics as `std::map::at()`) -- added `toml::node_view::operator==` -- added `toml::key` - provides a facility to access the source_regions of parsed keys (#82) (@vaartis) -- added `toml::is_key<>` and `toml::is_key_or_convertible<>` metafunctions -- added `toml::format_flags::relaxed_float_precision` (#89) (@vaartis) -- added `toml::format_flags::quote_infinities_and_nans` -- added `toml::format_flags::indent_sub_tables` (#120) (@W4RH4WK) -- added `toml::format_flags::indent_array_elements` (#120) (@W4RH4WK) -- added `toml::format_flags::allow_unicode_strings` -- added `toml::format_flags::allow_real_tabs_in_strings` -- added `toml::format_flags::allow_octal_integers` -- added `toml::format_flags::allow_hexadecimal_integers` -- added `toml::format_flags::allow_binary_integers` -- added `toml::date_time` converting constructors from `toml::date` and `toml::time` -- added `toml::at_path()`, `toml::node::at_path()` and `toml::node_view::at_path()` for qualified path-based lookups (#118) (@ben-crowhurst) -- added `toml::array::resize()` param `default_init_flags` -- added `toml::array::replace()` (#109) (@LebJe) -- added `toml::array::prune()` -- added `toml::array::at()` (same semantics as `std::vector::at()`) -- added `parse_benchmark` example -- added `operator->` to `toml::value` for class types - -#### Changes: - -- ⚠️ `toml::format_flags` is now backed by `uint64_t` (was previously `uint8_t`) -- ⚠️ `toml::source_index` is now an alias for `uint32_t` unconditionally (was previously dependent on `TOML_LARGE_FILES`) -- ⚠️ `toml::table` now uses `toml::key` as the key type (was previously `std::string`) -- ⚠️ `toml::value_flags` is now backed by `uint16_t` (was previously `uint8_t`) -- ⚠️ made all overloaded operators 'hidden friends' where possible -- ⚠️ renamed `toml::default_formatter` to `toml::toml_formatter` (`toml::default_formatter` is now an alias) -- ⚠️ renamed `TOML_PARSER` option to `TOML_ENABLE_PARSER` (`TOML_PARSER` will continue to work but is deprecated) -- ⚠️ renamed `TOML_UNRELEASED_FEATURES` to `TOML_ENABLE_UNRELEASED_FEATURES` (`TOML_UNRELEASED_FEATURES` will continue to work but is deprecated) -- ⚠️ renamed `TOML_WINDOWS_COMPAT` to `TOML_ENABLE_WINDOWS_COMPAT` (`TOML_WINDOWS_COMPAT` will continue to work but is deprecated) -- applied clang-format to all the things 🎉️ -- exposed `TOML_NAMESPACE_START` and `TOML_NAMESPACE_END` macros to help with ADL specialization scenarios -- improved performance of parser -- made date/time constructors accept any integral types -- moved all implementation headers to `/impl` -- renamed all implementation headers to `.h` and 'source' headers to `.inl` -- updated conformance tests - -#### Removals: +#### Fixes -- ⚠️ removed `toml::format_flags::allow_value_format_flags` -- ⚠️ removed `TOML_LARGE_FILES` (it is now default - explicitly setting `TOML_LARGE_FILES` to `0` will invoke an `#error`) -- ⚠️ removed unnecessary template machinery (esp. where ostreams were involved) -- removed unnecessary uses of `final` +- ⚠️ fixed `toml::table` init-list constructor requiring double-brackets +- ⚠️ fixed `TOML_API` + extern templates causing linker errors in some circumstances +- ⚠️ fixed incorrect `noexcept` specifications on many functions +- ⚠️ fixed missing `TOML_API` on some interfaces +- fixed `toml::json_formatter` not formatting inf and nan incorrectly +- fixed a number of spec conformance issues (#127, #128, #129, #130, #131, #132, #135) (@moorereason) +- fixed an illegal table redefinition edge case (#112) (@python36) +- fixed documentation issues +- fixed GCC bug causing memory leak during parse failures (#123, #124) (@rsmmr, @ronalabraham) +- fixed incorrect handling of vertical whitespace in keys when printing TOML to streams +- fixed incorrect source position in redefinition error messages +- fixed missing includes ``, `` +- fixed parser not correctly round-tripping the format of binary and octal integers in some cases +- fixed some incorrect unicode scalar sequence transformations (#125) +- fixed strong exception guarantee edge-cases in `toml::table` and `toml::array` -#### Build system: +#### Additions -- ⚠️ increased minimum required meson version to `0.54.0` -- disabled 'install' path when being used as a meson subproject (#114) (@Tachi107) -- fixed builds failing with meson 0.6.0 (#117) (@Tachi107) -- general meson improvements and fixes (#115) (@Tachi107) -- used `override_dependency` where supported (#116) (@Tachi107) +- added value flags to array + table insert methods (#44) (@levicki) +- added support for Unicode 14.0 +- added support for ref categories and cv-qualifiers in `toml::node::ref()` +- added magic `toml::value_flags` constant `toml::preserve_source_value_flags` +- added clang's enum annotation attributes to all enums +- added `TOML_ENABLE_FORMATTERS` option +- added `toml::yaml_formatter` +- added `toml::value` copy+move constructor overloads with flags override +- added `toml::table::prune()` +- added `toml::table::lower_bound()` (same semantics as `std::map::lower_bound()`) +- added `toml::table::emplace_hint()` (same semantics as `std::map::emplace_hint()`) +- added `toml::table::at()` (same semantics as `std::map::at()`) +- added `toml::node_view::operator==` +- added `toml::key` - provides a facility to access the source_regions of parsed keys (#82) (@vaartis) +- added `toml::is_key<>` and `toml::is_key_or_convertible<>` metafunctions +- added `toml::format_flags::relaxed_float_precision` (#89) (@vaartis) +- added `toml::format_flags::quote_infinities_and_nans` +- added `toml::format_flags::indent_sub_tables` (#120) (@W4RH4WK) +- added `toml::format_flags::indent_array_elements` (#120) (@W4RH4WK) +- added `toml::format_flags::allow_unicode_strings` +- added `toml::format_flags::allow_real_tabs_in_strings` +- added `toml::format_flags::allow_octal_integers` +- added `toml::format_flags::allow_hexadecimal_integers` +- added `toml::format_flags::allow_binary_integers` +- added `toml::date_time` converting constructors from `toml::date` and `toml::time` +- added `toml::at_path()`, `toml::node::at_path()` and `toml::node_view::at_path()` for qualified path-based lookups (#118) (@ben-crowhurst) +- added `toml::array::resize()` param `default_init_flags` +- added `toml::array::replace()` (#109) (@LebJe) +- added `toml::array::prune()` +- added `toml::array::at()` (same semantics as `std::vector::at()`) +- added `parse_benchmark` example +- added `operator->` to `toml::value` for class types + +#### Changes + +- ⚠️ `toml::format_flags` is now backed by `uint64_t` (was previously `uint8_t`) +- ⚠️ `toml::source_index` is now an alias for `uint32_t` unconditionally (was previously dependent on `TOML_LARGE_FILES`) +- ⚠️ `toml::table` now uses `toml::key` as the key type (was previously `std::string`) +- ⚠️ `toml::value_flags` is now backed by `uint16_t` (was previously `uint8_t`) +- ⚠️ made all overloaded operators 'hidden friends' where possible +- ⚠️ renamed `toml::default_formatter` to `toml::toml_formatter` (`toml::default_formatter` is now an alias) +- ⚠️ renamed `TOML_PARSER` option to `TOML_ENABLE_PARSER` (`TOML_PARSER` will continue to work but is deprecated) +- ⚠️ renamed `TOML_UNRELEASED_FEATURES` to `TOML_ENABLE_UNRELEASED_FEATURES` (`TOML_UNRELEASED_FEATURES` will continue to work but is deprecated) +- ⚠️ renamed `TOML_WINDOWS_COMPAT` to `TOML_ENABLE_WINDOWS_COMPAT` (`TOML_WINDOWS_COMPAT` will continue to work but is deprecated) +- applied clang-format to all the things 🎉️ +- exposed `TOML_NAMESPACE_START` and `TOML_NAMESPACE_END` macros to help with ADL specialization scenarios +- improved performance of parser +- made date/time constructors accept any integral types +- moved all implementation headers to `/impl` +- renamed all implementation headers to `.h` and 'source' headers to `.inl` +- updated conformance tests + +#### Removals + +- ⚠️ removed `toml::format_flags::allow_value_format_flags` +- ⚠️ removed `TOML_LARGE_FILES` (it is now default - explicitly setting `TOML_LARGE_FILES` to `0` will invoke an `#error`) +- ⚠️ removed unnecessary template machinery (esp. where ostreams were involved) +- removed unnecessary uses of `final` + +#### Build system + +- ⚠️ increased minimum required meson version to `0.54.0` +- disabled 'install' path when being used as a meson subproject (#114) (@Tachi107) +- fixed builds failing with meson 0.6.0 (#117) (@Tachi107) +- general meson improvements and fixes (#115) (@Tachi107) +- used `override_dependency` where supported (#116) (@Tachi107)

@@ -256,25 +257,25 @@ Any changes that are likely to cause migration issues (API changes, build system [Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.5.0) 2021-07-11 -#### Fixes: +#### Fixes -- fixed linkage error with windows compat mode -- fixed `TOML_CONSTEVAL` broken in MSVC (again) -- fixed minor documentation bugs -- fixed cmake project version being incorrect (#110) (@GiulioRomualdi) +- fixed linkage error with windows compat mode +- fixed `TOML_CONSTEVAL` broken in MSVC (again) +- fixed minor documentation bugs +- fixed cmake project version being incorrect (#110) (@GiulioRomualdi) -#### Additions: +#### Additions -- added support for lowercase 't' and 'z' in datetimes (per spec) -- added natvis file to cmake install (#106) (@Ryan-rsm-McKenzie) -- added VS cpp.hint file to cmake install -- added metafunctions `is_container`, `is_chronological`, `is_value`, `is_node`, `inserted_type_of` +- added support for lowercase 't' and 'z' in datetimes (per spec) +- added natvis file to cmake install (#106) (@Ryan-rsm-McKenzie) +- added VS cpp.hint file to cmake install +- added metafunctions `is_container`, `is_chronological`, `is_value`, `is_node`, `inserted_type_of` -#### Changes: +#### Changes -- improved debug code size by removing unnecessary std::forwards and std::moves -- modernized the CMake build files (#102, #103, #105) (@friendlyanon) -- updated conformance tests +- improved debug code size by removing unnecessary std::forwards and std::moves +- modernized the CMake build files (#102, #103, #105) (@friendlyanon) +- updated conformance tests

@@ -282,32 +283,32 @@ Any changes that are likely to cause migration issues (API changes, build system [Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.4.0) 2021-05-19 -#### Fixes: +#### Fixes -- fixed `node::value()` not retrieving inf and nan correctly -- fixed dotted kvps being unable to add subtables (#61) (@Validark) -- fixed linker error on linux ICC (#83) (@blackwer) -- fixed segfault JSON-formatting a failed `parse_result` (#96) (@proydakov) -- fixed spurious newline after JSON formatting a table -- fixed VS intellisense not detecting `TOML_COMPILER_EXCEPTIONS` correctly -- fixed crash with pathologically-nested inputs (#100) (@geeknik) -- fixed `parse_result` natvis -- fixed false-positive `char8_t` support detection on older compilers -- fixed unnecessary `#include ` Windows builds (@BeastLe9enD) -- fixed `TOML_CONSTEVAL` breaking on VS 16.10.0pre2 -- fixed spurious warnings with MSVC /Wall -- fixed missing blank lines between consecutive empty tables/A-o-T -- fixed unnecessary `TOML_API` declarations -- fixed many small documentation issues +- fixed `node::value()` not retrieving inf and nan correctly +- fixed dotted kvps being unable to add subtables (#61) (@Validark) +- fixed linker error on linux ICC (#83) (@blackwer) +- fixed segfault JSON-formatting a failed `parse_result` (#96) (@proydakov) +- fixed spurious newline after JSON formatting a table +- fixed VS intellisense not detecting `TOML_COMPILER_EXCEPTIONS` correctly +- fixed crash with pathologically-nested inputs (#100) (@geeknik) +- fixed `parse_result` natvis +- fixed false-positive `char8_t` support detection on older compilers +- fixed unnecessary `#include ` Windows builds (@BeastLe9enD) +- fixed `TOML_CONSTEVAL` breaking on VS 16.10.0pre2 +- fixed spurious warnings with MSVC /Wall +- fixed missing blank lines between consecutive empty tables/A-o-T +- fixed unnecessary `TOML_API` declarations +- fixed many small documentation issues -#### Additions: +#### Additions -- added proper cmake support (#85) (@ClausKlein) -- added cmake FetchContent information to documentation (#101) (@proydakov) +- added proper cmake support (#85) (@ClausKlein) +- added cmake FetchContent information to documentation (#101) (@proydakov) -#### Removals: +#### Removals -- removed explicit `#include ` requirement for `parse_file()` +- removed explicit `#include ` requirement for `parse_file()`

@@ -315,18 +316,18 @@ Any changes that are likely to cause migration issues (API changes, build system [Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.3.0) 2020-12-29 -#### Fixes: +#### Fixes -- fixed compiler errors caused by `` with Apple-flavoured clang -- fixed array and table iterators missing `iterator_category` (#77) (@HazardyKnusperkeks) -- fixed `Wuseless-cast` warnings on GCC 10 (#75) (@HazardyKnusperkeks) -- fixed formatter not correctly line wrapping in some rare circumstances (#73) (@89z) -- fixed an unnecessary global compiler flag breaking builds when used as a meson subproject (#72) (@jamabr) -- fixed link error caused by `` on emscripten (#71) (@suy) -- fixed ambiguity with the `toml::literals` inline namespace (#69) (@std-any-emplace) -- fixed formatter emitting superfluous newlines after printing tables (#68) (@std-any-emplace) -- fixed array and table iterators not converting between const and non-const versions of themselves (#67) (@std-any-emplace) -- fixed some parser crashes when given pathologically-malformed UTF-8 (#65) (@sneves) +- fixed compiler errors caused by `` with Apple-flavoured clang +- fixed array and table iterators missing `iterator_category` (#77) (@HazardyKnusperkeks) +- fixed `Wuseless-cast` warnings on GCC 10 (#75) (@HazardyKnusperkeks) +- fixed formatter not correctly line wrapping in some rare circumstances (#73) (@89z) +- fixed an unnecessary global compiler flag breaking builds when used as a meson subproject (#72) (@jamabr) +- fixed link error caused by `` on emscripten (#71) (@suy) +- fixed ambiguity with the `toml::literals` inline namespace (#69) (@std-any-emplace) +- fixed formatter emitting superfluous newlines after printing tables (#68) (@std-any-emplace) +- fixed array and table iterators not converting between const and non-const versions of themselves (#67) (@std-any-emplace) +- fixed some parser crashes when given pathologically-malformed UTF-8 (#65) (@sneves)

@@ -334,33 +335,33 @@ Any changes that are likely to cause migration issues (API changes, build system [Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.2.0) 2020-08-09 -#### Fixes: +#### Fixes -- fixed some issues building with VS2017 (#55) (@sobczyk) -- fixed `_Float16` erroneously detected as supported on g++ (#57) (@sobczyk) -- fixed `` causing compilation failure on mingw (#63) (@rezahousseini) -- fixed CMake and pkg-config files not being installed into architecture-agnostic directories (#59) (@tambry) -- fixed memory leak during parsing (#64) (@sneves) -- fixed ambiguous `operator==` error on MSVC (#56) (@HellsingDarge) +- fixed some issues building with VS2017 (#55) (@sobczyk) +- fixed `_Float16` erroneously detected as supported on g++ (#57) (@sobczyk) +- fixed `` causing compilation failure on mingw (#63) (@rezahousseini) +- fixed CMake and pkg-config files not being installed into architecture-agnostic directories (#59) (@tambry) +- fixed memory leak during parsing (#64) (@sneves) +- fixed ambiguous `operator==` error on MSVC (#56) (@HellsingDarge) -#### Additions: +#### Additions -- added additional node_view constructors -- added ability to specify serialization format of integer values -- added integer value serialization format round trip (e.g. hex in, hex out) +- added additional node_view constructors +- added ability to specify serialization format of integer values +- added integer value serialization format round trip (e.g. hex in, hex out) -#### Changes: +#### Changes -- updated conformance tests -- TOML version bump to v1.0.0-rc.3 -- refactors and cleanups based on feedback given [here](https://medium.com/@julienjorge/code-review-of-toml-f816a6071120) +- updated conformance tests +- TOML version bump to v1.0.0-rc.3 +- refactors and cleanups based on feedback given [here](https://medium.com/@julienjorge/code-review-of-toml-f816a6071120) -#### Build system: +#### Build system -- renamed build options to `snake_case` -- tests, examples and cmake config now explicitly disabled when used as a subproject -- removed small_binaries (it's now implicit when building as release) -- bumped minimum meson version to 0.53 +- renamed build options to `snake_case` +- tests, examples and cmake config now explicitly disabled when used as a subproject +- removed small_binaries (it's now implicit when building as release) +- bumped minimum meson version to 0.53

@@ -368,31 +369,31 @@ Any changes that are likely to cause migration issues (API changes, build system [Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.1.0) 2020-07-11 -#### Fixes: +#### Fixes -- fixed inconsistent emission of leading/trailing newlines when writing a table to an ostream (#48) (@levicki) -- fixed `Wcast-align` warning spam on ARM -- fixed `array::insert` not working correctly in some cases -- fixed `node::value_or()` not having the same semantics as `node::value()` (#50) (@whiterabbit963) -- fixed 'misleading assignment' of rvalue node_views (#52) (@Reedbeta) -- fixed some issues handling infinities and NaNs (#51) (@Reedbeta) -- fixed some minor documentation issues +- fixed inconsistent emission of leading/trailing newlines when writing a table to an ostream (#48) (@levicki) +- fixed `Wcast-align` warning spam on ARM +- fixed `array::insert` not working correctly in some cases +- fixed `node::value_or()` not having the same semantics as `node::value()` (#50) (@whiterabbit963) +- fixed 'misleading assignment' of rvalue node_views (#52) (@Reedbeta) +- fixed some issues handling infinities and NaNs (#51) (@Reedbeta) +- fixed some minor documentation issues -#### Additions: +#### Additions -- added support for `__fp16`, `_Float16`, `__float128`, `__int128_t` and `__uint128_t` -- added copy construction/assignment for arrays, tables and values -- added insert, emplace, push_back etc. compatibility with node_views -- added `node::is_homogenous` -- added `table::is_homogenous` -- added `value::is_homogenous` (just for generic code's sake) -- added `is_homogenous` overload for identifying failure-causing element -- added implicit conversion operator from `node` to `node_view` (#52) (@Reedbeta) +- added support for `__fp16`, `_Float16`, `__float128`, `__int128_t` and `__uint128_t` +- added copy construction/assignment for arrays, tables and values +- added insert, emplace, push_back etc. compatibility with node_views +- added `node::is_homogenous` +- added `table::is_homogenous` +- added `value::is_homogenous` (just for generic code's sake) +- added `is_homogenous` overload for identifying failure-causing element +- added implicit conversion operator from `node` to `node_view` (#52) (@Reedbeta) -#### Changes: +#### Changes -- renamed `TOML_ALL_INLINE` to `TOML_HEADER_ONLY` (the old name will still work, but is no longer documented) -- general cleanup +- renamed `TOML_ALL_INLINE` to `TOML_HEADER_ONLY` (the old name will still work, but is no longer documented) +- general cleanup

@@ -403,45 +404,45 @@ Any changes that are likely to cause migration issues (API changes, build system This release contains a fairly significant number of 'quality of life' improvements, yay! But also necessitates an ABI break (hence the version number bump). Changes that might block a migration are annotated with ⚠️. -#### Fixes: - -- fixed infinity and NaN-related code breaking when using `-ffast-math` and friends -- fixed narrowing conversion warnings when constructing int values from unsigned -- fixed Visual Studio debugger native visualizations for `date`, `time`, `time_offset`, `date_time` -- fixed some static assert messages being badly formatted on clang -- fixed internal macro `assert_or_assume` leaking out of `toml_parser.hpp` - -#### Additions: - -- added additional types allowed in `node::value()` and `node::value_or()` ([see `value()` dox for examples](https://marzer.github.io/tomlplusplus/classtoml_1_1node.html#ab144c1ae90338b6b03f6af0574c87993)) -- added additional types allowed in `node_view::value()` and `node_view::value_or()` -- added `node::value_exact()` and `node_view::value_exact()` -- added support for interop with wide strings on Windows: - - added wide-string path arg overloads of `parse()` and `parse_file()` - - added wide-string support to all relevant `table` and `array` ops - - added wide-string support to `node::value(), node::value_or()` - - added wide-string support to `node_view::value(), node_view::value_or()` - - added wide-string support to `value` constructor - - added wide-string overloads of `node_view::operator[]` - - added `source_region::wide_path()` - - added `TOML_WINDOWS_COMPAT` switch for explicitly enabling/disabling this stuff -- added emission of 'literal' strings to the TOML serializer -- added lots of minor documentation fixes and improvements -- added Visual Studio debugger native visualizations for `table`, `array`, `parse_result`, and `parse_error` (#46) (@Reedbeta) -- added non-template version of `array::is_homogeneous()` -- added explicit instantiations of more template types when `!TOML_ALL_INLINE` - -#### Changes: +#### Fixes -- ⚠️ deprecated `parse_result::get()` in favour of `parse_result::table()` -- ⚠️ deprecated `node_view::get()` in favour of `node_view::node()` -- ⚠️ simplified internal ABI namespaces -- improved the quality of many static_assert error messages +- fixed infinity and NaN-related code breaking when using `-ffast-math` and friends +- fixed narrowing conversion warnings when constructing int values from unsigned +- fixed Visual Studio debugger native visualizations for `date`, `time`, `time_offset`, `date_time` +- fixed some static assert messages being badly formatted on clang +- fixed internal macro `assert_or_assume` leaking out of `toml_parser.hpp` -#### Removals: +#### Additions -- ⚠️ renamed `date_time::time_offset` to just 'offset' -- ⚠️ removed `TOML_CHAR_8_STRINGS` since it no longer makes sense +- added additional types allowed in `node::value()` and `node::value_or()` ([see `value()` dox for examples](https://marzer.github.io/tomlplusplus/classtoml_1_1node.html#ab144c1ae90338b6b03f6af0574c87993)) +- added additional types allowed in `node_view::value()` and `node_view::value_or()` +- added `node::value_exact()` and `node_view::value_exact()` +- added support for interop with wide strings on Windows: + - added wide-string path arg overloads of `parse()` and `parse_file()` + - added wide-string support to all relevant `table` and `array` ops + - added wide-string support to `node::value(), node::value_or()` + - added wide-string support to `node_view::value(), node_view::value_or()` + - added wide-string support to `value` constructor + - added wide-string overloads of `node_view::operator[]` + - added `source_region::wide_path()` + - added `TOML_WINDOWS_COMPAT` switch for explicitly enabling/disabling this stuff +- added emission of 'literal' strings to the TOML serializer +- added lots of minor documentation fixes and improvements +- added Visual Studio debugger native visualizations for `table`, `array`, `parse_result`, and `parse_error` (#46) (@Reedbeta) +- added non-template version of `array::is_homogeneous()` +- added explicit instantiations of more template types when `!TOML_ALL_INLINE` + +#### Changes + +- ⚠️ deprecated `parse_result::get()` in favour of `parse_result::table()` +- ⚠️ deprecated `node_view::get()` in favour of `node_view::node()` +- ⚠️ simplified internal ABI namespaces +- improved the quality of many static_assert error messages + +#### Removals + +- ⚠️ renamed `date_time::time_offset` to just 'offset' +- ⚠️ removed `TOML_CHAR_8_STRINGS` since it no longer makes sense

@@ -449,24 +450,24 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.3) 2020-06-29 -#### Fixes: +#### Fixes -- fixed some minor TOML spec conformance bugs -- fixed BOM check causing EOF on very short iostream inputs -- fixed `std::numeric_limits::max()` getting broken by macros in some environments -- fixed 'unknown pragma' warning spam in older versions of GCC -- fixed a few minor documentation issues +- fixed some minor TOML spec conformance bugs +- fixed BOM check causing EOF on very short iostream inputs +- fixed `std::numeric_limits::max()` getting broken by macros in some environments +- fixed 'unknown pragma' warning spam in older versions of GCC +- fixed a few minor documentation issues -#### Additions: +#### Additions -- added rvalue overload of `array::flatten` -- added conformance tests from `BurntSushi/toml-test` and `iarna/toml-spec-tests` -- added `toml::inserter` as a workaround for nested construction of single-element `toml::arrays` performing move-construction instead -- added license boilerplate to test files +- added rvalue overload of `array::flatten` +- added conformance tests from `BurntSushi/toml-test` and `iarna/toml-spec-tests` +- added `toml::inserter` as a workaround for nested construction of single-element `toml::arrays` performing move-construction instead +- added license boilerplate to test files -#### Changes: +#### Changes -- refactored the parser to reduce binary size +- refactored the parser to reduce binary size

@@ -474,17 +475,17 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.2) 2020-06-19 -#### Fixes: +#### Fixes -- fixed single-digit negative integers parsing as positive -- fixed parse failure when parsing an empty file -- fixed multi-line strings being allowed in keys -- fixed overflow for very long binary integer literals +- fixed single-digit negative integers parsing as positive +- fixed parse failure when parsing an empty file +- fixed multi-line strings being allowed in keys +- fixed overflow for very long binary integer literals -#### Changes: +#### Changes -- improved the performance of toml::parse_file -- improved the performance of printing to streams for deepy-nested TOML data +- improved the performance of toml::parse_file +- improved the performance of printing to streams for deepy-nested TOML data

@@ -492,23 +493,23 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.0) 2020-06-02 -#### Fixes: +#### Fixes -- fixed `formatter::print_inline()` causing compilation failures in DLL builds -- fixed BOMs occasionally causing overflow/crash in char8 mode -- fixed some spurious warnings in GCC 10 -- fixed clang static analyzer warning in BOM handling code +- fixed `formatter::print_inline()` causing compilation failures in DLL builds +- fixed BOMs occasionally causing overflow/crash in char8 mode +- fixed some spurious warnings in GCC 10 +- fixed clang static analyzer warning in BOM handling code -#### Additions: +#### Additions -- added `table_iterator::operator ->` -- added `array::resize()` and `array::truncate()` -- added `array::capacity()`, `array::shrink_to_fit()`, `array::max_size()` -- added non-const -> const conversion for table and array iterators +- added `table_iterator::operator ->` +- added `array::resize()` and `array::truncate()` +- added `array::capacity()`, `array::shrink_to_fit()`, `array::max_size()` +- added non-const -> const conversion for table and array iterators -#### Changes: +#### Changes -- renamed table iterator proxy pair members to `first` and `second` to match STL +- renamed table iterator proxy pair members to `first` and `second` to match STL

@@ -516,23 +517,23 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.5) 2020-04-24 -#### Fixes: +#### Fixes -- fixed some multi-line string parsing issues -- fixed pedantic warnings on gcc 10 and clang 11 -- fixed `is_unicode_XXXXXX` functions being wrong in some cases -- fixed `TOML_LIKELY` not being correct on older versions of gcc and clang -- fixed minor documentation issues (#26, #38) (@prince-chrismc) +- fixed some multi-line string parsing issues +- fixed pedantic warnings on gcc 10 and clang 11 +- fixed `is_unicode_XXXXXX` functions being wrong in some cases +- fixed `TOML_LIKELY` not being correct on older versions of gcc and clang +- fixed minor documentation issues (#26, #38) (@prince-chrismc) -#### Additions: +#### Additions -- added additional error message cases to the parser -- added `error_printer` example -- added `toml_generator` example +- added additional error message cases to the parser +- added `error_printer` example +- added `toml_generator` example -#### Changes: +#### Changes -- improved unicode-related codegen +- improved unicode-related codegen

@@ -540,25 +541,25 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.3) 2020-04-11 -#### Fixes: +#### Fixes -- fixed printing of inf and nan -- fixed parser not handling floats with leading '.' characters -- fixed pedantic vtable warnings on clang with -Weverything -- fixed a number of documentation bugs -- fixed `TOML_UNRELEASED_FEATURES` default being 1 (it should have been 0) +- fixed printing of inf and nan +- fixed parser not handling floats with leading '.' characters +- fixed pedantic vtable warnings on clang with -Weverything +- fixed a number of documentation bugs +- fixed `TOML_UNRELEASED_FEATURES` default being 1 (it should have been 0) -#### Additions: +#### Additions -- added `TOML_PARSER` configuration option -- added `TOML_LIB_SINGLE_HEADER` indicator -- added doxygen page for the configuration options -- added SPDX-License-Identifiers around the place +- added `TOML_PARSER` configuration option +- added `TOML_LIB_SINGLE_HEADER` indicator +- added doxygen page for the configuration options +- added SPDX-License-Identifiers around the place -#### Changes: +#### Changes -- split some header files up to make future maintenance easier -- refactored and greatly simplified parser +- split some header files up to make future maintenance easier +- refactored and greatly simplified parser

@@ -566,20 +567,20 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.0) 2020-04-07 -#### Fixes: +#### Fixes -- fixed some parsing and printing ops being locale-dependent -- fixed some parsing errors at EOF when `TOML_EXCEPTIONS = 0` -- fixed some unreferenced variable warnings on older compilers -- fixed some 'maybe-uninitialized' false-positives on GCC9 -- fixed pkgconfig subdir being wrong +- fixed some parsing and printing ops being locale-dependent +- fixed some parsing errors at EOF when `TOML_EXCEPTIONS = 0` +- fixed some unreferenced variable warnings on older compilers +- fixed some 'maybe-uninitialized' false-positives on GCC9 +- fixed pkgconfig subdir being wrong -#### Additions: +#### Additions -- added support for implementations without `` -- added cmake package config generator (#22) (@GiulioRomualdi) -- added build config feature option `GENERATE_CMAKE_CONFIG` -- added many new tests +- added support for implementations without `` +- added cmake package config generator (#22) (@GiulioRomualdi) +- added build config feature option `GENERATE_CMAKE_CONFIG` +- added many new tests

@@ -587,20 +588,20 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.1.0) 2020-04-03 -#### Fixes: +#### Fixes -- fixed some parser error paths not returning early enough `TOML_EXCEPTIONS=0` -- fixed a number of minor documentation issues +- fixed some parser error paths not returning early enough `TOML_EXCEPTIONS=0` +- fixed a number of minor documentation issues -#### Additions: +#### Additions -- added support for [TOML 1.0.0-rc.1](https://github.com/toml-lang/toml/releases/tag/v1.0.0-rc.1) 🎉 -- added `operator[]`, `begin()`, `end()` to `toml::parse_result` for `TOML_EXCEPTIONS=0` -- added additional compilation speed improvements for `TOML_ALL_INLINE=0` -- added more specific error messages for parsing errors relating to prohibited codepoints -- added a large number of additional tests -- added support for installation with meson (#16) (@ximion) -- added the array and table iterators to the `toml` namespace +- added support for [TOML 1.0.0-rc.1](https://github.com/toml-lang/toml/releases/tag/v1.0.0-rc.1) 🎉 +- added `operator[]`, `begin()`, `end()` to `toml::parse_result` for `TOML_EXCEPTIONS=0` +- added additional compilation speed improvements for `TOML_ALL_INLINE=0` +- added more specific error messages for parsing errors relating to prohibited codepoints +- added a large number of additional tests +- added support for installation with meson (#16) (@ximion) +- added the array and table iterators to the `toml` namespace

@@ -608,13 +609,13 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/1.0.0) 2020-03-28 -#### Fixes: +#### Fixes -- fixed minor documentation issues +- fixed minor documentation issues -#### Changes: +#### Changes -- refactoring of ABI-based inline namespaces +- refactoring of ABI-based inline namespaces

@@ -622,15 +623,15 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.6.0) 2020-03-24 -#### Fixes: +#### Fixes -- fixed minor preprocessor/macro issues -- fixed minor documentation issues +- fixed minor preprocessor/macro issues +- fixed minor documentation issues -#### Additions: +#### Additions -- added `` include directly in 'debug' builds when `TOML_ASSERT` isn't defined -- added Clang's `[[trivial_abi]]` attribute to `date`, `time`, `time_offset` +- added `` include directly in 'debug' builds when `TOML_ASSERT` isn't defined +- added Clang's `[[trivial_abi]]` attribute to `date`, `time`, `time_offset`

@@ -638,21 +639,21 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.5.0) 2020-03-18 -#### Fixes: +#### Fixes -- fixed crash when reaching EOF while parsing a string when exceptions are disabled -- fixed some attribute warnings in GCC -- fixed build with GCC 8.2.0 (#15) (@shdnx) -- fixed exception mode detection sometimes being incorrect on MSVC -- fixed compilation on older implementations without `std::launder` -- fixed `json_formatter` type deduction on older compilers +- fixed crash when reaching EOF while parsing a string when exceptions are disabled +- fixed some attribute warnings in GCC +- fixed build with GCC 8.2.0 (#15) (@shdnx) +- fixed exception mode detection sometimes being incorrect on MSVC +- fixed compilation on older implementations without `std::launder` +- fixed `json_formatter` type deduction on older compilers -#### Additions: +#### Additions -- added support for Unicode 13.0 -- added support for `\xHH` escape sequences ([toml/pull/796](https://github.com/toml-lang/toml/pull/796)) -- added short-form license preamble to all source files -- added build configuration option for compiling examples +- added support for Unicode 13.0 +- added support for `\xHH` escape sequences ([toml/pull/796](https://github.com/toml-lang/toml/pull/796)) +- added short-form license preamble to all source files +- added build configuration option for compiling examples

@@ -660,17 +661,17 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.4.3) 2020-03-10 -#### Fixes: +#### Fixes -- fixed ICE in VS2019 when using `/std:c++17` instead of `/std:c++latest` +- fixed ICE in VS2019 when using `/std:c++17` instead of `/std:c++latest` -#### Additions: +#### Additions -- added `#error` when `TOML_EXCEPTIONS` is set to `1` but compiler exceptions were disabled +- added `#error` when `TOML_EXCEPTIONS` is set to `1` but compiler exceptions were disabled -#### Changes: +#### Changes -- parsing performance improvements +- parsing performance improvements

@@ -678,17 +679,17 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.4.0) 2020-03-05 -#### Fixes: +#### Fixes -- fixed `parse_file()` failing to compile with plain string literals -- fixed tests being built when used as a meson subproject (#14) (@shdnx) +- fixed `parse_file()` failing to compile with plain string literals +- fixed tests being built when used as a meson subproject (#14) (@shdnx) -#### Additions: +#### Additions -- added support for compiling into DLLs on windows (`TOML_API`) -- added support for explicitly setting the `TOML_EXCEPTION` mode -- added `TOML_OPTIONAL_TYPE` customization point -- added `node::ref()` and `node_view::ref()` +- added support for compiling into DLLs on windows (`TOML_API`) +- added support for explicitly setting the `TOML_EXCEPTION` mode +- added `TOML_OPTIONAL_TYPE` customization point +- added `node::ref()` and `node_view::ref()`

@@ -696,22 +697,22 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.3.0) 2020-03-01 -#### Fixes: +#### Fixes -- fixed some pedantic clang warnings -- fixed some minor documentation errors +- fixed some pedantic clang warnings +- fixed some minor documentation errors -#### Additions: +#### Additions -- added `node::value()` and `node::value_or()` -- added `node_view::value()` -- added relops for the date/time classes -- added `TOML_ALL_INLINE` and `TOML_IMPLEMENTATION` options -- added preliminary support for ICC +- added `node::value()` and `node::value_or()` +- added `node_view::value()` +- added relops for the date/time classes +- added `TOML_ALL_INLINE` and `TOML_IMPLEMENTATION` options +- added preliminary support for ICC -#### Removals: +#### Removals -- removed `` dependency +- removed `` dependency

@@ -719,18 +720,18 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.2.1) 2020-02-26 -#### Fixes: +#### Fixes -- fixed minor printing bug in `operator<<(ostream, source_position)` -- fixed minor documentation issues +- fixed minor printing bug in `operator<<(ostream, source_position)` +- fixed minor documentation issues -#### Additions: +#### Additions -- added `operator<<(ostream&, parse_error)` +- added `operator<<(ostream&, parse_error)` -#### Changes: +#### Changes -- improved quality of error messages for boolean and inf/nan parsing +- improved quality of error messages for boolean and inf/nan parsing

@@ -738,20 +739,20 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.2.0) 2020-02-23 -#### Fixes: +#### Fixes -- fixed truncation of floating-point values when using ostreams -- fixed missing value deduction guides for dates and times -- fixed potential ODR issues relating to exception mode handling etc. -- fixed some documentation issues +- fixed truncation of floating-point values when using ostreams +- fixed missing value deduction guides for dates and times +- fixed potential ODR issues relating to exception mode handling etc. +- fixed some documentation issues -#### Additions: +#### Additions -- added serialization round-trip tests -- added `node::is_number()` -- added `node_view::is_number()` -- added `node_view::value_or()` -- added hexfloat parsing support for all implementations (not just `` ones) +- added serialization round-trip tests +- added `node::is_number()` +- added `node_view::is_number()` +- added `node_view::value_or()` +- added hexfloat parsing support for all implementations (not just `` ones)

@@ -759,4 +760,4 @@ break (hence the version number bump). Changes that might block a migration are [Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.1.0) 2020-02-20 -- First public release, yay! 🎉️ +- First public release, yay! 🎉️ diff --git a/cmake/install-rules.cmake b/cmake/install-rules.cmake index 22180255..4f0e85d7 100644 --- a/cmake/install-rules.cmake +++ b/cmake/install-rules.cmake @@ -11,6 +11,7 @@ install( DIRECTORY "${PROJECT_SOURCE_DIR}/include/" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" COMPONENT tomlplusplus_Development + FILES_MATCHING REGEX "^.*[.](h|hpp|inl)$" ) install(