summaryrefslogtreecommitdiff
path: root/poxy_changelog.html
blob: 91d7fa105455ba3e93d9b64867d900245b67f106 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<!DOCTYPE html>
<html lang="en"><head>
  <meta charset="utf-8"/>
  <title>Changelog | toml++ TOML for C++</title>
  <link href="favicon.ico" rel="icon" type="image/vnd.microsoft.icon"/>
  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
  <meta content="#22272e" name="theme-color"/>
  <link href="poxy/poxy.css" referrerpolicy="no-referrer" rel="stylesheet"/>
  <script src="poxy/poxy.js"></script>
  <script>initialize_theme("dark");</script>
  <meta content="toml++" name="twitter:title"/>
  <meta content="toml++" property="og:title"/>
  <meta content="toml++" itemprop="name"/>
  <meta content="Mark Gillard" name="author"/>
  <meta content="Mark Gillard" property="article:author"/>
  <meta content="TOML for C++" name="description"/>
  <meta content="TOML for C++" name="twitter:description"/>
  <meta content="TOML for C++" property="og:description"/>
  <meta content="TOML for C++" itemprop="description"/>
  <meta content="telephone=no" name="format-detection"/>
  <meta content="Poxy v0.20.1" name="generator"/>
  <meta content="strict-origin-when-cross-origin" name="referrer"/>
  <meta content="gbtcNgKlNiPSMKkYMw4zWFVWGPH_oU93m9n_-nb4qK8" name="google-site-verification"/>
</head>
<body class="poxy-has-toc">
<header><nav id="navigation">
  <div class="m-container">
    <div class="m-row">
      <a class="m-col-t-8 m-col-m-none m-left-m" href="index.html" id="m-navbar-brand"><svg class="poxy-injected-svg" id="poxy-injected-svg-0" version="1.1" viewBox="0 0 306 306" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><polygon fill="currentColor" points="0 0 0 306 67.79 306 67.79 273.09 35.1 273.09 35.1 33.62 67.79 33.62 67.79 0 0 0"></polygon><polygon fill="currentColor" points="237.62 0 237.62 33.62 270.3 33.62 270.3 273.09 237.62 273.09 237.62 306 306 306 306 0 237.62 0"></polygon><polygon fill="currentColor" points="127.3 247.43 127.3 109.37 172.72 109.37 172.72 77.69 48.41 77.69 48.41 109.37 94.43 109.37 94.43 247.43 127.3 247.43"></polygon><polygon fill="currentColor" points="256.69 163.46 241.45 163.46 241.45 148.22 222.33 148.22 222.33 163.46 207.09 163.46 207.09 182.58 222.33 182.58 222.33 197.82 241.45 197.82 241.45 182.58 256.69 182.58 256.69 163.46"></polygon><polygon fill="currentColor" points="192.74 163.46 177.5 163.46 177.5 148.22 158.38 148.22 158.38 163.46 143.14 163.46 143.14 182.58 158.38 182.58 158.38 197.82 177.5 197.82 177.5 182.58 192.74 182.58 192.74 163.46"></polygon></svg>toml++ <span class="m-thin">TOML for C++</span></a>
      <div class="m-col-t-4 m-hide-m m-text-right m-nopadr">
        <a class="m-doc-search-icon" href="#search" onclick="return showSearch()" title="Search"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
          <path d="m6 0c-3.31 0-6 2.69-6 6 0 3.31 2.69 6 6 6 1.49 0 2.85-0.541 3.89-1.44-0.0164 0.338 0.147 0.759 0.5 1.15l3.22 3.79c0.552 0.614 1.45 0.665 2 0.115 0.55-0.55 0.499-1.45-0.115-2l-3.79-3.22c-0.392-0.353-0.812-0.515-1.15-0.5 0.895-1.05 1.44-2.41 1.44-3.89 0-3.31-2.69-6-6-6zm0 1.56a4.44 4.44 0 0 1 4.44 4.44 4.44 4.44 0 0 1-4.44 4.44 4.44 4.44 0 0 1-4.44-4.44 4.44 4.44 0 0 1 4.44-4.44z" id="m-doc-search-icon-path"></path>
        </svg></a>
        <a href="#navigation" id="m-navbar-show" title="Show navigation"></a>
        <a href="#" id="m-navbar-hide" title="Hide navigation"></a>
      </div>
      <div class="m-col-t-12 m-show-m m-col-m-none m-right-m" id="m-navbar-collapse">
        <div class="m-row">
          <ol class="m-col-t-6 m-col-m-none">
            <li><a href="namespaces.html">Namespaces</a></li>
            <li><a href="annotated.html">Classes</a></li>
            <li class="poxy-navbar-version-selector"><a href="poxy_changelog.html">Version: HEAD</a><ol><li><a href="poxy_changelog.html">HEAD</a></li></ol></li>
            <li><a class="poxy-icon twitter poxy-external" href="https://twitter.com/marzer8789" target="_blank" title="Twitter"><svg id="poxy-icon-twitter" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M 50.0625 10.4375 C 48.214844 11.257813 46.234375 11.808594 44.152344 12.058594 C 46.277344 10.785156 47.910156 8.769531 48.675781 6.371094 C 46.691406 7.546875 44.484375 8.402344 42.144531 8.863281 C 40.269531 6.863281 37.597656 5.617188 34.640625 5.617188 C 28.960938 5.617188 24.355469 10.21875 24.355469 15.898438 C 24.355469 16.703125 24.449219 17.488281 24.625 18.242188 C 16.078125 17.8125 8.503906 13.71875 3.429688 7.496094 C 2.542969 9.019531 2.039063 10.785156 2.039063 12.667969 C 2.039063 16.234375 3.851563 19.382813 6.613281 21.230469 C 4.925781 21.175781 3.339844 20.710938 1.953125 19.941406 C 1.953125 19.984375 1.953125 20.027344 1.953125 20.070313 C 1.953125 25.054688 5.5 29.207031 10.199219 30.15625 C 9.339844 30.390625 8.429688 30.515625 7.492188 30.515625 C 6.828125 30.515625 6.183594 30.453125 5.554688 30.328125 C 6.867188 34.410156 10.664063 37.390625 15.160156 37.472656 C 11.644531 40.230469 7.210938 41.871094 2.390625 41.871094 C 1.558594 41.871094 0.742188 41.824219 -0.0585938 41.726563 C 4.488281 44.648438 9.894531 46.347656 15.703125 46.347656 C 34.617188 46.347656 44.960938 30.679688 44.960938 17.09375 C 44.960938 16.648438 44.949219 16.199219 44.933594 15.761719 C 46.941406 14.3125 48.683594 12.5 50.0625 10.4375 Z" fill="currentColor"></path></svg></a></li>
          </ol>
          <ol class="m-col-t-6 m-col-m-none" start="5">
            <li><a class="poxy-icon repo github poxy-external" href="https://github.com/marzer/tomlplusplus" target="_blank" title="View on GitHub"><svg id="poxy-icon-repo" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M25,1.23a24.37,24.37,0,0,0-7.7,47.5C18.51,49,19,48.2,19,47.56s0-2.12,0-4.15c-6.78,1.47-8.21-3.27-8.21-3.27C9.61,37.33,8,36.58,8,36.58c-2.21-1.51.17-1.48.17-1.48a5.12,5.12,0,0,1,3.73,2.51c2.17,3.72,5.7,2.65,7.09,2a5.25,5.25,0,0,1,1.55-3.26c-5.41-.61-11.1-2.7-11.1-12A9.41,9.41,0,0,1,12,17.79a8.75,8.75,0,0,1,.24-6.45s2-.66,6.7,2.49a23.1,23.1,0,0,1,12.2,0c4.66-3.15,6.7-2.49,6.7-2.49A8.75,8.75,0,0,1,38,17.79a9.41,9.41,0,0,1,2.51,6.54c0,9.36-5.7,11.42-11.13,12a5.83,5.83,0,0,1,1.65,4.51c0,3.26,0,5.89,0,6.69,0,.65.44,1.41,1.68,1.17A24.38,24.38,0,0,0,25,1.23Z" fill="currentColor"></path></svg></a></li>
            <li><a class="poxy-icon sponsor poxy-external" href="https://github.com/sponsors/marzer" target="_blank" title="Become a sponsor"><svg id="poxy-icon-sponsor" version="1.1" viewBox="0 0 66.911 66.911" xmlns="http://www.w3.org/2000/svg"><path d="M66.911,22.831c0-10.563-8.558-19.122-19.118-19.122c-5.658,0-10.721,2.473-14.223,6.377  c-0.037,0.043-0.076,0.085-0.113,0.128c-3.5-3.98-8.618-6.505-14.334-6.505C8.561,3.709,0.005,12.268,0,22.831  c0,5.834,2.629,11.059,6.758,14.565H6.751l27.104,25.806l26.308-25.806h-0.012C64.279,33.89,66.911,28.669,66.911,22.831z" fill="currentColor"></path></svg></a></li>
            <li><a class="poxy-icon theme" href="javascript:void(null);" id="poxy-theme-switch" onclick="toggle_theme(); return false;" role="button" title="Toggle dark and light themes"><svg id="poxy-theme-switch-img" version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><circle cx="185.6708" cy="183.8122" fill="currentColor" r="65.625"></circle><path d="M185.6708,87.5622a13.1256,13.1256,0,0,0,13.125-13.125V52.5622a13.125,13.125,0,1,0-26.25,0v21.875A13.1257,13.1257,0,0,0,185.6708,87.5622Z" fill="currentColor"></path><path d="M99.051,115.7519a13.1236,13.1236,0,1,0,18.56-18.56L102.1442,81.726a13.1236,13.1236,0,0,0-18.5595,18.56Z" fill="currentColor"></path><path d="M89.4208,183.8122a13.1257,13.1257,0,0,0-13.125-13.125H54.4208a13.125,13.125,0,0,0,0,26.25h21.875A13.1256,13.1256,0,0,0,89.4208,183.8122Z" fill="currentColor"></path><path d="M99.051,251.8725,83.5847,267.3431a13.1236,13.1236,0,1,0,18.56,18.56l15.4663-15.4706a13.1236,13.1236,0,1,0-18.5595-18.56Z" fill="currentColor"></path><path d="M185.6708,280.0622a13.1258,13.1258,0,0,0-13.125,13.125v21.875a13.125,13.125,0,0,0,26.25,0v-21.875A13.1257,13.1257,0,0,0,185.6708,280.0622Z" fill="currentColor"></path><path d="M272.2907,251.8725a13.1236,13.1236,0,1,0-18.56,18.56l15.4663,15.4706a13.1236,13.1236,0,1,0,18.56-18.56Z" fill="currentColor"></path><path d="M330.0458,183.8122a13.1257,13.1257,0,0,0-13.125-13.125h-21.875a13.125,13.125,0,0,0,0,26.25h21.875A13.1256,13.1256,0,0,0,330.0458,183.8122Z" fill="currentColor"></path><path d="M263.0109,119.5971a13.0824,13.0824,0,0,0,9.28-3.8452l15.4663-15.4663a13.1236,13.1236,0,1,0-18.56-18.56L253.7312,97.1923a13.125,13.125,0,0,0,9.28,22.4048Z" fill="currentColor"></path><path d="M456.9379,401.6714a63.97,63.97,0,0,1-14.9963,7.2055c-19.6448,6.5283-41.8787,2.9566-58.1439-9.8523a68.9311,68.9311,0,0,1-10.835-10.8339c-12.8088-16.2663-16.3806-38.5-9.8523-58.1471a63.8444,63.8444,0,0,1,7.2077-14.9931,8.8036,8.8036,0,0,0-10.1172-13.3034,87.5188,87.5188,0,1,0,110.0372,110.04A8.8,8.8,0,0,0,456.9379,401.6714Z" fill="currentColor"></path></svg></a></li>
            <li class="m-show-m"><a class="m-doc-search-icon" href="#search" onclick="return showSearch()" title="Search"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
              <use href="#m-doc-search-icon-path"></use>
            </svg></a></li>
          </ol>
        </div>
      </div>
    </div>
  </div>
</nav></header>
<main><article>
  <div class="m-container m-container-inflatable">
    <div class="m-row">
      <div class="m-col-l-10 m-push-l-1">
        <h1>
          Changelog
        </h1>
        <nav class="m-block m-default poxy-toc" id="poxy-toc">
          <h3>Contents</h3>
          <ul>
            <li><a href="#autotoc_md1">Unreleased</a></li>
            <li><a href="#autotoc_md2">v3.4.0</a></li>
            <li><a href="#autotoc_md3">v3.3.0</a></li>
            <li><a href="#autotoc_md4">v3.2.0</a></li>
            <li><a href="#autotoc_md5">v3.1.0</a></li>
            <li><a href="#autotoc_md6">v3.0.1</a></li>
            <li><a href="#autotoc_md7">v3.0.0</a></li>
            <li><a href="#autotoc_md8">v2.5.0</a></li>
            <li><a href="#autotoc_md9">v2.4.0</a></li>
            <li><a href="#autotoc_md10">v2.3.0</a></li>
            <li><a href="#autotoc_md11">v2.2.0</a></li>
            <li><a href="#autotoc_md12">v2.1.0</a></li>
            <li><a href="#autotoc_md13">v2.0.0</a></li>
            <li><a href="#autotoc_md14">v1.3.3</a></li>
            <li><a href="#autotoc_md15">v1.3.2</a></li>
            <li><a href="#autotoc_md16">v1.3.0</a></li>
            <li><a href="#autotoc_md17">v1.2.5</a></li>
            <li><a href="#autotoc_md18">v1.2.3</a></li>
            <li><a href="#autotoc_md19">v1.2.0</a></li>
            <li><a href="#autotoc_md20">v1.1.0</a></li>
            <li><a href="#autotoc_md21">v1.0.0</a></li>
            <li><a href="#autotoc_md22">v0.6.0</a></li>
            <li><a href="#autotoc_md23">v0.5.0</a></li>
            <li><a href="#autotoc_md24">v0.4.3</a></li>
            <li><a href="#autotoc_md25">v0.4.0</a></li>
            <li><a href="#autotoc_md26">v0.3.0</a></li>
            <li><a href="#autotoc_md27">v0.2.1</a></li>
            <li><a href="#autotoc_md28">v0.2.0</a></li>
            <li><a href="#autotoc_md29">v0.1.0</a></li>
          </ul>
        </nav>
<section id="autotoc_md1"><h3><a href="#autotoc_md1">Unreleased</a></h3><h5>Fixes</h5><ul><li>fixed <code>is_homogeneous()</code> overloads with <code>first_nonmatch</code> outparam being broken in optimized builds (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/231" target="_blank">#231</a>) (<a class="poxy-external" href="https://github.com/Forbinn" target="_blank">@Forbinn</a>)</li><li>fixed unclear error message when parsing integers that would overflow (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/224" target="_blank">#224</a>) (<a class="poxy-external" href="https://github.com/chrimbo" target="_blank">@chrimbo</a>)</li><li>fixed CMake <code>install</code> target installing <code>meson.build</code> files (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/236" target="_blank">#236</a>) (<a class="poxy-external" href="https://github.com/JWCS" target="_blank">@JWCS</a>)</li><li>lowered <code>TOML_MAX_NESTED_VALUES</code> default from 256 to 128 to prevent stack overflow on deeply nested arrays/inline tables in sanitizer builds (<a class="poxy-external" href="https://github.com/danielbodorin" target="_blank">@danielbodorin</a>)</li></ul></section><section id="autotoc_md2"><h3><a href="#autotoc_md2">v3.4.0</a></h3><ul><li>fixed "unresolved symbol" error with nvc++ (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/220" target="_blank">#220</a>) (<a class="poxy-external" href="https://github.com/Tomcat-42" target="_blank">@Tomcat-42</a>)</li></ul><h5>Fixes</h5><ul><li>fixed <code>value_flags</code> not being preserved correctly when inserting into tables and arrays (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/108" target="_blank">#108</a>) (<a class="poxy-external" href="https://github.com/LebJe" target="_blank">@LebJe</a>)</li><li>fixed <code><a class="m-doc" href="classtoml_1_1value.html#a1a213908a7297491a07e647967897fcb">toml::<wbr/>value::<wbr/>flags()</a></code> not being cleared when <code>std::move</code>-ing a value</li><li>fixed error in README (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/195" target="_blank">#195</a>) (<a class="poxy-external" href="https://github.com/andrewkcorcoran" target="_blank">@andrewkcorcoran</a>)</li><li>fixed compiler error when using NVCC (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/198" target="_blank">#198</a>) (<a class="poxy-external" href="https://github.com/thompsonnoahe" target="_blank">@thompsonnoahe</a>)</li><li>fixed <code>noexcept(...)</code> sometimes being incorrectly derived on <code>for_each()</code></li><li>fixed <code>for_each()</code> compilation error on GCC &lt;= 7 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/197" target="_blank">#197</a>) (<a class="poxy-external" href="https://github.com/sagi-ottopia" target="_blank">@sagi-ottopia</a>, <a class="poxy-external" href="https://github.com/damirbarr" target="_blank">@damirbarr</a>)</li><li>fixed <code>FLT_RADIX</code> check getting broken by Intel MKL headers (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/202" target="_blank">#202</a>) (<a class="poxy-external" href="https://github.com/iago-lito" target="_blank">@iago-lito</a>)</li><li>fixed keys containing <code>\t</code> incorrectly formatting as bare keys (<a class="poxy-external" href="https://github.com/jasmine-zhu" target="_blank">@jasmine-zhu</a>, <a class="poxy-external" href="https://github.com/arp242" target="_blank">@arp242</a>)</li><li>fixed keys containing <code>\t</code> and <code>\n</code> not round-tripping correctly (<a class="poxy-external" href="https://github.com/arp242" target="_blank">@arp242</a>)</li></ul><h5>Additions</h5><ul><li>added support for using enums with <code>value_or()</code></li></ul><h5>Changes</h5><ul><li>renamed header files to have <code>.hpp</code> extension (<code>toml.h</code> is still present for backwards-compatibility)</li></ul><h5>Build system</h5><ul><li>fixed meson builds with <code>-Ddefault_library=static</code> having hidden symbols on GNU compilers (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/201" target="_blank">#201</a>) (<a class="poxy-external" href="https://github.com/vlad0x00" target="_blank">@vlad0x00</a>)</li></ul></section><section id="autotoc_md3"><h3><a href="#autotoc_md3">v3.3.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v3.3.0" target="_blank">Released</a> 2023-01-29</p><h5>Fixes</h5><ul><li>fixed null pointer dereference in parser when exceptions are disabled (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/169" target="_blank">#169</a>) (<a class="poxy-external" href="https://github.com/ncaklovic" target="_blank">@ncaklovic</a>)</li><li>fixed spurious warnings in MSVC 19.34</li><li>fixed <code><a class="m-doc" href="namespacetoml.html#a8dbc58dad43c3b66f4476a7131f5741a">toml::<wbr/>parse_file()</a></code> on windows for non-ASCII paths</li><li>fixed a spurious table redefinition error (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/187" target="_blank">#187</a>) (<a class="poxy-external" href="https://github.com/jorisvr" target="_blank">@jorisvr</a>)</li><li>fixed UB edge-case in integer parsing (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/188" target="_blank">#188</a>) (<a class="poxy-external" href="https://github.com/jorisvr" target="_blank">@jorisvr</a>)</li><li>fixed some build issues with Apple-flavoured Clang (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/189" target="_blank">#189</a>) (<a class="poxy-external" href="https://github.com/eddelbuettel" target="_blank">@eddelbuettel</a>)</li></ul><h5>Additions</h5><ul><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa4c8bfd397c155cf5841842cdbb556edd">toml::<wbr/>format_flags::<wbr/>terse_key_value_pairs</a></code></li><li>added <code>TOML_ENABLE_FLOAT16</code> config (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/178" target="_blank">#178</a>) (<a class="poxy-external" href="https://github.com/Scrumplex" target="_blank">@Scrumplex</a>)</li></ul><h5>Removals</h5><ul><li>removed automatic detection of <code><a class="m-doc poxy-injected poxy-external" href="https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html" target="_blank">_Float16</a></code> (you must explicitly set <code>TOML_ENABLE_FLOAT16</code> to enable it) (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/186" target="_blank">#186</a>) (<a class="poxy-external" href="https://github.com/benthetechguy" target="_blank">@benthetechguy</a>)</li></ul><h5>Build system</h5><ul><li>re-wrote the meson scripts to fix a number of issues (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/185" target="_blank">#185</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/186" target="_blank">#186</a>) (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>, <a class="poxy-external" href="https://github.com/benthetechguy" target="_blank">@benthetechguy</a>)</li><li>increased the minimum required meson version to <code>0.61.0</code></li></ul></section><section id="autotoc_md4"><h3><a href="#autotoc_md4">v3.2.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v3.2.0" target="_blank">Released</a> 2022-08-29</p><h5>Fixes</h5><ul><li>fixed <code>[dotted.table]</code> source columns sometimes being off by one (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/152" target="_blank">#152</a>) (<a class="poxy-external" href="https://github.com/vaartis" target="_blank">@vaartis</a>)</li><li>fixed spurious <code>Wnull-dereference</code> warning on GCC (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/164" target="_blank">#164</a>) (<a class="poxy-external" href="https://github.com/zaporozhets" target="_blank">@zaporozhets</a>)</li><li>fixed <code>print_to_stream</code> ambiguity for <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/size_t" target="_blank">size_t</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/167" target="_blank">#167</a>) (<a class="poxy-external" href="https://github.com/acronce" target="_blank">@acronce</a>)</li></ul><h5>Additions</h5><ul><li>added value type deduction to <code>emplace()</code> methods</li><li>added <code><a class="m-doc" href="classtoml_1_1path.html">toml::<wbr/>path</a></code> utility type (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/153" target="_blank">#153</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/156" target="_blank">#156</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/168" target="_blank">#168</a>) (<a class="poxy-external" href="https://github.com/jonestristand" target="_blank">@jonestristand</a>, <a class="poxy-external" href="https://github.com/kcsaul" target="_blank">@kcsaul</a>)</li><li>added config option <code>TOML_CALLCONV</code></li><li>added missing relational operators for <code><a class="m-doc poxy-injected" href="structtoml_1_1source__position.html">source_position</a></code></li></ul><h5>Changes</h5><ul><li>relaxed cvref requirements of <code>is_homogeneous()</code>, <code>emplace()</code>, <code>emplace_back()</code>, <code>emplace_hint()</code></li><li>relaxed mantissa and digits10 requirements of extended float support</li></ul></section><section id="autotoc_md5"><h3><a href="#autotoc_md5">v3.1.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v3.1.0" target="_blank">Released</a> 2022-04-22</p><h5>Fixes</h5><ul><li>fixed potential segfault when calling <code>at_path()</code> with an empty string</li><li>fixed UB in internal unicode machinery (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/144" target="_blank">#144</a>) (<a class="poxy-external" href="https://github.com/kchalmer" target="_blank">@kchalmer</a>)</li><li>fixed a number of spurious warnings with Clang 10 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/145" target="_blank">#145</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/146" target="_blank">#146</a>) (<a class="poxy-external" href="https://github.com/chronoxor" target="_blank">@chronoxor</a>)</li></ul><h5>Additions</h5><ul><li>added <code><a class="m-doc" href="classtoml_1_1array.html#aec78fef35741a66cd32ddb6bd07c3d4a">toml::<wbr/>array::<wbr/>for_each()</a></code></li><li>added <code><a class="m-doc" href="classtoml_1_1table.html#a3eca61af0c4b7e6131f33b2f3fac6c05">toml::<wbr/>table::<wbr/>for_each()</a></code></li><li>added config options <code>TOML_EXPORTED_CLASS</code>, <code>TOML_EXPORTED_MEMBER_FUNCTION</code>, <code>TOML_EXPORTED_STATIC_FUNCTION</code> &amp; <code>TOML_EXPORTED_FREE_FUNCTION</code></li><li>added support for escape sequence <code>\e</code> when using <code>TOML_ENABLE_UNRELEASED_FEATURES</code> (<a class="poxy-external" href="https://github.com/toml-lang/toml/pull/790" target="_blank">toml/<wbr/>790</a>)</li><li>added support for more unicode in bare keys when using <code>TOML_ENABLE_UNRELEASED_FEATURES</code> (<a class="poxy-external" href="https://github.com/toml-lang/toml/pull/891" target="_blank">toml/<wbr/>891</a>)</li></ul><h5>Removals/Deprecations</h5><ul><li>deprecated old <code>TOML_API</code> option in favour new <code>TOML_EXPORTED_X</code> options (it will continue to work as it did before if none of the new function export options are defined)</li></ul><h5>Build system</h5><ul><li>meson: added <code>compile_library</code> option (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>)</li><li>meson: added <code>ubsan_tests</code> and <code>ubsan_examples</code> options</li><li>meson: use system dependencies where available when building tests (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>)</li></ul></section><section id="autotoc_md6"><h3><a href="#autotoc_md6">v3.0.1</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v3.0.1" target="_blank">Released</a> 2022-01-13</p><p>This is a single-bugfix release to fix an ODR issue for people using header-only mode in multiple translation units. If you aren't seeing linker errors because of <code>toml::array::insert_at()</code>, this release holds nothing of value over v3.0.0.</p><h5>Fixes</h5><ul><li>fixed erroneous use of <code>TOML_API</code> causing ODR issue (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/136" target="_blank">#136</a>) (<a class="poxy-external" href="https://github.com/Azarael" target="_blank">@Azarael</a>)</li></ul></section><section id="autotoc_md7"><h3><a href="#autotoc_md7">v3.0.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v3.0.0" target="_blank">Released</a> 2022-01-11</p><p>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 ⚠️.</p><h5>Fixes</h5><ul><li>⚠️ fixed <code><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a></code> init-list constructor requiring double-brackets</li><li>⚠️ fixed <code>TOML_API</code> + extern templates causing linker errors in some circumstances</li><li>⚠️ fixed incorrect <code>noexcept</code> specifications on many functions</li><li>⚠️ fixed missing <code>TOML_API</code> on some interfaces</li><li>fixed <code><a class="m-doc" href="classtoml_1_1json__formatter.html">toml::<wbr/>json_formatter</a></code> not formatting inf and nan incorrectly</li><li>fixed a number of spec conformance issues (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/127" target="_blank">#127</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/128" target="_blank">#128</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/129" target="_blank">#129</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/130" target="_blank">#130</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/131" target="_blank">#131</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/132" target="_blank">#132</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/135" target="_blank">#135</a>) (<a class="poxy-external" href="https://github.com/moorereason" target="_blank">@moorereason</a>)</li><li>fixed an illegal table redefinition edge case (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/112" target="_blank">#112</a>) (<a class="poxy-external" href="https://github.com/python36" target="_blank">@python36</a>)</li><li>fixed documentation issues</li><li>fixed GCC bug causing memory leak during parse failures (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/123" target="_blank">#123</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/124" target="_blank">#124</a>) (<a class="poxy-external" href="https://github.com/rsmmr" target="_blank">@rsmmr</a>, <a class="poxy-external" href="https://github.com/ronalabraham" target="_blank">@ronalabraham</a>)</li><li>fixed incorrect handling of vertical whitespace in keys when printing TOML to streams</li><li>fixed incorrect <a class="m-doc poxy-injected" href="structtoml_1_1source__position.html">source position</a> in redefinition error messages</li><li>fixed missing includes <code>&lt;initializer_list&gt;</code>, <code>&lt;utility&gt;</code></li><li>fixed parser not correctly round-tripping the format of binary and octal integers in some cases</li><li>fixed some incorrect unicode scalar sequence transformations (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/125" target="_blank">#125</a>)</li><li>fixed strong exception guarantee edge-cases in <code><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a></code> and <code><a class="m-doc" href="classtoml_1_1array.html">toml::<wbr/>array</a></code></li></ul><h5>Additions</h5><ul><li>added value flags to array + table insert methods (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/44" target="_blank">#44</a>) (<a class="poxy-external" href="https://github.com/levicki" target="_blank">@levicki</a>)</li><li>added support for Unicode 14.0</li><li>added support for ref categories and cv-qualifiers in <code><a class="m-doc" href="classtoml_1_1node.html#a58fde40ef0b172d36bf293c251b25130">toml::<wbr/>node::<wbr/>ref()</a></code></li><li>added magic <code><a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">toml::<wbr/>value_flags</a></code> constant <code><a class="m-doc" href="namespacetoml.html#a32f700b152e15c357801e905d626a4fb">toml::<wbr/>preserve_source_value_flags</a></code></li><li>added clang's enum annotation attributes to all enums</li><li>added <code>TOML_ENABLE_FORMATTERS</code> option</li><li>added <code><a class="m-doc" href="classtoml_1_1yaml__formatter.html">toml::<wbr/>yaml_formatter</a></code></li><li>added <code><a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a></code> copy+move constructor overloads with flags override</li><li>added <code><a class="m-doc" href="classtoml_1_1table.html#a21d4876e86a9ecec65592de2ff268c6d">toml::<wbr/>table::<wbr/>prune()</a></code></li><li>added <code><a class="m-doc" href="classtoml_1_1table.html#acc5180d0f3b1a78f45962f246a5d9605">toml::<wbr/>table::<wbr/>lower_bound()</a></code> (same semantics as <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/container/map/lower_bound.html" target="_blank">std::<wbr/>map::<wbr/>lower_bound()</a></code>)</li><li>added <code><a class="m-doc" href="classtoml_1_1table.html#a0d2378b5d13432bf8e325c388c650189">toml::<wbr/>table::<wbr/>emplace_hint()</a></code> (same semantics as <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/container/map/emplace_hint.html" target="_blank">std::<wbr/>map::<wbr/>emplace_hint()</a></code>)</li><li>added <code><a class="m-doc" href="classtoml_1_1table.html#a09e2c0437700b2a4e5c031e046a07b90">toml::<wbr/>table::<wbr/>at()</a></code> (same semantics as <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/container/map/at.html" target="_blank">std::<wbr/>map::<wbr/>at()</a></code>)</li><li>added <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">toml::node_view</a>::operator==</code></li><li>added <code><a class="m-doc" href="classtoml_1_1key.html">toml::<wbr/>key</a></code> - provides a facility to access the <a class="m-doc poxy-injected" href="structtoml_1_1source__region.html">source_regions</a> of parsed keys (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/82" target="_blank">#82</a>) (<a class="poxy-external" href="https://github.com/vaartis" target="_blank">@vaartis</a>)</li><li>added <code><a class="m-doc" href="namespacetoml.html#a7b8ef907d9629d139a30d874b345b195">toml::<wbr/>is_key</a>&lt;&gt;</code> and <code><a class="m-doc" href="namespacetoml.html#a052fafde71907ef3a8590ef7ec2455d8">toml::<wbr/>is_key_or_convertible</a>&lt;&gt;</code> metafunctions</li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa2023489f273b06937dd37c25b2cf2078">toml::<wbr/>format_flags::<wbr/>relaxed_float_precision</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/89" target="_blank">#89</a>) (<a class="poxy-external" href="https://github.com/vaartis" target="_blank">@vaartis</a>)</li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aaebc5b9f8f77d6df3c806339479f46098">toml::<wbr/>format_flags::<wbr/>quote_infinities_and_nans</a></code></li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa4ccbf147a4e194e7d2ae2b242e1eeceb">toml::<wbr/>format_flags::<wbr/>indent_sub_tables</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/120" target="_blank">#120</a>) (<a class="poxy-external" href="https://github.com/W4RH4WK" target="_blank">@W4RH4WK</a>)</li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa8bf21ed1736197d191a147317c7ea95b">toml::<wbr/>format_flags::<wbr/>indent_array_elements</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/120" target="_blank">#120</a>) (<a class="poxy-external" href="https://github.com/W4RH4WK" target="_blank">@W4RH4WK</a>)</li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aab8d4fc7b15531737d6d22536c5f3881c">toml::<wbr/>format_flags::<wbr/>allow_unicode_strings</a></code></li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa85cd74c0ce79c211961b6db05587778c">toml::<wbr/>format_flags::<wbr/>allow_real_tabs_in_strings</a></code></li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa3d184bcd6e8f69ebc29b148945f23d4e">toml::<wbr/>format_flags::<wbr/>allow_octal_integers</a></code></li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aa41e4d7c47742f8f5b60161cc594b169b">toml::<wbr/>format_flags::<wbr/>allow_hexadecimal_integers</a></code></li><li>added <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6aae8dbe11e331b30941899ce81fd2fee41">toml::<wbr/>format_flags::<wbr/>allow_binary_integers</a></code></li><li>added <code><a class="m-doc" href="structtoml_1_1date__time.html">toml::<wbr/>date_time</a></code> converting constructors from <code><a class="m-doc" href="structtoml_1_1date.html">toml::<wbr/>date</a></code> and <code><a class="m-doc" href="structtoml_1_1time.html">toml::<wbr/>time</a></code></li><li>added <code><a class="m-doc" href="namespacetoml.html#a3024ba7b40cb19fa565b5ac80ac72c2d">toml::<wbr/>at_path()</a></code>, <code><a class="m-doc" href="classtoml_1_1node.html#a21f64d68f408033ee6610f34d3bf0bcd">toml::<wbr/>node::<wbr/>at_path()</a></code> and <code><a class="m-doc" href="classtoml_1_1node__view.html#a59c5432fb77b50ef22098e17d4f956d5">toml::<wbr/>node_view::<wbr/>at_path()</a></code> for qualified path-based lookups (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/118" target="_blank">#118</a>) (<a class="poxy-external" href="https://github.com/ben-crowhurst" target="_blank">@ben-crowhurst</a>)</li><li>added <code><a class="m-doc" href="classtoml_1_1array.html#ab1aca2337ffce7e583a2cf303f16259f">toml::<wbr/>array::<wbr/>resize()</a></code> param <code>default_init_flags</code></li><li>added <code><a class="m-doc" href="classtoml_1_1array.html#a37a8a283e6c1cbeef757b2e59489ee6c">toml::<wbr/>array::<wbr/>replace()</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/109" target="_blank">#109</a>) (<a class="poxy-external" href="https://github.com/LebJe" target="_blank">@LebJe</a>)</li><li>added <code><a class="m-doc" href="classtoml_1_1array.html#a5590a52dba222033290c8b5c995466c8">toml::<wbr/>array::<wbr/>prune()</a></code></li><li>added <code><a class="m-doc" href="classtoml_1_1array.html#a3ab7998d733b37f51c687f7d892c205f">toml::<wbr/>array::<wbr/>at()</a></code> (same semantics as <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/container/vector/at.html" target="_blank">std::<wbr/>vector::<wbr/>at()</a></code>)</li><li>added <code>parse_benchmark</code> example</li><li>added <code>operator-&gt;</code> to <code><a class="m-doc" href="classtoml_1_1value.html">toml::<wbr/>value</a></code> for class types</li></ul><h5>Changes</h5><ul><li>⚠️ <code><a class="m-doc" href="namespacetoml.html#a2102aa80bc57783d96180f36e1f64f6a">toml::<wbr/>format_flags</a></code> is now backed by <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">uint64_t</a></code> (was previously <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">uint8_t</a></code>)</li><li>⚠️ <code><a class="m-doc" href="namespacetoml.html#afb852fa22a8b3ea9d200d645b9d5c308">toml::<wbr/>source_index</a></code> is now an alias for <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">uint32_t</a></code> unconditionally (was previously dependent on <code>TOML_LARGE_FILES</code>)</li><li>⚠️ <code><a class="m-doc" href="classtoml_1_1table.html">toml::<wbr/>table</a></code> now uses <code><a class="m-doc" href="classtoml_1_1key.html">toml::<wbr/>key</a></code> as the key type (was previously <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/string/basic_string.html" target="_blank">std::<wbr/>string</a></code>)</li><li>⚠️ <code><a class="m-doc" href="namespacetoml.html#a73eba6a34e7c7c4a4d311100800e1bb5">toml::<wbr/>value_flags</a></code> is now backed by <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">uint16_t</a></code> (was previously <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/types/integer" target="_blank">uint8_t</a></code>)</li><li>⚠️ made all overloaded operators 'hidden friends' where possible</li><li>⚠️ renamed <code><a class="poxy-injected m-doc-self" href="#autotoc_md7">toml::<wbr/>default_formatter</a></code> to <code><a class="m-doc" href="classtoml_1_1toml__formatter.html">toml::<wbr/>toml_formatter</a></code> (<code><a class="poxy-injected m-doc-self" href="#autotoc_md7">toml::<wbr/>default_formatter</a></code> is now an alias)</li><li>⚠️ renamed <code>TOML_PARSER</code> option to <code>TOML_ENABLE_PARSER</code> (<code>TOML_PARSER</code> will continue to work but is deprecated)</li><li>⚠️ renamed <code>TOML_UNRELEASED_FEATURES</code> to <code>TOML_ENABLE_UNRELEASED_FEATURES</code> (<code>TOML_UNRELEASED_FEATURES</code> will continue to work but is deprecated)</li><li>⚠️ renamed <code>TOML_WINDOWS_COMPAT</code> to <code>TOML_ENABLE_WINDOWS_COMPAT</code> (<code>TOML_WINDOWS_COMPAT</code> will continue to work but is deprecated)</li><li>applied clang-format to all the things 🎉️</li><li>exposed <code>TOML_NAMESPACE_START</code> and <code>TOML_NAMESPACE_END</code> macros to help with ADL specialization scenarios</li><li>improved performance of parser</li><li>made date/time constructors accept any integral types</li><li>moved all implementation headers to <code>/impl</code></li><li>renamed all implementation headers to <code>.h</code> and 'source' headers to <code>.inl</code></li><li>updated conformance tests</li></ul><h5>Removals</h5><ul><li>⚠️ removed <code>toml::format_flags::allow_value_format_flags</code></li><li>⚠️ removed <code>TOML_LARGE_FILES</code> (it is now default - explicitly setting <code>TOML_LARGE_FILES</code> to <code>0</code> will invoke an <code>#error</code>)</li><li>⚠️ removed unnecessary template machinery (esp. where ostreams were involved)</li><li>removed unnecessary uses of <code>final</code></li></ul><h5>Build system</h5><ul><li>⚠️ increased minimum required meson version to <code>0.54.0</code></li><li>disabled 'install' path when being used as a meson subproject (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/114" target="_blank">#114</a>) (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>)</li><li>fixed builds failing with meson 0.6.0 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/117" target="_blank">#117</a>) (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>)</li><li>general meson improvements and fixes (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/115" target="_blank">#115</a>) (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>)</li><li>used <code>override_dependency</code> where supported (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/116" target="_blank">#116</a>) (<a class="poxy-external" href="https://github.com/Tachi107" target="_blank">@Tachi107</a>)</li></ul></section><section id="autotoc_md8"><h3><a href="#autotoc_md8">v2.5.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v2.5.0" target="_blank">Released</a> 2021-07-11</p><h5>Fixes</h5><ul><li>fixed linkage error with windows compat mode</li><li>fixed <code>TOML_CONSTEVAL</code> broken in MSVC (again)</li><li>fixed minor documentation bugs</li><li>fixed cmake project version being incorrect (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/110" target="_blank">#110</a>) (<a class="poxy-external" href="https://github.com/GiulioRomualdi" target="_blank">@GiulioRomualdi</a>)</li></ul><h5>Additions</h5><ul><li>added support for lowercase 't' and 'z' in datetimes (per spec)</li><li>added natvis file to cmake install (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/106" target="_blank">#106</a>) (<a class="poxy-external" href="https://github.com/Ryan-rsm-McKenzie" target="_blank">@Ryan-rsm-McKenzie</a>)</li><li>added VS cpp.hint file to cmake install</li><li>added metafunctions <code>is_container</code>, <code>is_chronological</code>, <code>is_value</code>, <code>is_node</code>, <code>inserted_type_of</code></li></ul><h5>Changes</h5><ul><li>improved debug code size by removing unnecessary <a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/types/is_same.html" target="_blank">std::<wbr/>forwards</a> and <a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/types/is_same.html" target="_blank">std::<wbr/>moves</a></li><li>modernized the CMake build files (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/102" target="_blank">#102</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/103" target="_blank">#103</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/105" target="_blank">#105</a>) (<a class="poxy-external" href="https://github.com/friendlyanon" target="_blank">@friendlyanon</a>)</li><li>updated conformance tests</li></ul></section><section id="autotoc_md9"><h3><a href="#autotoc_md9">v2.4.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v2.4.0" target="_blank">Released</a> 2021-05-19</p><h5>Fixes</h5><ul><li>fixed <code>node::value()</code> not retrieving inf and nan correctly</li><li>fixed dotted kvps being unable to add subtables (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/61" target="_blank">#61</a>) (<a class="poxy-external" href="https://github.com/Validark" target="_blank">@Validark</a>)</li><li>fixed linker error on linux ICC (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/83" target="_blank">#83</a>) (<a class="poxy-external" href="https://github.com/blackwer" target="_blank">@blackwer</a>)</li><li>fixed segfault JSON-formatting a failed <code><a class="m-doc poxy-injected" href="classtoml_1_1parse__result.html">parse_result</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/96" target="_blank">#96</a>) (<a class="poxy-external" href="https://github.com/proydakov" target="_blank">@proydakov</a>)</li><li>fixed spurious newline after JSON formatting a table</li><li>fixed VS intellisense not detecting <code>TOML_COMPILER_EXCEPTIONS</code> correctly</li><li>fixed crash with pathologically-nested inputs (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/100" target="_blank">#100</a>) (<a class="poxy-external" href="https://github.com/geeknik" target="_blank">@geeknik</a>)</li><li>fixed <code><a class="m-doc poxy-injected" href="classtoml_1_1parse__result.html">parse_result</a></code> natvis</li><li>fixed false-positive <code><a class="m-doc poxy-injected poxy-external poxy-cppreference" href="https://en.cppreference.com/w/cpp/language/types#Character_types" target="_blank">char8_t</a></code> support detection on older compilers</li><li>fixed unnecessary <code>#include &lt;Windows.h&gt;</code> Windows builds (<a class="poxy-external" href="https://github.com/BeastLe9enD" target="_blank">@BeastLe9enD</a>)</li><li>fixed <code>TOML_CONSTEVAL</code> breaking on VS 16.10.0pre2</li><li>fixed spurious warnings with MSVC /Wall</li><li>fixed missing blank lines between consecutive empty tables/A-o-T</li><li>fixed unnecessary <code>TOML_API</code> declarations</li><li>fixed many small documentation issues</li></ul><h5>Additions</h5><ul><li>added proper cmake support (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/85" target="_blank">#85</a>) (<a class="poxy-external" href="https://github.com/ClausKlein" target="_blank">@ClausKlein</a>)</li><li>added cmake FetchContent information to documentation (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/101" target="_blank">#101</a>) (<a class="poxy-external" href="https://github.com/proydakov" target="_blank">@proydakov</a>)</li></ul><h5>Removals</h5><ul><li>removed explicit <code>#include &lt;fstream&gt;</code> requirement for <code>parse_file()</code></li></ul></section><section id="autotoc_md10"><h3><a href="#autotoc_md10">v2.3.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v2.3.0" target="_blank">Released</a> 2020-12-29</p><h5>Fixes</h5><ul><li>fixed compiler errors caused by <code>&lt;charconv&gt;</code> with Apple-flavoured clang</li><li>fixed array and table iterators missing <code>iterator_category</code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/77" target="_blank">#77</a>) (<a class="poxy-external" href="https://github.com/HazardyKnusperkeks" target="_blank">@HazardyKnusperkeks</a>)</li><li>fixed <code>Wuseless-cast</code> warnings on GCC 10 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/75" target="_blank">#75</a>) (<a class="poxy-external" href="https://github.com/HazardyKnusperkeks" target="_blank">@HazardyKnusperkeks</a>)</li><li>fixed formatter not correctly line wrapping in some rare circumstances (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/73" target="_blank">#73</a>) (<a class="poxy-external" href="https://github.com/89z" target="_blank">@89z</a>)</li><li>fixed an unnecessary global compiler flag breaking builds when used as a meson subproject (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/72" target="_blank">#72</a>) (<a class="poxy-external" href="https://github.com/jamabr" target="_blank">@jamabr</a>)</li><li>fixed link error caused by <code>&lt;charconv&gt;</code> on emscripten (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/71" target="_blank">#71</a>) (<a class="poxy-external" href="https://github.com/suy" target="_blank">@suy</a>)</li><li>fixed ambiguity with the <code><a class="m-doc" href="namespacetoml_1_1literals.html">toml::<wbr/>literals</a></code> inline namespace (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/69" target="_blank">#69</a>) (<a class="poxy-external" href="https://github.com/std-any-emplace" target="_blank">@std-any-emplace</a>)</li><li>fixed formatter emitting superfluous newlines after printing tables (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/68" target="_blank">#68</a>) (<a class="poxy-external" href="https://github.com/std-any-emplace" target="_blank">@std-any-emplace</a>)</li><li>fixed array and table iterators not converting between const and non-const versions of themselves (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/67" target="_blank">#67</a>) (<a class="poxy-external" href="https://github.com/std-any-emplace" target="_blank">@std-any-emplace</a>)</li><li>fixed some parser crashes when given pathologically-malformed UTF-8 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/65" target="_blank">#65</a>) (<a class="poxy-external" href="https://github.com/sneves" target="_blank">@sneves</a>)</li></ul></section><section id="autotoc_md11"><h3><a href="#autotoc_md11">v2.2.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v2.2.0" target="_blank">Released</a> 2020-08-09</p><h5>Fixes</h5><ul><li>fixed some issues building with VS2017 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/55" target="_blank">#55</a>) (<a class="poxy-external" href="https://github.com/sobczyk" target="_blank">@sobczyk</a>)</li><li>fixed <code><a class="m-doc poxy-injected poxy-external" href="https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html" target="_blank">_Float16</a></code> erroneously detected as supported on g++ (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/57" target="_blank">#57</a>) (<a class="poxy-external" href="https://github.com/sobczyk" target="_blank">@sobczyk</a>)</li><li>fixed <code>&lt;Windows.h&gt;</code> causing compilation failure on mingw (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/63" target="_blank">#63</a>) (<a class="poxy-external" href="https://github.com/rezahousseini" target="_blank">@rezahousseini</a>)</li><li>fixed CMake and pkg-config files not being installed into architecture-agnostic directories (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/59" target="_blank">#59</a>) (<a class="poxy-external" href="https://github.com/tambry" target="_blank">@tambry</a>)</li><li>fixed memory leak during parsing (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/64" target="_blank">#64</a>) (<a class="poxy-external" href="https://github.com/sneves" target="_blank">@sneves</a>)</li><li>fixed ambiguous <code>operator==</code> error on MSVC (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/56" target="_blank">#56</a>) (<a class="poxy-external" href="https://github.com/HellsingDarge" target="_blank">@HellsingDarge</a>)</li></ul><h5>Additions</h5><ul><li>added additional <a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a> constructors</li><li>added ability to specify serialization format of integer values</li><li>added integer value serialization format round trip (e.g. hex in, hex out)</li></ul><h5>Changes</h5><ul><li>updated conformance tests</li><li>TOML version bump to v1.0.0-rc.3</li><li>refactors and cleanups based on feedback given <a class="poxy-external" href="https://medium.com/[@julienjorge](https://github.com/julienjorge)/code-review-of-toml-f816a6071120" target="_blank">here</a></li></ul><h5>Build system</h5><ul><li>renamed build options to <code>snake_case</code></li><li>tests, examples and cmake config now explicitly disabled when used as a subproject</li><li>removed small_binaries (it's now implicit when building as release)</li><li>bumped minimum meson version to 0.53</li></ul></section><section id="autotoc_md12"><h3><a href="#autotoc_md12">v2.1.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v2.1.0" target="_blank">Released</a> 2020-07-11</p><h5>Fixes</h5><ul><li>fixed inconsistent emission of leading/trailing newlines when writing a table to an ostream (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/48" target="_blank">#48</a>) (<a class="poxy-external" href="https://github.com/levicki" target="_blank">@levicki</a>)</li><li>fixed <code>Wcast-align</code> warning spam on ARM</li><li>fixed <code>array::insert</code> not working correctly in some cases</li><li>fixed <code>node::value_or()</code> not having the same semantics as <code>node::value()</code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/50" target="_blank">#50</a>) (<a class="poxy-external" href="https://github.com/whiterabbit963" target="_blank">@whiterabbit963</a>)</li><li>fixed 'misleading assignment' of rvalue <a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_views</a> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/52" target="_blank">#52</a>) (<a class="poxy-external" href="https://github.com/Reedbeta" target="_blank">@Reedbeta</a>)</li><li>fixed some issues handling infinities and NaNs (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/51" target="_blank">#51</a>) (<a class="poxy-external" href="https://github.com/Reedbeta" target="_blank">@Reedbeta</a>)</li><li>fixed some minor documentation issues</li></ul><h5>Additions</h5><ul><li>added support for <code><a class="m-doc poxy-injected poxy-external" href="https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html" target="_blank">__fp16</a></code>, <code><a class="m-doc poxy-injected poxy-external" href="https://gcc.gnu.org/onlinedocs/gcc/Half-Precision.html" target="_blank">_Float16</a></code>, <code><a class="m-doc poxy-injected poxy-external" href="https://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html" target="_blank">__float128</a></code>, <code>__int128_t</code> and <code>__uint128_t</code></li><li>added copy construction/assignment for arrays, tables and values</li><li>added insert, emplace, push_back etc. compatibility with <a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_views</a></li><li>added <code>node::is_homogenous</code></li><li>added <code>table::is_homogenous</code></li><li>added <code>value::is_homogenous</code> (just for generic code's sake)</li><li>added <code>is_homogenous</code> overload for identifying failure-causing element</li><li>added implicit conversion operator from <code>node</code> to <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/52" target="_blank">#52</a>) (<a class="poxy-external" href="https://github.com/Reedbeta" target="_blank">@Reedbeta</a>)</li></ul><h5>Changes</h5><ul><li>renamed <code>TOML_ALL_INLINE</code> to <code>TOML_HEADER_ONLY</code> (the old name will still work, but is no longer documented)</li><li>general cleanup</li></ul></section><section id="autotoc_md13"><h3><a href="#autotoc_md13">v2.0.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v2.0.0" target="_blank">Released</a> 2020-07-20</p><p>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 ⚠️.</p><h5>Fixes</h5><ul><li>fixed infinity and NaN-related code breaking when using <code>-ffast-math</code> and friends</li><li>fixed narrowing conversion warnings when constructing int values from unsigned</li><li>fixed Visual Studio debugger native visualizations for <code>date</code>, <code>time</code>, <code><a class="m-doc poxy-injected" href="structtoml_1_1time__offset.html">time_offset</a></code>, <code><a class="m-doc poxy-injected" href="structtoml_1_1date__time.html">date_time</a></code></li><li>fixed some static assert messages being badly formatted on clang</li><li>fixed internal macro <code>assert_or_assume</code> leaking out of <code>toml_parser.hpp</code></li></ul><h5>Additions</h5><ul><li>added additional types allowed in <code>node::value()</code> and <code>node::value_or()</code> (<a class="poxy-external" href="https://marzer.github.io/tomlplusplus/classtoml_1_1node.html#ab144c1ae90338b6b03f6af0574c87993" target="_blank">see <code>value()</code> dox for examples</a>)</li><li>added additional types allowed in <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value()</code> and <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value_or()</code></li><li>added <code>node::value_exact()</code> and <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value_exact()</code></li><li>added support for interop with wide strings on Windows:<ul><li>added wide-string path arg overloads of <code>parse()</code> and <code>parse_file()</code></li><li>added wide-string support to all relevant <code>table</code> and <code>array</code> ops</li><li>added wide-string support to <code>node::value(), node::value_or()</code></li><li>added wide-string support to <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value(), <a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value_or()</code></li><li>added wide-string support to <code>value&lt;string&gt;</code> constructor</li><li>added wide-string overloads of <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::operator[]</code></li><li>added <code><a class="m-doc poxy-injected" href="structtoml_1_1source__region.html">source_region</a>::wide_path()</code></li><li>added <code>TOML_WINDOWS_COMPAT</code> switch for explicitly enabling/disabling this stuff</li></ul></li><li>added emission of 'literal' strings to the TOML serializer</li><li>added lots of minor documentation fixes and improvements</li><li>added Visual Studio debugger native visualizations for <code>table</code>, <code>array</code>, <code><a class="m-doc poxy-injected" href="classtoml_1_1parse__result.html">parse_result</a></code>, and <code><a class="m-doc poxy-injected" href="classtoml_1_1parse__error.html">parse_error</a></code> (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/46" target="_blank">#46</a>) (<a class="poxy-external" href="https://github.com/Reedbeta" target="_blank">@Reedbeta</a>)</li><li>added non-template version of <code>array::is_homogeneous()</code></li><li>added explicit instantiations of more template types when <code>!TOML_ALL_INLINE</code></li></ul><h5>Changes</h5><ul><li>⚠️ deprecated <code><a class="m-doc poxy-injected" href="classtoml_1_1parse__result.html">parse_result</a>::get()</code> in favour of <code><a class="m-doc poxy-injected" href="classtoml_1_1parse__result.html">parse_result</a>::table()</code></li><li>⚠️ deprecated <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::get()</code> in favour of <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::node()</code></li><li>⚠️ simplified internal ABI namespaces</li><li>improved the quality of many static_assert error messages</li></ul><h5>Removals</h5><ul><li>⚠️ renamed <code><a class="m-doc poxy-injected" href="structtoml_1_1date__time.html">date_time</a>::<a class="m-doc poxy-injected" href="structtoml_1_1time__offset.html">time_offset</a></code> to just 'offset'</li><li>⚠️ removed <code>TOML_CHAR_8_STRINGS</code> since it no longer makes sense</li></ul></section><section id="autotoc_md14"><h3><a href="#autotoc_md14">v1.3.3</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.3.3" target="_blank">Released</a> 2020-06-29</p><h5>Fixes</h5><ul><li>fixed some minor TOML spec conformance bugs</li><li>fixed BOM check causing EOF on very short iostream inputs</li><li>fixed <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/types/numeric_limits/max.html" target="_blank">std::<wbr/>numeric_limits::<wbr/>max()</a></code> getting broken by macros in some environments</li><li>fixed 'unknown pragma' warning spam in older versions of GCC</li><li>fixed a few minor documentation issues</li></ul><h5>Additions</h5><ul><li>added rvalue overload of <code>array::flatten</code></li><li>added conformance tests from <code>BurntSushi/toml-test</code> and <code>iarna/toml-spec-tests</code></li><li>added <code><a class="m-doc" href="structtoml_1_1inserter.html">toml::<wbr/>inserter</a></code> as a workaround for nested construction of single-element <code>toml::arrays</code> performing move-construction instead</li><li>added license boilerplate to test files</li></ul><h5>Changes</h5><ul><li>refactored the parser to reduce binary size</li></ul></section><section id="autotoc_md15"><h3><a href="#autotoc_md15">v1.3.2</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.3.2" target="_blank">Released</a> 2020-06-19</p><h5>Fixes</h5><ul><li>fixed single-digit negative integers parsing as positive</li><li>fixed parse failure when parsing an empty file</li><li>fixed multi-line strings being allowed in keys</li><li>fixed overflow for very long binary integer literals</li></ul><h5>Changes</h5><ul><li>improved the performance of <a class="m-doc" href="namespacetoml.html#a8dbc58dad43c3b66f4476a7131f5741a">toml::<wbr/>parse_file</a></li><li>improved the performance of printing to streams for deepy-nested TOML data</li></ul></section><section id="autotoc_md16"><h3><a href="#autotoc_md16">v1.3.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.3.0" target="_blank">Released</a> 2020-06-02</p><h5>Fixes</h5><ul><li>fixed <code>formatter::print_inline()</code> causing compilation failures in DLL builds</li><li>fixed BOMs occasionally causing overflow/crash in char8 mode</li><li>fixed some spurious warnings in GCC 10</li><li>fixed clang static analyzer warning in BOM handling code</li></ul><h5>Additions</h5><ul><li>added <code>table_iterator::operator -&gt;</code></li><li>added <code>array::resize()</code> and <code>array::truncate()</code></li><li>added <code>array::capacity()</code>, <code>array::shrink_to_fit()</code>, <code>array::max_size()</code></li><li>added non-const -&gt; const conversion for table and array iterators</li></ul><h5>Changes</h5><ul><li>renamed table iterator proxy pair members to <code>first</code> and <code>second</code> to match STL</li></ul></section><section id="autotoc_md17"><h3><a href="#autotoc_md17">v1.2.5</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.2.5" target="_blank">Released</a> 2020-04-24</p><h5>Fixes</h5><ul><li>fixed some multi-line string parsing issues</li><li>fixed pedantic warnings on gcc 10 and clang 11</li><li>fixed <code>is_unicode_XXXXXX</code> functions being wrong in some cases</li><li>fixed <code>TOML_LIKELY</code> not being correct on older versions of gcc and clang</li><li>fixed minor documentation issues (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/26" target="_blank">#26</a>, <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/38" target="_blank">#38</a>) (<a class="poxy-external" href="https://github.com/prince-chrismc" target="_blank">@prince-chrismc</a>)</li></ul><h5>Additions</h5><ul><li>added additional error message cases to the parser</li><li>added <code>error_printer</code> example</li><li>added <code>toml_generator</code> example</li></ul><h5>Changes</h5><ul><li>improved unicode-related codegen</li></ul></section><section id="autotoc_md18"><h3><a href="#autotoc_md18">v1.2.3</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.2.3" target="_blank">Released</a> 2020-04-11</p><h5>Fixes</h5><ul><li>fixed printing of inf and nan</li><li>fixed parser not handling floats with leading '.' characters</li><li>fixed pedantic vtable warnings on clang with -Weverything</li><li>fixed a number of documentation bugs</li><li>fixed <code>TOML_UNRELEASED_FEATURES</code> default being 1 (it should have been 0)</li></ul><h5>Additions</h5><ul><li>added <code>TOML_PARSER</code> configuration option</li><li>added <code>TOML_LIB_SINGLE_HEADER</code> indicator</li><li>added doxygen page for the configuration options</li><li>added SPDX-License-Identifiers around the place</li></ul><h5>Changes</h5><ul><li>split some header files up to make future maintenance easier</li><li>refactored and greatly simplified parser</li></ul></section><section id="autotoc_md19"><h3><a href="#autotoc_md19">v1.2.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.2.0" target="_blank">Released</a> 2020-04-07</p><h5>Fixes</h5><ul><li>fixed some parsing and printing ops being locale-dependent</li><li>fixed some parsing errors at EOF when <code>TOML_EXCEPTIONS = 0</code></li><li>fixed some unreferenced variable warnings on older compilers</li><li>fixed some 'maybe-uninitialized' false-positives on GCC9</li><li>fixed pkgconfig subdir being wrong</li></ul><h5>Additions</h5><ul><li>added support for implementations without <code>&lt;charconv&gt;</code></li><li>added cmake package config generator (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/22" target="_blank">#22</a>) (<a class="poxy-external" href="https://github.com/GiulioRomualdi" target="_blank">@GiulioRomualdi</a>)</li><li>added build config feature option <code>GENERATE_CMAKE_CONFIG</code></li><li>added many new tests</li></ul></section><section id="autotoc_md20"><h3><a href="#autotoc_md20">v1.1.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v1.1.0" target="_blank">Released</a> 2020-04-03</p><h5>Fixes</h5><ul><li>fixed some parser error paths not returning early enough <code>TOML_EXCEPTIONS=0</code></li><li>fixed a number of minor documentation issues</li></ul><h5>Additions</h5><ul><li>added support for <a class="poxy-external" href="https://github.com/toml-lang/toml/releases/tag/v1.0.0-rc.1" target="_blank">TOML 1.0.0-rc.1</a> 🎉</li><li>added <code>operator[]</code>, <code>begin()</code>, <code>end()</code> to <code><a class="m-doc" href="classtoml_1_1parse__result.html">toml::<wbr/>parse_result</a></code> for <code>TOML_EXCEPTIONS=0</code></li><li>added additional compilation speed improvements for <code>TOML_ALL_INLINE=0</code></li><li>added more specific error messages for parsing errors relating to prohibited codepoints</li><li>added a large number of additional tests</li><li>added support for installation with meson (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/16" target="_blank">#16</a>) (<a class="poxy-external" href="https://github.com/ximion" target="_blank">@ximion</a>)</li><li>added the array and table iterators to the <code>toml</code> namespace</li></ul></section><section id="autotoc_md21"><h3><a href="#autotoc_md21">v1.0.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/1.0.0" target="_blank">Released</a> 2020-03-28</p><h5>Fixes</h5><ul><li>fixed minor documentation issues</li></ul><h5>Changes</h5><ul><li>refactoring of ABI-based inline namespaces</li></ul></section><section id="autotoc_md22"><h3><a href="#autotoc_md22">v0.6.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.6.0" target="_blank">Released</a> 2020-03-24</p><h5>Fixes</h5><ul><li>fixed minor preprocessor/macro issues</li><li>fixed minor documentation issues</li></ul><h5>Additions</h5><ul><li>added <code>&lt;cassert&gt;</code> include directly in 'debug' builds when <code>TOML_ASSERT</code> isn't defined</li><li>added Clang's <code>[[trivial_abi]]</code> attribute to <code>date</code>, <code>time</code>, <code><a class="m-doc poxy-injected" href="structtoml_1_1time__offset.html">time_offset</a></code></li></ul></section><section id="autotoc_md23"><h3><a href="#autotoc_md23">v0.5.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.5.0" target="_blank">Released</a> 2020-03-18</p><h5>Fixes</h5><ul><li>fixed crash when reaching EOF while parsing a string when exceptions are disabled</li><li>fixed some attribute warnings in GCC</li><li>fixed build with GCC 8.2.0 (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/15" target="_blank">#15</a>) (<a class="poxy-external" href="https://github.com/shdnx" target="_blank">@shdnx</a>)</li><li>fixed exception mode detection sometimes being incorrect on MSVC</li><li>fixed compilation on older implementations without <code><a class="m-doc-external poxy-cppreference poxy-external" href="http://en.cppreference.com/w/cpp/utility/launder.html" target="_blank">std::<wbr/>launder</a></code></li><li>fixed <code><a class="m-doc poxy-injected" href="classtoml_1_1json__formatter.html">json_formatter</a></code> type deduction on older compilers</li></ul><h5>Additions</h5><ul><li>added support for Unicode 13.0</li><li>added support for <code>\xHH</code> escape sequences (<a class="poxy-external" href="https://github.com/toml-lang/toml/pull/796" target="_blank">toml/<wbr/>pull/<wbr/>796</a>)</li><li>added short-form license preamble to all source files</li><li>added build configuration option for compiling examples</li></ul></section><section id="autotoc_md24"><h3><a href="#autotoc_md24">v0.4.3</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.4.3" target="_blank">Released</a> 2020-03-10</p><h5>Fixes</h5><ul><li>fixed ICE in VS2019 when using <code>/std:c++17</code> instead of <code>/std:c++latest</code></li></ul><h5>Additions</h5><ul><li>added <code>#error</code> when <code>TOML_EXCEPTIONS</code> is set to <code>1</code> but compiler exceptions were disabled</li></ul><h5>Changes</h5><ul><li>parsing performance improvements</li></ul></section><section id="autotoc_md25"><h3><a href="#autotoc_md25">v0.4.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.4.0" target="_blank">Released</a> 2020-03-05</p><h5>Fixes</h5><ul><li>fixed <code>parse_file()</code> failing to compile with plain string literals</li><li>fixed tests being built when used as a meson subproject (<a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues/14" target="_blank">#14</a>) (<a class="poxy-external" href="https://github.com/shdnx" target="_blank">@shdnx</a>)</li></ul><h5>Additions</h5><ul><li>added support for compiling into DLLs on windows (<code>TOML_API</code>)</li><li>added support for explicitly setting the <code>TOML_EXCEPTION</code> mode</li><li>added <code>TOML_OPTIONAL_TYPE</code> customization point</li><li>added <code>node::ref()</code> and <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::ref()</code></li></ul></section><section id="autotoc_md26"><h3><a href="#autotoc_md26">v0.3.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.3.0" target="_blank">Released</a> 2020-03-01</p><h5>Fixes</h5><ul><li>fixed some pedantic clang warnings</li><li>fixed some minor documentation errors</li></ul><h5>Additions</h5><ul><li>added <code>node::value()</code> and <code>node::value_or()</code></li><li>added <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value()</code></li><li>added relops for the date/time classes</li><li>added <code>TOML_ALL_INLINE</code> and <code>TOML_IMPLEMENTATION</code> options</li><li>added preliminary support for ICC</li></ul><h5>Removals</h5><ul><li>removed <code>&lt;cmath&gt;</code> dependency</li></ul></section><section id="autotoc_md27"><h3><a href="#autotoc_md27">v0.2.1</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.2.1" target="_blank">Released</a> 2020-02-26</p><h5>Fixes</h5><ul><li>fixed minor printing bug in <code>operator&lt;&lt;(ostream, <a class="m-doc poxy-injected" href="structtoml_1_1source__position.html">source_position</a>)</code></li><li>fixed minor documentation issues</li></ul><h5>Additions</h5><ul><li>added <code>operator&lt;&lt;(ostream&amp;, <a class="m-doc poxy-injected" href="classtoml_1_1parse__error.html">parse_error</a>)</code></li></ul><h5>Changes</h5><ul><li>improved quality of error messages for boolean and inf/nan parsing</li></ul></section><section id="autotoc_md28"><h3><a href="#autotoc_md28">v0.2.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.2.0" target="_blank">Released</a> 2020-02-23</p><h5>Fixes</h5><ul><li>fixed truncation of floating-point values when using ostreams</li><li>fixed missing value deduction guides for dates and times</li><li>fixed potential ODR issues relating to exception mode handling etc.</li><li>fixed some documentation issues</li></ul><h5>Additions</h5><ul><li>added serialization round-trip tests</li><li>added <code>node::is_number()</code></li><li>added <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::is_number()</code></li><li>added <code><a class="m-doc poxy-injected" href="classtoml_1_1node__view.html">node_view</a>::value_or()</code></li><li>added hexfloat parsing support for all implementations (not just <code>&lt;charconv&gt;</code> ones)</li></ul></section><section id="autotoc_md29"><h3><a href="#autotoc_md29">v0.1.0</a></h3><p><a class="poxy-external" href="https://github.com/marzer/tomlplusplus/releases/tag/v0.1.0" target="_blank">Released</a> 2020-02-20</p><ul><li>First public release, yay! 🎉️</li></ul></section>
      </div>
    </div>
  </div>
</article></main>
<div class="m-doc-search" id="search">
  <a href="#!" onclick="return hideSearch()"></a>
  <div class="m-container">
    <div class="m-row">
      <div class="m-col-m-8 m-push-m-2">
        <div class="m-doc-search-header m-text m-small">
          <div><span class="m-label m-default">Tab</span> / <span class="m-label m-default">T</span> to search, <span class="m-label m-default">Esc</span> to close</div>
          <div id="search-symbolcount">…</div>
        </div>
        <div class="m-doc-search-content">
          <form>
            <input autocomplete="off" autofocus="autofocus" disabled="disabled" id="search-input" name="q" placeholder="Loading …" spellcheck="false" type="search"/>
          </form>
          <noscript class="m-text m-danger m-text-center">Unlike everything else in the docs, the search functionality <em>requires</em> JavaScript.</noscript>
          <div class="m-text m-dim m-text-center" id="search-help">
            <p class="m-noindent">Search for symbols, directories, files, pages or
            modules. You can omit any prefix from the symbol or file path; adding a
            <code>:</code> or <code>/</code> suffix lists all members of given symbol or
            directory.</p>
            <p class="m-noindent">Use <span class="m-label m-dim">↓</span>
            / <span class="m-label m-dim">↑</span> to navigate through the list,
            <span class="m-label m-dim">Enter</span> to go.
            <span class="m-label m-dim">Tab</span> autocompletes common prefix, you can
            copy a link to the result using <span class="m-label m-dim">⌘</span>
            <span class="m-label m-dim">L</span> while <span class="m-label m-dim">⌘</span>
            <span class="m-label m-dim">M</span> produces a Markdown link.</p>
          </div>
          <div class="m-text m-warning m-text-center" id="search-notfound">Sorry, nothing was found.</div>
          <ul id="search-results"></ul>
        </div>
      </div>
    </div>
  </div>
</div>
<script src="search-v2.js"></script><script>install_mcss_search_shim();</script>
<script async="async" src="searchdata-v2.js"></script>
<footer><nav>
  <div class="m-container">
    <div class="m-row">
      <div class="m-col-l-10 m-push-l-1">
        
<a class="poxy-external" href="https://github.com/marzer/tomlplusplus" target="_blank">GitHub</a>
• <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/issues" target="_blank">Report an issue</a>
• <a class="sponsor poxy-external" href="https://github.com/sponsors/marzer" target="_blank">Become a sponsor</a>
• <a href="poxy_changelog.html">Changelog</a>
• <a class="poxy-external" href="https://github.com/marzer/tomlplusplus/blob/master/LICENSE" target="_blank">License</a>
• <a download="" href="toml++.tagfile.xml" target="_blank" type="text/xml">Doxygen tagfile</a>
<br/><br/>
Site generated using <a class="poxy-external" href="https://github.com/marzer/poxy/" target="_blank">Poxy</a>

      </div>
    </div>
  </div>
</nav></footer>


</body></html>