mirror of
https://github.com/boostorg/website.git
synced 2026-01-24 18:32:38 +00:00
8063 lines
390 KiB
XML
8063 lines
390 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<rss version="2.0" xmlns:boostbook="urn:boost-org:boostbook" xmlns:atom="http://www.w3.org/2005/Atom">
|
|
<channel>
|
|
<generator>Boost Website Site Tools</generator>
|
|
<title>Release notes for work in progress boost</title>
|
|
<link>https://www.boost.org/</link>
|
|
<atom:link href="https://www.boost.org/generated/dev.rss" rel="self" type="application/rss+xml" />
|
|
<description></description>
|
|
<language>en-us</language>
|
|
<copyright>Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or https://www.boost.org/LICENSE_1_0.txt)</copyright>
|
|
<item><title>Version 1.71.0</title><link>https://www.boost.org/users/history/version_1_71_0.html</link><guid>https://www.boost.org/users/history/version_1_71_0.html</guid><pubDate>Mon, 19 Aug 2019 15:31:22 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_71_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/variant2/">Variant2</a>:</span> A never-valueless,
|
|
strong guarantee implementation of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span></code>,
|
|
from Peter Dimov.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_71_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/align/">Align</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Support for any integral type in the integral versions of <code><span class="identifier">align_up</span></code> and <code><span class="identifier">align_down</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Revised the implementation of <code><span class="identifier">aligned_allocator</span></code>
|
|
to no longer require a specialization for <code><span class="keyword">void</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Define <code><span class="identifier">propagate_on_container_move_assignment</span></code>
|
|
and <code><span class="identifier">is_always_equal</span></code>
|
|
in <code><span class="identifier">aligned_allocator</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/any/">Any</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Static initialization of the default constructed <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code>
|
|
is now possible.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed performance regression in assignment on a compilers without
|
|
move-semantics.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
This version consists mostly of bug fixes and performance improvements.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Substantial work included for the split compilation mode, to reduce
|
|
compile time when defining <code><span class="identifier">BOOST_BEAST_SEPARATE_COMPILATION</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
We'd love to know how you or your company use Beast, consider adding
|
|
an item to the <a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Companies
|
|
and Individuals Using Beast</a> list.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See the full <a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html">Release
|
|
Notes</a> for a complete list of changes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/circular_buffer/">Circular Buffer</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Correct doxygen generated reference to no longer show internal members.
|
|
(Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Eliminate ubsan warning on <code><span class="identifier">add</span></code>
|
|
and <code><span class="identifier">sub</span></code>. (Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix incorrect check in <code><span class="identifier">is_uninitialized</span></code>.
|
|
(Niklas Fejes)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/container/">Container</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed bugs:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/pull/47">GitHub
|
|
#47: <em>"added alignment specification for small_vector"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/88">GitHub
|
|
#88: <em>"Implement C++17 MoveAssignable requirements
|
|
for self-move assignments"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/107">GitHub
|
|
#107: <em>"Alignment ignored in resource_adaptor"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/pull/109">GitHub
|
|
#109: <em>"Get rid of integer overflow in copy_move_algo.hpp
|
|
(-fsanitize=integer)"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/pull/110">GitHub
|
|
#110: <em>"Avoid gcc 9 deprecated copy warnings
|
|
in new_allocator.hpp"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/112">GitHub
|
|
#112: <em>"vector::resize() compilation error with
|
|
msvc-10..12: data is not a member of boost::detail::aligned_storage"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/114">GitHub
|
|
#114: <em>"Fix small_vector noexcept specification"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/116">GitHub
|
|
#116: <em>"MSVC + boost 1.70 compilation error when
|
|
windows.h is already included (detail/thread_mutex.hpp)"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/117">GitHub
|
|
#117: <em>"flat_map/map::insert_or_assign with hint
|
|
has wrong return types"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/118">GitHub
|
|
#118: <em>"Non-unique inplace_set_difference used
|
|
in in flat_tree_merge_unique and iterator invalidation in insert_unique"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/122">GitHub
|
|
#122: <em>"Fix has_trivial_destructor_after_move"</em></a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/container/issues/123">GitHub
|
|
#123: <em>"With heterogeneous lookup, <code><span class="identifier">equal_range</span></code> can result in
|
|
a range with length greater than 1"</em></a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code>deque</code> can now
|
|
have options, using <code>deque_options</code>.
|
|
The block size/bytes can be be specified.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code>static_vector</code>
|
|
can now have options, using <code>static_vector_options</code>.
|
|
Alignment and throwing behaviour can be be specified.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code>small_vector</code>
|
|
can now have options, using <code>small_vector_options</code>.
|
|
Alignment and growth factor can be be specified.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add support for RISC-V LP64D
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/72">#72</a>: Fix ABI violation on ppc64 ELFv2
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/99">#99</a>: cleanup of stack if creating ucontext fails
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/conversion/">Conversion</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Maintenance work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/core/">Core</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">alloc_construct</span><span class="special">.</span><span class="identifier">hpp</span></code> header, which provides a set
|
|
of functions for allocator aware and exception safe construction
|
|
and destruction of objects and arrays. (Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">first_scalar</span><span class="special">.</span><span class="identifier">hpp</span></code> header, which provides the
|
|
<code><span class="identifier">first_scalar</span></code> function
|
|
for obtaining a pointer to the first scalar element of an array.
|
|
Given a pointer of type <code><span class="identifier">T</span><span class="special">*</span></code> they return a pointer of type <code><span class="identifier">remove_all_extents_t</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;*</span></code>.
|
|
(Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">noinit_adaptor</span><span class="special">.</span><span class="identifier">hpp</span></code> header, providing <code><span class="identifier">noinit_adaptor</span></code> class template,
|
|
that converts any allocator into one whose <code><span class="identifier">construct</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">)</span></code> performs default initialization
|
|
via placement new, and whose <code><span class="identifier">destroy</span><span class="special">(</span><span class="identifier">ptr</span><span class="special">)</span></code> invokes <code><span class="identifier">value_type</span></code>
|
|
destructor directly. (Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">default_allocator</span><span class="special">.</span><span class="identifier">hpp</span></code> header, providing <code><span class="identifier">default_allocator</span></code> class template,
|
|
which can serve as a minimal default allocator that has interface
|
|
similar to C++20 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>,
|
|
supports configurations with disabled exceptions and does not have
|
|
<code><span class="identifier">std</span></code> as an associated
|
|
namespace. The allocator uses <code><span class="keyword">operator</span>
|
|
<span class="keyword">new</span></code>/<code><span class="keyword">operator</span>
|
|
<span class="keyword">delete</span></code> for allocating memory.
|
|
(Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
In <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">uncaught_exceptions</span><span class="special">.</span><span class="identifier">hpp</span></code> header, added workarounds for
|
|
better compatibility with QNX SDP 7.0 when libc++/libc++abi libraries
|
|
are used. (Andrey Semashev, <a href="https://github.com/boostorg/core/issues/59">#59</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">sp_typeinfo</span><span class="special">.</span><span class="identifier">hpp</span></code> header is now marked as deprecated
|
|
and will be removed in a future release. <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">core</span><span class="special">/</span><span class="identifier">typeinfo</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
should be used instead. (Peter Dimov)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/dynamic_bitset/">Dynamic Bitset</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Enabled hardware-assisted popcount on MSVC (<a href="https://github.com/boostorg/dynamic_bitset/pull/38">PR#38</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for boost::hash and std::hash (<a href="https://github.com/boostorg/dynamic_bitset/pull/45">PR#45</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Support copy-initialization with default constructor (<a href="https://github.com/boostorg/dynamic_bitset/pull/48">PR#48</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/endian/">Endian</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clarified requirements on the value type template parameter
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for <code><span class="keyword">float</span></code>
|
|
and <code><span class="keyword">double</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">endian_load</span></code>,
|
|
<code><span class="identifier">endian_store</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated <code><span class="identifier">endian_reverse</span></code>
|
|
to correctly support all non-<code><span class="keyword">bool</span></code>
|
|
integral types
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Moved deprecated names to the deprecated header <code><span class="identifier">endian</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
documentation for shared_work updated
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/filesystem/">Filesystem</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed incorrect <code><span class="identifier">error_code</span></code>
|
|
returned from directory iterator increment when <code><span class="identifier">readdir_r</span></code>
|
|
is used.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
For <code><span class="identifier">path</span></code>, fixed rvalue-aware
|
|
<code><span class="keyword">operator</span><span class="special">/</span></code>
|
|
return type to return an rvalue instead of rvalue reference. This
|
|
fixes leaving a dangling reference in the user's code if the result
|
|
of <code><span class="keyword">operator</span><span class="special">/</span></code>
|
|
is bound to a const reference. (<a href="https://github.com/boostorg/filesystem/issues/110">#110</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixes for better compatibility with Windows CE. (<a href="https://github.com/boostorg/filesystem/pull/24">PR#24</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added minimal support for CMake. (<a href="https://github.com/boostorg/filesystem/pull/106">PR#106</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/flyweight/index.html">Flyweight</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Maintenance work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/histogram/index.html">Histogram</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Support for thread-safe storages and new thread-safe accumulators
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Support for compiling without exceptions/RTTI (increases performance
|
|
by 10-20 %) (with Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Performance improvements for 1D and 2D histograms
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
boost::histogram::indexed now returns forward iterator range
|
|
instead of input iterator range
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
boost::histogram::indexed_range::accessor is now non-copyable
|
|
and acts like reference to cell value, making more algorithms
|
|
from the C++ stdlib work
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
boost::histogram::algorithm::reduce with new slice option and
|
|
option fusion
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
boost::histogram::algorithm::project accepts runtime indices
|
|
for static histograms
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug Fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
boost::histogram::algorithm::reduce also works on histograms
|
|
that have some axis types without reduction support
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
boost::histogram::axis::traits::update now works correctly
|
|
for boost::histogram::axis::variant
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Other:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
100 % test coverage
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Reduced internal Boost dependencies
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved documentation and examples
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Guaranteed no-throw moves for all builtin axis types
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Compile cleanly at higher warning levels
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See <a href="https://www.boost.org/libs/histogram/doc/html/histogram/history.html">changelog</a>
|
|
for more details.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/iostreams/">IoStreams</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed processing of multi-stream files (<a href="https://github.com/boostorg/iostreams/pull/87">PR#87</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for multi-threaded LZMA (<a href="https://github.com/boostorg/iostreams/pull/95">PR#95</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/interprocess/">Interprocess</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/interprocess/pull/85">GitHub
|
|
#85 (<em>"warning: Implicit conversion loses integer precision"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/interprocess/pull/86">GitHub
|
|
#86 (<em>"warning: Possible misuse of comma operator"</em>)</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/intrusive/">Intrusive</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/intrusive/pull/42">GitHub
|
|
#42: <em>Documentation does not describe treap priority_of_value
|
|
changes</em></a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/intrusive/pull/43">GitHub
|
|
#43: <em>Fix tests with BOOST_INTRUSIVE_VARIADIC_TEMPLATES
|
|
enabled</em></a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/intrusive/pull/45">GitHub
|
|
#45: <em>Disable variadic templates for MSVC-12 to avoid ICEs</em></a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added tests for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span></code>
|
|
conversions <a href="https://github.com/boostorg/lexical_cast/issues/25">#25</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance work, including <a href="https://github.com/boostorg/lexical_cast/issues/28">#28</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improved support for C++17 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
|
|
in <code><span class="identifier">basic_formatting_ostream</span></code>.
|
|
The string view can now participate in character code conversion
|
|
on output.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">auto_newline</span></code>
|
|
formatter and stream manipulator. It can be used to ensure
|
|
that formatted output always ends with a newline while avoiding
|
|
duplicate newlines.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
In the output stream, text file and text multi-file sink backends
|
|
added support for configuring behavior with regard to appending
|
|
a trailing newline to every formatted log record. Use <code><span class="identifier">auto_newline_mode</span></code> named parameter
|
|
of the backend constructor or call the <code><span class="identifier">set_auto_newline_mode</span></code>
|
|
method on the sink backend.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<strong>Note:</strong> The default behavior
|
|
with regard to trailing newlines added by sink backends has
|
|
changed slightly compared to the previous Boost.Log releases.
|
|
The backends will now only add a trailing newline if there
|
|
isn't one in the formatted log message string already. In previous
|
|
releases a newline was added unconditionally.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for passing arbitrary function objects in the
|
|
<code><span class="identifier">filter</span></code> and
|
|
<code><span class="identifier">format</span></code> named
|
|
parameters to sink constructors and convenience functions for
|
|
initializing sinks. For example, it is now possible to specify
|
|
C++11 lambda functions directly in these parameters. (<a href="https://github.com/boostorg/log/issues/63">#63</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
In the default filter and formatter factories used in filter
|
|
and formatter parsers, added support for severity level attribute
|
|
values of type <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">log</span><span class="special">::</span><span class="identifier">trivial</span><span class="special">::</span><span class="identifier">severity_level</span></code>.
|
|
For filters, the support is limited to attributes with "Severity"
|
|
name.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed incorrect parsing of components of the rotated file names
|
|
while scanning for files in the text file sink backend. If
|
|
the file name pattern ended with a placeholder (for example,
|
|
a file counter), the <code><span class="identifier">scan_for_files</span></code>
|
|
method would not find files matching that pattern in the target
|
|
storage, leaving them unmanaged. In particular, such files
|
|
would not be deleted to free target storage. (<a href="https://github.com/boostorg/log/issues/78">#78</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated <code><span class="identifier">basic_formatting_ostream</span></code>
|
|
and <code><span class="identifier">basic_record_ostream</span></code>
|
|
to make it possible to overload stream output operators for
|
|
pointers to user-defined types. User-defined <code><span class="keyword">operator</span><span class="special">&lt;&lt;</span></code>
|
|
overloads taking <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span></code>
|
|
and a pointer argument should now be picked up by the compiler
|
|
when the pointer is being written to one of Boost.Log streams.
|
|
(<a href="https://github.com/boostorg/log/issues/84">#84</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See <a href="https://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="https://www.boost.org/libs/math/">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Catmull-Rom interpolator now works in C++11
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Cardinal quadratic B-spline interpolation
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Domain of elliptic integrals extended
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
sin_pi and cos_pi performance improvements
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Forward-mode automatic differentiation
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Vector valued barycentric rational interpolation
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Ooura's method for evaluation of Fourier integrals
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Multiple compatibility issues with Multiprecision fixed
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Lambert-W fixed on a rare architecture
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/metaparse/">Metaparse</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
In C++11 variadic template support for the following: <code><span class="identifier">sequence</span></code>, <code><span class="identifier">one_of_c</span></code>,
|
|
<code><span class="identifier">one_of</span></code>, <code><span class="identifier">repeated_one_of</span></code>, <code><span class="identifier">repeated_one_of1</span></code>, <code><span class="identifier">one_char_except_c</span></code>, <code><span class="identifier">one_char_except</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">BOOST_METAPARSE_STRING</span></code>
|
|
does not use out of range character values as template arguments.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">any_of_c</span><span class="special">&lt;&gt;</span></code>
|
|
does not create empty array in C++14.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/move/">Move</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/move/issues/26">Git Issue
|
|
#26: <em>"Invalid iterator increment/decrement in the
|
|
last iteration of adaptive_sort_combine_blocks"</em></a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multi_array/">Multi Array</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Simplify allocator support by using new <code><span class="identifier">alloc_construct_n</span></code>
|
|
and <code><span class="identifier">alloc_destroy_n</span></code>
|
|
facilities from Core. (Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added <a href="https://www.boost.org/libs/multi_index/doc/tutorial/key_extraction.html#x_mem_fun">variants
|
|
of <code><span class="identifier">const_mem_fun</span></code>
|
|
and <code><span class="identifier">mem_fun</span></code></a>
|
|
for differently qualified member functions (issue <a href="https://github.com/boostorg/multi_index/issues/24">#24</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Terse <a href="https://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#key"><code><span class="identifier">key</span></code></a> specification syntax
|
|
now correctly handles <code><span class="keyword">noexcept</span></code>-specified
|
|
member functions (issue <a href="https://github.com/boostorg/multi_index/issues/24">#24</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/outcome/">Outcome</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Enhancements:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/184">#184</a>
|
|
As per request from Boost release managers, relocated <code><span class="identifier">version</span><span class="special">.</span><span class="identifier">hpp</span></code> and <code><span class="identifier">revision</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
into detail, and added the Boost licence boilerplate to the
|
|
top of every source file which was missing one (I think). Also
|
|
took the opportunity to run the licence restamping script over
|
|
all Outcome, so copyright dates are now up to date.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/185">#185</a>
|
|
Add FAQ item explaining issue #185, and why we will do nothing
|
|
to fix it right now.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/189">#189</a>
|
|
Refactored the <code><span class="identifier">OUTCOME_TRY</span></code>
|
|
implementation to use more clarified customisation points capable
|
|
of accepting very foreign inputs. Removed the <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">expected</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span>
|
|
<span class="identifier">E</span><span class="special">&gt;</span></code>
|
|
specialisations, as those are no longer necessary. Fixed the
|
|
documentation for the customisation points which previously
|
|
claimed that they are ADL discovered, which they are not. Added
|
|
a recipe describing how to add in support for foreign input
|
|
types.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/183">#183</a>
|
|
Added a separate <code><span class="identifier">motivation</span><span class="special">/</span><span class="identifier">plug_error_code</span></code>
|
|
specifically for Boost.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">OUTCOME_VERSION_MINOR</span></code>
|
|
hadn't been updated to 1.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/181">#181</a>
|
|
Fix issue #181 where Outcome didn't actually implement the
|
|
strong swap guarantee, despite being documented as doing so.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/190">#190</a>
|
|
Fix issue #190 in Boost edition where unit test suite was not
|
|
runnable from the Boost release distro.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/182">#182</a>
|
|
Fix issue #182 where <code><span class="identifier">trait</span><span class="special">::</span><span class="identifier">is_exception_ptr_available</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> was always true, thus causing
|
|
much weirdness, like not printing diagnostics and trying to
|
|
feed everything to <code><span class="identifier">make_exception_ptr</span><span class="special">()</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/ned14/outcome/issues/192">#192</a>
|
|
Fix issue #192 where the <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_outcome_failure_exception_from_error</span><span class="special">()</span></code> was being defined twice for
|
|
translation units which combine standalone and Boost Outcome's.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/parameter/doc/html/index.html">Parameter</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Upgraded keyword generation macro <code><span class="identifier">BOOST_PARAMETER_TEMPLATE_KEYWORD</span></code>
|
|
(<a href="https://github.com/boostorg/parameter/pull/15">PR#15</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Moved keyword generation macro <code><span class="identifier">BOOST_PARAMETER_NESTED_KEYWORD</span></code>
|
|
from <a href="https://www.boost.org/libs/accumulators/doc/html/index.html">Accumulators</a>
|
|
to this library (<a href="https://github.com/boostorg/parameter/pull/28">PR#28</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">reference_wrapper</span></code>
|
|
and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">ref</span><span class="special">()</span></code>
|
|
(<a href="https://github.com/boostorg/parameter/pull/16">PR#16</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Moved <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">required</span></code>, <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">optional</span></code>,
|
|
and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">deduced</span></code> metafunction definitions
|
|
to their own header files in directory boost/parameter (<a href="https://github.com/boostorg/parameter/pull/18">PR#18</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for Boost.<a href="https://www.boost.org/libs/parameter/doc/html/index.html">Parameter</a>-enabled
|
|
function call operators (<a href="https://github.com/boostorg/parameter/pull/20">PR#20</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for parameter category qualifiers "forward",
|
|
"consume", and "move_from" (current qualifiers
|
|
are "in", "out", and "in_out") (<a href="https://github.com/boostorg/parameter/pull/21">PR#21</a>)
|
|
(<a href="https://github.com/boostorg/parameter/pull/23">PR#23</a>) based on <a href="http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters">http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters</a>.
|
|
Added new usage syntax <code><span class="identifier">BOOST_PARAMETER_NAME</span><span class="special">((</span><span class="identifier">object</span><span class="special">-</span><span class="identifier">name</span><span class="special">),</span> <span class="keyword">namespace</span><span class="special">-</span><span class="identifier">name</span><span class="special">)</span> <span class="identifier">qualifier</span><span class="special">(</span><span class="identifier">tag</span><span class="special">-</span><span class="identifier">name</span><span class="special">))</span></code> and <code><span class="identifier">BOOST_PARAMETER_NAME</span><span class="special">(</span><span class="identifier">qualifier</span><span class="special">(</span><span class="identifier">name</span><span class="special">))</span></code>. (Existing code that uses qualifiers
|
|
directly and correctly with <code><span class="identifier">BOOST_PARAMETER_FUNCTION</span></code>
|
|
and other code generation macros should remain unaffected for now,
|
|
so no breaking changes.) The reason for the change in usage is to
|
|
enable applying of parameter category constraints to Boost.<a href="https://www.boost.org/libs/parameter/doc/html/index.html">Parameter</a>-enabled
|
|
functions and constructors invoked through argument composition.
|
|
(Otherwise, it is currently possible to use argument composition
|
|
to bypass parameter category constraints applied in <code><span class="identifier">BOOST_PARAMETER_FUNCTION</span></code> et. al.)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for perfect forwarding (<a href="https://github.com/boostorg/parameter/pull/23">PR#23</a>) (<a href="https://github.com/boostorg/parameter/pull/26">PR#26</a>),
|
|
so that <code><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">parameters</span><span class="special">::</span><span class="keyword">operator</span><span class="special">()</span></code> can accept non-<code><span class="keyword">const</span></code>
|
|
rvalues. As a positive side effect, Boost.<a href="https://www.boost.org/libs/parameter/doc/html/index.html">Parameter</a>-enabled
|
|
functions and constructors are no longer bound by <code><span class="identifier">BOOST_PARAMETER_MAX_ARITY</span></code>
|
|
on compilers that support perfect forwarding. User code can now check
|
|
for this support by detecting the configuration macro <code><span class="identifier">BOOST_PARAMETER_HAS_PERFECT_FORWARDING</span></code>,
|
|
or manually turn off this support by defining the configuration macro
|
|
<code><span class="identifier">BOOST_PARAMETER_DISABLE_PERFECT_FORWARDING</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added metafunctions <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">is_argument_pack</span></code>
|
|
(<a href="https://github.com/boostorg/parameter/pull/27">PR#27</a>), <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">are_tagged_arguments</span></code>
|
|
(<a href="https://github.com/boostorg/parameter/pull/52">PR#52</a>), and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="identifier">compose</span></code>
|
|
(<a href="https://github.com/boostorg/parameter/pull/75">PR#75</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added variadic function template <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">compose</span><span class="special">()</span></code> which takes in named arguments
|
|
and returns them in an argument pack (<a href="https://github.com/boostorg/parameter/pull/52">PR#52</a>). For compilers
|
|
that do not support perfect forwarding, the configuration macro
|
|
<code><span class="identifier">BOOST_PARAMETER_COMPOSE_MAX_ARITY</span></code>
|
|
determines the maximum number of arguments that <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">parameter</span><span class="special">::</span><span class="identifier">compose</span><span class="special">()</span></code> can take in (<a href="https://github.com/boostorg/parameter/pull/61">PR#61</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added code generation macros <code><span class="identifier">BOOST_PARAMETER_BASIC_FUNCTION_CALL_OPERATOR</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_BASIC_CONST_FUNCTION_CALL_OPERATOR</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_NO_SPEC_FUNCTION</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR</span></code>,
|
|
<code><span class="identifier">BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR</span></code>,
|
|
and <code><span class="identifier">BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR</span></code>
|
|
(<a href="https://github.com/boostorg/parameter/pull/52">PR#52</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for Boost.<a href="https://www.boost.org/libs/mp11/doc/html/mp11.html">MP11</a>
|
|
(<a href="https://github.com/boostorg/parameter/pull/47">PR#47</a>) (<a href="https://github.com/boostorg/parameter/pull/66">PR#66</a>) (<a href="https://github.com/boostorg/parameter/pull/70">PR#70</a>). User code
|
|
can now check for this support by detecting the configuration macro
|
|
<code><span class="identifier">BOOST_PARAMETER_CAN_USE_MP11</span></code>,
|
|
or manually turn off this support by defining the configuration macro
|
|
<code><span class="identifier">BOOST_PARAMETER_DISABLE_MP11_USAGE</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved support for parameter-dependent return types via SFINAE
|
|
(<a href="https://github.com/boostorg/parameter/pull/73">PR#73</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/ptr_container/">PtrContainer</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix a ptr_vector regression introduced in 1.66.0 (<a href="https://github.com/boostorg/ptr_container/pull/24">PR#24</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Maintenance work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/smart_ptr/">SmartPtr</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added aliasing constructors to <code><span class="identifier">weak_ptr</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">weak_ptr</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">empty</span><span class="special">()</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">enable_shared_from</span></code>,
|
|
<code><span class="identifier">shared_from</span></code>, and
|
|
<code><span class="identifier">weak_from</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed output of <code><span class="identifier">name</span><span class="special">()</span></code>, <code><span class="identifier">source_location</span><span class="special">()</span></code> and <code><span class="identifier">source_line</span><span class="special">()</span></code> for the default constructed <code><span class="identifier">frame</span></code> with thread sanitizer builds
|
|
in C++98 mode.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed output of long strings from <code><span class="identifier">name</span><span class="special">()</span></code> and <code><span class="identifier">source_location</span><span class="special">()</span></code> on MSVC <a href="https://github.com/boostorg/stacktrace/issues/78">#78</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.11 see the <a href="https://www.boost.org/users/history/libs/test/doc/html/boost_test/change_log.html">Changes
|
|
log</a> for more details.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Breaking changes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.Test shows deprecation warnings if some very old headers
|
|
as deprecated. If you encounter such warnings, please follow
|
|
the indications: those headers will be removed in a future
|
|
release.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New feature:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Now <code><span class="identifier">BOOST_TEST</span></code>
|
|
can be used to compare abstract types
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes and pull requests:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
GitHub Issues: <a href="https://github.com/boostorg/test/issues/209">#209</a>, <a href="https://github.com/boostorg/test/issues/218">#218</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GitHub Pull Requests: <a href="https://github.com/boostorg/test/pull/219">PR#219</a>, <a href="https://github.com/boostorg/test/pull/224">PR#224</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/utility/">Utility</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Implemented function template <code><span class="identifier">ostream_string</span></code>
|
|
in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">/</span><span class="identifier">ostream_string</span><span class="special">.</span><span class="identifier">hpp</span></code> to optimally write any kind
|
|
of string content to an output stream. It satisfies the requirements
|
|
of [ostream.formatted.reqmts]. (Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Optimized the stream output operators of <code><span class="identifier">basic_string_view</span></code>
|
|
and <code><span class="identifier">basic_string_ref</span></code>
|
|
to write directly to the <code><span class="identifier">rdbuf</span></code>
|
|
stream buffer. (Glen Fernandes)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/uuid/">Uuid</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> MD5 name-based
|
|
uuid generation was corrected to be identical on all endian systems.
|
|
Define <code><span class="identifier">BOOST_UUID_COMPAT_PRE_1_71_MD5</span></code>
|
|
to keep the result in a format compatible with 1.66 through 1.70.
|
|
This does not affect the default name-based uuid generation which
|
|
is based on SHA1. (<a href="https://github.com/boostorg/uuid/pull/109">PR#109</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/variant/">Variant</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed compilation of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">apply_visitor</span></code>
|
|
with variants passed by non const reference in <a href="https://github.com/boostorg/variant/pull/68">PR#68</a>. Many
|
|
thanks to Ed Catmur for providing the fix.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for std::hash (<a href="https://github.com/boostorg/variant/pull/49">PR#49</a>). Macro <code><span class="identifier">BOOST_VARIANT_DO_NOT_SPECIALIZE_STD_HASH</span></code>
|
|
could be defined to avoid those specializations.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added micro optimizations for binary size and performance by Nikita
|
|
Kniazev in <a href="https://github.com/boostorg/variant/pull/63">PR#63</a> and <a href="https://github.com/boostorg/variant/pull/66">PR#66</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance work, including <a href="https://github.com/boostorg/variant/pull/64">PR#64</a> by Nikita Kniazev and <a href="https://github.com/boostorg/variant/pull/67">PR#67</a> by
|
|
Hans Dembinski.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/yap/">YAP</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added an example showing how to make self-evaluating YAP expressions
|
|
(that is, expressions that don't need an explicit call to <code><span class="identifier">evaluate</span><span class="special">()</span></code>
|
|
or <code><span class="identifier">transform</span><span class="special">()</span></code>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_71_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, 6.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, 6.0.1, 7.0.0, 8.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, 4.0.1, 5.0.2,
|
|
6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++2a: 10.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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.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, 6.0.1, 7.0.0, 8.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, 4.0.1, 5.0.2,
|
|
6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++2a: 10.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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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_71_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
Marshall Clow and Michael Caisse managed this release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.70.0</title><link>https://www.boost.org/users/history/version_1_70_0.html</link><guid>https://www.boost.org/users/history/version_1_70_0.html</guid><pubDate>Fri, 12 Apr 2019 06:04:48 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_70_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>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix moved-from executor in idle ping timeout (<a href="https://github.com/boostorg/beast/issues/1599">#1599</a>)
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/patches/1_70_0/0001-beast-fix-moved-from-executor.patch">Beast
|
|
patch</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_70_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/outcome/">Outcome</a>:</span> A set of tools for reporting
|
|
and handling function failures in contexts where <em>directly</em>
|
|
using C++ exception handling is unsuitable, from Niall Douglas.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/histogram/">Histogram</a>:</span> Fast and extensible
|
|
multi-dimensional histograms with convenient interface for C++14, from
|
|
Hans Dembinski.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_70_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
This release includes a number of new features, bug fixes, performance
|
|
enhancements, and documentation improvements. Notable changes include:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added the ability to use custom I/O executors with I/O objects
|
|
(such as sockets).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a new <code><span class="identifier">async_result</span></code>
|
|
form with an <code><span class="identifier">initiate</span></code>
|
|
static member function.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated the Coroutines TS support and promoted it to the <code><span class="identifier">asio</span></code> namespace.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a new <code><span class="identifier">DynamicBuffer_v2</span></code>
|
|
concept which is CopyConstructible.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a new <code><span class="identifier">async_compose</span></code>
|
|
function that simplifies the implementation of user-defined
|
|
asynchronous operations.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a <code><span class="identifier">make_strand</span></code>
|
|
helper function.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Relaxed the completion condition type requirements to only
|
|
require move-constructibility rather than copy-constructibility.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a constructor for <code><span class="identifier">local</span><span class="special">::</span><span class="identifier">basic_endpoint</span></code>
|
|
that takes a <code><span class="identifier">string_view</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added the noexcept qualifier to various functions.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a new <code><span class="identifier">BOOST_ASIO_DISABLE_VISIBILITY</span></code>
|
|
configuration <code><span class="preprocessor">#define</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Enabled recycling of the memory used to type-erase a function
|
|
object with the polymorphic executor.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed receive operations to return the correct number of
|
|
bytes transferred when truncation (<code><span class="identifier">error</span><span class="special">::</span><span class="identifier">message_size</span></code>)
|
|
occurs on a datagram-oriented socket.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed calculation of absolute timeout when the backend uses
|
|
<code><span class="identifier">pthread_cond_timedwait</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed the range-based asynchronous connect operation to deduce
|
|
the <code><span class="identifier">EndpointSequence</span></code>
|
|
iterator type.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">buffer_sequence_begin</span></code>
|
|
and <code><span class="identifier">buffer_sequence_end</span></code>
|
|
to prevent implicit conversion.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Ensured SSL handshake errors are propagated to the peer before
|
|
the local operation completes.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Suppressed the <code><span class="identifier">eof</span></code>
|
|
error on SSL shutdown as it actually indicates success.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a fallback error code for when we OpenSSL produces an
|
|
<code><span class="identifier">SSL_ERROR_SYSCALL</span></code>
|
|
result without an associated error.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed composed asynchronous read and write operations to
|
|
move buffer sequence objects.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a macOS-specific warning about the deprecation of <code><span class="identifier">OSMemoryBarrier</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed compile errors that occur when using the composed read
|
|
and write operations with MSVC 11.0.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved <code><span class="identifier">dispatch</span></code>,
|
|
<code><span class="identifier">post</span></code> and <code><span class="identifier">defer</span></code> documentation.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a Windows-specific memory leak that may occur when <code><span class="identifier">system_executor</span></code> is used.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Consult the <a href="https://www.boost.org/doc/libs/1_70_0/doc/html/boost_asio/history.html">Revision
|
|
History</a> for further details.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
|
|
<strong>BIG
|
|
Update!!!</strong>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Some APIs have changed.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The <a href="https://www.boost.org/libs/beast/doc/html/beast/quickref.html">reference</a>
|
|
shows a star ★ next to each new item.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Beast needs your help!
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast">Tell
|
|
Us</a> how you or your company use Beast
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Please <a href="https://github.com/boostorg/beast/issues/new">report</a>
|
|
any bugs, feature requests, or general feedback
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Join the <a href="https://cppalliance.org/slack/"><strong>C++ Slack Workspace</strong></a> for free
|
|
and chat with us in the #beast and #boost channels
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Don't forget to <a href="https://github.com/boostorg/beast">star
|
|
the repository</a> ⭐!
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
More tutorials, code like the pros!
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/libs/beast/doc/html/beast/using_io/asio_refresher.html">Networking
|
|
Refresher</a> teaches you from the ground up.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated <a href="https://www.boost.org/libs/beast/doc/html/beast/using_io/writing_composed_operations/echo.html">Asynchronous
|
|
Echo</a> example
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated <a href="https://www.boost.org/libs/beast/doc/html/beast/using_io/writing_composed_operations/detect_ssl.html"><strong>Detect SSL</strong></a> composed operation
|
|
tutorial
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/libs/beast/example/websocket/server/chat-multi">websocket-chat-multi</a>
|
|
threaded chat server with a JavaScript <a href="https://www.boost.org/libs/beast/example/websocket/server/chat-multi/chat_client.html">browser
|
|
client</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__basic_stream.html"><code><span class="identifier">basic_stream</span></code></a> and <a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__tcp_stream.html"><code><span class="identifier">tcp_stream</span></code></a> offer:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Timeouts: <code><span class="identifier">async_read_some</span></code>,
|
|
<code><span class="identifier">async_write_some</span></code>
|
|
complete with <a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__error.html"><code><span class="identifier">error</span><span class="special">::</span><span class="identifier">timeout</span></code></a> on expiration!
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Traffic-shaping policies <a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__simple_rate_policy.html"><code><span class="identifier">simple</span></code></a> and <a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__unlimited_rate_policy.html"><code><span class="identifier">unlimited</span></code></a>, or a user-defined
|
|
<a href="https://www.boost.org/libs/beast/doc/html/beast/concepts/RatePolicy.html"><em>RatePolicy</em></a>!
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Put the strand directly on the socket using <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html">P1322R0</a>,
|
|
no more <code><span class="identifier">bind_executor</span></code>
|
|
at call sites!
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Base classes <a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__async_base.html"><code><span class="identifier">async_base</span></code></a> and <a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__stable_async_base.html"><code><span class="identifier">stable_async_base</span></code></a> and handle
|
|
all composed operation boilerplate for you.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__ssl_stream.html"><code><span class="identifier">ssl_stream</span></code></a> provides a movable,
|
|
assignable SSL stream with a flat write optimization.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
All asynchronous operations use Asio's <code><span class="identifier">async_initiate</span></code>
|
|
for efficient integration with Coroutines TS.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
⚡ <strong><em>faster compilation</em></strong>,
|
|
define <code><span class="identifier">BOOST_BEAST_SEPARATE_COMPILATION</span></code>
|
|
and <code><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">beast</span><span class="special">/</span><span class="identifier">src</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
|
|
in one of your .cpp files!
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See the full <a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html">Release
|
|
Notes</a> for a complete list of changes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/91">#91</a>: cleanup of stack if creating ucontext fails
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/97">#97</a>: add missing BOST_CONTEXT_DECL in stack_context
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/98">#98</a>: fix jump_i386_sysv_macho writing garbage to the x87
|
|
control word
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/coroutine2/">Coroutine2</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/coroutine2/issues/28">#28</a>: don't crash on pthread_cancel
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New macro <a href="https://www.boost.org/libs/dll/BOOST_DLL_USE_STD_FS.html">BOOST_DLL_USE_STD_FS</a>.
|
|
Define it to <code><span class="number">1</span></code> to make
|
|
the Boost.DLL use C++17's <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">path</span></code>,
|
|
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">system_error</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code> (<a href="https://github.com/boostorg/dll/issues/21">#21</a>). Note that
|
|
exception types change from <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">system_error</span></code>
|
|
to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">system_error</span></code>, so make sure to update
|
|
<code><span class="keyword">catch</span></code>es.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Significant rewrite of the dynamic loadable detection and decoration
|
|
logic. More precise errors are now reported in case of loading failures.
|
|
Added <code><span class="identifier">shared_library</span><span class="special">::</span><span class="identifier">decorate</span><span class="special">()</span></code> function that returns a decorated
|
|
path to the library without doing any platform related queries and
|
|
detections. Prefer using <code><span class="identifier">shared_library</span><span class="special">::</span><span class="identifier">load</span></code>
|
|
and <code><span class="identifier">shared_library</span></code>
|
|
constructors for better results (many thanks to Loïc Touraine for
|
|
the work <a href="https://github.com/boostorg/dll/pull/23">PR#23</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI hardening, docs updates, typos fixes, cleanups and many portability
|
|
fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/dynamic_bitset/">Dynamic Bitset</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Disabled hardware-assisted popcount (added in 1.69.0) on MSVC due
|
|
to undefined behavior on older CPUs. (<a href="https://github.com/boostorg/dynamic_bitset/issues/33">#33</a> <a href="https://github.com/boostorg/dynamic_bitset/pull/35">PR#35</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/191">#191</a>: ignore unused argument warning
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/196">#196</a>: fix high contention on remote_ready_splk_
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/filesystem/">Filesystem</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed a few instances of dereferencing <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">end</span><span class="special">()</span></code> in <code><span class="identifier">path</span></code>
|
|
implementation.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed program termination in case of out of memory condition in directory
|
|
iterators constructors and operations accepting a reference to <code><span class="identifier">error_code</span></code>. (<a href="https://github.com/boostorg/filesystem/issues/58">#58</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed possible linking errors caused by missing definitions of static
|
|
members of <code><span class="identifier">path</span></code>.
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/12759">#12759</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed possible use of uninitialized data in directory iterator increment
|
|
operation on Linux.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for movability to directory iterators.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added file status query overloads for <code><span class="identifier">directory_entry</span></code>.
|
|
This avoids a relatively expensive OS query when file status is requested
|
|
for a result of dereferencing a directory iterator. (<a href="https://github.com/boostorg/filesystem/pull/55">PR#55</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Reworked <code><span class="identifier">current_path</span></code>
|
|
and <code><span class="identifier">read_symlink</span></code>
|
|
implementation to avoid possible memory exhaustion on broken or tampered
|
|
with filesystems. The functions now have an internal limit of the
|
|
path size they will accept from the OS, which is currently 16 MiB.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Increased the size of the internal buffer used by <code><span class="identifier">copy_file</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/integer/">Integer</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added Extended Euclidean Algorithm and Modular Multiplicative Inverse
|
|
function. (Nick Thompson, <a href="https://github.com/boostorg/integer/pull/11">PR#11</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added support for generating another log file name before collecting
|
|
the file in the text file sink backend. This allows to combine
|
|
appending to an existing log file with timestamps and file
|
|
counters in log filenames, and, consequently, file collection
|
|
in general.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See <a href="https://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="https://www.boost.org/libs/math/">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New features:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add Lanczos smoothing derivatives
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Move <code><span class="identifier">numerical_differentiation</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
from <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">tools</span><span class="special">/</span></code> to <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">differentiation</span><span class="special">/</span><span class="identifier">finite_difference</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add mean, variance, skewness, kurtosis, median, Gini coefficient,
|
|
and median absolute deviation to <code><span class="identifier">tools</span><span class="special">/</span><span class="identifier">univariate_statistics</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add correlation coefficients and covariance to <code><span class="identifier">tools</span><span class="special">/</span><span class="identifier">bivariate_statistics</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add absolute Gini coefficient, Hoyer sparsity, oracle SNR,
|
|
and the <em>M</em>[sub 2]<em>M</em>[sub
|
|
4] SNR estimator to <code><span class="identifier">tools</span><span class="special">/</span><span class="identifier">signal_statistics</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add total variation, l0, l1, l2, and sup norms, as well as
|
|
corresponding distance functions to <code><span class="identifier">tools</span><span class="special">/</span><span class="identifier">norms</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add move constructors for polynomials, support complex coefficients,
|
|
add <code><span class="special">.</span><span class="identifier">prime</span><span class="special">()</span></code> and <code><span class="special">.</span><span class="identifier">integrate</span><span class="special">()</span></code>
|
|
methods.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add <code><span class="identifier">quadratic_roots</span></code>
|
|
to <code><span class="identifier">tools</span><span class="special">/</span><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add support for complex-valued functions to Newton's method
|
|
in <code><span class="identifier">roots</span><span class="special">.</span><span class="identifier">hpp</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add Catmull-Rom interpolator.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Renamed <code><span class="identifier">mp_invoke</span></code>
|
|
to <code><span class="identifier">mp_invoke_q</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_similar</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_set_union</span></code>,
|
|
<code><span class="identifier">mp_set_intersection</span></code>,
|
|
<code><span class="identifier">mp_set_difference</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_not_fn</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_transform_first</span></code>,
|
|
<code><span class="identifier">mp_transform_second</span></code>,
|
|
<code><span class="identifier">mp_transform_third</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_filter</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_eval_if_not</span></code>,
|
|
<code><span class="identifier">mp_eval_or</span></code>, <code><span class="identifier">mp_valid_q</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">mp_back</span></code>, <code><span class="identifier">mp_pop_back</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">size_type</span></code> and <code><span class="identifier">difference_type</span></code> are now defined
|
|
as the allocator's same-named types. This will not make any difference
|
|
in the vast majority of cases, but allows for some degree of control
|
|
of resulting internal structures via user-defined allocator types
|
|
(see issue <a href="https://github.com/boostorg/multi_index/issues/17">#17</a> for motivation). For the moment being,
|
|
this change is not documented in the reference section (i.e., it
|
|
has semi-official status).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance work.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix various conversion issues in the traits classes, check for compatibility
|
|
with Boost.Optional.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Prevent instantiation of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>
|
|
on any old type when checking for convertibility. See <a href="https://github.com/boostorg/multiprecision/issues/98">#98</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update variable precision code to account for arbitrary precision
|
|
integers. See <a href="https://github.com/boostorg/multiprecision/issues/103">#103</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add support for XML serialization archives.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bug in fixed precision iostream formatting in <code><span class="identifier">mpf_float</span></code>
|
|
and <code><span class="identifier">mpfr_float</span></code>. See
|
|
<a href="https://github.com/boostorg/multiprecision/issues/113">#113</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add more overloads for special functions which are better handled
|
|
natively by MPFR.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed bug in generic <code><span class="identifier">exp</span></code>
|
|
implementation which could cause invariant failure.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed generic conversion from float to integer to avoid undefined
|
|
behaviour. See <a href="https://github.com/boostorg/multiprecision/issues/110">#110</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improved handling of stateful allocators and allocator propagation
|
|
traits, after an error reported by Billy O'Neal (<a href="https://github.com/boostorg/poly_collection/pull/9">PR#9</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a potentially serious bug with an internal cache structure.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/spirit/">Spirit</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Removed use of deprecated <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
header. <a href="https://github.com/boostorg/spirit/pull/432">PR#432</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
X3
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Integer parsers should now handle user defined types. <a href="https://github.com/boostorg/spirit/pull/429">PR#429</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<strong>Note:</strong> The <code><span class="identifier">check_overflow</span></code>
|
|
trait default implementation now relies on <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_bounded</span></code>
|
|
instead of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integer_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_integral</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed sequence into plain parsing. Now it triggers a compile
|
|
time error instead of silently parsing the the sequence and
|
|
taking the last value as a result. <a href="https://github.com/boostorg/spirit/pull/439">PR#439</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">parse_rule</span></code>
|
|
instantiation with <code><span class="identifier">BOOST_SPIRIT_INSTANTIATE</span></code>
|
|
when:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
A rule has no attribute. <a href="https://github.com/boostorg/spirit/pull/455">PR#455</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
An actual attribute is not of type a rule was declared
|
|
with. <a href="https://github.com/boostorg/spirit/pull/456">PR#456</a> <a href="https://github.com/boostorg/spirit/issues/457">#457</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
A <strong>huge</strong> thanks goes out to
|
|
<a href="https://github.com/Xeverous">Xeverous</a> for
|
|
reporting a regression in <a href="https://github.com/boostorg/spirit/issues/453">#453</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed unneded attribute synthesization and no-transformation
|
|
attribute reference pass-through in rules. <a href="https://github.com/boostorg/spirit/issues/444">#444</a> <a href="https://github.com/boostorg/spirit/pull/449">PR#449</a> <a href="https://github.com/boostorg/spirit/pull/452">PR#452</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed broken 1.0#INF parser. It was poorly documented and
|
|
never worked. <a href="https://github.com/boostorg/spirit/issues/415">#415</a> <a href="https://github.com/boostorg/spirit/pull/458">PR#458</a> <a href="https://svn.boost.org/trac/boost/ticket/8699">#8699</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The undocumented <code><span class="identifier">make_attribute</span></code>
|
|
trait was removed due to bugs <a href="https://github.com/boostorg/spirit/pull/449">PR#449</a>
|
|
and to simplify
|
|
attribute transformation. <a href="https://github.com/boostorg/spirit/pull/460">PR#460</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
If you were using it to workaround bugs in attribute transformation
|
|
- they should not be needed anymore as of this release.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The integer value parser now respects <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits10</span></code>
|
|
value. <a href="https://github.com/boostorg/spirit/pull/469">PR#469</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed underflow check for a <code><span class="special">(</span><span class="identifier">Min</span> <span class="special">%</span>
|
|
<span class="identifier">Base</span><span class="special">)</span>
|
|
<span class="special">==</span> <span class="number">0</span></code>
|
|
corner case. <a href="https://github.com/boostorg/spirit/pull/469">PR#469</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed an output value on overflow of IgnoreOverflowDigits=true
|
|
integer parser. <a href="https://github.com/boostorg/spirit/pull/470">PR#470</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Container attribute elements were copyied, but not moved. <a href="https://github.com/boostorg/spirit/pull/472">PR#472</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Special handling of references in <code><span class="identifier">transform_attribute</span></code>
|
|
was removed. <a href="https://github.com/boostorg/spirit/pull/480">PR#480</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
V2
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Macro name collisions and namespace conflicts with Boost.Endian
|
|
were fixed. <a href="https://github.com/boostorg/spirit/pull/349">PR#349</a> <a href="https://github.com/boostorg/spirit/pull/482">PR#482</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
utree
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed UB in tag getter due to left shift of negative
|
|
value. <a href="https://github.com/boostorg/spirit/pull/423">PR#423</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed double-conversion (<code><span class="identifier">spirit</span><span class="special">::</span><span class="identifier">string</span>
|
|
<span class="special">-&gt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span>
|
|
<span class="special">-&gt;</span> <span class="identifier">spirit</span><span class="special">::</span><span class="identifier">string</span></code>).
|
|
<a href="https://github.com/boostorg/spirit/pull/462">PR#462</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Qi
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added static asserts for rule skipper type problems.
|
|
<a href="https://github.com/boostorg/spirit/pull/427">PR#427</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The <code><span class="identifier">check_overflow</span></code>
|
|
trait default implementation now relies on <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_bounded</span></code> instead
|
|
of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integer_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_integral</span></code>
|
|
<a href="https://github.com/boostorg/spirit/pull/429">PR#429</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Integer parsers should now handle user defined types.
|
|
<a href="https://github.com/boostorg/spirit/pull/429">PR#429</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<strong>Note:</strong> The <code><span class="identifier">check_overflow</span></code> trait
|
|
default implementation now relies on <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_bounded</span></code>
|
|
instead of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">integer_traits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">is_integral</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed broken 1.0#INF parser. It was poorly documented
|
|
and never worked. <a href="https://github.com/boostorg/spirit/issues/415">#415</a> <a href="https://github.com/boostorg/spirit/pull/458">PR#458</a> <a href="https://svn.boost.org/trac/boost/ticket/8699">#8699</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The undocumented <code><span class="identifier">make_attribute</span></code>
|
|
trait was merged into <code><span class="identifier">transform_attribute</span></code>
|
|
trait. <a href="https://github.com/boostorg/spirit/pull/471">PR#471</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The <code><span class="identifier">pre_transform</span></code>,
|
|
<code><span class="identifier">post_transform</span></code>,
|
|
and <code><span class="identifier">fail_transform</span></code>
|
|
utility functions were removed in favor of directly using
|
|
<code><span class="identifier">pre</span></code>/<code><span class="identifier">post</span></code>/<code><span class="identifier">fail</span></code> of the transform
|
|
trait. <a href="https://github.com/boostorg/spirit/pull/467">PR#467</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The integer value parser now respects <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">digits10</span></code>
|
|
value. <a href="https://github.com/boostorg/spirit/pull/469">PR#469</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed underflow check for a <code><span class="special">(</span><span class="identifier">Min</span> <span class="special">%</span>
|
|
<span class="identifier">Base</span><span class="special">)</span>
|
|
<span class="special">==</span> <span class="number">0</span></code>
|
|
corner case. <a href="https://github.com/boostorg/spirit/pull/469">PR#469</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed an output value on overflow of IgnoreOverflowDigits=true
|
|
integer parser. <a href="https://github.com/boostorg/spirit/pull/470">PR#470</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Special handling of references in <code><span class="identifier">transform_attribute</span></code>
|
|
was removed. <a href="https://github.com/boostorg/spirit/pull/480">PR#480</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Lex
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed UB in default constructor of lexer with user specified
|
|
token type. <a href="https://github.com/boostorg/spirit/pull/420">PR#420</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Classic:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">position_iterator</span></code>
|
|
forming reference to local when the underlying iterator dereference
|
|
operator returns a non-reference type. <a href="https://github.com/boostorg/spirit/pull/422">PR#422</a> <a href="https://svn.boost.org/trac/boost/ticket/9737">#9737</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Build fix for iOS 32-bit ARM (many thanks to Ivan Ponomarev for providing
|
|
the fix <a href="https://github.com/boostorg/stacktrace/pull/70">PR#70</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed multiple typos, warnings and updated the docs.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.10 see the <a href="https://www.boost.org/libs/test/doc/html/boost_test/change_log.html">Changes
|
|
log</a> for more details.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Breaking changes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.Test <code><span class="identifier">minimal</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
is now showing a deprecation warning,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Change in floating point comparison may fail tests that were
|
|
silently not using the floating point comparison logic prior
|
|
to this release,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Internal API change to <code><span class="identifier">unit_test_log_formatter</span></code>,
|
|
see detailed change log,
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New feature:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Floating point comparison has been extended to capture non-floating
|
|
point and arithmetic operands: expressions like <code><span class="identifier">BOOST_TEST</span><span class="special">(</span><span class="number">3.0001</span> <span class="special">==</span>
|
|
<span class="number">3</span><span class="special">)</span></code>
|
|
now use floating point support of Boost.Test,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Custom datasets are not required to declare the <code><span class="identifier">sample</span></code> type field anymore,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Extending template test cases from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code>
|
|
to any variadic definition,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Windows support for timed tests,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Timed test on test-suites,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed dependency to Boost.Timer,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New macro <code><span class="identifier">BOOST_TEST_INFO_SCOPE</span></code>
|
|
for scoped context declaration,
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved <code><span class="identifier">BOOST_TEST_CONTEXT</span></code>
|
|
syntax
|
|
</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/7397">#7397</a>, <a href="https://svn.boost.org/trac/boost/ticket/9434">#9434</a>, <a href="https://svn.boost.org/trac/boost/ticket/13106">#13106</a>, <a href="https://svn.boost.org/trac/boost/ticket/13418">#13418</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GitHub Issues: <a href="https://github.com/boostorg/test/issues/133">#133</a>, <a href="https://github.com/boostorg/test/issues/138">#138</a>, <a href="https://github.com/boostorg/test/issues/141">#141</a>, <a href="https://github.com/boostorg/test/issues/157">#157</a>,
|
|
<a href="https://github.com/boostorg/test/issues/160">#160</a>, <a href="https://github.com/boostorg/test/issues/174">#174</a>, <a href="https://github.com/boostorg/test/issues/176">#176</a>, <a href="https://github.com/boostorg/test/issues/177">#177</a>, <a href="https://github.com/boostorg/test/issues/180">#180</a>,
|
|
<a href="https://github.com/boostorg/test/issues/181">#181</a>, <a href="https://github.com/boostorg/test/issues/194">#194</a>, <a href="https://github.com/boostorg/test/issues/196">#196</a>, <a href="https://github.com/boostorg/test/issues/198">#198</a>, <a href="https://github.com/boostorg/test/issues/199">#199</a>,
|
|
<a href="https://github.com/boostorg/test/issues/202">#202</a>, <a href="https://github.com/boostorg/test/issues/203">#203</a>, <a href="https://github.com/boostorg/test/issues/204">#204</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GitHub Pull Requests: <a href="https://github.com/boostorg/test/pull/171">PR#171</a>, <a href="https://github.com/boostorg/test/pull/172">PR#172</a>, <a href="https://github.com/boostorg/test/pull/182">PR#182</a>,
|
|
<a href="https://github.com/boostorg/test/pull/183">PR#183</a>, <a href="https://github.com/boostorg/test/pull/184">PR#184</a>, <a href="https://github.com/boostorg/test/pull/190">PR#190</a>, <a href="https://github.com/boostorg/test/pull/195">PR#195</a>,
|
|
<a href="https://github.com/boostorg/test/pull/195">PR#195</a>, <a href="https://github.com/boostorg/test/pull/197">PR#197</a>, <a href="https://github.com/boostorg/test/pull/205">PR#205</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Support for the GHS C++ compiler added (many thanks to Brandon Castellano
|
|
for providing the patch <a href="https://github.com/boostorg/type_index/pull/28">PR#28</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Optimized string and type comparisons (many thanks to Andrey Semashev
|
|
for providing the patch <a href="https://github.com/boostorg/type_index/pull/23">PR#23</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed clang-win compilation (many thanks to Peter Dimov for providing
|
|
the patch <a href="https://github.com/boostorg/type_index/pull/25">PR#25</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI hardening.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/type_traits/">TypeTraits</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added is_bounded_array and is_unbounded_array (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added copy_reference and copy_cv_ref (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improved support for msvc with /clr option.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Misc compiler compatibility fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/variant/">Variant</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Many cleanups and internal improvements, many thanks to Nikita Kniazev
|
|
(<a href="https://github.com/boostorg/variant/pull/55">PR#55</a>, <a href="https://github.com/boostorg/variant/pull/56">PR#56</a>, <a href="https://github.com/boostorg/variant/pull/57">PR#57</a>) and Louis Dionne
|
|
(<a href="https://github.com/boostorg/variant/pull/51">PR#51</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI hardening.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/numeric/ublas/">uBlas</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Addition of tensor framework (many thanks to Cem Bassoy <a href="https://github.com/boostorg/ublas/pull/65">PR#65</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Addition of basic OpenCL support (many thanks to Fady Essam <a href="https://github.com/boostorg/ublas/pull/59">PR#59</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Integration of basic benchmark suite (many thanks to Stefan Seefeld
|
|
<a href="https://github.com/boostorg/ublas/pull/57">PR#57</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
CI integration and hardening
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_70_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, 6.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, 6.0.1, 7.0.0, 8.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, 4.0.1, 5.0.2,
|
|
6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++2a: 10.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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.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, 6.0.1, 7.0.0, 8.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, 4.0.1, 5.0.2,
|
|
6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++2a: 10.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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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_70_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
Daniel James, Vladimir Prus, Marshall Clow and Michael Caisse managed this
|
|
release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.69.0</title><link>https://www.boost.org/users/history/version_1_69_0.html</link><guid>https://www.boost.org/users/history/version_1_69_0.html</guid><pubDate>Wed, 12 Dec 2018 02:58:32 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_69_0.notes_for_non_windows_users">
|
|
<h3><span class="link">Notes for non-Windows
|
|
users</span></h3>
|
|
<p>
|
|
The Boost build system now supports visibilities. If you are building shared
|
|
libraries, they will use hidden visibility by default. As a result Boost shared
|
|
libraries become smaller, load faster and have less chances to get a symbol
|
|
collision.
|
|
</p>
|
|
<p>
|
|
See <a href="https://www.boost.org/build/manual/develop/index.html#bbv2.builtin.features.visibility">Boost.Build
|
|
visibility and local-visibility</a> for more info.
|
|
</p>
|
|
<p>
|
|
To disable that feature you can use use a command line <code><span class="special">./</span><span class="identifier">b2</span> <span class="identifier">visibility</span><span class="special">=</span><span class="identifier">global</span></code> to
|
|
build.
|
|
</p>
|
|
</div>
|
|
<div id="version_1_69_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/safe_numerics/">Safe Numerics</a>:</span> A library
|
|
for guaranteed correct integer arithmetic for C++14 and later, from Robert
|
|
Ramey.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_69_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/any/">Any</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed issue with visibility. Now <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">any</span></code>
|
|
variables constructed in one shared library with hidden visibility
|
|
could be used and destroyed in other shared library with hidden visibility.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance: dropped some dependencies on other Boost libraries,
|
|
fixes for docs.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/asio/">Asio</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed a problem with the detection of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">future</span></code>
|
|
availability with libstdc++.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed compile error in regex overload of <code><span class="identifier">read_until</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a timer heap corruption issue that can occur when moving a
|
|
cancelled timer.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed detection of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">string_view</span></code>
|
|
and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code> with newer clang/libc++.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed MSVC version detection for availability of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">invoke_result</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed the buffer sequence traits to test the new requirements, if
|
|
<code><span class="keyword">decltype</span></code> is available.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed an MSVC issue when building with exceptions disabled.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added SSL context options for TLS v1.3.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a compile-time test for TLS v1 support.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed the macro used to test for TLS v1.2 support.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Prevented global objects from being created once per thread on Windows.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a crash when using <code><span class="identifier">size</span><span class="special">()</span></code>, <code><span class="identifier">max_size</span><span class="special">()</span></code> or <code><span class="identifier">empty</span><span class="special">()</span></code> on default-constructed resolver
|
|
results.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed to move the return value in <code><span class="identifier">basic_resolver_results</span><span class="special">::</span><span class="identifier">begin</span><span class="special">()</span></code> to avoid copying.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Enabled move support for the Intel Compiler.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code> detection issue when
|
|
using clang-cl.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed the handler tracking operation name for <code><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">executor_type</span><span class="special">::</span><span class="identifier">dispatch</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a buffer overflow that could occur when parsing an address
|
|
string with a 64-bit scope id.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added examples showing how to write composed operations.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added C++11 versions of the Timeouts, Timers, SOCKS4 and SSL examples.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed minor issues in documentation and examples.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/assign/">Assign</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add rvalue reference, perfect forwarding, and variadic template support
|
|
(<a href="https://github.com/boostorg/assign/pull/6">PR#6</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10477">#10477</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Avoid conversion to container's allocator (<a href="https://github.com/boostorg/assign/pull/29">PR#29</a>) (<a href="https://svn.boost.org/trac/boost/ticket/5419">#5419</a>)
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/7364">#7364</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
This version fixes some issues in the examples, and provides a new
|
|
experimental socket which supports built-in timeouts on asynchronous
|
|
operations.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New CppCon 2018 <a href="https://www.boost.org/doc/libs/master/libs/beast/doc/html/beast/examples.html#beast.examples.cppcon_2018">websocket
|
|
chat example</a> and <a href="https://www.youtube.com/watch?v=7FQwAjELMek">presentation
|
|
video</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
For a complete list of changes, please view the official <a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html">Release
|
|
Notes</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/circular_buffer/">CircularBuffer</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Use the empty base optimization for storing allocators that are empty
|
|
and not final (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/concept_check/">Concept Check</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Removed dependency on mpl. (<a href="https://github.com/boostorg/concept_check/pull/14">PR#14</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/85">#85</a>: duplicate alias should be missing GCC alias
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/87">#87</a>: the clang-win toolset (clang-cl.exe) uses masm from
|
|
the underlying msvc
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/90">#90</a>: remove useless lines in Jamfile.v2
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/91">#91</a>: add .file section for *_elf_gas.S files
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/core/">Core</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Implemented <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">empty_value</span></code>,
|
|
for library authors to conveniently leverage the Empty Base Optimization
|
|
to store objects of potentially empty types (Glen Fernandes). This
|
|
facility is now used in Boost.Beast, Boost.CircularBuffer, Boost.MultiArray,
|
|
and more.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Implemented <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">quick_exit</span></code>
|
|
to provide the C++11 standard library facility <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">quick_exit</span></code>
|
|
functionality (Peter Dimov).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Reduced the number of statics in Lightweight Test, and employ lighter
|
|
abort behavior for MSVC compilers upon failure to call <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">report_errors</span></code> (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/dll/">DLL</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Resolved link issues with the smart library <a href="https://github.com/boostorg/dll/issues/20">#20</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance: fixes for docs and tests.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/dynamic_bitset/">Dynamic Bitset</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Performance improvements (over 2x in some cases). (<a href="https://github.com/boostorg/dynamic_bitset/pull/26">PR#26</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added range-based set, reset, flip methods (<a href="https://github.com/boostorg/dynamic_bitset/pull/27">PR#27</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/181">#181</a>: unbuffered_channel push not return
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/182">#182</a>: Remove UTF-8 BOM at begining of the file
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/183">#183</a>: Fix boost-install use; should only be issued once
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/filesystem/">Filesystem</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Don't use <code><span class="identifier">readdir_r</span></code>
|
|
on Linux and Android since the <code><span class="identifier">readdir</span></code>
|
|
function is already thread-safe. (<a href="https://github.com/boostorg/filesystem/pull/68">PR#68</a>, <a href="https://github.com/boostorg/filesystem/issues/72">#72</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed crashes in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">copy</span></code>
|
|
due to undefined behavior in the implementation. (<a href="https://github.com/boostorg/filesystem/pull/71">PR#71</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed undefined behavior in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">directory_iterator</span></code>
|
|
implementation. (<a href="https://github.com/boostorg/filesystem/pull/77">PR#77</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed compilation errors when using directory iterators with <code><span class="identifier">BOOST_FOREACH</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed workarounds for older PGI C++ compiler versions to fix compilation
|
|
on the newer ones. (<a href="https://github.com/boostorg/filesystem/pull/49">PR#49</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed MSVC warnings about narrowing conversions. (<a href="https://github.com/boostorg/filesystem/pull/44">PR#44</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/flyweight/index.html">Flyweight</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed some issues in GCC related to Boost.MPL placeholder expression
|
|
handling.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/function/">Function</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Removed dependencies on mpl, test (<a href="https://github.com/boostorg/function/pull/20">PR#20</a>) (<a href="https://github.com/boostorg/function/pull/22">PR#22</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/486">PR#486</a> Karney's solution of direct geodesic problem
|
|
for internal use (thanks to Adeel Ahmad).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/490">PR#490</a> Discrete Frechet and Hausdorff distance algorithms
|
|
(thanks to Yaghyavardhan Singh Khangarot).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/496">PR#496</a> New run-time and upgraded compile-time SRS
|
|
transformation interfaces (undocumented for now due to potential
|
|
interface changes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Solved issues
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/520">#520</a> Missing documentation for dsv().
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/521">#521</a> Wrong documentation description for distance().
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/524">#524</a> Fixed 'enumeration values not handled in switch'
|
|
warnings.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/527">#527</a> Workaround for VS 2017 (msvc-15).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/505">PR#505</a> Fixed overflow in overlay algorithms (thanks
|
|
to Dane Springmeyer).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/518">PR#518</a> Fixed passing of temporaries in append() (thanks
|
|
to xventura81).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/522">PR#522</a> Support python3 in building documentation.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/integer/">Integer</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">pending</span><span class="special">/</span><span class="identifier">integer_log2</span><span class="special">.</span><span class="identifier">hpp</span></code> header is deprecated and will
|
|
be removed in future releases. Use <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">integer</span><span class="special">/</span><span class="identifier">integer_log2</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
instead.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/iostreams/">Iostreams</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Remove call to nonexistent member seekpos() of std::fpos (<a href="https://github.com/boostorg/iostreams/pull/58">PR#58</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/iterator/">Iterator</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed compilation problems with ambiguous unqualified calls to <code><span class="identifier">advance</span></code> and <code><span class="identifier">distance</span></code>
|
|
on iterators whose types involve types in the namespace <code><span class="identifier">boost</span></code>. (<a href="https://github.com/boostorg/iterator/issues/43">#43</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/lexical_cast/">LexicalCast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed sign-conversion warnings <a href="https://svn.boost.org/trac/boost/ticket/8991">#8991</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance: dropped some dependencies on other Boost libraries,
|
|
fixed build system warnings.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
General changes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Updated syslog sink backend to avoid using deprecated Boost.ASIO
|
|
interfaces. (<a href="https://github.com/boostorg/log/issues/59">#59</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bug fixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed a possible incorrect estimation of the total size of
|
|
rotated files in the target directory of a text file sink in
|
|
some cases.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
See <a href="https://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="https://www.boost.org/libs/logic/">Logic</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> Use explicit operator
|
|
bool when available (<a href="https://github.com/boostorg/logic/pull/5">PR#5</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/math/">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add LambertW functions.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update integration routines to support complex valued integrands
|
|
and contour integrals.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added the derivative of the Barycentric rational approximation.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Minor fixes to better support variable precision floating point types.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed use of deprecated Boost.Endian in favour of Predef.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated continued fraction and series evaluation code to support
|
|
complex types.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Prevent logic error leading to infinite loop in toms748_solve. See
|
|
<a href="https://github.com/boostorg/math/issues/138">#138</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix mean and standard_deviation for extreme_value_distribution. See
|
|
<a href="https://github.com/boostorg/math/issues/139">#139</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improve heuristics used in newton_raphson_iterate. See <a href="https://github.com/boostorg/math/issues/145">#145</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix result of <code><span class="identifier">erf</span><span class="special">(</span><span class="identifier">NaN</span><span class="special">)</span></code>. See <a href="https://github.com/boostorg/math/issues/141 #141">#141 #141</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Big push to reduce GCC warnings. See <a href="https://github.com/boostorg/math/issues/136 #136">#136 #136</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Refactor polynomial addition. See <a href="https://github.com/boostorg/math/pull/132">PR#132</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix for vxWorks having a <code><span class="identifier">real</span></code>
|
|
function in the global namespace. See <a href="https://github.com/boostorg/math/pull/131">PR#131</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improve <code><span class="identifier">sinc</span></code> approximations
|
|
and add better tests.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix typo in Student's T hypothesis testing documentation, see <a href="https://github.com/boostorg/math/issues/143">#143</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/mp11/">Mp11</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Implemented the <code><span class="identifier">mp_starts_with</span></code>
|
|
facility (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multi_array/">MultiArray</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improve C++11 allocator model support including: Support for C++11
|
|
minimal allocators, support for stateful allocators, using the allocator
|
|
for construction and destruction of the value type, and using the
|
|
empty base optimization for storing empty or stateless allocators
|
|
(Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multi_index/">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Introduced an alternative <a href="https://www.boost.org/libs/multi_index/doc/tutorial/key_extraction.html#key">terse
|
|
key specification syntax</a> for C++17 compliant environments.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Big update to better support variable precision types so that the
|
|
precision of the result is always the largest of all the arguments.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add support for allocators that are <code><span class="identifier">final</span></code>
|
|
in __cpp_int (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed use of deprecated Boost.Endian in favour of Predef.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed minor bug in constant initialization. See <a href="https://github.com/boostorg/multiprecision/issues/67">#67</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Make assignment of non-finite value to <code><span class="identifier">cpp_int</span></code>
|
|
a runtime errors. See <a href="https://github.com/boostorg/multiprecision/issues/58">#58</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added typedefs for <code><span class="identifier">cpp_bin_float_oct</span></code>
|
|
and <code><span class="identifier">cpp_complex_oct</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added Boost.PolyCollection-specific versions of algorithms <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">for_each_n</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">sample</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/pool/">Pool</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Replace boost::mutex use to avoid a dependency on Boost.Thread (<a href="https://github.com/boostorg/pool/pull/23">PR#23</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/preprocessor/">Preprocessor</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Supports the new C++ standard conforming preprocessor in VC++ 14.1,
|
|
which is currently enabled by using the /experimental:preprocessor
|
|
switch, in Visual Studio 2017 15.8 on up.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/rational/">Rational</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add constexpr support (<a href="https://github.com/boostorg/rational/pull/28">PR#28</a>) (<a href="https://github.com/boostorg/rational/pull/32">PR#32</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/spirit/">Spirit</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Spirit.X3:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Drop own FP routines in favor of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/392">#392</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13531">#13531</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Missing visibility mark on exception types (<a href="https://github.com/boostorg/spirit/issues/409">#409</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
to_utf8: Fixed wchar_t handling on Windows (<a href="https://github.com/boostorg/spirit/issues/413">#413</a>)
|
|
(<a href="https://github.com/boostorg/spirit/issues/395">#395</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit V2
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Drop own FP routines in favor of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/issues/392">#392</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13531">#13531</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Missing visibility mark on exception types (<a href="https://github.com/boostorg/spirit/issues/409">#409</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed transform_attribute ambiguity (<a href="https://github.com/boostorg/spirit/issues/407">#407</a>) (<a href="https://github.com/boostorg/spirit/issues/396">#396</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
to_utf8: Fixed wchar_t handling on Windows (<a href="https://github.com/boostorg/spirit/issues/413">#413</a>)
|
|
(<a href="https://github.com/boostorg/spirit/issues/395">#395</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Classic:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Missing visibility mark on exception types (<a href="https://github.com/boostorg/spirit/issues/409">#409</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">libbacktrace</span></code> usage
|
|
was significantly improved. <code><span class="identifier">BOOST_STACKTRACE_USE_BACKTRACE</span></code>
|
|
or <code><span class="identifier">boost_stacktrace_backtrace</span></code>
|
|
users are encouraged to update:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Memory consumprion dropped down.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Stack capturing became faster by an order of magnitude.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">syminfo</span></code> fallback
|
|
enabled to provide information for visible symbols even without
|
|
debug information (thanks to github user driesdeschout!)<a href="https://github.com/boostorg/stacktrace/issues/60">#60</a>,
|
|
<a href="https://github.com/boostorg/stacktrace/issues/61">#61</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Exact location of the <code><span class="identifier">backtrace</span><span class="special">.</span><span class="identifier">h</span></code>
|
|
header now can be specified via <code><span class="identifier">BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE</span></code>,
|
|
to allow <code><span class="identifier">backtrace</span><span class="special">.</span><span class="identifier">h</span></code>
|
|
header usage on platforms and compilers where that header is
|
|
unreachable otherwise (for example Ubuntu Xenial + Clang) <a href="https://github.com/boostorg/stacktrace/issues/59">#59</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Optimized stack capturing if <code><span class="identifier">max_depth</span></code>
|
|
is set (thanks to Jan Eisenhauer for the PR!) <a href="https://github.com/boostorg/stacktrace/issues/67">#67</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added <code><span class="identifier">to_string</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">stacktrace</span><span class="special">&amp;</span> <span class="special">)</span></code>
|
|
functions for fast conversion of stacktraces to <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span></code>
|
|
<a href="https://github.com/boostorg/stacktrace/issues/57">#57</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Maintenance: updated docs <a href="https://github.com/boostorg/stacktrace/issues/62">#62</a>, tests updated.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/system/">System</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.System is now header-only. A stub library is still built for
|
|
compatibility, but linking to it is no longer necessary.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Even more functions have been marked <code><span class="keyword">constexpr</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The destructor of <code><span class="identifier">error_category</span></code>
|
|
is now <code><span class="keyword">protected</span></code> and
|
|
no longer <code><span class="keyword">virtual</span></code>. This
|
|
is a potentially breaking change, but its impact is expected to be
|
|
limited.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">error_category</span></code> now
|
|
has a constructor that accepts a 64 bit identifier, enabling distinct
|
|
category objects to compare equal.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The constructors of <code><span class="identifier">error_category</span></code>
|
|
are now <code><span class="keyword">protected</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
A non-allocating, nonthrowing overload of <code><span class="identifier">message</span></code>
|
|
has been added.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
A virtual function <code><span class="identifier">failed</span></code>
|
|
has been added, allowing categories for which success is not synonymous
|
|
with 0.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The deprecated <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">system</span><span class="special">::</span><span class="identifier">throws</span></code>
|
|
object has been removed.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">throws</span><span class="special">()</span></code>
|
|
is now deprecated and its use is discouraged.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The constructor of <code><span class="identifier">system_error</span></code>
|
|
taking a single <code><span class="identifier">error_code</span></code>
|
|
argument is now <code><span class="keyword">explicit</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">system_error</span><span class="special">::</span><span class="identifier">code</span><span class="special">()</span></code>
|
|
now returns by value.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.9 see the <a href="https://www.boost.org/users/history/libs/test/doc/html/boost_test/change_log.html">Changes
|
|
log</a> for more details.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New feature:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Official support of header-only variant of Boost.Test with
|
|
multiple translation units.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Now possible to manually add a test case by specifying its
|
|
name, with <code><span class="identifier">BOOST_TEST_CASE_NAME</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Better support of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">exception</span></code>
|
|
in the logs
|
|
</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/13380">#13380</a>, <a href="https://svn.boost.org/trac/boost/ticket/13625">#13625</a>, <a href="https://svn.boost.org/trac/boost/ticket/13637">#13637</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GitHub Issues: <a href="https://github.com/boostorg/test/issues/149">#149</a>, <a href="https://github.com/boostorg/test/issues/150">#150</a>, <a href="https://github.com/boostorg/test/issues/156">#156</a>, <a href="https://github.com/boostorg/test/issues/158">#158</a>,
|
|
<a href="https://github.com/boostorg/test/issues/163">#163</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GitHub Pull Requests: <a href="https://github.com/boostorg/test/pull/147">PR#147</a>, <a href="https://github.com/boostorg/test/pull/148">PR#148</a>, <a href="https://github.com/boostorg/test/pull/151">PR#151</a>,
|
|
<a href="https://github.com/boostorg/test/pull/154">PR#154</a>, <a href="https://github.com/boostorg/test/pull/161">PR#161</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix the regression and speed up parsing of the <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span></code>
|
|
header by 30% (thanks to Nikita Kniazev for the PR!) <a href="https://github.com/boostorg/type_index/issues/21">#21</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/utility/">Utility</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added support for non-inheritable empty types to <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">compressed_pair</span></code>
|
|
by avoiding the empty base optimization for types which are declared
|
|
as final (Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/variant/">Variant</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed issue with visibility. Now <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_visit</span></code>
|
|
exception could cross the boundaries of shared library with hidden
|
|
visibility and could be catched in other shared library with hidden
|
|
visibility.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/yap/">YAP</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Minor changes to support MSVC++ version 14.15 (Visual Studio 2017
|
|
version 15.8).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Doc fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_69_0.discontinued_libraries">
|
|
<h3><span class="link">Discontinued Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Signals (v1) is now removed. Its removal was announced in 1.68 and its
|
|
deprecation was announced in 1.54. Boost 1.68 is the last release that
|
|
provides this library. Users are encouraged to use Signals2 instead. The
|
|
Boost community thanks Douglas Gregor for his work on Signals which served
|
|
its users well and which also inspired Signals2.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_69_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, 6.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, 6.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.2,
|
|
6.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++2a: 10.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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.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, 6.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.2,
|
|
6.0.1, 7.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0, 10.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++1z: 9.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++2a: 10.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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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_69_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
Daniel James, Vladimir Prus, Marshall Clow and Michael Caisse managed this
|
|
release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.68.0</title><link>https://www.boost.org/users/history/version_1_68_0.html</link><guid>https://www.boost.org/users/history/version_1_68_0.html</guid><pubDate>Thu, 09 Aug 2018 03:46:16 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_68_0.notes_for_windows_users">
|
|
<h3><span class="link">Notes for Windows
|
|
users</span></h3>
|
|
<p>
|
|
Boost.WinAPI has been updated to target Windows 7 by default, where possible.
|
|
In previous releases Windows Vista was the default.
|
|
</p>
|
|
<p>
|
|
Boost.WinAPI is used internally as the Windows SDK abstraction layer in a number
|
|
of Boost libraries, including Boost.Beast, Boost.Chrono, Boost.DateTime, Boost.Dll,
|
|
Boost.Log, Boost.Process, Boost.Stacktrace, Boost.System, Boost.Thread and
|
|
Boost.UUID. To select the target Windows version define <code><span class="identifier">BOOST_USE_WINAPI_VERSION</span></code>
|
|
to the numeric version similar to <code><span class="identifier">_WIN32_WINNT</span></code>
|
|
while compiling Boost and user's code. For example:
|
|
</p>
|
|
<pre> b2 release define=BOOST_USE_WINAPI_VERSION=0x0501 stage
|
|
</pre>
|
|
<p>
|
|
The list of Windows API version numbers can be seen on <a href="https://msdn.microsoft.com/en-us/library/6sehtctf.aspx">this</a>
|
|
page.
|
|
</p>
|
|
</div>
|
|
<div id="version_1_68_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/yap/">YAP</a>:</span> An expression template library
|
|
for C++14 and later, from Zach Laine.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_68_0.updated_libraries">
|
|
<h3><span class="link">Updated Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/beast/">Beast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
This version fixes a missing executor work guard in all composed
|
|
operations used in the implementation. Users who are experiencing
|
|
crashes related to asynchronous completion handlers are encouraged
|
|
to upgrade.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
For a complete list of changes, please view the official <a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html">Release
|
|
Notes</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/context/">Context</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/context/issues/78">#78</a>: Linker error with <code><span class="identifier">context</span><span class="special">-</span><span class="identifier">impl</span><span class="special">=</span><span class="identifier">ucontext</span></code>:
|
|
multiple definition of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">context</span><span class="special">::</span><span class="identifier">detail</span><span class="special">::</span><span class="identifier">current_rec</span></code>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/coroutine2/">Coroutine2</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/coroutine2/issues/14">#14</a>: crash while stack unwinding
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/coroutine2/issues/18">#18</a>: some guidance on why to use coroutine2
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/coroutine2/issues/20">#20</a>: failes to compile test in due to the error C2039
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/coroutine2/issues/22">#22</a>: undefined behaviour documentation
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/fiber/">Fiber</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/170">#170</a>: buffered_channel::try_push has incorrect documentation
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/172: WIN64">#172: WIN64</a>: 'invalid conversion from 'HANDLE' to
|
|
'std::thread::native_handle_type' errors for builds using mingw-w64
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/fiber/issues/175">#175</a>: throw exception "Operation not permitted"
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
NUMA support moved to extra library (fiber-numa); enabled via property
|
|
numa (numa=on)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/fusion/">Fusion</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added a workaround for ambiguous call of <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">deque</span></code>
|
|
constructor on GCC 4.4/c++0x (<a href="https://github.com/boostorg/fusion/pull/178">PR#178</a>, <a href="https://github.com/boostorg/fusion/pull/178/commits/9de32721749b635ff3e04e690da89cf06602c122">commit</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a bug with C-style array (<a href="https://github.com/boostorg/fusion/pull/177">PR#177</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">for_each</span></code> signature to take functor
|
|
by value (<a href="https://svn.boost.org/trac/boost/ticket/4427">#4427</a>).
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
This may break existing code with non-copyable (non-movable)
|
|
functor, but the implementation wasn't correct for a long time;
|
|
the documantation was correct from the first. So, please make
|
|
sure your usage.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed unintentional MPL placeholder substitution bug on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">transform</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/5490">#5490</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Moved description, how to conform Fusion sequence as MPL sequence,
|
|
to mpl section (<a href="https://svn.boost.org/trac/boost/ticket/4029">#4029</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added notes regarding IO facility for adapted type (<a href="https://svn.boost.org/trac/boost/ticket/6091">#6091</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/469">469</a>
|
|
Horizontal grid shift (nadgrids) in SRS transformations (undocumented
|
|
for now due to potential interface changes).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/478">478</a>
|
|
Box-Segment distance for spherical and geographic coordinate
|
|
systems.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/487">487</a>
|
|
Missing combinations of geometries in distance for spherical
|
|
and geographic cs
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/489">489</a>
|
|
Additional direct geodesic problem formulas for internal use
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Solved issues
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/470">470</a>
|
|
Assertion failure with short spherical and geographic segments.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/471">471</a>
|
|
Invalid envelope of spherical polygon
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/498">498</a>
|
|
Unexpected results with expand() and make_inverse() for spherical
|
|
and geographic CS
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/issues/504">504</a>
|
|
Unused parameter warnings.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/488">488</a>
|
|
Handle non-true-references in closing_iterator and ever_circling_range_iterator
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://github.com/boostorg/geometry/pull/495">495</a>
|
|
VxWorks 7 cross-compilation issue.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/gil/">GIL</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
The I/O extensions have been entirely rewritten.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
The library now requires a C++11-compliant compiler.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Documentation has been reformatted and updated.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/graph/">Graph</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Conditionally replace deprecated/removed C++98 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind1st</span></code>
|
|
by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">bind</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">auto_ptr</span></code>
|
|
by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">unique_ptr</span></code>, and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">random_shuffle</span></code>
|
|
by <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">shuffle</span></code>. (<a href="https://github.com/boostorg/graph/pull/89">PR#89</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix compiler error with release builds on VS2015 (<a href="https://github.com/boostorg/graph/pull/84">PR#84</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix the Stanford GraphBase examples (<a href="https://github.com/boostorg/graph/pull/87">PR#87</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix friend declarations for iterator_core_access (<a href="https://github.com/boostorg/graph/pull/103">PR#103</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add missing <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> include (<a href="https://github.com/boostorg/graph/pull/104">PR#104</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Avoid an unused variable warning (<a href="https://github.com/boostorg/graph/pull/90">PR#90</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix some typos in documentation (<a href="https://github.com/boostorg/graph/pull/88">PR#88</a>, <a href="https://github.com/boostorg/graph/pull/98">PR#98</a>, <a href="https://github.com/boostorg/graph/pull/102">PR#102</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix some issues in tests and examples (<a href="https://github.com/boostorg/graph/pull/85">PR#85</a>, <a href="https://github.com/boostorg/graph/pull/105">PR#105</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/lexical_cast/">Lexical Cast</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixes for clang-tidy warnings <a href="https://svn.boost.org/trac/boost/ticket/12092">#12092</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/log/">Log</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improved support for VxWorks. (<a href="https://github.com/boostorg/log/pull/39">PR#39</a>)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Save and restore <code><span class="identifier">ebx</span></code>
|
|
register on x86 PIE targets in the <code><span class="identifier">dump</span></code>
|
|
stream manipulator implementation.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/math/">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Support for arbitrary precision complex valued quadrature and hence
|
|
contour integration
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improve performance of polynomial addition
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Continue to improve numerical integration routines, and in particular
|
|
add support for contour integrals.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improve accuracy of erfc function's rational approximations.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multi_index/index.html">Multi-index Containers</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Containers of moveable but non-copyable elements can now be serialized
|
|
(ticket <a href="https://svn.boost.org/trac/boost/ticket/13478">#13478</a>). Thanks to Sébastien Paris for the report.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<code><span class="identifier">multi_index_container</span></code>'s
|
|
default constructor is no longer <code><span class="keyword">explicit</span></code>
|
|
(ticket <a href="https://svn.boost.org/trac/boost/ticket/13518">#13518</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/multiprecision">Multiprecision</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Support added for complex multiprecision numbers.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed conversion to unsigned integer types to be truncating to
|
|
match standard defined behaviour.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Correct bug in MPFR string formatting.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix undefined behaviour in cpp_dec_float conversion from long long.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add support for Eigen interoperability.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
float128.hpp: Fix Intel on Windows build.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix type used in temporaries when expanding expression templates
|
|
containing mixed expressions.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix infinite loop in gmp_float to fixed-point string conversion.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update the expression templates to issue static_asserts with better
|
|
error messages when you try and do something unsupported.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bug in cpp_int where incrementing to zero doesn't set the sign
|
|
correctly.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Remove erroneous use of std::move, and rely on NVRO instead.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix up support for changes to MPIR-3.0.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix various conversion errors in cpp_bin_float when the exponent
|
|
type is a <code><span class="keyword">long</span> <span class="keyword">long</span></code>,
|
|
or else we're converting to an integer that is wider than we are.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix compatibility issue with GCC-8 caused by the introduction of
|
|
<code><span class="identifier">std</span><span class="special">::</span><span class="identifier">byte</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/optional/">Optional</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added member function <code><span class="identifier">has_value</span><span class="special">()</span></code> for compatibility with <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code> (<a href="https://github.com/boostorg/optional/issues/52">issue
|
|
#52</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added member function <code><span class="identifier">map</span><span class="special">()</span></code> for transforming <code><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
|
|
into <code><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;</span></code>
|
|
using a function of type <code><span class="identifier">T</span>
|
|
<span class="special">-&gt;</span> <span class="identifier">U</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added member function <code><span class="identifier">flat_map</span><span class="special">()</span></code> for transforming <code><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code>
|
|
into <code><span class="identifier">optional</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;</span></code>
|
|
using a function of type <code><span class="identifier">T</span>
|
|
<span class="special">-&gt;</span> <span class="identifier">optonal</span><span class="special">&lt;</span><span class="identifier">U</span><span class="special">&gt;</span></code>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/predef/">Predef</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add support for __ARM_ARCH macro. (from Tim Blechmann)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add detection for PTX architecture. (from Benjamin Worpitz)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add nvcc compiler detection. (from Benjamin Worpitz)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add support for detecting CUDA. (from Benjamin Worpitz)
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/program_options/">Program Options</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Support for multiple long names for an option, thanks to Eyal Rozenberg
|
|
(<a href="https://github.com/boostorg/program_options/pull/53">PR#53</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/python/">Python</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Bug fixes to correct autolink support (Windows) (<a href="https://github.com/boostorg/python/issues/193">#193</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/rational/">Rational</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed undefined behavior in normalize() (<a href="https://github.com/boostorg/rational/pull/19">PR#19</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/system/">System</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add constexpr to error_code and error_condition members under C++14
|
|
and above (<a href="https://github.com/boostorg/system/pull/23">PR#23</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/signals/">Signals</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Removal Notice:</strong> Boost.Signals will
|
|
be removed in the next release. Boost.Signals was deprecated in version
|
|
1.54.0. Transition to Boost.Signals2 now to avoid disruption.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/spirit/">Spirit</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Spirit.X3:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Small list parser optimization (<a href="https://github.com/boostorg/spirit/pull/368">PR#368</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Pass container attributes through sequence parser or unary
|
|
ending down to a sequence parser (<a href="https://github.com/boostorg/spirit/pull/370">PR#370</a> <a href="https://svn.boost.org/trac/boost/ticket/12085">#12085</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
More fine grained sequence attribute check message (<a href="https://github.com/boostorg/spirit/pull/371">PR#371</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed redundant check in <code><span class="identifier">skip_over</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/pull/373">PR#373</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Workaround constexpr in noexcept VS2015 bug in entire <code><span class="identifier">x3</span><span class="special">::</span><span class="identifier">variant</span></code> (<a href="https://github.com/boostorg/spirit/pull/379">PR#379</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed calc4b example compilation (<a href="https://github.com/boostorg/spirit/pull/384">PR#384</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Minor code improvements (<a href="https://github.com/boostorg/spirit/pull/374">PR#374</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Qi:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed ADT support by permutation and sequence_or operator (<a href="https://github.com/boostorg/spirit/pull/376">PR#376</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Specialize iterator_source for random access (<a href="https://github.com/boostorg/spirit/pull/383">PR#383</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Removed redundant check in <code><span class="identifier">skip_over</span></code>
|
|
(<a href="https://github.com/boostorg/spirit/pull/373">PR#373</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Karma:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed UB in <code><span class="identifier">get_absolute_value</span></code>
|
|
function (<a href="https://github.com/boostorg/spirit/pull/246">PR#246</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed use after scope bug if ADT getter returns by value (<a href="https://github.com/boostorg/spirit/pull/375">PR#375</a> <a href="https://svn.boost.org/trac/boost/ticket/6126">#6126</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Spirit.Classic:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed a regression introduced in <a href="https://github.com/boostorg/spirit/pull/336">PR#336</a> (<a href="https://github.com/boostorg/spirit/pull/386">PR#386</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Minor code improvements (<a href="https://github.com/boostorg/spirit/pull/367">PR#367</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/stacktrace/">Stacktrace</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fixed compilation on Solaris and other platforms that do qualify
|
|
address as const in <code><span class="identifier">dladdr</span></code>
|
|
function (github 54).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Dropped dependency on Boost.LexicalCast.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.8 see the <a href="https://www.boost.org/users/history/libs/test/doc/html/boost_test/change_log.html">Changes
|
|
log</a> for more details.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Breaking changes
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
The <code><span class="identifier">master_test_suite_t</span></code>
|
|
object is no more copyable
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New feature:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Dataset test case can now use command line parameters
|
|
</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/12095">#12095</a>, <a href="https://svn.boost.org/trac/boost/ticket/12953">#12953</a>, <a href="https://svn.boost.org/trac/boost/ticket/13504">#13504</a>, <a href="https://svn.boost.org/trac/boost/ticket/13525">#13525</a>,
|
|
<a href="https://svn.boost.org/trac/boost/ticket/13528">#13528</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Pull requests: <a href="https://github.com/boostorg/test/pull/143">PR#143</a>, <a href="https://github.com/boostorg/test/pull/145">PR#145</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Dropped dependency on Boost.MPL.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/uuid/">Uuid</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking change:</strong> sha1 detail namespace
|
|
header redirection for backwards compatibility was removed (<a href="https://github.com/boostorg/uuid/pull/69">PR#69</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for std::hash (<a href="https://github.com/boostorg/uuid/pull/67">PR#67</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added support for move semantics on random generators (<a href="https://github.com/boostorg/uuid/pull/74">PR#74</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Properly handle EINTR when acquiring entropy (<a href="https://github.com/boostorg/uuid/pull/74">PR#74</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Use getrandom(2) instead of getentropy(3) on linux (<a href="https://github.com/boostorg/uuid/pull/75">PR#75</a>).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_68_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, 6.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, 6.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.2,
|
|
6.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple 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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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>
|
|
<p>
|
|
Boost's additional test compilers include:
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Linux:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.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, 6.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.2,
|
|
6.0.1, 7.0.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Clang, C++17: 5.0.2, 6.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
|
|
</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, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++14: 5.4.0, 5.5.0, 6.3.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1, 8.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.3.0, 8.0.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Intel, C++14: 18.0
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
OS X:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Apple Clang: 9.0.0, 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++11: 9.0.0, 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++14: 9.0.0, 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple Clang, C++17: 9.1.0
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Apple 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
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
GCC, C++17: 7.1.0, 7.2.0, 7.3.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>
|
|
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_68_0.acknowledgements">
|
|
<h3><span class="link">Acknowledgements</span></h3>
|
|
<p>
|
|
Daniel James, Vladimir Prus, and Marshall Clow managed this release.
|
|
</p>
|
|
</div>
|
|
</description></item><item><title>Version 1.67.0</title><link>https://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>Sat, 14 Apr 2018 20:37:12 +0000</pubDate><description>
|
|
|
|
|
|
<div id="version_1_67_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>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix compiling with FreeBSD:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/patches/1_67_0/0001-Fiber-Use-pthread_setaffinity_np-on-FreeBSD-as-well.patch">/patches/1_67_0/0001-Fiber-Use-pthread_setaffinity_np-on-FreeBSD-as-well.patch</a>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/patches/1_67_0/0002-Wave-Avoid-using-wrong-T_DIVIDE-on-BSDs.patch">/patches/1_67_0/0002-Wave-Avoid-using-wrong-T_DIVIDE-on-BSDs.patch</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix Python auto-linking:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/patches/1_67_0/0003-Python-Fix-auto-linking-logic-Windows-only.patch">/patches/1_67_0/0003-Python-Fix-auto-linking-logic-Windows-only.patch</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="version_1_67_0.new_libraries">
|
|
<h3><span class="link">New Libraries</span></h3>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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>
|
|
<li>
|
|
<div>
|
|
Updated timeout examples to use latest features.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Used <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span></code> rather than
|
|
<code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Used <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">dynamic_buffer</span></code> rather than
|
|
<code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Used timed <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_for</span><span class="special">()</span></code> function for blocking clients.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added example showing a custom completion token for blocking
|
|
with timeouts.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed unit tests to compile when <code><span class="identifier">BOOST_ASIO_NO_DEPRECATED</span></code>
|
|
is defined.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed socket iostreams to use chrono by default, to fix compatibility
|
|
with the Networking TS. Define <code><span class="identifier">BOOST_ASIO_USE_BOOST_DATE_TIME_FOR_SOCKET_IOSTREAM</span></code>
|
|
to enable the old Boost.Date_Time interface in <code><span class="identifier">basic_socket_streambuf</span></code>
|
|
and <code><span class="identifier">basic_socket_iostream</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Updated examples to use chrono rather than Boost.Date_Time.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed an incorrect member function detector in the <code><span class="identifier">is_dynamic_buffer</span></code> trait.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed an <code><span class="identifier">async_result</span></code>
|
|
incompatibility with deprecated <code><span class="identifier">handler_type</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added a missing move optimisation in the SSL stream implementation.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed incorrect <code><span class="identifier">basic_resolver_results</span><span class="special">::</span><span class="identifier">value_type</span></code>
|
|
typedef.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed a compile error with some OpenSSL versions when <code><span class="identifier">SSL_OP_NO_COMPRESSION</span></code> is defined.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed <code><span class="identifier">add_certificate_authority</span></code>
|
|
to process multiple certificates in a bundle.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Eliminated deprecation warning with MSVC by using <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">invoke_result</span></code>
|
|
rather than <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">result_of</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed to use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
|
|
for C++17 or later, and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">string_view</span></code>
|
|
for C++14. Define the preprocessor macro <code><span class="identifier">BOOST_ASIO_DISABLE_STD_STRING_VIEW</span></code>
|
|
to force the use of std::experimental::string_view (assuming it is
|
|
available) when compiling in C++17 mode.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Ensured <code><span class="identifier">DynamicBuffer</span></code>
|
|
template arguments are decayed before using in <code><span class="identifier">enable_if</span></code>
|
|
tests.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changed documentation to distinguish legacy completion handlers (which
|
|
are still required to be CopyConstructible) from new MoveConstructible
|
|
handlers.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Suppressed a discarded return value warning in the buffer debugging
|
|
support.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed <code><span class="identifier">basic_yield_context</span></code>
|
|
to work with completion signatures containing reference parameters.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Ensured that stackful coroutines launched using <code><span class="identifier">spawn</span><span class="special">()</span></code> correctly store decayed copies
|
|
of their function and handler arguments.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed some compatibility issues with Android.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added cross-compilation support to Jamfiles.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed some minor portability issues in examples.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html">Release
|
|
Notes</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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>
|
|
Added explicit support for <code><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span></code>, so that it will work with libc++
|
|
(<a href="https://svn.boost.org/trac/boost/ticket/13501">#13501</a>).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
More detail in the <a href="https://www.boost.org/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="https://www.boost.org/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>
|
|
<li>
|
|
<div>
|
|
known bug: including all.hpp + &lt;context-impl&gt;ucontext/winfib
|
|
causes error 'forced_unwind: is not a member of boost::context::detail'
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/core/">Core</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Updated <code><span class="identifier">to_address</span></code>
|
|
and <code><span class="identifier">pointer_traits</span></code>
|
|
to reflect the design adopted for C++2a in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html">P0653R2</a>
|
|
(Glen Fernandes).
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/libs/filesystem/">Filesystem</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Fix static initialization issue that caused a crash if path operations
|
|
were used before main() (<a href="https://github.com/boostorg/filesystem/pull/62">PR#62</a>, <a href="https://github.com/boostorg/filesystem/pull/43">PR#43</a>, <a href="https://github.com/boostorg/filesystem/pull/50">PR#50</a>,
|
|
<a href="https://github.com/boostorg/filesystem/pull/59">PR#59</a>)
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/libs/geometry/">Geometry</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Improvements:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
New map projection and SRS transformation representations (undocumented
|
|
for now due to potential interface changes).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
New densify() algorithm.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
No longer using std::iterator (thanks to Daniela Engert).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
No longer using allocator directly in the rtree. Replaced with
|
|
boost::container::allocator_traits (thanks to Daniela Engert).
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Default rtree allocator changed to boost::container::new_allocator
|
|
to still support move semantics emulation in C++03 with boost::container::allocator_traits.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Area strategies interface changed. This is potentially a breaking
|
|
change.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Radius or Sphere can be passed into spherical strategies.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added Point-Box and Box-Box spherical and geographic distance()
|
|
strategies.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Simplify (multi)polygons will discard output rings of 2 points
|
|
or (for closed polygons) 3 points, but it tries to avoid creating
|
|
those
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Simplify (multi)polygons will omit empty interior rings or
|
|
polygons from output
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Solved issues:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/13386">13386</a>
|
|
Workaround for some gcc compilers
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/13381">13381</a>
|
|
Compile error with matrix_transformer in Visual C++ 2015
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<a href="https://svn.boost.org/trac10/ticket/13436">13436</a>
|
|
Incorrectness in boost::geometry::model::polygon documentation
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Bugfixes:
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add missing strategy resolving in length() algorithm, affecting
|
|
Variant support.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Simplify (multi)polygons now simplifies closing point
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Changes in behavior
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Simplify (multi)polygons now usually rotates input rings before
|
|
simplifying to select a non collinear point on its convex hull.
|
|
This improves output.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/libs/locale/">Locale</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added support of <code><span class="identifier">unique_ptr</span></code>
|
|
interface in addition to C++2003 <code><span class="identifier">auto_ptr</span></code>
|
|
- in order to support C++2017, now you can use <code><span class="identifier">BOOST_LOCALE_HIDE_AUTO_PTR</span></code>
|
|
definiton to remove <code><span class="identifier">auto_ptr</span></code>
|
|
from the interfaces and prevent deprecated watnings.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed test problem with ICU &gt;60.1
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix of solaris build
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed wired FreeBSD/clang issue on optimized build. Probably compiler
|
|
workaround
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added workaround for failing MSVC tests due to 932 codepage codecvt
|
|
issue
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed bugs 6851, 12572, 12453
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed missing throw in case of failure in <code><span class="identifier">icu</span><span class="special">/</span><span class="identifier">date_time</span></code>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed build agains Boost.Thread v4
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed Year of week instead of year ICU backend formatting
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fixed formatting test for ICU 56.1 and above
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/libs/math/index.html">Math</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Add naive Monte Carlo integration support.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add Chebyshev interpolation routines.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/libs/multiprecision/index.html">Multiprecision</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<strong>Breaking Change:</strong> When converting
|
|
a multiprecision integer to a narrower type, if the value is too
|
|
large (or negative) to fit in the smaller type, then the result is
|
|
either the maximum (or minimum) value of the target type. This was
|
|
always the intended behaviour, but was somewhat haphazardly enforced
|
|
before. If you really do want just the low order N bits of a value,
|
|
then you will need to mask these out prior to the case, for example:
|
|
<code><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;(~</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">)</span> <span class="special">&amp;</span> <span class="identifier">my_value</span><span class="special">)</span></code>. Note that technically (to avoid
|
|
undefined behaviour) you should do the same thing with built in integer
|
|
types too. See <a href="https://svn.boost.org/trac/boost/ticket/13109">#13109</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bug in conversion of decimal to rational types (zero needs special
|
|
handling), see <a href="https://svn.boost.org/trac/boost/ticket/13148">#13148</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix conversion from cpp_bin_float to a wider built in integer type,
|
|
see <a href="https://svn.boost.org/trac/boost/ticket/13301">#13301</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Improve performance heurists used in cpp_bin_float exp function.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix bug in floor/ceil and cpp_bin_float when the exponent type is
|
|
wider than an int, see <a href="https://svn.boost.org/trac/boost/ticket/13264">#13264</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Disable explicit conversion operator when the target type is already
|
|
constructible from this type, see <a href="https://github.com/boostorg/multiprecision/issues/30">#30</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix support for changes new to MPIR-3.0, see <a href="https://svn.boost.org/trac/boost/ticket/13124">#13124</a>.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/libs/poly_collection/">PolyCollection</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Maintenance fixes.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/libs/test/">Test</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Boost.test v3.7 see the <a href="https://www.boost.org/doc/libs/1_67_0/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="https://www.boost.org/libs/type_index/">TypeIndex</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
<a href="https://www.boost.org/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="https://www.boost.org/libs/type_traits/">TypeTraits</a>:</span>
|
|
<ul>
|
|
<li>
|
|
<div>
|
|
Added new traits <code><span class="identifier">detected</span></code>,
|
|
<code><span class="identifier">detected_or</span></code>, <code><span class="identifier">is_detected</span></code>, <code><span class="identifier">is_detected_convertible</span></code>,
|
|
<code><span class="identifier">is_detected_exact</span></code>,
|
|
<code><span class="identifier">is_complete</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added greatly improved code for detecting binary operators.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add assertions for completeness to traits which require complete
|
|
types as arguments: this prevents various traits from giving eroneous
|
|
results from incomplete types.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Fix minor issue with mpl compatibility, see <a href="https://svn.boost.org/trac/boost/ticket/12212">#12212</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add macro to indicate when <code><span class="identifier">is_constructible</span></code>
|
|
is fully implemented, see <a href="https://svn.boost.org/trac/boost/ticket/12003">#12003</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Update <code><span class="identifier">is_function</span></code>
|
|
and <code><span class="identifier">is_member_function_pointer</span></code>
|
|
to work correctly with C++17 noexcept specifications.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Add workaround for <code><span class="identifier">is_default_constructible</span></code>
|
|
and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
Added fallback for <code><span class="identifier">is_nothrow_swappable</span></code>
|
|
on pre-C++11 compilers.
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div>
|
|
<span class="library"><a href="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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="https://www.boost.org/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>
|
|
</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>
|
|
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="https://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>
|
|
</channel>
|
|
</rss>
|