履歴

新規項目は svn.boost.org に提出してほしい。チケットにはあなたのメールアドレスを入れておく必要がある。

現在オープンな項目はここから見られる。

クローズなものを含めた全項目はここから見られる。

Boost.Regex-5.1.3(Boost-1.64.0)

  • Oracle C++ でのコンパイルが静的リンクに限定されていたのを修正した。

  • libFuzzer を使ったファジング対応と見つかった不具合の修正(#12818)。

Boost.Regex-5.1.2(Boost-1.62.0)

  • 特定の正規表現を解析したときに発生するバッファオーバーランを修正した(#12222)。

  • ライブラリビルドにおける ICU の検出方法を修正した(#12152)。

  • 大文字小文字の区別切り替えにおけるバグを修正した(#11940)。

  • \x{} 式内で(char32_t 等の)int より広い型を使えるようにした(#11988)。

Boost.Regex-5.1.1(Boost-1.61.0)

  • メモリキャッシュをロックフリーな実装に切り替えた。PR#23 を見よ。

Boost.Regex-5.1.0(Boost-1.60.0)

  • Perl のバックトラッキング動詞をサポートした(#11205)。ただし現時点では (*MARK) とマークに対する操作はサポートしていないことに注意していただきたい。

  • [[:unicode:]] にマッチする範囲の末尾が間違っていたのを修正した(#11524)。

  • reg_comp POSIX API を未初期化のメモリをチェックしないように変更した。これまで(reg_free を呼び出さず)メモリリークしなかったコード(結局は不正なのだが)でリークが発生することに注意していただきたい(#11472)。

  • sub_match を合法な C++ 範囲型にした(#11036)。

Boost.Regex-5.0.1(Boost-1.58.0)

  • 誤字を修正した(#10682)。

  • Coverity の警告についてプルリクエスト #6 をマージした。

  • Coverity の警告についてプルリクエスト #7 をマージした。

  • Coverity の警告についてプルリクエスト #8 をマージした。

  • ICU にリンクする場合により多くのビルドバリアントを可能にするためプルリクエスト #10 をマージした。

  • ICU と部分マッチを組み合わせたときに発生するバグを修正した(#10114)。

  • ICU ライブラリの遅延ロードサポートを削除した。遅延ロードは最新の ICU リリースでは(リンカエラーにより)動作しない。

Boost.Regex-5.0.0(Boost-1.56.0)

  • Git へ移行後、ライブラリ固有のバージョン番号を使用することにした。また、破壊的変更が1つあったためバージョン 4 からバージョン 5 となった。

  • 破壊的変更:basic_regex<>::mark_count の挙動を既存のドキュメントと一致するよう修正した。同時に basic_regex<>::subexpression(n) がマッチするよう変更した。#9227 を見よ。

  • チケット #8903 を修正した。

  • ドキュメントの誤字を修正した(#9283)。

  • 照合コードについて、ロカールが NUL を含む照合文字列を生成した場合に失敗するバグを修正した。#9451 を見よ。

  • まれなスレッドの使用方法(静的に初期化されていないミューテックス)に対するパッチを適用した。#9461 を見よ。

  • 不正な UTF-8 シーケンスに対するチェック機能を改善した。#9473 を見よ。

Boost-1.54

  • 以下のチケットの修正:#8569

Boost-1.53

  • 以下のチケットの修正:#7744#7644

Boost-1.51

Boost-1.50

  • (?!) が正しい式とならない問題を修正し、正しい条件式の構成要素についてドキュメントを更新した。

Boost-1.48

Boost 1.47

Boost 1.44

Boost 1.42

  • 書式化式として文字列だけでなく関数子も受け付けるようにした。

  • 例外を投げたときに、より適切な情報を含めてエラー報告を強化した。

  • 再帰式を使用した場合の効率が上がり、スタックの使用量が減少した。

  • 以下のチケットの修正:#2802#3425#3507#3546#3631#3632#3715#3718#3763#3764

Boost 1.40

  • 名前付き部分式、選択分岐による部分式番号のリセット、再帰正規表現といった Perl 5.10 の構文要素の多くを追加した。

Boost 1.38

  • 破壊的な変更:Perl の正規表現構文で空の正規表現および空の選択を許容するようにした。この変更は Perl との互換性のためのものである。新しい syntax_option_type である no_empty_expressions が設定されていれば以前の挙動となり、空の式は許可されない。チケット #1081 にもとづいている。

  • 書式化文字列において Perl 形式の ${n} 式をサポートした(チケット #2556)。

  • 正規表現文字列内の部分式の位置へのアクセスをサポートした(チケット #2269)。

  • コンパイラ互換性について修正を行った(チケット #2244#2514 および #2458)。

Boost 1.34

  • 貪欲でない繰り返しと部分マッチが場合によっては正常に動作しないのを修正した。

  • 貪欲でない繰り返しが VC++ で場合によっては正常に動作しないのを修正した(バグレポート 1515830)。

  • *this が部分マッチを表しているときに match_results::position が意味のある結果を返すように変更した。

  • 改行文字が | と同様に扱われるように grep および egrep オプションを修正した。

Boost 1.33.1

  • メイクファイルが壊れていたのを修正した。

  • VC7.1 + STLport-4.6.2 で /Zc:wchar_t を使用してビルドできるように設定セットアップを修正した。

  • SGI Irix コンパイラが対処できるように、static_mutex.hpp のクラスインラインの宣言を移動した。

  • 必要な標準ライブラリの #includefileiter.hppregex_workaround.hpp および cpp_regex_traits.hpp に追加した。

  • 貪欲でない繰り返しが奇妙な事情により最大値よりも多く繰り返す場合があったのを修正した。

  • デフォルトコンストラクタで構築したオブジェクトが basic_regex<>::empty で返す値を修正した。

  • regex_error の定義を Boost-1.32.0 と後方互換になるように変更した。

  • Intel C++ 8.0 未満で外部テンプレートを無効にした。未解決の参照が発生していた。

  • gcc で特定のメンバ関数だけがエクスポートされるように extern なテンプレートコードを書き直した。リンク時にデバッグ用コードと非デバッグコードを混ぜたときに奇妙な未解決の参照が発生していた。

  • Unicode イテレータのメンバを初期化するようにした。gcc で不要な警告が出なくなった。

  • ICU 関連のコードを VC6 と VC7 に移植した。

  • STLport のデバッグモードをクリーン化した(?)。

  • 後読み表明を固定長さの繰り返しが使えるように、また反復時に後読みが現在の検索範囲の前に(前回のマッチに)遡れるように修正した。

  • 前方先読み内の貪欲でない繰り返しに関する奇妙なバグを修正した。

  • 文字集合内で文字クラスの否定が使えるようにした。

  • [a-z-] を再び正しい正規表現として退行テストを修正した。

  • いくつか不正な式を受け付けていたバグを修正した。

Boost 1.33.0

  • 式の解析コードを完全に書き直し、特性クラスのサポートを追加した。これにより標準草案に適合した。

  • 破壊的な変更:basic_regex コンストラクタに渡す構文オプションを合理化した。既定のオプション(perl)が値 0 となり、どの正規表現構文スタイル(Perl 、POSIX 拡張、POSIX 基本など)にどのオプションを適用できるか明確に文書化した。

  • 破壊的な変更:POSIX 拡張正規表現および POSIX 基本正規表現が以前よりも厳密に POSIX 標準に従うようになった。

  • (?imsx-imsx) 構造のサポートを追加した。

  • 先読みの式 (?<=positive-lookbehind) および (?<!negative-lookbehind) のサポートを追加した。

  • (?(assertion)true-expression|false-expression) のサポートを追加した。

  • MFC/ATL 文字列のラッパを追加した。

  • Unicode サポートを追加した。ICU を使用している。

  • 改行のサポートについて、\f を行区切り(あらゆる文字型で)、\x85 をワイド文字の行区切り(Unicode のみ)として処理するように変更した。

  • 置換文字列を Perl や Sed スタイルの書式化文字列ではなく直値として扱う、新しい書式化フラグ format_literal を追加した。

  • エラーの通知を regex_error 型の例外で表現するようになった。以前使用していた型 bad_expression および bad_patternregex_error に対する typedef でしかなくなった。regex_error 型は新しい 2 、3 のメンバを持つ。code は文字列ではなくエラーコードを返し、position は式中のエラーの発生位置を返す。

Boost 1.32.1

  • . の境界付き繰り返しの部分マッチに関するバグを修正した。

Boost 1.31.0

  • パターンマッチのコードを完全に書き直した。以前よりも 10 倍速くなった。

  • ドキュメントを再編成した。

  • 正規表現標準草案にないインターフェイスをすべて非推奨とした。

  • regex_iteratorregex_token_iterator を追加した。

  • Perl スタイルの独立部分式のサポートを追加。

  • sub_match クラスに非メンバ演算子を追加した。これにより sub_match の文字列との比較、および文字列への追加による新文字列の生成が可能になった。

  • 拡張的な捕捉情報に対する実験的なサポートを追加した。

  • マッチフラグの型を(整数でない別の型に)変更した。マッチフラグを match_flag_type ではなく整数としてアルゴリズムに渡そうとするとコンパイルエラーとなるようになった。