Skip to content

Releases: ToruNiina/toml11

version 3.6.1

25 Mar 14:15
Compare
Choose a tag to compare

Fixed

  • workaround error in SFINAE with MSVC
  • compilation error in <filesystem> with MinGW (@chronoxor) (#136)
  • fix comment duplication while serialization (#131)
  • fix comment disappearance while serialization
  • fix empty array serialization (#142)
  • avoid string::back on an empty string (#141)
  • add missing include files (@amerry) (#144)
  • fix typo in an error message (@sneakypete81) (#148)
  • added TOML11_DISABLE_STD_FILESYSTEM to disable <filesystem> manually (related to: #150)

version 3.6.0

20 Sep 10:28
Compare
Choose a tag to compare

Added

  • Supported u8"..."_toml literal in C++20 mode (#104).
  • Allow comments before comma according to the clarification (ABNF change) in the TOML spec.

Changed

  • Improved the error message for the case of invalid key format.
  • Removed templates from internal implementation and it brings ~20% speedup for compilation without runtime speed loss.
  • Made testing optional in the CMakeLists (@MoAlyousef) (#130).

Fixed

  • Fixed the case when the file does not have line feed at the end of the file but 0 value (#128).
  • Fixed include path in the sample code (@kenichiice) (#127).

version 3.5.0

19 Jul 10:56
Compare
Choose a tag to compare

Added

  • support conversion from toml array into std::forward_list
  • cut out the need of default constructor when converting a toml value into a user-defined struct (#108)
  • remove TOML11_UNRELEASED_FEATURES because all of them are released in v1.0.0-rc1
  • parse nanoseconds in date-time types (Scott McCaskill) (#117)
  • accept std::filesystem::path in C++17 (#113)
  • add TOML11_VERSION_(MAJOR|MINOR|PATCH) macros to toml.hpp (#114)

Fixed

version 3.4.0

26 Mar 07:20
Compare
Choose a tag to compare

Changed

  • use ExternalProject to retrieve TOML test data (@jwillikers)
  • simplify serializer's template argument
  • format the message in exceptions thrown from .at()
  • show function name from which toml::type_error is thrown

Fixed

  • workaround an error in gcc 4.8.x
  • fix exception section in the README (#107)

version 3.3.1

16 Feb 13:24
Compare
Choose a tag to compare

Fixed

  • Fix clang -Wrange-loop-analysis. (#98) (@jwillikers )
    • Avoid the unnecessary copy of strings.
  • Fix clang -Wundef. (#99) (@jwillikers )
    • Check environment-specific macro definition before using it
  • Use cache variables in CMakeLists (#101 ) (@jwillikers )
  • Fix edge cases around TOML strings.
    • Recently TOML spec clarified behaviors in some edge cases around strings.
    • toml11 now works with all the following examples listed in the official spec.
    • toml11 serializer output becomes cleaner in those edge-cases.
# The following examples are copied from the official TOML spec.

str4 = """Here are two quotation marks: "". Simple enough."""
# str5 = """Here are three quotation marks: """."""  # INVALID
str5 = """Here are three quotation marks: ""\"."""
str6 = """Here are fifteen quotation marks: ""\"""\"""\"""\"""\"."""

# "This," she said, "is just a pointless statement."
str7 = """"This," she said, "is just a pointless statement.""""

quot15 = '''Here are fifteen quotation marks: """""""""""""""'''

# apos15 = '''Here are fifteen apostrophes: ''''''''''''''''''  # INVALID
apos15 = "Here are fifteen apostrophes: '''''''''''''''"

# 'That's still pointless', she said.
str = ''''That's still pointless', she said.'''

version 3.3.0

24 Jan 13:18
Compare
Choose a tag to compare

Added

  • add find<T>(value, "array", 1) (#79 )
  • enable find<UserDefined>(value, "user-defined") when UserDefined struct has a constructor from toml::value.
  • add toml::value::size() for array, table, and string values.
  • add toml::value::push_back(value), toml::value::emplace_back(Ts...) for array values.
  • add toml::value::count(key), toml::value::contains(key) for table values.

Fixed

  • suppress warnings related to some flags that are not turned on by -Wall and -Wextra

Misc

  • run LLVM address sanitizer and LLVM undefined behavior sanitizer on CI
  • add many other warning flags that are not turned on by -Wall and -Wextra on CI build
  • add -Werror on CI build

version 3.2.1

21 Dec 10:25
Compare
Choose a tag to compare

Fixed

  • fix format of columns in an error message when two lines that have a different number of digits are rendered
  • make inline tables immutable (toml-lang/toml#630)

version 3.2.0

15 Dec 09:14
Compare
Choose a tag to compare

Added

  • Enable to get toml::source_location from toml::syntax_error and toml::type_error (#87)
  • Allow heterogeneous array when TOML11_UNRELEASED_TOML_FEATURES is defined (toml-lang/toml #656)
  • Add toml::basic_value::operator[]
  • Colorize error messages if TOML11_COLORIZE_ERROR_MESSAGE is defined

Fixed

  • Check the input file is null-terminated (#88)
  • Fix macro to check localtime_r is available (#92, @blockparty-sh)
  • Suppress unused variable warning in release mode (#94, @blockparty-sh)
  • Suppress warning about a workaround for intel compiler (@kenichiice)
  • Fix offset datetime conversion; consider DST (#90)

version 3.1.0

04 Oct 06:54
Compare
Choose a tag to compare

Added

  • support unreleased toml feature (with TOML11_USE_UNRELEASED_TOML_FEATURES)
    • Leading zeroes in exponent parts of floats are permitted.
    • Allow raw tab characters in basic strings and multi-line basic strings.
  • add utility accessor function toml::value::at
    • val.as_table().at("key") -> val.at("key")
    • val.as_array().at(0) -> val.at(0)

Fixed

  • Fix example code in README.md (@jcmoyer )
  • Fix conversion requirements
  • Warnings about rvalue references in clang

version 3.0.1

07 Aug 07:36
Compare
Choose a tag to compare
  • Fix documentation
  • Fix version information in CMake (v3.0.1)
  • Fix find_or for toml::value itself by adding overload