Prior Release
(1.89.0)
This is an older version of Boost and was released in 2025. The current version is 1.90.0.
August 6, 2025
Dependencies
There were
5 dependencies added
(in 4 libraries)
and
5 dependencies removed
(in 2 libraries)
this release.
| Platform | File | SHA256 Hash | |
|---|---|---|---|
| Unix | boost_1_89_0.tar.bz2 | 85a33fa22621b4f314f8e85e1a5e2a9363d22e4f4992925d4bb3bc631b5a0c7a 85a33fa226....631b5a0c7a 85a33....a0c7a | |
| boost_1_89_0.tar.gz | 9de758db755e8330a01d995b0a24d09798048400ac25c03fc5ea9be364b13c93 9de758db75....e364b13c93 9de75....13c93 | ||
| Windows | boost_1_89_0.7z | d8b0c1d593d68fe359616aa2fae4b3e258ca1f90ed57eb46c5494c29cdd1d49d d8b0c1d593....29cdd1d49d d8b0c....1d49d | |
| boost_1_89_0.zip | 77bee48e32cabab96a3fd2589ec3ab9a17798d330220fdd8bde6ff5611b4ccde 77bee48e32....5611b4ccde 77bee....4ccde | ||
| Windows (Binary) | boost_1_89_0-bin-msvc-all-32-64.7z | 3af5e74837ba9df07905da7c7928ee629e9d3b1618dedb5819f908b79cc943c7 3af5e74837....b79cc943c7 3af5e....943c7 | |
| boost_1_89_0-msvc-14.1-32.exe | c56f0c8403b35cd0b56006cebf8ebe9a30900f550a71876889564acdec46c6d7 c56f0c8403....cdec46c6d7 c56f0....6c6d7 | ||
| boost_1_89_0-msvc-14.1-64.exe | a15a639404e1d036854d2bdc99ae7e66b4cebe50d9915267a171e892fc4fbe4e a15a639404....92fc4fbe4e a15a6....fbe4e | ||
| boost_1_89_0-msvc-14.2-32.exe | f4fb119c68dee53844aa37e637b33f4abe246898e60e49fc1d0e375046529156 f4fb119c68....5046529156 f4fb1....29156 | ||
| boost_1_89_0-msvc-14.2-64.exe | 1c6bb4a160faae0c5a7be4138ab2e53045ca205820cf163446b6c10c00226a42 1c6bb4a160....0c00226a42 1c6bb....26a42 | ||
| boost_1_89_0-msvc-14.3-32.exe | e5a3d1921a69af6131cc86c335cb410228c0bc62c0f36741da7f12cb3fadc264 e5a3d1921a....cb3fadc264 e5a3d....dc264 | ||
| boost_1_89_0-msvc-14.3-64.exe | 36dd9d060ba51c856c39693edaa3ae3a07a07e57fa51b81b2c15d2fd0aaa72a8 36dd9d060b....fd0aaa72a8 36dd9....a72a8 | ||
Version 1.89.0
August 14th, 2025 02:16 GMT
New Libraries
- Bloom:
- filters, from Joaquín M López Muñoz.
Updated Libraries
-
Any:
- Initial support for C++20 Modules. See the docs for more info.
-
Asio:
-
Added allocator constructors to
execution_context,io_contextandthread_pool, with the supplied allocator being used for allocating objects associated with the execution context. - Added a new configuration parameter "timer" / "heap_reserve" that may be used to reserve space in the vector used for a timer queue's heap.
-
Added a new configuration parameter "resolver" / "threads"
that specifies the number of internal threads used by
async_resolveto emulate asynchronous address resolution. -
Removed
deadline_timer,basic_deadline_timerandtime_traitsfrom the convenience header . -
Ensured that the Windows named pipes created by
connect_pipeuse unique names that do not conflict if Asio is used in multiple, independent plug-in DLLs. -
Changed
BOOST_ASIO_CONCURRENCY_HINT_SAFEto be consistent with theio_contextdefault constructor. -
Fixed the documentation for
BOOST_ASIO_CONCURRENCY_HINT_UNSAFE_IOto reflect that registration locking is still enabled. - Added separate and build targets for optional dependencies.
-
Added the
[[noreturn]]attribute toboost::asio::detail::throw_exception. -
Fixed
co_spawnto adhere to the asynchronous operation requirement for non-reentrant invocation of the completion handler. -
Added a documentation note on
basic_signal_setasync signal safety. - Fixed various minor compilation errors on different platforms.
- Consult the Revision History for further details.
-
Added allocator constructors to
-
Atomic:
- Added TSAN instrumentation in asm-based x86, AArch32, AArch64 and PPC backends. This silences TSAN false errors for code using Boost.Atomic for thread synchronization.
-
Following the announcement in Boost 1.84, removed support for Windows
versions older than Windows 10.
-
A note to MinGW-w64 users. Since Windows SDK headers on MinGW-w64
define
_WIN32_WINNTto an older Windows version by default, you may need to define_WIN32_WINNT=0x0A00orBOOST_USE_WINAPI_VERSION=0x0A00when compiling Boost.Atomic and the code that uses Boost.Atomic.
-
A note to MinGW-w64 users. Since Windows SDK headers on MinGW-w64
define
- Support for Windows CE is deprecated and will be removed in a future release.
- Added support for timed waiting operations.
-
Exposed
thread_pauseoperation, which can be used as a backoff measure in spin loops. Added support for PowerPC and improved support for AArch64 inthread_pause. -
Removed
BOOST_ATOMIC_NO_ATOMIC_FLAG_INITmacro definition. Since the library now requires C++11,BOOST_ATOMIC_FLAG_INITis always supported. - Enabled bitwise operations for atomic enumerations. This can be useful when enumerations are used to implement bit masks.
-
Beast:
-
Fixes
-
Conditionally defined
immediate_executor_typeinasync_base. -
Added missing
cstdintheader todetail/cpu_info.hpp. -
Fixed
std::is_trivialdeprecation warnings. -
handshake_timeoutnow applies to closing handshakes during reads.
-
Conditionally defined
-
Improvements
-
Replaced
detail/work_guard.hppwithnet::executor_work_guard. - Fixed portability issues for building tests in MinGW.
-
Replaced
-
Documentation
- Removed moved sections from documentation.
- Removed superfluous log messages from tests.
-
Acknowledgements
- yliu1021
-
Fixes
-
Charconv:
-
Fixed a performance degradation with
from_charsfor integer types -
Fixed rounding and trailing decimal place bugs with
to_charsfor specified precisions with floating point types
-
Fixed a performance degradation with
-
Cobalt:
- Move assign fixed for generator & promise.
- Fixed internal exceptions
- Added IO library. Cobalt.io provides a large subset of asio as a compiled library.
-
Compat:
-
Added
move_only_function.hpp.
-
Added
-
ContainerHash:
-
Added the
hash_is_avalanchingtrait class.
-
Added the
-
Conversion:
-
Added an ability to use
polymorphic_downcastandpolymorphic_castin constexpr (requires C++20).
-
Added an ability to use
- Core:
-
Detail:
-
Operators generated by
BOOST_BITMASKnow use underlying type of the enum to implement bitwise operators. The operators are markednoexceptandconstexpr, when possible. -
The function
bitmask_setgenerated byBOOST_BITMASKis marked deprecated. In a future release,BOOST_BITMASKwill 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.
-
Operators generated by
-
DLL:
- Fixed compiling and exporting on Cygwin. Many thanks to Luohao Wang for the PR!
- Fixed building on FreeBSD. Thanks to ash for the bug report!
-
Added
BOOST_DLL_USE_STD_FSCMake option to match the preprocessor option. Thanks to Yury Bura for the PR!
-
Filesystem:
-
Corrected ASAN warnings about comparing pointers to potentially unrelated
objects in
path::append. (#335)
-
Corrected ASAN warnings about comparing pointers to potentially unrelated
objects in
-
Geometry:
- Major improvements
- Improvements
-
Breaking changes
- PR#1401 Remove deprecated headers
-
Solved issues
- #1221 Difference with rectilinear multipolygon with integer coordinates produces invalid polygon with disconnected interior
- #1295 Wrong result in intersection (result polygon is equal to the biggest of the input polygons)
- #1349 Difference of polygons giving wrong result
- #1382 Buffer operation creates self-intersection
- Various fixes of errors and warnings
-
Hash2:
-
Added Blake2 algorithm (
blake2s_256,blake2b_512). -
Added XXH3 algorithm (
xxh3_128).
-
Added Blake2 algorithm (
-
Iterator:
-
Fixed
filter_iteratorcopy/converting constructor, which could previously produce an invalid iterator. (#92) -
Removed usage of
is_trivialiniterator_facadeas 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) -
The proxy returned by
iterator_facade::operator[]now supports forwarding dereferencing operators to the referenced value. This allowsit[n]->foo()and(*it[n]).foo()expressions to compile. -
The proxy returned by
iterator_facade::operator[]now implementes perfect forwarding in its assignment operator.
-
Fixed
-
JSON:
- Revamped documentation.
- Optionals that are ranges are categorised as optionals.
- Described class support is enabled for types with bases.
-
Log:
-
Added support for
BOOST_LOG_WITHOUT_ASIOconfiguration macro, which can be used to remove the dependency on Boost.Asio and disable the related functionality. -
Use locale-independent formatting of the file counter in
text_file_backendwhen composing log file names. This fixes failures in the subsequent parsing of the file names infile_collector::scan_for_files. (PR#246) -
Added a new
wrap_filterutility that simplifies injecting user-defined function objects in filtering expressions. (#195)
-
Added support for
-
Math:
-
Add explicit C++14
<type_traits>andconstexprrequirement to builds - Collected fixes for GPU support on a variety of platforms
- Fix lower incomplete gamma function with x = 0
- Fix the external archive error in the jSO algorithm
- Fix numeric underflow in ibeta
- Fix inverse ibeta for large values of a and b
- Fix variadic functions to make them safe with C++26
-
Add explicit C++14
- MQTT5:
-
Multiprecision:
- Major update.
-
Adds a new backend type:
cpp_double_fp_backend - Fixes a namespace collision with Boost.Serialization
-
MySQL:
-
The
caching_sha2_passwordauthentication 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 withclient_errc::auth_plugin_requires_ssl(#313). -
Fixed a problem causing
client_errc::incomplete_messageto be returned during connection establishment when the target database does not exist and thecaching_sha2_passwordis used. The appropriate server-generated diagnostic is now returned. See issues #468 and #488. - The handshake algorithm is now more resilient to protocol violations (#469).
- Fixed a build failure with gcc-15 due to a missing include (PR#475). Thanks hhoffstaette for the PR.
- Added benchmarks against the official drivers.
-
Optimized
metadatarepresentation to be faster to construct and take less memory (#461).
-
The
-
PFR:
- Rewrite C++20 module following the new recommended Boost practice. See the docs for more info.
- Fixed C++26 compilation on modern clang compilers. Thanks to Valery Mironov for the report!
- Support types that use 'Arrays of Length Zero' compiler extension.
- Fixed typos. Thanks to Egor for highlighting the issues!
-
Return
std::array<std::string_view, 0>type forboost::pfr::names_as_array(empty_struct{})to allow compilation offor (std::string_view name : boost::pfr::names_as_array(empty_struct{})). Many thanks to sabudilovskiy for the bug report!
-
process:
-
Added
v1.hppto emulate v1process.hppinclude. - Fix to windows path escaping
- Fixed exit-code issue wehre terminate & async_wait lead to a loss of the exit-code value.
-
Added
-
Random:
-
Fix NAN being generated by
beta_distribution -
Improve the performance of
beta_distribution::operator()
-
Fix NAN being generated by
-
System:
- The stub compiled library has been removed; System has been header-only since release 1.69.
-
This may affect
CMakeLists.txtfiles containingfind_package(Boost COMPONENTS system ...). The easiest fix is to just removesystemfrom 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 usefind_package(Boost COMPONENTS ... OPTIONAL_COMPONENTS system).
-
TypeIndex:
- Initial support for C++20 Modules. See the docs for more info.
-
Unordered:
-
Deprecated
boost::unordered::hash_is_avalanchingis now a using-declaration ofboost::hash_is_avalanchingin<boost/container_hash/hash_is_avalanching.hpp>. Use that header directly instead.<boost/unordered/hash_traits.hpp>will be removed in the future. -
Added
pull(const_iterator)to open-addressing containers. This operation allows for efficient removal and retrieval of an element via move construction.
-
Deprecated
-
Histogram:
- Update CMake minimum version and Python detection in CMake
-
Improve documentation
- Add example on how to make an axis which accepts multiple value types that are not implicitly convertible
-
Show how to use
histogram::fillwith a multidimensional histogram efficiently when data per dimension is already available as contiguous data
- Don't use deprecated form of user-defined literal operator
- Add support for modular build structure with b2
- Fixed warnings in MSVC about narrowed types
- Added collector accumulator, which stores all values in a bin
- Internal changes to tests and classes in detail namespace
Updated Tools
-
Build:
- Includes release of B2 version 5.3.2.
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.
Contributors
Syed Fahad
Contributor
Janek Kozicki
Contributor
Bruno Iljazovic
Contributor
Kilian Kilger
Contributor
Abhay Kumar
Contributor
Adder
Contributor
Igor Zhukov
Contributor
Fahad Syed
Contributor
Pavel P
Contributor
Tomato-in
Contributor
Petter Reinholdtsen
Contributor
Luohao Wang
Contributor
high on tantor
Contributor
Jenkins nedprod CI
Contributor
Sergiu Deitsch
Contributor
Philipp Otterbein
Contributor
Danijel Zlaus
Contributor
RK-BFX
Contributor
Eugene Zelenko
Contributor
Davin
Contributor
Thomas Dickerson
Contributor
Wolfgang Bangerth
Contributor
Holger Hoffstätte
Contributor
Yuhan Liu
Contributor
Adem Budak
Contributor
DockedFerret800
Contributor
zjyhjqs
Contributor
Daniil
Contributor
Coia Prant
Contributor
Mathias Stearn
Contributor
Paweł Stankowski
Contributor
Jan Palus
Contributor
Korina Šimičević
Contributor
AnonymousPC
Contributor
