New libraries
Added Bloom providing probabilistic filters for efficient set membership testing.
Added Bloom providing probabilistic filters for efficient set membership testing.
metadata representation in multiprecision now constructs faster and uses less memory; beta_distribution::operator() performance enhanced.
Added 5 dependencies across 4 libraries; removed 5 dependencies across 2 libraries.
Fixed ASAN warnings in filesystem, TSAN instrumentation in atomic, and numerous platform compilation bugs.
Initial C++20 Modules support; added constexpr polymorphic_cast and BOOST_BITMASK operators for better ergonomics.
August 14th, 2025 02:16 GMT
execution_context,
io_context and thread_pool, with the supplied
allocator being used for allocating objects associated with the execution
context.
async_resolve to emulate asynchronous
address resolution.
deadline_timer,
basic_deadline_timer
and time_traits from
the convenience header boost/asio.hpp.
connect_pipe
use unique names that do not conflict if Asio is used in multiple,
independent plug-in DLLs.
BOOST_ASIO_CONCURRENCY_HINT_SAFE
to be consistent with the io_context
default constructor.
BOOST_ASIO_CONCURRENCY_HINT_UNSAFE_IO
to reflect that registration locking is still enabled.
[[noreturn]] attribute to boost::asio::detail::throw_exception.
co_spawn to
adhere to the asynchronous operation requirement for non-reentrant
invocation of the completion handler.
basic_signal_set
async signal safety.
_WIN32_WINNT
to an older Windows version by default, you may need to define
_WIN32_WINNT=0x0A00
or BOOST_USE_WINAPI_VERSION=0x0A00
when compiling Boost.Atomic and the code that uses Boost.Atomic.
thread_pause
operation, which can be used as a backoff measure in spin loops.
Added support for PowerPC and improved support for AArch64 in thread_pause.
BOOST_ATOMIC_NO_ATOMIC_FLAG_INIT
macro definition. Since the library now requires C++11, BOOST_ATOMIC_FLAG_INIT is always
supported.
immediate_executor_type
in async_base.
cstdint
header to detail/cpu_info.hpp.
std::is_trivial deprecation warnings.
handshake_timeout
now applies to closing handshakes during reads.
detail/work_guard.hpp
with net::executor_work_guard.
from_chars
for integer types
to_chars for specified precisions
with floating point types
move_only_function.hpp.
hash_is_avalanching
trait class.
polymorphic_downcast
and polymorphic_cast
in constexpr (requires C++20).
BOOST_BITMASK
now use underlying type of the enum to implement bitwise operators.
The operators are marked noexcept
and constexpr, when
possible.
bitmask_set
generated by BOOST_BITMASK
is marked deprecated. In a future release, BOOST_BITMASK
will stop producing this function. Users are recommended to use double
negation (!!mask)
to test if the value is zero. This affects e.g. enums defined in
Boost.Filesystem.
BOOST_DLL_USE_STD_FS
CMake option to match the preprocessor option. Thanks to Yury
Bura for the PR!
path::append. (#335)
blake2s_256,
blake2b_512).
xxh3_128).
filter_iterator
copy/converting constructor, which could previously produce an invalid
iterator. (#92)
is_trivial
in iterator_facade
as it is deprecated in C++26. (#93)
iterator_facade::operator[]
now always returns a proxy rather than conditionally returning a
value or a proxy. This allows users to bind a reference to the result
of the operator, regardless of whether the value type is trivially-copyable.
(#61)
iterator_facade::operator[] now supports forwarding dereferencing
operators to the referenced value. This allows it[n]->foo() and (*it[n]).foo()
expressions to compile.
iterator_facade::operator[] now implementes perfect forwarding
in its assignment operator.
BOOST_LOG_WITHOUT_ASIO
configuration macro, which can be used to remove the dependency on
Boost.Asio and disable the related functionality.
text_file_backend when composing
log file names. This fixes failures in the subsequent parsing of
the file names in file_collector::scan_for_files.
(PR#246)
wrap_filter
utility that simplifies injecting user-defined function objects in
filtering expressions. (#195)
<type_traits>
and constexpr requirement
to builds
cpp_double_fp_backend
caching_sha2_password
authentication plugin can now be used without TLS. This is the default
in MySQL 8 and above. Plaintext connections that attempt to use this
plugin no longer fail with client_errc::auth_plugin_requires_ssl
(#313).
client_errc::incomplete_message
to be returned during connection establishment when the target database
does not exist and the caching_sha2_password
is used. The appropriate server-generated diagnostic is now returned.
See issues #468 and #488.
metadata
representation to be faster to construct and take less memory (#461).
std::array<std::string_view,
0>
type for boost::pfr::names_as_array(empty_struct{})
to allow compilation of for
(std::string_view
name :
boost::pfr::names_as_array(empty_struct{})).
Many thanks to sabudilovskiy
for the bug report!
v1.hpp to emulate v1 process.hpp include.
beta_distribution
beta_distribution::operator()
CMakeLists.txt files containing find_package(Boost COMPONENTS system ...).
The easiest fix is to just remove system from the list of components as it's no longer required.
If compatibility with Boost releases earlier than 1.69 is to be preserved, one can use
find_package(Boost COMPONENTS ... OPTIONAL_COMPONENTS system).
boost::unordered::hash_is_avalanching
is now a using-declaration of boost::hash_is_avalanching
in <boost/container_hash/hash_is_avalanching.hpp>. Use that header directly instead.
<boost/unordered/hash_traits.hpp> will be removed in the future.
pull(const_iterator)
to open-addressing containers. This operation allows for efficient
removal and retrieval of an element via move construction.
histogram::fill
with a multidimensional histogram efficiently when data per
dimension is already available as contiguous data
Boost's primary test compilers are:
Marshall Clow, Glen Fernandes and Ion Gaztañaga managed this release.
Boost is publicly released three times a year in April, August, and December. Each release has updates to existing libraries, and any new libraries that have passed the rigorous acceptance process.