Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / regex / doc / history.qbk
1 [/ 
2   Copyright 2006-2007 John Maddock.
3   Distributed under the Boost Software License, Version 1.0.
4   (See accompanying file LICENSE_1_0.txt or copy at
5   http://www.boost.org/LICENSE_1_0.txt).
6 ]
7
8
9 [section:history History]
10
11 New issues should be submitted at [@http://svn.boost.org svn.boost.org] - don't forget to include your
12 email address in the ticket!
13
14 Currently open issues can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here].
15
16 All issues including closed ones can be viewed [@https://svn.boost.org/trac/boost/query?status=assigned&status=closed&status=new&status=reopened&component=regex&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component here].
17
18 [h4 Boost.Regex-5.1.4 (Boost-172.0)]
19
20 * Minor build fixes, see [@https://github.com/boostorg/regex/issues/89 #89].
21
22 [h4 Boost.Regex-5.1.3 (Boost-1.64.0)]
23
24 * Compiling with Oracle C++ toolset is no longer restricted to static linking.
25 * Big effort to de-fuzz the library using libFuzzer and fix identified issues, see:  [@https://svn.boost.org/trac/boost/ticket/12818 #12818].
26
27 [h4 Boost.Regex-5.1.2 (Boost-1.62.0)]
28
29
30 * Fix buffer over-run error when parsing certain invalid regexes, see [@https://svn.boost.org/trac/boost/ticket/12222 #12222].
31 * Fix detection of ICU in library build, see [@https://svn.boost.org/trac/boost/ticket/12152 #12152].
32 * Fix bug in case sensitivity change, see [@https://svn.boost.org/trac/boost/ticket/11940 #11940].
33 * Allow types wider than int in `\x{}` expressions (for char32_t etc), see [@https://svn.boost.org/trac/boost/ticket/11988 #11988].
34
35 [h4 Boost.Regex-5.1.1 (Boost-1.61.0)]
36
37 * Change to lockfree implementation of memory cache, see [@https://github.com/boostorg/regex/pull/23 PR#23].
38
39 [h4 Boost.Regex-5.1.0 (Boost-1.60.0)]
40
41 * Add support for Perl's backtracking control verbs, see [@https://svn.boost.org/trac/boost/ticket/11205 #11205].  Note however, that
42 (*MARK) and operations on marks are not currently supported.
43 * Fix incorrect range end when matching \[\[:unicode:\]\], see [@https://svn.boost.org/trac/boost/ticket/11524 #11524].
44 * Change POSIX reg_comp API to not check potentially uninitialized memory, note that code which was previously free from memory
45 leaks (but none the less buggy, as it didn't call reg_free) will now leak.  See [@https://svn.boost.org/trac/boost/ticket/11472 #11472].
46 * Make sub_match a valid C++ range type, see [@https://svn.boost.org/trac/boost/ticket/11036 #11036].
47
48 [h4 Boost.Regex-5.0.1 (Boost-1.58.0)]
49
50 * Fixed some typos as in [@https://svn.boost.org/trac/boost/ticket/10682 #10682].
51 * Merged [@https://github.com/boostorg/regex/pull/6 pull-request #6] for Coverity warnings.
52 * Merged [@https://github.com/boostorg/regex/pull/7 pull-request #7] for Coverity warnings.
53 * Merged [@https://github.com/boostorg/regex/pull/8 pull-request #8] for Coverity warnings.
54 * Merged [@https://github.com/boostorg/regex/pull/10 pull-request #10] to enable more build variants when linking to ICU.
55 * Fix issue with ICU and partial matches, see [@https://svn.boost.org/trac/boost/ticket/10114 #10114].
56 * Removed delayload support for the ICU libraries: this doesn't work with the latest ICU releases (linker errors).
57
58
59 [h4 Boost.Regex-5.0.0 (Boost-1.56.0)]
60
61 * Moved to library-specific version number post the move to Git.  And since we have one (minor) breaking change
62 this gets bumped up from v4 to v5.
63 * [*Breaking change:] corrected behavior of `basic_regex<>::mark_count()` to match existing documentation,
64 `basic_regex<>::subexpression(n)` changed to match, see [@https://svn.boost.org/trac/boost/ticket/9227 #9227]
65 * Fixed issue [@https://svn.boost.org/trac/boost/ticket/8903 #8903].
66 * Fixed documentation typos from [@https://svn.boost.org/trac/boost/ticket/9283 #9283].
67 * Fixed bug in collation code that failed if the locale generated collation strings with embedded nul's,
68 see [@https://svn.boost.org/trac/boost/ticket/9451 #9451].
69 * Apply patch for unusual thread usage (no statically initialized mutexes), see [@https://svn.boost.org/trac/boost/ticket/9461 #9461].
70 * Added better checks for invalid UTF-8 sequences, see [@https://svn.boost.org/trac/boost/ticket/9473 #9473].
71
72 [h4 Boost-1.54]
73
74 Fixed issue [@https://svn.boost.org/trac/boost/ticket/8569 #8569].
75
76 [h4 Boost-1.53]
77
78 Fixed Issues:
79 [@https://svn.boost.org/trac/boost/ticket/7744 #7744], [@https://svn.boost.org/trac/boost/ticket/7644 #7644].
80
81 [h4 Boost-1.51]
82
83 Fixed issues:
84 [@https://svn.boost.org/trac/boost/ticket/589 #589], [@https://svn.boost.org/trac/boost/ticket/7084 #7084],
85 [@https://svn.boost.org/trac/boost/ticket/7032 #7032], [@https://svn.boost.org/trac/boost/ticket/6346 #6346].
86
87 [h4 Boost-1.50]
88
89 Fixed issue with `(?!)` not being a valid expression, and updated docs on what constitutes a valid conditional expression.
90
91 [h4 Boost-1.48]
92
93 Fixed issues:
94 [@https://svn.boost.org/trac/boost/ticket/688 #698], [@https://svn.boost.org/trac/boost/ticket/5835 #5835],
95 [@https://svn.boost.org/trac/boost/ticket/5958 #5958], [@https://svn.boost.org/trac/boost/ticket/5736 #5736].
96
97
98 [h4 Boost 1.47]
99
100 Fixed issues:
101 [@https://svn.boost.org/trac/boost/ticket/5223 #5223], [@https://svn.boost.org/trac/boost/ticket/5353 #5353],
102 [@https://svn.boost.org/trac/boost/ticket/5363 #5363], [@https://svn.boost.org/trac/boost/ticket/5462 #5462],
103 [@https://svn.boost.org/trac/boost/ticket/5472 #5472], [@https://svn.boost.org/trac/boost/ticket/5504 #5504].
104
105 [h4 Boost 1.44]
106
107 Fixed issues: 
108 [@https://svn.boost.org/trac/boost/ticket/4309 #4309],
109 [@https://svn.boost.org/trac/boost/ticket/4215 #4215],
110 [@https://svn.boost.org/trac/boost/ticket/4212 #4212],
111 [@https://svn.boost.org/trac/boost/ticket/4191 #4191],
112 [@https://svn.boost.org/trac/boost/ticket/4132 #4132],
113 [@https://svn.boost.org/trac/boost/ticket/4123 #4123],
114 [@https://svn.boost.org/trac/boost/ticket/4114 #4114],
115 [@https://svn.boost.org/trac/boost/ticket/4036 #4036],
116 [@https://svn.boost.org/trac/boost/ticket/4020 #4020],
117 [@https://svn.boost.org/trac/boost/ticket/3941 #3941],
118 [@https://svn.boost.org/trac/boost/ticket/3902 #3902],
119 [@https://svn.boost.org/trac/boost/ticket/3890 #3890]
120
121 [h4 Boost 1.42]
122
123 * Added support for Functors rather than strings as format expressions.
124 * Improved error reporting when throwing exceptions to include better more relevant information.
125 * Improved performance and reduced stack usage of recursive expressions.
126 * Fixed tickets
127 [@https://svn.boost.org/trac/boost/ticket/2802 #2802],
128 [@https://svn.boost.org/trac/boost/ticket/3425 #3425],
129 [@https://svn.boost.org/trac/boost/ticket/3507 #3507],
130 [@https://svn.boost.org/trac/boost/ticket/3546 #3546],
131 [@https://svn.boost.org/trac/boost/ticket/3631 #3631],
132 [@https://svn.boost.org/trac/boost/ticket/3632 #3632],
133 [@https://svn.boost.org/trac/boost/ticket/3715 #3715],
134 [@https://svn.boost.org/trac/boost/ticket/3718 #3718],
135 [@https://svn.boost.org/trac/boost/ticket/3763 #3763],
136 [@https://svn.boost.org/trac/boost/ticket/3764 #3764]
137
138 [h4 Boost 1.40]
139
140 * Added support for many Perl 5.10 syntax elements including named
141 sub-expressions, branch resets and recursive regular expressions.
142
143 [h4 Boost 1.38]
144
145 * [*Breaking change]: empty expressions, and empty alternatives are now
146 allowed when using the Perl regular expression syntax.  This change has
147 been added for Perl compatibility, when the new [syntax_option_type]
148 ['no_empty_expressions] is set then the old behaviour is preserved and
149 empty expressions are prohibited.  This is issue
150 [@https://svn.boost.org/trac/boost/ticket/1081 #1081].
151 * Added support for Perl style ${n} expressions in format strings
152 (issue [@https://svn.boost.org/trac/boost/ticket/2556 #2556]).
153 * Added support for accessing the location of sub-expressions within the
154 regular expression string 
155 (issue [@https://svn.boost.org/trac/boost/ticket/2269 #2269]).
156 * Fixed compiler compatibility issues 
157 [@https://svn.boost.org/trac/boost/ticket/2244 #2244],
158 [@https://svn.boost.org/trac/boost/ticket/2514 #2514],
159 and
160 [@https://svn.boost.org/trac/boost/ticket/2244 #2458].
161
162
163 [h4 Boost 1.34]
164
165 * Fix for non-greedy repeats and partial matches not working correctly in some cases.
166 * Fix for non-greedy repeats on VC++ not working in some cases (bug report 1515830).
167 * Changed match_results::position() to return a valid result when *this represents a partial match.
168 * Fixed the grep and egrep options so that the newline character gets treated the same as |.
169
170 [h4 Boost 1.33.1]
171
172 * Fixed broken makefiles.
173 * Fixed configuration setup to allow building with VC7.1 - STLport-4.6.2 when using /Zc:wchar_t.
174 * Moved declarations class-inline in static_mutex.hpp so that SGI Irix compiler can cope.
175 * Added needed standard library #includes to fileiter.hpp, regex_workaround.hpp and cpp_regex_traits.hpp.
176 * Fixed a bug where non-greedy repeats could in certain strange circumstances repeat more times than their maximum value.
177 * Fixed the value returned by basic_regex<>::empty() from a default constructed object.
178 * Changed the definition of regex_error to make it backwards compatible with Boost-1.32.0.
179 * Disabled external templates for Intel C++ 8.0 and earlier - otherwise unresolved references can occur.
180 * Rewritten extern template code for gcc so that only specific member functions are exported: otherwise strange unresolved references can occur when linking and mixing debug and non-debug code.
181 * Initialise all the data members of the unicode_iterators: this keeps gcc from issuing needless warnings.
182 * Ported the ICU integration code to VC6 and VC7.
183 * Ensured code is STLport debug mode clean.
184 * Fixed lookbehind assertions so that fixed length repeats are permitted, and so that regex iteration allows lookbehind to look back before the current search range (into the last match).
185 * Fixed strange bug with non-greedy repeats inside forward lookahead assertions.
186 * Enabled negated character classes inside character sets.
187 * Fixed regression so that [a-z-] is a valid expression again.
188 * Fixed bug that allowed some invalid expressions to be accepted.
189
190 [h4 Boost 1.33.0]
191
192 * Completely rewritten expression parsing code, and traits class support; now conforms to the standardization proposal.
193 * Breaking Change: The syntax options that can be passed to basic_regex constructors have been rationalized.  The default option (perl) now has a value of zero, and it is now clearly documented which options apply to which regular expression syntax styles (perl, POSIX-extended, POSIX-basic etc).  Some of the more esoteric options have now been removed, so there is the possibility that existing code may fail to compile: however equivalent functionality should still be available.
194 * Breaking Change: POSIX-extended and POSIX-basic regular expressions now enforce the letter of the POSIX standard much more closely than before.
195 * Added support for (?imsx-imsx) constructs.
196 * Added support for lookbehind expressions (?<=positive-lookbehind) and (?<!negative-lookbehind).
197 * Added support for conditional expressions (?(assertion)true-expression|false-expression).
198 * Added MFC/ATL string wrappers.
199 * Added Unicode support; based on ICU.
200 * Changed newline support to recognise \\f as a line separator (all character types), and \\x85 as a line separator for wide characters / Unicode only.
201 * Added a new format flag format_literal that treats the replace string as a literal, rather than a Perl or Sed style format string.
202 * Errors are now reported by throwing exceptions of type regex_error. The types used previously - bad_expression and bad_pattern - are now just typedefs for regex_error. Type regex_error has a couple of new members: code() to report an error code rather than a string, and position() to report where in the expression the error occurred.
203
204 [h4 Boost 1.32.1]
205
206 * Fixed bug in partial matches of bounded repeats of '.'.
207
208 [h4 Boost 1.31.0]
209
210 * Completely rewritten pattern matching code - it is now up to 10 times faster than before.
211 * Reorganized documentation.
212 * Deprecated all interfaces that are not part of the regular expression standardization proposal.
213 * Added regex_iterator and regex_token_iterator .
214 * Added support for Perl style independent sub-expressions.
215 * Added non-member operators to the sub_match class, so that you can compare sub_match's with strings, or add them to a string to produce a new string.
216 * Added experimental support for extended capture information.
217 * Changed the match flags so that they are a distinct type (not an integer), if you try to pass the match flags as an integer rather than match_flag_type to the regex algorithms then you will now get a compiler error.
218     
219 [endsect]
220
221
222