Boost
Releases
arrow_drop_down
Prior Release (1.65.0)
August 19, 2017
Dependencies
There were 15 dependencies added (in 11 libraries) and 2 dependencies removed (in 2 libraries) this release.
Platform File SHA256 Hash
Unix boost_1_65_0.tar.bz2 ea267....9902c
boost_1_65_0.tar.gz 8a142....f20aa
Windows boost_1_65_0.7z 4873d....448f5
boost_1_65_0.zip f3f5c....48592
Windows (Binary) boost_1_65_0-bin-msvc-all-32-64.7z 8807e....5cb36
boost_1_65_0-msvc-10.0-32.exe 8496c....19bfe
boost_1_65_0-msvc-10.0-64.exe 84b7b....aea09
boost_1_65_0-msvc-11.0-32.exe 1a135....33b25
boost_1_65_0-msvc-11.0-64.exe 16052....26076
boost_1_65_0-msvc-12.0-32.exe 4ade8....75ad7
boost_1_65_0-msvc-12.0-64.exe 3c4d1....048a5
boost_1_65_0-msvc-14.0-32.exe 7713b....d1117
boost_1_65_0-msvc-14.0-64.exe ab0a5....52c61
boost_1_65_0-msvc-14.1-32.exe 63632....b4a52
boost_1_65_0-msvc-14.1-64.exe 2b2ff....8eb17
boost_1_65_0-msvc-8.0-32.exe 04054....b2c6f
boost_1_65_0-msvc-8.0-64.exe d4cb1....aaa6f
boost_1_65_0-msvc-9.0-32.exe fd451....261c2
boost_1_65_0-msvc-9.0-64.exe 42183....a6ca2

Version 1.65.0

August 21st, 2017 20:50 GMT

Documentation

Third Party Downloads

Known Issues

These are patches from library authors which were found too late to be fixed in the release. Be careful as they have not been through the normal testing process.

Combined patch for fixes to issues: boost_1_65_0.patch. Use patch -p1 < boost_1_65_0.patch from the root of the boost repo to apply. Or you can apply the patches individually below.

New Libraries

  • PolyCollection:
    • Fast containers of polymorphic objects, from Joaquín M López Muñoz.
  • Stacktrace:
    • Gather, store, copy and print backtraces, from Antony Polukhin. Note: Library has issue with MinGW and may produce empty backtraces with that compiler.

Removed Libraries

  • TR1

Updated Libraries

  • Asio:
    • Changed to require g++ versions >= 4.7 to use standard atomics, to fix a linker error when using g++ 4.6 (#13121).
    • Enabled use of constexpr and variadic templates with recent MSVC versions.
    • Fixed a race condition in the Linux epoll backend, which may occur when a socket or descriptor is closed while another thread is blocked on epoll.
    • Eliminated use of deprecated auto_ptr.
    • Fixed misplaced use of asio_handler_is_continuation result in reactive async_accept implementation.
    • Changed to use poll.h rather than sys/poll.h on some modern POSIX platforms (#12419).
    • Fixed MSVC intellisense detection.
    • Disabled use of the __thread keyword extension for android/clang/x86 targets.
  • Context:
    • Improvements:
      • call/cc supports ucontext-API (swapcontext)
      • call/cc supports Windows-Fiber-API
      • call/cc supports on demand growing (segmented/split) stacks
    • Bugfixes:
      • #12719: context test cases and examples segmentation fault when built with mingw-w64 toolchain
      • #52: Failing to build callcc test with g++-4.9
    • important:
  • Config:
    • Added BOOST_NO_CXX11_POINTER_TRAITS, BOOST_NO_CXX17_FOLD_EXPRESSIONS, BOOST_NO_CXX17_INLINE_VARIABLES, BOOST_NO_CXX17_STRUCTURED_BINDINGS defect detection.
    • BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
  • Core:
    • Implemented pointer_traits for C++03 and higher, that implements P0653r0 (Glen Fernandes). This implementation is now used by Align, Circular Buffer, Fiber, Geometry, among other libraries.
    • Added BOOST_TEST_GT and BOOST_TEST_GE to Lightweight Test.
  • Coroutine2:
    • supports ucontext-API (swapcontext)
    • supports Windows-Fiber-API
    • #13064: different behavior coroutine and coroutine2
  • DLL:
    • Fix PE parsing on non Windows platforms.
  • Fiber:
    • Improvements:
      • hardware transactional memory (Intel TSX) supported
      • NUMA supported
      • ucontext-API (swapcontext) supported
      • Windows-Fiber-API supported
      • on demand growing stacks
    • Bugfixes:
      • #121: failing to build static lib with GCC 4.8 and C++11
      • #123: assertion failure in schedule_from_remote
      • #125: erratic crashes in testsuite
      • #126: incorrect std::memory_order value in compare_exchange_strong?
    • important:
  • Fusion:
    • MSVC 14.1 supports variadic containers, such as fusion::vector, fusion::deque, fusion::map, fusion::set, and fusion::tuple. (#12986)
  • Geometry:
    • Improvements:
      • Add correct() overload taking area strategy
      • Add is_convex() overload taking side strategy
      • Add missing relational operations (covered_by, crosses, equals, etc.) for MultiPoint/AnyGeometry
    • Solved issues:
      • 12410 Lack of support of geographic coordinate system in correct()
      • 13035 Wrong result of non-cartesian intersection strategies for segments near poles.
      • 13057 Wrong result of intersects() for linestrings caused by numerical issue in disjoint() for boxes.
    • Bugfixes:
      • Fix is_valid which could return false for multipolygons where an interior ring touches another interior ring
      • Fix is_valid which could return false for multipolygons where a polygon was located in an interior ring, all touching each other
      • Fix union which could produce invalid results (for some cases, this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
      • Fix intersection (idem), but some cases are still not yet valid
      • Fix difference (idem), but some cases are still not yet valid
      • Fix propagation of area strategy into the internals of various algorithms from intersection strategy
      • Fix uninitialized variable in relate and reference to temporary in overlay
      • Fix error in disjoint for geographic Segment/Box
      • Fix handling of non-cartesian geometries in various algorithms
  • Hash:
    • Support for char16_t, char32_t, u16string, u32string.
  • Log:
    • General changes:
      • Improved compatibility with Solaris.
    • See changelog for more details.
  • Phoenix:
    • Corrected some documentation. (PR#50)
    • phoenix::erase with associative container returns iterator in C++11 mode. (#7423)
    • std::set and std::multiset should be worked with predefined lazy functions. (PR#52)
    • Disable phoenix::random_shuffle in C++17. (PR#53)
    • Don't forward declare, include instead. (#11875)
  • Predef:
    • Fix Intel C/C++ version 9999 detection to be 12.1.0.
    • Addition of BOOST_PREDEF_WORKAROUND and BOOST_PREDEF_TESTED_AT macros for defect workarounds and detection.
    • Add ARM64 MSVC SIMD detection. (from Minmin Gong)
    • Add detection of iOS simulator vs device as a platform choice. (from Ruslan Baratov)
    • Fix MinGW incorrect header guard. (from Ruslan Baratov)
  • Program Options:
    • Support for storing values into boost::optional, thanks to Ed Catmur (#7495, PR#18)
    • Parsing of implicit options can now use the value from the next token. Since 1.59, unless the value of implicit option was specified in the same token as the option itself, the implicit value was used. That proved inconvenient, and now we again check the next token and use it as value if it's not an option itself. (#25)
  • Python:
    • eval(), exec(), and exec_statement() now allow char const * arguments, in addition to boost::python::str.
    • The boost::python::numeric API has been removed, as it is being obsoleted by boost::python::numpy.
    • Fix some build issues when using Python3 with MSVC.
  • Smart Pointers:
    • New class templateatomic_shared_ptr, that provides thread-safe atomic pointer operations over shared_ptr. (Peter Dimov)
    • New class template local_shared_ptr, where the reference count is updated with non-atomic operations. (Peter Dimov)
    • More optimizations in allocate_shared and make_shared for arrays. (Glen Fernandes)
    • Documentation has been completely rewritten in Asciidoc format.
  • Test:
    • Boost.test v3.6 see the Change log section for more details.
    • New feature:
      • C++17 compatibility (tested on VS2017), thanks to Daniela Engert
      • Direct comparison of C-arrays in BOOST_TEST
      • Better global fixtures mechanism, and spitting of responsibilities with BOOST_TEST_GLOBAL_FIXTURE for global fixtures and BOOST_TEST_GLOBAL_CONFIGURATION for global initialization (compile time configuration).
      • Improved support for fixtures (setup / teardown member function) which enables better teardown time checks
    • Breaking changes
      • Some API changes for the loggers
      • Deprecating BOOST_GLOBAL_FIXTURE in favor of BOOST_TEST_GLOBAL_FIXTURE and BOOST_TEST_GLOBAL_CONFIGURATION (see above)
    • Bug fixes
  • Thread:
  • TypeIndex:
    • Include <boost/functional/hash.hpp> if required, thanks to Ed Catmur #13009.
    • Use native hash_code() when possible on GCC-like compilers #13027.
    • Fix ctti_type_index for GCC 7 and later, thanks to Benjamin Buch PR16.
  • Typeof:
  • Unordered:
    • Use the same data structure for unordered_set and unordered_multiset, and forunordered_map and unordered_multimap. This is required for C++17, so that nodes can be merged and extracted between compatible containers.
    • Add deprecated attributes to long deprecated functions.
    • Improved use of allocator_traits construct and destroy on C++11 compilers, using piecewise pair construction when appropriate.
    • Fewer workarounds on newer Oracle compilers.
    • Avoid dereferencing pointers to uninitialized memory (PR #5).
  • Utility:
    • Improved compatibility of boost::next/boost::prior with SFINAE-unfriendly iterators. #10847, #13002.
  • Variant:
    • r-value overload for boost::get was added by Albert Sverdlov #13018.
    • Missing include fro <boost/variant/polymorphic_get.hpp> header was added by Adam Badura #13037.
    • boost::make_variant_over was fixed and now works with views and other Forward Sequences (thanks to Mikhail Maksimov for the fix) #8554, #10041, PR#35.

Compilers Tested

Boost's primary test compilers are:

  • Linux:
    • Clang: 3.0, 3.8.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
    • Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
    • Clang, C++1z: 4.0.0
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
    • GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
    • GCC, C++17: 7.1.0
    • GCC, C++1z: 6.3.0
    • Intel: 16.0, 17.0
    • Intel, C++11: 16.0, 17.0
    • Intel, C++14: 16.0
  • OS X:
    • Clang: 8.1.0
    • Clang, C++11: 8.1.0
    • Clang, C++14: 8.1.0
  • Windows:
    • GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
    • GCC, C++11: 4.6.4, 4.7.3, 4.8.1
    • GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
    • Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
  • Android:
    • Clang: 3.6, 3.7, 3.8
    • GCC: 4.9, 5.4
    • GCC, C++14: 6.2
  • FreeBSD:
    • Clang: 3.8.0
    • Clang, C++11: 3.8.0
    • Clang, C++14: 3.8.0
    • Clang, C++1z: 3.8.0
  • QNX:
    • QCC, C++11: 4.7.3
  • SunOS:
    • Oracle Solaris Studio: 12.5_next, 12.5
    • Oracle Solaris Studio, C++11: 12.5_next, 12.5

Boost's additional test compilers include:

  • Linux:
    • Clang: 3.0, 3.8.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
    • Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
    • Clang, C++1z: 4.0.0
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
    • GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
    • GCC, C++17: 7.1.0
    • GCC, C++1z: 6.3.0
    • Intel: 17.0
    • Intel, C++11: 16.0, 17.0
    • Intel, C++14: 16.0
  • OS X:
    • Clang: 8.1.0
    • Clang, C++11: 8.1.0
    • Clang, C++14: 8.1.0
    • Clang, C++1z: 8.1.0
  • Windows:
    • GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
    • GCC, C++11: 4.6.4, 4.7.3, 4.8.1
    • GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
    • Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
  • Android:
    • Clang: 3.6, 3.7, 3.8
    • GCC: 4.9, 5.4
    • GCC, C++14: 6.2
  • FreeBSD:
    • Clang: 3.8.0
    • Clang, C++11: 3.8.0
    • Clang, C++14: 3.8.0
    • Clang, C++1z: 3.8.0
  • SunOS:
    • Oracle Solaris Studio: 12.5_next, 12.5
    • Oracle Solaris Studio, C++11: 12.5_next, 12.5

Acknowledgements

Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus and Marshall Clow managed this release.

Contributors

John Maddock
John Maddock
Contributor
Peter Dimov
Peter Dimov
Contributor
Jeremy W. Murphy
Jeremy W. Murphy
Contributor
Oliver Kowalke
Oliver Kowalke
Contributor
Barend Gehrels
Barend Gehrels
Contributor
Daniel James
Daniel James
Contributor
NAThompson
NAThompson
Contributor
Glen Fernandes
Glen Fernandes
Contributor
Adam Wulkiewicz
Adam Wulkiewicz
Contributor
Andrey Semashev
Andrey Semashev
Contributor
Marshall Clow
Marshall Clow
Contributor
Ion Gaztañaga
Ion Gaztañaga
Contributor
Jakub Szuppe
Jakub Szuppe
Contributor
Edward Diener
Edward Diener
Contributor
Vicente J. Botet Escriba
Vicente J. Botet Escriba
Contributor
Joel de Guzman
Joel de Guzman
Contributor
Rene Rivera
Rene Rivera
Contributor
Raffi Enficiaud
Raffi Enficiaud
Contributor
Vladimir Batov
Vladimir Batov
Contributor
Antony Polukhin
Antony Polukhin
Contributor
Emil Dotchevski
Emil Dotchevski
Contributor
Kohei Takahashi
Kohei Takahashi
Contributor
Vissarion Fisikopoulos
Vissarion Fisikopoulos
Contributor
Daniela Engert
Daniela Engert
Contributor
Kyle Lutz
Kyle Lutz
Contributor
Mario Mulansky
Mario Mulansky
Contributor
mxc-commons
mxc-commons
Contributor
Nikita Kniazev
Nikita Kniazev
Contributor
Christopher Kohlhoff
Christopher Kohlhoff
Contributor
Robert Ramey
Robert Ramey
Contributor
Stefan Seefeld
Stefan Seefeld
Contributor
Vladimir Prus
Vladimir Prus
Contributor
Benjamin Roland Buch
Benjamin Roland Buch
Contributor
Nick
Nick
Contributor
Alexander Zaitsev
Alexander Zaitsev
Contributor
Alexander
Alexander
Contributor
Paul Groke
Paul Groke
Contributor
Peder Holt
Peder Holt
Contributor
Beman Dawes
Beman Dawes
Contributor
Hartmut Kaiser
Hartmut Kaiser
Contributor
Brian Minard
Brian Minard
Contributor
Mike Maximoff
Mike Maximoff
Contributor
Albert Sverdlov
Albert Sverdlov
Contributor
Frank Mori Hess
Frank Mori Hess
Contributor
Michael Krasnyk
Michael Krasnyk
Contributor
Eric Niebler
Eric Niebler
Contributor
Mateusz Łoskot
Mateusz Łoskot
Contributor
Romain Geissler
Romain Geissler
Contributor
Reimar Döffinger
Reimar Döffinger
Contributor
Ed Catmur
Ed Catmur
Contributor
Michel Morin
Michel Morin
Contributor
Martin Langer
Martin Langer
Contributor
Karsten Ahnert
Karsten Ahnert
Contributor
Jürgen Hunold
Jürgen Hunold
Contributor
Minmin Gong
Minmin Gong
Contributor
Jeff Trull
Jeff Trull
Contributor
Alain Miniussi
Alain Miniussi
Contributor
sehe
sehe
Contributor
Michael A. Jackson
Michael A. Jackson
Contributor
Dmitry Trifonov
Dmitry Trifonov
Contributor
Marcel Raad
Marcel Raad
Contributor
Stephen Kelly
Stephen Kelly
Contributor
Mikhail Strelnikov
Mikhail Strelnikov
Contributor
Raphael Isemann
Raphael Isemann
Contributor
Felipe Magno de Almeida
Felipe Magno de Almeida
Contributor
glacierx
glacierx
Contributor
Nick Vrvilo
Nick Vrvilo
Contributor
Torkel Bjørnson-Langen
Torkel Bjørnson-Langen
Contributor
Thomas Kent
Thomas Kent
Contributor
John Kirkham
John Kirkham
Contributor
Huan Zhang
Huan Zhang
Contributor
Benjamin Buch
Benjamin Buch
Contributor
Kirit Sælensminde
Kirit Sælensminde
Contributor
Joaquin M. López Muñoz
Joaquin M. López Muñoz
Contributor
Troy D. Straszheim
Troy D. Straszheim
Contributor
Thomas Heller
Thomas Heller
Contributor
Wei-Ming Yang
Wei-Ming Yang
Contributor
Tim Keitt
Tim Keitt
Contributor
Daniel Krügler
Daniel Krügler
Contributor
Shreyans Doshi
Shreyans Doshi
Contributor
Frédéric Bron
Frédéric Bron
Contributor
Takeshi Abe
Takeshi Abe
Contributor
Lauri Nurmi
Lauri Nurmi
Contributor
Jorge Lodos
Jorge Lodos
Contributor
Václav Slavík
Václav Slavík
Contributor
Rodger Combs
Contributor
Ken Barker
Ken Barker
Contributor
Gaurav
Gaurav
Contributor
Vinnie Falco
Vinnie Falco
Contributor
Adam Badura
Adam Badura
Contributor
Akira Takahashi
Akira Takahashi
Contributor
koosha94
koosha94
Contributor
Artyom Beilis
Artyom Beilis
Contributor
Alexander Nasonov
Alexander Nasonov
Contributor
akumta
akumta
Contributor
David Olsen
David Olsen
Contributor
slymz
slymz
Contributor
Marek Kurdej
Marek Kurdej
Contributor
Jonathan Wakely
Jonathan Wakely
Contributor
OGAWA KenIchi
OGAWA KenIchi
Contributor
Larry Joe Evans
Contributor
Arash
Arash
Contributor
Saliya Hamparawa
Saliya Hamparawa
Contributor
Jurko Gospodnetić
Jurko Gospodnetić
Contributor
Amir Shavit
Amir Shavit
Contributor
Ronan Keryell
Ronan Keryell
Contributor
Batchyx
Batchyx
Contributor
mike96
mike96
Contributor
Ruslan Baratov
Ruslan Baratov
Contributor
Tobias Schwinger
Tobias Schwinger
Contributor
Gary Furnish
Gary Furnish
Contributor
Vincent Hsu
Vincent Hsu
Contributor
Gregor Jasny
Gregor Jasny
Contributor
Ashish Sadanandan
Ashish Sadanandan
Contributor
Ravi0li
Ravi0li
Contributor
Louis Dionne
Louis Dionne
Contributor
Mat Berchtold
Mat Berchtold
Contributor
Bill Somerville
Contributor
Denis Davydov
Denis Davydov
Contributor
Deokhwan Kim
Deokhwan Kim
Contributor
Florian Behrens
Florian Behrens
Contributor
mog422
mog422
Contributor
Paul A. Bristow
Paul A. Bristow
Contributor
memem359
memem359
Contributor
dPavelDev
dPavelDev
Contributor
Mehdi Amini
Mehdi Amini
Contributor
Isaac Dupree
Isaac Dupree
Contributor
Ed Schouten
Ed Schouten
Contributor
James E. King III
James E. King III
Contributor
John Zwinck
John Zwinck
Contributor
Agustin Berge
Agustin Berge
Contributor
Bernhard M. Wiedemann
Bernhard M. Wiedemann
Contributor
Tobias Klauser
Tobias Klauser
Contributor
Mikhail Gusarov
Mikhail Gusarov
Contributor
K. Noel Belcourt
K. Noel Belcourt
Contributor