2
0
mirror of https://github.com/boostorg/website.git synced 2026-02-15 01:32:08 +00:00
Files
website/generated/downloads.rss
2023-09-05 22:30:39 -04:00

3739 lines
191 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:boostbook="urn:boost-org:boostbook" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<generator>Boost Website Site Tools</generator>
<title>Boost Downloads</title>
<link>https://www.boost.org/users/download/</link>
<atom:link href="https://www.boost.org/generated/downloads.rss" rel="self" type="application/rss+xml" />
<description></description>
<language>en-us</language>
<copyright>Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or https://www.boost.org/LICENSE_1_0.txt)</copyright>
<item><title>Version 1.83.0</title><link>https://www.boost.org/users/history/version_1_83_0.html</link><guid>https://www.boost.org/users/history/version_1_83_0.html</guid><pubDate>Fri, 11 Aug 2023 16:23:02 +0000</pubDate><description>
&lt;div id="version_1_83_0.known_issues"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Known Issues&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
These are patches from library authors which were found too late to be fixed
in the release.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
JSON
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Compilation on Windows ARM platforms may fail for missing intrinsics,
see &lt;a href="https://github.com/boostorg/json/issues/926"&gt;#926&lt;/a&gt; and &lt;a href="https://github.com/boostorg/json/issues/927"&gt;#927&lt;/a&gt;. &lt;a href="https://github.com/boostorg/json/commit/c4ce8509d015a0b75cfa9d36609b8409821a9c86.patch"&gt;Patch&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Unordered
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix erroneous copy assigment operator that would destroy non-existent
elements, see &lt;a href="https://github.com/boostorg/unordered/issues/205"&gt;#205&lt;/a&gt;. &lt;a href="https://www.boost.org/patches/1_83_0/0001-unordered-fix-copy-assign.patch"&gt;Patch&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_83_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/compat/"&gt;Compat&lt;/a&gt;:&lt;/span&gt; A repository of C++11
implementations of standard components added in later C++ standards, from
Peter Dimov and contributors.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_83_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/any/"&gt;Any&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;anys&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;unique_any&lt;/span&gt;&lt;/code&gt; C++11 class - an alternative
to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;any&lt;/span&gt;&lt;/code&gt; (or to &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;any&lt;/span&gt;&lt;/code&gt;)
that does not require copy or move construction from the held type.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ported documentation to Quickbook, Doxygen comments now used in code.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/atomic/"&gt;Atomic&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation of &lt;code&gt;&lt;span class="identifier"&gt;atomic_ref&lt;/span&gt;&lt;/code&gt;
for &lt;code&gt;&lt;span class="keyword"&gt;const&lt;/span&gt;&lt;/code&gt;-qualified
types. Note that even &lt;code&gt;&lt;span class="keyword"&gt;const&lt;/span&gt;&lt;/code&gt;-qualified
atomic objects must still reside in read-write memory. (&lt;a href="https://github.com/boostorg/atomic/issues/62"&gt;#62&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/chrono/"&gt;Chrono&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Remove use of deprecated Boost.Ratio features.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/compat/"&gt;Compat&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;latch&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;, an implementation of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;latch&lt;/span&gt;&lt;/code&gt; (contributed by Christian
Mazakas.)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;shared_lock&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;,
a (partial) implementation of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;shared_lock&lt;/span&gt;&lt;/code&gt;
(contributed by Christian Mazakas.)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/core/"&gt;Core&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added support for incomplete types to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;type_name&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bit manipulation functions in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;bit&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
are now &lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt; on
recent MSVC versions (VS2019 update 5 and later.)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;byteswap&lt;/span&gt;&lt;/code&gt; (an implementation of
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;byteswap&lt;/span&gt;&lt;/code&gt; from C++23) to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;bit&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Moved the yield primitives &lt;code&gt;&lt;span class="identifier"&gt;sp_thread_pause&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;sp_thread_yield&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;sp_thread_sleep&lt;/span&gt;&lt;/code&gt; from
SmartPtr implementation details to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;yield_primitives&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dll/"&gt;DLL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed tests failures on glibc 2.36+, thanks to [Đoàn Trần Công
Danh](https://github.com/sgn) for the bugreport &lt;a href="https://github.com/boostorg/dll/issues/58"&gt;#58&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;directory_entry&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;refresh&lt;/span&gt;&lt;/code&gt;
method that updates internal cached file statuses for the directory
entry identified by path.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;v4:&lt;/strong&gt; &lt;code&gt;&lt;span class="identifier"&gt;directory_entry&lt;/span&gt;&lt;/code&gt;
constructors and modifiers that initialize or modify the path now
automatically call &lt;code&gt;&lt;span class="identifier"&gt;refresh&lt;/span&gt;&lt;/code&gt;.
This may result in errors that were not indicated before and in
&lt;strong&gt;v3&lt;/strong&gt;, if querying the filesystem for
file statuses fails (e.g. if the file does not exist). This new behavior
is similar to std::filesystem.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;v4:&lt;/strong&gt; &lt;code&gt;&lt;span class="identifier"&gt;directory_entry&lt;/span&gt;&lt;/code&gt;
constructors and methods taking &lt;code&gt;&lt;span class="identifier"&gt;file_status&lt;/span&gt;&lt;/code&gt;
parameters are removed. Users are recommended to remove these arguments
and rely on &lt;code&gt;&lt;span class="identifier"&gt;directory_entry&lt;/span&gt;&lt;/code&gt;
calling &lt;code&gt;&lt;span class="identifier"&gt;refresh&lt;/span&gt;&lt;/code&gt; internally.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;directory_entry&lt;/span&gt;&lt;/code&gt;
member methods for checking the file type of the file, similar to
std::filesystem.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added more methods for testing file status: &lt;code&gt;&lt;span class="identifier"&gt;is_block_file&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;is_character_file&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;is_fifo&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;is_socket&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;is_reparse_file&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;recursive_directory_iterator&lt;/span&gt;&lt;/code&gt;
is now more likely to reuse information about the file type that
is obtained during filesystem iteration. This may improve performance.
(&lt;a href="https://github.com/boostorg/filesystem/issues/288"&gt;#288&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
File streams defined in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;fstream&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
are now movable, if the standard library file streams are. (&lt;a href="https://github.com/boostorg/filesystem/issues/280"&gt;#280&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new header &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;cstdio&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
with a portable &lt;code&gt;&lt;span class="identifier"&gt;fopen&lt;/span&gt;&lt;/code&gt;
overload that takes &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;
as the first argument. This function is equivalent to &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;fopen&lt;/span&gt;&lt;/code&gt;, except that on Windows it
uses the native wide character encoding for paths.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Generic &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt; comparison
operators are now more restricted to avoid potential ambiguities
when user's code contains a &lt;code&gt;&lt;span class="keyword"&gt;using&lt;/span&gt;
&lt;span class="keyword"&gt;namespace&lt;/span&gt; &lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;;&lt;/span&gt;&lt;/code&gt; directive. (&lt;a href="https://github.com/boostorg/filesystem/issues/285"&gt;#285&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed potential overload resolution ambiguity in users' code, where
&lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt; constructors
from iterators could interfere with function overloads taking a
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;initializer_list&lt;/span&gt;&lt;/code&gt; argument. (&lt;a href="https://github.com/boostorg/filesystem/issues/287"&gt;#287&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, added more workarounds for errors returned by various
filesystems when creating a directory iterator. (&lt;a href="https://github.com/boostorg/filesystem/issues/284"&gt;#284&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/filesystem/issues/286"&gt;#286&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, relaxed access rights needed for querying file times.
(&lt;a href="https://github.com/boostorg/filesystem/issues/290"&gt;#290&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/flyweight/index.html"&gt;Flyweight&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added smart-pointer syntax to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;flyweight&lt;/span&gt;&lt;/code&gt;
(&lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;*&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;-&amp;gt;&lt;/span&gt;&lt;/code&gt;
dereferencing to the underlying value).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a situation where the mutex used by &lt;a href="https://www.boost.org/libs/flyweight/doc/reference/locking.html#simple_locking_synopsis"&gt;&lt;code&gt;&lt;span class="identifier"&gt;simple_locking&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; was not
recursive (issue &lt;a href="https://github.com/boostorg/flyweight/issues/12"&gt;#12&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/geometry/"&gt;Geometry&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improvements
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/1140"&gt;PR#1140&lt;/a&gt; Drop dependencies and replace boost with
std in several places
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/1154"&gt;PR#1154&lt;/a&gt; Add missing headers so that all headers
compile independently complying with Boost policy
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/1157"&gt;PR#1157&lt;/a&gt; Check const Ring concept in calculate_point_order
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Solved issues
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1100"&gt;#1100&lt;/a&gt; Fix for union
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1139"&gt;#1139&lt;/a&gt; Fix for different geometry types
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1158"&gt;#1158&lt;/a&gt; Fix for convex hull
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1161"&gt;#1161&lt;/a&gt; Fix within algorithm for geometries having
a pole as a vertex
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Various fixes of errors and warnings
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/iterator/"&gt;Iterator&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;is_iterator&lt;/span&gt;&lt;/code&gt;
type trait that allows to test whether the type qualifies as an iterator
type.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;filter_iterator&lt;/span&gt;&lt;/code&gt; now
supports move-construction of the adopted iterator and the function
object. (&lt;a href="https://github.com/boostorg/iterator/pull/79"&gt;PR#79&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/json/"&gt;JSON&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
The library now only throws &lt;code&gt;&lt;span class="identifier"&gt;system_error&lt;/span&gt;&lt;/code&gt;,
except for when allocation failed, in which case &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;bad_alloc&lt;/span&gt;&lt;/code&gt;
is thrown.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Serialization behavior can now be changed by &lt;code&gt;&lt;span class="identifier"&gt;serialize_options&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Contextual conversions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Parser option for more precise number parsing.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support &lt;code&gt;&lt;span class="identifier"&gt;parse_options&lt;/span&gt;&lt;/code&gt;
in stream &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Parser option to allow &lt;code&gt;&lt;span class="identifier"&gt;Infinity&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;NaN&lt;/span&gt;&lt;/code&gt; JSON literals.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Parser mode that only validates numbers rather than parsing them.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Numbers with exponent larger than &lt;code&gt;&lt;span class="identifier"&gt;INT_MAX&lt;/span&gt;&lt;/code&gt;
are accepted by the parser and treated as infinity.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix &lt;code&gt;&lt;span class="identifier"&gt;object&lt;/span&gt;&lt;/code&gt; member
functions that should provide strong guarantee.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix ambiguity of &lt;code&gt;&lt;span class="identifier"&gt;end&lt;/span&gt;&lt;/code&gt;
call when &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;range&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; is included.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix ASan failures.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix error message for &lt;code&gt;&lt;span class="identifier"&gt;error&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;size_mismatch&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix conversion into tuple with const elements.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/locale/index.html"&gt;Locale&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Bitwise/binary operators (left/right shift, binary and/or/xor/not)
are no longer supported in message catalog files matching GNU gettext
behavior
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Std backend on Windows uses the classic locale instead of the system
locale when the requested locale does not exist (now same as on other
OSs)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;localization_backend_manager&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;get&lt;/span&gt;&lt;/code&gt;
is deprecated, use the generator instead
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New converter classes as alternative to &lt;code&gt;&lt;span class="identifier"&gt;to_utf&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="identifier"&gt;from_utf&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="identifier"&gt;between&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix UB on invalid index in format strings
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix conversion of UTF to e.g. iso-2022-jp on Windows without ICU
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Use &lt;code&gt;&lt;span class="keyword"&gt;long&lt;/span&gt; &lt;span class="keyword"&gt;long&lt;/span&gt;&lt;/code&gt;
as the count parameter for pluralized translations
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix movability and exception specification for some classes
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/log/"&gt;Log&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a possible infinite loop in &lt;code&gt;&lt;span class="identifier"&gt;text_file_backend&lt;/span&gt;&lt;/code&gt;,
when the size of a formatted log record exceeds the &lt;code&gt;&lt;span class="identifier"&gt;rotation_size&lt;/span&gt;&lt;/code&gt; limit. (&lt;a href="https://github.com/boostorg/log/issues/209"&gt;#209&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added Numerical evaluation of Fourier transform of Daubechies scaling
functions &lt;a href="https://github.com/boostorg/math/pull/921"&gt;921&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added logcdf function to statistical distributions &lt;a href="https://github.com/boostorg/math/pull/946"&gt;946&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for C++23's &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;stdfloat&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
types &lt;a href="https://github.com/boostorg/math/pull/978"&gt;978&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed various &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;Wmaybe&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;uninitialized&lt;/span&gt;&lt;/code&gt;
warnings
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;round&lt;/span&gt;&lt;/code&gt; and
&lt;code&gt;&lt;span class="identifier"&gt;trunc&lt;/span&gt;&lt;/code&gt; functions for
non-representable numbers &lt;a href="https://github.com/boostorg/math/pull/968"&gt;968&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed calculation of mode for F-distribution &lt;a href="https://github.com/boostorg/math/pull/976"&gt;976&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed overflow in beta distribution &lt;a href="https://github.com/boostorg/math/pull/977"&gt;977&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed overflow in hypergeometric distribution &lt;a href="https://github.com/boostorg/math/pull/987"&gt;987&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed calculation of median absolute deviation with non-zero center
&lt;a href="https://github.com/boostorg/math/pull/997"&gt;997&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/mp11/"&gt;Mp11&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added an offset/from parameter to &lt;code&gt;&lt;span class="identifier"&gt;mp_from_sequence&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_iota&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_iota_c&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_value&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_list_v&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_rename_v&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_is_value_list&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added value list support to the primitives in &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;mp11&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;list&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added value list support to &lt;code&gt;&lt;span class="identifier"&gt;mp_repeat&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_fill&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_at&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_back&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_take&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_pop_back&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_drop&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_insert&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_erase&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Updated range &lt;code&gt;&lt;span class="identifier"&gt;insert&lt;/span&gt;&lt;/code&gt;
in non-unique ordered indices to preserve insertion order of equivalent
elements (issue &lt;a href="https://github.com/boostorg/multi_index/issues/68"&gt;#68&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Serialization now uses &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;size_t&lt;/span&gt;&lt;/code&gt;
instead of &lt;code&gt;&lt;span class="keyword"&gt;unsigned&lt;/span&gt; &lt;span class="keyword"&gt;long&lt;/span&gt;&lt;/code&gt; to save and load the size of
a &lt;code&gt;&lt;span class="identifier"&gt;multi_index_container&lt;/span&gt;&lt;/code&gt;
(&lt;code&gt;&lt;span class="keyword"&gt;unsigned&lt;/span&gt; &lt;span class="keyword"&gt;long&lt;/span&gt;&lt;/code&gt;
is smaller than &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;size_t&lt;/span&gt;&lt;/code&gt;
in LLP64 data models). &lt;code&gt;&lt;span class="identifier"&gt;multi_index_container&lt;/span&gt;&lt;/code&gt;
serialization &lt;a href="https://www.boost.org/libs/serialization/doc/tutorial.html#versioning"&gt;class
version&lt;/a&gt; has been bumped from 3 to 4 to reflect this change.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multiprecision/"&gt;Multiprecision&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed bug in rational adapter division &lt;a href="https://github.com/boostorg/multiprecision/pull/542"&gt;542&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed handling of global precsion changes in multi-threaded environments
&lt;a href="https://github.com/boostorg/multiprecision/pull/552"&gt;552&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;cpp_int&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;eval_convert_to&lt;/span&gt;&lt;/code&gt; noexcept specification
&lt;a href="https://github.com/boostorg/multiprecision/pull/555"&gt;555&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/mysql/"&gt;MySQL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Stored procedures are now fully supported, including &lt;code&gt;&lt;span class="identifier"&gt;SELECT&lt;/span&gt;&lt;/code&gt; statements producing data
and procedures with &lt;code&gt;&lt;span class="identifier"&gt;OUT&lt;/span&gt;&lt;/code&gt;
parameters.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for multi-queries, which allows running multiple semicolon-separated
statements with a single call.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
A statically-typed interface has been added, which allows parsing
query results into user-provided types, using &lt;a href="https://www.boost.org/libs/describe/"&gt;Boost.Describe&lt;/a&gt;
structs and tuples.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Text queries and prepared statements can now be executed using the
new &lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;execute&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;start_execution&lt;/span&gt;&lt;/code&gt;
functions (and their async counterparts). These superseed &lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;query&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;execute_statement&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;start_query&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;start_statement_execution&lt;/span&gt;&lt;/code&gt;.
The new functions allow access to new features, like the static interface.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
A separate compilation mode has been added to help reduce build times.
Sources are included in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;mysql&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;src&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;,
which must be included in exactly one translation unit.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prepared statements can now be executed using an iterator pair to
specify parameters, using &lt;code&gt;&lt;span class="identifier"&gt;statement&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;bind&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;connection&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;execute&lt;/span&gt;&lt;/code&gt;. This enables use cases
where the number and type of parameters is not known at compile-time.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prepared statement execution now accepts parameters of type &lt;code&gt;&lt;span class="keyword"&gt;bool&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added error codes and verified compatibility with MySQL v8.0.33 and
MariaDB v11.0.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed potential problems with Windows' &lt;code&gt;&lt;span class="identifier"&gt;min&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;max&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; macros.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
All assertions now use &lt;a href="https://www.boost.org/libs/assert/"&gt;Boost.Assert&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
All exceptions are now thrown via &lt;a href="https://www.boost.org/libs/throw_exception/"&gt;Boost.ThrowException&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Immediate completions are now correctly dispatched through the I/O
object executor.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/ratio/"&gt;Ratio&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Change default &lt;code&gt;&lt;span class="identifier"&gt;BOOST_RATIO_VERSION&lt;/span&gt;&lt;/code&gt;
to 2.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for &lt;code&gt;&lt;span class="identifier"&gt;BOOST_RATIO_EXTENSIONS&lt;/span&gt;&lt;/code&gt;
is now deprecated and will eventually be removed when Boost.Ratio
is implemented in terms of the standard &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;ratio&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
header.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added addtional older platforms to CI system (e.g. GCC 4.6)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed handling of &lt;code&gt;&lt;span class="identifier"&gt;uintptr_t&lt;/span&gt;&lt;/code&gt;
to make sure it is portable on 32-bit systems &lt;a href="https://github.com/boostorg/test/pull/353"&gt;353&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed warnings from &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;Wdeprecated&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;copy&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;dtor&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;Wdeprecated&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;copy&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;with&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;user&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;provided&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;dtor&lt;/span&gt;&lt;/code&gt; &lt;a href="https://github.com/boostorg/test/pull/375"&gt;375&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed handling of &lt;code&gt;&lt;span class="identifier"&gt;check_is_close&lt;/span&gt;&lt;/code&gt;
for C++23 &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;stdfloat&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; types &lt;a href="https://github.com/boostorg/test/pull/382"&gt;382&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/timer/"&gt;Timer&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Remove dependency on Boost.Chrono, Boost.System, and others.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Disable deprecated headers unless &lt;code&gt;&lt;span class="identifier"&gt;BOOST_TIMER_ENABLE_DEPRECATED&lt;/span&gt;&lt;/code&gt;
is defined.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/unordered/"&gt;Unordered&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;concurrent_flat_map&lt;/span&gt;&lt;/code&gt;, a fast, thread-safe
hashmap based on open addressing.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Sped up iteration of open-addressing containers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
In open-addressing containers, &lt;code&gt;&lt;span class="identifier"&gt;erase&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;iterator&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt;, which previously returned nothing,
now returns a proxy object convertible to an iterator to the next
element. This enables the typical &lt;code&gt;&lt;span class="identifier"&gt;it&lt;/span&gt;
&lt;span class="special"&gt;=&lt;/span&gt; &lt;span class="identifier"&gt;c&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;erase&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;it&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; idiom without incurring any performance
penalty when the returned proxy is not used.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/url/"&gt;URL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;parse_query&lt;/span&gt;&lt;/code&gt; does
not recreate &lt;code&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;.
(&lt;a href="https://github.com/boostorg/url/issues/757"&gt;#757&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;url_view&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt; constructor requires
non-&lt;code&gt;&lt;span class="identifier"&gt;url_view_base&lt;/span&gt;&lt;/code&gt;.
(&lt;a href="https://github.com/boostorg/url/issues/756"&gt;#756&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;IP&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;literal&lt;/span&gt;&lt;/code&gt; can be &lt;code&gt;&lt;span class="identifier"&gt;IPv6addrz&lt;/span&gt;&lt;/code&gt;.
(&lt;a href="https://github.com/boostorg/url/issues/711"&gt;#711&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/uuid/"&gt;UUID&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improved generated x86 code for AVX targets. Removed the use of
&lt;code&gt;&lt;span class="identifier"&gt;lddqu&lt;/span&gt;&lt;/code&gt; instruction
on SSE3 targets, which penalize performance on Intel NetBurst CPUs
but is more optimal on Skylake and later CPUs. (&lt;a href="https://github.com/boostorg/uuid/pull/138"&gt;PR#138&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant2/"&gt;Variant2&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;uses_double_storage&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_83_0.updated_tools"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Tools&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/tools/build/"&gt;Build&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Includes release of &lt;a href="https://www.boost.org/tools/build/doc/html/#_version_4_10_1"&gt;B2
version 4.10.1&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_83_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++03: 4.6.3, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++03: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++20: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_83_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Marshall Clow and Glen Fernandes managed this release.
&lt;/p&gt;
&lt;/div&gt;
</description></item><item><title>Version 1.82.0</title><link>https://www.boost.org/users/history/version_1_82_0.html</link><guid>https://www.boost.org/users/history/version_1_82_0.html</guid><pubDate>Fri, 14 Apr 2023 03:08:20 +0000</pubDate><description>
&lt;div id="version_1_82_0.known_issues"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Known Issues&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
These are patches from library authors which were found too late to be fixed
in the release.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Filesystem
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Compilation on OpenBSD may fail because of broken support for &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;Wl&lt;/span&gt;&lt;span class="special"&gt;,--&lt;/span&gt;&lt;span class="identifier"&gt;no&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;undefined&lt;/span&gt;&lt;/code&gt;
compiler flag for shared libraries on this platform, see &lt;a href="https://github.com/boostorg/filesystem/issues/283"&gt;#283&lt;/a&gt;.
&lt;a href="https://www.boost.org/patches/1_82_0/0001-filesystem-fix-openbsd-build.patch"&gt;Patch&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, creating directory iterators over directories in SMBv1
shares may fail with &lt;code&gt;&lt;span class="identifier"&gt;ERROR_INVALID_LEVEL&lt;/span&gt;&lt;/code&gt;
error code, see &lt;a href="https://github.com/boostorg/filesystem/issues/284"&gt;#284&lt;/a&gt;. &lt;a href="https://www.boost.org/patches/1_82_0/0002-filesystem-fix-win-smbv1-dir-iterator.patch"&gt;Patch&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_82_0.notice_of_dropping_c_03_support"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Notice
of Dropping C++03 Support&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
The following libraries will be dropping C++03 support in release 1.84, two
releases from now:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Align
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Any
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Asio
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Atomic
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bind
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Chrono
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
ContainerHash
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Conversion
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
DLL
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Endian
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Filesystem
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Function
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Functional
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Io
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
LexicalCast
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Log
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Random
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ratio
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
SmartPtr
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
System
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Stacktrace
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Thread
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Timer
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
TypeIndex
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Typeof
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Unordered
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Variant
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
This release (1.82) and the next (1.83) will be the last releases offering
C++03 support for the above libraries and most of their dependencies.
&lt;/p&gt;
&lt;p&gt;
The new baseline requirement for the above libraries, and for most of Boost,
will be C++11. Since old compiler versions often implement C++11 only partially,
due to missing support or bugs, what compilers are considered to meet the C++11
requirement may vary by library.
&lt;/p&gt;
&lt;p&gt;
However, a general rule is that if a compiler does not recognize a C++11 keyword
or syntax at all (e.g. use of &lt;code&gt;&lt;span class="keyword"&gt;noexcept&lt;/span&gt;&lt;/code&gt;,
use of &lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt;, or defining
a &lt;code&gt;&lt;span class="special"&gt;=&lt;/span&gt;&lt;span class="keyword"&gt;delete&lt;/span&gt;&lt;/code&gt;d
function results in an immediate compile error), or if a compiler does not
provide a required C++11 header at all (e.g. trying to include &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; or &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;chrono&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
fails), or the compiler provides a C++11 feature or a header that is completely
unusable, this compiler is not considered a C++11 compiler.
&lt;/p&gt;
&lt;p&gt;
This rules out, for instance, Microsoft Visual C++ before 14.0, or GCC before
4.8.
&lt;/p&gt;
&lt;/div&gt;
&lt;div id="version_1_82_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/mysql/"&gt;Mysql&lt;/a&gt;:&lt;/span&gt; a C++11 client for the MySQL
database server, based on Boost.Asio, from Ruben Perez.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_82_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/any/"&gt;Any&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Now uses &lt;code&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;enable_if&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header instead of the deprecated
&lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;enable_if&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;. Thanks to Michael Ford for
the PR &lt;a href="https://github.com/boostorg/any/pull/25"&gt;PR#25&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/asio/"&gt;Asio&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added the ability to customise the execution of a completion handler
when an operation completes immediately.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added user-defined literals for buffer types.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new protocol type &lt;code&gt;&lt;span class="identifier"&gt;local&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;seq_packet_protocol&lt;/span&gt;&lt;/code&gt;
to represent &lt;code&gt;&lt;span class="identifier"&gt;AF_UNIX&lt;/span&gt;&lt;/code&gt;
with &lt;code&gt;&lt;span class="identifier"&gt;SOCK_SEQPACKET&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Exposed &lt;code&gt;&lt;span class="identifier"&gt;sigaction&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; flags via an optional argument
to &lt;code&gt;&lt;span class="identifier"&gt;signal_set&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;add&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Change &lt;code&gt;&lt;span class="identifier"&gt;allocator_binder&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;executor_binder&lt;/span&gt;&lt;/code&gt;,
and &lt;code&gt;&lt;span class="identifier"&gt;cancellation_slot_binder&lt;/span&gt;&lt;/code&gt;
to support detection of unspecialised associators.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed ambiguity in &lt;code&gt;&lt;span class="identifier"&gt;associated_cancellation_slot&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;reference_wrapper&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;get&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;awaitable&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
handling for completion signatures containing &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;exception_ptr&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;channel&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt; &lt;code&gt;&lt;span class="identifier"&gt;try_send&lt;/span&gt;&lt;/code&gt;
failure after a &lt;code&gt;&lt;span class="identifier"&gt;cancel&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;thread_pool&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;join&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; deadlock when the pool has no internal
threads.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed pipe &lt;code&gt;&lt;span class="identifier"&gt;release&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; when using &lt;tt&gt;io_uring&lt;/tt&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed data initialisation and cleanup issues in the &lt;tt&gt;io_uring&lt;/tt&gt;
backend.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a dangling reference issue in the execution context overload
of &lt;code&gt;&lt;span class="identifier"&gt;get_associated_executor&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ensured buffered messages can still be received when an &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;channel&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
is closed.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed the &lt;code&gt;&lt;span class="identifier"&gt;any_completion_handler&lt;/span&gt;&lt;/code&gt;
assignment operator.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Constrained the constructor of &lt;code&gt;&lt;span class="identifier"&gt;any_completion_handler&lt;/span&gt;&lt;/code&gt;
to prevent accidental copying
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed to use &lt;code&gt;&lt;span class="identifier"&gt;uint64_t&lt;/span&gt;&lt;/code&gt;
for OpenSSL options, to match OpenSSL 3.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;deferred&lt;/span&gt;&lt;/code&gt; interoperability
with multiple completion signatures.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed channels to add partial support for C++11 and C++14.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added missing handler tracking source location support to &lt;code&gt;&lt;span class="identifier"&gt;co_composed&lt;/span&gt;&lt;/code&gt; and 'awaitable&amp;lt;&amp;gt;'
coroutines, when awaiting packaged asynchronous operations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed some 'potential null dereference' and shadow variable warnings.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a &lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;buffer&lt;/span&gt;&lt;/code&gt; overload selection when
used with &lt;code&gt;&lt;span class="identifier"&gt;const_buffers_1&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;mutable_buffers_1&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Disabled the runtime check for current Windows version unless targeting
older Windows.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compatibility between buffered stream wrappers and move-constructible
streams, such as &lt;code&gt;&lt;span class="identifier"&gt;ssl&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;stream&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;basic_socket_acceptor&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;async_accept&lt;/span&gt;&lt;/code&gt;
compatibility with lambdas that have a deduced return type.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;as_tuple&lt;/span&gt;&lt;/code&gt; compatibility
with legacy completion tokens.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;redirect_error&lt;/span&gt;&lt;/code&gt;
compatibility with new completion tokens.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a potential, Windows-specific program termination due to exceptions
that should have been allowed to escape from a destructor.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prevented inadvertent &lt;code&gt;&lt;span class="identifier"&gt;co_await&lt;/span&gt;&lt;/code&gt;
of boolean expressions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed result handling and support for custom allocators in &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;use_coro&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed variadic template emulation for &lt;code&gt;&lt;span class="identifier"&gt;is_async_operation&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;completion_signature_of&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed incorrect reuse of a moved-from result in &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;promise&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;coro&lt;/span&gt;&lt;/code&gt;
use with custom allocators.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;seek_cur&lt;/span&gt;&lt;/code&gt; behaviour
with stream-oriented files on Windows.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Various additions and modifications to the documentation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Consult the &lt;a href="https://www.boost.org/doc/libs/1_82_0/doc/html/boost_asio/history.html"&gt;Revision
History&lt;/a&gt; for further details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/atomic/"&gt;Atomic&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
When compiled for x86 targets supporting AVX, vector instructions
are now used for 128-bit atomic loads and stores.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
For 32-bit x86 targets, 64-bit atomic loads and stores with &lt;code&gt;&lt;span class="identifier"&gt;memory_order_seq_cst&lt;/span&gt;&lt;/code&gt; semantics
will now issue a memory ordering instruction.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed &lt;code&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;storage&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
accessors and &lt;code&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;storage_type&lt;/span&gt;&lt;/code&gt;
types that were deprecated in Boost.Atomic 1.73. Users are recommended
to use &lt;code&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;value&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;value_type&lt;/span&gt;&lt;/code&gt; instead.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;/code&gt;s use
source_location
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
tcp_stream uses the correct executor of the timer.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
error_categories use numeric ids
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;file_body&lt;/span&gt;&lt;/code&gt; supports
seek
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/container_hash/"&gt;ContainerHash&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added an overload of &lt;code&gt;&lt;span class="identifier"&gt;hash_value&lt;/span&gt;&lt;/code&gt;
for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;nullptr_t&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;is_tuple_like&lt;/span&gt;&lt;/code&gt;
and an overload of &lt;code&gt;&lt;span class="identifier"&gt;hash_value&lt;/span&gt;&lt;/code&gt;
for tuple-like types.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed string hashing to use &lt;a href="https://github.com/pdimov/mulxp_hash"&gt;&lt;code&gt;&lt;span class="identifier"&gt;mulxp1_hash&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;. This improves
both quality and speed.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/core/"&gt;Core&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;snprintf&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header with portable definitions
of &lt;code&gt;&lt;span class="identifier"&gt;snprintf&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;vsnprintf&lt;/span&gt;&lt;/code&gt; and their &lt;code&gt;&lt;span class="keyword"&gt;wchar_t&lt;/span&gt;&lt;/code&gt; counterparts.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Deprecated &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;is_same&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_same&lt;/span&gt;&lt;/code&gt;. The header will be removed
in a future release. Users are advised to use Boost.TypeTraits or
C++ standard library type traits instead.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Marked &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;ref&lt;/span&gt;&lt;/code&gt; member functions and associated
methods with &lt;code&gt;&lt;span class="keyword"&gt;noexcept&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Marked &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;swap&lt;/span&gt;&lt;/code&gt; function with &lt;code&gt;&lt;span class="keyword"&gt;noexcept&lt;/span&gt;&lt;/code&gt;, depending on whether the
type supports a non-throwing swap operation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;launder&lt;/span&gt;&lt;/code&gt;, a portable implementation
of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;launder&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;BOOST_CORE_ALIGNOF&lt;/span&gt;&lt;/code&gt;,
a portable implementation of &lt;code&gt;&lt;span class="keyword"&gt;alignof&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;max_align_t&lt;/span&gt;&lt;/code&gt;, a portable equivalent
of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;max_align_t&lt;/span&gt;&lt;/code&gt;, and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;max_align&lt;/span&gt;&lt;/code&gt;, the alignment of &lt;code&gt;&lt;span class="identifier"&gt;max_align_t&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;memory_resource&lt;/span&gt;&lt;/code&gt;, a portable equivalent
of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;pmr&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;memory_resource&lt;/span&gt;&lt;/code&gt; from C++17.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;serialization&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;, a collection of primitives
allowing libraries to implement Boost.Serialization support for their
types without including a Serialization header and thereby making
their libraries depend on Serialization.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;data&lt;/span&gt;&lt;/code&gt;, an implementation of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;data&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;size&lt;/span&gt;&lt;/code&gt;, an implementation of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;size&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;span&lt;/span&gt;&lt;/code&gt; to use &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;data&lt;/span&gt;&lt;/code&gt;
which adds support for range construction from an &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;initializer_list&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;identity&lt;/span&gt;&lt;/code&gt;, an implementation of
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;identity&lt;/span&gt;&lt;/code&gt;. This facility has been
moved from Boost.Functional.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dll/"&gt;DLL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Avoid implicit cast from size_t to uint32_t, thanks to Travers Biddle
for the PR &lt;a href="https://github.com/boostorg/dll/pull/57"&gt;PR#57&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation errors that could have been caused by &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt; conversion constructors being
too permissive on the accepted arguments. (&lt;a href="https://github.com/boostorg/filesystem/issues/273"&gt;#273&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;v4:&lt;/strong&gt; &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;remove_filename&lt;/span&gt;&lt;/code&gt;
now presesrves the trailing directory separator. (&lt;a href="https://github.com/boostorg/filesystem/issues/271"&gt;#271&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;remove_filename_and_trailing_separators&lt;/span&gt;&lt;/code&gt;,
which removes the filename and directory separators preceding it
from the path. This behavior is similar to &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;remove_filename&lt;/span&gt;&lt;/code&gt;
in Filesystem &lt;strong&gt;v3&lt;/strong&gt;, but is also usable
in &lt;strong&gt;v4&lt;/strong&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;replace_filename&lt;/span&gt;&lt;/code&gt;, which replaces
filename in a path.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated implementation of the library version selection to avoid
ODR violations. (&lt;a href="https://github.com/boostorg/filesystem/issues/279"&gt;#279&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, added a workaround for querying file attributes for files
in SMBv1 shares. Previously, directories in SMBv1 shares could have
been reported as regular files. This does not affect SMBv2 or later.
(&lt;a href="https://github.com/boostorg/filesystem/issues/282"&gt;#282&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/geometry/"&gt;Geometry&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Major improvements
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/1045"&gt;PR#1045&lt;/a&gt; Support geographic buffer for (multi)linestrings
and (multi)polygons
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improvements
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/1114"&gt;PR#1114&lt;/a&gt; Comparable distance: Add support for dynamic
geometries
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/1046"&gt;PR#1046&lt;/a&gt; Support covered_by() for box, geometry combinations
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Solved issues
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/705"&gt;#705&lt;/a&gt; WKT: allow tabs and new lines
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1109"&gt;#1109&lt;/a&gt;, &lt;a href="https://github.com/boostorg/geometry/issues/1108"&gt;#1108&lt;/a&gt; Fixes for union
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Various fixes in examples
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Breaking changes
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
The WKT output presentation of an empty polygon is now POLYGON()
to make it consistent with other geometries
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/histogram/"&gt;Histogram&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Replace &lt;code&gt;&lt;span class="identifier"&gt;detail&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;span&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;detail&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;make_span&lt;/span&gt;&lt;/code&gt;
with implementations in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Documentation improvements
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Protect usage of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;min&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;max&lt;/span&gt;&lt;/code&gt; in some cases, contributed
by Han Jiang (min,max macros are illegially set by popular Windows
headers so we need to work around)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added test to catch usage of unprotected min,max tokens in the library
in the future
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixes to support latest clang-14 and deduction guides in gcc-11+
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/json/"&gt;JSON&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;set_at_pointer&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;hash&lt;/span&gt;&lt;/code&gt; support.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Caller-provided serializer storage.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;value_to&lt;/span&gt;&lt;/code&gt; supports
missing elements for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix parser suspend inside an escape character.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Make sentinel() return a unique pointer.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/locale/"&gt;Locale&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;get_system_locale&lt;/span&gt;&lt;/code&gt;
and dependents will now correctly favor &lt;code&gt;&lt;span class="identifier"&gt;LC_ALL&lt;/span&gt;&lt;/code&gt;
over &lt;code&gt;&lt;span class="identifier"&gt;LC_CTYPE&lt;/span&gt;&lt;/code&gt; as
defined by POSIX &lt;a href="https://github.com/boostorg/locale/pull/144"&gt;PR#144&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;utf8_codecvt&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;out&lt;/span&gt;&lt;/code&gt; returns &lt;code&gt;&lt;span class="identifier"&gt;partial&lt;/span&gt;&lt;/code&gt;
for trailing (UTF) surrogates
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;locale&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;util&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;locale_data&lt;/span&gt;&lt;/code&gt; to parse a locale
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;locale&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;info&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;encoding&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
result is now in uppercase as documented, e.g. "UTF-8"
instead of "utf-8"
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support M49 country codes such as &lt;code&gt;&lt;span class="identifier"&gt;en_001&lt;/span&gt;&lt;/code&gt;
or &lt;code&gt;&lt;span class="identifier"&gt;en_150&lt;/span&gt;&lt;/code&gt; &lt;a href="https://github.com/boostorg/locale/pull/148"&gt;PR#148&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Treat &lt;code&gt;&lt;span class="identifier"&gt;en_US_POSIX&lt;/span&gt;&lt;/code&gt;
as an alias for the &lt;code&gt;&lt;span class="identifier"&gt;C&lt;/span&gt;&lt;/code&gt;
locale &lt;a href="https://github.com/boostorg/locale/pull/148"&gt;PR#148&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve error for missing segmentation support (i.e. without ICU)
&lt;a href="https://github.com/boostorg/locale/pull/149"&gt;PR#149&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix compiler warnings
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Deprecated C++11 support&lt;/strong&gt;: We now
require C++14 as a minimum standard. Our minimum tested compiler
versions are now Clang-5, GCC-5 or MSVC-14.1.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added Estrin's method for polynomial evaluation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix various issues in non-central distributions to allow for larger
non-centralities see &lt;a href="https://github.com/boostorg/math/pull/939"&gt;939&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added CMake install target.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix special_functions.hpp to disable anything which can't be used
in an exception-free environment.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Get condition number calculation working in C++14.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix &lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt; table
driven functions to avoid massive slowdown when the code is not actually
&lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt;, see &lt;a href="https://github.com/boostorg/math/issues/923"&gt;923&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve tanh_sinh boundary handling, see &lt;a href="https://github.com/boostorg/math/pull/894"&gt;894&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add Linux arm64, s390x and Apple M1 testing, fix up test cases to
handle 128-bit long doubles.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve &lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt; math
functions to better handle infinities and NaN's.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Make the integrators const-correct.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix tanh_sinh integrator in case the function underflows, see &lt;a href="https://github.com/boostorg/math/issues/898"&gt;898&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Don't use &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;cbrt&lt;/span&gt;&lt;/code&gt; as some platforms still don't
support it.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Stop non-central T from raising spurious FE_INVALID exceptions, see
&lt;a href="https://github.com/boostorg/math/pull/892"&gt;892&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix binomial distribution edge case.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve ibeta handling of very small arguments, see &lt;a href="https://github.com/boostorg/math/pull/884"&gt;884&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve ibeta handling of infinities and NaN's, see &lt;a href="https://github.com/boostorg/math/issues/878"&gt;878&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve error handling in powm1, see &lt;a href="https://github.com/boostorg/math/issues/781"&gt;781&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve root-finder bracketing to bracket faster when the exponent
is super-large or small.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix root finding edge cases, see &lt;a href="https://github.com/boostorg/math/issues/873"&gt;873&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Lots of miscellaneous warning fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add assertions when using features which require C++17 for better
error messages when invoking the compiler in a lower std version.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/doc/index.html"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Serialization now uses &lt;code&gt;&lt;span class="keyword"&gt;unsigned&lt;/span&gt;
&lt;span class="keyword"&gt;long&lt;/span&gt;&lt;/code&gt; instead of &lt;a href="https://www.boost.org/libs/serialization/doc/wrappers.html#collection_size_type"&gt;&lt;code&gt;&lt;span class="identifier"&gt;collection_size_type&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;, and
&lt;code&gt;&lt;span class="identifier"&gt;multi_index_container&lt;/span&gt;&lt;/code&gt;
serialization &lt;a href="https://www.boost.org/libs/serialization/doc/tutorial.html#versioning"&gt;class
version&lt;/a&gt; has been bumped from 2 to 3 to reflect this change.
Reading old archives may fail for custom archive types giving special
treatment to &lt;code&gt;&lt;span class="identifier"&gt;collection_size_type&lt;/span&gt;&lt;/code&gt;
values: if this is the case, globally define the macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_MULTI_INDEX_ENABLE_SERIALIZATION_COMPATIBILITY_V2&lt;/span&gt;&lt;/code&gt;
to ensure backwards compatibility in reading operations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multiprecision/"&gt;Multiprecision&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Deprecated C++11 support&lt;/strong&gt;: We now
require C++14 as a minimum standard. Our minimum tested compiler
versions are now Clang-5, GCC-5 or MSVC-14.1.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new forward declaration header.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update Eigen interoperability so we no longer rely on Eigen's details,
see &lt;a href="https://github.com/boostorg/multiprecision/issues/479"&gt;479&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add Cmake install target.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix cpp_dec_float construction from string in standalone case for
better error handling, see &lt;a href="https://github.com/boostorg/multiprecision/issues/499"&gt;499&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Remove redundent definitions when in C++17 mode, see &lt;a href="https://github.com/boostorg/multiprecision/pull/530"&gt;530&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix the error handling in standalone itrunc and ltrunc.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix potentially uninitialized storage when parsing octal strings.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add arm64 and s390x CI testing.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add some missing expression template unpacking code for &lt;code&gt;&lt;span class="identifier"&gt;powm&lt;/span&gt;&lt;/code&gt;, see &lt;a href="https://github.com/boostorg/multiprecision/issues/506"&gt;506&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/nowide/"&gt;Nowide&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;convert_string&lt;/span&gt;&lt;/code&gt;
overload accepting a (&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;/code&gt;)string instance
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;quoted&lt;/span&gt;&lt;/code&gt; to output
(quoted UTF-8) paths (&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;/code&gt;
or &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;/code&gt;) to streams &lt;a href="https://github.com/boostorg/nowide/pull/170"&gt;PR#170&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/pfr/"&gt;PFR&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Implemented the &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;pfr&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_implicitly_reflectable&lt;/span&gt;&lt;/code&gt;
and the machinery for specializing aggregates as reflectable or not,
thanks to Denis Mikhailov for the PR &lt;a href="https://github.com/boostorg/pfr/pull/111"&gt;PR#111&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Implemented &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;pfr&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;get&lt;/span&gt;&lt;/code&gt;
by type of an element in the aggregate.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Implemented the &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PFR_ENABLED&lt;/span&gt;&lt;/code&gt;
macro to detect library support for reflection, thanks to Denis Mikhailov
for the PR &lt;a href="https://github.com/boostorg/pfr/pull/86"&gt;PR#86&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed missing terminating character, thanks to Denis Mikhailov for
the PR &lt;a href="https://github.com/boostorg/pfr/pull/114"&gt;PR#114&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed the &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;pfr&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;config&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; compilation on older compilers,
thanks to Denis Mikhailov for the PR &lt;a href="https://github.com/boostorg/pfr/pull/118"&gt;PR#118&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Workaround for broken C++17 stuctured binding in old compilers, thanks
to Denis Mikhailov for the PR &lt;a href="https://github.com/boostorg/pfr/pull/119"&gt;PR#119&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Avoid -Wzero-as-null-pointer-constant warnings, thanks to Markus
F.X.J. Oberhumer for the PR &lt;a href="https://github.com/boostorg/pfr/pull/117"&gt;PR#117&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed multiple typos, thanks to Denis Mikhailov for the fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added missing &lt;code&gt;&lt;span class="preprocessor"&gt;#pragma&lt;/span&gt;
&lt;span class="identifier"&gt;once&lt;/span&gt;&lt;/code&gt;, thanks to &lt;a href="https://github.com/caozhanhao"&gt;caozhanhao&lt;/a&gt; for the PR
&lt;a href="https://github.com/boostorg/pfr/pull/121"&gt;PR#121&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Multiple fixes and improvements for the docs.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/process"&gt;Process&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added management for extern processes to V2 (still experimental)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Deprecated &lt;code&gt;&lt;span class="identifier"&gt;wait_for&lt;/span&gt;&lt;/code&gt;
&amp;amp; &lt;code&gt;&lt;span class="identifier"&gt;wait_until&lt;/span&gt;&lt;/code&gt;
in V1 - they will be removed in the future!
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed typos in docs and comments, thanks to Chocobo1 for the PR &lt;a href="https://github.com/boostorg/stacktrace/pull/132"&gt;PR#132&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed multithreading flag detection for &lt;code&gt;&lt;span class="identifier"&gt;backtrace_create_state&lt;/span&gt;&lt;/code&gt;
if &lt;code&gt;&lt;span class="identifier"&gt;BOOST_STACKTRACE_BACKTRACE_FORCE_STATIC&lt;/span&gt;&lt;/code&gt;
is defined.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/static_string/"&gt;StaticString&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.Core &lt;code&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt; interoperability
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed several unused variable warnings
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed sprintf deprecation warnings
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed undefined behavior in &lt;code&gt;&lt;span class="identifier"&gt;basic_cstring&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;rfind&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added CI through Github Actions
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/unordered/"&gt;Unordered&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added node-based, open-addressing containers &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;unordered_node_map&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;unordered_node_set&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Extended heterogeneous lookup to more member functions as specified
in &lt;a href="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2363r5.html"&gt;P2363&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Replaced the previous post-mixing process for open-addressing containers
with a new algorithm based on extended multiplication by a constant.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed bug in internal &lt;code&gt;&lt;span class="identifier"&gt;emplace&lt;/span&gt;&lt;/code&gt;
impl where stack-local types were not properly constructed using
the allocator of the container which breaks uses-allocator construction.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/url/"&gt;URL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;url&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;format&lt;/span&gt;&lt;/code&gt; with automatic percent-encoding
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
URL router example
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;set_params&lt;/span&gt;&lt;/code&gt; convenience
function
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support implicit conversions to &lt;code&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Parsing constructors are implicit
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;string_token&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;arg&lt;/span&gt;&lt;/code&gt; has virtual destructor and
slice protection
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support &lt;code&gt;&lt;span class="identifier"&gt;BOOST_URL_DISABLE_THREADS&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improvements and Bug fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
WIN32_LEAN_AND_MEAN macro redefinition warning
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Comparison differentiates absent and empty components
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Detect &lt;code&gt;&lt;span class="identifier"&gt;hier_part_rule&lt;/span&gt;&lt;/code&gt;
with empty-port-like segments
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Segments comparison as if normalized works above root
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
hier-part path-rootless considers invalid segments
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
port as number is set to 0 when it overflows
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
ipv4 to string overflow detection algorithm
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant/"&gt;Variant&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Now uses core/addressof instead of the deprecated utility/addressof.
Thanks to Michael Ford for the PR &lt;a href="https://github.com/boostorg/variant/pull/105"&gt;PR#105&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_82_0.updated_tools"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Tools&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/tools/build/"&gt;Build&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Includes release of &lt;a href="https://www.boost.org/tools/build/doc/html/#_version_4_9_4"&gt;B2
version 4.9.4&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_82_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++03: 4.6.3, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++03: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++20: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_82_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Marshall Clow and Glen Fernandes managed this release.
&lt;/p&gt;
&lt;/div&gt;
</description></item><item><title>Version 1.81.0</title><link>https://www.boost.org/users/history/version_1_81_0.html</link><guid>https://www.boost.org/users/history/version_1_81_0.html</guid><pubDate>Wed, 14 Dec 2022 17:44:48 +0000</pubDate><description>
&lt;div id="version_1_81_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/url/"&gt;URL&lt;/a&gt;:&lt;/span&gt; A library for parsing, modifying,
and printing URLs using only C++11, from Vinnie Falco and Alan de Freitas.
Features include fast compilation, strong invariants, and strict compliance
using a memory-friendly approach.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_81_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/asio/"&gt;Asio&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added the &lt;code&gt;&lt;span class="identifier"&gt;consign&lt;/span&gt;&lt;/code&gt;
completion token adapter, which can be used to attach additional
values to a completion handler.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;any_completion_handler&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;, which can be used to type-erase
completion handlers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;co_composed&lt;/span&gt;&lt;/code&gt;
to enable lightweight implementations of user-defined asynchronous
operations using C++20 coroutines.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add range-based &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;make_parallel_group&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; overloads.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;any_completion_executor&lt;/span&gt;&lt;/code&gt;,
a type-erased wrapper for executors that are associated with completion
handlers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added missing &lt;code&gt;&lt;span class="identifier"&gt;context&lt;/span&gt;&lt;/code&gt;
query to use_future's executor.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added nothrow constructor overloads to &lt;code&gt;&lt;span class="identifier"&gt;execution&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;any_executor&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;any_io_executor&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Optimised representation of empty &lt;code&gt;&lt;span class="identifier"&gt;execution&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;any_executor&lt;/span&gt;&lt;/code&gt;
objects to improve the performance of copy and move operations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added an &lt;code&gt;&lt;span class="identifier"&gt;associated_cancellation_slot&lt;/span&gt;&lt;/code&gt;
specialisation for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;reference_wrapper&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed I/O objects to return their executors by const reference.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed associated to use deduced return types for all two-argument
&lt;code&gt;&lt;span class="identifier"&gt;get&lt;/span&gt;&lt;/code&gt; functions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;spawn&lt;/span&gt;&lt;/code&gt; implementation
to catch unhandled exceptions and rethrow them outside of the spawned
"thread".
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;spawn&lt;/span&gt;&lt;/code&gt; to ensure
the completion handler is dispatched through the correct executor.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed cleanup of of terminal-state &lt;code&gt;&lt;span class="identifier"&gt;spawn&lt;/span&gt;&lt;/code&gt;
"thread" objects.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;spawn&lt;/span&gt;&lt;/code&gt; and
&lt;code&gt;&lt;span class="identifier"&gt;co_spawn&lt;/span&gt;&lt;/code&gt; implementations
to dispatch cancellation handlers on the correct executor.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed semantics of 'dispatch' to mean the executor is used as-is.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Deprecated the &lt;code&gt;&lt;span class="identifier"&gt;execution&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;execute&lt;/span&gt;&lt;/code&gt;
customisation point and sender/receiver facilities.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a C++11 &lt;code&gt;&lt;span class="identifier"&gt;parallel_group&lt;/span&gt;&lt;/code&gt;
example.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed example code to not use the deprecated &lt;code&gt;&lt;span class="identifier"&gt;resolve&lt;/span&gt;&lt;/code&gt;
conversions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed an ambiguity in &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;channel_traits&lt;/span&gt;&lt;/code&gt;
specialisations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a specialised channel implementation for the for &lt;code&gt;&lt;span class="identifier"&gt;R&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt;
signature.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Made &lt;code&gt;&lt;span class="identifier"&gt;cancelled&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
public on the &lt;code&gt;&lt;span class="identifier"&gt;async_compose&lt;/span&gt;&lt;/code&gt;
'self' object.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added io_executor_type and get_io_executor to the &lt;code&gt;&lt;span class="identifier"&gt;async_compose&lt;/span&gt;&lt;/code&gt;
'self' object.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed implementation of &lt;code&gt;&lt;span class="identifier"&gt;release&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; for Windows overlapped handles.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Enabled deferred awaiting for &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;coro&lt;/span&gt;&lt;/code&gt;,
regularised &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;use_coro&lt;/span&gt;&lt;/code&gt;,
and fixed allocator handling.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Cleaned up &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;promise&lt;/span&gt;&lt;/code&gt;
and made it an asynchronous operation object.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Constrained &lt;code&gt;&lt;span class="identifier"&gt;post&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="identifier"&gt;defer&lt;/span&gt;&lt;/code&gt; overloads on ability to require
&lt;code&gt;&lt;span class="identifier"&gt;blocking&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;never&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed descriptor implementation to fall back to &lt;code&gt;&lt;span class="identifier"&gt;fcntl&lt;/span&gt;&lt;/code&gt;
if &lt;code&gt;&lt;span class="identifier"&gt;ioctl&lt;/span&gt;&lt;/code&gt; fails with
&lt;code&gt;&lt;span class="identifier"&gt;ENOTTY&lt;/span&gt;&lt;/code&gt; when setting
non-blocking mode.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed Xcode deprecation warnings related to use of &lt;code&gt;&lt;span class="identifier"&gt;sprintf&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed the arguments passed to &lt;code&gt;&lt;span class="identifier"&gt;select_reactor&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;run&lt;/span&gt;&lt;/code&gt;
when it is run on an internal thread.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation errors when &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ASIO_DISABLE_SMALL_BLOCK_RECYCLING&lt;/span&gt;&lt;/code&gt;
is defined.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated detection of C++20 coroutine support on clang 14 and later.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed standard library feature detection to always enable &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;invoke_result&lt;/span&gt;&lt;/code&gt; when targeting C++17
or later.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed detection of return type deduction with MSVC.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated the asynchronous operation requirements to relax the requirements
on the associated executor.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;tt&gt;io_uring&lt;/tt&gt; to the implementation notes.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Consult the &lt;a href="https://www.boost.org/doc/libs/1_81_0/doc/html/boost_asio/history.html"&gt;Revision
History&lt;/a&gt; for further details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast/"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;buffers_generator&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;beast&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;http&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;message_generator&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;buffer_ref&lt;/span&gt;&lt;/code&gt;,
so beast buffers can be used with asio.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for per-operation cancellation
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
C++20 awaitable examples.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
websocket per-message compression options
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
websocket timeout option api
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
multiple content length error
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for default-completion and rebind
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/container_hash/"&gt;Container Hash&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The specializations of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;hash&lt;/span&gt;&lt;/code&gt;
have been removed; it now always calls &lt;code&gt;&lt;span class="identifier"&gt;hash_value&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for &lt;code&gt;&lt;span class="identifier"&gt;BOOST_HASH_NO_EXTENSIONS&lt;/span&gt;&lt;/code&gt;
has been removed. The extensions are always enabled.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
All standard containers are now supported. This includes &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;forward_list&lt;/span&gt;&lt;/code&gt; and the unordered
associative containers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
User-defined containers (types that have &lt;code&gt;&lt;span class="identifier"&gt;begin&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;end&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; member functions that return iterators)
are now supported out of the box.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Described structs and classes (those annotated with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_DESCRIBE_STRUCT&lt;/span&gt;&lt;/code&gt; or &lt;code&gt;&lt;span class="identifier"&gt;BOOST_DESCRIBE_CLASS&lt;/span&gt;&lt;/code&gt;) are now supported
out of the box.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;hash_combine&lt;/span&gt;&lt;/code&gt; has
been improved.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The performance (and quality, as a result of the above change) of
string hashing has been improved. &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;hash&lt;/span&gt;&lt;/code&gt;
for strings now passes SMHasher in 64 bit mode.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The documentation has been substantially revised to reflect the changes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/core/"&gt;Core&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;empty_value&lt;/span&gt;&lt;/code&gt; members
are now marked as &lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;fclose_deleter&lt;/span&gt;&lt;/code&gt;,
a deleter that calls &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;fclose&lt;/span&gt;&lt;/code&gt;
on a pointer to &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;FILE&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bit manipulation utilities in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;bit&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
now explicitly require unsigned integers on input. (&lt;a href="https://github.com/boostorg/core/issues/129"&gt;#129&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;bit_width&lt;/span&gt;&lt;/code&gt; now returns
&lt;code&gt;&lt;span class="keyword"&gt;int&lt;/span&gt;&lt;/code&gt; instead of a value
of the input argument type. This follows resolution of &lt;a href="https://cplusplus.github.io/LWG/issue3656"&gt;LWG3656&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/describe/"&gt;Describe&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
To allow the inclusion of &lt;code&gt;&lt;span class="identifier"&gt;enumerators&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;bases&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;, and &lt;code&gt;&lt;span class="identifier"&gt;members&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
when the option &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;pedantic&lt;/span&gt;&lt;/code&gt;
is used, the invocation of &lt;code&gt;&lt;span class="identifier"&gt;BOOST_DESCRIBE_ENUM&lt;/span&gt;&lt;/code&gt;
has been moved from &lt;code&gt;&lt;span class="identifier"&gt;modifiers&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
into a separate header, &lt;code&gt;&lt;span class="identifier"&gt;modifier_description&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
As a consequence, &lt;code&gt;&lt;span class="identifier"&gt;modifiers&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
no longer includes &lt;code&gt;&lt;span class="keyword"&gt;enum&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
Code that has been relying on this implicit inclusion may fail, and
will need to be fixed to include &lt;code&gt;&lt;span class="keyword"&gt;enum&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dll/"&gt;DLL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;path_from_handle&lt;/span&gt;&lt;/code&gt;
implementation for Windows platforms, thanks to @SaltfishAmi for
the bug report &lt;a href="https://github.com/apolukhin/Boost.DLL/issues/57"&gt;57&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Deprecated:&lt;/strong&gt; &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;
construction, assignment and appending from containers of characters,
such as &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;vector&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;char&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
or &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;list&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;wchar_t&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;,
is deprecated in &lt;strong&gt;v3&lt;/strong&gt; and removed
in &lt;strong&gt;v4&lt;/strong&gt;. Please use string types or
iterators instead.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Deprecated:&lt;/strong&gt; &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;path_traits&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
header is deprecated and will be removed in a future release. The
header contained implementation details of &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;
and should not be used in user's code.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Previously deprecated APIs will now generate compilation warnings
on use. To suppress these warnings, &lt;code&gt;&lt;span class="identifier"&gt;BOOST_FILESYSTEM_ALLOW_DEPRECATED&lt;/span&gt;&lt;/code&gt;
macro can be defined when compiling user's code.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation due to a missing include on POSIX systems that
do not support &lt;code&gt;&lt;span class="special"&gt;*&lt;/span&gt;&lt;span class="identifier"&gt;at&lt;/span&gt;&lt;/code&gt;
APIs. (&lt;a href="https://github.com/boostorg/filesystem/issues/250"&gt;#250&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows prior to 10, added a workaround for network share filesystem
that produces &lt;code&gt;&lt;span class="identifier"&gt;ERROR_INVALID_PARAMETER&lt;/span&gt;&lt;/code&gt;
when constructing directory iterators. (&lt;a href="https://github.com/boostorg/filesystem/pull/246"&gt;PR#246&lt;/a&gt;, &lt;a href="https://github.com/boostorg/filesystem/issues/245"&gt;#245&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, fixed &lt;code&gt;&lt;span class="identifier"&gt;weakly_canonical&lt;/span&gt;&lt;/code&gt;
failing with an &lt;code&gt;&lt;span class="identifier"&gt;ERROR_INVALID_FUNCTION&lt;/span&gt;&lt;/code&gt;
error code if the path started with the "\\?\" prefix.
(&lt;a href="https://github.com/boostorg/filesystem/issues/247"&gt;#247&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;container&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;&lt;/code&gt;
(as well as respective &lt;code&gt;&lt;span class="keyword"&gt;wchar_t&lt;/span&gt;&lt;/code&gt;
counterparts) in &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;
constructors, assignment and appending operations. (&lt;a href="https://github.com/boostorg/filesystem/issues/208"&gt;#208&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt; constructors,
assignment and appending operations taking a pair of iterators will
no longer accept iterators with value types that are not one of the
supported path character types.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, improved compatibility of &lt;code&gt;&lt;span class="identifier"&gt;directory_iterator&lt;/span&gt;&lt;/code&gt;
with various mounted filesystems and Wine releases prior to 7.21.
(&lt;a href="https://github.com/boostorg/filesystem/issues/255"&gt;#255&lt;/a&gt;, &lt;a href="https://github.com/boostorg/filesystem/issues/266"&gt;#266&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
On Windows, deduplicated files are now reported as regular files
rather than reparse files. (&lt;a href="https://github.com/boostorg/filesystem/issues/262"&gt;#262&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fusion/"&gt;Fusion&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;identity_view&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://github.com/boostorg/fusion/pull/240"&gt;PR#240&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for associative sequences on &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;transform_view&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/fusion/pull/239"&gt;PR#239&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation for the case when &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;reverse_view&lt;/span&gt;&lt;/code&gt;
used with an associative sequence (&lt;a href="https://github.com/boostorg/fusion/pull/237"&gt;PR#237&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed Clang 13 -Wdeprecated-copy warnings (&lt;a href="https://github.com/boostorg/fusion/pull/261"&gt;PR#261&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
A small dependency reorganization. Now &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;ref&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;noncopyable&lt;/span&gt;&lt;/code&gt; are used from Boost.Core
(&lt;a href="https://github.com/boostorg/fusion/pull/249"&gt;PR#249&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added CI testing on Linux and MacOS for clang and gcc, fixed CI testing
on Windows (&lt;a href="https://github.com/boostorg/fusion/pull/245"&gt;PR#245&lt;/a&gt;, &lt;a href="https://github.com/boostorg/fusion/pull/236"&gt;PR#236&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved docs and fixed typos (&lt;a href="https://github.com/boostorg/fusion/issues/234"&gt;#234&lt;/a&gt;, &lt;a href="https://github.com/boostorg/fusion/pull/235"&gt;PR#235&lt;/a&gt;, &lt;a href="https://github.com/boostorg/fusion/pull/238"&gt;PR#238&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/geometry/"&gt;Geometry&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Solved issues
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1048"&gt;#1048&lt;/a&gt; Index: Fix dangling references when Indexable
is returned by value by IndexableGetter
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1076"&gt;#1076&lt;/a&gt; Union: in rare cases it might miss one polygon
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1081"&gt;#1081&lt;/a&gt; Union: due to precision it might miss interior
rings
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bugfixes
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1063"&gt;#1063&lt;/a&gt; Intersection: fix a bug in intersection of
simple spherical polygons
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1064"&gt;#1064&lt;/a&gt; Formulas: fix a consistency issue in geodesic
direct formulas
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/1088"&gt;#1088&lt;/a&gt; Point: Fix regression for custom point types
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Various fixes for missing include files, warnings, C++20 compilation
errors and documentation
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/histogram/"&gt;Histogram&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added new &lt;code&gt;&lt;span class="identifier"&gt;accumulators&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;fraction&lt;/span&gt;&lt;/code&gt;
to compute fractions, their variance, and confidence intervals
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added interval computers for fractions: &lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;clopper_pearson&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;wilson_interval&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;jeffreys_interval&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;wald_interval&lt;/span&gt;&lt;/code&gt; which can compute
intervals with arbitrary confidence level
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;confidence_level&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;deviation&lt;/span&gt;&lt;/code&gt; types to pass confidence
levels as probabilities or in multiples of standard deviation for
all interval computers, respectively
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed internal &lt;code&gt;&lt;span class="identifier"&gt;sub_array&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;span&lt;/span&gt;&lt;/code&gt; in C++20
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/iterator/"&gt;Iterator&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;function_output_iterator&lt;/span&gt;&lt;/code&gt;
now supports perfect forwarding of the assigned values to the wrapped
function object. (&lt;a href="https://github.com/boostorg/iterator/pull/73"&gt;PR#73&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation of constructing a &lt;code&gt;&lt;span class="identifier"&gt;function_input_iterator&lt;/span&gt;&lt;/code&gt;
from result of post-incrementing another &lt;code&gt;&lt;span class="identifier"&gt;function_input_iterator&lt;/span&gt;&lt;/code&gt;.
(&lt;a href="https://github.com/boostorg/iterator/issues/75"&gt;#75&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The result of post-incrementing an iterator based on &lt;code&gt;&lt;span class="identifier"&gt;iterator_facade&lt;/span&gt;&lt;/code&gt; now supports &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;-&amp;gt;&lt;/span&gt;&lt;/code&gt;.
&lt;code&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;it&lt;/span&gt;&lt;span class="special"&gt;++)-&amp;gt;&lt;/span&gt;&lt;span class="identifier"&gt;foo&lt;/span&gt;&lt;/code&gt;
is equivalent to &lt;code&gt;&lt;span class="special"&gt;(*&lt;/span&gt;&lt;span class="identifier"&gt;it&lt;/span&gt;&lt;span class="special"&gt;++).&lt;/span&gt;&lt;span class="identifier"&gt;foo&lt;/span&gt;&lt;/code&gt;, which was supported before.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/json/"&gt;JSON&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;object&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;stable_erase&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;parse&lt;/span&gt;&lt;/code&gt; overload
for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;istream&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; for &lt;code&gt;&lt;span class="identifier"&gt;value&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added rvalue ref-qualified accessors for &lt;code&gt;&lt;span class="identifier"&gt;value&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Conversion traits were redesigned.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added conversion support for described classes and enums, &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;variant&lt;/span&gt;&lt;/code&gt;,
and null-like types (including &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;nullptr_t&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;nullopt_t&lt;/span&gt;&lt;/code&gt;, and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;monotype&lt;/span&gt;&lt;/code&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added non-throwing conversion from &lt;code&gt;&lt;span class="identifier"&gt;value&lt;/span&gt;&lt;/code&gt;
to user types.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/lexical_cast/"&gt;LexicalCast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation while casting volatile arithmetic types. Thanks
to Giovanni Cerretani for the bug report &lt;a href="https://github.com/boostorg/lexical_cast/issues/50"&gt;#50&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed usage of deprecated headers. Thanks to Michael Ford for the
PR &lt;a href="https://github.com/boostorg/lexical_cast/pull/53"&gt;PR#53&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/locale/"&gt;Locale&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update with some breaking changes.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
C++11 support is now required, support for C++03 and earlier is dropped
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Some enums have been converted to enum classes - Avoids name clashes
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Replace &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;sICU_LINK_LOCALE&lt;/span&gt;&lt;/code&gt;
&amp;amp; &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;sICU_LINK&lt;/span&gt;&lt;/code&gt;
by fine-grained configuration options as done in Boost.RegEx
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix detection of libiconv allowing Boost.Locale to be build (again)
on some platforms
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Remove use of and support for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;auto_ptr&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Make the &lt;code&gt;&lt;span class="identifier"&gt;codecvt&lt;/span&gt;&lt;/code&gt;
using &lt;code&gt;&lt;span class="keyword"&gt;wchar_t&lt;/span&gt;&lt;/code&gt; on Windows
assume/use UTF-16 enconding
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Performance improvements: Make &lt;code&gt;&lt;span class="identifier"&gt;basic_format&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;date_time&lt;/span&gt;&lt;/code&gt; &amp;amp;
&lt;code&gt;&lt;span class="identifier"&gt;hold_ptr&lt;/span&gt;&lt;/code&gt; movable,
Fix use of format cache
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Make Boost.Locale compatible with more ICU versions (especially the
tests)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix RTTI definitions for some classes (visibility issues)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix compatibility of the ICU backend with some libc++ versions
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix return value of some operators to correctly return non-const
&lt;code&gt;&lt;span class="special"&gt;*&lt;/span&gt;&lt;span class="keyword"&gt;this&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix int-overflow on negative roll of years in &lt;code&gt;&lt;span class="identifier"&gt;date_time&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Handle or suppress many warnings which makes the build log cleaner
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for more Windows codepages
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix support for Windows codepages like ISO-2022-JP
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/nowide/"&gt;Nowide&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix build failure of tests on MSVC
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
The library &lt;strong&gt;does not use COM initialization
any more&lt;/strong&gt;. Thanks to Alex Guteniev for the bug report,
clarifications and PR &lt;a href="https://github.com/boostorg/stacktrace/pull/123"&gt;PR#123&lt;/a&gt;!
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The library now may use &lt;code&gt;&lt;span class="identifier"&gt;BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE&lt;/span&gt;&lt;/code&gt;
macro value while detecting the libbacktrace availability in b2,
thanks to Ben Gemmill for the bug report &lt;a href="https://github.com/boostorg/stacktrace/issues/115"&gt;#115&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;BOOST_STACKTRACE_BACKTRACE_FORCE_STATIC&lt;/span&gt;&lt;/code&gt;
macro to force a single backtrace_state static instance while using
the libbacktrace. Thanks to the Rasmus Thomsen for the bug report
&lt;a href="https://github.com/boostorg/stacktrace/issues/118"&gt;#118&lt;/a&gt;!
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Avoid unresolved references when including only the &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;stacktrace&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;stacktrace&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header. Thanks to the Long
Deng for the bug report &lt;a href="https://github.com/boostorg/stacktrace/issues/116"&gt;#116&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Optimized stacktrace printing by not calling &lt;code&gt;&lt;span class="identifier"&gt;strlen&lt;/span&gt;&lt;/code&gt;
on Windows platforms. Thanks to Alex Guteniev for the bug report
&lt;a href="https://github.com/boostorg/stacktrace/issues/122"&gt;#122&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/pfr/"&gt;PFR&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improved detection of aggregate initializables in C++14 mode, thanks
to Denis Mikhailov for the PR &lt;a href="https://github.com/boostorg/pfr/pull/97"&gt;PR#97&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Suppress clang-tidy warnings, thanks to Alexander Malkov for the
PRs &lt;a href="https://github.com/boostorg/pfr/pull/109"&gt;PR#109&lt;/a&gt;, &lt;a href="https://github.com/boostorg/pfr/pull/104"&gt;PR#104&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Use fold expressions if they are supported by the compiler. Thanks
to Jean-Michaël Celerier for the PR &lt;a href="https://github.com/boostorg/pfr/pull/96"&gt;PR#96&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stl_interfaces/"&gt;STLInterfaces&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix two ill-formed &lt;code&gt;&lt;span class="identifier"&gt;iterator_interface&lt;/span&gt;&lt;/code&gt;
operators in pre-C++20 iterators with a &lt;code&gt;&lt;span class="keyword"&gt;const&lt;/span&gt;&lt;/code&gt;
&lt;code&gt;&lt;span class="identifier"&gt;value_type&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/system/"&gt;System&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
The macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_SYSTEM_DISABLE_THREADS&lt;/span&gt;&lt;/code&gt;
can now be defined to disable the use of &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;mutex&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
(e.g. on single-threaded libstdc++).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;value_type&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;error_type&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;in_place_value&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;in_place_error&lt;/span&gt;&lt;/code&gt;
to &lt;code&gt;&lt;span class="identifier"&gt;result&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;emplace&lt;/span&gt;&lt;/code&gt; to
&lt;code&gt;&lt;span class="identifier"&gt;result&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/unordered/"&gt;Unordered&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Major update.&lt;/strong&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added fast containers &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;unordered_flat_map&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;unordered_flat_set&lt;/span&gt;&lt;/code&gt; based on open
addressing.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added CTAD deduction guides for all containers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added missing constructors as specified in &lt;a href="https://cplusplus.github.io/LWG/issue2713"&gt;LWG
issue 2713&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant/"&gt;Variant&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Avoid recursive inclusion of headers, thanks to Nathan Sidwell for
the bug report &lt;a href="https://github.com/boostorg/variant/issues/101"&gt;#101&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed usage of deprecated headers, thanks to Michael Ford for the
PR &lt;a href="https://github.com/boostorg/variant/pull/96"&gt;PR#96&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation on clang in C++23 mode, thanks to Ed Catmur for
the PR &lt;a href="https://github.com/boostorg/variant/pull/98"&gt;PR#98&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant2/"&gt;Variant2&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added support for &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;json&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;value_from&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;json&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;value_to&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_81_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 12.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.6.3, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++20: 11.0.3
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_81_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Marshall Clow and Glen Fernandes managed this release.
&lt;/p&gt;
&lt;/div&gt;
</description></item>
</channel>
</rss>