Boost
Releases
arrow_drop_down
Prior Release (1.68.0)
August 1, 2018
Dependencies
There were 17 dependencies added (in 10 libraries) and 4 dependencies removed (in 4 libraries) this release.
Platform File SHA256 Hash
Unix boost_1_68_0.tar.bz2 7f613....6d8b7
boost_1_68_0.tar.gz da341....995cf
Windows boost_1_68_0.7z 59804....1109a
boost_1_68_0.zip 3b1db....4d5cd
Windows (Binary) boost_1_68_0-bin-msvc-all-32-64.7z 79b3c....8387d
boost_1_68_0-msvc-10.0-32.exe f5e93....fdcda
boost_1_68_0-msvc-10.0-64.exe d0e8a....c27e7
boost_1_68_0-msvc-11.0-32.exe 0f2da....b46c5
boost_1_68_0-msvc-11.0-64.exe db24d....01ac5
boost_1_68_0-msvc-12.0-32.exe 9dbf1....16cd9
boost_1_68_0-msvc-12.0-64.exe 7b50d....293ac
boost_1_68_0-msvc-14.0-32.exe 2473a....635f4
boost_1_68_0-msvc-14.0-64.exe f77df....7a82f
boost_1_68_0-msvc-14.1-32.exe dfce9....cba97
boost_1_68_0-msvc-14.1-64.exe e3011....cf259
boost_1_68_0-msvc-8.0-32.exe 4dc2b....72fa1
boost_1_68_0-msvc-8.0-64.exe 9c18d....cc36d
boost_1_68_0-msvc-9.0-32.exe 2bdd2....784af
boost_1_68_0-msvc-9.0-64.exe f6e0d....c4d60

Version 1.68.0

August 9th, 2018 03:46 GMT

Documentation

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.
  • Context:
    • #78: Linker error with context-impl=ucontext: multiple definition of boost::context::detail::current_rec
  • Coroutine2:
    • #14: crash while stack unwinding
    • #18: some guidance on why to use coroutine2
    • #20: failes to compile test in due to the error C2039
    • #22: undefined behaviour documentation
  • 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:
    • Added a workaround for ambiguous call of fusion::deque constructor on GCC 4.4/c++0x (PR#178, commit).
    • 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
    • Solved issues
      • 470 Assertion failure with short spherical and geographic segments.
      • 471 Invalid envelope of spherical polygon
      • 498 Unexpected results with expand() and make_inverse() for spherical and geographic CS
      • 504 Unused parameter warnings.
    • Bugfixes
      • 488 Handle non-true-references in closing_iterator and ever_circling_range_iterator
      • 495 VxWorks 7 cross-compilation issue.
  • GIL:
    • Added
    • Changed
    • Removed
      • IO v1 extension has been replaced with IO v2.
  • Graph:
    • Conditionally replace deprecated/removed C++98 std::bind1st by std::bind, std::auto_ptr by std::unique_ptr, and std::random_shuffle by std::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)
    • Fix some typos in documentation (PR#88, PR#98, PR#102)
    • Fix some issues in tests and examples (PR#85, PR#105)
  • Lexical Cast:
    • Fixes for clang-tidy warnings #12092
  • Log:
    • Improved support for VxWorks. (PR#39)
    • Save and restore ebx register on x86 PIE targets in the dump stream manipulator implementation.
  • 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.
    • multi_index_container's default constructor is no longer explicit (ticket #13518).
  • 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 has_value() for compatibility with std::optional (issue #52).
    • Added member function map() for transforming optional<T> into optional<U> using a function of type T -> U.
    • Added member function flat_map() for transforming optional<T> into optional<U> using a function of type T -> 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)
  • Python:
    • Bug fixes to correct autolink support (Windows) (#193)
  • Rational:
    • Fixed undefined behavior in normalize() (PR#19).
  • System:
    • Add constexpr to error_code and error_condition members under C++14 and above (PR#23).
  • 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).
      • Pass container attributes through sequence parser or unary ending down to a sequence parser (PR#370 #12085).
      • 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).
    • Spirit.Qi:
      • Fixed ADT support by permutation and sequence_or operator (PR#376).
      • Specialize iterator_source for random access (PR#383).
      • Removed redundant check in skip_over (PR#373).
    • Spirit.Karma:
      • Fixed UB in get_absolute_value function (PR#246).
      • Fixed use after scope bug if ADT getter returns by value (PR#375 #6126).
    • Spirit.Classic:
  • 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
    • Bug fixes and pull requests:
  • 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.

Contributors

John Maddock
John Maddock
Contributor
NAThompson
NAThompson
Contributor
Mateusz Łoskot
Mateusz Łoskot
Contributor
Christian Henning
Christian Henning
Contributor
James E. King III
James E. King III
Contributor
Adam Wulkiewicz
Adam Wulkiewicz
Contributor
Peter Dimov
Peter Dimov
Contributor
Vissarion Fisikopoulos
Vissarion Fisikopoulos
Contributor
Marshall Clow
Marshall Clow
Contributor
Vinnie Falco
Vinnie Falco
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Kohei Takahashi
Kohei Takahashi
Contributor
Stefan Seefeld
Stefan Seefeld
Contributor
K. Noel Belcourt
K. Noel Belcourt
Contributor
Daniel James
Daniel James
Contributor
Paul A. Bristow
Paul A. Bristow
Contributor
Raffi Enficiaud
Raffi Enficiaud
Contributor
Justin LaPolla
Contributor
Ion Gaztañaga
Ion Gaztañaga
Contributor
Nikita Kniazev
Nikita Kniazev
Contributor
Neil Groves
Neil Groves
Contributor
Oliver Kowalke
Oliver Kowalke
Contributor
Zach Laine
Zach Laine
Contributor
Nick
Nick
Contributor
Glen Fernandes
Glen Fernandes
Contributor
Jakub Szuppe
Jakub Szuppe
Contributor
jofaber
jofaber
Contributor
Alain Miniussi
Alain Miniussi
Contributor
Brian Kuhl
Brian Kuhl
Contributor
Alexander Zaitsev
Alexander Zaitsev
Contributor
Daniela Engert
Daniela Engert
Contributor
Dimitrij Mijoski
Dimitrij Mijoski
Contributor
Vicente J. Botet Escriba
Vicente J. Botet Escriba
Contributor
Antony Polukhin
Antony Polukhin
Contributor
Andrzej Krzemieński
Andrzej Krzemieński
Contributor
Tim Blechmann
Tim Blechmann
Contributor
Klemens Morgenstern
Klemens Morgenstern
Contributor
William Gallafent
William Gallafent
Contributor
Rene Rivera
Rene Rivera
Contributor
Robert Ramey
Robert Ramey
Contributor
Samuel Ainsworth
Samuel Ainsworth
Contributor
Frank Richter
Frank Richter
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Louis Dionne
Louis Dionne
Contributor
Lakshay Garg
Lakshay Garg
Contributor
Joaquin M. López Muñoz
Joaquin M. López Muñoz
Contributor
Mike Maximoff
Mike Maximoff
Contributor
Murray Cumming
Murray Cumming
Contributor
Eric Niebler
Eric Niebler
Contributor
Joel de Guzman
Joel de Guzman
Contributor
Edward Diener
Edward Diener
Contributor
Justinas V. Daugmaudis
Justinas V. Daugmaudis
Contributor
Alexei Khlebnikov
Alexei Khlebnikov
Contributor
Michel Morin
Michel Morin
Contributor
Jie
Jie
Contributor
Katrin Leinweber
Katrin Leinweber
Contributor
Barrett Adair
Barrett Adair
Contributor
Casey Carter
Casey Carter
Contributor
E Kawashima
E Kawashima
Contributor
Kristian Popov
Kristian Popov
Contributor
Phillip Palk
Phillip Palk
Contributor
Jakob Lykke Andersen
Jakob Lykke Andersen
Contributor
Josef Cibulka
Contributor
Mads Jensen
Mads Jensen
Contributor
Marcel Raad
Marcel Raad
Contributor
Alexander Lauser
Alexander Lauser
Contributor
Jason Rice
Jason Rice
Contributor
Frank Mori Hess
Frank Mori Hess
Contributor
Jan Beich
Jan Beich
Contributor
Benjamin Worpitz
Benjamin Worpitz
Contributor
Jeremy W. Murphy
Jeremy W. Murphy
Contributor
Alexander Matthes
Alexander Matthes
Contributor
Akira Takahashi
Akira Takahashi
Contributor
Jeff Hammond
Contributor
Peter Kolbus
Peter Kolbus
Contributor
Thomas Kent
Thomas Kent
Contributor
Steven Watanabe
Steven Watanabe
Contributor
sehe
sehe
Contributor
Egor Pugin
Egor Pugin
Contributor
martin-osborne
martin-osborne
Contributor
pradeep
pradeep
Contributor
Nathan Cook
Nathan Cook
Contributor
spreadsort
spreadsort
Contributor
Andreas Scherer
Andreas Scherer
Contributor
Emre Turkay
Emre Turkay
Contributor
Maël Valais
Maël Valais
Contributor
Jean-Philippe DUFRAIGNE
Jean-Philippe DUFRAIGNE
Contributor
Denis Davydov
Denis Davydov
Contributor
Beman Dawes
Beman Dawes
Contributor
Hartmut Kaiser
Hartmut Kaiser
Contributor
Damian Jarek
Damian Jarek
Contributor
Richard Powell
Contributor
Benjamin Buch
Benjamin Buch
Contributor
Marcel Metz
Marcel Metz
Contributor
Lubomir Bourdev
Contributor
Christian Andersen
Contributor
cos-public
cos-public
Contributor
Niklas Angare
Niklas Angare
Contributor
Jonathan Wakely
Jonathan Wakely
Contributor
Shoaib Meenai
Shoaib Meenai
Contributor
Kolya Matteo
Kolya Matteo
Contributor
mateuszlewko
mateuszlewko
Contributor
Pierre Zawadil
Pierre Zawadil
Contributor
Tobias Reh
Tobias Reh
Contributor
Jared Grubb
Jared Grubb
Contributor
Ola Nilsson
Ola Nilsson
Contributor
Henry Schreiner
Henry Schreiner
Contributor
Joe Loser
Joe Loser
Contributor
akumta
akumta
Contributor
Michael Munday
Michael Munday
Contributor
Matt Barr
Contributor
Gregor Jasny
Gregor Jasny
Contributor
Ahmed Charles
Ahmed Charles
Contributor
Bálint Cserni
Bálint Cserni
Contributor
Orgad Shaneh
Orgad Shaneh
Contributor
Daniel J. H
Daniel J. H
Contributor
Robin Eckert
Robin Eckert
Contributor
Ed Catmur
Ed Catmur
Contributor
nekko1119
nekko1119
Contributor
Joakim Tosteberg
Contributor
marcinz
marcinz
Contributor
mikael
mikael
Contributor
Nik Reiman
Nik Reiman
Contributor
David Lacey
David Lacey
Contributor
Romain Geissler
Romain Geissler
Contributor
Tom Hughes
Tom Hughes
Contributor
coderakki
coderakki
Contributor
Sergey Zubkov
Sergey Zubkov
Contributor
felixguendling
Contributor
Axel Huebl
Axel Huebl
Contributor
Jeremy Fincher
Jeremy Fincher
Contributor
Daisuke Sakurai
Daisuke Sakurai
Contributor
Julien Schueller
Julien Schueller
Contributor
The Gitter Badger
The Gitter Badger
Contributor
Henri Menke
Henri Menke
Contributor
Markus Gerstel
Markus Gerstel
Contributor
Arvid Norberg
Arvid Norberg
Contributor
Eyal Rozenberg
Contributor
compmaniak
compmaniak
Contributor
Kyle Lutz
Kyle Lutz
Contributor
rydotyosh
rydotyosh
Contributor
Tomasz Jonak
Tomasz Jonak
Contributor
Bryce Adelstein-Lelbach
Bryce Adelstein-Lelbach
Contributor
Christof Krüger
Christof Krüger
Contributor
Gaurav
Gaurav
Contributor
emfrias
emfrias
Contributor
Christopher Wecht
Contributor
Masahide Sakamaki
Masahide Sakamaki
Contributor
Tony Lewis
Tony Lewis
Contributor
Lorenz Breidenbach
Lorenz Breidenbach
Contributor
Daniel Arndt
Daniel Arndt
Contributor
mihai.pop
mihai.pop
Contributor
felix
felix
Contributor
Tim Wynants
Tim Wynants
Contributor
nk
nk
Contributor
Minmin Gong
Minmin Gong
Contributor
Arne B
Contributor
Saliya Hamparawa
Saliya Hamparawa
Contributor
hlynurf
hlynurf
Contributor
hammond
hammond
Contributor
Piotr Podusowski
Piotr Podusowski
Contributor
Justin Viiret
Justin Viiret
Contributor
Moritz Wanzenböck
Moritz Wanzenböck
Contributor
Dimitri John Ledkov
Dimitri John Ledkov
Contributor
Gogs
Contributor
Mateusz Krawiec
Mateusz Krawiec
Contributor