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'⚠️