diff --git a/feed/history/boost_1_89_0.qbk b/feed/history/boost_1_89_0.qbk index 53b67001..6d89b5db 100644 --- a/feed/history/boost_1_89_0.qbk +++ b/feed/history/boost_1_89_0.qbk @@ -41,8 +41,18 @@ 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. + * 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 @@ -63,6 +73,11 @@ Please keep the list of libraries sorted in lexicographical order. * Fixed a performance degradation with `from_chars` for integer types * Fixed rounding and trailing decimal place bugs with `to_chars` for specified precisions with floating point types +* [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`. @@ -72,6 +87,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! @@ -79,10 +102,46 @@ 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/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`). +* [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/json/ JSON]:] + * Revamped documentation. + * Optionals that are ranges are categorised as optionals. + * Described class support is enabled for types with bases. + +* [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/math/ Math]:] * Add explicit C++14 `` and `constexpr` requirement to builds * Collected fixes for GPU support on a variety of platforms @@ -124,6 +183,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/random/ Random]:] * Fix NAN being generated by `beta_distribution` * Improve the performance of `beta_distribution::operator()`