2
0
mirror of https://github.com/boostorg/website.git synced 2026-01-28 19:52:14 +00:00

Copy release details from 1.65.0 into 1.65.1

This commit is contained in:
Daniel James
2017-08-28 12:03:43 +01:00
parent af16faa06c
commit 9c28c28704
3 changed files with 2032 additions and 6 deletions

View File

@@ -13,7 +13,7 @@
[import ext.qbk]
[section Updated Libraries]
[section Fixes in 1.65.1]
[/ Example:
* [phrase library..[@/libs/interprocess/ Interprocess]:]
@@ -25,6 +25,222 @@
[endsect]
[section New Libraries in 1.65.0]
* [phrase library..[@/libs/poly_collection/ PolyCollection]:]
Fast containers of polymorphic objects, from
Joaqu'''í'''n M L'''ó'''pez Mu'''ñ'''oz.
* [phrase library..[@/libs/stacktrace/ Stacktrace]:]
Gather, store, copy and print backtraces, from Antony Polukhin.
* Note: Library has [@https://github.com/boostorg/stacktrace/issues/14 issue with MinGW] and
may produce empty backtraces with that compiler.
[endsect]
[section Updated Libraries in 1.65.0]
* [phrase library..[@/libs/asio/ Asio]:]
* Changed to require [^g++] versions >= 4.7 to use standard atomics, to fix
a linker error when using [^g++] 4.6 ([ticket 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 ([ticket 12419]).
* Fixed MSVC intellisense detection.
* Disabled use of the `__thread` keyword extension for android/clang/x86
targets.
* [phrase library..[@/libs/context/ Context]:]
* Improvements:
* call/cc supports ucontext-API (swapcontext)
* call/cc supports Windows-Fiber-API
* call/cc supports on demand growing (segmented/split) stacks
* Bugfixes:
* [ticket 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:
* required bug fix [@https://github.com/boostorg/context/commit/420554fe9ac01482990e8ae314f4f7ba81010c9a 420554fe9ac01482990e8ae314f4f7ba81010c9a] not included in 1.65
* [phrase library..[@/libs/config/ 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)
* [phrase library..[@/libs/core/ Core]:]
* Implemented `pointer_traits` for C++03 and higher, that implements
[@http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r0.html 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.
* [phrase library..[@/libs/coroutine2/ Coroutine2]:]
* supports ucontext-API (swapcontext)
* supports Windows-Fiber-API
* [ticket 13064]: different behavior coroutine and coroutine2
* [phrase library..[@/libs/dll/ DLL]:]
* Fix PE parsing on non Windows platforms.
* [phrase library..[@/libs/fiber/ 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:
* required bug fix [@https://github.com/boostorg/fiber/commit/63f1041f0e484e64dec437a0fa780ea2463abda2 63f1041f0e484e64dec437a0fa780ea2463abda2] not included in 1.65
* [phrase library..[@/libs/fusion/ Fusion]:]
* MSVC 14.1 supports variadic containers, such as `fusion::vector`, `fusion::deque`, `fusion::map`, `fusion::set`, and `fusion::tuple`. ([ticket 12986])
* [phrase library..[@/libs/geometry/ 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:
* [@https://svn.boost.org/trac/boost/ticket/12410 12410] Lack of support of geographic coordinate system in correct()
* [@https://svn.boost.org/trac/boost/ticket/13035 13035] Wrong result of non-cartesian intersection strategies for segments near poles.
* [@https://svn.boost.org/trac/boost/ticket/13057 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
* [phrase library..[@/libs/functional/hash/ Hash]:]
* Support for `char16_t`, `char32_t`, `u16string`, `u32string`.
* [phrase library..[@/libs/log/ Log]:]
* General changes:
* Improved compatibility with Solaris.
* See [@/libs/log/doc/html/log/changelog.html changelog] for more details.
* [phrase library..[@/libs/phoenix/ Phoenix]:]
* Corrected some documentation. ([@https://github.com/boostorg/phoenix/pull/50 PR#50])
* `phoenix::erase` with associative container returns iterator in C++11 mode. ([ticket 7423])
* `std::set` and `std::multiset` should be worked with predefined lazy functions. ([@https://github.com/boostorg/phoenix/pull/52 PR#52])
* Disable `phoenix::random_shuffle` in C++17. ([@https://github.com/boostorg/phoenix/pull/53 PR#53])
* Don't forward declare, include instead. ([ticket 11875])
* [phrase library..[@/libs/predef/ 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)
* [phrase library..[@/libs/program_options/ Program Options]:]
* Support for storing values into `boost::optional`, thanks to Ed Catmur
([@https://svn.boost.org/trac/boost/ticket/7495 #7495],
[@https://github.com/boostorg/program_options/pull/18 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.
([@https://github.com/boostorg/program_options/issues/25 #25])
* [phrase library..[@/libs/python/ 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.
* [phrase library..[@/libs/smart_ptr/ Smart Pointers]:]
* New class template`atomic_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.
* [phrase library..[@/libs/test/ Test]:]
* Boost.test v3.6 see the
[@/doc/libs/1_65_0/libs/test/doc/html/boost_test/change_log.html Change log]
section for more details.
* New feature:
* C++17 compatibility (tested on VS2017), thanks to [@https://github.com/DanielaE Daniela Engert]
* Direct comparison of C-arrays in `BOOST_TEST`
* Better global fixtures mechanism, and spitting of responsibilities with
[@/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/test_org_reference/test_org_boost_test_global_fixture.html `BOOST_TEST_GLOBAL_FIXTURE`] for global fixtures
and
[@/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/link_references/link_boost_test_global_configuration.html `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
* Trac tickets [ticket 5282], [ticket 5563], [ticket 11471], [ticket 11962], [ticket 12228]
* Trac tickets [ticket 12631], [ticket 13011]
* Pull request [@https://github.com/boostorg/test/pull/106 PR106]
* [phrase library..[@/libs/thread/ Thread]:]
* Important Regression on Windows:
* [@https://github.com/boostorg/thread/issues/130 #130] windows: Bug in boost::condition_variable on Windows
Please, merge these two patches
* [@https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657]
* [@https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d]
* Bug fixes
* [@http://svn.boost.org/trac/boost/ticket/6787 #6787] boost::thread::sleep() hangs if system time is rolled back
* [@http://svn.boost.org/trac/boost/ticket/12519 #12519] boost::thread::try_join_for does not return after timeout
* [@http://svn.boost.org/trac/boost/ticket/12874 #12874] future<> extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
* [@http://svn.boost.org/trac/boost/ticket/12888 #12888] Linking with boost thread does not work on mingw/gcc 4.4
* [@http://svn.boost.org/trac/boost/ticket/12958 #12958] sync_bounded_queue::wait_pull_front( lve ) might throw
* [@http://svn.boost.org/trac/boost/ticket/13077 #13077] Linking to static 64bit libboost_thread fails DLL initialization
* [@http://svn.boost.org/trac/boost/ticket/13155 #13155] log doesn't build on a system with pthreads
* [@https://github.com/boostorg/thread/issues/121 #121] on_tls_prepare is broken under VS2017
* [phrase library..[@/libs/type_index/ TypeIndex]:]
* Include <boost/functional/hash.hpp> if required, thanks to Ed Catmur [ticket 13009].
* Use native `hash_code()` when possible on GCC-like compilers [ticket 13027].
* Fix `ctti_type_index` for GCC 7 and later, thanks to Benjamin Buch [@https://github.com/boostorg/type_index/pull/16 PR16].
* [phrase library..[@/libs/unordered/ Unordered]:]
* Use the same data structure for `unordered_set` and `unordered_multiset`,
and for`unordered_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
([@https://github.com/boostorg/unordered/pull/5 PR #5]).
* [phrase library..[@/libs/utility/ Utility]:]
* Improved compatibility of `boost::next`/`boost::prior` with SFINAE-unfriendly iterators. [ticket 10847], [ticket 13002].
* [phrase library..[@/libs/variant/ Variant]:]
* r-value overload for `boost::get` was added by Albert Sverdlov [ticket 13018].
* Missing include fro `<boost/variant/polymorphic_get.hpp>` header was added by Adam Badura [ticket 13037].
* `boost::make_variant_over` was fixed and now works with views and other Forward Sequences (thanks to Mikhail Maksimov for the fix) [ticket 8554], [ticket 10041], [@https://github.com/boostorg/variant/pull/35 PR#35].
[endsect]
[section Compilers Tested]
Boost's primary test compilers are:

View File

@@ -2709,8 +2709,8 @@
"
"
"
" <div id="version_1_65_1.updated_libraries">
" <h3><span class="link">Updated Libraries</span></h3>
" <div id="version_1_65_1.fixes_in_1_65_1">
" <h3><span class="link">Fixes in 1.65.1</span></h3>
" <ul>
" <li>
" <div>
@@ -2719,6 +2719,911 @@
" </li>
" </ul>
" </div>
" <div id="version_1_65_1.new_libraries_in_1_65_0">
" <h3><span class="link">New Libraries in
" 1.65.0</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
" Fast
" containers of polymorphic objects, from Joaquín M López Muñoz.
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
" Gather, store,
" copy and print backtraces, from Antony Polukhin.
" <ul>
" <li>
" <div>
" Note: Library has <a href="https://github.com/boostorg/stacktrace/issues/14">issue
" with MinGW</a> and may produce empty backtraces with that compiler.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_65_1.updated_libraries_in_1_65_0">
" <h3><span class="link">Updated Libraries
" in 1.65.0</span></h3>
" <ul>
" <li>
" <div>
" <span class="library"><a href="/libs/asio/">Asio</a>:</span>
" <ul>
" <li>
" <div>
" Changed to require <tt>g++</tt> versions &gt;= 4.7 to use
" standard atomics, to fix a linker error when using <tt>g++</tt>
" 4.6 (<a href="https://svn.boost.org/trac/boost/ticket/13121">#13121</a>).
" </div>
" </li>
" <li>
" <div>
" Enabled use of <code><span class="keyword">constexpr</span></code>
" and variadic templates with recent MSVC versions.
" </div>
" </li>
" <li>
" <div>
" 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.
" </div>
" </li>
" <li>
" <div>
" Eliminated use of deprecated <code><span class="identifier">auto_ptr</span></code>.
" </div>
" </li>
" <li>
" <div>
" Fixed misplaced use of <code><span class="identifier">asio_handler_is_continuation</span></code>
" result in reactive <code><span class="identifier">async_accept</span></code>
" implementation.
" </div>
" </li>
" <li>
" <div>
" Changed to use <code><span class="identifier">poll</span><span class="special">.</span><span class="identifier">h</span></code>
" rather than <code><span class="identifier">sys</span><span class="special">/</span><span class="identifier">poll</span><span class="special">.</span><span class="identifier">h</span></code> on some modern POSIX platforms
" (<a href="https://svn.boost.org/trac/boost/ticket/12419">#12419</a>).
" </div>
" </li>
" <li>
" <div>
" Fixed MSVC intellisense detection.
" </div>
" </li>
" <li>
" <div>
" Disabled use of the <code><span class="identifier">__thread</span></code>
" keyword extension for android/clang/x86 targets.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/context/">Context</a>:</span>
" <ul>
" <li>
" <div>
" Improvements:
" <ul>
" <li>
" <div>
" call/cc supports ucontext-API (swapcontext)
" </div>
" </li>
" <li>
" <div>
" call/cc supports Windows-Fiber-API
" </div>
" </li>
" <li>
" <div>
" call/cc supports on demand growing (segmented/split) stacks
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bugfixes:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12719">#12719</a>: context test cases and examples segmentation fault
" when built with mingw-w64 toolchain
" </div>
" </li>
" <li>
" <div>
" #52: Failing to build callcc test with g++-4.9
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" important:
" <ul>
" <li>
" <div>
" required bug fix <a href="https://github.com/boostorg/context/commit/420554fe9ac01482990e8ae314f4f7ba81010c9a">420554fe9ac01482990e8ae314f4f7ba81010c9a</a>
" not included in 1.65
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/config/">Config</a>:</span>
" <ul>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_NO_CXX11_POINTER_TRAITS</span></code>,
" <code><span class="identifier">BOOST_NO_CXX17_FOLD_EXPRESSIONS</span></code>,
" <code><span class="identifier">BOOST_NO_CXX17_INLINE_VARIABLES</span></code>,
" <code><span class="identifier">BOOST_NO_CXX17_STRUCTURED_BINDINGS</span></code>
" defect detection.
" </div>
" </li>
" <li>
" <div>
" BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/core/">Core</a>:</span>
" <ul>
" <li>
" <div>
" Implemented <code><span class="identifier">pointer_traits</span></code>
" for C++03 and higher, that implements <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r0.html">P0653r0</a>
" (Glen Fernandes). This implementation is now used by Align, Circular
" Buffer, Fiber, Geometry, among other libraries.
" </div>
" </li>
" <li>
" <div>
" Added <code><span class="identifier">BOOST_TEST_GT</span></code>
" and <code><span class="identifier">BOOST_TEST_GE</span></code>
" to Lightweight Test.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
" <ul>
" <li>
" <div>
" supports ucontext-API (swapcontext)
" </div>
" </li>
" <li>
" <div>
" supports Windows-Fiber-API
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/13064">#13064</a>: different behavior coroutine and coroutine2
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/dll/">DLL</a>:</span>
" <ul>
" <li>
" <div>
" Fix PE parsing on non Windows platforms.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
" <ul>
" <li>
" <div>
" Improvements:
" <ul>
" <li>
" <div>
" hardware transactional memory (Intel TSX) supported
" </div>
" </li>
" <li>
" <div>
" NUMA supported
" </div>
" </li>
" <li>
" <div>
" ucontext-API (swapcontext) supported
" </div>
" </li>
" <li>
" <div>
" Windows-Fiber-API supported
" </div>
" </li>
" <li>
" <div>
" on demand growing stacks
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bugfixes:
" <ul>
" <li>
" <div>
" #121: failing to build static lib with GCC 4.8 and C++11
" </div>
" </li>
" <li>
" <div>
" #123: assertion failure in schedule_from_remote
" </div>
" </li>
" <li>
" <div>
" #125: erratic crashes in testsuite
" </div>
" </li>
" <li>
" <div>
" #126: incorrect std::memory_order value in compare_exchange_strong?
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" important:
" <ul>
" <li>
" <div>
" required bug fix <a href="https://github.com/boostorg/fiber/commit/63f1041f0e484e64dec437a0fa780ea2463abda2">63f1041f0e484e64dec437a0fa780ea2463abda2</a>
" not included in 1.65
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/fusion/">Fusion</a>:</span>
" <ul>
" <li>
" <div>
" MSVC 14.1 supports variadic containers, such as <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span></code>,
" <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">deque</span></code>, <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>,
" <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">set</span></code>, and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span></code>.
" (<a href="https://svn.boost.org/trac/boost/ticket/12986">#12986</a>)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/geometry/">Geometry</a>:</span>
" <ul>
" <li>
" <div>
" Improvements:
" <ul>
" <li>
" <div>
" Add correct() overload taking area strategy
" </div>
" </li>
" <li>
" <div>
" Add is_convex() overload taking side strategy
" </div>
" </li>
" <li>
" <div>
" Add missing relational operations (covered_by, crosses, equals,
" etc.) for MultiPoint/AnyGeometry
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Solved issues:
" <ul>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/12410">12410</a>
" Lack of support of geographic coordinate system in correct()
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/13035">13035</a>
" Wrong result of non-cartesian intersection strategies for segments
" near poles.
" </div>
" </li>
" <li>
" <div>
" <a href="https://svn.boost.org/trac/boost/ticket/13057">13057</a>
" Wrong result of intersects() for linestrings caused by numerical
" issue in disjoint() for boxes.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bugfixes:
" <ul>
" <li>
" <div>
" Fix is_valid which could return false for multipolygons where
" an interior ring touches another interior ring
" </div>
" </li>
" <li>
" <div>
" Fix is_valid which could return false for multipolygons where
" a polygon was located in an interior ring, all touching each
" other
" </div>
" </li>
" <li>
" <div>
" Fix union which could produce invalid results (for some cases,
" this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
" </div>
" </li>
" <li>
" <div>
" Fix intersection (idem), but some cases are still not yet valid
" </div>
" </li>
" <li>
" <div>
" Fix difference (idem), but some cases are still not yet valid
" </div>
" </li>
" <li>
" <div>
" Fix propagation of area strategy into the internals of various
" algorithms from intersection strategy
" </div>
" </li>
" <li>
" <div>
" Fix uninitialized variable in relate and reference to temporary
" in overlay
" </div>
" </li>
" <li>
" <div>
" Fix error in disjoint for geographic Segment/Box
" </div>
" </li>
" <li>
" <div>
" Fix handling of non-cartesian geometries in various algorithms
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/functional/hash/">Hash</a>:</span>
" <ul>
" <li>
" <div>
" Support for <code><span class="keyword">char16_t</span></code>,
" <code><span class="keyword">char32_t</span></code>, <code><span class="identifier">u16string</span></code>, <code><span class="identifier">u32string</span></code>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/log/">Log</a>:</span>
" <ul>
" <li>
" <div>
" General changes:
" <ul>
" <li>
" <div>
" Improved compatibility with Solaris.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" See <a href="/libs/log/doc/html/log/changelog.html">changelog</a>
" for more details.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/phoenix/">Phoenix</a>:</span>
" <ul>
" <li>
" <div>
" Corrected some documentation. (<a href="https://github.com/boostorg/phoenix/pull/50">PR#50</a>)
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">erase</span></code> with associative container
" returns iterator in C++11 mode. (<a href="https://svn.boost.org/trac/boost/ticket/7423">#7423</a>)
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">multiset</span></code>
" should be worked with predefined lazy functions. (<a href="https://github.com/boostorg/phoenix/pull/52">PR#52</a>)
" </div>
" </li>
" <li>
" <div>
" Disable <code><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">random_shuffle</span></code> in C++17. (<a href="https://github.com/boostorg/phoenix/pull/53">PR#53</a>)
" </div>
" </li>
" <li>
" <div>
" Don't forward declare, include instead. (<a href="https://svn.boost.org/trac/boost/ticket/11875">#11875</a>)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/predef/">Predef</a>:</span>
" <ul>
" <li>
" <div>
" Fix Intel C/C++ version 9999 detection to be 12.1.0.
" </div>
" </li>
" <li>
" <div>
" Addition of <code><span class="identifier">BOOST_PREDEF_WORKAROUND</span></code>
" and <code><span class="identifier">BOOST_PREDEF_TESTED_AT</span></code>
" macros for defect workarounds and detection.
" </div>
" </li>
" <li>
" <div>
" Add ARM64 MSVC SIMD detection. (from Minmin Gong)
" </div>
" </li>
" <li>
" <div>
" Add detection of iOS simulator vs device as a platform choice. (from
" Ruslan Baratov)
" </div>
" </li>
" <li>
" <div>
" Fix MinGW incorrect header guard. (from Ruslan Baratov)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/program_options/">Program Options</a>:</span>
" <ul>
" <li>
" <div>
" Support for storing values into <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>,
" thanks to Ed Catmur (<a href="https://svn.boost.org/trac/boost/ticket/7495">#7495</a>,
" <a href="https://github.com/boostorg/program_options/pull/18">PR#18</a>)
" </div>
" </li>
" <li>
" <div>
" 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. (<a href="https://github.com/boostorg/program_options/issues/25">#25</a>)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/python/">Python</a>:</span>
" <ul>
" <li>
" <div>
" <code><span class="identifier">eval</span><span class="special">()</span></code>,
" <code><span class="identifier">exec</span><span class="special">()</span></code>,
" and <code><span class="identifier">exec_statement</span><span class="special">()</span></code> now allow <code><span class="keyword">char</span>
" <span class="keyword">const</span> <span class="special">*</span></code>
" arguments, in addition to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">str</span></code>.
" </div>
" </li>
" <li>
" <div>
" The <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">numeric</span></code> API has been removed, as
" it is being obsoleted by <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">numpy</span></code>.
" </div>
" </li>
" <li>
" <div>
" Fix some build issues when using Python3 with MSVC.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/smart_ptr/">Smart Pointers</a>:</span>
" <ul>
" <li>
" <div>
" New class template<code><span class="identifier">atomic_shared_ptr</span></code>,
" that provides thread-safe atomic pointer operations over <code><span class="identifier">shared_ptr</span></code>. (Peter Dimov)
" </div>
" </li>
" <li>
" <div>
" New class template <code><span class="identifier">local_shared_ptr</span></code>,
" where the reference count is updated with non-atomic operations.
" (Peter Dimov)
" </div>
" </li>
" <li>
" <div>
" More optimizations in <code><span class="identifier">allocate_shared</span></code>
" and <code><span class="identifier">make_shared</span></code> for
" arrays. (Glen Fernandes)
" </div>
" </li>
" <li>
" <div>
" Documentation has been completely rewritten in Asciidoc format.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/test/">Test</a>:</span>
" <ul>
" <li>
" <div>
" Boost.test v3.6 see the <a href="/doc/libs/1_65_0/libs/test/doc/html/boost_test/change_log.html">Change
" log</a> section for more details.
" </div>
" </li>
" <li>
" <div>
" New feature:
" <ul>
" <li>
" <div>
" C++17 compatibility (tested on VS2017), thanks to <a href="https://github.com/DanielaE">Daniela
" Engert</a>
" </div>
" </li>
" <li>
" <div>
" Direct comparison of C-arrays in <code><span class="identifier">BOOST_TEST</span></code>
" </div>
" </li>
" <li>
" <div>
" Better global fixtures mechanism, and spitting of responsibilities
" with <a href="/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/test_org_reference/test_org_boost_test_global_fixture.html"><code><span class="identifier">BOOST_TEST_GLOBAL_FIXTURE</span></code></a>
" for global fixtures and <a href="/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/link_references/link_boost_test_global_configuration.html"><code><span class="identifier">BOOST_TEST_GLOBAL_CONFIGURATION</span></code></a>
" for global initialization (compile time configuration).
" </div>
" </li>
" <li>
" <div>
" Improved support for fixtures (<code><span class="identifier">setup</span></code>
" / <code><span class="identifier">teardown</span></code>
" member function) which enables better teardown time checks
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Breaking changes
" <ul>
" <li>
" <div>
" Some API changes for the loggers
" </div>
" </li>
" <li>
" <div>
" Deprecating <code><span class="identifier">BOOST_GLOBAL_FIXTURE</span></code>
" in favor of <code><span class="identifier">BOOST_TEST_GLOBAL_FIXTURE</span></code>
" and <code><span class="identifier">BOOST_TEST_GLOBAL_CONFIGURATION</span></code>
" (see above)
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bug fixes
" <ul>
" <li>
" <div>
" Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/5282">#5282</a>, <a href="https://svn.boost.org/trac/boost/ticket/5563">#5563</a>, <a href="https://svn.boost.org/trac/boost/ticket/11471">#11471</a>, <a href="https://svn.boost.org/trac/boost/ticket/11962">#11962</a>,
" <a href="https://svn.boost.org/trac/boost/ticket/12228">#12228</a>
" </div>
" </li>
" <li>
" <div>
" Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/12631">#12631</a>, <a href="https://svn.boost.org/trac/boost/ticket/13011">#13011</a>
" </div>
" </li>
" <li>
" <div>
" Pull request <a href="https://github.com/boostorg/test/pull/106">PR106</a>
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/thread/">Thread</a>:</span>
" <ul>
" <li>
" <div>
" Important Regression on Windows:
" <ul>
" <li>
" <div>
" <a href="https://github.com/boostorg/thread/issues/130">#130</a>
" windows: Bug in boost::condition_variable on Windows Please,
" merge these two patches
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657">https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657</a>
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d">https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d</a>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" Bug fixes
" <ul>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/6787">#6787</a>
" boost::thread::sleep() hangs if system time is rolled back
" </div>
" </li>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/12519">#12519</a>
" boost::thread::try_join_for does not return after timeout
" </div>
" </li>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/12874">#12874</a>
" future&lt;&gt; extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
" </div>
" </li>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/12888">#12888</a>
" Linking with boost thread does not work on mingw/gcc 4.4
" </div>
" </li>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/12958">#12958</a>
" sync_bounded_queue::wait_pull_front( lve ) might throw
" </div>
" </li>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/13077">#13077</a>
" Linking to static 64bit libboost_thread fails DLL initialization
" </div>
" </li>
" <li>
" <div>
" <a href="http://svn.boost.org/trac/boost/ticket/13155">#13155</a>
" log doesn't build on a system with pthreads
" </div>
" </li>
" <li>
" <div>
" <a href="https://github.com/boostorg/thread/issues/121">#121</a>
" on_tls_prepare is broken under VS2017
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/type_index/">TypeIndex</a>:</span>
" <ul>
" <li>
" <div>
" Include &lt;boost/functional/hash.hpp&gt; if required, thanks to
" Ed Catmur <a href="https://svn.boost.org/trac/boost/ticket/13009">#13009</a>.
" </div>
" </li>
" <li>
" <div>
" Use native <code><span class="identifier">hash_code</span><span class="special">()</span></code> when possible on GCC-like compilers
" <a href="https://svn.boost.org/trac/boost/ticket/13027">#13027</a>.
" </div>
" </li>
" <li>
" <div>
" Fix <code><span class="identifier">ctti_type_index</span></code>
" for GCC 7 and later, thanks to Benjamin Buch <a href="https://github.com/boostorg/type_index/pull/16">PR16</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
" <ul>
" <li>
" <div>
" Use the same data structure for <code><span class="identifier">unordered_set</span></code>
" and <code><span class="identifier">unordered_multiset</span></code>,
" and for<code><span class="identifier">unordered_map</span></code>
" and <code><span class="identifier">unordered_multimap</span></code>.
" This is required for C++17, so that nodes can be merged and extracted
" between compatible containers.
" </div>
" </li>
" <li>
" <div>
" Add deprecated attributes to long deprecated functions.
" </div>
" </li>
" <li>
" <div>
" Improved use of <code><span class="identifier">allocator_traits</span></code>
" <code><span class="identifier">construct</span></code> and <code><span class="identifier">destroy</span></code> on C++11 compilers, using
" piecewise pair construction when appropriate.
" </div>
" </li>
" <li>
" <div>
" Fewer workarounds on newer Oracle compilers.
" </div>
" </li>
" <li>
" <div>
" Avoid dereferencing pointers to uninitialized memory (<a href="https://github.com/boostorg/unordered/pull/5">PR
" #5</a>).
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/utility/">Utility</a>:</span>
" <ul>
" <li>
" <div>
" Improved compatibility of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">next</span></code>/<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">prior</span></code> with SFINAE-unfriendly iterators.
" <a href="https://svn.boost.org/trac/boost/ticket/10847">#10847</a>, <a href="https://svn.boost.org/trac/boost/ticket/13002">#13002</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" <li>
" <div>
" <span class="library"><a href="/libs/variant/">Variant</a>:</span>
" <ul>
" <li>
" <div>
" r-value overload for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get</span></code>
" was added by Albert Sverdlov <a href="https://svn.boost.org/trac/boost/ticket/13018">#13018</a>.
" </div>
" </li>
" <li>
" <div>
" Missing include fro <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">variant</span><span class="special">/</span><span class="identifier">polymorphic_get</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
" header was added by Adam Badura <a href="https://svn.boost.org/trac/boost/ticket/13037">#13037</a>.
" </div>
" </li>
" <li>
" <div>
" <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_variant_over</span></code> was fixed and
" now works with views and other Forward Sequences (thanks to Mikhail
" Maksimov for the fix) <a href="https://svn.boost.org/trac/boost/ticket/8554">#8554</a>, <a href="https://svn.boost.org/trac/boost/ticket/10041">#10041</a>, <a href="https://github.com/boostorg/variant/pull/35">PR#35</a>.
" </div>
" </li>
" </ul>
" </div>
" </li>
" </ul>
" </div>
" <div id="version_1_65_1.compilers_tested">
" <h3><span class="link">Compilers Tested</span></h3>
" <p>
@@ -2750,7 +3655,7 @@
" </div>
"
-hash
"348b3c6cc71cb7f4e43d303c063b3fd08c916e60bf2484174addef1c80032f3e
"3c631a8b1ff685d07779e831efd4caad5bbd3e8e16c53abe0a434ce90cf09a60
-id
"version_1_65_1
-notice_url

View File

@@ -39,8 +39,8 @@
<div class="description">
<div id="version_1_65_1.updated_libraries">
<h3><span class="link">Updated Libraries</span></h3>
<div id="version_1_65_1.fixes_in_1_65_1">
<h3><span class="link">Fixes in 1.65.1</span></h3>
<ul>
<li>
<div>
@@ -49,6 +49,911 @@
</li>
</ul>
</div>
<div id="version_1_65_1.new_libraries_in_1_65_0">
<h3><span class="link">New Libraries in
1.65.0</span></h3>
<ul>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/poly_collection/">PolyCollection</a>:</span>
Fast
containers of polymorphic objects, from Joaquín M López Muñoz.
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/stacktrace/">Stacktrace</a>:</span>
Gather, store,
copy and print backtraces, from Antony Polukhin.
<ul>
<li>
<div>
Note: Library has <a href="https://github.com/boostorg/stacktrace/issues/14">issue
with MinGW</a> and may produce empty backtraces with that compiler.
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="version_1_65_1.updated_libraries_in_1_65_0">
<h3><span class="link">Updated Libraries
in 1.65.0</span></h3>
<ul>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/asio/">Asio</a>:</span>
<ul>
<li>
<div>
Changed to require <tt>g++</tt> versions &gt;= 4.7 to use
standard atomics, to fix a linker error when using <tt>g++</tt>
4.6 (<a href="https://svn.boost.org/trac/boost/ticket/13121">#13121</a>).
</div>
</li>
<li>
<div>
Enabled use of <code><span class="keyword">constexpr</span></code>
and variadic templates with recent MSVC versions.
</div>
</li>
<li>
<div>
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.
</div>
</li>
<li>
<div>
Eliminated use of deprecated <code><span class="identifier">auto_ptr</span></code>.
</div>
</li>
<li>
<div>
Fixed misplaced use of <code><span class="identifier">asio_handler_is_continuation</span></code>
result in reactive <code><span class="identifier">async_accept</span></code>
implementation.
</div>
</li>
<li>
<div>
Changed to use <code><span class="identifier">poll</span><span class="special">.</span><span class="identifier">h</span></code>
rather than <code><span class="identifier">sys</span><span class="special">/</span><span class="identifier">poll</span><span class="special">.</span><span class="identifier">h</span></code> on some modern POSIX platforms
(<a href="https://svn.boost.org/trac/boost/ticket/12419">#12419</a>).
</div>
</li>
<li>
<div>
Fixed MSVC intellisense detection.
</div>
</li>
<li>
<div>
Disabled use of the <code><span class="identifier">__thread</span></code>
keyword extension for android/clang/x86 targets.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/context/">Context</a>:</span>
<ul>
<li>
<div>
Improvements:
<ul>
<li>
<div>
call/cc supports ucontext-API (swapcontext)
</div>
</li>
<li>
<div>
call/cc supports Windows-Fiber-API
</div>
</li>
<li>
<div>
call/cc supports on demand growing (segmented/split) stacks
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Bugfixes:
<ul>
<li>
<div>
<a href="https://svn.boost.org/trac/boost/ticket/12719">#12719</a>: context test cases and examples segmentation fault
when built with mingw-w64 toolchain
</div>
</li>
<li>
<div>
#52: Failing to build callcc test with g++-4.9
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
important:
<ul>
<li>
<div>
required bug fix <a href="https://github.com/boostorg/context/commit/420554fe9ac01482990e8ae314f4f7ba81010c9a">420554fe9ac01482990e8ae314f4f7ba81010c9a</a>
not included in 1.65
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/config/">Config</a>:</span>
<ul>
<li>
<div>
Added <code><span class="identifier">BOOST_NO_CXX11_POINTER_TRAITS</span></code>,
<code><span class="identifier">BOOST_NO_CXX17_FOLD_EXPRESSIONS</span></code>,
<code><span class="identifier">BOOST_NO_CXX17_INLINE_VARIABLES</span></code>,
<code><span class="identifier">BOOST_NO_CXX17_STRUCTURED_BINDINGS</span></code>
defect detection.
</div>
</li>
<li>
<div>
BOOST_FALLTHROUGH support for GCC 7 and above. (Glen Fernandes)
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/core/">Core</a>:</span>
<ul>
<li>
<div>
Implemented <code><span class="identifier">pointer_traits</span></code>
for C++03 and higher, that implements <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r0.html">P0653r0</a>
(Glen Fernandes). This implementation is now used by Align, Circular
Buffer, Fiber, Geometry, among other libraries.
</div>
</li>
<li>
<div>
Added <code><span class="identifier">BOOST_TEST_GT</span></code>
and <code><span class="identifier">BOOST_TEST_GE</span></code>
to Lightweight Test.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/coroutine2/">Coroutine2</a>:</span>
<ul>
<li>
<div>
supports ucontext-API (swapcontext)
</div>
</li>
<li>
<div>
supports Windows-Fiber-API
</div>
</li>
<li>
<div>
<a href="https://svn.boost.org/trac/boost/ticket/13064">#13064</a>: different behavior coroutine and coroutine2
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/dll/">DLL</a>:</span>
<ul>
<li>
<div>
Fix PE parsing on non Windows platforms.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/fiber/">Fiber</a>:</span>
<ul>
<li>
<div>
Improvements:
<ul>
<li>
<div>
hardware transactional memory (Intel TSX) supported
</div>
</li>
<li>
<div>
NUMA supported
</div>
</li>
<li>
<div>
ucontext-API (swapcontext) supported
</div>
</li>
<li>
<div>
Windows-Fiber-API supported
</div>
</li>
<li>
<div>
on demand growing stacks
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Bugfixes:
<ul>
<li>
<div>
#121: failing to build static lib with GCC 4.8 and C++11
</div>
</li>
<li>
<div>
#123: assertion failure in schedule_from_remote
</div>
</li>
<li>
<div>
#125: erratic crashes in testsuite
</div>
</li>
<li>
<div>
#126: incorrect std::memory_order value in compare_exchange_strong?
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
important:
<ul>
<li>
<div>
required bug fix <a href="https://github.com/boostorg/fiber/commit/63f1041f0e484e64dec437a0fa780ea2463abda2">63f1041f0e484e64dec437a0fa780ea2463abda2</a>
not included in 1.65
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/fusion/">Fusion</a>:</span>
<ul>
<li>
<div>
MSVC 14.1 supports variadic containers, such as <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span></code>,
<code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">deque</span></code>, <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>,
<code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">set</span></code>, and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span></code>.
(<a href="https://svn.boost.org/trac/boost/ticket/12986">#12986</a>)
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/geometry/">Geometry</a>:</span>
<ul>
<li>
<div>
Improvements:
<ul>
<li>
<div>
Add correct() overload taking area strategy
</div>
</li>
<li>
<div>
Add is_convex() overload taking side strategy
</div>
</li>
<li>
<div>
Add missing relational operations (covered_by, crosses, equals,
etc.) for MultiPoint/AnyGeometry
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Solved issues:
<ul>
<li>
<div>
<a href="https://svn.boost.org/trac/boost/ticket/12410">12410</a>
Lack of support of geographic coordinate system in correct()
</div>
</li>
<li>
<div>
<a href="https://svn.boost.org/trac/boost/ticket/13035">13035</a>
Wrong result of non-cartesian intersection strategies for segments
near poles.
</div>
</li>
<li>
<div>
<a href="https://svn.boost.org/trac/boost/ticket/13057">13057</a>
Wrong result of intersects() for linestrings caused by numerical
issue in disjoint() for boxes.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Bugfixes:
<ul>
<li>
<div>
Fix is_valid which could return false for multipolygons where
an interior ring touches another interior ring
</div>
</li>
<li>
<div>
Fix is_valid which could return false for multipolygons where
a polygon was located in an interior ring, all touching each
other
</div>
</li>
<li>
<div>
Fix union which could produce invalid results (for some cases,
this needs to define BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
</div>
</li>
<li>
<div>
Fix intersection (idem), but some cases are still not yet valid
</div>
</li>
<li>
<div>
Fix difference (idem), but some cases are still not yet valid
</div>
</li>
<li>
<div>
Fix propagation of area strategy into the internals of various
algorithms from intersection strategy
</div>
</li>
<li>
<div>
Fix uninitialized variable in relate and reference to temporary
in overlay
</div>
</li>
<li>
<div>
Fix error in disjoint for geographic Segment/Box
</div>
</li>
<li>
<div>
Fix handling of non-cartesian geometries in various algorithms
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/functional/hash/">Hash</a>:</span>
<ul>
<li>
<div>
Support for <code><span class="keyword">char16_t</span></code>,
<code><span class="keyword">char32_t</span></code>, <code><span class="identifier">u16string</span></code>, <code><span class="identifier">u32string</span></code>.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/log/">Log</a>:</span>
<ul>
<li>
<div>
General changes:
<ul>
<li>
<div>
Improved compatibility with Solaris.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
See <a href="/doc/libs/master/libs/log/doc/html/log/changelog.html">changelog</a>
for more details.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/phoenix/">Phoenix</a>:</span>
<ul>
<li>
<div>
Corrected some documentation. (<a href="https://github.com/boostorg/phoenix/pull/50">PR#50</a>)
</div>
</li>
<li>
<div>
<code><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">erase</span></code> with associative container
returns iterator in C++11 mode. (<a href="https://svn.boost.org/trac/boost/ticket/7423">#7423</a>)
</div>
</li>
<li>
<div>
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">set</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">multiset</span></code>
should be worked with predefined lazy functions. (<a href="https://github.com/boostorg/phoenix/pull/52">PR#52</a>)
</div>
</li>
<li>
<div>
Disable <code><span class="identifier">phoenix</span><span class="special">::</span><span class="identifier">random_shuffle</span></code> in C++17. (<a href="https://github.com/boostorg/phoenix/pull/53">PR#53</a>)
</div>
</li>
<li>
<div>
Don't forward declare, include instead. (<a href="https://svn.boost.org/trac/boost/ticket/11875">#11875</a>)
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/predef/">Predef</a>:</span>
<ul>
<li>
<div>
Fix Intel C/C++ version 9999 detection to be 12.1.0.
</div>
</li>
<li>
<div>
Addition of <code><span class="identifier">BOOST_PREDEF_WORKAROUND</span></code>
and <code><span class="identifier">BOOST_PREDEF_TESTED_AT</span></code>
macros for defect workarounds and detection.
</div>
</li>
<li>
<div>
Add ARM64 MSVC SIMD detection. (from Minmin Gong)
</div>
</li>
<li>
<div>
Add detection of iOS simulator vs device as a platform choice. (from
Ruslan Baratov)
</div>
</li>
<li>
<div>
Fix MinGW incorrect header guard. (from Ruslan Baratov)
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/program_options/">Program Options</a>:</span>
<ul>
<li>
<div>
Support for storing values into <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>,
thanks to Ed Catmur (<a href="https://svn.boost.org/trac/boost/ticket/7495">#7495</a>,
<a href="https://github.com/boostorg/program_options/pull/18">PR#18</a>)
</div>
</li>
<li>
<div>
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. (<a href="https://github.com/boostorg/program_options/issues/25">#25</a>)
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/python/">Python</a>:</span>
<ul>
<li>
<div>
<code><span class="identifier">eval</span><span class="special">()</span></code>,
<code><span class="identifier">exec</span><span class="special">()</span></code>,
and <code><span class="identifier">exec_statement</span><span class="special">()</span></code> now allow <code><span class="keyword">char</span>
<span class="keyword">const</span> <span class="special">*</span></code>
arguments, in addition to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">str</span></code>.
</div>
</li>
<li>
<div>
The <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">numeric</span></code> API has been removed, as
it is being obsoleted by <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">python</span><span class="special">::</span><span class="identifier">numpy</span></code>.
</div>
</li>
<li>
<div>
Fix some build issues when using Python3 with MSVC.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/smart_ptr/">Smart Pointers</a>:</span>
<ul>
<li>
<div>
New class template<code><span class="identifier">atomic_shared_ptr</span></code>,
that provides thread-safe atomic pointer operations over <code><span class="identifier">shared_ptr</span></code>. (Peter Dimov)
</div>
</li>
<li>
<div>
New class template <code><span class="identifier">local_shared_ptr</span></code>,
where the reference count is updated with non-atomic operations.
(Peter Dimov)
</div>
</li>
<li>
<div>
More optimizations in <code><span class="identifier">allocate_shared</span></code>
and <code><span class="identifier">make_shared</span></code> for
arrays. (Glen Fernandes)
</div>
</li>
<li>
<div>
Documentation has been completely rewritten in Asciidoc format.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/test/">Test</a>:</span>
<ul>
<li>
<div>
Boost.test v3.6 see the <a href="/doc/libs/1_65_0/libs/test/doc/html/boost_test/change_log.html">Change
log</a> section for more details.
</div>
</li>
<li>
<div>
New feature:
<ul>
<li>
<div>
C++17 compatibility (tested on VS2017), thanks to <a href="https://github.com/DanielaE">Daniela
Engert</a>
</div>
</li>
<li>
<div>
Direct comparison of C-arrays in <code><span class="identifier">BOOST_TEST</span></code>
</div>
</li>
<li>
<div>
Better global fixtures mechanism, and spitting of responsibilities
with <a href="/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/test_org_reference/test_org_boost_test_global_fixture.html"><code><span class="identifier">BOOST_TEST_GLOBAL_FIXTURE</span></code></a>
for global fixtures and <a href="/doc/libs/1_65_0/libs/test/doc/html/boost_test/utf_reference/link_references/link_boost_test_global_configuration.html"><code><span class="identifier">BOOST_TEST_GLOBAL_CONFIGURATION</span></code></a>
for global initialization (compile time configuration).
</div>
</li>
<li>
<div>
Improved support for fixtures (<code><span class="identifier">setup</span></code>
/ <code><span class="identifier">teardown</span></code>
member function) which enables better teardown time checks
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Breaking changes
<ul>
<li>
<div>
Some API changes for the loggers
</div>
</li>
<li>
<div>
Deprecating <code><span class="identifier">BOOST_GLOBAL_FIXTURE</span></code>
in favor of <code><span class="identifier">BOOST_TEST_GLOBAL_FIXTURE</span></code>
and <code><span class="identifier">BOOST_TEST_GLOBAL_CONFIGURATION</span></code>
(see above)
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Bug fixes
<ul>
<li>
<div>
Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/5282">#5282</a>, <a href="https://svn.boost.org/trac/boost/ticket/5563">#5563</a>, <a href="https://svn.boost.org/trac/boost/ticket/11471">#11471</a>, <a href="https://svn.boost.org/trac/boost/ticket/11962">#11962</a>,
<a href="https://svn.boost.org/trac/boost/ticket/12228">#12228</a>
</div>
</li>
<li>
<div>
Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/12631">#12631</a>, <a href="https://svn.boost.org/trac/boost/ticket/13011">#13011</a>
</div>
</li>
<li>
<div>
Pull request <a href="https://github.com/boostorg/test/pull/106">PR106</a>
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/thread/">Thread</a>:</span>
<ul>
<li>
<div>
Important Regression on Windows:
<ul>
<li>
<div>
<a href="https://github.com/boostorg/thread/issues/130">#130</a>
windows: Bug in boost::condition_variable on Windows Please,
merge these two patches
</div>
</li>
<li>
<div>
<a href="https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657">https://github.com/boostorg/thread/commit/fdc0cbcd8ce8f34a19c7cdaf6f1fa679f0a49657</a>
</div>
</li>
<li>
<div>
<a href="https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d">https://github.com/boostorg/thread/commit/395e3d786bc1dce9c60eb84da85f5845a2c1fb3d</a>
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
Bug fixes
<ul>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/6787">#6787</a>
boost::thread::sleep() hangs if system time is rolled back
</div>
</li>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/12519">#12519</a>
boost::thread::try_join_for does not return after timeout
</div>
</li>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/12874">#12874</a>
future&lt;&gt; extension constructor must be under BOOST_THREAD_PROVIDES_FUTURE_UNWRAP
</div>
</li>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/12888">#12888</a>
Linking with boost thread does not work on mingw/gcc 4.4
</div>
</li>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/12958">#12958</a>
sync_bounded_queue::wait_pull_front( lve ) might throw
</div>
</li>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/13077">#13077</a>
Linking to static 64bit libboost_thread fails DLL initialization
</div>
</li>
<li>
<div>
<a href="http://svn.boost.org/trac/boost/ticket/13155">#13155</a>
log doesn't build on a system with pthreads
</div>
</li>
<li>
<div>
<a href="https://github.com/boostorg/thread/issues/121">#121</a>
on_tls_prepare is broken under VS2017
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/type_index/">TypeIndex</a>:</span>
<ul>
<li>
<div>
Include &lt;boost/functional/hash.hpp&gt; if required, thanks to
Ed Catmur <a href="https://svn.boost.org/trac/boost/ticket/13009">#13009</a>.
</div>
</li>
<li>
<div>
Use native <code><span class="identifier">hash_code</span><span class="special">()</span></code> when possible on GCC-like compilers
<a href="https://svn.boost.org/trac/boost/ticket/13027">#13027</a>.
</div>
</li>
<li>
<div>
Fix <code><span class="identifier">ctti_type_index</span></code>
for GCC 7 and later, thanks to Benjamin Buch <a href="https://github.com/boostorg/type_index/pull/16">PR16</a>.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/unordered/">Unordered</a>:</span>
<ul>
<li>
<div>
Use the same data structure for <code><span class="identifier">unordered_set</span></code>
and <code><span class="identifier">unordered_multiset</span></code>,
and for<code><span class="identifier">unordered_map</span></code>
and <code><span class="identifier">unordered_multimap</span></code>.
This is required for C++17, so that nodes can be merged and extracted
between compatible containers.
</div>
</li>
<li>
<div>
Add deprecated attributes to long deprecated functions.
</div>
</li>
<li>
<div>
Improved use of <code><span class="identifier">allocator_traits</span></code>
<code><span class="identifier">construct</span></code> and <code><span class="identifier">destroy</span></code> on C++11 compilers, using
piecewise pair construction when appropriate.
</div>
</li>
<li>
<div>
Fewer workarounds on newer Oracle compilers.
</div>
</li>
<li>
<div>
Avoid dereferencing pointers to uninitialized memory (<a href="https://github.com/boostorg/unordered/pull/5">PR
#5</a>).
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/utility/">Utility</a>:</span>
<ul>
<li>
<div>
Improved compatibility of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">next</span></code>/<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">prior</span></code> with SFINAE-unfriendly iterators.
<a href="https://svn.boost.org/trac/boost/ticket/10847">#10847</a>, <a href="https://svn.boost.org/trac/boost/ticket/13002">#13002</a>.
</div>
</li>
</ul>
</div>
</li>
<li>
<div>
<span class="library"><a href="/doc/libs/master/libs/variant/">Variant</a>:</span>
<ul>
<li>
<div>
r-value overload for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">get</span></code>
was added by Albert Sverdlov <a href="https://svn.boost.org/trac/boost/ticket/13018">#13018</a>.
</div>
</li>
<li>
<div>
Missing include fro <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">variant</span><span class="special">/</span><span class="identifier">polymorphic_get</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
header was added by Adam Badura <a href="https://svn.boost.org/trac/boost/ticket/13037">#13037</a>.
</div>
</li>
<li>
<div>
<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">make_variant_over</span></code> was fixed and
now works with views and other Forward Sequences (thanks to Mikhail
Maksimov for the fix) <a href="https://svn.boost.org/trac/boost/ticket/8554">#8554</a>, <a href="https://svn.boost.org/trac/boost/ticket/10041">#10041</a>, <a href="https://github.com/boostorg/variant/pull/35">PR#35</a>.
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="version_1_65_1.compilers_tested">
<h3><span class="link">Compilers Tested</span></h3>
<p>