Version 1.84.0
Version 1.84.0 beta 1
November 16th, 2023 15:33 GMT
Platform | File | SHA256 Hash |
---|---|---|
unix | boost_1_84_0_b1.tar.bz2 | f8a9f21580961536a95fb7fcf9deebde45d7e0e94ddd81402f1e37ae2c590410 |
boost_1_84_0_b1.tar.gz | de9b35e232e4b1769f4d800ec01255a9c2546639be43e45b16ce6d109c088e99 | |
windows | boost_1_84_0_b1.7z | 3e4765c41974c763b7d4a67a432569bf75d3367d7a6b72c4ac9458e5004c59dc |
boost_1_84_0_b1.zip | 224d595cc666c19b91214c5e9cced3988d08063146dfad9f616c481d52626f27 |
New Libraries
Updated Libraries
-
Chrono:
-
C++03 is no longer supported.
-
-
ContainerHash:
-
C++03 is no longer supported.
-
-
Conversion:
-
C++03 is no longer supported PR#27.
-
-
CRC:
-
C++03 support is deprecated and will be removed in release 1.86.
-
-
Endian:
-
C++03 is no longer supported.
-
-
Heap:
-
C++03 support is deprecated and will be removed in release 1.86. New requirement will be C++14.
-
-
LEAF:
-
class result<T> marked nodiscard.
-
Added member typedef result<T>::value_type.
-
verbose_diagnostic_info defers conversion to string until an error handling scope is reached.
-
Improved support for embedded development.
-
Improved Visual Studio 2015 compatibility (thanks godmaycrying).
-
Minor bug fixes an improvements.
-
Dropped support for GCC 4.8 and 4.9.
-
-
LexicalCast:
-
C++03 is no longer supported PR#62.
-
Fixed -Wdeprecated-copy-with-dtor warnings with clang. Thanks to Romain Geissler for the PR PR#59!
-
Dropped dependency on Boost.Range PR#63.
-
-
Lockfree:
-
C++03 support is deprecated and will be removed in release 1.86. New requirement will be C++14.
-
-
Multi-index Containers:
-
Fixed a serialization-related compile-time bug in old compilers without ADL support (issue #70).
-
-
MySQL:
-
Added
connection::reset_connection
andconnection::async_reset_connection
. These functions clean session state (including prepared statements, variables, locks and more) without closing and re-opening the connection. -
Added error codes introduced in MySQL server v8.1.0.
-
Added fuzz testing for the deserialization functions.
-
-
PFR:
-
Big new feature: field names reflection. Added new
constexpr
boost::pfr::get_name<N, T>()
function that returns astd::string_view
with a name of field at indexN
of an aggregateT
. Requires C++20.BOOST_PFR_CORE_NAME_ENABLED
is defined to 1 if the functionality is available. Many thanks to Denis Mikhailov, Bela Schaum and X-Ryl669 for the PR PR#129 and implementation ideas. -
for_each_field()
is nowconstexpr
for C++17. Many thanks to Alexander Karatarakis for the PR PR#134.
-
-
Predef:
-
Version 1.15.0
-
Add detection of Microsoft STL (from Henrik Gaßmann).
-
-
Ratio:
-
C++03 is no longer supported.
-
Support for
BOOST_RATIO_EXTENSIONS
has been removed. Ratio is now implemented in terms of the standard<ratio>
header.
-
-
Stacktrace:
-
Added missing include. Thanks to Francesco Ballarin for the PR PR#143!
-
System:
-
Added support for
result<U&, E>
. -
Added
operator|
forresult
. -
Added
operator&
forresult
. -
Added
operator&=
forresult
.
-
-
Thread:
-
C++03 is no longer supported.
-
-
TypeIndex:
-
C++03 is no longer supported.
-
BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS((A)(B)(C)(D))
changed syntax toBOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS(A, B, C, D)
. -
Dropped Boost.PP dependency.
-
-
TypeOf:
-
C++03 is no longer supported.
-
-
Unordered:
-
Major update.
-
Added
boost::concurrent_flat_set
. -
Added
[c]visit_while
operations to concurrent containers, with serial and parallel variants. -
Added efficient move construction of
boost::unordered_flat_(map|set)
fromboost::concurrent_flat_(map|set)
and vice versa. -
Added bulk visitation to concurrent containers for increased lookup performance.
-
Added debug-mode mechanisms for detecting illegal reentrancies into a concurrent container from user code.
-
Added Boost.Serialization support to all containers and their (non-local) iterator types.
-
Added support for fancy pointers to open-addressing and concurrent containers. This enables scenarios like the use of Boost.Interprocess allocators to construct containers in shared memory.
-
Starting with this release,
boost::unordered_[multi]set
andboost::unordered_[multi]map
only work with C++11 onwards.
-
Compilers Tested
Boost's primary test compilers are:
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 and Glen Fernandes managed this release.