diff --git a/doc/.htaccess b/doc/.htaccess
index 748d5585..11a5095c 100644
--- a/doc/.htaccess
+++ b/doc/.htaccess
@@ -25,8 +25,8 @@ RewriteRule ^libs/development/libs/([^./]+)$ libs/development/libs/$1/ [R=301]
# Any edits will be overwritten.
#
# Redirect from symbolic names to current versions.
-RewriteRule ^libs/release(/.*)?$ libs/1_87_0$1 [R=303]
-RewriteRule ^libs/development(/.*)?$ libs/1_87_0$1 [R=303]
+RewriteRule ^libs/release(/.*)?$ libs/1_88_0$1 [R=303]
+RewriteRule ^libs/development(/.*)?$ libs/1_88_0$1 [R=303]
#
# REDIRECT_UPDATE_END
diff --git a/doc/libraries.xml b/doc/libraries.xml
index 6bfa1a93..076107ca 100644
--- a/doc/libraries.xml
+++ b/doc/libraries.xml
@@ -1,6 +1,6 @@
-
+
String and text processing
@@ -371,6 +371,19 @@
11
Data
+
+ any
+ libs/any/
+ 1.23.0
+ 1.88.0
+ Any
+ Kevlin Henney
+ Antony Polukhin <antoshkka -at- gmail.com>
+ Safe, generic container for single values of different value types.
+ libs/any/
+ 11
+ Data
+
any
libs/any/
@@ -419,6 +432,19 @@
03
Containers
+
+ array
+ libs/array/
+ 1.17.0
+ 1.88.0
+ Array
+ Nicolai Josuttis
+ Marshall Clow <marshall -at- idio.com>
+ STL compliant container wrapper for arrays of constant size.
+ libs/array/
+ 03
+ Containers
+
array
libs/array/
@@ -791,6 +817,19 @@
11
Function-objects
+
+ bind
+ libs/bind/
+ 1.25.0
+ 1.88.0
+ Bind
+ Peter Dimov
+ Peter Dimov <pdimov -at- gmail.com>
+ boost::bind is a generalization of the standard functions std::bind1st and std::bind2nd. It supports arbitrary function objects, functions, function pointers, and member function pointers, and is able to bind any argument to a specific value or route input arguments into arbitrary positions.
+ libs/bind/
+ 11
+ Function-objects
+
bind
libs/bind/
@@ -838,6 +877,18 @@
11
Function-objects
+
+ bind/mem_fn
+ libs/bind/
+ 1.25.0
+ 1.88.0
+ Member Function
+ Peter Dimov
+ Generalized binders for function/object/pointers and member functions.
+ libs/bind/mem_fn.html
+ 11
+ Function-objects
+
bind/mem_fn
libs/bind/
@@ -892,6 +943,21 @@
03
Function-objects
+
+ bind/ref
+ libs/core/
+ 1.25.0
+ 1.88.0
+ Ref
+ Jaako Järvi
+ Peter Dimov
+ Doug Gregor
+ Dave Abrahams
+ A utility library for passing references to generic functions.
+ libs/core/ref.html
+ 03
+ Function-objects
+
bind/ref
libs/core/
@@ -1027,6 +1093,22 @@
Domain
System
+
+ chrono
+ libs/chrono/
+ 1.47.0
+ 1.88.0
+ Chrono
+ Howard Hinnant
+ Beman Dawes
+ Vicente J. Botet Escriba
+ Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>
+ Useful time utilities. C++11.
+ libs/chrono/
+ 11
+ Domain
+ System
+
chrono
libs/chrono/
@@ -1311,6 +1393,19 @@
11
Function-objects
+
+ container_hash
+ libs/container_hash/
+ 1.33.0
+ 1.88.0
+ Container Hash
+ Daniel James
+ Peter Dimov <pdimov -at- gmail.com>
+ An STL-compatible hash function object that can be extended to hash user defined types.
+ libs/container_hash/
+ 11
+ Function-objects
+
container_hash
libs/container_hash/
@@ -1937,6 +2032,20 @@
11
System
+
+ dll
+ libs/dll/
+ 1.61.0
+ 1.88.0
+ DLL
+ Antony Polukhin
+ Renato Tegon Forti
+ Antony Polukhin <antoshkka -at- gmail.com>
+ Library for comfortable work with DLL and DSO.
+ libs/dll/
+ 11
+ System
+
dll
libs/dll/
@@ -2485,6 +2594,20 @@
Function-objects
Programming
+
+ function
+ libs/function/
+ 1.23.0
+ 1.88.0
+ Function
+ Doug Gregor
+ Peter Dimov <pdimov -at- gmail.com>
+ Function object wrappers for deferred calls or callbacks.
+ libs/function/
+ 11
+ Function-objects
+ Programming
+
function
libs/function/
@@ -3655,8 +3778,7 @@
geometry/index
libs/geometry/index/
- hidden
- master
+ 1.88.0
hidden
Geometry Index
Barend Gehrels
@@ -3981,6 +4103,20 @@
11
Function-objects
+
+ hash2
+ libs/hash2/
+ 1.88.0
+ Hash2
+ Peter Dimov
+ Christian Mazakas
+ Peter Dimov <pdimov -at- gmail.com>
+ Christian Mazakas <christian.mazakas -at- gmail.com>
+ An extensible hashing framework.
+ libs/hash2/
+ 11
+ Function-objects
+
heap
libs/heap/
@@ -5384,6 +5520,23 @@
Concurrent
IO
+
+ mqtt5
+ libs/mqtt5/
+ 1.88.0
+ MQTT5
+ Ivica Siladić
+ Bruno Iljazović
+ Korina Šimičević
+ Ivica Siladić
+ Bruno Iljazović
+ Korina Šimičević
+ MQTT5 client library built on top of Boost.Asio.
+ libs/mqtt5/
+ 17
+ Concurrent
+ IO
+
msm
libs/msm/
@@ -6017,6 +6170,21 @@
Patterns
Programming
+
+ outcome
+ libs/outcome/
+ 1.70.0
+ 1.88.0
+ Outcome
+ Niall Douglas
+ Niall Douglas <s -underscore- sourceforge -at- nedprod -dot- com>
+ A deterministic failure handling library partially simulating lightweight exceptions.
+ libs/outcome/
+ 14
+ Emulation
+ Patterns
+ Programming
+
outcome
libs/outcome/
@@ -6181,6 +6349,20 @@
Data
Metaprogramming
+
+ pfr
+ libs/pfr/
+ 1.75.0
+ 1.88.0
+ PFR
+ Antony Polukhin
+ Antony Polukhin <antoshkka -at- gmail.com>
+ Basic reflection for user defined types.
+ libs/pfr/
+ 14
+ Data
+ Metaprogramming
+
pfr
libs/pfr/
@@ -6891,6 +7073,20 @@
11
Math
+
+ random
+ libs/random/
+ 1.15.0
+ 1.88.0
+ Random
+ Jens Maurer
+ Steven Watanabe <watanabesj -at- gmail.com>
+ Matt Borland <matt -at- mattborland.com>
+ A complete system for random number generation.
+ libs/random/
+ 11
+ Math
+
random
libs/random/
@@ -7026,6 +7222,21 @@
11
Math
+
+ ratio
+ libs/ratio/
+ 1.47.0
+ 1.88.0
+ Ratio
+ Howard Hinnant
+ Beman Dawes
+ Vicente J. Botet Escriba
+ Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>
+ Compile time rational arithmetic. C++11.
+ libs/ratio/
+ 11
+ Math
+
ratio
libs/ratio/
@@ -7162,6 +7373,19 @@
11
String
+
+ regex
+ libs/regex/
+ 1.18.0
+ 1.88.0
+ Regex
+ John Maddock
+ John Maddock <john -at- johnmaddock.co.uk>
+ Regular expression library.
+ libs/regex/
+ 11
+ String
+
regex
libs/regex/
@@ -7493,6 +7717,23 @@
11
Memory
+
+ smart_ptr
+ libs/smart_ptr/
+ 1.23.0
+ 1.88.0
+ Smart Ptr
+ Greg Colvin
+ Beman Dawes
+ Peter Dimov
+ Darin Adler
+ Glen Fernandes
+ Peter Dimov <pdimov -at- gmail.com>
+ Smart pointer class templates.
+ libs/smart_ptr/
+ 11
+ Memory
+
smart_ptr
libs/smart_ptr/
@@ -7743,6 +7984,20 @@
Correctness
System
+
+ stacktrace
+ libs/stacktrace/
+ 1.65.0
+ 1.88.0
+ Stacktrace
+ Antony Polukhin
+ Antony Polukhin <antoshkka -at- gmail.com>
+ Gather, store, copy and print backtraces.
+ libs/stacktrace/
+ 11
+ Correctness
+ System
+
stacktrace
libs/stacktrace/
@@ -8232,6 +8487,21 @@
Concurrent
System
+
+ thread
+ libs/thread/
+ 1.25.0
+ 1.88.0
+ Thread
+ Anthony Williams
+ Vicente J. Botet Escriba
+ Vicente J. Botet Escriba <vicente.botet -at- wanadoo.fr>
+ Portable C++ multi-threading. C++11, C++14, C++17.
+ libs/thread/
+ 11
+ Concurrent
+ System
+
thread
libs/thread/
@@ -8479,6 +8749,19 @@
03
Data
+
+ tuple
+ libs/tuple/
+ 1.24.0
+ 1.88.0
+ Tuple
+ Jaakko Järvi
+ Jaakko Jarvi <jarvi -at- cs.tamu.edu>
+ Ease definition of functions returning multiple values, and more.
+ libs/tuple/
+ 03
+ Data
+
tuple
libs/tuple/
@@ -8617,6 +8900,20 @@
Generic
Metaprogramming
+
+ type_traits
+ libs/type_traits/
+ 1.13.0
+ 1.88.0
+ Type Traits
+ John Maddock, Steve Cleary, et al
+ John Maddock <john -at- johnmaddock.co.uk>
+ Templates for fundamental properties of types.
+ libs/type_traits/
+ 03
+ Generic
+ Metaprogramming
+
type_traits
libs/type_traits/
@@ -9230,6 +9527,20 @@
Containers
String
+
+ utility/string_view
+ libs/utility/
+ 1.84.0
+ 1.88.0
+ String View
+ Marshall Clow
+ Marshall Clow <marshall -at- idio.com>
+ String view templates.
+ libs/utility/doc/html/utility/utilities/string_view.html
+ 03
+ Containers
+ String
+
utility/string_view
libs/utility/
diff --git a/generated/current_version.txt b/generated/current_version.txt
index f6ea87dd..4b5c316b 100644
--- a/generated/current_version.txt
+++ b/generated/current_version.txt
@@ -1 +1 @@
-1.87.0
\ No newline at end of file
+1.88.0
\ No newline at end of file
diff --git a/generated/dev.rss b/generated/dev.rss
index be05fd8d..1dd7c38f 100644
--- a/generated/dev.rss
+++ b/generated/dev.rss
@@ -8,7 +8,7 @@
en-us
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)
-Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Sun, 16 Mar 2025 04:24:28 +0000
+Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Thu, 10 Apr 2025 20:39:01 +0000
<div id="version_1_88_0.new_libraries">
@@ -16,13 +16,13 @@
<ul>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
+ <span class="library"><a href="https://www.boost.org/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
from Peter Dimov and Christian Mazakas.
</div>
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
+ <span class="library"><a href="https://www.boost.org/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
Šimičević.
</div>
@@ -34,7 +34,7 @@
<ul>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/array/">Array</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/array/">Array</a>:</span>
<ul>
<li>
<div>
@@ -97,7 +97,89 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/assert/">Assert</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> qualifiers
+ to various <code><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>
+ member functions, to make it consistent with <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">config</span></code> class's handling of integer
+ values.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a use-after-move error in <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">ranged_parallel_group</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an incorrect default template argument in the implementation
+ of <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">promise</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">io_uring</span></code>
+ implementation so that it does not attempt to re-register internal
+ descriptors with the reactor after a fork, if they were not previously
+ registered.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an uninitialised member in the <code><span class="identifier">thread_pool</span></code>
+ default constructor.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an ambiguous overload issue that occurred when passing a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">span</span></code> to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+ function.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed some spurious macro definitions that were left after the
+ removal of deprecated buffer functionality.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added documentation to clarify the use of <code><span class="identifier">file_base</span><span class="special">::</span><span class="identifier">flags</span></code>
+ when opening a file.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added overview documentation on the available runtime configuration
+ options.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the overview documentation to reflect the use of <code><span class="identifier">deferred</span></code> as the default completion
+ token.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the <code><span class="identifier">async_result</span></code>
+ documentation to reflect the current type requirements placed on
+ specialisations of the trait.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/assert/">Assert</a>:</span>
<ul>
<li>
<div>
@@ -112,7 +194,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/beast/">Beast</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
<ul>
<li>
<div>
@@ -193,7 +275,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/conversion/">Conversion</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
<ul>
<li>
<div>
@@ -205,7 +287,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/dll/">DLL</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
<ul>
<li>
<div>
@@ -285,7 +367,174 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/iterator/">Iterator</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1370">PR#1370</a> Relax half period check in spheroidal normalization
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1368">PR#1368</a> Pass umbrella strategies in rtree spatial
+ predicates
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1367">PR#1367</a> Improvements in traversal
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1361">PR#1361</a> Test set operations on random grids with
+ integer coordinates
+ </div>
+ </li>
+ <li>
+ <div>
+ Several test cases has been added
+ </div>
+ </li>
+ <li>
+ <div>
+ Use using instead of typedef in part of the code
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Solved issues
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1364">PR#1364</a> Fix several strategies (add getters, fix
+ compilation error and warning)
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/issues/629">#629</a> Avoid warnings for coordinate conversions and
+ unused parameters
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes of errors and warnings
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Graph</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Bug fixes
+ <ul>
+ <li>
+ <div>
+ Replace implementation of <code><span class="identifier">maximum_weighted_matching</span></code>,
+ resolves multiple issues.
+ </div>
+ </li>
+ <li>
+ <div>
+ Ensure <code><span class="identifier">named_graph</span></code>
+ is initialized before use.
+ </div>
+ </li>
+ <li>
+ <div>
+ Replace custom geometry code in <code><span class="identifier">is_straight_line_drawing</span></code>
+ with Boost.Geometry, fixes incorrect results for very small
+ angles.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix incorrect callbacks to <code><span class="identifier">finish_edge</span></code>
+ in <code><span class="identifier">undirected_dfs</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Performance improvements
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">adjacency_list</span></code>:
+ Remove unnecessary calls to <code><span class="identifier">resize</span></code>/<code><span class="identifier">reserve</span></code> from within <code><span class="identifier">add_vertex</span></code> for <code><span class="identifier">vector</span></code>-based storage! A quick
+ benchmark indicates a 10% improvement to graph construction
+ time.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">lengauer_tarjan_dominator_tree</span></code>:
+ Replace <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>
+ with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>, obtaining a ~40%
+ improvement for large graphs.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ General Improvements
+ <ul>
+ <li>
+ <div>
+ Replace the use of several Boost utilities with C++14 language
+ features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Modernize examples with C++14 language features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes to documentation and build system.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">vertex_by_property</span></code>
+ no longer requires a mutable graph.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix compilation issue with <code><span class="identifier">cycle_canceling</span></code>
+ and Clang 19.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
<ul>
<li>
<div>
@@ -371,7 +620,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/locale/">Locale</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
<ul>
<li>
<div>
@@ -406,7 +655,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/lockfree/">Lockfree</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/lockfree/">Lockfree</a>:</span>
<ul>
<li>
<div>
@@ -419,7 +668,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/log/">Log</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
<ul>
<li>
<div>
@@ -435,12 +684,21 @@
Fixed building issues when using CMake and MinGW-w64. (<a href="https://github.com/boostorg/log/pull/241">PR#241</a>)
</div>
</li>
+ <li>
+ <div>
+ Fixed incorrect file counter used by <code><span class="identifier">text_file_backend</span></code>
+ when the backend was configured to append to an existing file and
+ the actively written file name pattern didn't have a counter placeholder
+ but the target file name pattern did, and the log files were written
+ directly into the target storage. (<a href="https://github.com/boostorg/log/issues/245">#245</a>)
+ </div>
+ </li>
</ul>
</div>
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/mp11/">Mp11</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
<ul>
<li>
<div>
@@ -454,7 +712,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/mysql/">MySQL</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
<ul>
<li>
<div>
@@ -537,7 +795,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/nowide/">Nowide</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/nowide/">Nowide</a>:</span>
<ul>
<li>
<div>
@@ -550,7 +808,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/poly_collection/">PolyCollection</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
<ul>
<li>
<div>
@@ -563,7 +821,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/smart_ptr/">SmartPtr</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/smart_ptr/">SmartPtr</a>:</span>
<ul>
<li>
<div>
@@ -576,7 +834,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/stacktrace/">Stacktrace</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
<ul>
<li>
<div>
@@ -615,7 +873,20 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/unordered/">Unordered</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed an UB that was introduced in Boost.TypeIndex 1.84 and prevented
+ the library from building on clang-20.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
<ul>
<li>
<div>
@@ -627,7 +898,7 @@
</li>
<li>
<div>
- <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/variant2/">Variant2</a>:</span>
+ <span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span>
<ul>
<li>
<div>
@@ -647,17 +918,106 @@
<ul>
<li>
<div>
- <em>TODO</em>
+ Linux:
+ <ul>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++03: 4.6.3, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++11: 4.7.3, 4.8.5, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
+ </div>
+ </li>
+ </ul>
</div>
</li>
- </ul>
- <p>
- Boost's additional test compilers include:
- </p>
- <ul>
<li>
<div>
- <em>TODO</em>
+ OS X:
+ <ul>
+ <li>
+ <div>
+ Apple Clang, C++03: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++11: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++14: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++17: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++20: 11.0.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Windows:
+ <ul>
+ <li>
+ <div>
+ Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
+ </div>
+ </li>
+ </ul>
</div>
</li>
</ul>
diff --git a/generated/download-items.html b/generated/download-items.html
index d1980de1..a824ec7d 100644
--- a/generated/download-items.html
+++ b/generated/download-items.html
@@ -1,36 +1,13 @@
Current Release
Version 1.87.0
+ "news-title">Version 1.88.0
- December 12th, 2024 00:52 GMT
-
-
-
- New Libraries: Parser Updated Libraries: Asio Atomic Beast Charconv Cobalt
- Compat Container Filesystem Flyweight Geometry Iterator Interprocess JSON,
- LexicalCast Log Math Move Mp11 Multiprecision MySQL PFR Process SmartPtr Stacktrace
- STLInterfaces Test Unordered URL UUID Wave
-
-
-
- Downloads Platform File SHA256 Hash
-unix boost_1_87_0.tar.bz2 af57be25cb4c4f4b413ed692fe378affb4352ea50fbe294a11ef548f4d527d89 boost_1_87_0.tar.gz f55c340aa49763b1925ccf02b2e83f35fdcf634c9d5164a2acb87540173c741d
-windows boost_1_87_0.7z db6b7d77a2286ebe79d4aa7252c08b051d271fd8b013b6b18bc7a966552c1139 boost_1_87_0.zip f367a218d27b23b568956bacf56d08d2c1d9647211337136be8cac5cb2ff0828
* The download links are supported by grants from The C++ Alliance .
-Beta Release
- Version 1.88.0 beta 1
-
- March 16th, 2025 04:24 GMT
+ April 10th, 2025 20:39 GMT
@@ -39,9 +16,9 @@
- * The download links are supported by grants from The C++ Alliance .
+ Downloads Platform File SHA256 Hash
+unix boost_1_88_0.tar.bz2 46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5b12f7b boost_1_88_0.tar.gz 3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4
+windows boost_1_88_0.7z e84a33716a31c1c8cb00783a411630d41c008e9364002dc0fe55aea4f54f4726 boost_1_88_0.zip 8ee21476f1aca1978339f0f4a218b9b8a6746eec83070f32630f97b09c7e91b7
* The download links are supported by grants from The C++ Alliance .
diff --git a/generated/downloads.rss b/generated/downloads.rss
index fd11e5b4..cb3e3a12 100644
--- a/generated/downloads.rss
+++ b/generated/downloads.rss
@@ -8,7 +8,1027 @@
en-us
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)
-Version 1.87.0 https://www.boost.org/users/history/version_1_87_0.htmlhttps://www.boost.org/users/history/version_1_87_0.html Thu, 12 Dec 2024 00:52:33 +0000
+Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Thu, 10 Apr 2025 20:39:01 +0000
+
+
+ <div id="version_1_88_0.new_libraries">
+ <h3><span class="link">New Libraries</span></h3>
+ <ul>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
+ from Peter Dimov and Christian Mazakas.
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
+ on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
+ Šimičević.
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.updated_libraries">
+ <h3><span class="link">Updated Libraries</span></h3>
+ <ul>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/array/">Array</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Converted documentation to AsciiDoc (Christian Mazakas).
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> and
+ <code><span class="keyword">constexpr</span></code> as appropriate.
+ </div>
+ </li>
+ <li>
+ <div>
+ Marked obsolete functions as deprecated.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed obsolete compiler workarounds.
+ </div>
+ </li>
+ <li>
+ <div>
+ Changed <code><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="number">0</span><span class="special">>::</span><span class="identifier">begin</span><span class="special">()</span></code>,
+ <code><span class="identifier">cbegin</span><span class="special">()</span></code>,
+ <code><span class="identifier">end</span><span class="special">()</span></code>,
+ <code><span class="identifier">cend</span><span class="special">()</span></code>
+ to return <code><span class="keyword">nullptr</span></code>, enabling
+ <code><span class="keyword">constexpr</span></code>. This matches
+ the behavior of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed local <code><span class="identifier">hash_value</span></code>
+ overload; <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code> supports array-like types
+ natively.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="number">0</span><span class="special">></span></code>
+ can now be initialized with <code><span class="special">=</span>
+ <span class="special">{{}}</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="keyword">operator</span><span class="special"><=></span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">to_array</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> qualifiers
+ to various <code><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>
+ member functions, to make it consistent with <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">config</span></code> class's handling of integer
+ values.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a use-after-move error in <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">ranged_parallel_group</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an incorrect default template argument in the implementation
+ of <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">promise</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">io_uring</span></code>
+ implementation so that it does not attempt to re-register internal
+ descriptors with the reactor after a fork, if they were not previously
+ registered.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an uninitialised member in the <code><span class="identifier">thread_pool</span></code>
+ default constructor.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an ambiguous overload issue that occurred when passing a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">span</span></code> to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+ function.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed some spurious macro definitions that were left after the
+ removal of deprecated buffer functionality.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added documentation to clarify the use of <code><span class="identifier">file_base</span><span class="special">::</span><span class="identifier">flags</span></code>
+ when opening a file.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added overview documentation on the available runtime configuration
+ options.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the overview documentation to reflect the use of <code><span class="identifier">deferred</span></code> as the default completion
+ token.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the <code><span class="identifier">async_result</span></code>
+ documentation to reflect the current type requirements placed on
+ specialisations of the trait.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/assert/">Assert</a>:</span>
+ <ul>
+ <li>
+ <div>
+ When <code><span class="identifier">BOOST_ASSERT_HANDLER_IS_NORETURN</span></code>
+ is defined, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assertion_failed</span></code>
+ and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assertion_failed_msg</span></code> are declared
+ as <code><span class="identifier">BOOST_NORETURN</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixes
+ <ul>
+ <li>
+ <div>
+ Fixed out-of-bounds access in <code><span class="identifier">iequals</span></code>
+ function.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ Updated SSL examples to verify peer certificate hostname.
+ </div>
+ </li>
+ <li>
+ <div>
+ Refactored CMakeLists.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed Boost.Scope dependency from examples.
+ </div>
+ </li>
+ <li>
+ <div>
+ Peer pings in WebSocket now count as activity.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Documentation
+ <ul>
+ <li>
+ <div>
+ Added new examples for Unix domain sockets.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added SSL/TLS Certificate section to documentation.
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved documentation of <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span><span class="special">::</span><span class="identifier">async_close</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Acknowledgements
+ <ul>
+ <li>
+ <div>
+ Morten M. Neergaard
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use modern C++ in the samples and in the library code.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added constructor from <code><span class="identifier">native_handle_t</span></code>
+ to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">shared_library</span></code>. Many thanks to
+ <a href="https://github.com/tgmatos">Tiago Matos</a> for the
+ <a href="https://github.com/boostorg/dll/pull/82">PR#82</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Dropped multiple dependencies on other Boost libraries including
+ Spirit, SmartPtr, Move, TypeTraits, and Function. DLL became more
+ lightweight for compilation.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>
+ in API is used instead of the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>. This is not a breaking change
+ as <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span></code> is convertible to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">:</span><span class="identifier">import_</span><span class="special">*</span></code>
+ functions now return <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ rather than <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>.
+ Define <code><span class="identifier">BOOST_DLL_USE_BOOST_SHARED_PTR</span></code>
+ to restore the old behavior, however note that the macro will be
+ removed in one of the upcomming Boost releases.
+ </div>
+ </li>
+ <li>
+ <div>
+ Use modern C++ in the samples and in the library code.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">library_info</span></code> now always throws
+ in case of a broken binary. Updated the docs and added some tests.
+ </div>
+ </li>
+ <li>
+ <div>
+ Documented in FAQ why <code><span class="identifier">RTLD_NODELETE</span></code>
+ is missing and why there is no <code><span class="special">.</span><span class="identifier">release</span><span class="special">()</span></code>
+ method. Provided suggestions on possible workarounds.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the information on building and using the library. CMake
+ targets now link with <code><span class="special">-</span><span class="identifier">ldl</span></code> if it is required by the platform.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">path_from_handle</span></code> implementation
+ for long paths on Windows OS.
+ </div>
+ </li>
+ <li>
+ <div>
+ Highlighted in the docs that <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_</span><span class="special">*</span></code> parts of the library are experimental
+ and incomplete.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed multiple mangling issues in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_</span><span class="special">*</span></code> parts of the library.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1370">PR#1370</a> Relax half period check in spheroidal normalization
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1368">PR#1368</a> Pass umbrella strategies in rtree spatial
+ predicates
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1367">PR#1367</a> Improvements in traversal
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1361">PR#1361</a> Test set operations on random grids with
+ integer coordinates
+ </div>
+ </li>
+ <li>
+ <div>
+ Several test cases has been added
+ </div>
+ </li>
+ <li>
+ <div>
+ Use using instead of typedef in part of the code
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Solved issues
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1364">PR#1364</a> Fix several strategies (add getters, fix
+ compilation error and warning)
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/issues/629">#629</a> Avoid warnings for coordinate conversions and
+ unused parameters
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes of errors and warnings
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Graph</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Bug fixes
+ <ul>
+ <li>
+ <div>
+ Replace implementation of <code><span class="identifier">maximum_weighted_matching</span></code>,
+ resolves multiple issues.
+ </div>
+ </li>
+ <li>
+ <div>
+ Ensure <code><span class="identifier">named_graph</span></code>
+ is initialized before use.
+ </div>
+ </li>
+ <li>
+ <div>
+ Replace custom geometry code in <code><span class="identifier">is_straight_line_drawing</span></code>
+ with Boost.Geometry, fixes incorrect results for very small
+ angles.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix incorrect callbacks to <code><span class="identifier">finish_edge</span></code>
+ in <code><span class="identifier">undirected_dfs</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Performance improvements
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">adjacency_list</span></code>:
+ Remove unnecessary calls to <code><span class="identifier">resize</span></code>/<code><span class="identifier">reserve</span></code> from within <code><span class="identifier">add_vertex</span></code> for <code><span class="identifier">vector</span></code>-based storage! A quick
+ benchmark indicates a 10% improvement to graph construction
+ time.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">lengauer_tarjan_dominator_tree</span></code>:
+ Replace <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>
+ with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>, obtaining a ~40%
+ improvement for large graphs.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ General Improvements
+ <ul>
+ <li>
+ <div>
+ Replace the use of several Boost utilities with C++14 language
+ features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Modernize examples with C++14 language features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes to documentation and build system.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">vertex_by_property</span></code>
+ no longer requires a mutable graph.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix compilation issue with <code><span class="identifier">cycle_canceling</span></code>
+ and Clang 19.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Dropped support for C++03 and ancient compilers, updated code base
+ to use C++11 and MP11, reduced usage of MPL. (<a href="https://github.com/boostorg/iterator/pull/82">PR#82</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">min_category</span></code>
+ trait, which is a variadic equivalent of <code><span class="identifier">minimum_category</span></code>
+ that doesn't depend on MPL. <code><span class="identifier">minimum_category</span></code>
+ is deprecated and will be removed in a future release.
+ </div>
+ </li>
+ <li>
+ <div>
+ Extracted <code><span class="identifier">enable_if_convertible</span></code>
+ trait to a separate header <code><span class="identifier">enable_if_convertible</span><span class="special">.</span><span class="identifier">hpp</span></code>.
+ The trait was previously defined in <code><span class="identifier">iterator_adaptor</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ and the header still provides <code><span class="identifier">enable_if_convertible</span></code>
+ when included. This dependency is provided for backward compatibility
+ and will be removed in a future release. Users are advised to add
+ includes of <code><span class="identifier">enable_if_convertible</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ as needed.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="special">*</span><span class="identifier">_t</span></code>
+ variants of various iterator traits that produce types.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">filter_iterator</span></code> and
+ <code><span class="identifier">transform_iterator</span></code>
+ now use empty base optimization (EBO) to reduce size of the iterator
+ when the adopted function object is stateless.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">zip_iterator</span></code> now
+ natively supports <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>,
+ <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>
+ for iterator tuples and doesn't need including Fusion support headers.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">function_output_iterator</span></code>
+ no longer allows default construction when the wrapped function is
+ a function pointer. Such construction would previously create an
+ iterator with an uninitialized function pointer value, and such an
+ iterator would be unusable.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">generator_iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ and <code><span class="identifier">shared_container_iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ headers were moved under the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">iterator</span></code>
+ directory. The previous headers in <code><span class="identifier">boost</span></code>
+ are still retained for backward compatibility, but will be removed
+ in a future release. Users are advised to update their includes.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">shared_container_iterator</span></code>
+ now uses <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code> to reference the container
+ internally. The support for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ is still retained, but it will incur performance overhead on the
+ iterator construction, as <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ is now wrapped in a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ internally. It is recommended to use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ to reference the container.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Raised required ICU version to at least 4.8.1
+ </div>
+ </li>
+ <li>
+ <div>
+ Dropped support for ICU 50.1
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed parsing of integers with input strings in floating point format
+ (<a href="https://github.com/boostorg/locale/pull/241">PR#241</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Support parsing and formatting of <code><span class="identifier">uint64_t</span></code>
+ values with the ICU backend (<a href="https://github.com/boostorg/locale/pull/246">PR#246</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Support <code><span class="identifier">char8_t</span></code> on
+ more platforms
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/lockfree/">Lockfree</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added new spsc_value, a lockfree single-producer single-consumer
+ value based on a triple-buffer
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Disabled usage of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special"><</span><span class="keyword">char16_t</span><span class="special">></span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special"><</span><span class="keyword">char32_t</span><span class="special">></span></code> locale facets in C++20 and later
+ modes as they were deprecated in C++20. This means character code
+ conversions to/from <code><span class="keyword">char16_t</span></code>
+ and <code><span class="keyword">char32_t</span></code> is no longer
+ available in C++20 and later.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed building issues when using CMake and MinGW-w64. (<a href="https://github.com/boostorg/log/pull/241">PR#241</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed incorrect file counter used by <code><span class="identifier">text_file_backend</span></code>
+ when the backend was configured to append to an existing file and
+ the actively written file name pattern didn't have a counter placeholder
+ but the target file name pattern did, and the log files were written
+ directly into the target storage. (<a href="https://github.com/boostorg/log/issues/245">#245</a>)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">mp_from_sequence</span></code>
+ for non-integral values (accidentally broken in 1.83.0 due to offset
+ support)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">connection_pool</span></code> now
+ resizes correctly even in the presence of many connections with session
+ establishment in-progress. The old algorithm could lead to the pool
+ not being resized as expected under certain conditions (<a href="https://github.com/boostorg/mysql/issues/395">#395</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">any_connection</span><span class="special">::</span><span class="identifier">connection_id</span></code>.
+ This function retrieves the connection's ID, which can subsequently
+ be used in <code><span class="identifier">KILL</span></code> SQL
+ statements to cancel queries. This function is equivalent to <code><span class="identifier">mysql_thread_id</span></code> in the official
+ C API (<a href="https://github.com/boostorg/mysql/issues/408">#408</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Attempting to start an async operation on a <code><span class="identifier">connection</span></code>
+ or <code><span class="identifier">any_connection</span></code>
+ while another operation is in-progress no longer triggers undefined
+ behavior. It now fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">operation_in_progress</span></code>
+ (<a href="https://github.com/boostorg/mysql/issues/405">#405</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Attempting to start an operation while a <code><span class="identifier">connection</span></code>
+ or <code><span class="identifier">any_connection</span></code>
+ are engaged in a multi-function operation no longer yields potentially
+ dangerous packet mismatches. It instead fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">engaged_in_multi_function</span></code> (<a href="https://github.com/boostorg/mysql/issues/448">#448</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved diagnostics when attempting to use a connection without
+ a established session. Operations now fail with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">not_connected</span></code>
+ (<a href="https://github.com/boostorg/mysql/issues/450">#450</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a race condition in <code><span class="identifier">connection</span></code>
+ and <code><span class="identifier">any_connection</span></code>
+ regarding per-operation cancellation. In previous versions, if a
+ cancellation signal was emitted after an intermediate async operation
+ had completed, but before its handler had been called, the signal
+ was ignored. This is no longer the case (<a href="https://github.com/boostorg/mysql/issues/199">#199</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">field</span></code>'s constructor
+ and assignment from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
+ are now available in C++17, rather than C++20. These functions were
+ guarded by standard feature-test macros, only available in C++20.
+ These have been replaced by their Boost.Config equivalents.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added an HTTP server example that uses C++20 coroutines.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added a doc page on interfacing sync and async code. This replaces
+ the synchronous connection pool snippet, which contained a race condition.
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved some of the other examples and doc pages.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/nowide/">Nowide</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Make <code><span class="identifier">getenv</span></code> thread-safe
+ (<a href="https://github.com/boostorg/nowide/pull/191">PR#191</a>)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant_collection</span></code>, a closed polymorphic
+ collection similar in behavior to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><...>></span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/smart_ptr/">SmartPtr</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fix <code><span class="keyword">operator</span><span class="special"><<</span></code>
+ for wide streams (accidentally broken in 1.87.0)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use <code><span class="identifier">GetModuleNames</span></code>
+ to determine the full module path for MSVC implementation. Many thanks
+ to <a href="https://github.com/Dani-Hub">Daniel Krügler</a>
+ for the <a href="https://github.com/boostorg/stacktrace/pull/198">PR#198</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Print relative addresses to allow their decoding later without knowing
+ the base address. The logic could be disabled by defining <code><span class="identifier">BOOST_STACKTRACE_DISABLE_OFFSET_ADDR_BASE</span></code>.
+ Many thanks to <a href="https://github.com/McCzarny">Maciej Czarnecki</a>
+ for the <a href="https://github.com/boostorg/stacktrace/pull/200">PR#200</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Expose all the stacktrace libraries as b2 features for better control
+ over the build and explicit information on what libraries are built.
+ See "Configuration and Build" section for more info. Many
+ thanks to <a href="https://github.com/uilianries">Uilian Ries</a>
+ for initial implementation of the feature in <a href="https://github.com/boostorg/stacktrace/pull/202">PR#202</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">stacktrace_from_exception</span></code>
+ builds with MinGW. Thanks to <a href="https://github.com/crhilton">crhilton</a>
+ for the fix.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed an UB that was introduced in Boost.TypeIndex 1.84 and prevented
+ the library from building on clang-20.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Migrated the documentation to a multipage format using Antora.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use the smallest appropriate unsigned type for the index.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.compilers_tested">
+ <h3><span class="link">Compilers Tested</span></h3>
+ <p>
+ Boost's primary test compilers are:
+ </p>
+ <ul>
+ <li>
+ <div>
+ Linux:
+ <ul>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++03: 4.6.3, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++11: 4.7.3, 4.8.5, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ OS X:
+ <ul>
+ <li>
+ <div>
+ Apple Clang, C++03: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++11: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++14: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++17: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++20: 11.0.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Windows:
+ <ul>
+ <li>
+ <div>
+ Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.acknowledgements">
+ <h3><span class="link">Acknowledgements</span></h3>
+ <p>
+ Marshall Clow, Glen Fernandes and Ion Gaztañaga managed this release.
+ </p>
+ </div>
+ Version 1.87.0 https://www.boost.org/users/history/version_1_87_0.htmlhttps://www.boost.org/users/history/version_1_87_0.html Thu, 12 Dec 2024 00:52:33 +0000
<div id="version_1_87_0.new_libraries">
@@ -3289,1430 +4309,6 @@
Marshall Clow, Glen Fernandes and Ion Gaztañaga managed this release.
</p>
</div>
- Version 1.85.0 https://www.boost.org/users/history/version_1_85_0.htmlhttps://www.boost.org/users/history/version_1_85_0.html Mon, 15 Apr 2024 17:38:25 +0000
-
-
- <div id="version_1_85_0.known_issues">
- <h3><span class="link">Known Issues</span></h3>
- <p>
- These are patches from library authors which were found too late to be fixed
- in the release.
- </p>
- <ul>
- <li>
- <div>
- Container
- <ul>
- <li>
- <div>
- flat_map/multimap containers can crash or return invalid results
- in some compilers due to UB in the library, see <a href="https://github.com/boostorg/container/issues/273">#273</a>.
- <a href="https://www.boost.org/patches/1_85_0/0001-container-fix-flat_map.patch">Patch</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_85_0.new_libraries">
- <h3><span class="link">New Libraries</span></h3>
- <ul>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/charconv/">Charconv</a>:</span> A high quality implementation
- of <code><span class="special"><</span><span class="identifier">charconv</span><span class="special">></span></code> in C++11, from Matt Borland.
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/scope/">Scope</a>:</span> A collection of scope guard
- utilities and a <code><span class="identifier">unique_resource</span></code>
- wrapper, from Andrey Semashev.
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_85_0.updated_libraries">
- <h3><span class="link">Updated Libraries</span></h3>
- <ul>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
- <ul>
- <li>
- <div>
- Fixed the <code><span class="identifier">async_result</span></code>
- primary template's concept checking to correctly handle lvalue-qualified
- completion signatures.
- </div>
- </li>
- <li>
- <div>
- Fixed some compile errors that could arise when using the <code><span class="identifier">bind_allocator</span></code>, <code><span class="identifier">bind_executor</span></code>,
- <code><span class="identifier">bind_immediate_executor</span></code>
- and <code><span class="identifier">bind_cancellation_slot</span></code>
- completion token adapters to adapt each other.
- </div>
- </li>
- <li>
- <div>
- Changed the <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">ranged_parallel_group</span></code>
- operation so that it moves the <code><span class="identifier">completion_order</span></code>
- vector when invoking the completion handler.
- </div>
- </li>
- <li>
- <div>
- Fixed some warnings about deprecated implicit copy constructors on
- <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_resolver_query</span></code>, <code><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">strand</span></code>, and <code><span class="identifier">coroutine</span></code>.
- </div>
- </li>
- <li>
- <div>
- Updated the version specification used to initialise Winsock.
- </div>
- </li>
- <li>
- <div>
- Fixed <code><span class="identifier">co_spawn</span></code> to
- correctly propagate exceptions resulting from cancellation to the
- completion handler.
- </div>
- </li>
- <li>
- <div>
- Added calls to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">launder</span></code>
- to fix undefined behaviour in <code><span class="identifier">awaitable</span><span class="special"><></span></code> internal storage.
- </div>
- </li>
- <li>
- <div>
- Added missing handling of the <code><span class="identifier">file_base</span><span class="special">::</span><span class="identifier">append</span></code>
- flag in the Windows implementation of file support.
- </div>
- </li>
- <li>
- <div>
- Updated the socket and descriptor implementations to add more cases
- where they will fall back to <code><span class="identifier">fcntl</span></code>
- if a call to <code><span class="identifier">ioctl</span></code>
- fails.
- </div>
- </li>
- <li>
- <div>
- Fixed the <tt>boost/asio/experimental/parallel_group.hpp</tt>
- header so that it is self-contained.
- </div>
- </li>
- <li>
- <div>
- Fixed a compile error that occurred when channels and <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">coro</span></code> were both used in the same
- translation unit.
- </div>
- </li>
- <li>
- <div>
- Added missing CancellationSlot type requirements to documentation.
- </div>
- </li>
- <li>
- <div>
- Fixed the documentation hyperlinks for the deduced return types of
- asynchronous operations' initiating functions.
- </div>
- </li>
- <li>
- <div>
- Other minor documentation updates.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/atomic/">Atomic</a>:</span>
- <ul>
- <li>
- <div>
- Added support for <code><span class="identifier">pause</span></code>
- instruction on RISC-V. (<a href="https://github.com/boostorg/atomic/pull/65">PR#65</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
- <ul>
- <li>
- <div>
- API Changes
- <ul>
- <li>
- <div>
- The status code list has been updated to conform with the IANA
- registry.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Fixes
- <ul>
- <li>
- <div>
- Unreachable code warning in <code><span class="identifier">buffers_cat</span><span class="special">.</span><span class="identifier">hpp</span></code>.
- </div>
- </li>
- <li>
- <div>
- Connection error handling in <code><span class="identifier">websocker_server_awaitable</span></code>
- example.
- </div>
- </li>
- <li>
- <div>
- Concurrent calls to <code><span class="identifier">async_write</span></code>
- in advanced server examples.
- </div>
- </li>
- <li>
- <div>
- zlib name conflicts with minizip.
- </div>
- </li>
- <li>
- <div>
- host string should be updated after <code><span class="identifier">SSL_set_tlsext_host_name</span><span class="special">()</span></code>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Improvements
- <ul>
- <li>
- <div>
- <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">associator</span></code> is specialized
- for <code><span class="identifier">bind_wrapper</span></code>
- and <code><span class="identifier">bind_front_wrapper</span></code>.
- </div>
- </li>
- <li>
- <div>
- Add non-allocating overload for error category message function.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Documentation
- <ul>
- <li>
- <div>
- Specifies when calling <code><span class="identifier">http</span><span class="special">::</span><span class="identifier">message</span><span class="special">::</span><span class="identifier">prepare_payload</span><span class="special">()</span></code> is optional.
- </div>
- </li>
- <li>
- <div>
- Operations affected by <code><span class="identifier">basic_stream</span><span class="special">::</span><span class="identifier">expires_after</span><span class="special">()</span></code>.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">teardown</span><span class="special">()</span></code>
- and <code><span class="identifier">async_teardown</span><span class="special">()</span></code> are customization points.
- </div>
- </li>
- <li>
- <div>
- Moving or copying <code><span class="identifier">http</span><span class="special">::</span><span class="identifier">serializer</span></code>
- after first usage is undefined behaviour.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">permessage_deflate</span></code> should
- be configured before performing the WebSocket handshake.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">bytes_transferred</span></code>
- in http reads operations reports the number of bytes consumed
- by the HTTP parser.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Acknowledgements
- <ul>
- <li>
- <div>
- Emile Cormier, JohannesWilde, yhzx233
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/bimap/">Bimap</a>:</span>
- <ul>
- <li>
- <div>
- Fixed heterogeneous lookup for side collections (<a href="https://github.com/boostorg/bimap/pull/42">PR#42</a>).
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/bind/">Bind</a>:</span>
- <ul>
- <li>
- <div>
- C++03 is no longer supported; a C++11 compiler is required. (This
- includes GCC 4.7 or later, and MSVC 12.0 (VS 2013) or later.)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
- <ul>
- <li>
- <div>
- Removed outdated mentions of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">lexical_cast</span></code>
- that is not part of the library any more. Thanks to <a href="https://github.com/eoan-ermine">Danil
- Sidoruk</a> for the PR <a href="https://github.com/boostorg/conversion/pull/28">PR#28</a>!
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/core/">Core</a>:</span>
- <ul>
- <li>
- <div>
- Added a new <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">functor</span><span class="special">.</span><span class="identifier">hpp</span></code>
- header with a <code><span class="identifier">functor</span></code>
- class template for wrapping a raw function into a function object
- class.
- </div>
- </li>
- <li>
- <div>
- Changed <code><span class="identifier">null_deleter</span></code>,
- <code><span class="identifier">fclose_deleter</span></code> and
- checked deleter definitions so that they don't bring namespace <code><span class="identifier">boost</span></code> into argument-dependent lookup.
- Users may need to either explicitly qualify the namespace of the
- called function or add a <code><span class="keyword">using</span></code>-declaration.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/filesystem/">Filesystem</a>:</span>
- <ul>
- <li>
- <div>
- <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">generic_path</span></code> and <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">generic_string</span></code> methods now remove
- duplicate directory separators in the returned paths.
- </div>
- </li>
- <li>
- <div>
- <strong>v4:</strong> <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">generic_path</span></code>,
- <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">generic_string</span></code>, <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">make_preferred</span></code>
- and <code><span class="identifier">path</span><span class="special">::</span><span class="identifier">lexically_normal</span></code> avoid converting
- between backslashes and forward slashes in path root names. For example,
- on Windows, <code><span class="identifier">path</span><span class="special">(</span><span class="string">"\\\\\\\\?\\\\c:\\\\foo"</span><span class="special">).</span><span class="identifier">generic_string</span><span class="special">()</span></code> now returns "\\?\c:/foo"
- instead of "//?/c:/foo". Similarly, <code><span class="identifier">path</span><span class="special">(</span><span class="string">"\\\\\\\\host/share/foo/.."</span><span class="special">).</span><span class="identifier">lexically_normal</span><span class="special">()</span></code> now returns "\\host\share".
- </div>
- </li>
- <li>
- <div>
- <strong>v4:</strong> <code><span class="identifier">equivalent</span></code>
- now indicates error if either one of the paths doesn't exist.
- </div>
- </li>
- <li>
- <div>
- <strong>v4:</strong> <code><span class="identifier">absolute</span></code>
- now returns a path with a trailing directory separator when the input
- path has an empty <code><span class="identifier">relative_path</span><span class="special">()</span></code>. (<a href="https://github.com/boostorg/filesystem/issues/301">#301</a>)
- </div>
- </li>
- <li>
- <div>
- Added a <code><span class="identifier">unique_path</span></code>
- overload taking a single <code><span class="identifier">error_code</span><span class="special">&</span> <span class="identifier">ec</span></code>
- argument. The overload generates a unique path using the default
- path model.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">weakly_canonical</span></code>
- now produces an absolute path if the input path is relative and contains
- no elements that exist in the filesystem. (<a href="https://github.com/boostorg/filesystem/issues/300">#300</a>)
- </div>
- </li>
- <li>
- <div>
- Added a new <code><span class="identifier">copy_options</span><span class="special">::</span><span class="identifier">ignore_attribute_errors</span></code>
- option for <code><span class="identifier">copy_file</span></code>
- and <code><span class="identifier">copy</span></code> operations.
- The new option allows to ignore possible errors while copying file
- attributes. (<a href="https://github.com/boostorg/filesystem/issues/179">#179</a>)
- </div>
- </li>
- <li>
- <div>
- On Linux, <code><span class="identifier">copy_file</span></code>
- backends based on <code><span class="identifier">sendfile</span></code>
- and <code><span class="identifier">copy_file_range</span></code>
- system calls will attempt to preallocate storage for the target file.
- This may reduce filesystem fragmentation and provide early error
- indication if there is not enough free space. Not all filesystems
- support this feature; file copying proceeds if storage preallocation
- is not supported.
- </div>
- </li>
- <li>
- <div>
- On POSIX systems that support <a href="https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdopendir.html"><code><span class="identifier">fdopendir</span></code></a>, <code><span class="identifier">openat</span></code> and related APIs defined
- in POSIX.1-2008, as well as on Windows, <code><span class="identifier">recursive_directory_iterator</span></code>
- now uses file descriptors/handles instead of paths to query the file
- statuses and open nested directories during iteration. This makes
- directory iteration more resilient to concurrent modifications of
- the filesystem.
- </div>
- </li>
- <li>
- <div>
- Removed APIs that were previously declared deprecated. In particular,
- <code><span class="identifier">path</span></code> and <code><span class="identifier">recursive_directory_iterator</span></code> member
- functions, <code><span class="identifier">is_regular</span></code>,
- <code><span class="identifier">copy_directory</span></code>,
- <code><span class="identifier">symbolic_link_exists</span></code>,
- <code><span class="identifier">complete</span></code>, <code><span class="identifier">copy_option</span></code>, <code><span class="identifier">symlink_option</span></code>,
- as well as <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">convenience</span><span class="special">.</span><span class="identifier">hpp</span></code>
- and <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">path_traits</span><span class="special">.</span><span class="identifier">hpp</span></code> headers were removed. Possible
- replacements for the removed components are mentioned in the documentation.
- </div>
- </li>
- <li>
- <div>
- Support for <code><span class="identifier">path</span></code>
- construction, assignment and appending from container types (e.g.
- <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="keyword">char</span><span class="special">></span></code>)
- is now disabled by default. Users can still enable this functionality
- by defining <code><span class="identifier">BOOST_FILESYSTEM_DEPRECATED</span></code>.
- This functionality remains deprecated and will be completely removed
- in a future release.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/function/">Function</a>:</span>
- <ul>
- <li>
- <div>
- C++03 is no longer supported; a C++11 compiler is required. (This
- includes GCC 4.7 or later, and MSVC 12.0 (VS 2013) or later.)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
- <ul>
- <li>
- <div>
- Improvements
- <ul>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1247">PR#1247</a> Use if constexpr macro instead of condition
- macro
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1242">PR#1242</a> Pass strategy to sort by side
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1234">PR#1234</a> Add cmake files for clang/mac/darwin/arm64
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Solved issues
- <ul>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1231">#1231</a>, <a href="https://github.com/boostorg/geometry/issues/1244">#1244</a> Fix invalid set operations
- for CCW polygons
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1259">#1259</a> Fix compilation error with CUDA NVCC compiler
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1250">#1250</a> Fix buffer of linestring returning incorrect
- inner polygon
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1230">#1230</a> Fix union operation perturbing a point and
- returning wrong result
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1229">#1229</a> Fix union producing self intersections
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1248">PR#1248</a> Fix buffer issue by setting turns in closed
- clusters as non traversable
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1246">PR#1246</a> Fix compilation of converter and is_base_of
- </div>
- </li>
- <li>
- <div>
- Various fixes of errors and warnings
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
- <ul>
- <li>
- <div>
- Support for C++03 is deprecated and will be removed in a future release.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/json/">JSON</a>:</span>
- <ul>
- <li>
- <div>
- Boost.Endian is now used to deal with endianness.
- </div>
- </li>
- <li>
- <div>
- Aliases to Boost.System and Boost.Container components are deprecated
- and <strong>will be completely removed in 1.87.0</strong>.
- </div>
- </li>
- <li>
- <div>
- Conversion of described classes supports private members.
- </div>
- </li>
- <li>
- <div>
- Rvalue reference overload for <code><span class="identifier">visit</span></code>.
- </div>
- </li>
- <li>
- <div>
- Add conversion support for path-like types.
- </div>
- </li>
- <li>
- <div>
- Parsing into described classes correctly considers inherited members.
- </div>
- </li>
- <li>
- <div>
- Conversion of self-referential sequences is disabled.
- </div>
- </li>
- <li>
- <div>
- Fixed reference handling in visit.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/leaf/">LEAF</a>:</span>
- <ul>
- <li>
- <div>
- New API for transporting of error objects and exceptions between
- threads: <code><span class="identifier">try_capture_all</span></code>.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">result</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
- able to transport exceptions captured via <code><span class="identifier">try_capture_all</span></code>.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">result</span><span class="special"><</span><span class="identifier">T</span><span class="special">></span></code>
- transporting dynamically captured error objects with improved efficiency.
- </div>
- </li>
- <li>
- <div>
- Old <code><span class="identifier">make_shared_context</span></code>/<code><span class="identifier">capture</span></code> APIs are deprecated, will
- be removed in the next release.
- </div>
- </li>
- <li>
- <div>
- Removed support for transporting of dynamicaly captured error objects
- in exceptions.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/lexical_cast/">LexicalCast</a>:</span>
- <ul>
- <li>
- <div>
- Significant rewrite of the internal logic to separate optimized and
- C++ Standard Library IO-based streams:
- <ul>
- <li>
- <div>
- C++ Standard Library based streams now constructed in less
- cases leading to <strong>better performance</strong>;
- </div>
- </li>
- <li>
- <div>
- less template instantiations and simpler code;
- </div>
- </li>
- <li>
- <div>
- always use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">char_traits</span></code>
- (do not use custom traits from input/output types as it leads
- to linktime or runtime errors);
- </div>
- </li>
- <li>
- <div>
- fixed missuse of forward declared boost::array (thanks to
- <a href="https://github.com/13steinj">13steinj</a> for
- the report <a href="https://github.com/boostorg/lexical_cast/issues/64">#64</a>!);
- </div>
- </li>
- <li>
- <div>
- support for <code><span class="keyword">volatile</span></code>
- input types was dropped, following the C++ Standard Library
- trend.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Optimized conversions from std::basic_string_view and boost::basic_string_view
- <a href="https://github.com/boostorg/lexical_cast/issues/30">#30</a>.
- </div>
- </li>
- <li>
- <div>
- Dropped dependency on Boost.NumericConversion and Boost.MPL. Fixed
- some cases of converting floting point types to arithmetics.
- </div>
- </li>
- <li>
- <div>
- The library now compiles and works fine with <code><span class="special">-</span><span class="identifier">fno</span><span class="special">-</span><span class="identifier">sanitize</span><span class="special">-</span><span class="identifier">recover</span><span class="special">=</span><span class="identifier">integer</span></code> <a href="https://github.com/boostorg/lexical_cast/issues/45">#45</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
- <ul>
- <li>
- <div>
- Fix linker issues due to missing typeinfo for <code><span class="identifier">char8_t</span></code>
- in C++20 mode
- </div>
- </li>
- <li>
- <div>
- Fix IConv compile flags when using ICU that has a bundled IConv
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">collator</span></code> now throws
- on construction, if at all, as documented
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">collator</span></code> no longer
- derives from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">collator</span></code>
- to avoid possible type confusing when it isn't available for the
- current backend <a href="https://github.com/boostorg/locale/pull/216">PR#216</a>
- </div>
- </li>
- <li>
- <div>
- Throw an exception when a faulty IConv library is detected (e.g.
- on some MacOS versions) instead of looping indefinitely <a href="https://github.com/boostorg/locale/pull/218">PR#218</a>
- </div>
- </li>
- <li>
- <div>
- Reduce resolution of <code><span class="identifier">date_time</span></code>
- to seconds as milliseconds where not easily available causing confusion
- <a href="https://github.com/boostorg/locale/issues/221">#221</a>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/math/">Math</a>:</span>
- <ul>
- <li>
- <div>
- Added a new collection of optimization algorithms:
- <ul>
- <li>
- <div>
- Differential Evolution <a href="https://github.com/boostorg/math/pull/1062">PR#1062</a>
- </div>
- </li>
- <li>
- <div>
- JSO <a href="https://github.com/boostorg/math/pull/1065">PR#1065</a>
- </div>
- </li>
- <li>
- <div>
- Random Search <a href="https://github.com/boostorg/math/pull/1071">PR#1071</a>
- </div>
- </li>
- <li>
- <div>
- CMA-ES <a href="https://github.com/boostorg/math/pull/1074">PR#1074</a>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Fix Divide by 0 warning in NCF survival function
- </div>
- </li>
- <li>
- <div>
- Fix constexpr depth limits of ccmath::floor/ceil fail for large arguments
- </div>
- </li>
- <li>
- <div>
- Improve accuracy of quartic_roots
- </div>
- </li>
- <li>
- <div>
- Fix cstdfloat numeric limits detection macro for libstdc++14
- </div>
- </li>
- <li>
- <div>
- Fix for MSVC UCRT defining _Complex_I in complex.h when using C++14
- <a href="https://github.com/boostorg/math/pull/1060">PR#1060</a>
- </div>
- </li>
- <li>
- <div>
- Improve cstdfloat iostream <a href="https://github.com/boostorg/math/pull/1066">PR#1066</a>
- </div>
- </li>
- <li>
- <div>
- Fix redefnition of Boost.Config macros when using standalone mode
- in a non-standalone environment
- </div>
- </li>
- <li>
- <div>
- Significant improvements to code coverage with associated bug fixes
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/msm/">MSM</a>:</span>
- <ul>
- <li>
- <div>
- <strong>Major Update</strong>. Backend update (back11).
- Requires C++ 11. The documentation now uses it as default.
- </div>
- </li>
- <li>
- <div>
- <strong>Big new feature</strong>. New front-end (PlantUML).
- Requires C++ 20
- </div>
- </li>
- <li>
- <div>
- Various Bugfixes (compiler errors and warnings, priority of deferred
- events)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/multi_index/">Multi-index Containers</a>:</span>
- <ul>
- <li>
- <div>
- Fixed documentation errors.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span>
- <ul>
- <li>
- <div>
- Fix deprecation warnings from C++23 <limits> <a href="https://github.com/boostorg/multiprecision/pull/575">PR#575</a>
- </div>
- </li>
- <li>
- <div>
- Fix cpp_bin_float for small bit counts <a href="https://github.com/boostorg/multiprecision/pull/577">PR#577</a>
- </div>
- </li>
- <li>
- <div>
- Fix -Wpessimizing-move <a href="https://github.com/boostorg/multiprecision/pull/580">PR#580</a>
- </div>
- </li>
- <li>
- <div>
- Add covecov runs
- </div>
- </li>
- <li>
- <div>
- Reduce truncation in cpp_dec_float multiplication <a href="https://github.com/boostorg/multiprecision/pull/585">PR#585</a>
- </div>
- </li>
- <li>
- <div>
- Fix complex_adaptor to match precision requirements <a href="https://github.com/boostorg/multiprecision/pull/597">PR#597</a>
- </div>
- </li>
- <li>
- <div>
- Fix for breaking changes in tommath <a href="https://github.com/boostorg/multiprecision/pull/603">PR#603</a>
- </div>
- </li>
- <li>
- <div>
- Fix for types that can be converted to number participting in arithmetic
- operator overloads <a href="https://github.com/boostorg/multiprecision/issues/608">#608</a>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
- <ul>
- <li>
- <div>
- <strong>Breaking change</strong>: Boost.MySQL now
- requires linking to the new <strong>Boost.Charconv</strong>
- compiled library. This addresses a locale-dependency problem, increases
- efficiency, and powers the new client-side SQL formatting feature.
- </div>
- </li>
- <li>
- <div>
- Added experimental support for <strong>connection pools</strong>,
- which allows re-using sessions and provides built-in reconnection
- and error handling.
- </div>
- </li>
- <li>
- <div>
- Added experimental support for <strong>type-erased
- connections</strong> (<code><span class="identifier">any_connection</span></code>
- class). <code><span class="identifier">any_connection</span></code>
- is not a template and features simpler connection establishment and
- reconnection semantics.
- </div>
- </li>
- <li>
- <div>
- Added experimental support for <strong>client-side
- SQL formatting functions</strong> (<code><span class="identifier">format_sql</span></code>
- and <code><span class="identifier">format_sql_to</span></code>).
- These allow securely composing queries client-side, which enables
- patterns like batch inserts, dynamic filters or PATCH-like updates.
- </div>
- </li>
- <li>
- <div>
- Fixed a performance issue affecting <code><span class="identifier">close_statement</span></code>
- and <code><span class="identifier">async_close_statement</span></code>
- that could cause significant delays in application code.
- </div>
- </li>
- <li>
- <div>
- Added support for building with <code><span class="identifier">BOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT</span></code>.
- </div>
- </li>
- <li>
- <div>
- The deprecated execution interface (<code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">query</span></code>,
- <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">start_query</span></code>, <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">execute_statement</span></code>,
- <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">start_statement_execution</span></code> and their
- async counterparts) now triggers warnings, as it's scheduled for
- removal in Boost 1.86.
- </div>
- </li>
- <li>
- <div>
- Fixed a bug that caused some error messages to be truncated.
- </div>
- </li>
- <li>
- <div>
- Warning cleanup. Builds are now clean from warnings when building
- with <code><span class="special">-</span><span class="identifier">Wall</span></code>
- and <code><span class="special">-</span><span class="identifier">Wextra</span></code>.
- </div>
- </li>
- <li>
- <div>
- All <code><span class="identifier">field_view</span></code> constructors
- are now stable.
- </div>
- </li>
- <li>
- <div>
- The library internals have been rewritten using a sans-io approach
- to reduce complexity.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/numeric/odeint/">Odeint</a>:</span>
- <ul>
- <li>
- <div>
- <strong>Breaking change</strong>: The library now
- explicitly requires C++14 instead of implicitly by including Boost.Math
- </div>
- </li>
- <li>
- <div>
- Fix compatibility with Thrust 1.10.0
- </div>
- </li>
- <li>
- <div>
- Removed C++03 Boost components:
- <ul>
- <li>
- <div>
- Array
- </div>
- </li>
- <li>
- <div>
- Bind
- </div>
- </li>
- <li>
- <div>
- Function
- </div>
- </li>
- <li>
- <div>
- Static_assert
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/pfr/">PFR</a>:</span>
- <ul>
- <li>
- <div>
- <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">pfr</span><span class="special">::</span><span class="identifier">get_name</span></code> now can work with local
- types on some compilers. Thanks to <a href="https://github.com/schaumb">Bela
- Schaum</a> for the PR <a href="https://github.com/boostorg/pfr/pull/152">PR#152</a>!
- </div>
- </li>
- <li>
- <div>
- Removed unused implementation details. Thanks to <a href="https://github.com/denzor200">Denis
- Mikhailov</a> for the PR <a href="https://github.com/boostorg/pfr/pull/154">PR#154</a>.
- </div>
- </li>
- <li>
- <div>
- Allow throwing exceptions from <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">pfr</span><span class="special">::</span><span class="identifier">structure_to_tuple</span></code>.
- Thanks to <a href="https://github.com/denzor200">Denis Mikhailov</a>
- for the bug report <a href="https://github.com/boostorg/pfr/issues/155">#155</a>.
- </div>
- </li>
- <li>
- <div>
- Field reflection trick is now described in the docs. Thanks to all
- the discussion participans in <a href="https://github.com/boostorg/pfr/issues/150">#150</a>!
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/random/">Random</a>:</span>
- <ul>
- <li>
- <div>
- Added splitmix64 PRNG <a href="https://github.com/boostorg/random/pull/89">PR#89</a>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/system/">System</a>:</span>
- <ul>
- <li>
- <div>
- C++03 is no longer supported; a C++11 compiler is required. (This
- includes GCC 4.8 or later, and MSVC 14.0 (VS 2015) or later.)
- </div>
- </li>
- <li>
- <div>
- The deprecated header <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">system</span><span class="special">/</span><span class="identifier">cygwin_error</span><span class="special">.</span><span class="identifier">hpp</span></code>
- has been removed.
- </div>
- </li>
- <li>
- <div>
- The original and obsolete (32 bit) MinGW is no longer supported.
- MinGW-w64 (both 64 and 32 bit) is still supported.
- </div>
- </li>
- <li>
- <div>
- <code><span class="keyword">operator</span><span class="special">&</span></code>
- now works for <code><span class="identifier">result</span><span class="special"><</span><span class="keyword">void</span><span class="special">></span></code> (by way of taking a nullary function.)
- </div>
- </li>
- <li>
- <div>
- Added <code><span class="keyword">operator</span><span class="special">|=</span></code>
- for <code><span class="identifier">result</span></code>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
- <ul>
- <li>
- <div>
- <strong>Big new feature: stacktrace from arbitrary
- exception</strong>. On some POSIX platforms <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">stacktrace</span><span class="special">::</span><span class="identifier">from_current_exception</span><span class="special">()</span></code> now returns the stacktrace of the
- current exception object as if the stacktrace was captures at the
- point of throwing the exception. Many thanks to Andrei Nekrashevich
- for prototyping the idea in <code><span class="identifier">libsfe</span></code>.
- </div>
- </li>
- <li>
- <div>
- Fixed memory consumption on Windows with <code><span class="identifier">boost_stacktrace_windbg</span></code>.
- Thanks to <a href="https://github.com/ycyclop">ycyclop</a>
- for reporting the issue <a href="https://github.com/boostorg/stacktrace/issues/111">#111</a>, to <a href="https://github.com/correa">Thiago
- A. Correa</a> for providing more information, to <a href="https://github.com/akarpovskii">Andrei
- Karpovskii</a> for providing a possible fix.
- </div>
- </li>
- <li>
- <div>
- Fixed library build with non hidden visibility. Thanks to <a href="https://github.com/JBouwer">Jan Bouwer</a> for the report
- and information on how to fix it.
- </div>
- </li>
- <li>
- <div>
- Added a separate section on async signal safety to the docs. Many
- thanks to <a href="https://github.com/tworonix">tworonix</a>
- for highlighting the problem in <a href="https://github.com/boostorg/stacktrace/issues/131">#131</a>
- and to <a href="https://github.com/itrofimow">itrofimow</a>
- for information on the problem.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/stl_interfaces/">STLInterfaces</a>:</span>
- <ul>
- <li>
- <div>
- Change the behavior of <code><span class="identifier">iterator_interface</span></code>
- for input iterators in C++20 and later, to more closely follow the
- C++20 concepts.
- </div>
- </li>
- <li>
- <div>
- Remove hidden friends from <code><span class="identifier">iterator_interface</span></code>
- to fix errors about concepts being redefined with different constraints.
- </div>
- </li>
- <li>
- <div>
- Add a new <code><span class="identifier">v3</span></code> inline
- namespace, containing a new iterator_interface based on deducing
- this instead of CRTP (C++23 and later).
- </div>
- </li>
- <li>
- <div>
- Add an rvalue-qualified overload of <code><span class="identifier">closure</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code>, to prevent dangling temporaries.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/test/">Test</a>:</span>
- <ul>
- <li>
- <div>
- Respect library-spcific _NO_LIB macros <a href="https://github.com/boostorg/test/pull/406">PR#406</a>
- </div>
- </li>
- <li>
- <div>
- Supress MSVC C4702 from __builtin_unreachable() on intentionally
- unreachable code
- </div>
- </li>
- <li>
- <div>
- Fix boost::function streaming error <a href="https://github.com/boostorg/test/pull/411">PR#411</a>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
- <ul>
- <li>
- <div>
- Optimized <code><span class="identifier">emplace</span><span class="special">()</span></code> for a <code><span class="identifier">value_type</span></code>
- or <code><span class="identifier">init_type</span></code> (if
- applicable) argument to bypass creating an intermediate object. The
- argument is already the same type as the would-be intermediate object.
- </div>
- </li>
- <li>
- <div>
- Optimized <code><span class="identifier">emplace</span><span class="special">()</span></code> for <code><span class="identifier">k</span><span class="special">,</span><span class="identifier">v</span></code>
- arguments on map containers to delay constructing the object until
- it is certain that an element should be inserted. This optimization
- happens when the map’s <code><span class="identifier">key_type</span></code>
- is move constructible or when the <code><span class="identifier">k</span></code>
- argument is a <code><span class="identifier">key_type</span></code>.
- </div>
- </li>
- <li>
- <div>
- Fixed support for allocators with explicit copy constructors (<a href="https://github.com/boostorg/unordered/pull/234">PR#234</a>).
- </div>
- </li>
- <li>
- <div>
- Fixed bug in the <code><span class="keyword">const</span></code>
- version of <code><span class="identifier">unordered_multimap</span><span class="special">::</span><span class="identifier">find</span><span class="special">(</span><span class="identifier">k</span><span class="special">,</span> <span class="identifier">hash</span><span class="special">,</span> <span class="identifier">eq</span><span class="special">)</span></code> (<a href="https://github.com/boostorg/unordered/pull/238">PR#238</a>).
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/variant/">Variant</a>:</span>
- <ul>
- <li>
- <div>
- Removed more of the pre-C++11 macro and workarounds.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/wave/">Wave</a>:</span>
- Fixed bugs:
- <ul>
- <li>
- <div>
- <a href="https://github.com/boostorg/wave/issues/200">#200</a>: Emitted pragmas lack terminating newline
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/wave/issues/202">#202</a>: YYMARKER not updated when fill called on BOOST_WAVE_BSIZE
- boundary
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_85_0.updated_tools">
- <h3><span class="link">Updated Tools</span></h3>
- <ul>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/tools/build/">Build</a>:</span>
- <ul>
- <li>
- <div>
- Includes release of <a href="https://www.boost.org/tools/build/doc/html/#_version_5_1_0">B2
- version 5.1.0</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_85_0.compilers_tested">
- <h3><span class="link">Compilers Tested</span></h3>
- <p>
- Boost's primary test compilers are:
- </p>
- <ul>
- <li>
- <div>
- Linux:
- <ul>
- <li>
- <div>
- 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
- </div>
- </li>
- <li>
- <div>
- Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
- </div>
- </li>
- <li>
- <div>
- 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
- </div>
- </li>
- <li>
- <div>
- 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
- </div>
- </li>
- <li>
- <div>
- Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
- </div>
- </li>
- <li>
- <div>
- GCC, C++03: 4.6.3, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++11: 4.7.3, 4.8.5, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- OS X:
- <ul>
- <li>
- <div>
- Apple Clang, C++03: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++11: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++14: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++17: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++20: 11.0.3
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Windows:
- <ul>
- <li>
- <div>
- Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_85_0.acknowledgements">
- <h3><span class="link">Acknowledgements</span></h3>
- <p>
- Marshall Clow and Glen Fernandes managed this release.
- </p>
- </div>
diff --git a/generated/history-items.html b/generated/history-items.html
index d8fb9cfd..87d433ee 100644
--- a/generated/history-items.html
+++ b/generated/history-items.html
@@ -1,4 +1,21 @@
+
+
+ April 10th, 2025 20:39 GMT
+
+
+
+ New Libraries: Updated Libraries:
+
+
+
+
+
diff --git a/generated/history.rss b/generated/history.rss
index 4a51778f..d2733b96 100644
--- a/generated/history.rss
+++ b/generated/history.rss
@@ -8,7 +8,1027 @@
en-us
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)
-Version 1.87.0 https://www.boost.org/users/history/version_1_87_0.htmlhttps://www.boost.org/users/history/version_1_87_0.html Thu, 12 Dec 2024 00:52:33 +0000
+Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Thu, 10 Apr 2025 20:39:01 +0000
+
+
+ <div id="version_1_88_0.new_libraries">
+ <h3><span class="link">New Libraries</span></h3>
+ <ul>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
+ from Peter Dimov and Christian Mazakas.
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
+ on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
+ Šimičević.
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.updated_libraries">
+ <h3><span class="link">Updated Libraries</span></h3>
+ <ul>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/array/">Array</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Converted documentation to AsciiDoc (Christian Mazakas).
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> and
+ <code><span class="keyword">constexpr</span></code> as appropriate.
+ </div>
+ </li>
+ <li>
+ <div>
+ Marked obsolete functions as deprecated.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed obsolete compiler workarounds.
+ </div>
+ </li>
+ <li>
+ <div>
+ Changed <code><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="number">0</span><span class="special">>::</span><span class="identifier">begin</span><span class="special">()</span></code>,
+ <code><span class="identifier">cbegin</span><span class="special">()</span></code>,
+ <code><span class="identifier">end</span><span class="special">()</span></code>,
+ <code><span class="identifier">cend</span><span class="special">()</span></code>
+ to return <code><span class="keyword">nullptr</span></code>, enabling
+ <code><span class="keyword">constexpr</span></code>. This matches
+ the behavior of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed local <code><span class="identifier">hash_value</span></code>
+ overload; <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code> supports array-like types
+ natively.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="number">0</span><span class="special">></span></code>
+ can now be initialized with <code><span class="special">=</span>
+ <span class="special">{{}}</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="keyword">operator</span><span class="special"><=></span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">to_array</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> qualifiers
+ to various <code><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>
+ member functions, to make it consistent with <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">config</span></code> class's handling of integer
+ values.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a use-after-move error in <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">ranged_parallel_group</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an incorrect default template argument in the implementation
+ of <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">promise</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">io_uring</span></code>
+ implementation so that it does not attempt to re-register internal
+ descriptors with the reactor after a fork, if they were not previously
+ registered.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an uninitialised member in the <code><span class="identifier">thread_pool</span></code>
+ default constructor.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an ambiguous overload issue that occurred when passing a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">span</span></code> to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+ function.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed some spurious macro definitions that were left after the
+ removal of deprecated buffer functionality.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added documentation to clarify the use of <code><span class="identifier">file_base</span><span class="special">::</span><span class="identifier">flags</span></code>
+ when opening a file.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added overview documentation on the available runtime configuration
+ options.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the overview documentation to reflect the use of <code><span class="identifier">deferred</span></code> as the default completion
+ token.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the <code><span class="identifier">async_result</span></code>
+ documentation to reflect the current type requirements placed on
+ specialisations of the trait.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/assert/">Assert</a>:</span>
+ <ul>
+ <li>
+ <div>
+ When <code><span class="identifier">BOOST_ASSERT_HANDLER_IS_NORETURN</span></code>
+ is defined, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assertion_failed</span></code>
+ and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assertion_failed_msg</span></code> are declared
+ as <code><span class="identifier">BOOST_NORETURN</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixes
+ <ul>
+ <li>
+ <div>
+ Fixed out-of-bounds access in <code><span class="identifier">iequals</span></code>
+ function.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ Updated SSL examples to verify peer certificate hostname.
+ </div>
+ </li>
+ <li>
+ <div>
+ Refactored CMakeLists.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed Boost.Scope dependency from examples.
+ </div>
+ </li>
+ <li>
+ <div>
+ Peer pings in WebSocket now count as activity.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Documentation
+ <ul>
+ <li>
+ <div>
+ Added new examples for Unix domain sockets.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added SSL/TLS Certificate section to documentation.
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved documentation of <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span><span class="special">::</span><span class="identifier">async_close</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Acknowledgements
+ <ul>
+ <li>
+ <div>
+ Morten M. Neergaard
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use modern C++ in the samples and in the library code.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added constructor from <code><span class="identifier">native_handle_t</span></code>
+ to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">shared_library</span></code>. Many thanks to
+ <a href="https://github.com/tgmatos">Tiago Matos</a> for the
+ <a href="https://github.com/boostorg/dll/pull/82">PR#82</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Dropped multiple dependencies on other Boost libraries including
+ Spirit, SmartPtr, Move, TypeTraits, and Function. DLL became more
+ lightweight for compilation.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>
+ in API is used instead of the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>. This is not a breaking change
+ as <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span></code> is convertible to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">:</span><span class="identifier">import_</span><span class="special">*</span></code>
+ functions now return <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ rather than <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>.
+ Define <code><span class="identifier">BOOST_DLL_USE_BOOST_SHARED_PTR</span></code>
+ to restore the old behavior, however note that the macro will be
+ removed in one of the upcomming Boost releases.
+ </div>
+ </li>
+ <li>
+ <div>
+ Use modern C++ in the samples and in the library code.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">library_info</span></code> now always throws
+ in case of a broken binary. Updated the docs and added some tests.
+ </div>
+ </li>
+ <li>
+ <div>
+ Documented in FAQ why <code><span class="identifier">RTLD_NODELETE</span></code>
+ is missing and why there is no <code><span class="special">.</span><span class="identifier">release</span><span class="special">()</span></code>
+ method. Provided suggestions on possible workarounds.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the information on building and using the library. CMake
+ targets now link with <code><span class="special">-</span><span class="identifier">ldl</span></code> if it is required by the platform.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">path_from_handle</span></code> implementation
+ for long paths on Windows OS.
+ </div>
+ </li>
+ <li>
+ <div>
+ Highlighted in the docs that <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_</span><span class="special">*</span></code> parts of the library are experimental
+ and incomplete.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed multiple mangling issues in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_</span><span class="special">*</span></code> parts of the library.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1370">PR#1370</a> Relax half period check in spheroidal normalization
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1368">PR#1368</a> Pass umbrella strategies in rtree spatial
+ predicates
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1367">PR#1367</a> Improvements in traversal
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1361">PR#1361</a> Test set operations on random grids with
+ integer coordinates
+ </div>
+ </li>
+ <li>
+ <div>
+ Several test cases has been added
+ </div>
+ </li>
+ <li>
+ <div>
+ Use using instead of typedef in part of the code
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Solved issues
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1364">PR#1364</a> Fix several strategies (add getters, fix
+ compilation error and warning)
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/issues/629">#629</a> Avoid warnings for coordinate conversions and
+ unused parameters
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes of errors and warnings
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Graph</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Bug fixes
+ <ul>
+ <li>
+ <div>
+ Replace implementation of <code><span class="identifier">maximum_weighted_matching</span></code>,
+ resolves multiple issues.
+ </div>
+ </li>
+ <li>
+ <div>
+ Ensure <code><span class="identifier">named_graph</span></code>
+ is initialized before use.
+ </div>
+ </li>
+ <li>
+ <div>
+ Replace custom geometry code in <code><span class="identifier">is_straight_line_drawing</span></code>
+ with Boost.Geometry, fixes incorrect results for very small
+ angles.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix incorrect callbacks to <code><span class="identifier">finish_edge</span></code>
+ in <code><span class="identifier">undirected_dfs</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Performance improvements
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">adjacency_list</span></code>:
+ Remove unnecessary calls to <code><span class="identifier">resize</span></code>/<code><span class="identifier">reserve</span></code> from within <code><span class="identifier">add_vertex</span></code> for <code><span class="identifier">vector</span></code>-based storage! A quick
+ benchmark indicates a 10% improvement to graph construction
+ time.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">lengauer_tarjan_dominator_tree</span></code>:
+ Replace <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>
+ with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>, obtaining a ~40%
+ improvement for large graphs.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ General Improvements
+ <ul>
+ <li>
+ <div>
+ Replace the use of several Boost utilities with C++14 language
+ features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Modernize examples with C++14 language features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes to documentation and build system.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">vertex_by_property</span></code>
+ no longer requires a mutable graph.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix compilation issue with <code><span class="identifier">cycle_canceling</span></code>
+ and Clang 19.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Dropped support for C++03 and ancient compilers, updated code base
+ to use C++11 and MP11, reduced usage of MPL. (<a href="https://github.com/boostorg/iterator/pull/82">PR#82</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">min_category</span></code>
+ trait, which is a variadic equivalent of <code><span class="identifier">minimum_category</span></code>
+ that doesn't depend on MPL. <code><span class="identifier">minimum_category</span></code>
+ is deprecated and will be removed in a future release.
+ </div>
+ </li>
+ <li>
+ <div>
+ Extracted <code><span class="identifier">enable_if_convertible</span></code>
+ trait to a separate header <code><span class="identifier">enable_if_convertible</span><span class="special">.</span><span class="identifier">hpp</span></code>.
+ The trait was previously defined in <code><span class="identifier">iterator_adaptor</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ and the header still provides <code><span class="identifier">enable_if_convertible</span></code>
+ when included. This dependency is provided for backward compatibility
+ and will be removed in a future release. Users are advised to add
+ includes of <code><span class="identifier">enable_if_convertible</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ as needed.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="special">*</span><span class="identifier">_t</span></code>
+ variants of various iterator traits that produce types.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">filter_iterator</span></code> and
+ <code><span class="identifier">transform_iterator</span></code>
+ now use empty base optimization (EBO) to reduce size of the iterator
+ when the adopted function object is stateless.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">zip_iterator</span></code> now
+ natively supports <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>,
+ <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>
+ for iterator tuples and doesn't need including Fusion support headers.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">function_output_iterator</span></code>
+ no longer allows default construction when the wrapped function is
+ a function pointer. Such construction would previously create an
+ iterator with an uninitialized function pointer value, and such an
+ iterator would be unusable.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">generator_iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ and <code><span class="identifier">shared_container_iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ headers were moved under the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">iterator</span></code>
+ directory. The previous headers in <code><span class="identifier">boost</span></code>
+ are still retained for backward compatibility, but will be removed
+ in a future release. Users are advised to update their includes.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">shared_container_iterator</span></code>
+ now uses <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code> to reference the container
+ internally. The support for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ is still retained, but it will incur performance overhead on the
+ iterator construction, as <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ is now wrapped in a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ internally. It is recommended to use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ to reference the container.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Raised required ICU version to at least 4.8.1
+ </div>
+ </li>
+ <li>
+ <div>
+ Dropped support for ICU 50.1
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed parsing of integers with input strings in floating point format
+ (<a href="https://github.com/boostorg/locale/pull/241">PR#241</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Support parsing and formatting of <code><span class="identifier">uint64_t</span></code>
+ values with the ICU backend (<a href="https://github.com/boostorg/locale/pull/246">PR#246</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Support <code><span class="identifier">char8_t</span></code> on
+ more platforms
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/lockfree/">Lockfree</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added new spsc_value, a lockfree single-producer single-consumer
+ value based on a triple-buffer
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Disabled usage of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special"><</span><span class="keyword">char16_t</span><span class="special">></span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special"><</span><span class="keyword">char32_t</span><span class="special">></span></code> locale facets in C++20 and later
+ modes as they were deprecated in C++20. This means character code
+ conversions to/from <code><span class="keyword">char16_t</span></code>
+ and <code><span class="keyword">char32_t</span></code> is no longer
+ available in C++20 and later.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed building issues when using CMake and MinGW-w64. (<a href="https://github.com/boostorg/log/pull/241">PR#241</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed incorrect file counter used by <code><span class="identifier">text_file_backend</span></code>
+ when the backend was configured to append to an existing file and
+ the actively written file name pattern didn't have a counter placeholder
+ but the target file name pattern did, and the log files were written
+ directly into the target storage. (<a href="https://github.com/boostorg/log/issues/245">#245</a>)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">mp_from_sequence</span></code>
+ for non-integral values (accidentally broken in 1.83.0 due to offset
+ support)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">connection_pool</span></code> now
+ resizes correctly even in the presence of many connections with session
+ establishment in-progress. The old algorithm could lead to the pool
+ not being resized as expected under certain conditions (<a href="https://github.com/boostorg/mysql/issues/395">#395</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">any_connection</span><span class="special">::</span><span class="identifier">connection_id</span></code>.
+ This function retrieves the connection's ID, which can subsequently
+ be used in <code><span class="identifier">KILL</span></code> SQL
+ statements to cancel queries. This function is equivalent to <code><span class="identifier">mysql_thread_id</span></code> in the official
+ C API (<a href="https://github.com/boostorg/mysql/issues/408">#408</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Attempting to start an async operation on a <code><span class="identifier">connection</span></code>
+ or <code><span class="identifier">any_connection</span></code>
+ while another operation is in-progress no longer triggers undefined
+ behavior. It now fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">operation_in_progress</span></code>
+ (<a href="https://github.com/boostorg/mysql/issues/405">#405</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Attempting to start an operation while a <code><span class="identifier">connection</span></code>
+ or <code><span class="identifier">any_connection</span></code>
+ are engaged in a multi-function operation no longer yields potentially
+ dangerous packet mismatches. It instead fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">engaged_in_multi_function</span></code> (<a href="https://github.com/boostorg/mysql/issues/448">#448</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved diagnostics when attempting to use a connection without
+ a established session. Operations now fail with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">not_connected</span></code>
+ (<a href="https://github.com/boostorg/mysql/issues/450">#450</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a race condition in <code><span class="identifier">connection</span></code>
+ and <code><span class="identifier">any_connection</span></code>
+ regarding per-operation cancellation. In previous versions, if a
+ cancellation signal was emitted after an intermediate async operation
+ had completed, but before its handler had been called, the signal
+ was ignored. This is no longer the case (<a href="https://github.com/boostorg/mysql/issues/199">#199</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">field</span></code>'s constructor
+ and assignment from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
+ are now available in C++17, rather than C++20. These functions were
+ guarded by standard feature-test macros, only available in C++20.
+ These have been replaced by their Boost.Config equivalents.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added an HTTP server example that uses C++20 coroutines.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added a doc page on interfacing sync and async code. This replaces
+ the synchronous connection pool snippet, which contained a race condition.
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved some of the other examples and doc pages.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/nowide/">Nowide</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Make <code><span class="identifier">getenv</span></code> thread-safe
+ (<a href="https://github.com/boostorg/nowide/pull/191">PR#191</a>)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant_collection</span></code>, a closed polymorphic
+ collection similar in behavior to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><...>></span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/smart_ptr/">SmartPtr</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fix <code><span class="keyword">operator</span><span class="special"><<</span></code>
+ for wide streams (accidentally broken in 1.87.0)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use <code><span class="identifier">GetModuleNames</span></code>
+ to determine the full module path for MSVC implementation. Many thanks
+ to <a href="https://github.com/Dani-Hub">Daniel Krügler</a>
+ for the <a href="https://github.com/boostorg/stacktrace/pull/198">PR#198</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Print relative addresses to allow their decoding later without knowing
+ the base address. The logic could be disabled by defining <code><span class="identifier">BOOST_STACKTRACE_DISABLE_OFFSET_ADDR_BASE</span></code>.
+ Many thanks to <a href="https://github.com/McCzarny">Maciej Czarnecki</a>
+ for the <a href="https://github.com/boostorg/stacktrace/pull/200">PR#200</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Expose all the stacktrace libraries as b2 features for better control
+ over the build and explicit information on what libraries are built.
+ See "Configuration and Build" section for more info. Many
+ thanks to <a href="https://github.com/uilianries">Uilian Ries</a>
+ for initial implementation of the feature in <a href="https://github.com/boostorg/stacktrace/pull/202">PR#202</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">stacktrace_from_exception</span></code>
+ builds with MinGW. Thanks to <a href="https://github.com/crhilton">crhilton</a>
+ for the fix.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed an UB that was introduced in Boost.TypeIndex 1.84 and prevented
+ the library from building on clang-20.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Migrated the documentation to a multipage format using Antora.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use the smallest appropriate unsigned type for the index.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.compilers_tested">
+ <h3><span class="link">Compilers Tested</span></h3>
+ <p>
+ Boost's primary test compilers are:
+ </p>
+ <ul>
+ <li>
+ <div>
+ Linux:
+ <ul>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++03: 4.6.3, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++11: 4.7.3, 4.8.5, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ OS X:
+ <ul>
+ <li>
+ <div>
+ Apple Clang, C++03: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++11: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++14: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++17: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++20: 11.0.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Windows:
+ <ul>
+ <li>
+ <div>
+ Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.acknowledgements">
+ <h3><span class="link">Acknowledgements</span></h3>
+ <p>
+ Marshall Clow, Glen Fernandes and Ion Gaztañaga managed this release.
+ </p>
+ </div>
+ Version 1.87.0 https://www.boost.org/users/history/version_1_87_0.htmlhttps://www.boost.org/users/history/version_1_87_0.html Thu, 12 Dec 2024 00:52:33 +0000
<div id="version_1_87_0.new_libraries">
diff --git a/generated/home-items.html b/generated/home-items.html
index ed3bfaff..c3d807b3 100644
--- a/generated/home-items.html
+++ b/generated/home-items.html
@@ -3,11 +3,7 @@
Current Release
-
Beta Release
-
-March 16th, 2025 04:24 GMT
+April 10th, 2025 20:39 GMT
More Downloads... (RSS )
@@ -18,6 +14,14 @@
August 14th, 2024 16:07 GMT
- Version 1.85.0
-
- New Libraries: Charconv, Scope. Updated Libraries: Asio, Atomic, Beast, Bimap,
- Bind, Conversion, Core, Filesystem, Function, Geometry, Iterator, JSON, LEAF,
- LexicalCast, Locale, Math, MSM, Multi-index, Multiprecision, MySQL, Odeint,
- PFR, Random, System, Stacktrace, STLInterfaces, Test, Unordered, Variant, Wave.
-
- April 15th, 2024 17:38 GMT
+ "news-date">August 14th, 2024 16:07 GMT
More News... (RSS )
diff --git a/generated/libraries.txt b/generated/libraries.txt
index 349a65bc..861a933d 100644
Binary files a/generated/libraries.txt and b/generated/libraries.txt differ
diff --git a/generated/menu-doc.html b/generated/menu-doc.html
index 30306858..347bea35 100644
--- a/generated/menu-doc.html
+++ b/generated/menu-doc.html
@@ -9,9 +9,12 @@
Libraries >
-
-
- August 11th, 2023 16:23 GMT
-
-
-
- New Libraries: Compat. Updated Libraries: Any, Atomic, Chrono, Compat, Core,
- DLL, Filesystem, Flyweight, Geometry, Iterator, JSON, Locale, Log, Math, Mp11,
- Multi-index Containers, Multiprecision, MySQL, Ratio, Test, Timer, Unordered,
- URL, UUID, Variant2. Updated Tools: Build.
-
-
-
-
\ No newline at end of file
diff --git a/generated/news.rss b/generated/news.rss
index a879e355..33ec1fe7 100644
--- a/generated/news.rss
+++ b/generated/news.rss
@@ -8,7 +8,1027 @@
en-us
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)
-Version 1.87.0 https://www.boost.org/users/history/version_1_87_0.htmlhttps://www.boost.org/users/history/version_1_87_0.html Thu, 12 Dec 2024 00:52:33 +0000
+Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Thu, 10 Apr 2025 20:39:01 +0000
+
+
+ <div id="version_1_88_0.new_libraries">
+ <h3><span class="link">New Libraries</span></h3>
+ <ul>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
+ from Peter Dimov and Christian Mazakas.
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
+ on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
+ Šimičević.
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.updated_libraries">
+ <h3><span class="link">Updated Libraries</span></h3>
+ <ul>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/array/">Array</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Converted documentation to AsciiDoc (Christian Mazakas).
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> and
+ <code><span class="keyword">constexpr</span></code> as appropriate.
+ </div>
+ </li>
+ <li>
+ <div>
+ Marked obsolete functions as deprecated.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed obsolete compiler workarounds.
+ </div>
+ </li>
+ <li>
+ <div>
+ Changed <code><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="number">0</span><span class="special">>::</span><span class="identifier">begin</span><span class="special">()</span></code>,
+ <code><span class="identifier">cbegin</span><span class="special">()</span></code>,
+ <code><span class="identifier">end</span><span class="special">()</span></code>,
+ <code><span class="identifier">cend</span><span class="special">()</span></code>
+ to return <code><span class="keyword">nullptr</span></code>, enabling
+ <code><span class="keyword">constexpr</span></code>. This matches
+ the behavior of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed local <code><span class="identifier">hash_value</span></code>
+ overload; <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">hash</span></code> supports array-like types
+ natively.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">array</span><span class="special"><</span><span class="identifier">T</span><span class="special">,</span> <span class="number">0</span><span class="special">></span></code>
+ can now be initialized with <code><span class="special">=</span>
+ <span class="special">{{}}</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="keyword">operator</span><span class="special"><=></span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">to_array</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="keyword">noexcept</span></code> qualifiers
+ to various <code><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>
+ member functions, to make it consistent with <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">config</span></code> class's handling of integer
+ values.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a use-after-move error in <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">ranged_parallel_group</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an incorrect default template argument in the implementation
+ of <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">promise</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed the <code><span class="identifier">io_uring</span></code>
+ implementation so that it does not attempt to re-register internal
+ descriptors with the reactor after a fork, if they were not previously
+ registered.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an uninitialised member in the <code><span class="identifier">thread_pool</span></code>
+ default constructor.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed an ambiguous overload issue that occurred when passing a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">span</span></code> to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+ function.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed some spurious macro definitions that were left after the
+ removal of deprecated buffer functionality.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added documentation to clarify the use of <code><span class="identifier">file_base</span><span class="special">::</span><span class="identifier">flags</span></code>
+ when opening a file.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added overview documentation on the available runtime configuration
+ options.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the overview documentation to reflect the use of <code><span class="identifier">deferred</span></code> as the default completion
+ token.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the <code><span class="identifier">async_result</span></code>
+ documentation to reflect the current type requirements placed on
+ specialisations of the trait.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/assert/">Assert</a>:</span>
+ <ul>
+ <li>
+ <div>
+ When <code><span class="identifier">BOOST_ASSERT_HANDLER_IS_NORETURN</span></code>
+ is defined, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assertion_failed</span></code>
+ and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">assertion_failed_msg</span></code> are declared
+ as <code><span class="identifier">BOOST_NORETURN</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixes
+ <ul>
+ <li>
+ <div>
+ Fixed out-of-bounds access in <code><span class="identifier">iequals</span></code>
+ function.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ Updated SSL examples to verify peer certificate hostname.
+ </div>
+ </li>
+ <li>
+ <div>
+ Refactored CMakeLists.
+ </div>
+ </li>
+ <li>
+ <div>
+ Removed Boost.Scope dependency from examples.
+ </div>
+ </li>
+ <li>
+ <div>
+ Peer pings in WebSocket now count as activity.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Documentation
+ <ul>
+ <li>
+ <div>
+ Added new examples for Unix domain sockets.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added SSL/TLS Certificate section to documentation.
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved documentation of <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span><span class="special">::</span><span class="identifier">async_close</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Acknowledgements
+ <ul>
+ <li>
+ <div>
+ Morten M. Neergaard
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use modern C++ in the samples and in the library code.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added constructor from <code><span class="identifier">native_handle_t</span></code>
+ to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">shared_library</span></code>. Many thanks to
+ <a href="https://github.com/tgmatos">Tiago Matos</a> for the
+ <a href="https://github.com/boostorg/dll/pull/82">PR#82</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Dropped multiple dependencies on other Boost libraries including
+ Spirit, SmartPtr, Move, TypeTraits, and Function. DLL became more
+ lightweight for compilation.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>
+ in API is used instead of the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>. This is not a breaking change
+ as <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">error_code</span></code> is convertible to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span><span class="special">&</span></code>.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">:</span><span class="identifier">import_</span><span class="special">*</span></code>
+ functions now return <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ rather than <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>.
+ Define <code><span class="identifier">BOOST_DLL_USE_BOOST_SHARED_PTR</span></code>
+ to restore the old behavior, however note that the macro will be
+ removed in one of the upcomming Boost releases.
+ </div>
+ </li>
+ <li>
+ <div>
+ Use modern C++ in the samples and in the library code.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">library_info</span></code> now always throws
+ in case of a broken binary. Updated the docs and added some tests.
+ </div>
+ </li>
+ <li>
+ <div>
+ Documented in FAQ why <code><span class="identifier">RTLD_NODELETE</span></code>
+ is missing and why there is no <code><span class="special">.</span><span class="identifier">release</span><span class="special">()</span></code>
+ method. Provided suggestions on possible workarounds.
+ </div>
+ </li>
+ <li>
+ <div>
+ Updated the information on building and using the library. CMake
+ targets now link with <code><span class="special">-</span><span class="identifier">ldl</span></code> if it is required by the platform.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">path_from_handle</span></code> implementation
+ for long paths on Windows OS.
+ </div>
+ </li>
+ <li>
+ <div>
+ Highlighted in the docs that <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_</span><span class="special">*</span></code> parts of the library are experimental
+ and incomplete.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed multiple mangling issues in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">dll</span><span class="special">/</span><span class="identifier">smart_</span><span class="special">*</span></code> parts of the library.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Improvements
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1370">PR#1370</a> Relax half period check in spheroidal normalization
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1368">PR#1368</a> Pass umbrella strategies in rtree spatial
+ predicates
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1367">PR#1367</a> Improvements in traversal
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1361">PR#1361</a> Test set operations on random grids with
+ integer coordinates
+ </div>
+ </li>
+ <li>
+ <div>
+ Several test cases has been added
+ </div>
+ </li>
+ <li>
+ <div>
+ Use using instead of typedef in part of the code
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Solved issues
+ <ul>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/pull/1364">PR#1364</a> Fix several strategies (add getters, fix
+ compilation error and warning)
+ </div>
+ </li>
+ <li>
+ <div>
+ <a href="https://github.com/boostorg/geometry/issues/629">#629</a> Avoid warnings for coordinate conversions and
+ unused parameters
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes of errors and warnings
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/geometry/">Graph</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Bug fixes
+ <ul>
+ <li>
+ <div>
+ Replace implementation of <code><span class="identifier">maximum_weighted_matching</span></code>,
+ resolves multiple issues.
+ </div>
+ </li>
+ <li>
+ <div>
+ Ensure <code><span class="identifier">named_graph</span></code>
+ is initialized before use.
+ </div>
+ </li>
+ <li>
+ <div>
+ Replace custom geometry code in <code><span class="identifier">is_straight_line_drawing</span></code>
+ with Boost.Geometry, fixes incorrect results for very small
+ angles.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix incorrect callbacks to <code><span class="identifier">finish_edge</span></code>
+ in <code><span class="identifier">undirected_dfs</span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Performance improvements
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">adjacency_list</span></code>:
+ Remove unnecessary calls to <code><span class="identifier">resize</span></code>/<code><span class="identifier">reserve</span></code> from within <code><span class="identifier">add_vertex</span></code> for <code><span class="identifier">vector</span></code>-based storage! A quick
+ benchmark indicates a 10% improvement to graph construction
+ time.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">lengauer_tarjan_dominator_tree</span></code>:
+ Replace <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>
+ with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>, obtaining a ~40%
+ improvement for large graphs.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ General Improvements
+ <ul>
+ <li>
+ <div>
+ Replace the use of several Boost utilities with C++14 language
+ features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Modernize examples with C++14 language features.
+ </div>
+ </li>
+ <li>
+ <div>
+ Various fixes to documentation and build system.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">vertex_by_property</span></code>
+ no longer requires a mutable graph.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fix compilation issue with <code><span class="identifier">cycle_canceling</span></code>
+ and Clang 19.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Dropped support for C++03 and ancient compilers, updated code base
+ to use C++11 and MP11, reduced usage of MPL. (<a href="https://github.com/boostorg/iterator/pull/82">PR#82</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">min_category</span></code>
+ trait, which is a variadic equivalent of <code><span class="identifier">minimum_category</span></code>
+ that doesn't depend on MPL. <code><span class="identifier">minimum_category</span></code>
+ is deprecated and will be removed in a future release.
+ </div>
+ </li>
+ <li>
+ <div>
+ Extracted <code><span class="identifier">enable_if_convertible</span></code>
+ trait to a separate header <code><span class="identifier">enable_if_convertible</span><span class="special">.</span><span class="identifier">hpp</span></code>.
+ The trait was previously defined in <code><span class="identifier">iterator_adaptor</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ and the header still provides <code><span class="identifier">enable_if_convertible</span></code>
+ when included. This dependency is provided for backward compatibility
+ and will be removed in a future release. Users are advised to add
+ includes of <code><span class="identifier">enable_if_convertible</span><span class="special">.</span><span class="identifier">hpp</span></code>,
+ as needed.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="special">*</span><span class="identifier">_t</span></code>
+ variants of various iterator traits that produce types.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">filter_iterator</span></code> and
+ <code><span class="identifier">transform_iterator</span></code>
+ now use empty base optimization (EBO) to reduce size of the iterator
+ when the adopted function object is stateless.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">zip_iterator</span></code> now
+ natively supports <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">tuple</span></code>,
+ <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>
+ for iterator tuples and doesn't need including Fusion support headers.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">function_output_iterator</span></code>
+ no longer allows default construction when the wrapped function is
+ a function pointer. Such construction would previously create an
+ iterator with an uninitialized function pointer value, and such an
+ iterator would be unusable.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">generator_iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ and <code><span class="identifier">shared_container_iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
+ headers were moved under the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">iterator</span></code>
+ directory. The previous headers in <code><span class="identifier">boost</span></code>
+ are still retained for backward compatibility, but will be removed
+ in a future release. Users are advised to update their includes.
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">shared_container_iterator</span></code>
+ now uses <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code> to reference the container
+ internally. The support for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ is still retained, but it will incur performance overhead on the
+ iterator construction, as <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ is now wrapped in a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ internally. It is recommended to use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_ptr</span></code>
+ to reference the container.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Raised required ICU version to at least 4.8.1
+ </div>
+ </li>
+ <li>
+ <div>
+ Dropped support for ICU 50.1
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed parsing of integers with input strings in floating point format
+ (<a href="https://github.com/boostorg/locale/pull/241">PR#241</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Support parsing and formatting of <code><span class="identifier">uint64_t</span></code>
+ values with the ICU backend (<a href="https://github.com/boostorg/locale/pull/246">PR#246</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Support <code><span class="identifier">char8_t</span></code> on
+ more platforms
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/lockfree/">Lockfree</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added new spsc_value, a lockfree single-producer single-consumer
+ value based on a triple-buffer
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Disabled usage of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special"><</span><span class="keyword">char16_t</span><span class="special">></span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">codecvt</span><span class="special"><</span><span class="keyword">char32_t</span><span class="special">></span></code> locale facets in C++20 and later
+ modes as they were deprecated in C++20. This means character code
+ conversions to/from <code><span class="keyword">char16_t</span></code>
+ and <code><span class="keyword">char32_t</span></code> is no longer
+ available in C++20 and later.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed building issues when using CMake and MinGW-w64. (<a href="https://github.com/boostorg/log/pull/241">PR#241</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed incorrect file counter used by <code><span class="identifier">text_file_backend</span></code>
+ when the backend was configured to append to an existing file and
+ the actively written file name pattern didn't have a counter placeholder
+ but the target file name pattern did, and the log files were written
+ directly into the target storage. (<a href="https://github.com/boostorg/log/issues/245">#245</a>)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">mp_from_sequence</span></code>
+ for non-integral values (accidentally broken in 1.83.0 due to offset
+ support)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
+ <ul>
+ <li>
+ <div>
+ <code><span class="identifier">connection_pool</span></code> now
+ resizes correctly even in the presence of many connections with session
+ establishment in-progress. The old algorithm could lead to the pool
+ not being resized as expected under certain conditions (<a href="https://github.com/boostorg/mysql/issues/395">#395</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Added <code><span class="identifier">any_connection</span><span class="special">::</span><span class="identifier">connection_id</span></code>.
+ This function retrieves the connection's ID, which can subsequently
+ be used in <code><span class="identifier">KILL</span></code> SQL
+ statements to cancel queries. This function is equivalent to <code><span class="identifier">mysql_thread_id</span></code> in the official
+ C API (<a href="https://github.com/boostorg/mysql/issues/408">#408</a>)
+ </div>
+ </li>
+ <li>
+ <div>
+ Attempting to start an async operation on a <code><span class="identifier">connection</span></code>
+ or <code><span class="identifier">any_connection</span></code>
+ while another operation is in-progress no longer triggers undefined
+ behavior. It now fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">operation_in_progress</span></code>
+ (<a href="https://github.com/boostorg/mysql/issues/405">#405</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Attempting to start an operation while a <code><span class="identifier">connection</span></code>
+ or <code><span class="identifier">any_connection</span></code>
+ are engaged in a multi-function operation no longer yields potentially
+ dangerous packet mismatches. It instead fails with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">engaged_in_multi_function</span></code> (<a href="https://github.com/boostorg/mysql/issues/448">#448</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved diagnostics when attempting to use a connection without
+ a established session. Operations now fail with <code><span class="identifier">client_errc</span><span class="special">::</span><span class="identifier">not_connected</span></code>
+ (<a href="https://github.com/boostorg/mysql/issues/450">#450</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed a race condition in <code><span class="identifier">connection</span></code>
+ and <code><span class="identifier">any_connection</span></code>
+ regarding per-operation cancellation. In previous versions, if a
+ cancellation signal was emitted after an intermediate async operation
+ had completed, but before its handler had been called, the signal
+ was ignored. This is no longer the case (<a href="https://github.com/boostorg/mysql/issues/199">#199</a>).
+ </div>
+ </li>
+ <li>
+ <div>
+ <code><span class="identifier">field</span></code>'s constructor
+ and assignment from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
+ are now available in C++17, rather than C++20. These functions were
+ guarded by standard feature-test macros, only available in C++20.
+ These have been replaced by their Boost.Config equivalents.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added an HTTP server example that uses C++20 coroutines.
+ </div>
+ </li>
+ <li>
+ <div>
+ Added a doc page on interfacing sync and async code. This replaces
+ the synchronous connection pool snippet, which contained a race condition.
+ </div>
+ </li>
+ <li>
+ <div>
+ Improved some of the other examples and doc pages.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/nowide/">Nowide</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Make <code><span class="identifier">getenv</span></code> thread-safe
+ (<a href="https://github.com/boostorg/nowide/pull/191">PR#191</a>)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">variant_collection</span></code>, a closed polymorphic
+ collection similar in behavior to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special"><</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span><span class="special"><...>></span></code>.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/smart_ptr/">SmartPtr</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fix <code><span class="keyword">operator</span><span class="special"><<</span></code>
+ for wide streams (accidentally broken in 1.87.0)
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use <code><span class="identifier">GetModuleNames</span></code>
+ to determine the full module path for MSVC implementation. Many thanks
+ to <a href="https://github.com/Dani-Hub">Daniel Krügler</a>
+ for the <a href="https://github.com/boostorg/stacktrace/pull/198">PR#198</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Print relative addresses to allow their decoding later without knowing
+ the base address. The logic could be disabled by defining <code><span class="identifier">BOOST_STACKTRACE_DISABLE_OFFSET_ADDR_BASE</span></code>.
+ Many thanks to <a href="https://github.com/McCzarny">Maciej Czarnecki</a>
+ for the <a href="https://github.com/boostorg/stacktrace/pull/200">PR#200</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Expose all the stacktrace libraries as b2 features for better control
+ over the build and explicit information on what libraries are built.
+ See "Configuration and Build" section for more info. Many
+ thanks to <a href="https://github.com/uilianries">Uilian Ries</a>
+ for initial implementation of the feature in <a href="https://github.com/boostorg/stacktrace/pull/202">PR#202</a>.
+ </div>
+ </li>
+ <li>
+ <div>
+ Fixed <code><span class="identifier">stacktrace_from_exception</span></code>
+ builds with MinGW. Thanks to <a href="https://github.com/crhilton">crhilton</a>
+ for the fix.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Fixed an UB that was introduced in Boost.TypeIndex 1.84 and prevented
+ the library from building on clang-20.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Migrated the documentation to a multipage format using Antora.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ <span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span>
+ <ul>
+ <li>
+ <div>
+ Use the smallest appropriate unsigned type for the index.
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.compilers_tested">
+ <h3><span class="link">Compilers Tested</span></h3>
+ <p>
+ Boost's primary test compilers are:
+ </p>
+ <ul>
+ <li>
+ <div>
+ Linux:
+ <ul>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ 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
+ </div>
+ </li>
+ <li>
+ <div>
+ Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++03: 4.6.3, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++11: 4.7.3, 4.8.5, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
+ </div>
+ </li>
+ <li>
+ <div>
+ GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ OS X:
+ <ul>
+ <li>
+ <div>
+ Apple Clang, C++03: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++11: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++14: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++17: 11.0.3
+ </div>
+ </li>
+ <li>
+ <div>
+ Apple Clang, C++20: 11.0.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ <li>
+ <div>
+ Windows:
+ <ul>
+ <li>
+ <div>
+ Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
+ </div>
+ </li>
+ </ul>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="version_1_88_0.acknowledgements">
+ <h3><span class="link">Acknowledgements</span></h3>
+ <p>
+ Marshall Clow, Glen Fernandes and Ion Gaztañaga managed this release.
+ </p>
+ </div>
+ Version 1.87.0 https://www.boost.org/users/history/version_1_87_0.htmlhttps://www.boost.org/users/history/version_1_87_0.html Thu, 12 Dec 2024 00:52:33 +0000
<div id="version_1_87_0.new_libraries">
@@ -5958,1043 +6978,6 @@
Marshall Clow and Glen Fernandes managed this release.
</p>
</div>
- Version 1.83.0 https://www.boost.org/users/history/version_1_83_0.htmlhttps://www.boost.org/users/history/version_1_83_0.html Fri, 11 Aug 2023 16:23:02 +0000
-
-
- <div id="version_1_83_0.known_issues">
- <h3><span class="link">Known Issues</span></h3>
- <p>
- These are patches from library authors which were found too late to be fixed
- in the release.
- </p>
- <ul>
- <li>
- <div>
- JSON
- <ul>
- <li>
- <div>
- Compilation on Windows ARM platforms may fail for missing intrinsics,
- see <a href="https://github.com/boostorg/json/issues/926">#926</a> and <a href="https://github.com/boostorg/json/issues/927">#927</a>. <a href="https://github.com/boostorg/json/commit/c4ce8509d015a0b75cfa9d36609b8409821a9c86.patch">Patch</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Unordered
- <ul>
- <li>
- <div>
- Fix erroneous copy assigment operator that would destroy non-existent
- elements, see <a href="https://github.com/boostorg/unordered/issues/205">#205</a>. <a href="https://www.boost.org/patches/1_83_0/0001-unordered-fix-copy-assign.patch">Patch</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_83_0.new_libraries">
- <h3><span class="link">New Libraries</span></h3>
- <ul>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/compat/">Compat</a>:</span> A repository of C++11
- implementations of standard components added in later C++ standards, from
- Peter Dimov and contributors.
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_83_0.updated_libraries">
- <h3><span class="link">Updated Libraries</span></h3>
- <ul>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/any/">Any</a>:</span>
- <ul>
- <li>
- <div>
- New <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">anys</span><span class="special">::</span><span class="identifier">unique_any</span></code> C++11 class - an alternative
- to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code> (or to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">any</span></code>)
- that does not require copy or move construction from the held type.
- </div>
- </li>
- <li>
- <div>
- Ported documentation to Quickbook, Doxygen comments now used in code.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/atomic/">Atomic</a>:</span>
- <ul>
- <li>
- <div>
- Fixed compilation of <code><span class="identifier">atomic_ref</span></code>
- for <code><span class="keyword">const</span></code>-qualified
- types. Note that even <code><span class="keyword">const</span></code>-qualified
- atomic objects must still reside in read-write memory. (<a href="https://github.com/boostorg/atomic/issues/62">#62</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/chrono/">Chrono</a>:</span>
- <ul>
- <li>
- <div>
- Remove use of deprecated Boost.Ratio features.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/compat/">Compat</a>:</span>
- <ul>
- <li>
- <div>
- Added <code><span class="identifier">latch</span><span class="special">.</span><span class="identifier">hpp</span></code>, an implementation of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">latch</span></code> (contributed by Christian
- Mazakas.)
- </div>
- </li>
- <li>
- <div>
- Added <code><span class="identifier">shared_lock</span><span class="special">.</span><span class="identifier">hpp</span></code>,
- a (partial) implementation of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shared_lock</span></code>
- (contributed by Christian Mazakas.)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/core/">Core</a>:</span>
- <ul>
- <li>
- <div>
- Added support for incomplete types to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">core</span><span class="special">::</span><span class="identifier">type_name</span></code>.
- </div>
- </li>
- <li>
- <div>
- Bit manipulation functions in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">bit</span><span class="special">.</span><span class="identifier">hpp</span></code>
- are now <code><span class="keyword">constexpr</span></code> on
- recent MSVC versions (VS2019 update 5 and later.)
- </div>
- </li>
- <li>
- <div>
- Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">core</span><span class="special">::</span><span class="identifier">byteswap</span></code> (an implementation of
- <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">byteswap</span></code> from C++23) to <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">bit</span><span class="special">.</span><span class="identifier">hpp</span></code>.
- </div>
- </li>
- <li>
- <div>
- Moved the yield primitives <code><span class="identifier">sp_thread_pause</span></code>,
- <code><span class="identifier">sp_thread_yield</span></code>,
- <code><span class="identifier">sp_thread_sleep</span></code> from
- SmartPtr implementation details to <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">yield_primitives</span><span class="special">.</span><span class="identifier">hpp</span></code>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
- <ul>
- <li>
- <div>
- Fixed tests failures on glibc 2.36+, thanks to <a href="https://github.com/sgn">Đoàn
- Trần Công Danh</a> for the bugreport <a href="https://github.com/boostorg/dll/issues/58">#58</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/filesystem/">Filesystem</a>:</span>
- <ul>
- <li>
- <div>
- Added <code><span class="identifier">directory_entry</span><span class="special">::</span><span class="identifier">refresh</span></code>
- method that updates internal cached file statuses for the directory
- entry identified by path.
- </div>
- </li>
- <li>
- <div>
- <strong>v4:</strong> <code><span class="identifier">directory_entry</span></code>
- constructors and modifiers that initialize or modify the path now
- automatically call <code><span class="identifier">refresh</span></code>.
- This may result in errors that were not indicated before and in
- <strong>v3</strong>, if querying the filesystem for
- file statuses fails (e.g. if the file does not exist). This new behavior
- is similar to std::filesystem.
- </div>
- </li>
- <li>
- <div>
- <strong>v4:</strong> <code><span class="identifier">directory_entry</span></code>
- constructors and methods taking <code><span class="identifier">file_status</span></code>
- parameters are removed. Users are recommended to remove these arguments
- and rely on <code><span class="identifier">directory_entry</span></code>
- calling <code><span class="identifier">refresh</span></code> internally.
- </div>
- </li>
- <li>
- <div>
- Added <code><span class="identifier">directory_entry</span></code>
- member methods for checking the file type of the file, similar to
- std::filesystem.
- </div>
- </li>
- <li>
- <div>
- Added more methods for testing file status: <code><span class="identifier">is_block_file</span></code>,
- <code><span class="identifier">is_character_file</span></code>,
- <code><span class="identifier">is_fifo</span></code>, <code><span class="identifier">is_socket</span></code> and <code><span class="identifier">is_reparse_file</span></code>.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">recursive_directory_iterator</span></code>
- is now more likely to reuse information about the file type that
- is obtained during filesystem iteration. This may improve performance.
- (<a href="https://github.com/boostorg/filesystem/issues/288">#288</a>)
- </div>
- </li>
- <li>
- <div>
- File streams defined in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">fstream</span><span class="special">.</span><span class="identifier">hpp</span></code>
- are now movable, if the standard library file streams are. (<a href="https://github.com/boostorg/filesystem/issues/280">#280</a>)
- </div>
- </li>
- <li>
- <div>
- Added a new header <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">cstdio</span><span class="special">.</span><span class="identifier">hpp</span></code>
- with a portable <code><span class="identifier">fopen</span></code>
- overload that takes <code><span class="identifier">path</span></code>
- as the first argument. This function is equivalent to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">fopen</span></code>, except that on Windows it
- uses the native wide character encoding for paths.
- </div>
- </li>
- <li>
- <div>
- Generic <code><span class="identifier">path</span></code> comparison
- operators are now more restricted to avoid potential ambiguities
- when user's code contains a <code><span class="keyword">using</span>
- <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">;</span></code> directive. (<a href="https://github.com/boostorg/filesystem/issues/285">#285</a>)
- </div>
- </li>
- <li>
- <div>
- Fixed potential overload resolution ambiguity in users' code, where
- <code><span class="identifier">path</span></code> constructors
- from iterators could interfere with function overloads taking a
- <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">initializer_list</span></code> argument. (<a href="https://github.com/boostorg/filesystem/issues/287">#287</a>)
- </div>
- </li>
- <li>
- <div>
- On Windows, added more workarounds for errors returned by various
- filesystems when creating a directory iterator. (<a href="https://github.com/boostorg/filesystem/issues/284">#284</a>,
- <a href="https://github.com/boostorg/filesystem/issues/286">#286</a>)
- </div>
- </li>
- <li>
- <div>
- On Windows, relaxed access rights needed for querying file times.
- (<a href="https://github.com/boostorg/filesystem/issues/290">#290</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/flyweight/index.html">Flyweight</a>:</span>
- <ul>
- <li>
- <div>
- Added smart-pointer syntax to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">flyweight</span></code>
- (<code><span class="keyword">operator</span><span class="special">*</span></code>
- and <code><span class="keyword">operator</span><span class="special">-></span></code>
- dereferencing to the underlying value).
- </div>
- </li>
- <li>
- <div>
- Fixed a situation where the mutex used by <a href="https://www.boost.org/libs/flyweight/doc/reference/locking.html#simple_locking_synopsis"><code><span class="identifier">simple_locking</span></code></a> was not
- recursive (issue <a href="https://github.com/boostorg/flyweight/issues/12">#12</a>).
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
- <ul>
- <li>
- <div>
- Improvements
- <ul>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1140">PR#1140</a> Drop dependencies and replace boost with
- std in several places
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1154">PR#1154</a> Add missing headers so that all headers
- compile independently complying with Boost policy
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/pull/1157">PR#1157</a> Check const Ring concept in calculate_point_order
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Solved issues
- <ul>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1100">#1100</a> Fix for union
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1139">#1139</a> Fix for different geometry types
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1158">#1158</a> Fix for convex hull
- </div>
- </li>
- <li>
- <div>
- <a href="https://github.com/boostorg/geometry/issues/1161">#1161</a> Fix within algorithm for geometries having
- a pole as a vertex
- </div>
- </li>
- <li>
- <div>
- Various fixes of errors and warnings
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
- <ul>
- <li>
- <div>
- Added <code><span class="identifier">is_iterator</span></code>
- type trait that allows to test whether the type qualifies as an iterator
- type.
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">filter_iterator</span></code> now
- supports move-construction of the adopted iterator and the function
- object. (<a href="https://github.com/boostorg/iterator/pull/79">PR#79</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/json/">JSON</a>:</span>
- <ul>
- <li>
- <div>
- The library now only throws <code><span class="identifier">system_error</span></code>,
- except for when allocation failed, in which case <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bad_alloc</span></code>
- is thrown.
- </div>
- </li>
- <li>
- <div>
- Serialization behavior can now be changed by <code><span class="identifier">serialize_options</span></code>.
- </div>
- </li>
- <li>
- <div>
- Contextual conversions.
- </div>
- </li>
- <li>
- <div>
- Parser option for more precise number parsing.
- </div>
- </li>
- <li>
- <div>
- Support <code><span class="identifier">parse_options</span></code>
- in stream <code><span class="keyword">operator</span><span class="special"><<</span></code>.
- </div>
- </li>
- <li>
- <div>
- Parser option to allow <code><span class="identifier">Infinity</span></code>
- and <code><span class="identifier">NaN</span></code> JSON literals.
- </div>
- </li>
- <li>
- <div>
- Parser mode that only validates numbers rather than parsing them.
- </div>
- </li>
- <li>
- <div>
- Numbers with exponent larger than <code><span class="identifier">INT_MAX</span></code>
- are accepted by the parser and treated as infinity.
- </div>
- </li>
- <li>
- <div>
- Fix <code><span class="identifier">object</span></code> member
- functions that should provide strong guarantee.
- </div>
- </li>
- <li>
- <div>
- Fix ambiguity of <code><span class="identifier">end</span></code>
- call when <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">.</span><span class="identifier">hpp</span></code> is included.
- </div>
- </li>
- <li>
- <div>
- Fix ASan failures.
- </div>
- </li>
- <li>
- <div>
- Fix error message for <code><span class="identifier">error</span><span class="special">::</span><span class="identifier">size_mismatch</span></code>.
- </div>
- </li>
- <li>
- <div>
- Fix conversion into tuple with const elements.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/locale/index.html">Locale</a>:</span>
- <ul>
- <li>
- <div>
- Bitwise/binary operators (left/right shift, binary and/or/xor/not)
- are no longer supported in message catalog files matching GNU gettext
- behavior
- </div>
- </li>
- <li>
- <div>
- 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)
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">localization_backend_manager</span><span class="special">::</span><span class="identifier">get</span></code>
- is deprecated, use the generator instead
- </div>
- </li>
- <li>
- <div>
- New converter classes as alternative to <code><span class="identifier">to_utf</span></code>/<code><span class="identifier">from_utf</span></code>/<code><span class="identifier">between</span></code>
- </div>
- </li>
- <li>
- <div>
- Fix UB on invalid index in format strings
- </div>
- </li>
- <li>
- <div>
- Fix conversion of UTF to e.g. iso-2022-jp on Windows without ICU
- </div>
- </li>
- <li>
- <div>
- Use <code><span class="keyword">long</span> <span class="keyword">long</span></code>
- as the count parameter for pluralized translations
- </div>
- </li>
- <li>
- <div>
- Fix movability and exception specification for some classes
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
- <ul>
- <li>
- <div>
- Fixed a possible infinite loop in <code><span class="identifier">text_file_backend</span></code>,
- when the size of a formatted log record exceeds the <code><span class="identifier">rotation_size</span></code> limit. (<a href="https://github.com/boostorg/log/issues/209">#209</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/math/">Math</a>:</span>
- <ul>
- <li>
- <div>
- Added Numerical evaluation of Fourier transform of Daubechies scaling
- functions <a href="https://github.com/boostorg/math/pull/921">921</a>.
- </div>
- </li>
- <li>
- <div>
- Added logcdf function to statistical distributions <a href="https://github.com/boostorg/math/pull/946">946</a>.
- </div>
- </li>
- <li>
- <div>
- Added support for C++23's <code><span class="special"><</span><span class="identifier">stdfloat</span><span class="special">></span></code>
- types <a href="https://github.com/boostorg/math/pull/978">978</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed various <code><span class="special">-</span><span class="identifier">Wmaybe</span><span class="special">-</span><span class="identifier">uninitialized</span></code>
- warnings
- </div>
- </li>
- <li>
- <div>
- Fixed <code><span class="identifier">round</span></code> and
- <code><span class="identifier">trunc</span></code> functions for
- non-representable numbers <a href="https://github.com/boostorg/math/pull/968">968</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed calculation of mode for F-distribution <a href="https://github.com/boostorg/math/pull/976">976</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed overflow in beta distribution <a href="https://github.com/boostorg/math/pull/977">977</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed overflow in hypergeometric distribution <a href="https://github.com/boostorg/math/pull/987">987</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed calculation of median absolute deviation with non-zero center
- <a href="https://github.com/boostorg/math/pull/997">997</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
- <ul>
- <li>
- <div>
- Added an offset/from parameter to <code><span class="identifier">mp_from_sequence</span></code>,
- <code><span class="identifier">mp_iota</span></code>, <code><span class="identifier">mp_iota_c</span></code>.
- </div>
- </li>
- <li>
- <div>
- Added <code><span class="identifier">mp_value</span></code>,
- <code><span class="identifier">mp_list_v</span></code>, <code><span class="identifier">mp_rename_v</span></code>, <code><span class="identifier">mp_is_value_list</span></code>.
- </div>
- </li>
- <li>
- <div>
- Added value list support to the primitives in <code><span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mp11</span><span class="special">/</span><span class="identifier">list</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span></code>.
- </div>
- </li>
- <li>
- <div>
- Added value list support to <code><span class="identifier">mp_repeat</span></code>,
- <code><span class="identifier">mp_fill</span></code>, <code><span class="identifier">mp_at</span></code>, <code><span class="identifier">mp_back</span></code>,
- <code><span class="identifier">mp_take</span></code>, <code><span class="identifier">mp_pop_back</span></code>, <code><span class="identifier">mp_drop</span></code>,
- <code><span class="identifier">mp_insert</span></code>, <code><span class="identifier">mp_erase</span></code>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/multi_index/">Multi-index Containers</a>:</span>
- <ul>
- <li>
- <div>
- Updated range <code><span class="identifier">insert</span></code>
- in non-unique ordered indices to preserve insertion order of equivalent
- elements (issue <a href="https://github.com/boostorg/multi_index/issues/68">#68</a>).
- </div>
- </li>
- <li>
- <div>
- Serialization now uses <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
- instead of <code><span class="keyword">unsigned</span> <span class="keyword">long</span></code> to save and load the size of
- a <code><span class="identifier">multi_index_container</span></code>
- (<code><span class="keyword">unsigned</span> <span class="keyword">long</span></code>
- is smaller than <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span></code>
- in LLP64 data models). <code><span class="identifier">multi_index_container</span></code>
- serialization <a href="https://www.boost.org/libs/serialization/doc/tutorial.html#versioning">class
- version</a> has been bumped from 3 to 4 to reflect this change.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span>
- <ul>
- <li>
- <div>
- Fixed bug in rational adapter division <a href="https://github.com/boostorg/multiprecision/pull/542">542</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed handling of global precsion changes in multi-threaded environments
- <a href="https://github.com/boostorg/multiprecision/pull/552">552</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed <code><span class="identifier">cpp_int</span><span class="special">::</span><span class="identifier">eval_convert_to</span></code> noexcept specification
- <a href="https://github.com/boostorg/multiprecision/pull/555">555</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
- <ul>
- <li>
- <div>
- <strong>Major update.</strong>
- </div>
- </li>
- <li>
- <div>
- Stored procedures are now fully supported, including <code><span class="identifier">SELECT</span></code> statements producing data
- and procedures with <code><span class="identifier">OUT</span></code>
- parameters.
- </div>
- </li>
- <li>
- <div>
- Added support for multi-queries, which allows running multiple semicolon-separated
- statements with a single call.
- </div>
- </li>
- <li>
- <div>
- A statically-typed interface has been added, which allows parsing
- query results into user-provided types, using <a href="https://www.boost.org/libs/describe/">Boost.Describe</a>
- structs and tuples.
- </div>
- </li>
- <li>
- <div>
- Text queries and prepared statements can now be executed using the
- new <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">execute</span></code> and <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">start_execution</span></code>
- functions (and their async counterparts). These superseed <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">query</span></code>, <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">execute_statement</span></code>,
- <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">start_query</span></code> and <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">start_statement_execution</span></code>.
- The new functions allow access to new features, like the static interface.
- </div>
- </li>
- <li>
- <div>
- A separate compilation mode has been added to help reduce build times.
- Sources are included in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">mysql</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">hpp</span></code>,
- which must be included in exactly one translation unit.
- </div>
- </li>
- <li>
- <div>
- Prepared statements can now be executed using an iterator pair to
- specify parameters, using <code><span class="identifier">statement</span><span class="special">::</span><span class="identifier">bind</span></code>
- and <code><span class="identifier">connection</span><span class="special">::</span><span class="identifier">execute</span></code>. This enables use cases
- where the number and type of parameters is not known at compile-time.
- </div>
- </li>
- <li>
- <div>
- Prepared statement execution now accepts parameters of type <code><span class="keyword">bool</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code>
- and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>.
- </div>
- </li>
- <li>
- <div>
- Added error codes and verified compatibility with MySQL v8.0.33 and
- MariaDB v11.0.
- </div>
- </li>
- <li>
- <div>
- Fixed potential problems with Windows' <code><span class="identifier">min</span><span class="special">()</span></code> and <code><span class="identifier">max</span><span class="special">()</span></code> macros.
- </div>
- </li>
- <li>
- <div>
- All assertions now use <a href="https://www.boost.org/libs/assert/">Boost.Assert</a>.
- </div>
- </li>
- <li>
- <div>
- All exceptions are now thrown via <a href="https://www.boost.org/libs/throw_exception/">Boost.ThrowException</a>.
- </div>
- </li>
- <li>
- <div>
- Immediate completions are now correctly dispatched through the I/O
- object executor.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/ratio/">Ratio</a>:</span>
- <ul>
- <li>
- <div>
- Change default <code><span class="identifier">BOOST_RATIO_VERSION</span></code>
- to 2.
- </div>
- </li>
- <li>
- <div>
- Support for <code><span class="identifier">BOOST_RATIO_EXTENSIONS</span></code>
- is now deprecated and will eventually be removed when Boost.Ratio
- is implemented in terms of the standard <code><span class="special"><</span><span class="identifier">ratio</span><span class="special">></span></code>
- header.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/test/">Test</a>:</span>
- <ul>
- <li>
- <div>
- Added addtional older platforms to CI system (e.g. GCC 4.6)
- </div>
- </li>
- <li>
- <div>
- Fixed handling of <code><span class="identifier">uintptr_t</span></code>
- to make sure it is portable on 32-bit systems <a href="https://github.com/boostorg/test/pull/353">353</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed warnings from <code><span class="special">-</span><span class="identifier">Wdeprecated</span><span class="special">-</span><span class="identifier">copy</span><span class="special">-</span><span class="identifier">dtor</span></code> and <code><span class="special">-</span><span class="identifier">Wdeprecated</span><span class="special">-</span><span class="identifier">copy</span><span class="special">-</span><span class="identifier">with</span><span class="special">-</span><span class="identifier">user</span><span class="special">-</span><span class="identifier">provided</span><span class="special">-</span><span class="identifier">dtor</span></code> <a href="https://github.com/boostorg/test/pull/375">375</a>.
- </div>
- </li>
- <li>
- <div>
- Fixed handling of <code><span class="identifier">check_is_close</span></code>
- for C++23 <code><span class="special"><</span><span class="identifier">stdfloat</span><span class="special">></span></code> types <a href="https://github.com/boostorg/test/pull/382">382</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/timer/">Timer</a>:</span>
- <ul>
- <li>
- <div>
- Remove dependency on Boost.Chrono, Boost.System, and others.
- </div>
- </li>
- <li>
- <div>
- Disable deprecated headers unless <code><span class="identifier">BOOST_TIMER_ENABLE_DEPRECATED</span></code>
- is defined.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
- <ul>
- <li>
- <div>
- <strong>Major update.</strong>
- </div>
- </li>
- <li>
- <div>
- Added <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">concurrent_flat_map</span></code>, a fast, thread-safe
- hashmap based on open addressing.
- </div>
- </li>
- <li>
- <div>
- Sped up iteration of open-addressing containers.
- </div>
- </li>
- <li>
- <div>
- In open-addressing containers, <code><span class="identifier">erase</span><span class="special">(</span><span class="identifier">iterator</span><span class="special">)</span></code>, which previously returned nothing,
- now returns a proxy object convertible to an iterator to the next
- element. This enables the typical <code><span class="identifier">it</span>
- <span class="special">=</span> <span class="identifier">c</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">it</span><span class="special">)</span></code> idiom without incurring any performance
- penalty when the returned proxy is not used.
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/url/">URL</a>:</span>
- <ul>
- <li>
- <div>
- <code><span class="identifier">parse_query</span></code> does
- not recreate <code><span class="identifier">string_view</span></code>.
- (<a href="https://github.com/boostorg/url/issues/757">#757</a>)
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">url_view</span></code>/<code><span class="identifier">string_view</span></code> constructor requires
- non-<code><span class="identifier">url_view_base</span></code>.
- (<a href="https://github.com/boostorg/url/issues/756">#756</a>)
- </div>
- </li>
- <li>
- <div>
- <code><span class="identifier">IP</span><span class="special">-</span><span class="identifier">literal</span></code> can be <code><span class="identifier">IPv6addrz</span></code>.
- (<a href="https://github.com/boostorg/url/issues/711">#711</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/uuid/">UUID</a>:</span>
- <ul>
- <li>
- <div>
- Improved generated x86 code for AVX targets. Removed the use of
- <code><span class="identifier">lddqu</span></code> instruction
- on SSE3 targets, which penalize performance on Intel NetBurst CPUs
- but is more optimal on Skylake and later CPUs. (<a href="https://github.com/boostorg/uuid/pull/138">PR#138</a>)
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span>
- <ul>
- <li>
- <div>
- Added <code><span class="identifier">uses_double_storage</span><span class="special">()</span></code>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_83_0.updated_tools">
- <h3><span class="link">Updated Tools</span></h3>
- <ul>
- <li>
- <div>
- <span class="library"><a href="https://www.boost.org/tools/build/">Build</a>:</span>
- <ul>
- <li>
- <div>
- Includes release of <a href="https://www.boost.org/tools/build/doc/html/#_version_4_10_1">B2
- version 4.10.1</a>.
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_83_0.compilers_tested">
- <h3><span class="link">Compilers Tested</span></h3>
- <p>
- Boost's primary test compilers are:
- </p>
- <ul>
- <li>
- <div>
- Linux:
- <ul>
- <li>
- <div>
- 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
- </div>
- </li>
- <li>
- <div>
- Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
- </div>
- </li>
- <li>
- <div>
- 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
- </div>
- </li>
- <li>
- <div>
- 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
- </div>
- </li>
- <li>
- <div>
- Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
- </div>
- </li>
- <li>
- <div>
- GCC, C++03: 4.6.3, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++11: 4.7.3, 4.8.5, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
- </div>
- </li>
- <li>
- <div>
- GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- OS X:
- <ul>
- <li>
- <div>
- Apple Clang, C++03: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++11: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++14: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++17: 11.0.3
- </div>
- </li>
- <li>
- <div>
- Apple Clang, C++20: 11.0.3
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li>
- <div>
- Windows:
- <ul>
- <li>
- <div>
- Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
- </div>
- </li>
- </ul>
- </div>
- </li>
- </ul>
- </div>
- <div id="version_1_83_0.acknowledgements">
- <h3><span class="link">Acknowledgements</span></h3>
- <p>
- Marshall Clow and Glen Fernandes managed this release.
- </p>
- </div>
diff --git a/generated/state/feed-pages.txt b/generated/state/feed-pages.txt
index ce311015..d0571b02 100644
--- a/generated/state/feed-pages.txt
+++ b/generated/state/feed-pages.txt
@@ -2904,7 +2904,7 @@
-id
"version_1_88_0
-last_modified
-@Sun, 16 Mar 2025 04:24:29 +0000
+@Thu, 10 Apr 2025 20:39:03 +0000
-location
"users/history/version_1_88_0.html
-notice
@@ -2916,13 +2916,13 @@
" New Libraries: Updated Libraries:
"
-qbk_hash
-"3ab7ea5a863d57b3ac46a7551a0e63bbeaf1feefb7f8743f12b09282ea1984cd
+"6f45ccbc5a25c4abc3552a212ac2cefe4fa3dba7a7896e7ecceb6ccacfc4a10c
-section
"history
-title
"Version 1.88.0
-update_count
-=1
+=2
)
(feed/history/unversioned.qbk
-guid
diff --git a/generated/state/release.txt b/generated/state/release.txt
index 4121cfa4..49520999 100644
--- a/generated/state/release.txt
+++ b/generated/state/release.txt
@@ -3029,6 +3029,38 @@
"release_date":
"Sat, 16 Nov 2024 02:07:21 +0000"
},
+ "boost-1.88.0": {
+ "documentation":
+ "\/doc\/libs\/1_88_0\/",
+ "download_page":
+ "https:\/\/archives.boost.io\/release\/1.88.0\/source\/",
+ "downloads.7z.line_endings":
+ "windows",
+ "downloads.7z.sha256":
+ "e84a33716a31c1c8cb00783a411630d41c008e9364002dc0fe55aea4f54f4726",
+ "downloads.7z.url":
+ "https:\/\/archives.boost.io\/release\/1.88.0\/source\/boost_1_88_0.7z",
+ "downloads.bz2.line_endings":
+ "unix",
+ "downloads.bz2.sha256":
+ "46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5b12f7b",
+ "downloads.bz2.url":
+ "https:\/\/archives.boost.io\/release\/1.88.0\/source\/boost_1_88_0.tar.bz2",
+ "downloads.gz.line_endings":
+ "unix",
+ "downloads.gz.sha256":
+ "3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4",
+ "downloads.gz.url":
+ "https:\/\/archives.boost.io\/release\/1.88.0\/source\/boost_1_88_0.tar.gz",
+ "downloads.zip.line_endings":
+ "windows",
+ "downloads.zip.sha256":
+ "8ee21476f1aca1978339f0f4a218b9b8a6746eec83070f32630f97b09c7e91b7",
+ "downloads.zip.url":
+ "https:\/\/archives.boost.io\/release\/1.88.0\/source\/boost_1_88_0.zip",
+ "release_date":
+ "Thu, 10 Apr 2025 20:39:01 +0000"
+ },
"boost-1.88.0 beta1": {
"documentation":
"\/doc\/libs\/1_88_0_beta1\/",
diff --git a/generated/state/rss-items.txt b/generated/state/rss-items.txt
index 0ac2a5c5..7bc27909 100644
--- a/generated/state/rss-items.txt
+++ b/generated/state/rss-items.txt
@@ -71060,7 +71060,7 @@
)
(feed/history/boost_1_88_0.qbk
-item
-"Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Sun, 16 Mar 2025 04:24:28 +0000
+"Version 1.88.0 https://www.boost.org/users/history/version_1_88_0.htmlhttps://www.boost.org/users/history/version_1_88_0.html Thu, 10 Apr 2025 20:39:01 +0000
"
"
" <div id="version_1_88_0.new_libraries">
@@ -71068,13 +71068,13 @@
" <ul>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
+" <span class="library"><a href="https://www.boost.org/libs/hash2/">Hash2</a>:</span> An extensible hashing framework,
" from Peter Dimov and Christian Mazakas.
" </div>
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
+" <span class="library"><a href="https://www.boost.org/libs/mqtt5/">MQTT5</a>:</span> MQTT5 client library built
" on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
" Šimičević.
" </div>
@@ -71086,7 +71086,7 @@
" <ul>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/array/">Array</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/array/">Array</a>:</span>
" <ul>
" <li>
" <div>
@@ -71149,7 +71149,89 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/assert/">Assert</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
+" <ul>
+" <li>
+" <div>
+" Added <code><span class="keyword">noexcept</span></code> qualifiers
+" to various <code><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>
+" member functions, to make it consistent with <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fixed the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">config</span></code> class's handling of integer
+" values.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fixed a use-after-move error in <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">ranged_parallel_group</span></code>.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fixed an incorrect default template argument in the implementation
+" of <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">promise</span></code>.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fixed the <code><span class="identifier">io_uring</span></code>
+" implementation so that it does not attempt to re-register internal
+" descriptors with the reactor after a fork, if they were not previously
+" registered.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fixed an uninitialised member in the <code><span class="identifier">thread_pool</span></code>
+" default constructor.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fixed an ambiguous overload issue that occurred when passing a <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">span</span></code> to the <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span></code>
+" function.
+" </div>
+" </li>
+" <li>
+" <div>
+" Removed some spurious macro definitions that were left after the
+" removal of deprecated buffer functionality.
+" </div>
+" </li>
+" <li>
+" <div>
+" Added documentation to clarify the use of <code><span class="identifier">file_base</span><span class="special">::</span><span class="identifier">flags</span></code>
+" when opening a file.
+" </div>
+" </li>
+" <li>
+" <div>
+" Added overview documentation on the available runtime configuration
+" options.
+" </div>
+" </li>
+" <li>
+" <div>
+" Updated the overview documentation to reflect the use of <code><span class="identifier">deferred</span></code> as the default completion
+" token.
+" </div>
+" </li>
+" <li>
+" <div>
+" Updated the <code><span class="identifier">async_result</span></code>
+" documentation to reflect the current type requirements placed on
+" specialisations of the trait.
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" <span class="library"><a href="https://www.boost.org/libs/assert/">Assert</a>:</span>
" <ul>
" <li>
" <div>
@@ -71164,7 +71246,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/beast/">Beast</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
" <ul>
" <li>
" <div>
@@ -71245,7 +71327,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/conversion/">Conversion</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
" <ul>
" <li>
" <div>
@@ -71257,7 +71339,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/dll/">DLL</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
" <ul>
" <li>
" <div>
@@ -71337,7 +71419,174 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/iterator/">Iterator</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
+" <ul>
+" <li>
+" <div>
+" Improvements
+" <ul>
+" <li>
+" <div>
+" <a href="https://github.com/boostorg/geometry/pull/1370">PR#1370</a> Relax half period check in spheroidal normalization
+" </div>
+" </li>
+" <li>
+" <div>
+" <a href="https://github.com/boostorg/geometry/pull/1368">PR#1368</a> Pass umbrella strategies in rtree spatial
+" predicates
+" </div>
+" </li>
+" <li>
+" <div>
+" <a href="https://github.com/boostorg/geometry/pull/1367">PR#1367</a> Improvements in traversal
+" </div>
+" </li>
+" <li>
+" <div>
+" <a href="https://github.com/boostorg/geometry/pull/1361">PR#1361</a> Test set operations on random grids with
+" integer coordinates
+" </div>
+" </li>
+" <li>
+" <div>
+" Several test cases has been added
+" </div>
+" </li>
+" <li>
+" <div>
+" Use using instead of typedef in part of the code
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" Solved issues
+" <ul>
+" <li>
+" <div>
+" <a href="https://github.com/boostorg/geometry/pull/1364">PR#1364</a> Fix several strategies (add getters, fix
+" compilation error and warning)
+" </div>
+" </li>
+" <li>
+" <div>
+" <a href="https://github.com/boostorg/geometry/issues/629">#629</a> Avoid warnings for coordinate conversions and
+" unused parameters
+" </div>
+" </li>
+" <li>
+" <div>
+" Various fixes of errors and warnings
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" <span class="library"><a href="https://www.boost.org/libs/geometry/">Graph</a>:</span>
+" <ul>
+" <li>
+" <div>
+" Bug fixes
+" <ul>
+" <li>
+" <div>
+" Replace implementation of <code><span class="identifier">maximum_weighted_matching</span></code>,
+" resolves multiple issues.
+" </div>
+" </li>
+" <li>
+" <div>
+" Ensure <code><span class="identifier">named_graph</span></code>
+" is initialized before use.
+" </div>
+" </li>
+" <li>
+" <div>
+" Replace custom geometry code in <code><span class="identifier">is_straight_line_drawing</span></code>
+" with Boost.Geometry, fixes incorrect results for very small
+" angles.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fix incorrect callbacks to <code><span class="identifier">finish_edge</span></code>
+" in <code><span class="identifier">undirected_dfs</span></code>.
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" Performance improvements
+" <ul>
+" <li>
+" <div>
+" <code><span class="identifier">adjacency_list</span></code>:
+" Remove unnecessary calls to <code><span class="identifier">resize</span></code>/<code><span class="identifier">reserve</span></code> from within <code><span class="identifier">add_vertex</span></code> for <code><span class="identifier">vector</span></code>-based storage! A quick
+" benchmark indicates a 10% improvement to graph construction
+" time.
+" </div>
+" </li>
+" <li>
+" <div>
+" <code><span class="identifier">lengauer_tarjan_dominator_tree</span></code>:
+" Replace <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">deque</span></code>
+" with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span></code>, obtaining a ~40%
+" improvement for large graphs.
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" General Improvements
+" <ul>
+" <li>
+" <div>
+" Replace the use of several Boost utilities with C++14 language
+" features.
+" </div>
+" </li>
+" <li>
+" <div>
+" Modernize examples with C++14 language features.
+" </div>
+" </li>
+" <li>
+" <div>
+" Various fixes to documentation and build system.
+" </div>
+" </li>
+" <li>
+" <div>
+" <code><span class="identifier">vertex_by_property</span></code>
+" no longer requires a mutable graph.
+" </div>
+" </li>
+" <li>
+" <div>
+" Fix compilation issue with <code><span class="identifier">cycle_canceling</span></code>
+" and Clang 19.
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" <span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
" <ul>
" <li>
" <div>
@@ -71423,7 +71672,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/locale/">Locale</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
" <ul>
" <li>
" <div>
@@ -71458,7 +71707,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/lockfree/">Lockfree</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/lockfree/">Lockfree</a>:</span>
" <ul>
" <li>
" <div>
@@ -71471,7 +71720,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/log/">Log</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
" <ul>
" <li>
" <div>
@@ -71487,12 +71736,21 @@
" Fixed building issues when using CMake and MinGW-w64. (<a href="https://github.com/boostorg/log/pull/241">PR#241</a>)
" </div>
" </li>
+" <li>
+" <div>
+" Fixed incorrect file counter used by <code><span class="identifier">text_file_backend</span></code>
+" when the backend was configured to append to an existing file and
+" the actively written file name pattern didn't have a counter placeholder
+" but the target file name pattern did, and the log files were written
+" directly into the target storage. (<a href="https://github.com/boostorg/log/issues/245">#245</a>)
+" </div>
+" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/mp11/">Mp11</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
" <ul>
" <li>
" <div>
@@ -71506,7 +71764,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/mysql/">MySQL</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/mysql/">MySQL</a>:</span>
" <ul>
" <li>
" <div>
@@ -71589,7 +71847,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/nowide/">Nowide</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/nowide/">Nowide</a>:</span>
" <ul>
" <li>
" <div>
@@ -71602,7 +71860,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/poly_collection/">PolyCollection</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
" <ul>
" <li>
" <div>
@@ -71615,7 +71873,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/smart_ptr/">SmartPtr</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/smart_ptr/">SmartPtr</a>:</span>
" <ul>
" <li>
" <div>
@@ -71628,7 +71886,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/stacktrace/">Stacktrace</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
" <ul>
" <li>
" <div>
@@ -71667,7 +71925,20 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/unordered/">Unordered</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
+" <ul>
+" <li>
+" <div>
+" Fixed an UB that was introduced in Boost.TypeIndex 1.84 and prevented
+" the library from building on clang-20.
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" <span class="library"><a href="https://www.boost.org/libs/unordered/">Unordered</a>:</span>
" <ul>
" <li>
" <div>
@@ -71679,7 +71950,7 @@
" </li>
" <li>
" <div>
-" <span class="library"><a href="https://www.boost.org/doc/libs/1_88_0_beta1/libs/variant2/">Variant2</a>:</span>
+" <span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span>
" <ul>
" <li>
" <div>
@@ -71699,17 +71970,106 @@
" <ul>
" <li>
" <div>
-" <em>TODO</em>
+" Linux:
+" <ul>
+" <li>
+" <div>
+" 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
+" </div>
+" </li>
+" <li>
+" <div>
+" Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
+" </div>
+" </li>
+" <li>
+" <div>
+" 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
+" </div>
+" </li>
+" <li>
+" <div>
+" 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
+" </div>
+" </li>
+" <li>
+" <div>
+" Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
+" </div>
+" </li>
+" <li>
+" <div>
+" GCC, C++03: 4.6.3, 11, 12
+" </div>
+" </li>
+" <li>
+" <div>
+" GCC, C++11: 4.7.3, 4.8.5, 11, 12
+" </div>
+" </li>
+" <li>
+" <div>
+" GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
+" </div>
+" </li>
+" <li>
+" <div>
+" GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
+" </div>
+" </li>
+" <li>
+" <div>
+" GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
+" </div>
+" </li>
+" </ul>
" </div>
" </li>
-" </ul>
-" <p>
-" Boost's additional test compilers include:
-" </p>
-" <ul>
" <li>
" <div>
-" <em>TODO</em>
+" OS X:
+" <ul>
+" <li>
+" <div>
+" Apple Clang, C++03: 11.0.3
+" </div>
+" </li>
+" <li>
+" <div>
+" Apple Clang, C++11: 11.0.3
+" </div>
+" </li>
+" <li>
+" <div>
+" Apple Clang, C++14: 11.0.3
+" </div>
+" </li>
+" <li>
+" <div>
+" Apple Clang, C++17: 11.0.3
+" </div>
+" </li>
+" <li>
+" <div>
+" Apple Clang, C++20: 11.0.3
+" </div>
+" </li>
+" </ul>
+" </div>
+" </li>
+" <li>
+" <div>
+" Windows:
+" <ul>
+" <li>
+" <div>
+" Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
+" </div>
+" </li>
+" </ul>
" </div>
" </li>
" </ul>
@@ -71722,11 +72082,11 @@
" </div>
"
-last_modified
-@Sun, 16 Mar 2025 04:24:29 +0000
+@Thu, 10 Apr 2025 20:39:03 +0000
-quickbook
"feed/history/boost_1_88_0.qbk
-update_count
-=1
+=2
)
(feed/history/unversioned.qbk
-item
diff --git a/users/history/in_progress.html b/users/history/in_progress.html
index af7f5ed2..248d222e 100644
--- a/users/history/in_progress.html
+++ b/users/history/in_progress.html
@@ -30,1034 +30,6 @@
subject to change.
-
Version 1.88.0
-
-
In Progress
-
-
-
-
-
-
-
New Libraries
-
-
-
-
Hash2 : An extensible hashing framework,
- from Peter Dimov and Christian Mazakas.
-
-
-
-
-
MQTT5 : MQTT5 client library built
- on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
- Šimičević.
-
-
-
-
-
-
Updated Libraries
-
-
-
-
Array :
-
-
-
- Converted documentation to AsciiDoc (Christian Mazakas).
-
-
-
-
- Added noexcept and
- constexpr as appropriate.
-
-
-
-
- Marked obsolete functions as deprecated.
-
-
-
-
- Removed obsolete compiler workarounds.
-
-
-
-
- Changed array < T , 0 >:: begin () ,
- cbegin () ,
- end () ,
- cend ()
- to return nullptr , enabling
- constexpr . This matches
- the behavior of std :: array .
-
-
-
-
- Removed local hash_value
- overload; boost :: hash supports array-like types
- natively.
-
-
-
-
- array < T , 0 >
- can now be initialized with =
- {{}} .
-
-
-
-
- Added operator <=> .
-
-
-
-
- Added to_array .
-
-
-
-
-
-
-
-
Asio :
-
-
-
- Added noexcept qualifiers
- to various local :: basic_endpoint
- member functions, to make it consistent with ip :: basic_endpoint .
-
-
-
-
- Fixed the boost :: asio :: config class's handling of integer
- values.
-
-
-
-
- Fixed a use-after-move error in experimental :: ranged_parallel_group .
-
-
-
-
- Fixed an incorrect default template argument in the implementation
- of experimental :: promise .
-
-
-
-
- Fixed the io_uring
- implementation so that it does not attempt to re-register internal
- descriptors with the reactor after a fork, if they were not previously
- registered.
-
-
-
-
- Fixed an uninitialised member in the thread_pool
- default constructor.
-
-
-
-
- Fixed an ambiguous overload issue that occurred when passing a std :: span to the boost :: asio :: buffer
- function.
-
-
-
-
- Removed some spurious macro definitions that were left after the
- removal of deprecated buffer functionality.
-
-
-
-
- Added documentation to clarify the use of file_base :: flags
- when opening a file.
-
-
-
-
- Added overview documentation on the available runtime configuration
- options.
-
-
-
-
- Updated the overview documentation to reflect the use of deferred as the default completion
- token.
-
-
-
-
- Updated the async_result
- documentation to reflect the current type requirements placed on
- specialisations of the trait.
-
-
-
-
-
-
-
-
-
-
-
Beast :
-
-
-
-
-
-
- Improvements
-
-
-
- Updated SSL examples to verify peer certificate hostname.
-
-
-
-
- Refactored CMakeLists.
-
-
-
-
- Removed Boost.Scope dependency from examples.
-
-
-
-
- Peer pings in WebSocket now count as activity.
-
-
-
-
-
-
-
- Documentation
-
-
-
- Added new examples for Unix domain sockets.
-
-
-
-
- Added SSL/TLS Certificate section to documentation.
-
-
-
-
- Improved documentation of websocket :: stream :: async_close .
-
-
-
-
-
-
-
- Acknowledgements
-
-
-
- Morten M. Neergaard
-
-
-
-
-
-
-
-
-
-
-
-
-
-
DLL :
-
-
-
- Added constructor from
native_handle_t
- to the
boost :: dll :: shared_library . Many thanks to
-
Tiago Matos for the
-
PR#82 .
-
-
-
-
- Dropped multiple dependencies on other Boost libraries including
- Spirit, SmartPtr, Move, TypeTraits, and Function. DLL became more
- lightweight for compilation.
-
-
-
-
- std :: error_code &
- in API is used instead of the boost :: system :: error_code & . This is not a breaking change
- as boost :: system :: error_code is convertible to std :: error_code & .
-
-
-
-
- boost :: dll : import_ *
- functions now return std :: shared_ptr
- rather than boost :: shared_ptr .
- Define BOOST_DLL_USE_BOOST_SHARED_PTR
- to restore the old behavior, however note that the macro will be
- removed in one of the upcomming Boost releases.
-
-
-
-
- Use modern C++ in the samples and in the library code.
-
-
-
-
- boost :: dll :: library_info now always throws
- in case of a broken binary. Updated the docs and added some tests.
-
-
-
-
- Documented in FAQ why RTLD_NODELETE
- is missing and why there is no . release ()
- method. Provided suggestions on possible workarounds.
-
-
-
-
- Updated the information on building and using the library. CMake
- targets now link with - ldl if it is required by the platform.
-
-
-
-
- Fixed detail :: path_from_handle implementation
- for long paths on Windows OS.
-
-
-
-
- Highlighted in the docs that boost / dll / smart_ * parts of the library are experimental
- and incomplete.
-
-
-
-
- Fixed multiple mangling issues in boost / dll / smart_ * parts of the library.
-
-
-
-
-
-
-
-
-
-
-
Graph :
-
-
-
- Bug fixes
-
-
-
- Replace implementation of maximum_weighted_matching ,
- resolves multiple issues.
-
-
-
-
- Ensure named_graph
- is initialized before use.
-
-
-
-
- Replace custom geometry code in is_straight_line_drawing
- with Boost.Geometry, fixes incorrect results for very small
- angles.
-
-
-
-
- Fix incorrect callbacks to finish_edge
- in undirected_dfs .
-
-
-
-
-
-
-
- Performance improvements
-
-
-
- adjacency_list :
- Remove unnecessary calls to resize /reserve from within add_vertex for vector -based storage! A quick
- benchmark indicates a 10% improvement to graph construction
- time.
-
-
-
-
- lengauer_tarjan_dominator_tree :
- Replace std :: deque
- with std :: vector , obtaining a ~40%
- improvement for large graphs.
-
-
-
-
-
-
-
- General Improvements
-
-
-
- Replace the use of several Boost utilities with C++14 language
- features.
-
-
-
-
- Modernize examples with C++14 language features.
-
-
-
-
- Various fixes to documentation and build system.
-
-
-
-
- vertex_by_property
- no longer requires a mutable graph.
-
-
-
-
- Fix compilation issue with cycle_canceling
- and Clang 19.
-
-
-
-
-
-
-
-
-
-
-
Iterator :
-
-
-
- Dropped support for C++03 and ancient compilers, updated code base
- to use C++11 and MP11, reduced usage of MPL. (
PR#82 )
-
-
-
-
- Added min_category
- trait, which is a variadic equivalent of minimum_category
- that doesn't depend on MPL. minimum_category
- is deprecated and will be removed in a future release.
-
-
-
-
- Extracted enable_if_convertible
- trait to a separate header enable_if_convertible . hpp .
- The trait was previously defined in iterator_adaptor . hpp ,
- and the header still provides enable_if_convertible
- when included. This dependency is provided for backward compatibility
- and will be removed in a future release. Users are advised to add
- includes of enable_if_convertible . hpp ,
- as needed.
-
-
-
-
- Added * _t
- variants of various iterator traits that produce types.
-
-
-
-
- filter_iterator and
- transform_iterator
- now use empty base optimization (EBO) to reduce size of the iterator
- when the adopted function object is stateless.
-
-
-
-
- zip_iterator now
- natively supports boost :: tuple ,
- std :: tuple and std :: pair
- for iterator tuples and doesn't need including Fusion support headers.
-
-
-
-
- function_output_iterator
- no longer allows default construction when the wrapped function is
- a function pointer. Such construction would previously create an
- iterator with an uninitialized function pointer value, and such an
- iterator would be unusable.
-
-
-
-
- generator_iterator . hpp
- and shared_container_iterator . hpp
- headers were moved under the boost / iterator
- directory. The previous headers in boost
- are still retained for backward compatibility, but will be removed
- in a future release. Users are advised to update their includes.
-
-
-
-
- shared_container_iterator
- now uses std :: shared_ptr to reference the container
- internally. The support for boost :: shared_ptr
- is still retained, but it will incur performance overhead on the
- iterator construction, as boost :: shared_ptr
- is now wrapped in a std :: shared_ptr
- internally. It is recommended to use std :: shared_ptr
- to reference the container.
-
-
-
-
-
-
-
-
Locale :
-
-
-
- Raised required ICU version to at least 4.8.1
-
-
-
-
- Dropped support for ICU 50.1
-
-
-
-
- Fixed parsing of integers with input strings in floating point format
- (
PR#241 )
-
-
-
-
- Support parsing and formatting of
uint64_t
- values with the ICU backend (
PR#246 )
-
-
-
-
- Support char8_t on
- more platforms
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
MySQL :
-
-
-
-
connection_pool now
- resizes correctly even in the presence of many connections with session
- establishment in-progress. The old algorithm could lead to the pool
- not being resized as expected under certain conditions (
#395 ).
-
-
-
-
- Added
any_connection :: connection_id .
- This function retrieves the connection's ID, which can subsequently
- be used in
KILL SQL
- statements to cancel queries. This function is equivalent to
mysql_thread_id in the official
- C API (
#408 )
-
-
-
-
- Attempting to start an async operation on a
connection
- or
any_connection
- while another operation is in-progress no longer triggers undefined
- behavior. It now fails with
client_errc :: operation_in_progress
- (
#405 ).
-
-
-
-
- Attempting to start an operation while a
connection
- or
any_connection
- are engaged in a multi-function operation no longer yields potentially
- dangerous packet mismatches. It instead fails with
client_errc :: engaged_in_multi_function (
#448 ).
-
-
-
-
- Improved diagnostics when attempting to use a connection without
- a established session. Operations now fail with
client_errc :: not_connected
- (
#450 ).
-
-
-
-
- Fixed a race condition in
connection
- and
any_connection
- regarding per-operation cancellation. In previous versions, if a
- cancellation signal was emitted after an intermediate async operation
- had completed, but before its handler had been called, the signal
- was ignored. This is no longer the case (
#199 ).
-
-
-
-
- field 's constructor
- and assignment from std :: string_view
- are now available in C++17, rather than C++20. These functions were
- guarded by standard feature-test macros, only available in C++20.
- These have been replaced by their Boost.Config equivalents.
-
-
-
-
- Added an HTTP server example that uses C++20 coroutines.
-
-
-
-
- Added a doc page on interfacing sync and async code. This replaces
- the synchronous connection pool snippet, which contained a race condition.
-
-
-
-
- Improved some of the other examples and doc pages.
-
-
-
-
-
-
-
-
Nowide :
-
-
-
- Make
getenv thread-safe
- (
PR#191 )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Stacktrace :
-
-
-
- Use
GetModuleNames
- to determine the full module path for MSVC implementation. Many thanks
- to
Daniel Krügler
- for the
PR#198 .
-
-
-
-
- Print relative addresses to allow their decoding later without knowing
- the base address. The logic could be disabled by defining
BOOST_STACKTRACE_DISABLE_OFFSET_ADDR_BASE .
- Many thanks to
Maciej Czarnecki
- for the
PR#200 .
-
-
-
-
- Expose all the stacktrace libraries as b2 features for better control
- over the build and explicit information on what libraries are built.
- See "Configuration and Build" section for more info. Many
- thanks to
Uilian Ries
- for initial implementation of the feature in
PR#202 .
-
-
-
-
- Fixed
stacktrace_from_exception
- builds with MinGW. Thanks to
crhilton
- for the fix.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Compilers Tested
-
- Boost's primary test compilers are:
-
-
-
-
- Linux:
-
-
-
- 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
-
-
-
-
- Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
-
-
-
-
- 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
-
-
-
-
- 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
-
-
-
-
- Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
-
-
-
-
- GCC, C++03: 4.6.3, 11, 12
-
-
-
-
- GCC, C++11: 4.7.3, 4.8.5, 11, 12
-
-
-
-
- GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
-
-
-
-
- GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
-
-
-
-
- GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
-
-
-
-
-
-
-
- OS X:
-
-
-
- Apple Clang, C++03: 11.0.3
-
-
-
-
- Apple Clang, C++11: 11.0.3
-
-
-
-
- Apple Clang, C++14: 11.0.3
-
-
-
-
- Apple Clang, C++17: 11.0.3
-
-
-
-
- Apple Clang, C++20: 11.0.3
-
-
-
-
-
-
-
- Windows:
-
-
-
- Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
-
-
-
-
-
-
-
-
-
Acknowledgements
-
- Marshall Clow, Glen Fernandes and Ion Gaztañaga managed this release.
-
-
-
-
diff --git a/users/history/version_1_88_0.html b/users/history/version_1_88_0.html
index 096ed507..00855ff2 100644
--- a/users/history/version_1_88_0.html
+++ b/users/history/version_1_88_0.html
@@ -3,7 +3,7 @@
- Version 1.88.0 beta 1
+ Version 1.88.0
@@ -37,13 +37,13 @@
Version 1.88.0 beta 1
+ "news-title">Version 1.88.0
-
March 16th, 2025 04:24 GMT
-
Documentation
-
* The download links are supported by grants from
The C++ Alliance .
+
April 10th, 2025 20:39 GMT
+
Documentation
+
Downloads Platform File SHA256 Hash
+unix boost_1_88_0.tar.bz2 46d9d2c06637b219270877c9e16155cbd015b6dc84349af064c088e9b5b12f7b boost_1_88_0.tar.gz 3621533e820dcab1e8012afd583c0c73cf0f77694952b81352bf38c1488f9cb4
+windows boost_1_88_0.7z e84a33716a31c1c8cb00783a411630d41c008e9364002dc0fe55aea4f54f4726 boost_1_88_0.zip 8ee21476f1aca1978339f0f4a218b9b8a6746eec83070f32630f97b09c7e91b7
* The download links are supported by grants from
The C++ Alliance .
@@ -53,13 +53,13 @@
-
Hash2 : An extensible hashing framework,
+
Hash2 : An extensible hashing framework,
from Peter Dimov and Christian Mazakas.
-
MQTT5 : MQTT5 client library built
+
MQTT5 : MQTT5 client library built
on top of Boost.Asio, from Ivica Siladić, Bruno Iljazović, and Korina
Šimičević.
@@ -71,7 +71,7 @@
-
Array :
+
Array :
@@ -134,7 +134,89 @@
-
Assert :
+
Asio :
+
+
+
+ Added noexcept qualifiers
+ to various local :: basic_endpoint
+ member functions, to make it consistent with ip :: basic_endpoint .
+
+
+
+
+ Fixed the boost :: asio :: config class's handling of integer
+ values.
+
+
+
+
+ Fixed a use-after-move error in experimental :: ranged_parallel_group .
+
+
+
+
+ Fixed an incorrect default template argument in the implementation
+ of experimental :: promise .
+
+
+
+
+ Fixed the io_uring
+ implementation so that it does not attempt to re-register internal
+ descriptors with the reactor after a fork, if they were not previously
+ registered.
+
+
+
+
+ Fixed an uninitialised member in the thread_pool
+ default constructor.
+
+
+
+
+ Fixed an ambiguous overload issue that occurred when passing a std :: span to the boost :: asio :: buffer
+ function.
+
+
+
+
+ Removed some spurious macro definitions that were left after the
+ removal of deprecated buffer functionality.
+
+
+
+
+ Added documentation to clarify the use of file_base :: flags
+ when opening a file.
+
+
+
+
+ Added overview documentation on the available runtime configuration
+ options.
+
+
+
+
+ Updated the overview documentation to reflect the use of deferred as the default completion
+ token.
+
+
+
+
+ Updated the async_result
+ documentation to reflect the current type requirements placed on
+ specialisations of the trait.
+
+
+
+
+
+
+
+
Assert :
@@ -149,7 +231,7 @@
-
Beast :
+
Beast :
@@ -230,7 +312,7 @@
-
Conversion :
+
Conversion :
@@ -242,7 +324,7 @@
-
DLL :
+
DLL :
@@ -322,7 +404,174 @@
+
+
+
+
Graph :
+
+
+
+ Bug fixes
+
+
+
+ Replace implementation of maximum_weighted_matching ,
+ resolves multiple issues.
+
+
+
+
+ Ensure named_graph
+ is initialized before use.
+
+
+
+
+ Replace custom geometry code in is_straight_line_drawing
+ with Boost.Geometry, fixes incorrect results for very small
+ angles.
+
+
+
+
+ Fix incorrect callbacks to finish_edge
+ in undirected_dfs .
+
+
+
+
+
+
+
+ Performance improvements
+
+
+
+ adjacency_list :
+ Remove unnecessary calls to resize /reserve from within add_vertex for vector -based storage! A quick
+ benchmark indicates a 10% improvement to graph construction
+ time.
+
+
+
+
+ lengauer_tarjan_dominator_tree :
+ Replace std :: deque
+ with std :: vector , obtaining a ~40%
+ improvement for large graphs.
+
+
+
+
+
+
+
+ General Improvements
+
+
+
+ Replace the use of several Boost utilities with C++14 language
+ features.
+
+
+
+
+ Modernize examples with C++14 language features.
+
+
+
+
+ Various fixes to documentation and build system.
+
+
+
+
+ vertex_by_property
+ no longer requires a mutable graph.
+
+
+
+
+ Fix compilation issue with cycle_canceling
+ and Clang 19.
+
+
+
+
+
+
+
+
+
+
+
Iterator :
@@ -408,7 +657,7 @@
-
Locale :
+
Locale :
@@ -443,7 +692,7 @@
-
Lockfree :
+
Lockfree :
@@ -456,7 +705,7 @@
-
Log :
+
Log :
@@ -472,12 +721,21 @@
Fixed building issues when using CMake and MinGW-w64. (
PR#241 )
+
+
+ Fixed incorrect file counter used by
text_file_backend
+ when the backend was configured to append to an existing file and
+ the actively written file name pattern didn't have a counter placeholder
+ but the target file name pattern did, and the log files were written
+ directly into the target storage. (
#245 )
+
+
-
Mp11 :
+
Mp11 :
@@ -491,7 +749,7 @@
-
MySQL :
+
MySQL :
@@ -574,7 +832,7 @@
-
Nowide :
+
Nowide :
@@ -587,7 +845,7 @@
-
PolyCollection :
+
PolyCollection :
@@ -600,7 +858,7 @@
-
SmartPtr :
+
SmartPtr :
@@ -613,7 +871,7 @@
-
Stacktrace :
+
Stacktrace :
@@ -652,7 +910,20 @@
+
+
+
+
Unordered :
@@ -664,7 +935,7 @@
-
Variant2 :
+
Variant2 :
@@ -684,17 +955,106 @@
-
TODO
+ Linux:
+
+
+
+ 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
+
+
+
+
+ Clang, C++11: 3.4, 11.0.0, 13.0.0, 14.0.0, 15.0.0
+
+
+
+
+ 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
+
+
+
+
+ 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
+
+
+
+
+ Clang, C++20: 11.0.0, 12.0.0, 13.0.0, 14.0.0, 15.0.0
+
+
+
+
+ GCC, C++03: 4.6.3, 11, 12
+
+
+
+
+ GCC, C++11: 4.7.3, 4.8.5, 11, 12
+
+
+
+
+ GCC, C++14: 5.4.0, 6.4.0, 7.3.0, 8.0.1, 9.1.0, 11, 12
+
+
+
+
+ GCC, C++17: 7.3.0, 8.0.1, 9.1.0, 11, 12
+
+
+
+
+ GCC, C++20: 8.0.1, 9.1.0, 10, 11, 12
+
+
+
-
-
- Boost's additional test compilers include:
-
-
-
TODO
+ OS X:
+
+
+
+ Apple Clang, C++03: 11.0.3
+
+
+
+
+ Apple Clang, C++11: 11.0.3
+
+
+
+
+ Apple Clang, C++14: 11.0.3
+
+
+
+
+ Apple Clang, C++17: 11.0.3
+
+
+
+
+ Apple Clang, C++20: 11.0.3
+
+
+
+
+
+
+
+ Windows:
+
+
+
+ Visual C++: 10.0, 11.0, 12.0, 14.0, 14.1, 14.2, 14.3
+
+
+