From 5153ad74e84dc6ddd921fd13fcef5acdb731fce6 Mon Sep 17 00:00:00 2001 From: Akira Takahashi Date: Sat, 25 Nov 2023 22:37:35 +0900 Subject: [PATCH] =?UTF-8?q?1.84.0=20:=20=E3=83=87=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=AB=E3=83=88Windows=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E6=9B=B4=E6=96=B0=E3=80=81Atomic=E3=80=81Cor?= =?UTF-8?q?e=E3=80=81Filesystem=E3=80=81Log=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/boostorg/website/pull/799 --- document/version/1_84_0.md | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/document/version/1_84_0.md b/document/version/1_84_0.md index e8dc2bd..f72fe54 100644 --- a/document/version/1_84_0.md +++ b/document/version/1_84_0.md @@ -16,6 +16,40 @@ - 「[Modularized Boost(GitHubへ移行したリポジトリ)を使用する](http://dev.activebasic.com/egtra/2013/12/03/620/)」 +## デフォルトのターゲットWindowsバージョンを更新 + +Windows SDKコンポーネントを定義するために他のBoostライブラリが内部的に使用するライブラリであるBoost.WinAPIが更新され、可能な限りデフォルトでWindows 10 APIをターゲットにするようになった。これは、BoostライブラリがデフォルトでWindows 10をターゲットとし、古いWindowsバージョンでは動作しない可能性があることを意味する。これには、Boostによって配布されるビルド済みバイナリも含まれる。 + +影響を受けるライブラリは以下の通り: + +- Boost.Atomic +- Boost.Beast +- Boost.Chrono +- Boost.DateTime +- Boost.DLL +- Boost.Filesystem +- Boost.Interprocess +- Boost.Log +- Boost.Pool +- Boost.Process +- Boost.System +- Boost.Stacktrace +- Boost.Thread +- Boost.UUID + +これらに依存するライブラリも同様である。 + +ユーザーは、Boostをビルドして使用する際に、`BOOST_USE_WINAPI_VERSION`または`_WIN32_WINNT`を必要なバージョン番号に定義することで、デフォルトを変更することができる。例として、Windows 7をターゲットにBoostをビルドするには、次のようなコマンドラインを使用することができる: + +```bash +b2 variant=release define=BOOST_USE_WINAPI_VERSION=0x0601 stage +``` + +ただし、個々のライブラリが、サポートされるWindowsの最小バージョンについて独自の要件を持っている可能性があることに注意すること。 + +Windows APIバージョン番号のリストは[Update `WINVER` and `_WIN32_WINNT`](https://msdn.microsoft.com/en-us/library/6sehtctf.aspx)ページで確認できる。 + + ## 新ライブラリ - [Cobalt](https://boost.org/libs/cobalt) @@ -27,18 +61,22 @@ ## 更新ライブラリ - [Any](#any) +- [Atomic](#atomic) - [Beast](#beast) - [Chrono](#chrono) - [ContainerHash](#container-hash) - [Conversion](#conversion) +- [Core](#core) - [CRC](#crc) - [DLL](#dll) - [Endian](#endian) +- [Filesystem](#filesystem) - [Heap](#heap) - [LEAF](#leaf) - [LexicalCast](#lexical-cast) - [Locale](#locale) - [Lockfree](#lockfree) +- [Log](#log) - [Multi-index](#multi-index) - [MySQL](#mysql) - [PFR](#pfr) @@ -60,6 +98,13 @@ - リファレンスのドキュメント生成を修正。これにより、Boost.PFRのリファレンスによって上書きされないようになった。Peter Dimov氏のデバッグに感謝 +## Atomic + +- C++03のサポートを終了。新たな要求はC++11以上となる +- [GitHUb #14](https://github.com/boostorg/atomic/issues/14) FreeBSDとOpenBSDで使用されている、精度を下げたx87拡張`double`のサポートを追加 +- Windows 10より古いWindowsバージョンのサポートは非推奨であり、Boost 1.87で削除される予定。 + + ## Beast - `immediate_executor`をサポート @@ -86,6 +131,15 @@ - [GitHub #27](https://github.com/boostorg/conversion/pull/27) C++03のサポートを終了 +## Core + +- [GitHub #148](https://github.com/boostorg/core/issues/148) ユーティリティ関数 `boost::swap` は `boost::core::invoke_swap` に名前が変更された + - 新しい関数は `boost/core/invoke_swap.hpp` で定義されており、機能的には `boost::swap` と等価である。古い `boost::swap` という名前は後方互換性のために残されているが、非推奨であり、将来のリリースで削除される予定である。`noexcept` の指定は、コンパイル時の再帰によるコンパイルエラーを避けるために削除された + - `BOOST_ALLOW_DEPRECATED_SYMBOLS` または `BOOST_ALLOW_DEPRECATED` を定義することで、移行期間中の非推奨の警告を抑制することができる +- ヘッダ `boost/swap.hpp`、`boost/utility/swap.hpp`、`boost/core/swap.hpp` は非推奨であり、削除される予定である。`boost/core/invoke_swap.hpp`に切り替えること + - `BOOST_ALLOW_DEPRECATED_HEADERS` または `BOOST_ALLOW_DEPRECATED` を定義すると、非推奨の警告を抑制することができる + + ## CRC - C++03のサポートを非推奨化した。Boost 1.86.0で削除予定 @@ -101,6 +155,16 @@ - C++03のサポートを終了 +## Filesystem + +- Boost 1.82.0でアナウンスされたように、C++03のサポートは終了した。C++11以降のコンパイラが必要となる +- [GitHub #291](https://github.com/boostorg/filesystem/issues/291) `error_code& ec`引数をとる一部の `directory_entry` オブザーバが、正常に戻ったときにエラーコードをクリアしていなかったのを修正した +- [GitHub #293](https://github.com/boostorg/filesystem/issues/293) Windowsで日付と時刻の変換の堅牢性を改善し、1970年1月1日より前の日付のサポートを追加した +- Boost.Filesystem 1.79.0以降で非推奨となっていたWindows CEへの対応を削除 +- `boost/filesystem/string_file.hpp` ヘッダを削除。このヘッダはBoost.Filesystem 1.79.0以降で非推奨となっていた +- **非推奨化:** Windows 10より古いWindowsバージョンのサポートは非推奨であり、Boost 1.87で削除される予定 + + ## Heap - C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる @@ -136,6 +200,13 @@ - C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる +## Log + +- C++03のサポートを終了。C++11以降のコンパイラが必要となる +- Boost.Regex v5を使用するのに十分な適合性を持つC++11コンパイラでビルドした場合、Boost.Regex v5はヘッダのみであるため、Boost.LogはBoost.Regex組み込み済みライブラリとリンクしなくなった +- Windows 10より古いWindowsバージョンのサポートは非推奨であり、Boost 1.87で削除される予定 + + ## Multi-index - [GitHub #70](https://github.com/boostorg/multi_index/issues/70) ADLをサポートしていない古いコンパイラにおけるシリアライズ関連のコンパイル時バグを修正