Releases: marzer/tomlplusplus
Releases · marzer/tomlplusplus
v2.1.0
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 asnode::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:
- 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
tonode_view
(#52) (@Reedbeta)
Changes:
- renamed
TOML_ALL_INLINE
toTOML_HEADER_ONLY
(the old name will still work, but is no longer documented) - general cleanup
v2.0.0
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 oftoml_parser.hpp
Additions:
- added additional types allowed in
node::value()
andnode::value_or()
(seevalue()
dox for examples) - added additional types allowed in
node_view::value()
andnode_view::value_or()
- added
node::value_exact()
andnode_view::value_exact()
- added support for interop with wide strings on Windows:
- added wide-string path arg overloads of
parse()
andparse_file()
- added wide-string support to all relevant
table
andarray
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<string>
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 wide-string path arg overloads of
- 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
, andparse_error
(#46) (@Reedbeta) - added non-template version of
array::is_homogeneous()
- added explicit instantiations of more template types when
!TOML_ALL_INLINE
Changes:
- improved the quality of many static_assert error messages
- simplified internal ABI namespaces
⚠️
Removals and Deprecations:
- deprecated
node_view::get()
in favour ofnode_view::node()
⚠️ - deprecated
parse_result::get()
in favour ofparse_result::table()
⚠️ - removed
TOML_CHAR_8_STRINGS
since it no longer makes sense⚠️ - renamed
date_time::time_offset
to just 'offset'⚠️
v1.3.3
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
Additions:
- added rvalue overload of
array::flatten
- added conformance tests from
BurntSushi/toml-test
andiarna/toml-spec-tests
- added
toml::inserter
as a workaround for nested construction of single-elementtoml::arrays
performing move-construction instead - added license boilerplate to test files
Changes:
- refactored the parser to reduce binary size
v1.3.2
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
Changes:
- improved the performance of toml::parse_file
- improved the performance of printing to streams for deepy-nested TOML data
v1.3.0
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
Additions:
- added
table_iterator::operator ->
- added
array::resize()
andarray::truncate()
- added
array::capacity()
,array::shrink_to_fit()
,array::max_size()
- added non-const -> const conversion for table and array iterators
Changes:
- renamed table iterator proxy pair members to
first
andsecond
to match STL
v1.2.5
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)
Additions:
- added additional error message cases to the parser
- added
error_printer
example - added
toml_generator
example
Changes:
- improved unicode-related codegen
v1.2.3
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)
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
Changes:
- split some header files up to make future maintenance easier
- refactored and greatly simplified parser
v1.2.0
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
Additions:
- added support for implementations without
<charconv>
- added cmake package config generator (#22) (@GiulioRomualdi)
- added build config feature option
GENERATE_CMAKE_CONFIG
- added many new tests
v1.1.0
Fixes:
- fixed some parser error paths not returning early enough
TOML_EXCEPTIONS=0
- fixed a number of minor documentation issues
Additions:
- added support for TOML 1.0.0-rc.1 🎉
- added
operator[]
,begin()
,end()
totoml::parse_result
forTOML_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