Skip to content

Commit

Permalink
1.84.0 : デフォルトWindowsバージョンの更新、Atomic、Core、Filesystem、Logを追加
Browse files Browse the repository at this point in the history
  • Loading branch information
faithandbrave committed Nov 25, 2023
1 parent d7ec01f commit 5153ad7
Showing 1 changed file with 71 additions and 0 deletions.
71 changes: 71 additions & 0 deletions document/version/1_84_0.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -60,6 +98,13 @@
- リファレンスのドキュメント生成を修正。これにより、Boost.PFRのリファレンスによって上書きされないようになった。Peter Dimov氏のデバッグに感謝


## <a id="atomic" href="#atomic">Atomic</a>

- C++03のサポートを終了。新たな要求はC++11以上となる
- [GitHUb #14](https://github.com/boostorg/atomic/issues/14) FreeBSDとOpenBSDで使用されている、精度を下げたx87拡張`double`のサポートを追加
- Windows 10より古いWindowsバージョンのサポートは非推奨であり、Boost 1.87で削除される予定。


## <a id="beast" href="#beast">Beast</a>

- `immediate_executor`をサポート
Expand All @@ -86,6 +131,15 @@
- [GitHub #27](https://github.com/boostorg/conversion/pull/27) C++03のサポートを終了


## <a id="core" href="#core">Core</a>

- [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` を定義すると、非推奨の警告を抑制することができる


## <a id="crc" href="#crc">CRC</a>

- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定
Expand All @@ -101,6 +155,16 @@
- C++03のサポートを終了


## <a id="filesystem" href="#filesystem">Filesystem</a>

- 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で削除される予定


## <a id="heap" href="#heap">Heap</a>

- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる
Expand Down Expand Up @@ -136,6 +200,13 @@
- C++03のサポートを非推奨化した。Boost 1.86.0で削除予定。新たな要求はC++14以上となる


## <a id="log" href="#log">Log</a>

- C++03のサポートを終了。C++11以降のコンパイラが必要となる
- Boost.Regex v5を使用するのに十分な適合性を持つC++11コンパイラでビルドした場合、Boost.Regex v5はヘッダのみであるため、Boost.LogはBoost.Regex組み込み済みライブラリとリンクしなくなった
- Windows 10より古いWindowsバージョンのサポートは非推奨であり、Boost 1.87で削除される予定


## <a id="multi-index" href="#multi-index">Multi-index</a>

- [GitHub #70](https://github.com/boostorg/multi_index/issues/70) ADLをサポートしていない古いコンパイラにおけるシリアライズ関連のコンパイル時バグを修正
Expand Down

0 comments on commit 5153ad7

Please sign in to comment.