本家リリースノート:
- https://github.com/boostorg/website/blob/master/feed/history/boost_1_84_0.qbk
- http://www.boost.org/users/history/version_1_84_0.html
リポジトリは以下:
リポジトリからのビルド方法は、egtraさんのブログを参照:
- Cobalt
- C++20コルーチン用の基本的なアルゴリズムと型 (作者Klemens Morgenstern氏)
- Redis
- Boost.Asio上に作られたRedisの非同期クライアントライブラリ (作者Marcelo Zimbres Silva氏)
- Any
- Beast
- Chrono
- ContainerHash
- Conversion
- CRC
- DLL
- Endian
- Heap
- LEAF
- LexicalCast
- Locale
- Lockfree
- Multi-index
- MySQL
- PFR
- Predef
- Ratio
- Stacktrace
- System
- Thread
- TypeIndex
- TypeOf
- Unordered
- Variant
- Wave
- GitHub #26 C++03のサポートを終了
- リファレンスのドキュメント生成を修正。これにより、Boost.PFRのリファレンスによって上書きされないようになった。Peter Dimov氏のデバッグに感謝
immediate_executor
をサポート- 非推奨となっていたアロケーションと実行フック (invocation hook) を削除
transfer_op
を完了する際に、明示的にstd::size_t
を使用するようにしたBOOST_ASIO_INITFN_RESULT_TYPE
をBOOST_ASIO_INITFN_AUTO_RES
で置き換えたserver-flex-awaitable
のサンプルコードでparserをリセットするようにしたwebsocket::stream::async_ping/pong
ハンドラの要件を正しくしたwebsocket::stream::async_write_some
のドキュメントを更新
- C++03のサポートを終了
- C++03のサポートを終了
- GitHub #27 C++03のサポートを終了
- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定
- GitHub #66 C++03のサポートを終了
- C++03のサポートを終了
- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる
result<T>
クラスをnodiscard指定- メンバ型
result<T>::value_type
を追加 verbose_diagnostic_info
はエラー処理スコープに到達するまで文字列への変換を遅延させる- 組み込み開発のサポートを改善
- Visual Studio 2015との互換性を改善 (godmaycrying氏に感謝)
- 小さなバグ修正と改善
- GCC 4.8と4.9のサポートを終了
- GitHub #62 C++03のサポートを終了
to_title
のWinAPIバックエンドは、空文字列を返す代わりに、文字列を変更しないようにしたchar8_t
とstd::u8string
のサポートを改善- GitHub #198 負の時間を使用した際の、ひとつずれるエラー (off-by-one error) を修正
- GitHub #194 フォーマット文字列における波括弧のエスケープ処理を修正
- GitHub #189 とくにMSVCでの、ビルドエラーと警告を修正
- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる
- GitHub #70 ADLをサポートしていない古いコンパイラにおけるシリアライズ関連のコンパイル時バグを修正
connection::reset_connection
とconnection::async_reset_connection
を追加。これらの関数は、接続を閉じたり再度開いたりすることなく、セッションの状態 (プリペアドステートメント、変数、ロックなどを含む) をクリーンアップする- MySQL server v8.1.0で導入されたエラーコードを追加
- 関数のデシリアライズでのfuzzテストを追加
- [新しい大機能 : フィールド名リフレクション]。新たな関数
constexpr boost::pfr::get_name<N, T>()
を追加。この関数は、集成体T
のN
番目のインデックスのフィールド名をstd::string_view
で返す。C++20以上を要求。この機能が使用可能な場合、BOOST_PFR_CORE_NAME_ENABLED
が値1で定義される。GitHub #129と実装アイディアにおいて、Denis Mikhailov氏、Bela Schaum氏、X-Ryl669氏に多大なる感謝 - GitHub #134 C++17で
for_each_field()
をconstexpr
にした。Alexander Karatarakis氏に感謝
- バージョン1.15.0
- Microsoft STLの検出を追加 (Henrik Gaßmann氏)
- C++03のサポートを終了
BOOST_RATIO_EXTENSIONS
のサポートを削除。Ratioは現在、標準<ratio>
ヘッダで実装される
- GitHub #139 C++03のサポートを終了。Alex氏のPRに感謝
- GitHub #138
addr2line
のpieバイナリを修正。ja2142氏のPRに感謝 - GitHub #140 MinGW-w64 12+でのビルドを修正。yhsb2k氏のPRに感謝
- GitHub #143 不足していたインクルードを追加。Francesco Ballarin氏のPRに感謝
result<U&, E>
のサポートを追加result
にoperator|
を追加result
にoperator&
を追加result
にoperator&=
を追加
- C++03のサポートを終了
- C++03のサポートを終了
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((A)(B)(C)(D))
の構文をBOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(A, B, C, D)
に変更- Boost.PPへの依存を削除
- C++03のサポートを終了
- メジャーアップデート
boost::concurrent_flat_set
を追加- 並行コンテナに
[c]visit_while
操作を追加。これは実行ポリシーとして逐次処理と並列処理のどちらでも使用できる- この関数は、関数オブジェクト
f
がfalse
を返すかすべての要素を参照するまで、テーブルの各要素への参照で関数オブジェクトf
を呼び出す
- この関数は、関数オブジェクト
boost::concurrent_flat_(map|set)
からboost::unordered_flat_(map|set)
への (およびその逆) 効率的なムーブ構築を追加- ルックアップのパフォーマンスを向上させるために、並行コンテナへのbulk visitationを追加
- ユーザーコードから並行コンテナへの不正な再入 (reentrancies) を検出するデバッグモードの仕組みを追加
- 全てのコンテナとそのイテレータ型に、Boost.Serializationのサポートを追加
- オープンアドレッシングと並行コンテナに、ファンシーポインタ (fancy pointer) のサポートを追加。これにより、Boost.Interprocessのアロケータを使用して共有メモリ上にコンテナを構築するというようなシナリオが可能になる
- GitHub #221 閉アドレスコンテナのローカルイテレータに対するメンバポインタ演算子のバグを修正。この問題を発見し修正してくれたvslashg氏氏の貢献に感謝
- このリリースから、
boost::unordered_[multi]set
とboost::unordered_[multi]map
はC++11以降でのみ動作する
- GitHub #107 C++03のサポートを終了
- Boost.MoveとBoost.Bindへの依存を削除
- バグ修正
- GitHub #188
"#pragma\\n"
と遭遇した際のセグメンテーション違反を修正
- GitHub #188
主要なテストコンパイラ:
- Linux:
- Clang, C++03: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0, 13.0.0, 14.0.0, 15.0.0
- Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
- Clang, C++14: 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
- Clang, C++17: 6.0.1, 7.0.0, 8.0.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
- Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
- GCC, C++03: 4.6.3, 11, 12
- GCC, C++11: 4.7.3, 4.8.5, 11, 12
- GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
- GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
- GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
- OS X:
- Apple Clang, C++03: 11.0.3
- Apple Clang, C++11: 11.0.3
- Apple Clang, C++14: 11.0.3
- Apple Clang, C++17: 11.0.3
- Apple Clang, C++20: 11.0.3
- Windows:
- Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3