Skip to content

Commit

Permalink
release v3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
marzer committed Jan 11, 2022
1 parent e37e6d2 commit d33da0c
Show file tree
Hide file tree
Showing 11 changed files with 1,728 additions and 1,593 deletions.
49 changes: 25 additions & 24 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!--
template:
## [vX.X.X](https://github.com/osgenic/stim/releases/tag/vX.X.X) - YYYY-MM-DD
## [vX.X.X](https://github.com/marzer/tomlplusplus/releases/tag/vX.X.X) - YYYY-MM-DD
#### Fixes:
#### Additions:
Expand All @@ -15,7 +15,8 @@ template:



## Unreleased
## [v3.0.0](https://github.com/marzer/tomlplusplus/releases/tag/v3.0.0) - 2022-01-11


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 ⚠&#xFE0F;.
Expand Down Expand Up @@ -104,7 +105,7 @@ Any changes that are likely to cause migration issues (API changes, build system



## [v2.5.0](https://github.com/osgenic/stim/releases/tag/v2.5.0) - 2021-07-11
## [v2.5.0](https://github.com/marzer/tomlplusplus/releases/tag/v2.5.0) - 2021-07-11

#### Fixes:
- fixed linkage error with windows compat mode
Expand All @@ -125,7 +126,7 @@ Any changes that are likely to cause migration issues (API changes, build system



## [v2.4.0](https://github.com/osgenic/stim/releases/tag/v2.4.0) - 2021-05-19
## [v2.4.0](https://github.com/marzer/tomlplusplus/releases/tag/v2.4.0) - 2021-05-19

#### Fixes:
- fixed `node::value()` not retrieving inf and nan correctly
Expand Down Expand Up @@ -153,7 +154,7 @@ Any changes that are likely to cause migration issues (API changes, build system



## [v2.3.0](https://github.com/osgenic/stim/releases/tag/v2.3.0) - 2020-12-29
## [v2.3.0](https://github.com/marzer/tomlplusplus/releases/tag/v2.3.0) - 2020-12-29

#### Fixes:
- fixed compiler errors caused by `<charconv>` with Apple-flavoured clang
Expand All @@ -169,7 +170,7 @@ Any changes that are likely to cause migration issues (API changes, build system



## [v2.2.0](https://github.com/osgenic/stim/releases/tag/v2.2.0) - 2020-08-09
## [v2.2.0](https://github.com/marzer/tomlplusplus/releases/tag/v2.2.0) - 2020-08-09

#### Fixes:
- fixed some issues building with VS2017 (#55) (@sobczyk)
Expand Down Expand Up @@ -197,7 +198,7 @@ Any changes that are likely to cause migration issues (API changes, build system



## [v2.1.0](https://github.com/osgenic/stim/releases/tag/v2.1.0) - 2020-07-11
## [v2.1.0](https://github.com/marzer/tomlplusplus/releases/tag/v2.1.0) - 2020-07-11

#### Fixes:
- fixed inconsistent emission of leading/trailing newlines when writing a table to an ostream (#48) (@levicki)
Expand All @@ -224,7 +225,7 @@ Any changes that are likely to cause migration issues (API changes, build system



## [v2.0.0](https://github.com/osgenic/stim/releases/tag/v2.0.0) - 2020-07-20
## [v2.0.0](https://github.com/marzer/tomlplusplus/releases/tag/v2.0.0) - 2020-07-20

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 ⚠&#xFE0F;.
Expand Down Expand Up @@ -267,7 +268,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.3.3](https://github.com/osgenic/stim/releases/tag/v1.3.3) - 2020-06-29
## [v1.3.3](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.3) - 2020-06-29

#### Fixes:
- fixed some minor TOML spec conformance bugs
Expand All @@ -287,7 +288,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.3.2](https://github.com/osgenic/stim/releases/tag/v1.3.2) - 2020-06-19
## [v1.3.2](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.2) - 2020-06-19

#### Fixes:
- fixed single-digit negative integers parsing as positive
Expand All @@ -301,7 +302,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.3.0](https://github.com/osgenic/stim/releases/tag/v1.3.0) - 2020-06-02
## [v1.3.0](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.0) - 2020-06-02

#### Fixes:
- fixed `formatter::print_inline()` causing compilation failures in DLL builds
Expand All @@ -320,7 +321,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.2.5](https://github.com/osgenic/stim/releases/tag/v1.2.5) - 2020-04-24
## [v1.2.5](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.5) - 2020-04-24

#### Fixes:
- fixed some multi-line string parsing issues
Expand All @@ -339,7 +340,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.2.3](https://github.com/osgenic/stim/releases/tag/v1.2.3) - 2020-04-11
## [v1.2.3](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.3) - 2020-04-11

#### Fixes:
- fixed printing of inf and nan
Expand All @@ -360,7 +361,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.2.0](https://github.com/osgenic/stim/releases/tag/v1.2.0) - 2020-04-07
## [v1.2.0](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.0) - 2020-04-07

#### Fixes:
- fixed some parsing and printing ops being locale-dependent
Expand All @@ -377,7 +378,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.1.0](https://github.com/osgenic/stim/releases/tag/v1.1.0) - 2020-04-03
## [v1.1.0](https://github.com/marzer/tomlplusplus/releases/tag/v1.1.0) - 2020-04-03

#### Fixes:
- fixed some parser error paths not returning early enough `TOML_EXCEPTIONS=0`
Expand All @@ -394,7 +395,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v1.0.0](https://github.com/osgenic/stim/releases/tag/1.0.0) - 2020-03-28
## [v1.0.0](https://github.com/marzer/tomlplusplus/releases/tag/1.0.0) - 2020-03-28

#### Fixes:
- fixed minor documentation issues
Expand All @@ -404,7 +405,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.6.0](https://github.com/osgenic/stim/releases/tag/v0.6.0) - 2020-03-24
## [v0.6.0](https://github.com/marzer/tomlplusplus/releases/tag/v0.6.0) - 2020-03-24

#### Fixes:
- fixed minor preprocessor/macro issues
Expand All @@ -416,7 +417,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.5.0](https://github.com/osgenic/stim/releases/tag/v0.5.0) - 2020-03-18
## [v0.5.0](https://github.com/marzer/tomlplusplus/releases/tag/v0.5.0) - 2020-03-18

#### Fixes:
- fixed crash when reaching EOF while parsing a string when exceptions are disabled
Expand All @@ -434,7 +435,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.4.3](https://github.com/osgenic/stim/releases/tag/v0.4.3) - 2020-03-10
## [v0.4.3](https://github.com/marzer/tomlplusplus/releases/tag/v0.4.3) - 2020-03-10

#### Fixes:
- fixed ICE in VS2019 when using `/std:c++17` instead of `/std:c++latest
Expand All @@ -447,7 +448,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.4.0](https://github.com/osgenic/stim/releases/tag/v0.4.0) - 2020-03-05
## [v0.4.0](https://github.com/marzer/tomlplusplus/releases/tag/v0.4.0) - 2020-03-05

#### Fixes:
- fixed `parse_file()` failing to compile with plain string literals
Expand All @@ -461,7 +462,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.3.0](https://github.com/osgenic/stim/releases/tag/v0.3.0) - 2020-03-01
## [v0.3.0](https://github.com/marzer/tomlplusplus/releases/tag/v0.3.0) - 2020-03-01

#### Fixes:
- fixed some pedantic clang warnings
Expand All @@ -479,7 +480,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.2.1](https://github.com/osgenic/stim/releases/tag/v0.2.1) - 2020-02-26
## [v0.2.1](https://github.com/marzer/tomlplusplus/releases/tag/v0.2.1) - 2020-02-26

#### Fixes:
- fixed minor printing bug in `operator<<(ostream, source_position)`
Expand All @@ -493,7 +494,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.2.0](https://github.com/osgenic/stim/releases/tag/v0.2.0) - 2020-02-23
## [v0.2.0](https://github.com/marzer/tomlplusplus/releases/tag/v0.2.0) - 2020-02-23

#### Fixes:
- fixed truncation of floating-point values when using ostreams
Expand All @@ -510,7 +511,7 @@ break (hence the version number bump). Changes that might block a migration are



## [v0.1.0](https://github.com/osgenic/stim/releases/tag/v0.1.0) - 2020-02-20
## [v0.1.0](https://github.com/marzer/tomlplusplus/releases/tag/v0.1.0) - 2020-02-20

- First public release, yay! 🎉&#xFE0F;

2,986 changes: 1,536 additions & 1,450 deletions docs/images/banner.ai

Large diffs are not rendered by default.

Binary file modified docs/images/banner_large.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/banner_small.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 12 additions & 4 deletions docs/pages/main_page.dox
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,10 @@
std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";

// can also be retrieved via absolute path
std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";

// ...even if the element doesn't exist
std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :(

Expand All @@ -278,6 +282,8 @@
numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
cats: [ 'tiger', 'lion', 'puma' ]
fish[1]: 'trout'
cats: [ 'tiger', 'lion', 'puma' ]
fish[1]: 'trout'
dinosaurs:
\eout

Expand Down Expand Up @@ -514,10 +520,12 @@

\out
Parsing data.toml 5000 times:
pytomlpp: 0.662 s
toml: 5.277 s (7.9x slower)
qtoml: 8.020 s (12.1x slower)
tomlkit: 32.898 s (49.6x slower)
pytomlpp: 0.694 s
rtoml: 0.871 s ( 1.25x)
tomli: 2.625 s ( 3.78x)
toml: 5.642 s ( 8.12x)
qtoml: 7.760 s (11.17x)
tomlkit: 32.708 s (47.09x)
\eout

Install it using `pip`:
Expand Down
11 changes: 6 additions & 5 deletions include/toml++/impl/array.h
Original file line number Diff line number Diff line change
Expand Up @@ -316,11 +316,6 @@ TOML_NAMESPACE_START
using reference = node&;
using const_reference = const node&;

/// \brief A RandomAccessIterator for iterating over elements in a toml::array.
using iterator = array_iterator;
/// \brief A RandomAccessIterator for iterating over const elements in a toml::array.
using const_iterator = const_array_iterator;

#if TOML_LIFETIME_HOOKS

TOML_NODISCARD_CTOR
Expand Down Expand Up @@ -794,6 +789,12 @@ TOML_NAMESPACE_START
/// \name Iterators
/// @{

/// \brief A RandomAccessIterator for iterating over elements in a toml::array.
using iterator = array_iterator;

/// \brief A RandomAccessIterator for iterating over const elements in a toml::array.
using const_iterator = const_array_iterator;

/// \brief Returns an iterator to the first element.
TOML_NODISCARD
iterator begin() noexcept
Expand Down
3 changes: 1 addition & 2 deletions include/toml++/impl/forward_declarations.h
Original file line number Diff line number Diff line change
Expand Up @@ -330,8 +330,7 @@ TOML_NAMESPACE_START // abi namespace
/// \brief Combination mask of all indentation-enabling flags.
indentation = indent_sub_tables | indent_array_elements,

/// \brief Emit floating-point values with relaxed precision.
///
/// \brief Emit floating-point values with relaxed (human-friendly) precision.
/// \warning Setting this flag may cause serialized documents to no longer round-trip correctly
/// since floats might have a less precise value upon being written out than they did when being
/// read in. Use this flag at your own risk.
Expand Down
21 changes: 9 additions & 12 deletions include/toml++/impl/parse_result.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,6 @@ TOML_NAMESPACE_START
}

public:
/// \brief A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
using iterator = table_iterator;

/// \brief A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
using const_iterator = const_table_iterator;

/// \brief Default constructs an 'error' result.
TOML_NODISCARD_CTOR
parse_result() noexcept //
Expand Down Expand Up @@ -278,48 +272,51 @@ TOML_NAMESPACE_START
/// \name Iterators
/// @{

/// \brief A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
using iterator = table_iterator;

/// \brief A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
using const_iterator = const_table_iterator;

/// \brief Returns an iterator to the first key-value pair in the wrapped table.
/// \remarks Returns a default-constructed 'nothing' iterator if the parsing failed.
/// \remarks Always returns the same value as #end() if parsing failed.
TOML_NODISCARD
table_iterator begin() noexcept
{
return err_ ? table_iterator{} : table().begin();
}

/// \brief Returns an iterator to the first key-value pair in the wrapped table.
/// \remarks Returns a default-constructed 'nothing' iterator if the parsing failed.
/// \remarks Always returns the same value as #end() if parsing failed.
TOML_NODISCARD
const_table_iterator begin() const noexcept
{
return err_ ? const_table_iterator{} : table().begin();
}

/// \brief Returns an iterator to the first key-value pair in the wrapped table.
/// \remarks Returns a default-constructed 'nothing' iterator if the parsing failed.
/// \remarks Always returns the same value as #cend() if parsing failed.
TOML_NODISCARD
const_table_iterator cbegin() const noexcept
{
return err_ ? const_table_iterator{} : table().cbegin();
}

/// \brief Returns an iterator to one-past-the-last key-value pair in the wrapped table.
/// \remarks Returns a default-constructed 'nothing' iterator if the parsing failed.
TOML_NODISCARD
table_iterator end() noexcept
{
return err_ ? table_iterator{} : table().end();
}

/// \brief Returns an iterator to one-past-the-last key-value pair in the wrapped table.
/// \remarks Returns a default-constructed 'nothing' iterator if the parsing failed.
TOML_NODISCARD
const_table_iterator end() const noexcept
{
return err_ ? const_table_iterator{} : table().end();
}

/// \brief Returns an iterator to one-past-the-last key-value pair in the wrapped table.
/// \remarks Returns a default-constructed 'nothing' iterator if the parsing failed.
TOML_NODISCARD
const_table_iterator cend() const noexcept
{
Expand Down
Loading

0 comments on commit d33da0c

Please sign in to comment.