Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

History
PrevUpHome

New issues should be submitted at svn.boost.org - don't forget to include your email address in the ticket!

Currently open issues can be viewed here.

All issues including closed ones can be viewed here.

Boost.Regex-5.1.2 (Boost-1.62.0)
  • Fix buffer over-run error when parsing certain invalid regexes, see #12222.
  • Fix detection of ICU in library build, see #12152.
  • Fix bug in case sensitivity change, see #11940.
  • Allow types wider than int in \x{} expressions (for char32_t etc), see #11988.
Boost.Regex-5.1.1 (Boost-1.61.0)
  • Change to lockfree implementation of memory cache, see PR#23.
Boost.Regex-5.1.0 (Boost-1.60.0)
  • Add support for Perl's backtracking control verbs, see #11205. Note however, that (*MARK) and operations on marks are not currently supported.
  • Fix incorrect range end when matching [[:unicode:]], see #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 #11472.
  • Make sub_match a valid C++ range type, see #11036.
Boost.Regex-5.0.1 (Boost-1.58.0)
  • Fixed some typos as in #10682.
  • Merged pull-request #6 for Coverity warnings.
  • Merged pull-request #7 for Coverity warnings.
  • Merged pull-request #8 for Coverity warnings.
  • Merged pull-request #10 to enable more build variants when linking to ICU.
  • Fix issue with ICU and partial matches, see #10114.
  • Removed delayload support for the ICU libraries: this doesn't work with the latest ICU releases (linker errors).
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 #9227
  • Fixed issue #8903.
  • Fixed documentation typos from #9283.
  • Fixed bug in collation code that failed if the locale generated collation strings with embedded nul's, see #9451.
  • Apply patch for unusual thread usage (no statically initialized mutexes), see #9461.
  • Added better checks for invalid UTF-8 sequences, see #9473.
Boost-1.54

Fixed issue #8569.

Boost-1.53

Fixed Issues: #7744, #7644.

Boost-1.51

Fixed issues: #589, #7084, #7032, #6346.

Boost-1.50

Fixed issue with (?!) not being a valid expression, and updated docs on what constitutes a valid conditional expression.

Boost-1.48

Fixed issues: #698, #5835, #5958, #5736.

Boost 1.47

Fixed issues: #5223, #5353, #5363, #5462, #5472, #5504.

Boost 1.44

Fixed issues: #4309, #4215, #4212, #4191, #4132, #4123, #4114, #4036, #4020, #3941, #3902, #3890

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 #2802, #3425, #3507, #3546, #3631, #3632, #3715, #3718, #3763, #3764
Boost 1.40
  • Added support for many Perl 5.10 syntax elements including named sub-expressions, branch resets and recursive regular expressions.
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 #1081.
  • Added support for Perl style ${n} expressions in format strings (issue #2556).
  • Added support for accessing the location of sub-expressions within the regular expression string (issue #2269).
  • Fixed compiler compatibility issues #2244, #2514, and #2458.
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 |.
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.
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 (?<!negative-lookbehind).
  • Added support for conditional expressions (?(assertion)true-expression|false-expression).
  • Added MFC/ATL string wrappers.
  • Added Unicode support; based on ICU.
  • Changed newline support to recognise \f as a line separator (all character types), and \x85 as a line separator for wide characters / Unicode only.
  • Added a new format flag format_literal that treats the replace string as a literal, rather than a Perl or Sed style format string.
  • 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.
Boost 1.32.1
  • Fixed bug in partial matches of bounded repeats of '.'.
Boost 1.31.0
  • Completely rewritten pattern matching code - it is now up to 10 times faster than before.
  • Reorganized documentation.
  • Deprecated all interfaces that are not part of the regular expression standardization proposal.
  • Added regex_iterator and regex_token_iterator .
  • Added support for Perl style independent sub-expressions.
  • 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.
  • Added experimental support for extended capture information.
  • 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.

PrevUpHome