• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[/==============================================================================
2    Copyright (C) 2018-2020 Nikita Kniazev
3
4    Distributed under the Boost Software License, Version 1.0. (See accompanying
5    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6===============================================================================/]
7
8[section Changelog]
9
10[/////////////////////////////////////////////////////////////////////////////]
11[section:spirit_3_0_7 Spirit V3.0.7 (Boost V1.74.0)]
12
13* Ceased dependence on Boost.Locale (replaced `locale::conv::utf_to_utf`
14  with `x3::to_utf8`), and Boost.Filesystem [gh_pr 596]
15* Fixed infinity recursion in `is_substitute` trait that was blocking recursive
16  sequences via containers [gh 461] [gh_pr 606]
17* Fixed sequence parser in alternative into container [gh 434] [gh_pr 605]
18* Fixed some corner cases in alternative parser with container attribute,
19  notably atribute-less parsers in alternative parser with container attribute
20  were appending an empty value [gh 394] [gh 603] [gh_pr 604]
21* Attribute type of alternative/sequence parsers now calculated without MPL,
22  what removes MPL limits on alternative/sequence parser chain length [gh 515] [gh_pr 607]
23* Reverted [gh_pr 534] that made possible parsing `optional<T>` into `T` [gh_pr 608]
24* Removed unneeded `reserve` before `insert` [gh_pr 611]
25* Removed `value_initialize` trait [gh_pr 613]
26* Removed unwanted move due to wrong `pseudo_attribute` usage, that was also
27  causing bogus GCC `-Wununinitlized` warning [gh_pr 613]
28* Removed unused `boost/spirit/home/x3/support/utility/unrefcv.hpp` header
29
30[endsect]
31
32[/////////////////////////////////////////////////////////////////////////////]
33[section:spirit_3_0_6 Spirit V3.0.6 (Boost V1.73.0)]
34
35* ADL used to find and match `unused_type` streaming operators for every type
36  in `boost::spirit::x3` namespace [gh_pr 553] [gh 552]
37* Ceased dependence on Boost.TTI
38* Rule placeholders now a non-trivial type because its copy constructor checks
39  for a static initialization fiasco [gh_pr 571]
40* Most parsers are now constexpr-constructible [gh_pr 570]
41
42[endsect]
43
44[/////////////////////////////////////////////////////////////////////////////]
45[section:spirit_3_0_5 Spirit V3.0.5 (Boost V1.72.0)]
46
47* `any_char` parser were accepting characters outside of encoding. [gh 520] [gh_pr 521] sehe
48* Added workaround `move_to` overload for `boost::optional` type. [gh 533] [gh_pr 534] Duzy Chan
49* Unicode out-of-bounds category lookup. [gh_pr 528] Christian Mazakas
50* Mismatched pragma warning push/pop in `escape_char.ipp`. [gh 532] [gh_pr 535] stefan301
51* Remove bool->char->bool conversion in `[no_]case_compare`. [gh_pr 536]
52* `<cctype>` functions were called with negative values. [gh_pr 543]
53* Fixed `parse_rule` definition check. [gh_pr 549] (regressed in [gh_pr 457])
54
55[endsect]
56
57[/////////////////////////////////////////////////////////////////////////////]
58[section:spirit_3_0_4_boost_1_71 Spirit V3.0.4 (Boost V1.71.0)]
59
60* Explicitly delete all non implemented assignment operators. [gh_pr 489] Romain Geissler
61* Unpublish `x3/support/utility/testing.hpp`. [gh_pr 492]
62* Removed unused `is_char` and `is_string` traits. [gh_pr 507]
63* Simplified `string_traits`. [gh_pr 507]
64* `raw` parser attribute materialization issue. [gh 509]
65* Removed static assert guarding unwanted attribute materialization that
66  happens when rule parser producing an attribute called without an actual
67  attribute. See [gh 511] for the discussion.
68
69[endsect]
70
71[/////////////////////////////////////////////////////////////////////////////]
72[section:spirit_3_0_4 Spirit V3.0.4 (Boost V1.70.0)]
73
74* Integer parsers should now handle user defined types. [gh_pr 429]
75*[/^] [*Note:] The `check_overflow` trait default implementation now relies on
76  `std::numeric_limits<T>::is_bounded` instead of `boost::integer_traits<T>::is_integral`.
77* Removed use of deprecated `boost/detail/iterator.hpp` header. [gh_pr 432]
78* Removed sequence into plain parsing. Now it triggers a compile time error
79  instead of silently parsing the the sequence and taking the last value as a result. [gh_pr 439]
80* Fixed `parse_rule` instantiation with `BOOST_SPIRIT_INSTANTIATE` when:
81  * A rule has no attribute. [gh_pr 455]
82  * An actual attribute is not of type a rule was declared with. [gh_pr 456] [gh 457]
83*[/^] A [*huge] thanks goes out to [@https://github.com/Xeverous Xeverous]
84  for reporting a regression in [gh 453].
85* Fixed unneeded attribute synthesization and no-transformation attribute
86  reference pass-through in rules. [gh 444] [gh_pr 449] [gh_pr 452]
87* Removed broken 1.0#INF parser. It was poorly documented and never worked. [gh 415] [gh_pr 458] [trac 8699]
88* The undocumented `make_attribute` trait was removed due to bugs [gh_pr 449]
89  and to simplify attribute transformation. [gh_pr 460]
90*[/^] If you were using it to workaround bugs in attribute transformation -
91  they should not be needed anymore as of this release.
92* The integer value parser now respects `std::numeric_limits<T>::digits10` value. [gh_pr 469]
93* Fixed underflow check for a `(Min % Base) == 0` corner case. [gh_pr 469]
94* Fixed an output value on overflow of `IgnoreOverflowDigits=true` integer parser. [gh_pr 470]
95* Container attribute elements were copyied, but not moved. [gh_pr 472]
96* Special handling of references in `transform_attribute` was removed. [gh_pr 480]
97
98[endsect]
99
100[/////////////////////////////////////////////////////////////////////////////]
101[section:spirit_3_0_3 Spirit V3.0.3 (Boost V1.69.0)]
102
103* Drop own FP routines in favor of `boost::math`. [gh_pr 392] [trac 13531]
104* Missing visibility mark on exception types. [gh_pr 409]
105* to_utf8: Fixed `wchar_t` handling on Windows. [gh_pr 413] [gh 395]
106
107[endsect]
108
109[/////////////////////////////////////////////////////////////////////////////]
110[section:spirit_3_0_2 Spirit V3.0.2 (Boost V1.68.0)]
111
112* Small list parser optimization. [gh_pr 368]
113* Pass container attributes through sequence parser or unary
114  ending down to a sequence parser. [gh_pr 370] [trac 12085]
115* More fine grained sequence attribute check message. [gh_pr 371]
116* Removed redundant check in `skip_over`. [gh_pr 373]
117* Workaround constexpr in noexcept VS2015 bug in entire `x3::variant`. [gh_pr 379]
118* Fixed `calc4b` example compilation. [gh_pr 384]
119* Minor code improvements. [gh_pr 374]
120
121[endsect]
122
123[/////////////////////////////////////////////////////////////////////////////]
124[section:spirit_3_0_1 Spirit V3.0.1 (Boost V1.67.0)]
125
126There was no version bump and changelog for Boost V1.56.0-1.66.0 releases.
127
128* Removed `with_context`. [gh_pr 239]
129* Added noexcept to `x3::variant` and `forward_ast`. [gh_pr 241]
130* CR+LF lines wrongly counted in `error_handler::position()`. [gh_pr 248]
131* Fixed `unused_type` attribute case in `parse_into_container`. [gh_pr 266]
132* Fixed parsing into associative containers. [gh_pr 289]
133* Fixed overflow problem in `uint_parser<signed T>`. [gh_pr 297]
134* Added VS2015 Update 3 support by using workarounds. [gh_pr 308]
135* Fixed include guard names collision with Qi. [gh_pr 313]
136* Added parsing into range. [gh_pr 316] [trac 12928]
137* Changed iterator concept static assert from `ForwardIterator` to
138  `ReadableIteratorConcept && ForwardTraversalConcept`. [gh_pr 320]
139* Reenabled `fusion::map` support. [gh_pr 330]
140* Fixed `string("...")` and `attr("...")` to single item sequence. [gh_pr 337]
141* Dereference a single item view instead of unwrapping sequence. [gh_pr 340]
142* Prevent `parse_nan` from dereferencing out of range iterator. [gh_pr 351]
143* Use traits to test if container is empty. [gh_pr 355]
144
145[endsect]
146
147[endsect]
148