mirror of
https://github.com/boostorg/website.git
synced 2026-01-27 07:22:15 +00:00
6701 lines
294 KiB
XML
6701 lines
294 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<rss version="2.0" xmlns:boostbook="urn:boost.org:boostbook">
|
|
<channel>
|
|
<generator>Boost Website Site Tools</generator>
|
|
<title>Release notes for work in progress boost</title>
|
|
<link>http://www.boost.org/</link>
|
|
<description></description>
|
|
<language>en-us</language>
|
|
<copyright>Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)</copyright>
|
|
<item><title>Version 1.67.0</title><link>http://www.boost.org/users/history/version_1_67_0.html</link><guid>http://www.boost.org/users/history/version_1_67_0.html</guid><pubDate>Mon, 19 Mar 2018 13:20:28 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_67_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/contract/">Contract</a>:</span>
|
|
Contract programming
|
|
for C++. All contract programming features are supported: Subcontracting,
|
|
class invariants, postconditions (with old and return values), preconditions,
|
|
customizable actions on assertion failure (e.g., terminate or throw), optional
|
|
compilation and checking of assertions, etc, from Lorenzo Caminiti.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/hof/">HOF</a>:</span>
|
|
Higher-order functions for C++,
|
|
from Paul Fultz II.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_67_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/asio/">Asio</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added missing const qualifier to <code><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">get_option</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Worked around a parsing error that occurs with some versions of gcc.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed broken code samples in tutorial.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added new experimental features. (Note that "experimental"
|
|
features may be changed without notice in subsequent releases.)
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">detached</span></code>
|
|
completion token.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">redirect_error</span></code>
|
|
completion token.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">co_spawn</span></code>
|
|
facility for integration with the coroutines technical specification.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/atomic/">Atomic</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> Changed the result
|
|
of the <code><span class="special">(</span><span class="identifier">op</span><span class="special">)</span><span class="identifier">_and_test</span></code>
|
|
operations added in Boost 1.66 to the opposite - the functions now
|
|
return <code><span class="keyword">true</span></code> if the operation
|
|
result is non-zero. This is consistent with other <code><span class="identifier">test</span></code>
|
|
methods in Boost.Atomic and the C++ standard library. Users can define
|
|
<code><span class="identifier">BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST</span></code>
|
|
when compiling their code to emit warnings on every use of the changed
|
|
functions. This way users can locate the code that needs to be updated.
|
|
(<a href="https://github.com/boostorg/atomic/issues/11">#11</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update for C++2a. On C++11 compilers that support scoped enums, the
|
|
<code><span class="identifier">memory_order</span></code> enumeration
|
|
is now scoped and contains constants with shorter names like <code><span class="identifier">acquire</span></code>, <code><span class="identifier">release</span></code>
|
|
or <code><span class="identifier">seq_cst</span></code> (i.e.
|
|
users can use <code><span class="identifier">memory_order</span><span class="special">::</span><span class="identifier">acquire</span></code>
|
|
instead of <code><span class="identifier">memory_order_acquire</span></code>).
|
|
The old constants are also provided for backward compatibility. (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html">P0439R0</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update for C++2a. Added experimental support for atomic operations
|
|
on floating point types. In addition to general operations, <code><span class="identifier">add</span></code>, <code><span class="identifier">sub</span></code>,
|
|
<code><span class="identifier">negate</span></code> operations
|
|
and their <code><span class="identifier">fetch_</span><span class="special">(</span><span class="identifier">op</span><span class="special">)</span></code> and <code><span class="identifier">opaque_</span><span class="special">(</span><span class="identifier">op</span><span class="special">)</span></code> versions are supported. Lock-free
|
|
property can be tested with the new macros <code><span class="identifier">BOOST_ATOMIC_FLOAT</span><span class="special">/</span><span class="identifier">DOUBLE</span><span class="special">/</span><span class="identifier">LONG_DOUBLE_LOCK_FREE</span></code>.
|
|
The support for floating point types is optional and can be disabled
|
|
by defining <code><span class="identifier">BOOST_ATOMIC_NO_FLOATING_POINT</span></code>.
|
|
(<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html">P0020R6</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added new experimental operations:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">negate_and_test</span></code>
|
|
and <code><span class="identifier">complement_and_test</span></code>
|
|
which perform negation or bitwise complement and return <code><span class="keyword">true</span></code> if the result is not zero.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">add</span></code>, <code><span class="identifier">sub</span></code>, <code><span class="identifier">negate</span></code>,
|
|
<code><span class="identifier">bitwise_and</span></code>,
|
|
<code><span class="identifier">bitwise_or</span></code>,
|
|
<code><span class="identifier">bitwise_xor</span></code>,
|
|
<code><span class="identifier">bitwise_complement</span></code>
|
|
operations which perform the operation and return its result.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
For generic <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> specialization, the default constructor
|
|
is now trivial if <code><span class="identifier">T</span></code>'s
|
|
default constructor is.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The internal implementation of <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> has been updated to avoid undefined
|
|
behavior that stems from signed integer overflows. As required by
|
|
the C++ standard, the library uses two's complement representation
|
|
of signed integers internally and accroding rules of overflow. Currently,
|
|
the library requires the native signed integer types to also use
|
|
two's complement representation (but no defined overflow semantics).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved Clang support. In particular, fixed DCAS not being lock-free
|
|
and fixed possible incorrect code generated on 32-bit x86.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved MinGW support. For gcc versions up to 4.6, fixed compilation
|
|
of DCAS on x86.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
In x86 PIE code, asm blocks now preserve <code><span class="identifier">ebx</span></code>
|
|
value.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/beast/">Beast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
This version fixes significant defects in <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span></code>
|
|
which can lead to asserts or undefined behavior. Users are encouraged
|
|
to update to the latest Boost release.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
For a complete list of changes, please view the official <a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/beast/doc/html/beast/release_notes.html">Release
|
|
Notes</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/container_hash/">ContainerHash</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Extracted from the functional module to break a dependency cycle.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Moved headers to new location to reflect name change, the old include
|
|
paths will still work.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>,
|
|
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_condition</span></code>
|
|
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span></code>,
|
|
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">monostate</span></code> where available.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
More detail in the <a href="http://www.boost.org/doc/libs/1_67_0_beta1/doc/html/hash/changes.html#hash.changes.boost_1_67_0">library
|
|
change log</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/62">#62</a>/<a href="https://github.com/boostorg/context/pull/64">PR#64</a>: fix i386/macho routines to correctly
|
|
return transfer_t in EAX/EDX
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/65">#65</a>: <code><span class="identifier">__sanitizer_finish_switch_fiber</span></code>
|
|
should be called directly after context switch
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/66">#66</a>: Clang on Windows : error: No best alternative for libs/context/build/asm_sources
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/73">#73</a>: fixing C2492 for execution_context (v1)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/coroutine2/">Coroutine2</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/coroutine2/issues/13">#13</a>: Pull coroutine does not rethrow an exception if
|
|
it is thrown on the first entry
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/date_time/">DateTime</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed various year 2038 (32-bit) issues (<a href="https://svn.boost.org/trac/boost/ticket/2818">#2818</a>) (<a href="https://svn.boost.org/trac/boost/ticket/2819">#2819</a>) (<a href="https://svn.boost.org/trac/boost/ticket/3487">#3487</a>)
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/4543">#4543</a>) (<a href="https://svn.boost.org/trac/boost/ticket/8450">#8450</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9158">#9158</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9489">#9489</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10570">#10570</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12609">#12609</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a binary serialization regression introduced in 1.66.0 (<a href="https://github.com/boostorg/date_time/issues/56">#56</a>)
|
|
(<a href="https://github.com/boostorg/date_time/pull/58">PR#58</a>) (<a href="https://github.com/boostorg/date_time/pull/70">PR#70</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated the timezone database file (<a href="https://svn.boost.org/trac/boost/ticket/4430">#4430</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10087">#10087</a>) (<a href="https://github.com/boostorg/date_time/pull/68">PR#68</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Enhanced <code><span class="identifier">from_iso_string</span></code>
|
|
so it can read output of <code><span class="identifier">to_iso_string</span></code>
|
|
for special values (<a href="https://svn.boost.org/trac/boost/ticket/1078">#1078</a>) (<a href="https://github.com/boostorg/date_time/pull/69">PR#69</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed maximum supported year from 10000 to 9999 to resolve various
|
|
issues (<a href="https://svn.boost.org/trac/boost/ticket/13159">#13159</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12630">#12630</a>) (<a href="https://github.com/boostorg/date_time/pull/71">PR#71</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">period_parser</span><span class="special">::</span><span class="identifier">delimiter_strings</span></code> did nothing (<a href="https://svn.boost.org/trac/boost/ticket/11142">#11142</a>)
|
|
(<a href="https://github.com/boostorg/date_time/pull/63">PR#63</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Ensure special values are not automatically translated to integral
|
|
types (<a href="https://svn.boost.org/trac/boost/ticket/11168">#11168</a>) (<a href="https://github.com/boostorg/date_time/pull/64">PR#64</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">int_adapter</span><span class="special">::</span><span class="identifier">is_signed</span></code> should be const (<a href="https://svn.boost.org/trac/boost/ticket/12363">#12363</a>)
|
|
(<a href="https://github.com/boostorg/date_time/pull/60">PR#60</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_input_facet</span></code> throws when using
|
|
<code><span class="special">%</span><span class="identifier">j</span></code>
|
|
alone (<a href="https://svn.boost.org/trac/boost/ticket/12910">#12910</a>) (<a href="https://github.com/boostorg/date_time/pull/59">PR#59</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Time input facet is not able to parse <code><span class="special">%</span><span class="identifier">e</span></code> day (<a href="https://svn.boost.org/trac/boost/ticket/13194">#13194</a>) (<a href="https://github.com/boostorg/date_time/pull/54">PR#54</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved Github CI build environment for better project metrics and
|
|
quality (<a href="https://github.com/boostorg/date_time/pull/52">PR#52</a>) (<a href="https://github.com/boostorg/date_time/pull/72">PR#72</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed various compiler warnings (<a href="https://svn.boost.org/trac/boost/ticket/3606">#3606</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9882">#9882</a>) (<a href="https://github.com/boostorg/date_time/pull/62">PR#62</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/dll/">DLL</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixes for calling functions on dirty <code><span class="identifier">GetLastError</span><span class="special">()</span></code> <a href="https://github.com/boostorg/dll/issues/16">#16</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/128">#128</a>: Assertion "! ctx-&gt;ready_is_linked()" when
|
|
using condition_variable::wait_for
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/132">#132</a>: fatal error: 'stdexception' file not found
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/141">#141</a>: boost::fibers::async problem
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/146">#146</a>: remove unecessary lock of remote-ready-queue spinlock
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/153">#153</a>: docu: replace set_ready() by schedule()
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/154">#154</a>: Document iterators on channels
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/155">#155</a>: this_fiber is wrongly documented as being a member
|
|
of boost::fibers
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/156">#156</a>: Many examples are using their own barrier.hpp
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/158">#158</a>: add BOOST_FIBERS_DECL to work_stealing class
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/162">#162</a>: remove use-coutner increment for timed wait ops
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/166">#166</a>: remove assertion for wait_is_linked() in schedule()
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/167">#167</a>: call shared_state::owner_destroyed() only if future
|
|
was created from
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/168">#168</a>: fiber/doc/installing.qbk not not up to date
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/fusion/">Fusion</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Switch to SFINAE in template parameters on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>
|
|
to fix compile error on newer MSVC 2017. (<a href="https://github.com/boostorg/fusion/pull/164">PR#164</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix for compilers not compatible with CWG defect 945 on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span></code>. (<a href="https://github.com/boostorg/fusion/pull/166">PR#166</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added limits precheck on sequence converter to make error message
|
|
clearer. (<a href="https://github.com/boostorg/fusion/pull/168">PR#168</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Allow incomplete types in <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tag_of</span></code>
|
|
and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">is_native_fusion_sequence</span></code>. Note
|
|
that this changes no behaviour from previous release, but compliant
|
|
to TypeTraits's change. (<a href="https://github.com/boostorg/fusion/pull/171">PR#171</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/log/">Log</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improved compatibility with C++17: use <code><span class="identifier">allocator_traits</span></code>
|
|
to work with allocators instead of directly accessing its members.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved compatibility with gcc 7 and later by updating library ABI
|
|
namespace definition.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added documentation for the "Append" config file parameter
|
|
for "TextFile" sinks. The parameter was supported previously,
|
|
only the documentation was missing.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/multi_index/index.html">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Elements with overloaded <code><span class="keyword">operator</span><span class="special">&amp;</span></code> are now fully accepted (ticket
|
|
<a href="https://svn.boost.org/trac/boost/ticket/13307">#13307</a>). Thanks to Daniel Frey for his updating <a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/utility/operators.htm#deref">Boost.Operators</a>
|
|
to help fix this issue.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Avoided usage of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>
|
|
members deprecated in C++17. Contributed by Daniela Engert.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/optional/index.html">Optional</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed issue <a href="https://github.com/boostorg/optional/issues/46">#46</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="special">-</span><span class="identifier">Wzero</span><span class="special">-</span><span class="identifier">as</span><span class="special">-</span><span class="identifier">null</span><span class="special">-</span><span class="identifier">pointer</span><span class="special">-</span><span class="identifier">constant</span></code>
|
|
warnings.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/phoenix/">Phoenix</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Correct documentation and example code. (<a href="https://svn.boost.org/trac/boost/ticket/8187">#8187</a>, <a href="https://github.com/boostorg/phoenix/pull/56">PR#56</a>,
|
|
<a href="https://github.com/boostorg/phoenix/pull/57">PR#57</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed bug with initializing phoenix lazy from array types in C++11.
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/12733">#12733</a>, <a href="https://github.com/boostorg/phoenix/pull/58">PR#58</a>, <a href="https://github.com/boostorg/phoenix/pull/61">PR#61</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Use proto subscript and assignment overload operators buildins to
|
|
fix compile error with some lambda experssions on recent MSVC. (<a href="https://github.com/boostorg/phoenix/issues/62">#62</a>,
|
|
<a href="https://github.com/boostorg/phoenix/pull/64">PR#64</a>, <a href="https://github.com/boostorg/phoenix/pull/66">PR#66</a>, <a href="https://github.com/boostorg/phoenix/pull/67">PR#67</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Remove use of deprecated <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iteratror</span></code>.
|
|
Thanks to Daniela Engert. (<a href="https://github.com/boostorg/phoenix/pull/59">PR#59</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/poly_collection/">PolyCollection</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/python/">Python</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
The library name now includes the version suffix of the Python version
|
|
used to compile it. For example, a variant compiled with Python 2.7
|
|
will produce library names <code><span class="identifier">boost_python27</span></code>
|
|
and <code><span class="identifier">boost_numpy27</span></code>,
|
|
etc.. Combined with a related fix in Boost.Build, this means that
|
|
it is now possible to build variants for multiple Python versions
|
|
in a single build process.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/spirit/">Spirit</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Spirit.X3:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> Removed
|
|
<code><span class="identifier">with_context</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/239">#239</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added noexcept to <code><span class="identifier">x3</span><span class="special">::</span><span class="identifier">variant</span></code>
|
|
and <code><span class="identifier">forward_ast</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/241">#241</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CR+LF lines wrongly counted in <code><span class="identifier">error_handler</span><span class="special">::</span><span class="identifier">position</span><span class="special">()</span></code> (<a href="https://github.com/boostorg/spirit/issues/248">#248</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">unused_type</span></code>
|
|
attribute case in <code><span class="identifier">parse_into_container</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/266">#266</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed parsing into associative containers (<a href="https://github.com/boostorg/spirit/issues/289">#289</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed overflow problem in <code><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">signed</span>
|
|
<span class="identifier">T</span><span class="special">&gt;</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/297">#297</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added VS2015 Update 3 support by using workarounds (<a href="https://github.com/boostorg/spirit/issues/308">#308</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed include guard names collision with Qi (<a href="https://github.com/boostorg/spirit/issues/313">#313</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added parsing into range (<a href="https://github.com/boostorg/spirit/issues/316">#316</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12928">#12928</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed iterator concept static assert from <code><span class="identifier">ForwardIterator</span></code>
|
|
to <code><span class="identifier">ReadableIteratorConcept</span></code>
|
|
&amp;&amp; <code><span class="identifier">ForwardTraversalConcept</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/320">#320</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Reenabled <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>
|
|
support (<a href="https://github.com/boostorg/spirit/issues/330">#330</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">string</span><span class="special">(</span><span class="string">"..."</span><span class="special">)</span></code> and <code><span class="identifier">attr</span><span class="special">(</span><span class="string">"..."</span><span class="special">)</span></code> to single item sequence (<a href="https://github.com/boostorg/spirit/issues/337">#337</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Dereference a single item view instead of unwrapping sequence
|
|
(<a href="https://github.com/boostorg/spirit/issues/340">#340</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Prevent <code><span class="identifier">parse_nan</span></code>
|
|
from dereferencing out of range iterator (<a href="https://github.com/boostorg/spirit/issues/351">#351</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Use traits to test if container is empty (<a href="https://github.com/boostorg/spirit/issues/355">#355</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit V2
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed keyword directives compilation on C++11 (<a href="https://github.com/boostorg/spirit/issues/256">#256</a>)
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/11493">#11493</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed subrules compilation (<a href="https://github.com/boostorg/spirit/issues/279">#279</a>) (<a href="https://github.com/boostorg/spirit/issues/259">#259</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed subrules use after scope bug (<a href="https://github.com/boostorg/spirit/issues/284">#284</a>) (<a href="https://svn.boost.org/trac/boost/ticket/5270">#5270</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed undefined behavior in sequential or operator. Underlying
|
|
parsers order of execution was dependent on compiler (<a href="https://github.com/boostorg/spirit/issues/310">#310</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit was accidentally relaying on <code><span class="identifier">types</span></code>
|
|
typedef of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>.
|
|
The typedef was removed in the new optional implementation
|
|
(<a href="https://github.com/boostorg/spirit/issues/271">#271</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12349">#12349</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed problems with <code><span class="identifier">BOOST_SPIRIT_NO_PREDEFINED_TERMINALS</span></code>
|
|
(<code><span class="identifier">attr_cast</span></code>,
|
|
<code><span class="identifier">confix</span></code>, <code><span class="identifier">distinct</span></code>, <code><span class="identifier">keywords</span></code>,
|
|
and <code><span class="identifier">flush_multi_pass</span></code>)
|
|
(<a href="https://github.com/boostorg/spirit/issues/314">#314</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13311">#13311</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added missing copy assignment operator to <code><span class="identifier">hold_any</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/361">#361</a>) (<a href="https://svn.boost.org/trac/boost/ticket/8268">#8268</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Qi:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed alternate operator (<a href="https://github.com/boostorg/spirit/issues/201">#201</a>) (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12349">#12349</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed signed integer overflow in real parser (<a href="https://github.com/boostorg/spirit/issues/245">#245</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed overflow problem in <code><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">signed</span>
|
|
<span class="identifier">T</span><span class="special">&gt;</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/297">#297</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">get_current_line</span></code>,
|
|
<code><span class="identifier">get_line_start</span></code>,
|
|
and added <code><span class="identifier">get_line_end</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/304">#304</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Permutations parser were always initializing optionals (<a href="https://github.com/boostorg/spirit/issues/319">#319</a>)
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/12473">#12473</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed iterator concept static assert from <code><span class="identifier">ForwardIterator</span></code>
|
|
to <code><span class="identifier">ReadableIteratorConcept</span></code>
|
|
&amp;&amp; <code><span class="identifier">ForwardTraversalConcept</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/320">#320</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added assertations to real parsers to ensure that the <code><span class="identifier">parse_frac_n</span></code> from user defined
|
|
real policy does not return negative values and also to prevent
|
|
static analyzers false-positives (<a href="https://github.com/boostorg/spirit/issues/358">#358</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Karma:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed alternate operator (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">no_buffering_policy</span></code>
|
|
missing copy constructor (<a href="https://github.com/boostorg/spirit/issues/261">#261</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The <code><span class="identifier">ostream_iterator</span></code>
|
|
was inheriting <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
which is deprecated in C++17 (<a href="https://github.com/boostorg/spirit/issues/345">#345</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Lex:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Store id as promoted type to allow out-of-enum values (<a href="https://github.com/boostorg/spirit/issues/247">#247</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed C2001 'newline in constant' warning in generated lexers
|
|
(<a href="https://github.com/boostorg/spirit/issues/324">#324</a>) (<a href="https://svn.boost.org/trac/boost/ticket/11540">#11540</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Classic:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">remove_reference</span></code>
|
|
usage without a namespace in Phoenix (<a href="https://github.com/boostorg/spirit/issues/274">#274</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code> usage without the
|
|
include (<a href="https://github.com/boostorg/spirit/issues/273">#273</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed compilation of <code><span class="identifier">match</span><span class="special">&lt;</span><span class="identifier">T</span>
|
|
<span class="special">&amp;&gt;</span></code> (<a href="https://github.com/boostorg/spirit/issues/275">#275</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed compilation with <code><span class="identifier">BOOST_DISABLE_THREADS</span></code>
|
|
defined (<a href="https://github.com/boostorg/spirit/issues/323">#323</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12639">#12639</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Increment scanner through iterator policy (<a href="https://github.com/boostorg/spirit/issues/336">#336</a>) (<a href="https://svn.boost.org/trac/boost/ticket/7371">#7371</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed deprecated in C++17 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
|
|
usage (<a href="https://github.com/boostorg/spirit/issues/345">#345</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Async safe dumping into files on Windows OS was causing hangs on
|
|
some platforms and now is disabled <a href="https://github.com/boostorg/stacktrace/issues/33">#33</a>. Users are encouraged
|
|
to update to the latest Boost release.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/container_hash/">ContainerHash</a> library
|
|
is now used to reduce dependencies.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Minor fixes (including <a href="https://github.com/boostorg/stacktrace/issues/31">#31</a>, <a href="https://github.com/boostorg/stacktrace/issues/38">#38</a>, <a href="https://github.com/boostorg/stacktrace/issues/39">#39</a>,
|
|
<a href="https://github.com/boostorg/stacktrace/issues/40">#40</a>, <a href="https://github.com/boostorg/stacktrace/issues/42">#42</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.7 see the <a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/test/doc/html/boost_test/change_log.html">Changes
|
|
log</a> for more details.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Breaking changes
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Adding test cases with the same name to the same test suite
|
|
is now reported as an error. See the changes log for more details.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New feature:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Colour output on by default and available on Windows,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved and clearer command line help
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">BOOST_AUTO_TEST_CASE_TEMPLATE</span></code>
|
|
now accepts a sequence of types in an <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes and pull requests:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/12092">#12092</a>, <a href="https://svn.boost.org/trac/boost/ticket/12596">#12596</a>, <a href="https://svn.boost.org/trac/boost/ticket/12597">#12597</a>, <a href="https://svn.boost.org/trac/boost/ticket/12969">#12969</a>,
|
|
<a href="https://svn.boost.org/trac/boost/ticket/13058">#13058</a>, <a href="https://svn.boost.org/trac/boost/ticket/13149">#13149</a>, <a href="https://svn.boost.org/trac/boost/ticket/13170">#13170</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/13181">#13181</a>, <a href="https://svn.boost.org/trac/boost/ticket/13371">#13371</a>, <a href="https://svn.boost.org/trac/boost/ticket/13387">#13387</a>, <a href="https://svn.boost.org/trac/boost/ticket/13398">#13398</a>,
|
|
<a href="https://svn.boost.org/trac/boost/ticket/13407">#13407</a>, <a href="https://svn.boost.org/trac/boost/ticket/13435">#13435</a>, <a href="https://svn.boost.org/trac/boost/ticket/13443">#13443</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Pull requests: <a href="https://github.com/boostorg/test/issues/112">#112</a>, <a href="https://github.com/boostorg/test/issues/118">#118</a>, <a href="https://github.com/boostorg/test/issues/118">#118</a>, <a href="https://github.com/boostorg/test/issues/121">#121</a>,
|
|
<a href="https://github.com/boostorg/test/issues/122">#122</a>, <a href="https://github.com/boostorg/test/issues/125">#125</a>, <a href="https://github.com/boostorg/test/issues/127">#127</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/type_index/">TypeIndex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/container_hash/">ContainerHash</a> library
|
|
is now used to reduce dependencies.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Minor fixes (including <a href="https://github.com/boostorg/type_index/issues/17">#17</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/utility/">Utility</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
|
|
header no longer includes <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">next</span></code>
|
|
and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">prior</span></code> as they have been moved to
|
|
the iterator module. Instead include <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">next_prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
|
|
Other uses of <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> are discouraged, it's better
|
|
to use the header for the specific functionality instead.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/unordered/">Unordered</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Template deduction guides.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Standard conforming <code><span class="keyword">noexcept</span></code>
|
|
specifications for <code><span class="identifier">swap</span></code>,
|
|
<code><span class="keyword">operator</span><span class="special">=</span></code>
|
|
and node handles.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add <code><span class="identifier">element_type</span></code>
|
|
to iterators, so that <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pointer_traits</span></code>
|
|
will work.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Support <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">piecewise_construct</span></code> on recent Visual
|
|
C++ and Dinkumware libraries.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code> rather than the
|
|
boost iterator traits in order to remove dependency on Boost.Iterator.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Iterators no longer inherit from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>,
|
|
as it's deprecated (<a href="https://github.com/boostorg/unordered/pull/7">PR#7</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
More detail in the <a href="http://www.boost.org/doc/libs/1_67_0_beta1/doc/html/unordered/changes.html#unordered.changes.boost_1_67_0">library
|
|
change log</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/units/">Units</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix sqrt for scaled units <a href="https://svn.boost.org/trac/boost/ticket/10270">#10270</a> <a href="https://github.com/boostorg/units/issues/27">#27</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add constexpr support <a href="https://github.com/boostorg/units/issues/22">#22</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
minor documentation fixes
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/uuid/">Uuid</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> random_generator
|
|
is no longer copyable (<a href="https://github.com/boostorg/uuid/issues/61">#61</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Optimized random_generator to use OS-provided entropy directly (<a href="https://github.com/boostorg/uuid/pull/53">PR#53</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Provide <code><span class="identifier">random_generator_mt19937</span></code>
|
|
for bulk UUID generation
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Handle entropy acquisition errors instead of ignoring them
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Support for Windows UWP (<a href="https://github.com/boostorg/uuid/issues/24">#24</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Support for CloudABI
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/doc/libs/1_67_0_beta1/libs/variant/">Variant</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Substitute function arguments on compilers with variadic templates
|
|
support and do not generate substitution metafunctions using preprocessor
|
|
<a href="https://github.com/boostorg/variant/issues/42">#42</a>, <a href="https://github.com/boostorg/variant/issues/46">#46</a>. Many thanks to Nikita Kniazev for providing
|
|
an initial fix.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Perfect forwarding for passing visitor in apply_visitor <a href="https://github.com/boostorg/variant/issues/40">#40</a>,
|
|
<a href="https://svn.boost.org/trac/boost/ticket/13288">#13288</a>. Many thanks to Paweł Dac!
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Minor fixes (including <a href="https://github.com/boostorg/variant/issues/41">#41</a>, <a href="https://github.com/boostorg/variant/issues/44">#44</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_67_0.compilers_tested">
|
|
<h3><span class="link">Compilers Tested</span></h3>
|
|
<p>
|
|
Boost's primary test compilers are:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++0x: 3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
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.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.4.7
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.6.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++0x: 3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
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.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 4.9.2, 5.4.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.4.7
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.6.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 4.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_67_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
<a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Daniel James,
|
|
Vladimir Prus and Marshall Clow managed this release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.66.0</title><link>http://www.boost.org/users/history/version_1_66_0.html</link><guid>http://www.boost.org/users/history/version_1_66_0.html</guid><pubDate>Mon, 18 Dec 2017 13:58:14 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_66_0.note_about_the_new_visual_studio">
|
|
<h3><span class="link">Note about
|
|
the new Visual Studio release</span></h3>
|
|
<p>
|
|
Visual Studio 15.5 was released too late for us to test this release with it.
|
|
</p>
|
|
</div>
|
|
<div id="version_1_66_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/beast/">Beast</a>:</span>
|
|
Portable HTTP, WebSocket,
|
|
and network operations using only C++11 and Boost.Asio, from Vinnie Falco.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/callable_traits/">CallableTraits</a>:</span>
|
|
A spiritual
|
|
successor to Boost.FunctionTypes, Boost.CallableTraits is a header-only
|
|
C++11 library for the compile-time inspection and manipulation of all 'callable'
|
|
types. Additional support for C++17 features, from Barrett Adair.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/mp11/">Mp11</a>:</span>
|
|
A C++11 metaprogramming library,
|
|
from Peter Dimov.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_66_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Implemented interface changes to reflect the Networking TS (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4656.pdf">N4656</a>).
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
See the <a href="http://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/net_ts.html">list</a>
|
|
of new interfaces and, where applicable, the corresponding
|
|
old interfaces that have been superseded.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The service template parameters, and the corresponding classes,
|
|
are disabled by default. For example, instead of <code><span class="identifier">basic_socket</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">,</span>
|
|
<span class="identifier">SocketService</span><span class="special">&gt;</span></code>
|
|
we now have simply <code><span class="identifier">basic_socket</span><span class="special">&lt;</span><span class="identifier">Protocol</span><span class="special">&gt;</span></code>. The old interface can
|
|
be enabled by defining the <code><span class="identifier">BOOST_ASIO_ENABLE_OLD_SERVICES</span></code>
|
|
macro.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed previously deprecated functions.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for customised handler tracking.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added reactor-related (i.e. descriptor readiness) events to handler
|
|
tracking.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added special "concurrency hint" values that may be used
|
|
to disable locking on a per <code><span class="identifier">io_context</span></code>
|
|
basis.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Enabled perfect forwarding for the first <code><span class="identifier">ssl</span><span class="special">::</span><span class="identifier">stream</span><span class="special">&lt;&gt;</span></code> constructor argument.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added ability to release ownership of the underlying native socket.
|
|
(Requires Windows 8.1 or later when using the I/O completion port
|
|
backend.)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/atomic/">Atomic</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Implemented a set of experimental extended atomic operations for
|
|
integral types:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">fetch_negate</span></code>,
|
|
<code><span class="identifier">fetch_complement</span></code>
|
|
- atomically replaces the value with a negated or binary complemented
|
|
value and returns the original value
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">opaque_</span><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span></code>
|
|
- equivalent to <code><span class="identifier">fetch_</span><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span></code> except that it doesn't
|
|
return the original value
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span><span class="identifier">_and_test</span></code>
|
|
- atomically applies <code><span class="special">&lt;</span><span class="identifier">op</span><span class="special">&gt;</span></code>
|
|
and returns <code><span class="keyword">true</span></code>
|
|
if the result is zero. <strong>Note:</strong>
|
|
The result of these operations will change to the opposite
|
|
in Boost 1.67. The code that uses these functions will need
|
|
to be updated.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">bit_test_and_set</span></code>,
|
|
<code><span class="identifier">bit_test_and_reset</span></code>,
|
|
<code><span class="identifier">bit_test_and_complement</span></code>
|
|
- atomically sets, resets or complements the specified bit
|
|
and returns the original value of the bit
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Following C++17 (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0558r1.pdf">P0558R1</a>),
|
|
arithmetic operations for pointers to non-object types are no longer
|
|
provided.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Also following C++17 exposed <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code>
|
|
and <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">difference_type</span></code> member typedefs,
|
|
where applicable, to the user's code.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved compatibility with gcc 7. In particular, using 128-bit operations
|
|
on x86-64 should no longer require linking with libatomic (the compiler-supplied
|
|
library).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/date_time/">DateTime</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
The library has been converted to use Boost.WinAPI as the abstraction
|
|
layer for Windows SDK.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed an integral overflow that could cause incorrect results when
|
|
adding or subtracting many years from a date (see <a href="https://stackoverflow.com/questions/45537280/boost-datetime-issue-with-adding-long-year-durations">here</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
synchronization with CUDA streams
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
synchronization with ROCm/HIP streams
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/format/">Format</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Accept new conversion specifiers:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/pull/41"><code><span class="identifier">a</span></code></a>: sets flags
|
|
<code><span class="identifier">fixed</span> <span class="special">|</span> <span class="identifier">scientific</span></code>
|
|
(i.e. <code><span class="identifier">hexfloat</span></code>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/pull/43"><code><span class="identifier">b</span></code></a>: sets flag
|
|
<code><span class="identifier">boolalpha</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/pull/41"><code><span class="identifier">A</span></code></a>: same as
|
|
<code><span class="identifier">a</span></code> plus
|
|
flag <code><span class="identifier">uppercase</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/pull/41"><code><span class="identifier">F</span></code></a>: same as
|
|
<code><span class="identifier">f</span></code> plus
|
|
flag <code><span class="identifier">uppercase</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/pull/42">42</a>
|
|
Accept new argument types <code><span class="identifier">j</span></code>
|
|
and <code><span class="identifier">z</span></code> from
|
|
ISO C99 (parsed and ignored like all others).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/pull/44">44</a>
|
|
Accept new argument types <code><span class="identifier">I</span></code>,
|
|
<code><span class="identifier">I32</span></code>, <code><span class="identifier">I64</span></code>, and <code><span class="identifier">w</span></code>
|
|
from Microsoft (parsed and ignored like all others).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/issues/33">33</a>
|
|
Added a development tool called <code><span class="identifier">format_matrix</span></code>
|
|
that exercises as many different combinations of format strings
|
|
as possible and logs them to a file:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
helps prevent regressions in between boost releases
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
allows for comparison against <code><span class="identifier">snprintf</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/format/issues/36">36</a>
|
|
Safely allow volatile arguments to be used with operator%
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/4636">4636</a>
|
|
Explicit clamping provided to allow MSVC /RTCc to succeed
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/7477">7477</a>
|
|
Fix compatibility with MSVC /Za
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/10324">10324</a>
|
|
Const-correct cast issue resolved
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/11632">11632</a>
|
|
Fix <code><span class="special">-</span><span class="identifier">fsanitize</span><span class="special">=</span><span class="identifier">undefined</span></code>
|
|
issue in <code><span class="identifier">alt_sstream</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/fusion/">Fusion</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fusion/pull/149">PR#149</a>
|
|
<code><span class="identifier">isspace</span><span class="special">(</span><span class="identifier">c</span><span class="special">)</span></code>
|
|
is not a macro in Dinkum clib for VxWorks, thanks to Brian Kuhl(@kuhlenough).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fusion/pull/150">PR#150</a>
|
|
Remove circular preprocessor include, thanks to Gregor Jasny(@gjasny).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fusion/pull/151">PR#151</a>
|
|
Change base of <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tuple</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fusion/pull/153">PR#153</a>
|
|
Fixed compile error with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fusion/pull/154">PR#154</a>
|
|
Fixed bugs nesting and copying on c++03.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add distance for geographic PointLike/AnyGeometry.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixes in results of union/intersection/difference which could
|
|
be incorrect in very complex cases
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixes in validity of union/intersection/difference/buffer
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixes in set and relational operations for non-cartesian coordinate
|
|
systems.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/iterator/">Iterator</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">next</span><span class="special">()</span></code>/<code><span class="identifier">prior</span><span class="special">()</span></code>
|
|
functions now support user's iterators that don't specify nested
|
|
types such as <code><span class="identifier">iterator_category</span></code>,
|
|
<code><span class="identifier">difference_type</span></code>,
|
|
etc. and instead specialize <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code>
|
|
to define those types. The compiler must support C++17-compatible
|
|
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code> for this to work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/log/">Log</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed a bug in <code><span class="identifier">file_collector</span><span class="special">::</span><span class="identifier">scan_for_files</span></code>
|
|
that could cause incorrectly named log files in the target
|
|
directory after the user's application restart.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See <a href="http://www.boost.org/libs/log/doc/html/log/changelog.html">changelog</a>
|
|
for more details.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New Features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add Gauss and Gauss-Kronrod quadrature routines.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add double-exponential (tanh-sinh, exp-sinh and sinh-sinh)
|
|
quadrature routines.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add Chebyshev polynomial evaluation, roots, integration, differentiation,
|
|
and interpolation routines.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/multi_index/index.html">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Made <code><span class="identifier">modify</span></code> and
|
|
<code><span class="identifier">modify_key</span></code> more robust
|
|
so that the modified element is erased if the modifier throws or
|
|
the rollback functor does not properly restore the element (full
|
|
discussion at ticket <a href="https://svn.boost.org/trac/boost/ticket/12542">#12542</a>). This is technically backwards
|
|
incompatible; for instance, the following code:
|
|
</div>
|
|
<pre><span class="identifier">c</span><span class="special">.</span><span class="identifier">modify</span><span class="special">(</span><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),[](</span><span class="keyword">auto</span><span class="special">&amp;){</span><span class="keyword">throw</span> <span class="number">0</span><span class="special">;});</span>
|
|
</pre>
|
|
<div>
|
|
keeps the container <code><span class="identifier">c</span></code>
|
|
untouched in former versions of Boost whereas now <code><span class="identifier">c</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code> is erased. Thanks to Jon Kalb for
|
|
raising the issue.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/optional/index.html">Optional</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
On newer compilers <code><span class="identifier">optional</span></code>
|
|
is now trivially-copyable for scalar <code><span class="identifier">T</span></code>s.
|
|
This uses a different storage (just <code><span class="identifier">T</span></code>
|
|
rather than <code><span class="identifier">aligned_storage</span></code>).
|
|
We require the compiler to support defaulted functions.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed the implementation of <code><span class="keyword">operator</span><span class="special">==</span></code> to get rid of the <code><span class="special">-</span><span class="identifier">Wmaybe</span><span class="special">-</span><span class="identifier">uninitialized</span></code>
|
|
false-positive warning from GCC.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.PolyCollection has been backported to GCC 4.8 to 4.9 and Clang
|
|
3.3 to 3.6. The version of libstdc++-v3 shipped with GCC 4.8 (which
|
|
can also be used by Clang) has deficiencies that result in the following
|
|
limitations when using Boost.PolyCollection:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Stateful allocators are not properly supported.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Allocator-extended move construction decays to allocator-extended
|
|
copy construction.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Copy construction crashes if an exception is thrown during
|
|
element copying.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/predef/">Predef</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improved Windows Universal Platform detection. (from James E. King,
|
|
III)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add detection for CloudABI with cloudlibc. (from James E. King, III)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Various other bug fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Numerous small fixes for security issues discovered by de-fuzzing.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Now works out-of-the-box on MinGW-w64.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Now works on MinGW (without <code><span class="special">-</span><span class="identifier">w64</span></code>) if <code><span class="identifier">libbacktrace</span></code>
|
|
is properly installed. See "MinGW specific notes" section
|
|
in documentation for more info.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Bugs Fixes
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/12323">#12323</a>
|
|
windows - boost/thread/win32/mfc_thread_init.hpp has wrong
|
|
signature for _pRawDllMainOrig
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/12730">#12730</a>
|
|
windows - static threads library is incompatible with MSVC
|
|
2017 RC
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/12976">#12976</a>
|
|
Boost Thread Executors documentation mistakes
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/12949">#12949</a>
|
|
using sleep_for in a thread context without including boost/thread/thread.hpp
|
|
yields incorrect behaviour when BOOST_THREAD_HAS_CONDATTR_SET_CLOCK_MONOTONIC
|
|
is defined
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/13019">#13019</a>
|
|
ABI compatibility for BOOST_THREAD_PROVIDES_INTERRUPTIONS incomplete
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/13069">#13069</a>
|
|
Boost unit test "sync_pq_multi_thread_p_lib.exe"
|
|
hung in thread library
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/13163">#13163</a>
|
|
boost::detail::heap_new does not have a variadic variant
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://svn.boost.org/trac/boost/ticket/13226">#13226</a>
|
|
getpagesize() is deprecated since 199506L
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/132">#132</a>
|
|
VS 2017.4 Preview deadlocks on Test 10964
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/133">#133</a>
|
|
windows - Spurious timing test failures on windows
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/134">#134</a>
|
|
VS 2017.4 Preview deadlock in sync_pq_multi_thread_p_lib.exe
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/135">#135</a>
|
|
VS 2017.4 Preview test_scheduled_tp_p.exe deadlock
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/136">#136</a>
|
|
VS 2017.4 Preview test_scheduler_p.exe deadlock
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/137">#137</a>
|
|
VS 2017.4 Preview executor_ex.exe deadlock
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/143">#143</a>
|
|
Failures on msvc-12.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/145">#145</a>
|
|
Clang build error with BOOST_THREAD_ATTRIBUTE_MAY_ALIAS
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New Experimental Feature
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/thread/issues/116">#116</a>
|
|
[Proposal] Add APIs for deferred set_value/exception
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/utility/">Utility</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">next_prior</span><span class="special">.</span><span class="identifier">hpp</span></code> has been moved to Boost.Iterator.
|
|
No changes needed to the user's code.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/uuid/">Uuid</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/uuid/issues/26">26</a>
|
|
Refactored <code><span class="identifier">name_generator</span></code>
|
|
to support a configurable hash provider concept and provide
|
|
an optional MD5 hash implementation per RFC-4122. This will
|
|
make it easier to support whatever becomes the next standard
|
|
hash algorithm.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/uuid/issues/34">34</a>
|
|
Added RFC-4122 namespaces in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uuids</span><span class="special">::</span><span class="identifier">ns</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/8630">8630</a>
|
|
<a href="https://svn.boost.org/trac10/ticket/11482">11482</a>
|
|
<a href="https://svn.boost.org/trac10/ticket/12253">12253</a>
|
|
Various deficiencies in <code><span class="identifier">string_generator</span></code>
|
|
were resolved.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/10665">10665</a>
|
|
<code><span class="identifier">name_generator</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> is now const, matching docs.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Detail headers were moved into the detail subdirectory. No
|
|
changes needed to user's code, however you may get build warnings
|
|
if you use the old header location.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/variant/">Variant</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">apply_visitor</span></code> now does perfect
|
|
forwarding of visitables <a href="https://svn.boost.org/trac/boost/ticket/6971">#6971</a>. Great thanks to Levon Tarakchyan
|
|
for implementing this feature.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_66_0.compilers_tested">
|
|
<h3><span class="link">Compilers Tested</span></h3>
|
|
<p>
|
|
Boost's primary test compilers are:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++0x: 3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
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.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.4.7
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.4.0, 7.1.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.2.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.6.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.3
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 4.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QNX:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
QCC, C++0x: 4.4.2
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QCC, C++11: 4.7.3
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++0x: 3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
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.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.4.7
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.2.1, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++0x: 4.6.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 4.0.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QNX:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
QCC, C++0x: 4.4.2
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QCC, C++11: 4.7.3
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_66_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
<a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Daniel James,
|
|
Vladimir Prus and Marshall Clow managed this release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.65.1</title><link>http://www.boost.org/users/history/version_1_65_1.html</link><guid>http://www.boost.org/users/history/version_1_65_1.html</guid><pubDate>Thu, 07 Sep 2017 17:31:22 +0000</pubDate><description>
|
|
|
|
|
|
<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>
|
|
<span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Version macro changes for CUDA.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update last known MSVC version.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
MSVC 14.11 supports structured bindings.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Return a continuation from functions executed by <code><span class="identifier">resume_with</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Return a continuation from functions executed by <code><span class="identifier">resume_with</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/smart_ptr/">Smart Pointers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix Visual C++ version checks.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix compilation for NVCC with host compiler clang.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Update build testing file to detail with a MinGW issue.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Change preprocessor file extensions to work with the installation
|
|
system.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Support FreeBSD and other OSs that do not define <code><span class="identifier">_GNU_SOURCE</span></code>
|
|
but have <code><span class="identifier">_Unwind_Backtrace</span></code>
|
|
function.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix bug in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition_variable</span></code>
|
|
on Windows (<a href="https://github.com/boostorg/thread/issues/130">#130</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>
|
|
Boost's primary test compilers are:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 4.0.1, 5.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 5.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++1z: 6.3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 17.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 8.1.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0,
|
|
7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.8.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QNX:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
QCC, C++11: 4.4.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
SunOS:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio: 12.5_next, 12.5
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio, C++11: , 12.5_next, 12.5
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_65_1.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
<a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Daniel James,
|
|
Vladimir Prus and Marshall Clow managed this release.
|
|
</p>
|
|
</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="http://www.boost.org/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="http://www.boost.org/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.removed_libraries_in_1_65_0">
|
|
<h3><span class="link">Removed Libraries
|
|
in 1.65.0</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
TR1
|
|
</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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/libs/log/doc/html/log/changelog.html">changelog</a>
|
|
for more details.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.6 see the <a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/libs/typeof/">Typeof</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix compilation error with clang-cl <a href="https://svn.boost.org/trac10/ticket/11821">ticket
|
|
11821</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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>
|
|
</description></item><item><title>Version 1.65.0</title><link>http://www.boost.org/users/history/version_1_65_0.html</link><guid>http://www.boost.org/users/history/version_1_65_0.html</guid><pubDate>Mon, 21 Aug 2017 20:50:17 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_65_0.known_issues">
|
|
<h3><span class="link">Known Issues</span></h3>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
Combined patch for fixes to issues: <a href="http://www.boost.org/patches/1_65_0/boost_1_65_0.patch">boost_1_65_0.patch</a>.
|
|
Use <code><span class="identifier">patch</span> <span class="special">-</span><span class="identifier">p1</span> <span class="special">&lt;</span> <span class="identifier">boost_1_65_0</span><span class="special">.</span><span class="identifier">patch</span></code> from the root of the boost repo to
|
|
apply. Or you can apply the patches individually below.
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Context and Fiber don't return continuations when they should:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="http://www.boost.org/patches/1_65_0/0001-context-function-executed-by-resume_with-has-to-retu.patch">Context
|
|
patch</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://www.boost.org/patches/1_65_0/0002-fiber-resume_with-requires-tor-return-a-continuation.patch">Fiber
|
|
patch</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Thread: Bug in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">condition_variable</span></code> on Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="http://www.boost.org/patches/1_65_0/0003-thread-130-Bug-in-boost-condition_variable-on-Window.patch">Thread
|
|
patch 1</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="http://www.boost.org/patches/1_65_0/0004-thread-130-Bug-in-boost-condition_variable-on-Window.patch">Thread
|
|
patch 2</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_65_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/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="http://www.boost.org/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_0.removed_libraries">
|
|
<h3><span class="link">Removed Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
TR1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_65_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/libs/log/doc/html/log/changelog.html">changelog</a>
|
|
for more details.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.6 see the <a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/libs/typeof/">Typeof</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix compilation error with clang-cl <a href="https://svn.boost.org/trac10/ticket/11821">ticket
|
|
11821</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/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="http://www.boost.org/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="http://www.boost.org/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_0.compilers_tested">
|
|
<h3><span class="link">Compilers Tested</span></h3>
|
|
<p>
|
|
Boost's primary test compilers are:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++1z: 6.3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++11: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 16.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 8.1.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.8.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QNX:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
QCC, C++11: 4.7.3
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
SunOS:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio: 12.5_next, 12.5
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio, C++11: 12.5_next, 12.5
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 4.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++1z: 6.3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++11: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 16.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 8.1.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.8.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.8.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
SunOS:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio: 12.5_next, 12.5
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio, C++11: 12.5_next, 12.5
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_65_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
<a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler,
|
|
<a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James,
|
|
Vladimir Prus and Marshall Clow managed this release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.64.0</title><link>http://www.boost.org/users/history/version_1_64_0.html</link><guid>http://www.boost.org/users/history/version_1_64_0.html</guid><pubDate>Wed, 19 Apr 2017 17:42:32 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_64_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/process/">Process</a>:</span>
|
|
Process library by Klemens
|
|
D. Morgenstern, that provides cross platorm ways to allows you to:
|
|
</div>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
create child processes
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
setup streams for child processes
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
communicate with child processes through streams (synchronously or
|
|
asynchronously)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
wait for processes to exit (synchronously or asynchronously)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
terminate processes
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<div>
|
|
Broken feature:
|
|
</div>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/klemens-morgenstern/boost-process/issues/67">GitHub
|
|
#67: <em>"group.wait() does not return"</em></a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_64_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/any/">Any</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Suppressed false warnings about returning reference to temporary
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">addressof</span></code> is now used instead of
|
|
directly taking the address <a href="https://svn.boost.org/trac/boost/ticket/12615">#12615</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Headers are not included using double quotes any more <a href="https://svn.boost.org/trac/boost/ticket/12053">#12053</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI tests now run with <code><span class="identifier">address</span></code>,
|
|
<code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added more test
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/atomic/">Atomic</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed possible incorrect code generation in 64-bit atomic operations
|
|
on 32-bit x86 with gcc versions older than 4.7 and compatible compilers.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">BOOST_NO_CXX11_SFINAE_EXPR</span></code>
|
|
defect detection.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed bugs:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12749">Trac
|
|
#12749: <em>"container::pmr::polymorphic_allocator
|
|
compilation error"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/11333">Trac
|
|
#11333: <em>"boost::basic_string_ref should interop
|
|
with boost::container::basic_string"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/pull/45">GitHub
|
|
#45: <em>"emplace_back must return reference to
|
|
back(), not to *end()"</em></a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
new API: call/cc
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
deprecated API:execution-context
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
stack manipulation on MIPS fixed
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12719">#12719</a> segmentation fault when built with mingw-w64
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12948">#12948</a> Unexpected snprintf result is on Android ARM
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#38: context_entry() crashes on macOS
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#39: Unknown directive .cpu on aarch64 with Clang 3.8 on Android
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#41: std::bind() fails with invoke()
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#46: "rename of continuation member functions" missed a
|
|
spot
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#50: bad assembly for fcontext on ppc64/sysv/elf
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/conversion/">Conversion</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Docs were ported to Quickbook (thanks to Mikhail Maksimov for the
|
|
port)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a memory leak in test (thanks to Mikhail Maksimov for the fix)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI tests now run with <code><span class="identifier">address</span></code>,
|
|
<code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/core/">Core</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Implemented <code><span class="keyword">constexpr</span></code>
|
|
<code><span class="identifier">addressof</span></code> on compilers
|
|
that support C++11 <code><span class="keyword">constexpr</span></code>
|
|
and SFINAE expressions (Glen Fernandes). <code><span class="identifier">BOOST_CORE_NO_CONSTEXPR_ADDRESSOF</span></code>
|
|
macro indicates when <code><span class="keyword">constexpr</span></code>
|
|
<code><span class="identifier">addressof</span></code> is not
|
|
available.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
In <code><span class="identifier">lightweight_test</span><span class="special">.</span><span class="identifier">hpp</span></code>,
|
|
added new macros <code><span class="identifier">BOOST_TEST_ALL_EQ</span></code>
|
|
and <code><span class="identifier">BOOST_TEST_ALL_WITH</span></code>
|
|
for testing container contents (Bjorn Reese).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/coroutine2/">Coroutine2</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
#4: coroutine2&lt;&gt; does not accept std::bind
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/dll/">DLL</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed WinCE compilation
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">boost</span><span class="special">:</span><span class="identifier">dll</span><span class="special">::</span><span class="identifier">symbol_location_ptr</span></code> function for
|
|
getting location of a symbol by pointer that could not be dereferenced
|
|
(<code><span class="keyword">void</span></code> pointer for example)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed UB in <code><span class="identifier">detail</span><span class="special">::</span><span class="identifier">aggressive_ptr_cast</span></code>
|
|
for member pointers
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed leaks in experimental smart imports
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed warnings
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI tests now run with <code><span class="identifier">address</span></code>
|
|
and <code><span class="identifier">leak</span></code> sanitizers
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
(un)bounded_channel&lt;&gt; removed
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#100: ASIO: unbuffered_channel / scheduler notify issue
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#105: skynet variants crash on windows
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#106: Passing a fixed_stack allocator to async/packaged_task doesn't
|
|
compile
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#110: Compile error on ARMv6
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#111: endless-loop in buffered_channel::try_value_pop()
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
#114: buffered_channel::try_push<code> <span class="identifier">does</span>
|
|
<span class="keyword">not</span> <span class="identifier">wake</span>
|
|
<span class="identifier">fibers</span> <span class="identifier">in</span>
|
|
</code>pop`
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
matrix transformation is now based on Boost.QVM instead of
|
|
Boost.Ublas
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Breaking changes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
ublas_transformer is renamed to matrix_transformer
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
explicit modifier is added to constructors of rtree index::dynamic_*
|
|
parameters
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
strategy::area::huiller replaced by strategy::area::spherical
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Solved issues:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/363">363</a>
|
|
Missing includes in geometry/index/parameters.hpp
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/364">364</a>
|
|
within(Linear, Areal) compilation error when arguments use
|
|
different point types
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/370">370</a>
|
|
Buffer Seg Faults with Ring as Input
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Solved tickets:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/11899">11899</a>
|
|
boost::geometry::equals doesn't handle open polygons
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/11930">11930</a>
|
|
Inaccuracy of area::huiller strategy
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/11931">11931</a>
|
|
Wrong spherical area with pole encircling polygons
|
|
</div>
|
|
</li>
|
|
<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/12566">12566</a>
|
|
Ambiguous template instantiation in equal_to&lt;&gt; when pair
|
|
value contains raw pointer
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12861">12861</a>
|
|
Segmentation fault in stdlibc++ (gcc 4.8.2) affecting rtree
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12885">12885</a>
|
|
Use BOOST_THROW_EXCEPTION instead of throw
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix distance_measure in get_turn_info
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Stop using <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">unary_function</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">binary_function</span></code> when they're not
|
|
available.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed bugs:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12617">Trac
|
|
#12617 (<em>"clock_gettime not available on OS X
|
|
10.11"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12744">Trac
|
|
#12744 (<em>"winapi::set_timer_resolution inadvertently
|
|
changes timer resolution (Windows)"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/interprocess/pull/32">GitHub
|
|
Pull #32 (<em>"Conform to std::pointer_traits requirements"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/interprocess/pull/33">GitHub
|
|
Pull #33 (<em>"explicit cast to derived class"
|
|
and "64/32 bit processes sharing"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/interprocess/pull/34">GitHub
|
|
Pull #34 (<em>"Update example to use multi_index::member
|
|
instead of BOOST_MULTI_INDEX_MEMBER"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/interprocess/pull/35">GitHub
|
|
Pull #35 (<em>"Fixed options for cross-compilation"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New experimental option <code><span class="identifier">BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASED</span></code>
|
|
from Windows systems. This option derives the unique bootstamp used
|
|
to name the folder where shared memory is placed from registry values
|
|
associated with the session manager. This option only works on Vista
|
|
and later systems and might be more stable than the default version.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/intrusive/">Intrusive</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed bugs:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12745">Boost
|
|
Trac #12745: <em>key_nodeptr_comp broken if the key type
|
|
is void*</em></a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12761">Boost
|
|
Trac #12761: <em>intrusive::set::swap doesn't swap the
|
|
comparison function*</em></a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed multiple warnings <a href="https://svn.boost.org/trac/boost/ticket/11842">#11842</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI tests now run with <code><span class="identifier">address</span></code>,
|
|
<code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Big push to ensure all functions in also in C99 are compatible with
|
|
Annex F.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved accuracy of the Bessel functions I0, I1, K0 and K1, see
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12066">12066</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/multi_index/index.html">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed a bug related to ambiguous references in the presence of more
|
|
than one ranked index (ticket <a href="https://svn.boost.org/trac/boost/ticket/12955">#12955</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
In <code><span class="identifier">cpp_bin_float</span></code>
|
|
prevent double rounding when converting to a denormalized float.
|
|
See <a href="https://svn.boost.org/trac/boost/ticket/12527">#12527</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bug in integer sqrt for very small integers. See <a href="https://svn.boost.org/trac/boost/ticket/12559">#12559</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix conversion to signed-zero in <code><span class="identifier">cpp_bin_float</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Change <code><span class="identifier">cpp_bin_float</span></code>
|
|
rounding code to round at arbitrary location so we can use it for
|
|
conversions, see <a href="https://svn.boost.org/trac/boost/ticket/12527">#12527</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improve performance of 128-bit bit-scan operations.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix subtraction of very small quantities in <code><span class="identifier">cpp_bin_float</span></code>.
|
|
See: <a href="https://svn.boost.org/trac/boost/ticket/12580">#12580</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bring error handling into line with C99 Annex F. See <a href="https://svn.boost.org/trac/boost/ticket/12581">#12581</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bitwise export of trivial <code><span class="identifier">cpp_int</span></code>'s,
|
|
see <a href="https://svn.boost.org/trac/boost/ticket/12627">#12627</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix <code><span class="identifier">ilogb</span></code> (and code
|
|
that uses it) to consistently return the smallest value of the exponent
|
|
type when the argument is zero, see <a href="https://svn.boost.org/trac/boost/ticket/12625">#12625</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Allow conversion from <code><span class="identifier">__float128</span></code>
|
|
to <code><span class="identifier">cpp_bin_float</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bug in left shift of <code><span class="identifier">cpp_int</span></code>
|
|
which would result in bit-loss, see <a href="https://svn.boost.org/trac/boost/ticket/12790">#12790</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed bugs in bounded but variable precision <code><span class="identifier">cpp_int</span></code>'s
|
|
caused by over-aggressive constexpr optimization, see <a href="https://svn.boost.org/trac/boost/ticket/12798">#12798</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/predef/">Predef</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix Intel C/C++ compiler version specification.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add <code><span class="identifier">BOOST_VERSION_NUMBER_MAJOR</span></code>,
|
|
<code><span class="identifier">BOOST_VERSION_NUMBER_MINOR</span></code>,
|
|
<code><span class="identifier">BOOST_VERSION_NUMBER_PATCH</span></code>
|
|
macros to extract components from valid version numbers.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Change VS version numbering. Versions after VS2015 will use the compiler
|
|
version instead of the varied product versions.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Compiling with Oracle C++ toolset is no longer restricted to static
|
|
linking.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Big effort to de-fuzz the library using libFuzzer and fix identified
|
|
issues, see: <a href="https://svn.boost.org/trac/boost/ticket/12818">#12818</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/smart_ptr/">Smart Pointers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Rewrite of <code><span class="identifier">allocate_shared</span></code>
|
|
and <code><span class="identifier">make_shared</span></code> for
|
|
arrays for a more optimal and more maintainable implementation (Glen
|
|
Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Pointer cast functions with move semantics (Chris Glover)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.5 see the <a href="http://www.boost.org/doc/libs/1_64_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>
|
|
Now Boost.Test provides <strong>customization
|
|
points</strong> for logging user defined types
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
JUnit output format can now have a <em>log-level</em>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
JUnit output format has not better performances when the test
|
|
modules have a lot of checks
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Trac tickets <a href="https://svn.boost.org/trac/boost/ticket/11756">#11756</a>, <a href="https://svn.boost.org/trac/boost/ticket/12540">#12540</a>, <a href="https://svn.boost.org/trac/boost/ticket/12712">#12712</a>, <a href="https://svn.boost.org/trac/boost/ticket/12748">#12748</a>,
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12778">#12778</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Pull request <a href="https://github.com/boostorg/test/pull/107">PR107</a>,
|
|
<a href="https://github.com/boostorg/test/pull/108">PR108</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST</span></code>,
|
|
which implements the functionality for <code><span class="identifier">runtime_cast</span></code>
|
|
but does not include the <code><span class="identifier">BOOST_TYPE_INDEX_REGISTER_CLASS</span></code>
|
|
macro (thanks to Chris Glover for imlpementing it)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed undefined macro warning in stl_type_index.hpp <a href="https://svn.boost.org/trac/boost/ticket/12739">#12739</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI tests now run with <code><span class="identifier">address</span></code>,
|
|
<code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/type_traits/">TypeTraits</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added new traits <code><span class="identifier">make_void</span></code>
|
|
and <code><span class="identifier">void_t</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Initial support for new C++17 member functions: <code><span class="identifier">insert_or_assign</span></code>
|
|
and <code><span class="identifier">try_emplace</span></code> in
|
|
<code><span class="identifier">unordered_map</span></code>, <code><span class="identifier">merge</span></code> and <code><span class="identifier">extract</span></code>
|
|
in all containers.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="http://www.boost.org/libs/variant/">Variant</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed construction of variant from <code><span class="identifier">recursive_variant_</span></code>
|
|
(thanks to Mikhail Maksimov for the fix) <a href="https://svn.boost.org/trac/boost/ticket/12508">#12508</a>, <a href="https://svn.boost.org/trac/boost/ticket/12645">#12645</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Do not enable variadic templates for MSVC2015Update1 as it still
|
|
has issues <a href="https://svn.boost.org/trac/boost/ticket/12236">#12236</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Workaround GCC6 crash (thanks to Mikhail Maksimov for the workaround)
|
|
<a href="https://svn.boost.org/trac/boost/ticket/12680">#12680</a>, <a href="https://svn.boost.org/trac/boost/ticket/7120">#7120</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Made <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">polymorphic_</span><span class="special">*</span><span class="identifier">get</span></code> to work as <code><span class="identifier">boost</span><span class="special">::*</span><span class="identifier">get</span></code>
|
|
in undocumented border cases and fixed tests <a href="https://svn.boost.org/trac/boost/ticket/11950">#11950</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI tests now run with <code><span class="identifier">address</span></code>,
|
|
<code><span class="identifier">leak</span></code>, and <code><span class="identifier">undefined</span></code> sanitizers
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_64_0.compilers_tested">
|
|
<h3><span class="link">Compilers Tested</span></h3>
|
|
<p>
|
|
Boost's primary test compilers are:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1, 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.5, 3.6, 3.7.1, 3.8.1, 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.1, 6.2.0, 6.3.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++1z: 6.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++11: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 7.0.2
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 7.0.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14, mingw: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4, 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.8
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QNX:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
QCC: 4.4.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
SunOS:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio: 12.5
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio, C++11: 12.5
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.8.1, 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.4, 3.5, 3.6, 3.7. 3.8, 3.8.1, 3.9.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.9.1, 4.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++1z: 6.2.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++11: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 16.0, 17.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 7.0.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Android:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.6, 3.7, 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.9, 5.4, 6.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang, C++98: 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++11: 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++14: 3.8
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++1z: 3.8
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
QNX:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
QCC: 4.4.2
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
SunOS:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio: 12.5
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Oracle Solaris Studio, C++11: 12.5
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_64_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
<a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler,
|
|
<a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James,
|
|
Vladimir Prus and Marshall Clow managed this release.
|
|
</p>
|
|
</div>
|
|
</description></item>
|
|
</channel>
|
|
</rss>
|