Skip to content

v2.0.0

Compare
Choose a tag to compare
@marzer marzer released this 20 Jul 14:53
· 238 commits to master since this release

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)
  • 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<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 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:

  • improved the quality of many static_assert error messages
  • simplified internal ABI namespaces ⚠️

Removals and Deprecations:

  • deprecated node_view::get() in favour of node_view::node() ⚠️
  • deprecated parse_result::get() in favour of parse_result::table() ⚠️
  • removed TOML_CHAR_8_STRINGS since it no longer makes sense ⚠️
  • renamed date_time::time_offset to just 'offset' ⚠️