[/ Copyright 2006-2007 John Maddock. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [section:history History] New issues should be submitted at [@http://svn.boost.org svn.boost.org] - don't forget to include your email address in the ticket! 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]. 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]. [h4 Boost.Regex-5.1.4 (Boost-172.0)] * Minor build fixes, see [@https://github.com/boostorg/regex/issues/89 #89]. [h4 Boost.Regex-5.1.3 (Boost-1.64.0)] * Compiling with Oracle C++ toolset is no longer restricted to static linking. * Big effort to de-fuzz the library using libFuzzer and fix identified issues, see: [@https://svn.boost.org/trac/boost/ticket/12818 #12818]. [h4 Boost.Regex-5.1.2 (Boost-1.62.0)] * Fix buffer over-run error when parsing certain invalid regexes, see [@https://svn.boost.org/trac/boost/ticket/12222 #12222]. * Fix detection of ICU in library build, see [@https://svn.boost.org/trac/boost/ticket/12152 #12152]. * Fix bug in case sensitivity change, see [@https://svn.boost.org/trac/boost/ticket/11940 #11940]. * Allow types wider than int in `\x{}` expressions (for char32_t etc), see [@https://svn.boost.org/trac/boost/ticket/11988 #11988]. [h4 Boost.Regex-5.1.1 (Boost-1.61.0)] * Change to lockfree implementation of memory cache, see [@https://github.com/boostorg/regex/pull/23 PR#23]. [h4 Boost.Regex-5.1.0 (Boost-1.60.0)] * Add support for Perl's backtracking control verbs, see [@https://svn.boost.org/trac/boost/ticket/11205 #11205]. Note however, that (*MARK) and operations on marks are not currently supported. * Fix incorrect range end when matching \[\[:unicode:\]\], see [@https://svn.boost.org/trac/boost/ticket/11524 #11524]. * Change POSIX reg_comp API to not check potentially uninitialized memory, note that code which was previously free from memory 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]. * Make sub_match a valid C++ range type, see [@https://svn.boost.org/trac/boost/ticket/11036 #11036]. [h4 Boost.Regex-5.0.1 (Boost-1.58.0)] * Fixed some typos as in [@https://svn.boost.org/trac/boost/ticket/10682 #10682]. * Merged [@https://github.com/boostorg/regex/pull/6 pull-request #6] for Coverity warnings. * Merged [@https://github.com/boostorg/regex/pull/7 pull-request #7] for Coverity warnings. * Merged [@https://github.com/boostorg/regex/pull/8 pull-request #8] for Coverity warnings. * Merged [@https://github.com/boostorg/regex/pull/10 pull-request #10] to enable more build variants when linking to ICU. * Fix issue with ICU and partial matches, see [@https://svn.boost.org/trac/boost/ticket/10114 #10114]. * Removed delayload support for the ICU libraries: this doesn't work with the latest ICU releases (linker errors). [h4 Boost.Regex-5.0.0 (Boost-1.56.0)] * Moved to library-specific version number post the move to Git. And since we have one (minor) breaking change this gets bumped up from v4 to v5. * [*Breaking change:] corrected behavior of `basic_regex<>::mark_count()` to match existing documentation, `basic_regex<>::subexpression(n)` changed to match, see [@https://svn.boost.org/trac/boost/ticket/9227 #9227] * Fixed issue [@https://svn.boost.org/trac/boost/ticket/8903 #8903]. * Fixed documentation typos from [@https://svn.boost.org/trac/boost/ticket/9283 #9283]. * Fixed bug in collation code that failed if the locale generated collation strings with embedded nul's, see [@https://svn.boost.org/trac/boost/ticket/9451 #9451]. * Apply patch for unusual thread usage (no statically initialized mutexes), see [@https://svn.boost.org/trac/boost/ticket/9461 #9461]. * Added better checks for invalid UTF-8 sequences, see [@https://svn.boost.org/trac/boost/ticket/9473 #9473]. [h4 Boost-1.54] Fixed issue [@https://svn.boost.org/trac/boost/ticket/8569 #8569]. [h4 Boost-1.53] Fixed Issues: [@https://svn.boost.org/trac/boost/ticket/7744 #7744], [@https://svn.boost.org/trac/boost/ticket/7644 #7644]. [h4 Boost-1.51] Fixed issues: [@https://svn.boost.org/trac/boost/ticket/589 #589], [@https://svn.boost.org/trac/boost/ticket/7084 #7084], [@https://svn.boost.org/trac/boost/ticket/7032 #7032], [@https://svn.boost.org/trac/boost/ticket/6346 #6346]. [h4 Boost-1.50] Fixed issue with `(?!)` not being a valid expression, and updated docs on what constitutes a valid conditional expression. [h4 Boost-1.48] Fixed issues: [@https://svn.boost.org/trac/boost/ticket/688 #698], [@https://svn.boost.org/trac/boost/ticket/5835 #5835], [@https://svn.boost.org/trac/boost/ticket/5958 #5958], [@https://svn.boost.org/trac/boost/ticket/5736 #5736]. [h4 Boost 1.47] Fixed issues: [@https://svn.boost.org/trac/boost/ticket/5223 #5223], [@https://svn.boost.org/trac/boost/ticket/5353 #5353], [@https://svn.boost.org/trac/boost/ticket/5363 #5363], [@https://svn.boost.org/trac/boost/ticket/5462 #5462], [@https://svn.boost.org/trac/boost/ticket/5472 #5472], [@https://svn.boost.org/trac/boost/ticket/5504 #5504]. [h4 Boost 1.44] Fixed issues: [@https://svn.boost.org/trac/boost/ticket/4309 #4309], [@https://svn.boost.org/trac/boost/ticket/4215 #4215], [@https://svn.boost.org/trac/boost/ticket/4212 #4212], [@https://svn.boost.org/trac/boost/ticket/4191 #4191], [@https://svn.boost.org/trac/boost/ticket/4132 #4132], [@https://svn.boost.org/trac/boost/ticket/4123 #4123], [@https://svn.boost.org/trac/boost/ticket/4114 #4114], [@https://svn.boost.org/trac/boost/ticket/4036 #4036], [@https://svn.boost.org/trac/boost/ticket/4020 #4020], [@https://svn.boost.org/trac/boost/ticket/3941 #3941], [@https://svn.boost.org/trac/boost/ticket/3902 #3902], [@https://svn.boost.org/trac/boost/ticket/3890 #3890] [h4 Boost 1.42] * Added support for Functors rather than strings as format expressions. * Improved error reporting when throwing exceptions to include better more relevant information. * Improved performance and reduced stack usage of recursive expressions. * Fixed tickets [@https://svn.boost.org/trac/boost/ticket/2802 #2802], [@https://svn.boost.org/trac/boost/ticket/3425 #3425], [@https://svn.boost.org/trac/boost/ticket/3507 #3507], [@https://svn.boost.org/trac/boost/ticket/3546 #3546], [@https://svn.boost.org/trac/boost/ticket/3631 #3631], [@https://svn.boost.org/trac/boost/ticket/3632 #3632], [@https://svn.boost.org/trac/boost/ticket/3715 #3715], [@https://svn.boost.org/trac/boost/ticket/3718 #3718], [@https://svn.boost.org/trac/boost/ticket/3763 #3763], [@https://svn.boost.org/trac/boost/ticket/3764 #3764] [h4 Boost 1.40] * Added support for many Perl 5.10 syntax elements including named sub-expressions, branch resets and recursive regular expressions. [h4 Boost 1.38] * [*Breaking change]: empty expressions, and empty alternatives are now allowed when using the Perl regular expression syntax. This change has been added for Perl compatibility, when the new [syntax_option_type] ['no_empty_expressions] is set then the old behaviour is preserved and empty expressions are prohibited. This is issue [@https://svn.boost.org/trac/boost/ticket/1081 #1081]. * Added support for Perl style ${n} expressions in format strings (issue [@https://svn.boost.org/trac/boost/ticket/2556 #2556]). * Added support for accessing the location of sub-expressions within the regular expression string (issue [@https://svn.boost.org/trac/boost/ticket/2269 #2269]). * Fixed compiler compatibility issues [@https://svn.boost.org/trac/boost/ticket/2244 #2244], [@https://svn.boost.org/trac/boost/ticket/2514 #2514], and [@https://svn.boost.org/trac/boost/ticket/2244 #2458]. [h4 Boost 1.34] * Fix for non-greedy repeats and partial matches not working correctly in some cases. * Fix for non-greedy repeats on VC++ not working in some cases (bug report 1515830). * Changed match_results::position() to return a valid result when *this represents a partial match. * Fixed the grep and egrep options so that the newline character gets treated the same as |. [h4 Boost 1.33.1] * Fixed broken makefiles. * Fixed configuration setup to allow building with VC7.1 - STLport-4.6.2 when using /Zc:wchar_t. * Moved declarations class-inline in static_mutex.hpp so that SGI Irix compiler can cope. * Added needed standard library #includes to fileiter.hpp, regex_workaround.hpp and cpp_regex_traits.hpp. * Fixed a bug where non-greedy repeats could in certain strange circumstances repeat more times than their maximum value. * Fixed the value returned by basic_regex<>::empty() from a default constructed object. * Changed the definition of regex_error to make it backwards compatible with Boost-1.32.0. * Disabled external templates for Intel C++ 8.0 and earlier - otherwise unresolved references can occur. * 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. * Initialise all the data members of the unicode_iterators: this keeps gcc from issuing needless warnings. * Ported the ICU integration code to VC6 and VC7. * Ensured code is STLport debug mode clean. * 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). * Fixed strange bug with non-greedy repeats inside forward lookahead assertions. * Enabled negated character classes inside character sets. * Fixed regression so that [a-z-] is a valid expression again. * Fixed bug that allowed some invalid expressions to be accepted. [h4 Boost 1.33.0] * Completely rewritten expression parsing code, and traits class support; now conforms to the standardization proposal. * 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. * Breaking Change: POSIX-extended and POSIX-basic regular expressions now enforce the letter of the POSIX standard much more closely than before. * Added support for (?imsx-imsx) constructs. * Added support for lookbehind expressions (?<=positive-lookbehind) and (?