Version 1.68.0
Version 1.68.0
August 9th, 2018 03:46 GMT
Platform | File | SHA256 Hash |
---|---|---|
unix | boost_1_68_0.tar.bz2 | 7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7 |
boost_1_68_0.tar.gz | da3411ea45622579d419bfda66f45cd0f8c32a181d84adfa936f5688388995cf | |
windows | boost_1_68_0.7z | 59804d8fad02cf3b09485f3dbc0f9097c05fc1e0123f0c133b35a6c6f601109a |
boost_1_68_0.zip | 3b1db0b67079266c40b98329d85916e910bbadfc3db3e860c049056788d4d5cd |
Notes for Windows users
Boost.WinAPI has been updated to target Windows 7 by default, where possible. In previous releases Windows Vista was the default.
Boost.WinAPI is used internally as the Windows SDK abstraction layer in a number
of Boost libraries, including Boost.Beast, Boost.Chrono, Boost.DateTime, Boost.Dll,
Boost.Log, Boost.Process, Boost.Stacktrace, Boost.System, Boost.Thread and
Boost.UUID. To select the target Windows version define BOOST_USE_WINAPI_VERSION
to the numeric version similar to _WIN32_WINNT
while compiling Boost and user's code. For example:
b2 release define=BOOST_USE_WINAPI_VERSION=0x0501 stage
The list of Windows API version numbers can be seen on this page.
New Libraries
-
YAP: An expression template library for C++14 and later, from Zach Laine.
Updated Libraries
-
Beast:
-
This version fixes a missing executor work guard in all composed operations used in the implementation. Users who are experiencing crashes related to asynchronous completion handlers are encouraged to upgrade.
-
For a complete list of changes, please view the official Release Notes.
-
-
Fiber:
-
#170: buffered_channel::try_push has incorrect documentation
-
#172: WIN64: 'invalid conversion from 'HANDLE' to 'std::thread::native_handle_type' errors for builds using mingw-w64
-
#175: throw exception "Operation not permitted"
-
NUMA support moved to extra library (fiber-numa); enabled via property numa (numa=on)
-
-
Fusion:
-
Fixed a bug with C-style array (PR#177).
-
Fixed a
fusion::for_each
signature to take functor by value (#4427).-
This may break existing code with non-copyable (non-movable) functor, but the implementation wasn't correct for a long time; the documantation was correct from the first. So, please make sure your usage.
-
-
Fixed unintentional MPL placeholder substitution bug on
fusion::transform
(#5490). -
Moved description, how to conform Fusion sequence as MPL sequence, to mpl section (#4029).
-
Added notes regarding IO facility for adapted type (#6091).
-
Geometry:
-
Improvements
-
469 Horizontal grid shift (nadgrids) in SRS transformations (undocumented for now due to potential interface changes).
-
478 Box-Segment distance for spherical and geographic coordinate systems.
-
487 Missing combinations of geometries in distance for spherical and geographic cs
-
489 Additional direct geodesic problem formulas for internal use
-
-
-
GIL:
-
Added
-
The library now requires a C++11-compliant compiler.
-
New top-level all-in-one
include/boost/gil.hpp
header (PR#70). -
New Toolbox extension, reviewed and accepted into Boost.
-
-
Changed
-
IO extensions have been entirely rewritten as IO v2, reviewed and accepted into Boost.
-
Documentation has been reformatted and updated.
-
-
Removed
-
IO v1 extension has been replaced with IO v2.
-
-
-
Graph:
-
Conditionally replace deprecated/removed C++98
std::bind1st
bystd::bind
,std::auto_ptr
bystd::unique_ptr
, andstd::random_shuffle
bystd::shuffle
. (PR#89) -
Fix compiler error with release builds on VS2015 (PR#84)
-
Fix the Stanford GraphBase examples (PR#87)
-
Fix friend declarations for iterator_core_access (PR#103)
-
Add missing
<boost/iterator.hpp>
include (PR#104) -
Avoid an unused variable warning (PR#90)
-
-
Lexical Cast:
-
Fixes for clang-tidy warnings #12092
-
-
Math:
-
Support for arbitrary precision complex valued quadrature and hence contour integration
-
Improve performance of polynomial addition
-
Continue to improve numerical integration routines, and in particular add support for contour integrals.
-
Improve accuracy of erfc function's rational approximations.
-
-
Multi-index Containers:
-
Containers of moveable but non-copyable elements can now be serialized (ticket #13478). Thanks to Sébastien Paris for the report.
-
-
Multiprecision:
-
Support added for complex multiprecision numbers.
-
Changed conversion to unsigned integer types to be truncating to match standard defined behaviour.
-
Correct bug in MPFR string formatting.
-
Fix undefined behaviour in cpp_dec_float conversion from long long.
-
Add support for Eigen interoperability.
-
float128.hpp: Fix Intel on Windows build.
-
Fix type used in temporaries when expanding expression templates containing mixed expressions.
-
Fix infinite loop in gmp_float to fixed-point string conversion.
-
Update the expression templates to issue static_asserts with better error messages when you try and do something unsupported.
-
Fix bug in cpp_int where incrementing to zero doesn't set the sign correctly.
-
Remove erroneous use of std::move, and rely on NVRO instead.
-
Fix up support for changes to MPIR-3.0.
-
Fix various conversion errors in cpp_bin_float when the exponent type is a
long long
, or else we're converting to an integer that is wider than we are. -
Fix compatibility issue with GCC-8 caused by the introduction of
std::byte
.
-
-
Optional:
-
Added member function
map()
for transformingoptional<T>
intooptional<U>
using a function of typeT -> U
. -
Added member function
flat_map()
for transformingoptional<T>
intooptional<U>
using a function of typeT -> optonal<U>
.
-
Predef:
-
Add support for __ARM_ARCH macro. (from Tim Blechmann)
-
Add detection for PTX architecture. (from Benjamin Worpitz)
-
Add nvcc compiler detection. (from Benjamin Worpitz)
-
Add support for detecting CUDA. (from Benjamin Worpitz)
-
Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
-
-
Program Options:
-
Support for multiple long names for an option, thanks to Eyal Rozenberg (PR#53)
-
-
Signals:
-
Removal Notice: Boost.Signals will be removed in the next release. Boost.Signals was deprecated in version 1.54.0. Transition to Boost.Signals2 now to avoid disruption.
-
-
Spirit:
-
Spirit.X3:
-
Small list parser optimization (PR#368).
-
More fine grained sequence attribute check message (PR#371).
-
Removed redundant check in
skip_over
(PR#373). -
Workaround constexpr in noexcept VS2015 bug in entire
x3::variant
(PR#379). -
Fixed calc4b example compilation (PR#384).
-
Minor code improvements (PR#374).
-
-
-
Stacktrace:
-
Fixed compilation on Solaris and other platforms that do qualify address as const in
dladdr
function (github 54). -
Dropped dependency on Boost.LexicalCast.
-
-
Test:
-
Boost.test v3.8 see the Changes log for more details.
-
Breaking changes
-
The
master_test_suite_t
object is no more copyable
-
-
New feature:
-
Dataset test case can now use command line parameters
-
-
-
TypeIndex:
-
Dropped dependency on Boost.MPL.
-
-
Uuid:
-
Breaking change: sha1 detail namespace header redirection for backwards compatibility was removed (PR#69).
-
Added support for std::hash (PR#67).
-
Added support for move semantics on random generators (PR#74).
-
Properly handle EINTR when acquiring entropy (PR#74).
-
Use getrandom(2) instead of getentropy(3) on linux (PR#75).
-
Compilers Tested
Boost's primary test compilers are:
-
Linux:
-
Clang: 3.0, 4.0.1, 6.0.1
-
Clang, C++0x: 3.0
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
-
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1
-
Clang, C++17: 5.0.2, 6.0.1
-
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
-
GCC, C++0x: 4.4.7
-
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
-
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
-
GCC, C++17: 7.3.0, 8.0.1
-
Intel, C++14: 18.0
-
-
OS X:
-
Apple Clang: 9.0.0, 9.1.0
-
Apple Clang, C++11: 9.0.0, 9.1.0
-
Apple Clang, C++14: 9.0.0, 9.1.0
-
Apple Clang, C++17: 9.1.0
-
Apple Clang, C++1z: 9.0.0
-
-
Windows:
-
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
-
GCC, C++0x: 4.6.4
-
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
-
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
-
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
-
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
-
-
FreeBSD:
-
Clang: 4.0.0
-
Clang, C++11: 4.0.0
-
Clang, C++14: 4.0.0
-
Clang, C++1z: 4.0.0
-
Boost's additional test compilers include:
-
Linux:
-
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
-
Clang, C++0x: 3.0
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
-
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.2, 6.0.1, 7.0.0
-
Clang, C++17: 5.0.2, 6.0.1
-
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
-
GCC, C++0x: 4.4.7
-
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
-
GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
-
GCC, C++17: 7.3.0, 8.0.1
-
Intel, C++14: 18.0
-
-
OS X:
-
Apple Clang: 9.0.0, 9.1.0
-
Apple Clang, C++11: 9.0.0, 9.1.0
-
Apple Clang, C++14: 9.0.0, 9.1.0
-
Apple Clang, C++17: 9.1.0
-
Apple Clang, C++1z: 9.0.0
-
-
Windows:
-
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
-
GCC, C++0x: 4.6.4
-
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
-
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
-
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
-
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
-
-
FreeBSD:
-
Clang: 4.0.0
-
Clang, C++11: 4.0.0
-
Clang, C++14: 4.0.0
-
Clang, C++1z: 4.0.0
-
Acknowledgements
Daniel James, Vladimir Prus, and Marshall Clow managed this release.