From 3e88b35d0dc2c29ca218b0376ea40ad3cf6c14e3 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Tue, 22 Jul 2025 02:16:22 +0300 Subject: [PATCH 1/6] Add release notes for Atomic, Core, Detail, Filesystem, Iterator, Log. --- feed/history/boost_1_89_0.qbk | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index 0ca0fb73..18837fb3 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -44,6 +44,16 @@ Please keep the list of libraries sorted in lexicographical order. * [phrase library..[@/libs/any/ Any]:] * [*Initial support for C++20 Modules]. See the docs for more info. +* [phrase library..[@/libs/atomic/ Atomic]:] + * Added TSAN instrumentation in asm-based x86, AArch32, AArch64 and PPC backends. This silences TSAN false errors for code using Boost.Atomic for thread synchronization. + * Following the announcement in Boost 1.84, removed support for Windows versions older than Windows 10. + * A note to MinGW-w64 users. Since Windows SDK headers on MinGW-w64 define `_WIN32_WINNT` to an older Windows version by default, you may need to define `_WIN32_WINNT=0x0A00` or `BOOST_USE_WINAPI_VERSION=0x0A00` when compiling Boost.Atomic and the code that uses Boost.Atomic. + * Support for Windows CE is deprecated and will be removed in a future release. + * Added support for timed waiting operations. + * Exposed `thread_pause` operation, which can be used as a backoff measure in spin loops. Added support for PowerPC and improved support for AArch64 in `thread_pause`. + * Removed `BOOST_ATOMIC_NO_ATOMIC_FLAG_INIT` macro definition. Since the library now requires C++11, `BOOST_ATOMIC_FLAG_INIT` is always supported. + * Enabled bitwise operations for atomic enumerations. This can be useful when enumerations are used to implement bit masks. + * [phrase library..[@/libs/beast/ Beast]:] * Fixes * Conditionally defined `immediate_executor_type` in `async_base`. @@ -68,6 +78,14 @@ Please keep the list of libraries sorted in lexicographical order. * [phrase library..[@/libs/conversion/ Conversion]:] * Added an ability to use `polymorphic_downcast` and `polymorphic_cast` in constexpr (requires C++20). +* [phrase library..[@/libs/core/ Core]:] + * Fixed `bit_ceil` to return 1 for input 0 as per specification. ([github_pr core 199]) + * Added support for `std::format` to `boost::core::string_view`. ([github core 190]) + +* [phrase library..[@/libs/detail/ Detail]:] + * Operators generated by `BOOST_BITMASK` now use underlying type of the enum to implement bitwise operators. The operators are marked `noexcept` and `constexpr`, when possible. + * The function `bitmask_set` generated by `BOOST_BITMASK` is marked deprecated. In a future release, `BOOST_BITMASK` will stop producing this function. Users are recommended to use double negation (`!!mask`) to test if the value is zero. This affects e.g. enums defined in Boost.Filesystem. + * [phrase library..[@/libs/dll/ DLL]:] * Fixed compiling and exporting on Cygwin. Many thanks to [@https://github.com/Luohaothu Luohao Wang] for the PR! @@ -75,10 +93,25 @@ Please keep the list of libraries sorted in lexicographical order. * Added `BOOST_DLL_USE_STD_FS` CMake option to match the preprocessor option. Thanks to [@https://github.com/yurybura Yury Bura] for the PR! +* [phrase library..[@/libs/filesystem/ Filesystem]:] + * Corrected ASAN warnings about comparing pointers to potentially unrelated objects in `path::append`. ([github filesystem 335]) + * [phrase library..[@/libs/hash2/ Hash2]:] * Added Blake2 algorithm (`blake2s_256`, `blake2b_512`). * Added XXH3 algorithm (`xxh3_128`). +* [phrase library..[@/libs/iterator/ Iterator]:] + * Fixed `filter_iterator` copy/converting constructor, which could previously produce an invalid iterator. ([github iterator 92]) + * Removed usage of `is_trivial` in `iterator_facade` as it is deprecated in C++26. ([github iterator 93]) + * `iterator_facade::operator[]` now always returns a proxy rather than conditionally returning a value or a proxy. This allows users to bind a reference to the result of the operator, regardless of whether the value type is trivially-copyable. ([github iterator 61]) + * The proxy returned by `iterator_facade::operator[]` now supports forwarding dereferencing operators to the referenced value. This allows `it[n]->foo()` and `(*it[n]).foo()` expressions to compile. + * The proxy returned by `iterator_facade::operator[]` now implementes perfect forwarding in its assignment operator. + +* [phrase library..[@/libs/log/ Log]:] + * Added support for `BOOST_LOG_WITHOUT_ASIO` configuration macro, which can be used to remove the dependency on Boost.Asio and disable the related functionality. + * Use locale-independent formatting of the file counter in `text_file_backend` when composing log file names. This fixes failures in the subsequent parsing of the file names in `file_collector::scan_for_files`. ([github_pr log 246]) + * Added a new `wrap_filter` utility that simplifies injecting user-defined function objects in filtering expressions. ([github log 195]) + * [phrase library..[@/libs/mysql/ MySQL]:] * The `caching_sha2_password` authentication plugin can now be used without TLS. This is the default in MySQL 8 and above. Plaintext connections that attempt to From b8b3e7774941e100d1de9c9fab5d420d5a69f899 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Tue, 22 Jul 2025 02:34:00 +0300 Subject: [PATCH 2/6] Fix Any release notes. The extra indentation renders Boost.Any release notes as a code block. Remove it to make it part of the list. --- feed/history/boost_1_89_0.qbk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index 18837fb3..b0287ab2 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -41,8 +41,8 @@ Please keep the list of libraries sorted in lexicographical order. * Fixed `named_condition_any` fails to notify ([github interprocess 62]) ] - * [phrase library..[@/libs/any/ Any]:] - * [*Initial support for C++20 Modules]. See the docs for more info. +* [phrase library..[@/libs/any/ Any]:] + * [*Initial support for C++20 Modules]. See the docs for more info. * [phrase library..[@/libs/atomic/ Atomic]:] * Added TSAN instrumentation in asm-based x86, AArch32, AArch64 and PPC backends. This silences TSAN false errors for code using Boost.Atomic for thread synchronization. From f7bd62f2f9e9b1f7a73026a3de7ac1a60082f1fd Mon Sep 17 00:00:00 2001 From: Vissarion Fisikopoulos Date: Thu, 17 Jul 2025 17:17:11 +0300 Subject: [PATCH 3/6] Update boost_1_89_0.qbk --- feed/history/boost_1_89_0.qbk | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index 0ca0fb73..df57bf0d 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -75,6 +75,22 @@ Please keep the list of libraries sorted in lexicographical order. * Added `BOOST_DLL_USE_STD_FS` CMake option to match the preprocessor option. Thanks to [@https://github.com/yurybura Yury Bura] for the PR! +* [phrase library..[@/libs/geometry/ Geometry]:] + * Major improvements + * [github_pr geometry 1369] Rewrite of traversal + * [github_pr geometry 1402] Add geometry polyhedral surface + * Improvements + * [github_pr geometry 1404] Performance improvements in buffer + * [github_pr geometry 1405] Avoid static variables and functions in header files + * Breaking changes + * [github_pr geometry 1401] Remove deprecated headers + * Solved issues + * [github geometry 1221] Difference with rectilinear multipolygon with integer coordinates produces invalid polygon with disconnected interior + * [github geometry 1295] Wrong result in intersection (result polygon is equal to the biggest of the input polygons) + * [github geometry 1349] Difference of polygons giving wrong result + * [github geometry 1382] Buffer operation creates self-intersection + * Various fixes of errors and warnings + * [phrase library..[@/libs/hash2/ Hash2]:] * Added Blake2 algorithm (`blake2s_256`, `blake2b_512`). * Added XXH3 algorithm (`xxh3_128`). From d0a288b86e4679570357f8879aa7bc9f8bd96775 Mon Sep 17 00:00:00 2001 From: Dmitry Arkhipov Date: Mon, 21 Jul 2025 14:40:21 +0300 Subject: [PATCH 4/6] JSON release notes for 1.89.0 --- feed/history/boost_1_89_0.qbk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index df57bf0d..fbbffd83 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -95,6 +95,11 @@ Please keep the list of libraries sorted in lexicographical order. * Added Blake2 algorithm (`blake2s_256`, `blake2b_512`). * Added XXH3 algorithm (`xxh3_128`). +* [phrase library..[@/libs/json/ JSON]:] + * Revamped documentation. + * Optionals that are ranges are categorised as optionals. + * Described class support is enabled for types with bases. + * [phrase library..[@/libs/mysql/ MySQL]:] * The `caching_sha2_password` authentication plugin can now be used without TLS. This is the default in MySQL 8 and above. Plaintext connections that attempt to From 38258860144406801fd10a3081b043c85889c8a6 Mon Sep 17 00:00:00 2001 From: Klemens Morgenstern Date: Tue, 5 Aug 2025 09:02:11 +0800 Subject: [PATCH 5/6] Process release notes for 1.89. --- feed/history/boost_1_89_0.qbk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index fbbffd83..684d6a7b 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -127,6 +127,11 @@ Please keep the list of libraries sorted in lexicographical order. to allow compilation of `for (std::string_view name : boost::pfr::names_as_array(empty_struct{}))`. Many thanks to [@https://github.com/sabudilovskiy sabudilovskiy] for the bug report! +* [phrase library..[@/libs/process/ process]:] + * Added `v1.hpp` to emulate v1 `process.hpp` include. + * Fix to windows path escaping + * Fixed exit-code issue wehre terminate & async_wait lead to a loss of the exit-code value. + * [phrase library..[@/libs/type_index/ TypeIndex]:] * [*Initial support for C++20 Modules]. See the docs for more info. From 2a482569e140af4bb144d1a9aa701de618ace87f Mon Sep 17 00:00:00 2001 From: Klemens Morgenstern Date: Tue, 5 Aug 2025 09:12:31 +0800 Subject: [PATCH 6/6] Cobalt release notes for 1.89. --- feed/history/boost_1_89_0.qbk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index 684d6a7b..33bc3601 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -59,6 +59,11 @@ Please keep the list of libraries sorted in lexicographical order. * Acknowledgements * yliu1021 +* [phrase library..[@/libs/cobalt/ Cobalt]:] + * Move assign fixed for generator & promise. + * Fixed internal exceptions + * Added IO library. Cobalt.io provides a large subset of asio as a compiled library. + * [phrase library..[@/libs/compat/ Compat]:] * Added `move_only_function.hpp`.