diff --git a/document/version.md b/document/version.md index 26f4b4d..3a7360a 100644 --- a/document/version.md +++ b/document/version.md @@ -5,6 +5,7 @@ *** +- [1.84.0](version/1_84_0.md) - [1.83.0](version/1_83_0.md) - [1.82.0](version/1_82_0.md) - [1.81.0](version/1_81_0.md) diff --git a/document/version/1_84_0.md b/document/version/1_84_0.md new file mode 100644 index 0000000..e8dc2bd --- /dev/null +++ b/document/version/1_84_0.md @@ -0,0 +1,255 @@ +# Boost 1.84.0リリースノート + +本家リリースノート: + +- +- + + +リポジトリは以下: + +- + + +リポジトリからのビルド方法は、egtraさんのブログを参照: + +- 「[Modularized Boost(GitHubへ移行したリポジトリ)を使用する](http://dev.activebasic.com/egtra/2013/12/03/620/)」 + + +## 新ライブラリ + +- [Cobalt](https://boost.org/libs/cobalt) + - C++20コルーチン用の基本的なアルゴリズムと型 (作者Klemens Morgenstern氏) +- [Redis](https://boost.org/libs/redis) + - Boost.Asio上に作られたRedisの非同期クライアントライブラリ (作者Marcelo Zimbres Silva氏) + + +## 更新ライブラリ + +- [Any](#any) +- [Beast](#beast) +- [Chrono](#chrono) +- [ContainerHash](#container-hash) +- [Conversion](#conversion) +- [CRC](#crc) +- [DLL](#dll) +- [Endian](#endian) +- [Heap](#heap) +- [LEAF](#leaf) +- [LexicalCast](#lexical-cast) +- [Locale](#locale) +- [Lockfree](#lockfree) +- [Multi-index](#multi-index) +- [MySQL](#mysql) +- [PFR](#pfr) +- [Predef](#predef) +- [Ratio](#ratio) +- [Stacktrace](#stacktrace) +- [System](#system) +- [Thread](#thread) +- [TypeIndex](#type-index) +- [TypeOf](#typeof) +- [Unordered](#unordered) +- [Variant](#variant) +- [Wave](#wave) + + +## Any + +- [GitHub #26](https://github.com/boostorg/any/pull/26) C++03のサポートを終了 +- リファレンスのドキュメント生成を修正。これにより、Boost.PFRのリファレンスによって上書きされないようになった。Peter Dimov氏のデバッグに感謝 + + +## Beast + +- `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`のドキュメントを更新 + + +## Chrono + +- C++03のサポートを終了 + + +## ContainerHash + +- C++03のサポートを終了 + + +## Conversion + +- [GitHub #27](https://github.com/boostorg/conversion/pull/27) C++03のサポートを終了 + + +## CRC + +- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定 + + +## DLL + +- [GitHub #66](https://github.com/boostorg/dll/pull/66) C++03のサポートを終了 + + +## Endian + +- C++03のサポートを終了 + + +## Heap + +- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる + + +## LEAF + +- `result`クラスをnodiscard指定 +- メンバ型`result::value_type`を追加 +- `verbose_diagnostic_info`はエラー処理スコープに到達するまで文字列への変換を遅延させる +- 組み込み開発のサポートを改善 +- Visual Studio 2015との互換性を改善 (godmaycrying氏に感謝) +- 小さなバグ修正と改善 +- GCC 4.8と4.9のサポートを終了 + + +## LexicalCast + +- [GitHub #62](https://github.com/boostorg/lexical_cast/pull/62) C++03のサポートを終了 + + +## Locale + +- `to_title`のWinAPIバックエンドは、空文字列を返す代わりに、文字列を変更しないようにした +- `char8_t`と`std::u8string`のサポートを改善 +- [GitHub #198](https://github.com/boostorg/locale/pull/198) 負の時間を使用した際の、ひとつずれるエラー (off-by-one error) を修正 +- [GitHub #194](https://github.com/boostorg/locale/issues/194) フォーマット文字列における波括弧のエスケープ処理を修正 +- [GitHub #189](https://github.com/boostorg/locale/pull/189) とくにMSVCでの、ビルドエラーと警告を修正 + + +## Lockfree + +- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる + + +## Multi-index + +- [GitHub #70](https://github.com/boostorg/multi_index/issues/70) ADLをサポートしていない古いコンパイラにおけるシリアライズ関連のコンパイル時バグを修正 + + +## MySQL + +- `connection::reset_connection`と`connection::async_reset_connection`を追加。これらの関数は、接続を閉じたり再度開いたりすることなく、セッションの状態 (プリペアドステートメント、変数、ロックなどを含む) をクリーンアップする +- MySQL server v8.1.0で導入されたエラーコードを追加 +- 関数のデシリアライズでのfuzzテストを追加 + + +## PFR + +- [**新しい大機能 : フィールド名リフレクション**]。新たな関数`constexpr boost::pfr::get_name()`を追加。この関数は、集成体`T`の`N`番目のインデックスのフィールド名を`std::string_view`で返す。C++20以上を要求。この機能が使用可能な場合、`BOOST_PFR_CORE_NAME_ENABLED`が値1で定義される。[GitHub #129](https://github.com/boostorg/pfr/pull/129)と実装アイディアにおいて、[Denis Mikhailov氏](https://github.com/denzor200)、[Bela Schaum氏](https://github.com/schaumb)、[X-Ryl669氏](https://github.com/X-Ryl669)に多大なる感謝 +- [GitHub #134](https://github.com/boostorg/pfr/pull/134) C++17で`for_each_field()`を`constexpr`にした。[Alexander Karatarakis氏](https://github.com/alexkaratarakis)に感謝 + + +## Predef + +- バージョン1.15.0 +- Microsoft STLの検出を追加 (Henrik Gaßmann氏) + + +## Ratio + +- C++03のサポートを終了 +- `BOOST_RATIO_EXTENSIONS`のサポートを削除。Ratioは現在、標準``ヘッダで実装される + + +## Stacktrace + +- [GitHub #139](https://github.com/boostorg/stacktrace/pull/139) C++03のサポートを終了。[Alex氏](https://github.com/leha-bot)のPRに感謝 +- [GitHub #138](https://github.com/boostorg/stacktrace/pull/138) `addr2line`のpieバイナリを修正。[ja2142氏](https://github.com/ja2142)のPRに感謝 +- [GitHub #140](https://github.com/boostorg/stacktrace/pull/140) MinGW-w64 12+でのビルドを修正。[yhsb2k氏](https://github.com/yhsb2k)のPRに感謝 +- [GitHub #143](https://github.com/boostorg/stacktrace/pull/143) 不足していたインクルードを追加。[Francesco Ballarin氏](https://github.com/francesco-ballarin)のPRに感謝 + + +## System + +- `result`のサポートを追加 +- `result`に`operator|`を追加 +- `result`に`operator&`を追加 +- `result`に`operator&=`を追加 + + +## Thread + +- C++03のサポートを終了 + + +## TypeIndex + +- C++03のサポートを終了 +- `BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((A)(B)(C)(D))`の構文を`BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(A, B, C, D)`に変更 +- Boost.PPへの依存を削除 + + +## TypeOf + +- C++03のサポートを終了 + + +## Unordered + +- メジャーアップデート +- `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](https://github.com/boostorg/unordered/pull/221) 閉アドレスコンテナのローカルイテレータに対するメンバポインタ演算子のバグを修正。この問題を発見し修正してくれた[vslashg氏](https://github.com/vslashg)氏の貢献に感謝 +- このリリースから、`boost::unordered_[multi]set`と`boost::unordered_[multi]map`はC++11以降でのみ動作する + + +## Variant + +- [GitHub #107](https://github.com/boostorg/variant/pull/107) C++03のサポートを終了 +- Boost.MoveとBoost.Bindへの依存を削除 + + +## Wave + +- バグ修正 + - [GitHub #188](https://github.com/boostorg/wave/issues/188) `"#pragma\\n"`と遭遇した際のセグメンテーション違反を修正 + + +## テスト済みコンパイラ +主要なテストコンパイラ: + +- 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 + + +## 翻訳 +[Akira Takahashi](https://github.com/faithandbrave) +