2
0
mirror of https://github.com/boostorg/website.git synced 2026-01-24 18:32:38 +00:00
Files
website/generated/dev.rss
2019-08-19 12:37:29 -04:00

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>
&lt;div id="version_1_71_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant2/"&gt;Variant2&lt;/a&gt;:&lt;/span&gt; A never-valueless,
strong guarantee implementation of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;variant&lt;/span&gt;&lt;/code&gt;,
from Peter Dimov.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_71_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/align/"&gt;Align&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Support for any integral type in the integral versions of &lt;code&gt;&lt;span class="identifier"&gt;align_up&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;align_down&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Revised the implementation of &lt;code&gt;&lt;span class="identifier"&gt;aligned_allocator&lt;/span&gt;&lt;/code&gt;
to no longer require a specialization for &lt;code&gt;&lt;span class="keyword"&gt;void&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Define &lt;code&gt;&lt;span class="identifier"&gt;propagate_on_container_move_assignment&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;is_always_equal&lt;/span&gt;&lt;/code&gt;
in &lt;code&gt;&lt;span class="identifier"&gt;aligned_allocator&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/any/"&gt;Any&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Static initialization of the default constructed &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;any&lt;/span&gt;&lt;/code&gt;
is now possible.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed performance regression in assignment on a compilers without
move-semantics.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast/"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
This version consists mostly of bug fixes and performance improvements.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Substantial work included for the split compilation mode, to reduce
compile time when defining &lt;code&gt;&lt;span class="identifier"&gt;BOOST_BEAST_SEPARATE_COMPILATION&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
We'd love to know how you or your company use Beast, consider adding
an item to the &lt;a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast"&gt;Companies
and Individuals Using Beast&lt;/a&gt; list.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
See the full &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html"&gt;Release
Notes&lt;/a&gt; for a complete list of changes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/circular_buffer/"&gt;Circular Buffer&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Correct doxygen generated reference to no longer show internal members.
(Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Eliminate ubsan warning on &lt;code&gt;&lt;span class="identifier"&gt;add&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;sub&lt;/span&gt;&lt;/code&gt;. (Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix incorrect check in &lt;code&gt;&lt;span class="identifier"&gt;is_uninitialized&lt;/span&gt;&lt;/code&gt;.
(Niklas Fejes)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/container/"&gt;Container&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed bugs:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/pull/47"&gt;GitHub
#47: &lt;em&gt;"added alignment specification for small_vector"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/88"&gt;GitHub
#88: &lt;em&gt;"Implement C++17 MoveAssignable requirements
for self-move assignments"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/107"&gt;GitHub
#107: &lt;em&gt;"Alignment ignored in resource_adaptor"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/pull/109"&gt;GitHub
#109: &lt;em&gt;"Get rid of integer overflow in copy_move_algo.hpp
(-fsanitize=integer)"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/pull/110"&gt;GitHub
#110: &lt;em&gt;"Avoid gcc 9 deprecated copy warnings
in new_allocator.hpp"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/112"&gt;GitHub
#112: &lt;em&gt;"vector::resize() compilation error with
msvc-10..12: data is not a member of boost::detail::aligned_storage"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/114"&gt;GitHub
#114: &lt;em&gt;"Fix small_vector noexcept specification"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/116"&gt;GitHub
#116: &lt;em&gt;"MSVC + boost 1.70 compilation error when
windows.h is already included (detail/thread_mutex.hpp)"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/117"&gt;GitHub
#117: &lt;em&gt;"flat_map/map::insert_or_assign with hint
has wrong return types"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/118"&gt;GitHub
#118: &lt;em&gt;"Non-unique inplace_set_difference used
in in flat_tree_merge_unique and iterator invalidation in insert_unique"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/122"&gt;GitHub
#122: &lt;em&gt;"Fix has_trivial_destructor_after_move"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/container/issues/123"&gt;GitHub
#123: &lt;em&gt;"With heterogeneous lookup, &lt;code&gt;&lt;span class="identifier"&gt;equal_range&lt;/span&gt;&lt;/code&gt; can result in
a range with length greater than 1"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;deque&lt;/code&gt; can now
have options, using &lt;code&gt;deque_options&lt;/code&gt;.
The block size/bytes can be be specified.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;static_vector&lt;/code&gt;
can now have options, using &lt;code&gt;static_vector_options&lt;/code&gt;.
Alignment and throwing behaviour can be be specified.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;small_vector&lt;/code&gt;
can now have options, using &lt;code&gt;small_vector_options&lt;/code&gt;.
Alignment and growth factor can be be specified.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/context/"&gt;Context&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add support for RISC-V LP64D
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/72"&gt;#72&lt;/a&gt;: Fix ABI violation on ppc64 ELFv2
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/99"&gt;#99&lt;/a&gt;: cleanup of stack if creating ucontext fails
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/conversion/"&gt;Conversion&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/core/"&gt;Core&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;alloc_construct&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header, which provides a set
of functions for allocator aware and exception safe construction
and destruction of objects and arrays. (Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;first_scalar&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header, which provides the
&lt;code&gt;&lt;span class="identifier"&gt;first_scalar&lt;/span&gt;&lt;/code&gt; function
for obtaining a pointer to the first scalar element of an array.
Given a pointer of type &lt;code&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;*&lt;/span&gt;&lt;/code&gt; they return a pointer of type &lt;code&gt;&lt;span class="identifier"&gt;remove_all_extents_t&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;*&lt;/span&gt;&lt;/code&gt;.
(Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;noinit_adaptor&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header, providing &lt;code&gt;&lt;span class="identifier"&gt;noinit_adaptor&lt;/span&gt;&lt;/code&gt; class template,
that converts any allocator into one whose &lt;code&gt;&lt;span class="identifier"&gt;construct&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;ptr&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; performs default initialization
via placement new, and whose &lt;code&gt;&lt;span class="identifier"&gt;destroy&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;ptr&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; invokes &lt;code&gt;&lt;span class="identifier"&gt;value_type&lt;/span&gt;&lt;/code&gt;
destructor directly. (Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;default_allocator&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header, providing &lt;code&gt;&lt;span class="identifier"&gt;default_allocator&lt;/span&gt;&lt;/code&gt; class template,
which can serve as a minimal default allocator that has interface
similar to C++20 &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;allocator&lt;/span&gt;&lt;/code&gt;,
supports configurations with disabled exceptions and does not have
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;/code&gt; as an associated
namespace. The allocator uses &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;
&lt;span class="keyword"&gt;new&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;
&lt;span class="keyword"&gt;delete&lt;/span&gt;&lt;/code&gt; for allocating memory.
(Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
In &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;uncaught_exceptions&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header, added workarounds for
better compatibility with QNX SDP 7.0 when libc++/libc++abi libraries
are used. (Andrey Semashev, &lt;a href="https://github.com/boostorg/core/issues/59"&gt;#59&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;detail&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;sp_typeinfo&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header is now marked as deprecated
and will be removed in a future release. &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;core&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;typeinfo&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
should be used instead. (Peter Dimov)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dynamic_bitset/"&gt;Dynamic Bitset&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Enabled hardware-assisted popcount on MSVC (&lt;a href="https://github.com/boostorg/dynamic_bitset/pull/38"&gt;PR#38&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for boost::hash and std::hash (&lt;a href="https://github.com/boostorg/dynamic_bitset/pull/45"&gt;PR#45&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support copy-initialization with default constructor (&lt;a href="https://github.com/boostorg/dynamic_bitset/pull/48"&gt;PR#48&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/endian/"&gt;Endian&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clarified requirements on the value type template parameter
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for &lt;code&gt;&lt;span class="keyword"&gt;float&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="keyword"&gt;double&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;endian_load&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;endian_store&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated &lt;code&gt;&lt;span class="identifier"&gt;endian_reverse&lt;/span&gt;&lt;/code&gt;
to correctly support all non-&lt;code&gt;&lt;span class="keyword"&gt;bool&lt;/span&gt;&lt;/code&gt;
integral types
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Moved deprecated names to the deprecated header &lt;code&gt;&lt;span class="identifier"&gt;endian&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fiber/"&gt;Fiber&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
documentation for shared_work updated
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed incorrect &lt;code&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;/code&gt;
returned from directory iterator increment when &lt;code&gt;&lt;span class="identifier"&gt;readdir_r&lt;/span&gt;&lt;/code&gt;
is used.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
For &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;, fixed rvalue-aware
&lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;/code&gt;
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 &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;/code&gt;
is bound to a const reference. (&lt;a href="https://github.com/boostorg/filesystem/issues/110"&gt;#110&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixes for better compatibility with Windows CE. (&lt;a href="https://github.com/boostorg/filesystem/pull/24"&gt;PR#24&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added minimal support for CMake. (&lt;a href="https://github.com/boostorg/filesystem/pull/106"&gt;PR#106&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/flyweight/index.html"&gt;Flyweight&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/histogram/index.html"&gt;Histogram&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New features:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Support for thread-safe storages and new thread-safe accumulators
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for compiling without exceptions/RTTI (increases performance
by 10-20 %) (with Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Performance improvements for 1D and 2D histograms
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
boost::histogram::indexed now returns forward iterator range
instead of input iterator range
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
boost::histogram::indexed_range::accessor is now non-copyable
and acts like reference to cell value, making more algorithms
from the C++ stdlib work
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
boost::histogram::algorithm::reduce with new slice option and
option fusion
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
boost::histogram::algorithm::project accepts runtime indices
for static histograms
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug Fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
boost::histogram::algorithm::reduce also works on histograms
that have some axis types without reduction support
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
boost::histogram::axis::traits::update now works correctly
for boost::histogram::axis::variant
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Other:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
100 % test coverage
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Reduced internal Boost dependencies
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved documentation and examples
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Guaranteed no-throw moves for all builtin axis types
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Compile cleanly at higher warning levels
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
See &lt;a href="https://www.boost.org/libs/histogram/doc/html/histogram/history.html"&gt;changelog&lt;/a&gt;
for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/iostreams/"&gt;IoStreams&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed processing of multi-stream files (&lt;a href="https://github.com/boostorg/iostreams/pull/87"&gt;PR#87&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for multi-threaded LZMA (&lt;a href="https://github.com/boostorg/iostreams/pull/95"&gt;PR#95&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/interprocess/"&gt;Interprocess&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/interprocess/pull/85"&gt;GitHub
#85 (&lt;em&gt;"warning: Implicit conversion loses integer precision"&lt;/em&gt;)&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/interprocess/pull/86"&gt;GitHub
#86 (&lt;em&gt;"warning: Possible misuse of comma operator"&lt;/em&gt;)&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/intrusive/"&gt;Intrusive&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/intrusive/pull/42"&gt;GitHub
#42: &lt;em&gt;Documentation does not describe treap priority_of_value
changes&lt;/em&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/intrusive/pull/43"&gt;GitHub
#43: &lt;em&gt;Fix tests with BOOST_INTRUSIVE_VARIADIC_TEMPLATES
enabled&lt;/em&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/intrusive/pull/45"&gt;GitHub
#45: &lt;em&gt;Disable variadic templates for MSVC-12 to avoid ICEs&lt;/em&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/lexical_cast/"&gt;LexicalCast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added tests for &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;
conversions &lt;a href="https://github.com/boostorg/lexical_cast/issues/25"&gt;#25&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work, including &lt;a href="https://github.com/boostorg/lexical_cast/issues/28"&gt;#28&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/log/"&gt;Log&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New features:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improved support for C++17 &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;
in &lt;code&gt;&lt;span class="identifier"&gt;basic_formatting_ostream&lt;/span&gt;&lt;/code&gt;.
The string view can now participate in character code conversion
on output.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;auto_newline&lt;/span&gt;&lt;/code&gt;
formatter and stream manipulator. It can be used to ensure
that formatted output always ends with a newline while avoiding
duplicate newlines.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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 &lt;code&gt;&lt;span class="identifier"&gt;auto_newline_mode&lt;/span&gt;&lt;/code&gt; named parameter
of the backend constructor or call the &lt;code&gt;&lt;span class="identifier"&gt;set_auto_newline_mode&lt;/span&gt;&lt;/code&gt;
method on the sink backend.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Note:&lt;/strong&gt; 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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for passing arbitrary function objects in the
&lt;code&gt;&lt;span class="identifier"&gt;filter&lt;/span&gt;&lt;/code&gt; and
&lt;code&gt;&lt;span class="identifier"&gt;format&lt;/span&gt;&lt;/code&gt; 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. (&lt;a href="https://github.com/boostorg/log/issues/63"&gt;#63&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
In the default filter and formatter factories used in filter
and formatter parsers, added support for severity level attribute
values of type &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;log&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;trivial&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;severity_level&lt;/span&gt;&lt;/code&gt;.
For filters, the support is limited to attributes with "Severity"
name.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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 &lt;code&gt;&lt;span class="identifier"&gt;scan_for_files&lt;/span&gt;&lt;/code&gt;
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. (&lt;a href="https://github.com/boostorg/log/issues/78"&gt;#78&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated &lt;code&gt;&lt;span class="identifier"&gt;basic_formatting_ostream&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;basic_record_ostream&lt;/span&gt;&lt;/code&gt;
to make it possible to overload stream output operators for
pointers to user-defined types. User-defined &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;/code&gt;
overloads taking &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;basic_ostream&lt;/span&gt;&lt;/code&gt;
and a pointer argument should now be picked up by the compiler
when the pointer is being written to one of Boost.Log streams.
(&lt;a href="https://github.com/boostorg/log/issues/84"&gt;#84&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
See &lt;a href="https://www.boost.org/libs/log/doc/html/log/changelog.html"&gt;changelog&lt;/a&gt;
for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New features:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Catmull-Rom interpolator now works in C++11
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Cardinal quadratic B-spline interpolation
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Domain of elliptic integrals extended
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
sin_pi and cos_pi performance improvements
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Forward-mode automatic differentiation
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Vector valued barycentric rational interpolation
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ooura's method for evaluation of Fourier integrals
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Multiple compatibility issues with Multiprecision fixed
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Lambert-W fixed on a rare architecture
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/metaparse/"&gt;Metaparse&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New features:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
In C++11 variadic template support for the following: &lt;code&gt;&lt;span class="identifier"&gt;sequence&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;one_of_c&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;one_of&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;repeated_one_of&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;repeated_one_of1&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;one_char_except_c&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;one_char_except&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_METAPARSE_STRING&lt;/span&gt;&lt;/code&gt;
does not use out of range character values as template arguments.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;any_of_c&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
does not create empty array in C++14.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/move/"&gt;Move&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/move/issues/26"&gt;Git Issue
#26: &lt;em&gt;"Invalid iterator increment/decrement in the
last iteration of adaptive_sort_combine_blocks"&lt;/em&gt;&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_array/"&gt;Multi Array&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Simplify allocator support by using new &lt;code&gt;&lt;span class="identifier"&gt;alloc_construct_n&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;alloc_destroy_n&lt;/span&gt;&lt;/code&gt;
facilities from Core. (Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;a href="https://www.boost.org/libs/multi_index/doc/tutorial/key_extraction.html#x_mem_fun"&gt;variants
of &lt;code&gt;&lt;span class="identifier"&gt;const_mem_fun&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;mem_fun&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;
for differently qualified member functions (issue &lt;a href="https://github.com/boostorg/multi_index/issues/24"&gt;#24&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Terse &lt;a href="https://www.boost.org/libs/multi_index/doc/reference/key_extraction.html#key"&gt;&lt;code&gt;&lt;span class="identifier"&gt;key&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; specification syntax
now correctly handles &lt;code&gt;&lt;span class="keyword"&gt;noexcept&lt;/span&gt;&lt;/code&gt;-specified
member functions (issue &lt;a href="https://github.com/boostorg/multi_index/issues/24"&gt;#24&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/outcome/"&gt;Outcome&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Enhancements:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/184"&gt;#184&lt;/a&gt;
As per request from Boost release managers, relocated &lt;code&gt;&lt;span class="identifier"&gt;version&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;revision&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/185"&gt;#185&lt;/a&gt;
Add FAQ item explaining issue #185, and why we will do nothing
to fix it right now.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/189"&gt;#189&lt;/a&gt;
Refactored the &lt;code&gt;&lt;span class="identifier"&gt;OUTCOME_TRY&lt;/span&gt;&lt;/code&gt;
implementation to use more clarified customisation points capable
of accepting very foreign inputs. Removed the &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;expected&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;,&lt;/span&gt;
&lt;span class="identifier"&gt;E&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/183"&gt;#183&lt;/a&gt;
Added a separate &lt;code&gt;&lt;span class="identifier"&gt;motivation&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;plug_error_code&lt;/span&gt;&lt;/code&gt;
specifically for Boost.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;OUTCOME_VERSION_MINOR&lt;/span&gt;&lt;/code&gt;
hadn't been updated to 1.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/181"&gt;#181&lt;/a&gt;
Fix issue #181 where Outcome didn't actually implement the
strong swap guarantee, despite being documented as doing so.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/190"&gt;#190&lt;/a&gt;
Fix issue #190 in Boost edition where unit test suite was not
runnable from the Boost release distro.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/182"&gt;#182&lt;/a&gt;
Fix issue #182 where &lt;code&gt;&lt;span class="identifier"&gt;trait&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_exception_ptr_available&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; was always true, thus causing
much weirdness, like not printing diagnostics and trying to
feed everything to &lt;code&gt;&lt;span class="identifier"&gt;make_exception_ptr&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/ned14/outcome/issues/192"&gt;#192&lt;/a&gt;
Fix issue #192 where the &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;basic_outcome_failure_exception_from_error&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; was being defined twice for
translation units which combine standalone and Boost Outcome's.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/parameter/doc/html/index.html"&gt;Parameter&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Upgraded keyword generation macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_TEMPLATE_KEYWORD&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/15"&gt;PR#15&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Moved keyword generation macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NESTED_KEYWORD&lt;/span&gt;&lt;/code&gt;
from &lt;a href="https://www.boost.org/libs/accumulators/doc/html/index.html"&gt;Accumulators&lt;/a&gt;
to this library (&lt;a href="https://github.com/boostorg/parameter/pull/28"&gt;PR#28&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;reference_wrapper&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;ref&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/16"&gt;PR#16&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Moved &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;required&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;,
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;deduced&lt;/span&gt;&lt;/code&gt; metafunction definitions
to their own header files in directory boost/parameter (&lt;a href="https://github.com/boostorg/parameter/pull/18"&gt;PR#18&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for Boost.&lt;a href="https://www.boost.org/libs/parameter/doc/html/index.html"&gt;Parameter&lt;/a&gt;-enabled
function call operators (&lt;a href="https://github.com/boostorg/parameter/pull/20"&gt;PR#20&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for parameter category qualifiers "forward",
"consume", and "move_from" (current qualifiers
are "in", "out", and "in_out") (&lt;a href="https://github.com/boostorg/parameter/pull/21"&gt;PR#21&lt;/a&gt;)
(&lt;a href="https://github.com/boostorg/parameter/pull/23"&gt;PR#23&lt;/a&gt;) based on &lt;a href="http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters"&gt;http://www.modernescpp.com/index.php/c-core-guidelines-how-to-pass-function-parameters&lt;/a&gt;.
Added new usage syntax &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NAME&lt;/span&gt;&lt;span class="special"&gt;((&lt;/span&gt;&lt;span class="identifier"&gt;object&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;name&lt;/span&gt;&lt;span class="special"&gt;),&lt;/span&gt; &lt;span class="keyword"&gt;namespace&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;name&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt; &lt;span class="identifier"&gt;qualifier&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;tag&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;name&lt;/span&gt;&lt;span class="special"&gt;))&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NAME&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;qualifier&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;name&lt;/span&gt;&lt;span class="special"&gt;))&lt;/span&gt;&lt;/code&gt;. (Existing code that uses qualifiers
directly and correctly with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_FUNCTION&lt;/span&gt;&lt;/code&gt;
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.&lt;a href="https://www.boost.org/libs/parameter/doc/html/index.html"&gt;Parameter&lt;/a&gt;-enabled
functions and constructors invoked through argument composition.
(Otherwise, it is currently possible to use argument composition
to bypass parameter category constraints applied in &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_FUNCTION&lt;/span&gt;&lt;/code&gt; et. al.)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for perfect forwarding (&lt;a href="https://github.com/boostorg/parameter/pull/23"&gt;PR#23&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/parameter/pull/26"&gt;PR#26&lt;/a&gt;),
so that &lt;code&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameters&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; can accept non-&lt;code&gt;&lt;span class="keyword"&gt;const&lt;/span&gt;&lt;/code&gt;
rvalues. As a positive side effect, Boost.&lt;a href="https://www.boost.org/libs/parameter/doc/html/index.html"&gt;Parameter&lt;/a&gt;-enabled
functions and constructors are no longer bound by &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_MAX_ARITY&lt;/span&gt;&lt;/code&gt;
on compilers that support perfect forwarding. User code can now check
for this support by detecting the configuration macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_HAS_PERFECT_FORWARDING&lt;/span&gt;&lt;/code&gt;,
or manually turn off this support by defining the configuration macro
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_DISABLE_PERFECT_FORWARDING&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added metafunctions &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_argument_pack&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/27"&gt;PR#27&lt;/a&gt;), &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;are_tagged_arguments&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/52"&gt;PR#52&lt;/a&gt;), and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;result_of&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;compose&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/75"&gt;PR#75&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added variadic function template &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;compose&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; which takes in named arguments
and returns them in an argument pack (&lt;a href="https://github.com/boostorg/parameter/pull/52"&gt;PR#52&lt;/a&gt;). For compilers
that do not support perfect forwarding, the configuration macro
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_COMPOSE_MAX_ARITY&lt;/span&gt;&lt;/code&gt;
determines the maximum number of arguments that &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;parameter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;compose&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; can take in (&lt;a href="https://github.com/boostorg/parameter/pull/61"&gt;PR#61&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added code generation macros &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_BASIC_FUNCTION_CALL_OPERATOR&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_BASIC_CONST_FUNCTION_CALL_OPERATOR&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_FUNCTION&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_MEMBER_FUNCTION&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_CONST_MEMBER_FUNCTION&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_FUNCTION_CALL_OPERATOR&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_CONST_FUNCTION_CALL_OPERATOR&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_CONSTRUCTOR&lt;/span&gt;&lt;/code&gt;,
and &lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_NO_SPEC_NO_BASE_CONSTRUCTOR&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/52"&gt;PR#52&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for Boost.&lt;a href="https://www.boost.org/libs/mp11/doc/html/mp11.html"&gt;MP11&lt;/a&gt;
(&lt;a href="https://github.com/boostorg/parameter/pull/47"&gt;PR#47&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/parameter/pull/66"&gt;PR#66&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/parameter/pull/70"&gt;PR#70&lt;/a&gt;). User code
can now check for this support by detecting the configuration macro
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_CAN_USE_MP11&lt;/span&gt;&lt;/code&gt;,
or manually turn off this support by defining the configuration macro
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_PARAMETER_DISABLE_MP11_USAGE&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved support for parameter-dependent return types via SFINAE
(&lt;a href="https://github.com/boostorg/parameter/pull/73"&gt;PR#73&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/ptr_container/"&gt;PtrContainer&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix a ptr_vector regression introduced in 1.66.0 (&lt;a href="https://github.com/boostorg/ptr_container/pull/24"&gt;PR#24&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/poly_collection/"&gt;PolyCollection&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/smart_ptr/"&gt;SmartPtr&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added aliasing constructors to &lt;code&gt;&lt;span class="identifier"&gt;weak_ptr&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;weak_ptr&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;empty&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;enable_shared_from&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;shared_from&lt;/span&gt;&lt;/code&gt;, and
&lt;code&gt;&lt;span class="identifier"&gt;weak_from&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed output of &lt;code&gt;&lt;span class="identifier"&gt;name&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;source_location&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;source_line&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; for the default constructed &lt;code&gt;&lt;span class="identifier"&gt;frame&lt;/span&gt;&lt;/code&gt; with thread sanitizer builds
in C++98 mode.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed output of long strings from &lt;code&gt;&lt;span class="identifier"&gt;name&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;source_location&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; on MSVC &lt;a href="https://github.com/boostorg/stacktrace/issues/78"&gt;#78&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.test v3.11 see the &lt;a href="https://www.boost.org/users/history/libs/test/doc/html/boost_test/change_log.html"&gt;Changes
log&lt;/a&gt; for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Breaking changes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New feature:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Now &lt;code&gt;&lt;span class="identifier"&gt;BOOST_TEST&lt;/span&gt;&lt;/code&gt;
can be used to compare abstract types
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes and pull requests:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GitHub Issues: &lt;a href="https://github.com/boostorg/test/issues/209"&gt;#209&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/218"&gt;#218&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GitHub Pull Requests: &lt;a href="https://github.com/boostorg/test/pull/219"&gt;PR#219&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/224"&gt;PR#224&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/utility/"&gt;Utility&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Implemented function template &lt;code&gt;&lt;span class="identifier"&gt;ostream_string&lt;/span&gt;&lt;/code&gt;
in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;ostream_string&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; to optimally write any kind
of string content to an output stream. It satisfies the requirements
of [ostream.formatted.reqmts]. (Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Optimized the stream output operators of &lt;code&gt;&lt;span class="identifier"&gt;basic_string_view&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;basic_string_ref&lt;/span&gt;&lt;/code&gt;
to write directly to the &lt;code&gt;&lt;span class="identifier"&gt;rdbuf&lt;/span&gt;&lt;/code&gt;
stream buffer. (Glen Fernandes)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/uuid/"&gt;Uuid&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; MD5 name-based
uuid generation was corrected to be identical on all endian systems.
Define &lt;code&gt;&lt;span class="identifier"&gt;BOOST_UUID_COMPAT_PRE_1_71_MD5&lt;/span&gt;&lt;/code&gt;
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. (&lt;a href="https://github.com/boostorg/uuid/pull/109"&gt;PR#109&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant/"&gt;Variant&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;apply_visitor&lt;/span&gt;&lt;/code&gt;
with variants passed by non const reference in &lt;a href="https://github.com/boostorg/variant/pull/68"&gt;PR#68&lt;/a&gt;. Many
thanks to Ed Catmur for providing the fix.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for std::hash (&lt;a href="https://github.com/boostorg/variant/pull/49"&gt;PR#49&lt;/a&gt;). Macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_VARIANT_DO_NOT_SPECIALIZE_STD_HASH&lt;/span&gt;&lt;/code&gt;
could be defined to avoid those specializations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added micro optimizations for binary size and performance by Nikita
Kniazev in &lt;a href="https://github.com/boostorg/variant/pull/63"&gt;PR#63&lt;/a&gt; and &lt;a href="https://github.com/boostorg/variant/pull/66"&gt;PR#66&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work, including &lt;a href="https://github.com/boostorg/variant/pull/64"&gt;PR#64&lt;/a&gt; by Nikita Kniazev and &lt;a href="https://github.com/boostorg/variant/pull/67"&gt;PR#67&lt;/a&gt; by
Hans Dembinski.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/yap/"&gt;YAP&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added an example showing how to make self-evaluating YAP expressions
(that is, expressions that don't need an explicit call to &lt;code&gt;&lt;span class="identifier"&gt;evaluate&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
or &lt;code&gt;&lt;span class="identifier"&gt;transform&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_71_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++2a: 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++2a: 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_71_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Marshall Clow and Michael Caisse managed this release.
&lt;/p&gt;
&lt;/div&gt;
</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>
&lt;div id="version_1_70_0.known_issues"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Known Issues&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix moved-from executor in idle ping timeout (&lt;a href="https://github.com/boostorg/beast/issues/1599"&gt;#1599&lt;/a&gt;)
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/patches/1_70_0/0001-beast-fix-moved-from-executor.patch"&gt;Beast
patch&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_70_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/outcome/"&gt;Outcome&lt;/a&gt;:&lt;/span&gt; A set of tools for reporting
and handling function failures in contexts where &lt;em&gt;directly&lt;/em&gt;
using C++ exception handling is unsuitable, from Niall Douglas.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/histogram/"&gt;Histogram&lt;/a&gt;:&lt;/span&gt; Fast and extensible
multi-dimensional histograms with convenient interface for C++14, from
Hans Dembinski.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_70_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/asio/"&gt;Asio&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
This release includes a number of new features, bug fixes, performance
enhancements, and documentation improvements. Notable changes include:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added the ability to use custom I/O executors with I/O objects
(such as sockets).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new &lt;code&gt;&lt;span class="identifier"&gt;async_result&lt;/span&gt;&lt;/code&gt;
form with an &lt;code&gt;&lt;span class="identifier"&gt;initiate&lt;/span&gt;&lt;/code&gt;
static member function.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated the Coroutines TS support and promoted it to the &lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;/code&gt; namespace.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new &lt;code&gt;&lt;span class="identifier"&gt;DynamicBuffer_v2&lt;/span&gt;&lt;/code&gt;
concept which is CopyConstructible.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new &lt;code&gt;&lt;span class="identifier"&gt;async_compose&lt;/span&gt;&lt;/code&gt;
function that simplifies the implementation of user-defined
asynchronous operations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a &lt;code&gt;&lt;span class="identifier"&gt;make_strand&lt;/span&gt;&lt;/code&gt;
helper function.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Relaxed the completion condition type requirements to only
require move-constructibility rather than copy-constructibility.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a constructor for &lt;code&gt;&lt;span class="identifier"&gt;local&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;basic_endpoint&lt;/span&gt;&lt;/code&gt;
that takes a &lt;code&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added the noexcept qualifier to various functions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a new &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ASIO_DISABLE_VISIBILITY&lt;/span&gt;&lt;/code&gt;
configuration &lt;code&gt;&lt;span class="preprocessor"&gt;#define&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Enabled recycling of the memory used to type-erase a function
object with the polymorphic executor.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed receive operations to return the correct number of
bytes transferred when truncation (&lt;code&gt;&lt;span class="identifier"&gt;error&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;message_size&lt;/span&gt;&lt;/code&gt;)
occurs on a datagram-oriented socket.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed calculation of absolute timeout when the backend uses
&lt;code&gt;&lt;span class="identifier"&gt;pthread_cond_timedwait&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed the range-based asynchronous connect operation to deduce
the &lt;code&gt;&lt;span class="identifier"&gt;EndpointSequence&lt;/span&gt;&lt;/code&gt;
iterator type.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;buffer_sequence_begin&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;buffer_sequence_end&lt;/span&gt;&lt;/code&gt;
to prevent implicit conversion.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ensured SSL handshake errors are propagated to the peer before
the local operation completes.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Suppressed the &lt;code&gt;&lt;span class="identifier"&gt;eof&lt;/span&gt;&lt;/code&gt;
error on SSL shutdown as it actually indicates success.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a fallback error code for when we OpenSSL produces an
&lt;code&gt;&lt;span class="identifier"&gt;SSL_ERROR_SYSCALL&lt;/span&gt;&lt;/code&gt;
result without an associated error.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed composed asynchronous read and write operations to
move buffer sequence objects.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a macOS-specific warning about the deprecation of &lt;code&gt;&lt;span class="identifier"&gt;OSMemoryBarrier&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compile errors that occur when using the composed read
and write operations with MSVC 11.0.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved &lt;code&gt;&lt;span class="identifier"&gt;dispatch&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;post&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;defer&lt;/span&gt;&lt;/code&gt; documentation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a Windows-specific memory leak that may occur when &lt;code&gt;&lt;span class="identifier"&gt;system_executor&lt;/span&gt;&lt;/code&gt; is used.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Consult the &lt;a href="https://www.boost.org/doc/libs/1_70_0/doc/html/boost_asio/history.html"&gt;Revision
History&lt;/a&gt; for further details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast/"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;strong&gt;BIG
Update!!!&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Some APIs have changed.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/quickref.html"&gt;reference&lt;/a&gt;
shows a star ★ next to each new item.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Beast needs your help!
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/beast/wiki/Companies-and-Individuals-Using-Beast"&gt;Tell
Us&lt;/a&gt; how you or your company use Beast
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Please &lt;a href="https://github.com/boostorg/beast/issues/new"&gt;report&lt;/a&gt;
any bugs, feature requests, or general feedback
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Join the &lt;a href="https://cppalliance.org/slack/"&gt;&lt;strong&gt;C++ Slack Workspace&lt;/strong&gt;&lt;/a&gt; for free
and chat with us in the #beast and #boost channels
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Don't forget to &lt;a href="https://github.com/boostorg/beast"&gt;star
the repository&lt;/a&gt; ⭐!
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
More tutorials, code like the pros!
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/libs/beast/doc/html/beast/using_io/asio_refresher.html"&gt;Networking
Refresher&lt;/a&gt; teaches you from the ground up.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/using_io/writing_composed_operations/echo.html"&gt;Asynchronous
Echo&lt;/a&gt; example
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/using_io/writing_composed_operations/detect_ssl.html"&gt;&lt;strong&gt;Detect SSL&lt;/strong&gt;&lt;/a&gt; composed operation
tutorial
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/libs/beast/example/websocket/server/chat-multi"&gt;websocket-chat-multi&lt;/a&gt;
threaded chat server with a JavaScript &lt;a href="https://www.boost.org/libs/beast/example/websocket/server/chat-multi/chat_client.html"&gt;browser
client&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__basic_stream.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;basic_stream&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__tcp_stream.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;tcp_stream&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; offer:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Timeouts: &lt;code&gt;&lt;span class="identifier"&gt;async_read_some&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;async_write_some&lt;/span&gt;&lt;/code&gt;
complete with &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__error.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;error&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;timeout&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; on expiration!
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Traffic-shaping policies &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__simple_rate_policy.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;simple&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__unlimited_rate_policy.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;unlimited&lt;/span&gt;&lt;/code&gt;&lt;/a&gt;, or a user-defined
&lt;a href="https://www.boost.org/libs/beast/doc/html/beast/concepts/RatePolicy.html"&gt;&lt;em&gt;RatePolicy&lt;/em&gt;&lt;/a&gt;!
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Put the strand directly on the socket using &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1322r0.html"&gt;P1322R0&lt;/a&gt;,
no more &lt;code&gt;&lt;span class="identifier"&gt;bind_executor&lt;/span&gt;&lt;/code&gt;
at call sites!
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Base classes &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__async_base.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;async_base&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__stable_async_base.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;stable_async_base&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; and handle
all composed operation boilerplate for you.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/libs/beast/doc/html/beast/ref/boost__beast__ssl_stream.html"&gt;&lt;code&gt;&lt;span class="identifier"&gt;ssl_stream&lt;/span&gt;&lt;/code&gt;&lt;/a&gt; provides a movable,
assignable SSL stream with a flat write optimization.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
All asynchronous operations use Asio's &lt;code&gt;&lt;span class="identifier"&gt;async_initiate&lt;/span&gt;&lt;/code&gt;
for efficient integration with Coroutines TS.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;&lt;em&gt;faster compilation&lt;/em&gt;&lt;/strong&gt;,
define &lt;code&gt;&lt;span class="identifier"&gt;BOOST_BEAST_SEPARATE_COMPILATION&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="preprocessor"&gt;#include&lt;/span&gt; &lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;beast&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;src&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
in one of your .cpp files!
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
See the full &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html"&gt;Release
Notes&lt;/a&gt; for a complete list of changes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/context/"&gt;Context&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/91"&gt;#91&lt;/a&gt;: cleanup of stack if creating ucontext fails
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/97"&gt;#97&lt;/a&gt;: add missing BOST_CONTEXT_DECL in stack_context
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/98"&gt;#98&lt;/a&gt;: fix jump_i386_sysv_macho writing garbage to the x87
control word
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/coroutine2/"&gt;Coroutine2&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/coroutine2/issues/28"&gt;#28&lt;/a&gt;: don't crash on pthread_cancel
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dll/"&gt;DLL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New macro &lt;a href="https://www.boost.org/libs/dll/BOOST_DLL_USE_STD_FS.html"&gt;BOOST_DLL_USE_STD_FS&lt;/a&gt;.
Define it to &lt;code&gt;&lt;span class="number"&gt;1&lt;/span&gt;&lt;/code&gt; to make
the Boost.DLL use C++17's &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;system_error&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://github.com/boostorg/dll/issues/21"&gt;#21&lt;/a&gt;). Note that
exception types change from &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;system&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;system_error&lt;/span&gt;&lt;/code&gt;
to &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;system_error&lt;/span&gt;&lt;/code&gt;, so make sure to update
&lt;code&gt;&lt;span class="keyword"&gt;catch&lt;/span&gt;&lt;/code&gt;es.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Significant rewrite of the dynamic loadable detection and decoration
logic. More precise errors are now reported in case of loading failures.
Added &lt;code&gt;&lt;span class="identifier"&gt;shared_library&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;decorate&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; function that returns a decorated
path to the library without doing any platform related queries and
detections. Prefer using &lt;code&gt;&lt;span class="identifier"&gt;shared_library&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;load&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;shared_library&lt;/span&gt;&lt;/code&gt;
constructors for better results (many thanks to Loïc Touraine for
the work &lt;a href="https://github.com/boostorg/dll/pull/23"&gt;PR#23&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
CI hardening, docs updates, typos fixes, cleanups and many portability
fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dynamic_bitset/"&gt;Dynamic Bitset&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Disabled hardware-assisted popcount (added in 1.69.0) on MSVC due
to undefined behavior on older CPUs. (&lt;a href="https://github.com/boostorg/dynamic_bitset/issues/33"&gt;#33&lt;/a&gt; &lt;a href="https://github.com/boostorg/dynamic_bitset/pull/35"&gt;PR#35&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fiber/"&gt;Fiber&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/191"&gt;#191&lt;/a&gt;: ignore unused argument warning
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/196"&gt;#196&lt;/a&gt;: fix high contention on remote_ready_splk_
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a few instances of dereferencing &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;end&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; in &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;
implementation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed program termination in case of out of memory condition in directory
iterators constructors and operations accepting a reference to &lt;code&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;/code&gt;. (&lt;a href="https://github.com/boostorg/filesystem/issues/58"&gt;#58&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed possible linking errors caused by missing definitions of static
members of &lt;code&gt;&lt;span class="identifier"&gt;path&lt;/span&gt;&lt;/code&gt;.
(&lt;a href="https://svn.boost.org/trac/boost/ticket/12759"&gt;#12759&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed possible use of uninitialized data in directory iterator increment
operation on Linux.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for movability to directory iterators.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added file status query overloads for &lt;code&gt;&lt;span class="identifier"&gt;directory_entry&lt;/span&gt;&lt;/code&gt;.
This avoids a relatively expensive OS query when file status is requested
for a result of dereferencing a directory iterator. (&lt;a href="https://github.com/boostorg/filesystem/pull/55"&gt;PR#55&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Reworked &lt;code&gt;&lt;span class="identifier"&gt;current_path&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;read_symlink&lt;/span&gt;&lt;/code&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Increased the size of the internal buffer used by &lt;code&gt;&lt;span class="identifier"&gt;copy_file&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/integer/"&gt;Integer&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added Extended Euclidean Algorithm and Modular Multiplicative Inverse
function. (Nick Thompson, &lt;a href="https://github.com/boostorg/integer/pull/11"&gt;PR#11&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/log/"&gt;Log&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New features:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
See &lt;a href="https://www.boost.org/libs/log/doc/html/log/changelog.html"&gt;changelog&lt;/a&gt;
for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New features:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add Lanczos smoothing derivatives
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Move &lt;code&gt;&lt;span class="identifier"&gt;numerical_differentiation&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
from &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;math&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;tools&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;/code&gt; to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;math&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;differentiation&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;finite_difference&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add mean, variance, skewness, kurtosis, median, Gini coefficient,
and median absolute deviation to &lt;code&gt;&lt;span class="identifier"&gt;tools&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;univariate_statistics&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add correlation coefficients and covariance to &lt;code&gt;&lt;span class="identifier"&gt;tools&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;bivariate_statistics&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add absolute Gini coefficient, Hoyer sparsity, oracle SNR,
and the &lt;em&gt;M&lt;/em&gt;[sub 2]&lt;em&gt;M&lt;/em&gt;[sub
4] SNR estimator to &lt;code&gt;&lt;span class="identifier"&gt;tools&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;signal_statistics&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add total variation, l0, l1, l2, and sup norms, as well as
corresponding distance functions to &lt;code&gt;&lt;span class="identifier"&gt;tools&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;norms&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add move constructors for polynomials, support complex coefficients,
add &lt;code&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;prime&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;integrate&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
methods.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;quadratic_roots&lt;/span&gt;&lt;/code&gt;
to &lt;code&gt;&lt;span class="identifier"&gt;tools&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;roots&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for complex-valued functions to Newton's method
in &lt;code&gt;&lt;span class="identifier"&gt;roots&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add Catmull-Rom interpolator.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/mp11/"&gt;Mp11&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Renamed &lt;code&gt;&lt;span class="identifier"&gt;mp_invoke&lt;/span&gt;&lt;/code&gt;
to &lt;code&gt;&lt;span class="identifier"&gt;mp_invoke_q&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_similar&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_set_union&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_set_intersection&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_set_difference&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_not_fn&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_transform_first&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_transform_second&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_transform_third&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_filter&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_eval_if_not&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;mp_eval_or&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_valid_q&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;mp_back&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;mp_pop_back&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;size_type&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;difference_type&lt;/span&gt;&lt;/code&gt; 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 &lt;a href="https://github.com/boostorg/multi_index/issues/17"&gt;#17&lt;/a&gt; for motivation). For the moment being,
this change is not documented in the reference section (i.e., it
has semi-official status).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance work.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multiprecision/"&gt;Multiprecision&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix various conversion issues in the traits classes, check for compatibility
with Boost.Optional.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prevent instantiation of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;numeric_limits&lt;/span&gt;&lt;/code&gt;
on any old type when checking for convertibility. See &lt;a href="https://github.com/boostorg/multiprecision/issues/98"&gt;#98&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update variable precision code to account for arbitrary precision
integers. See &lt;a href="https://github.com/boostorg/multiprecision/issues/103"&gt;#103&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for XML serialization archives.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix bug in fixed precision iostream formatting in &lt;code&gt;&lt;span class="identifier"&gt;mpf_float&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;mpfr_float&lt;/span&gt;&lt;/code&gt;. See
&lt;a href="https://github.com/boostorg/multiprecision/issues/113"&gt;#113&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add more overloads for special functions which are better handled
natively by MPFR.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed bug in generic &lt;code&gt;&lt;span class="identifier"&gt;exp&lt;/span&gt;&lt;/code&gt;
implementation which could cause invariant failure.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed generic conversion from float to integer to avoid undefined
behaviour. See &lt;a href="https://github.com/boostorg/multiprecision/issues/110"&gt;#110&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/poly_collection/"&gt;PolyCollection&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improved handling of stateful allocators and allocator propagation
traits, after an error reported by Billy O'Neal (&lt;a href="https://github.com/boostorg/poly_collection/pull/9"&gt;PR#9&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a potentially serious bug with an internal cache structure.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/spirit/"&gt;Spirit&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Removed use of deprecated &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;detail&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;iterator&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
header. &lt;a href="https://github.com/boostorg/spirit/pull/432"&gt;PR#432&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
X3
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Integer parsers should now handle user defined types. &lt;a href="https://github.com/boostorg/spirit/pull/429"&gt;PR#429&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;&lt;span class="identifier"&gt;check_overflow&lt;/span&gt;&lt;/code&gt;
trait default implementation now relies on &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;numeric_limits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_bounded&lt;/span&gt;&lt;/code&gt;
instead of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;integer_traits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_integral&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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. &lt;a href="https://github.com/boostorg/spirit/pull/439"&gt;PR#439&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;parse_rule&lt;/span&gt;&lt;/code&gt;
instantiation with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_SPIRIT_INSTANTIATE&lt;/span&gt;&lt;/code&gt;
when:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
A rule has no attribute. &lt;a href="https://github.com/boostorg/spirit/pull/455"&gt;PR#455&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
An actual attribute is not of type a rule was declared
with. &lt;a href="https://github.com/boostorg/spirit/pull/456"&gt;PR#456&lt;/a&gt; &lt;a href="https://github.com/boostorg/spirit/issues/457"&gt;#457&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
A &lt;strong&gt;huge&lt;/strong&gt; thanks goes out to
&lt;a href="https://github.com/Xeverous"&gt;Xeverous&lt;/a&gt; for
reporting a regression in &lt;a href="https://github.com/boostorg/spirit/issues/453"&gt;#453&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed unneded attribute synthesization and no-transformation
attribute reference pass-through in rules. &lt;a href="https://github.com/boostorg/spirit/issues/444"&gt;#444&lt;/a&gt; &lt;a href="https://github.com/boostorg/spirit/pull/449"&gt;PR#449&lt;/a&gt; &lt;a href="https://github.com/boostorg/spirit/pull/452"&gt;PR#452&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed broken 1.0#INF parser. It was poorly documented and
never worked. &lt;a href="https://github.com/boostorg/spirit/issues/415"&gt;#415&lt;/a&gt; &lt;a href="https://github.com/boostorg/spirit/pull/458"&gt;PR#458&lt;/a&gt; &lt;a href="https://svn.boost.org/trac/boost/ticket/8699"&gt;#8699&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The undocumented &lt;code&gt;&lt;span class="identifier"&gt;make_attribute&lt;/span&gt;&lt;/code&gt;
trait was removed due to bugs &lt;a href="https://github.com/boostorg/spirit/pull/449"&gt;PR#449&lt;/a&gt;
and to simplify
attribute transformation. &lt;a href="https://github.com/boostorg/spirit/pull/460"&gt;PR#460&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
If you were using it to workaround bugs in attribute transformation
- they should not be needed anymore as of this release.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The integer value parser now respects &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;numeric_limits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;digits10&lt;/span&gt;&lt;/code&gt;
value. &lt;a href="https://github.com/boostorg/spirit/pull/469"&gt;PR#469&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed underflow check for a &lt;code&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;Min&lt;/span&gt; &lt;span class="special"&gt;%&lt;/span&gt;
&lt;span class="identifier"&gt;Base&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;
&lt;span class="special"&gt;==&lt;/span&gt; &lt;span class="number"&gt;0&lt;/span&gt;&lt;/code&gt;
corner case. &lt;a href="https://github.com/boostorg/spirit/pull/469"&gt;PR#469&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed an output value on overflow of IgnoreOverflowDigits=true
integer parser. &lt;a href="https://github.com/boostorg/spirit/pull/470"&gt;PR#470&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Container attribute elements were copyied, but not moved. &lt;a href="https://github.com/boostorg/spirit/pull/472"&gt;PR#472&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Special handling of references in &lt;code&gt;&lt;span class="identifier"&gt;transform_attribute&lt;/span&gt;&lt;/code&gt;
was removed. &lt;a href="https://github.com/boostorg/spirit/pull/480"&gt;PR#480&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
V2
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Macro name collisions and namespace conflicts with Boost.Endian
were fixed. &lt;a href="https://github.com/boostorg/spirit/pull/349"&gt;PR#349&lt;/a&gt; &lt;a href="https://github.com/boostorg/spirit/pull/482"&gt;PR#482&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
utree
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed UB in tag getter due to left shift of negative
value. &lt;a href="https://github.com/boostorg/spirit/pull/423"&gt;PR#423&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed double-conversion (&lt;code&gt;&lt;span class="identifier"&gt;spirit&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;
&lt;span class="special"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;
&lt;span class="special"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="identifier"&gt;spirit&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;&lt;/code&gt;).
&lt;a href="https://github.com/boostorg/spirit/pull/462"&gt;PR#462&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Qi
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added static asserts for rule skipper type problems.
&lt;a href="https://github.com/boostorg/spirit/pull/427"&gt;PR#427&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The &lt;code&gt;&lt;span class="identifier"&gt;check_overflow&lt;/span&gt;&lt;/code&gt;
trait default implementation now relies on &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;numeric_limits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_bounded&lt;/span&gt;&lt;/code&gt; instead
of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;integer_traits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_integral&lt;/span&gt;&lt;/code&gt;
&lt;a href="https://github.com/boostorg/spirit/pull/429"&gt;PR#429&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Integer parsers should now handle user defined types.
&lt;a href="https://github.com/boostorg/spirit/pull/429"&gt;PR#429&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Note:&lt;/strong&gt; The &lt;code&gt;&lt;span class="identifier"&gt;check_overflow&lt;/span&gt;&lt;/code&gt; trait
default implementation now relies on &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;numeric_limits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_bounded&lt;/span&gt;&lt;/code&gt;
instead of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;integer_traits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_integral&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed broken 1.0#INF parser. It was poorly documented
and never worked. &lt;a href="https://github.com/boostorg/spirit/issues/415"&gt;#415&lt;/a&gt; &lt;a href="https://github.com/boostorg/spirit/pull/458"&gt;PR#458&lt;/a&gt; &lt;a href="https://svn.boost.org/trac/boost/ticket/8699"&gt;#8699&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The undocumented &lt;code&gt;&lt;span class="identifier"&gt;make_attribute&lt;/span&gt;&lt;/code&gt;
trait was merged into &lt;code&gt;&lt;span class="identifier"&gt;transform_attribute&lt;/span&gt;&lt;/code&gt;
trait. &lt;a href="https://github.com/boostorg/spirit/pull/471"&gt;PR#471&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The &lt;code&gt;&lt;span class="identifier"&gt;pre_transform&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;post_transform&lt;/span&gt;&lt;/code&gt;,
and &lt;code&gt;&lt;span class="identifier"&gt;fail_transform&lt;/span&gt;&lt;/code&gt;
utility functions were removed in favor of directly using
&lt;code&gt;&lt;span class="identifier"&gt;pre&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="identifier"&gt;post&lt;/span&gt;&lt;/code&gt;/&lt;code&gt;&lt;span class="identifier"&gt;fail&lt;/span&gt;&lt;/code&gt; of the transform
trait. &lt;a href="https://github.com/boostorg/spirit/pull/467"&gt;PR#467&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The integer value parser now respects &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;numeric_limits&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;::&lt;/span&gt;&lt;span class="identifier"&gt;digits10&lt;/span&gt;&lt;/code&gt;
value. &lt;a href="https://github.com/boostorg/spirit/pull/469"&gt;PR#469&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed underflow check for a &lt;code&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;Min&lt;/span&gt; &lt;span class="special"&gt;%&lt;/span&gt;
&lt;span class="identifier"&gt;Base&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;
&lt;span class="special"&gt;==&lt;/span&gt; &lt;span class="number"&gt;0&lt;/span&gt;&lt;/code&gt;
corner case. &lt;a href="https://github.com/boostorg/spirit/pull/469"&gt;PR#469&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed an output value on overflow of IgnoreOverflowDigits=true
integer parser. &lt;a href="https://github.com/boostorg/spirit/pull/470"&gt;PR#470&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Special handling of references in &lt;code&gt;&lt;span class="identifier"&gt;transform_attribute&lt;/span&gt;&lt;/code&gt;
was removed. &lt;a href="https://github.com/boostorg/spirit/pull/480"&gt;PR#480&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Lex
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed UB in default constructor of lexer with user specified
token type. &lt;a href="https://github.com/boostorg/spirit/pull/420"&gt;PR#420&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Classic:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;position_iterator&lt;/span&gt;&lt;/code&gt;
forming reference to local when the underlying iterator dereference
operator returns a non-reference type. &lt;a href="https://github.com/boostorg/spirit/pull/422"&gt;PR#422&lt;/a&gt; &lt;a href="https://svn.boost.org/trac/boost/ticket/9737"&gt;#9737&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Build fix for iOS 32-bit ARM (many thanks to Ivan Ponomarev for providing
the fix &lt;a href="https://github.com/boostorg/stacktrace/pull/70"&gt;PR#70&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed multiple typos, warnings and updated the docs.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.test v3.10 see the &lt;a href="https://www.boost.org/libs/test/doc/html/boost_test/change_log.html"&gt;Changes
log&lt;/a&gt; for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Breaking changes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.Test &lt;code&gt;&lt;span class="identifier"&gt;minimal&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
is now showing a deprecation warning,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Change in floating point comparison may fail tests that were
silently not using the floating point comparison logic prior
to this release,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Internal API change to &lt;code&gt;&lt;span class="identifier"&gt;unit_test_log_formatter&lt;/span&gt;&lt;/code&gt;,
see detailed change log,
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New feature:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Floating point comparison has been extended to capture non-floating
point and arithmetic operands: expressions like &lt;code&gt;&lt;span class="identifier"&gt;BOOST_TEST&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="number"&gt;3.0001&lt;/span&gt; &lt;span class="special"&gt;==&lt;/span&gt;
&lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt;
now use floating point support of Boost.Test,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Custom datasets are not required to declare the &lt;code&gt;&lt;span class="identifier"&gt;sample&lt;/span&gt;&lt;/code&gt; type field anymore,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Extending template test cases from &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;tuple&lt;/span&gt;&lt;/code&gt;
to any variadic definition,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows support for timed tests,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Timed test on test-suites,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed dependency to Boost.Timer,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_TEST_INFO_SCOPE&lt;/span&gt;&lt;/code&gt;
for scoped context declaration,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved &lt;code&gt;&lt;span class="identifier"&gt;BOOST_TEST_CONTEXT&lt;/span&gt;&lt;/code&gt;
syntax
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes and pull requests:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Trac tickets: &lt;a href="https://svn.boost.org/trac/boost/ticket/7397"&gt;#7397&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/9434"&gt;#9434&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13106"&gt;#13106&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13418"&gt;#13418&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GitHub Issues: &lt;a href="https://github.com/boostorg/test/issues/133"&gt;#133&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/138"&gt;#138&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/141"&gt;#141&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/157"&gt;#157&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/issues/160"&gt;#160&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/174"&gt;#174&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/176"&gt;#176&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/177"&gt;#177&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/180"&gt;#180&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/issues/181"&gt;#181&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/194"&gt;#194&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/196"&gt;#196&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/198"&gt;#198&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/199"&gt;#199&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/issues/202"&gt;#202&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/203"&gt;#203&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/204"&gt;#204&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GitHub Pull Requests: &lt;a href="https://github.com/boostorg/test/pull/171"&gt;PR#171&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/172"&gt;PR#172&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/182"&gt;PR#182&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/pull/183"&gt;PR#183&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/184"&gt;PR#184&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/190"&gt;PR#190&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/195"&gt;PR#195&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/pull/195"&gt;PR#195&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/197"&gt;PR#197&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/205"&gt;PR#205&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/type_index/"&gt;TypeIndex&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Support for the GHS C++ compiler added (many thanks to Brandon Castellano
for providing the patch &lt;a href="https://github.com/boostorg/type_index/pull/28"&gt;PR#28&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Optimized string and type comparisons (many thanks to Andrey Semashev
for providing the patch &lt;a href="https://github.com/boostorg/type_index/pull/23"&gt;PR#23&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed clang-win compilation (many thanks to Peter Dimov for providing
the patch &lt;a href="https://github.com/boostorg/type_index/pull/25"&gt;PR#25&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
CI hardening.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/type_traits/"&gt;TypeTraits&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added is_bounded_array and is_unbounded_array (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added copy_reference and copy_cv_ref (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved support for msvc with /clr option.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Misc compiler compatibility fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant/"&gt;Variant&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Many cleanups and internal improvements, many thanks to Nikita Kniazev
(&lt;a href="https://github.com/boostorg/variant/pull/55"&gt;PR#55&lt;/a&gt;, &lt;a href="https://github.com/boostorg/variant/pull/56"&gt;PR#56&lt;/a&gt;, &lt;a href="https://github.com/boostorg/variant/pull/57"&gt;PR#57&lt;/a&gt;) and Louis Dionne
(&lt;a href="https://github.com/boostorg/variant/pull/51"&gt;PR#51&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
CI hardening.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/numeric/ublas/"&gt;uBlas&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Addition of tensor framework (many thanks to Cem Bassoy &lt;a href="https://github.com/boostorg/ublas/pull/65"&gt;PR#65&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Addition of basic OpenCL support (many thanks to Fady Essam &lt;a href="https://github.com/boostorg/ublas/pull/59"&gt;PR#59&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Integration of basic benchmark suite (many thanks to Stefan Seefeld
&lt;a href="https://github.com/boostorg/ublas/pull/57"&gt;PR#57&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
CI integration and hardening
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_70_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++2a: 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1, 7.0.0, 8.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++2a: 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_70_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Daniel James, Vladimir Prus, Marshall Clow and Michael Caisse managed this
release.
&lt;/p&gt;
&lt;/div&gt;
</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>
&lt;div id="version_1_69_0.notes_for_non_windows_users"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Notes for non-Windows
users&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;p&gt;
See &lt;a href="https://www.boost.org/build/manual/develop/index.html#bbv2.builtin.features.visibility"&gt;Boost.Build
visibility and local-visibility&lt;/a&gt; for more info.
&lt;/p&gt;
&lt;p&gt;
To disable that feature you can use use a command line &lt;code&gt;&lt;span class="special"&gt;./&lt;/span&gt;&lt;span class="identifier"&gt;b2&lt;/span&gt; &lt;span class="identifier"&gt;visibility&lt;/span&gt;&lt;span class="special"&gt;=&lt;/span&gt;&lt;span class="identifier"&gt;global&lt;/span&gt;&lt;/code&gt; to
build.
&lt;/p&gt;
&lt;/div&gt;
&lt;div id="version_1_69_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/safe_numerics/"&gt;Safe Numerics&lt;/a&gt;:&lt;/span&gt; A library
for guaranteed correct integer arithmetic for C++14 and later, from Robert
Ramey.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_69_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/any/"&gt;Any&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed issue with visibility. Now &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;any&lt;/span&gt;&lt;/code&gt;
variables constructed in one shared library with hidden visibility
could be used and destroyed in other shared library with hidden visibility.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance: dropped some dependencies on other Boost libraries,
fixes for docs.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/asio/"&gt;Asio&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a problem with the detection of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;future&lt;/span&gt;&lt;/code&gt;
availability with libstdc++.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compile error in regex overload of &lt;code&gt;&lt;span class="identifier"&gt;read_until&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a timer heap corruption issue that can occur when moving a
cancelled timer.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed detection of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt; with newer clang/libc++.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed MSVC version detection for availability of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;invoke_result&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed the buffer sequence traits to test the new requirements, if
&lt;code&gt;&lt;span class="keyword"&gt;decltype&lt;/span&gt;&lt;/code&gt; is available.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed an MSVC issue when building with exceptions disabled.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added SSL context options for TLS v1.3.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a compile-time test for TLS v1 support.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed the macro used to test for TLS v1.2 support.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prevented global objects from being created once per thread on Windows.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a crash when using &lt;code&gt;&lt;span class="identifier"&gt;size&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;max_size&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; or &lt;code&gt;&lt;span class="identifier"&gt;empty&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; on default-constructed resolver
results.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed to move the return value in &lt;code&gt;&lt;span class="identifier"&gt;basic_resolver_results&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;begin&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; to avoid copying.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Enabled move support for the Intel Compiler.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt; detection issue when
using clang-cl.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed the handler tracking operation name for &lt;code&gt;&lt;span class="identifier"&gt;io_context&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;executor_type&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;dispatch&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a buffer overflow that could occur when parsing an address
string with a 64-bit scope id.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added examples showing how to write composed operations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added C++11 versions of the Timeouts, Timers, SOCKS4 and SSL examples.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed minor issues in documentation and examples.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/assign/"&gt;Assign&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add rvalue reference, perfect forwarding, and variadic template support
(&lt;a href="https://github.com/boostorg/assign/pull/6"&gt;PR#6&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/10477"&gt;#10477&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Avoid conversion to container's allocator (&lt;a href="https://github.com/boostorg/assign/pull/29"&gt;PR#29&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/5419"&gt;#5419&lt;/a&gt;)
(&lt;a href="https://svn.boost.org/trac/boost/ticket/7364"&gt;#7364&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast/"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
This version fixes some issues in the examples, and provides a new
experimental socket which supports built-in timeouts on asynchronous
operations.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New CppCon 2018 &lt;a href="https://www.boost.org/doc/libs/master/libs/beast/doc/html/beast/examples.html#beast.examples.cppcon_2018"&gt;websocket
chat example&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=7FQwAjELMek"&gt;presentation
video&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
For a complete list of changes, please view the official &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html"&gt;Release
Notes&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/circular_buffer/"&gt;CircularBuffer&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Use the empty base optimization for storing allocators that are empty
and not final (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/concept_check/"&gt;Concept Check&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Removed dependency on mpl. (&lt;a href="https://github.com/boostorg/concept_check/pull/14"&gt;PR#14&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/context/"&gt;Context&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/85"&gt;#85&lt;/a&gt;: duplicate alias should be missing GCC alias
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/87"&gt;#87&lt;/a&gt;: the clang-win toolset (clang-cl.exe) uses masm from
the underlying msvc
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/90"&gt;#90&lt;/a&gt;: remove useless lines in Jamfile.v2
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/91"&gt;#91&lt;/a&gt;: add .file section for *_elf_gas.S files
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/core/"&gt;Core&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Implemented &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;empty_value&lt;/span&gt;&lt;/code&gt;,
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Implemented &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;quick_exit&lt;/span&gt;&lt;/code&gt;
to provide the C++11 standard library facility &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;quick_exit&lt;/span&gt;&lt;/code&gt;
functionality (Peter Dimov).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Reduced the number of statics in Lightweight Test, and employ lighter
abort behavior for MSVC compilers upon failure to call &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;report_errors&lt;/span&gt;&lt;/code&gt; (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dll/"&gt;DLL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Resolved link issues with the smart library &lt;a href="https://github.com/boostorg/dll/issues/20"&gt;#20&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance: fixes for docs and tests.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dynamic_bitset/"&gt;Dynamic Bitset&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Performance improvements (over 2x in some cases). (&lt;a href="https://github.com/boostorg/dynamic_bitset/pull/26"&gt;PR#26&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added range-based set, reset, flip methods (&lt;a href="https://github.com/boostorg/dynamic_bitset/pull/27"&gt;PR#27&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fiber/"&gt;Fiber&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/181"&gt;#181&lt;/a&gt;: unbuffered_channel push not return
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/182"&gt;#182&lt;/a&gt;: Remove UTF-8 BOM at begining of the file
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/183"&gt;#183&lt;/a&gt;: Fix boost-install use; should only be issued once
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Don't use &lt;code&gt;&lt;span class="identifier"&gt;readdir_r&lt;/span&gt;&lt;/code&gt;
on Linux and Android since the &lt;code&gt;&lt;span class="identifier"&gt;readdir&lt;/span&gt;&lt;/code&gt;
function is already thread-safe. (&lt;a href="https://github.com/boostorg/filesystem/pull/68"&gt;PR#68&lt;/a&gt;, &lt;a href="https://github.com/boostorg/filesystem/issues/72"&gt;#72&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed crashes in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;copy&lt;/span&gt;&lt;/code&gt;
due to undefined behavior in the implementation. (&lt;a href="https://github.com/boostorg/filesystem/pull/71"&gt;PR#71&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed undefined behavior in &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;filesystem&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;directory_iterator&lt;/span&gt;&lt;/code&gt;
implementation. (&lt;a href="https://github.com/boostorg/filesystem/pull/77"&gt;PR#77&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation errors when using directory iterators with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_FOREACH&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed workarounds for older PGI C++ compiler versions to fix compilation
on the newer ones. (&lt;a href="https://github.com/boostorg/filesystem/pull/49"&gt;PR#49&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed MSVC warnings about narrowing conversions. (&lt;a href="https://github.com/boostorg/filesystem/pull/44"&gt;PR#44&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/flyweight/index.html"&gt;Flyweight&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed some issues in GCC related to Boost.MPL placeholder expression
handling.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/function/"&gt;Function&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Removed dependencies on mpl, test (&lt;a href="https://github.com/boostorg/function/pull/20"&gt;PR#20&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/function/pull/22"&gt;PR#22&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/geometry/"&gt;Geometry&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improvements
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/486"&gt;PR#486&lt;/a&gt; Karney's solution of direct geodesic problem
for internal use (thanks to Adeel Ahmad).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/490"&gt;PR#490&lt;/a&gt; Discrete Frechet and Hausdorff distance algorithms
(thanks to Yaghyavardhan Singh Khangarot).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/496"&gt;PR#496&lt;/a&gt; New run-time and upgraded compile-time SRS
transformation interfaces (undocumented for now due to potential
interface changes).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Solved issues
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/520"&gt;#520&lt;/a&gt; Missing documentation for dsv().
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/521"&gt;#521&lt;/a&gt; Wrong documentation description for distance().
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/524"&gt;#524&lt;/a&gt; Fixed 'enumeration values not handled in switch'
warnings.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/527"&gt;#527&lt;/a&gt; Workaround for VS 2017 (msvc-15).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bugfixes
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/505"&gt;PR#505&lt;/a&gt; Fixed overflow in overlay algorithms (thanks
to Dane Springmeyer).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/518"&gt;PR#518&lt;/a&gt; Fixed passing of temporaries in append() (thanks
to xventura81).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/522"&gt;PR#522&lt;/a&gt; Support python3 in building documentation.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/integer/"&gt;Integer&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;pending&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;integer_log2&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt; header is deprecated and will
be removed in future releases. Use &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;integer&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;integer_log2&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
instead.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/iostreams/"&gt;Iostreams&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Remove call to nonexistent member seekpos() of std::fpos (&lt;a href="https://github.com/boostorg/iostreams/pull/58"&gt;PR#58&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/iterator/"&gt;Iterator&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation problems with ambiguous unqualified calls to &lt;code&gt;&lt;span class="identifier"&gt;advance&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;distance&lt;/span&gt;&lt;/code&gt;
on iterators whose types involve types in the namespace &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;/code&gt;. (&lt;a href="https://github.com/boostorg/iterator/issues/43"&gt;#43&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/lexical_cast/"&gt;LexicalCast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed sign-conversion warnings &lt;a href="https://svn.boost.org/trac/boost/ticket/8991"&gt;#8991&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance: dropped some dependencies on other Boost libraries,
fixed build system warnings.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/log/"&gt;Log&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
General changes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Updated syslog sink backend to avoid using deprecated Boost.ASIO
interfaces. (&lt;a href="https://github.com/boostorg/log/issues/59"&gt;#59&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a possible incorrect estimation of the total size of
rotated files in the target directory of a text file sink in
some cases.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
See &lt;a href="https://www.boost.org/libs/log/doc/html/log/changelog.html"&gt;changelog&lt;/a&gt;
for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/logic/"&gt;Logic&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; Use explicit operator
bool when available (&lt;a href="https://github.com/boostorg/logic/pull/5"&gt;PR#5&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add LambertW functions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update integration routines to support complex valued integrands
and contour integrals.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added the derivative of the Barycentric rational approximation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Minor fixes to better support variable precision floating point types.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed use of deprecated Boost.Endian in favour of Predef.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated continued fraction and series evaluation code to support
complex types.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prevent logic error leading to infinite loop in toms748_solve. See
&lt;a href="https://github.com/boostorg/math/issues/138"&gt;#138&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix mean and standard_deviation for extreme_value_distribution. See
&lt;a href="https://github.com/boostorg/math/issues/139"&gt;#139&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve heuristics used in newton_raphson_iterate. See &lt;a href="https://github.com/boostorg/math/issues/145"&gt;#145&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix result of &lt;code&gt;&lt;span class="identifier"&gt;erf&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;NaN&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt;. See &lt;a href="https://github.com/boostorg/math/issues/141 #141"&gt;#141 #141&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Big push to reduce GCC warnings. See &lt;a href="https://github.com/boostorg/math/issues/136 #136"&gt;#136 #136&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Refactor polynomial addition. See &lt;a href="https://github.com/boostorg/math/pull/132"&gt;PR#132&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix for vxWorks having a &lt;code&gt;&lt;span class="identifier"&gt;real&lt;/span&gt;&lt;/code&gt;
function in the global namespace. See &lt;a href="https://github.com/boostorg/math/pull/131"&gt;PR#131&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve &lt;code&gt;&lt;span class="identifier"&gt;sinc&lt;/span&gt;&lt;/code&gt; approximations
and add better tests.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix typo in Student's T hypothesis testing documentation, see &lt;a href="https://github.com/boostorg/math/issues/143"&gt;#143&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/mp11/"&gt;Mp11&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Implemented the &lt;code&gt;&lt;span class="identifier"&gt;mp_starts_with&lt;/span&gt;&lt;/code&gt;
facility (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_array/"&gt;MultiArray&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Introduced an alternative &lt;a href="https://www.boost.org/libs/multi_index/doc/tutorial/key_extraction.html#key"&gt;terse
key specification syntax&lt;/a&gt; for C++17 compliant environments.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multiprecision/"&gt;Multiprecision&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Big update to better support variable precision types so that the
precision of the result is always the largest of all the arguments.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for allocators that are &lt;code&gt;&lt;span class="identifier"&gt;final&lt;/span&gt;&lt;/code&gt;
in __cpp_int (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed use of deprecated Boost.Endian in favour of Predef.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed minor bug in constant initialization. See &lt;a href="https://github.com/boostorg/multiprecision/issues/67"&gt;#67&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Make assignment of non-finite value to &lt;code&gt;&lt;span class="identifier"&gt;cpp_int&lt;/span&gt;&lt;/code&gt;
a runtime errors. See &lt;a href="https://github.com/boostorg/multiprecision/issues/58"&gt;#58&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added typedefs for &lt;code&gt;&lt;span class="identifier"&gt;cpp_bin_float_oct&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;cpp_complex_oct&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/poly_collection/"&gt;PolyCollection&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added Boost.PolyCollection-specific versions of algorithms &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;for_each_n&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;sample&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/pool/"&gt;Pool&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Replace boost::mutex use to avoid a dependency on Boost.Thread (&lt;a href="https://github.com/boostorg/pool/pull/23"&gt;PR#23&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/preprocessor/"&gt;Preprocessor&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/rational/"&gt;Rational&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add constexpr support (&lt;a href="https://github.com/boostorg/rational/pull/28"&gt;PR#28&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/rational/pull/32"&gt;PR#32&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/spirit/"&gt;Spirit&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.X3:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Drop own FP routines in favor of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;math&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/392"&gt;#392&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/13531"&gt;#13531&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Missing visibility mark on exception types (&lt;a href="https://github.com/boostorg/spirit/issues/409"&gt;#409&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
to_utf8: Fixed wchar_t handling on Windows (&lt;a href="https://github.com/boostorg/spirit/issues/413"&gt;#413&lt;/a&gt;)
(&lt;a href="https://github.com/boostorg/spirit/issues/395"&gt;#395&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit V2
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Drop own FP routines in favor of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;math&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/392"&gt;#392&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/13531"&gt;#13531&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Missing visibility mark on exception types (&lt;a href="https://github.com/boostorg/spirit/issues/409"&gt;#409&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed transform_attribute ambiguity (&lt;a href="https://github.com/boostorg/spirit/issues/407"&gt;#407&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/spirit/issues/396"&gt;#396&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
to_utf8: Fixed wchar_t handling on Windows (&lt;a href="https://github.com/boostorg/spirit/issues/413"&gt;#413&lt;/a&gt;)
(&lt;a href="https://github.com/boostorg/spirit/issues/395"&gt;#395&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Classic:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Missing visibility mark on exception types (&lt;a href="https://github.com/boostorg/spirit/issues/409"&gt;#409&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;libbacktrace&lt;/span&gt;&lt;/code&gt; usage
was significantly improved. &lt;code&gt;&lt;span class="identifier"&gt;BOOST_STACKTRACE_USE_BACKTRACE&lt;/span&gt;&lt;/code&gt;
or &lt;code&gt;&lt;span class="identifier"&gt;boost_stacktrace_backtrace&lt;/span&gt;&lt;/code&gt;
users are encouraged to update:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Memory consumprion dropped down.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Stack capturing became faster by an order of magnitude.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;syminfo&lt;/span&gt;&lt;/code&gt; fallback
enabled to provide information for visible symbols even without
debug information (thanks to github user driesdeschout!)&lt;a href="https://github.com/boostorg/stacktrace/issues/60"&gt;#60&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/stacktrace/issues/61"&gt;#61&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Exact location of the &lt;code&gt;&lt;span class="identifier"&gt;backtrace&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;h&lt;/span&gt;&lt;/code&gt;
header now can be specified via &lt;code&gt;&lt;span class="identifier"&gt;BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE&lt;/span&gt;&lt;/code&gt;,
to allow &lt;code&gt;&lt;span class="identifier"&gt;backtrace&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;h&lt;/span&gt;&lt;/code&gt;
header usage on platforms and compilers where that header is
unreachable otherwise (for example Ubuntu Xenial + Clang) &lt;a href="https://github.com/boostorg/stacktrace/issues/59"&gt;#59&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Optimized stack capturing if &lt;code&gt;&lt;span class="identifier"&gt;max_depth&lt;/span&gt;&lt;/code&gt;
is set (thanks to Jan Eisenhauer for the PR!) &lt;a href="https://github.com/boostorg/stacktrace/issues/67"&gt;#67&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;to_string&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;const&lt;/span&gt; &lt;span class="identifier"&gt;stacktrace&lt;/span&gt;&lt;span class="special"&gt;&amp;amp;&lt;/span&gt; &lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt;
functions for fast conversion of stacktraces to &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;&lt;/code&gt;
&lt;a href="https://github.com/boostorg/stacktrace/issues/57"&gt;#57&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance: updated docs &lt;a href="https://github.com/boostorg/stacktrace/issues/62"&gt;#62&lt;/a&gt;, tests updated.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/system/"&gt;System&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.System is now header-only. A stub library is still built for
compatibility, but linking to it is no longer necessary.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Even more functions have been marked &lt;code&gt;&lt;span class="keyword"&gt;constexpr&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The destructor of &lt;code&gt;&lt;span class="identifier"&gt;error_category&lt;/span&gt;&lt;/code&gt;
is now &lt;code&gt;&lt;span class="keyword"&gt;protected&lt;/span&gt;&lt;/code&gt; and
no longer &lt;code&gt;&lt;span class="keyword"&gt;virtual&lt;/span&gt;&lt;/code&gt;. This
is a potentially breaking change, but its impact is expected to be
limited.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;error_category&lt;/span&gt;&lt;/code&gt; now
has a constructor that accepts a 64 bit identifier, enabling distinct
category objects to compare equal.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The constructors of &lt;code&gt;&lt;span class="identifier"&gt;error_category&lt;/span&gt;&lt;/code&gt;
are now &lt;code&gt;&lt;span class="keyword"&gt;protected&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
A non-allocating, nonthrowing overload of &lt;code&gt;&lt;span class="identifier"&gt;message&lt;/span&gt;&lt;/code&gt;
has been added.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
A virtual function &lt;code&gt;&lt;span class="identifier"&gt;failed&lt;/span&gt;&lt;/code&gt;
has been added, allowing categories for which success is not synonymous
with 0.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The deprecated &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;system&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;throws&lt;/span&gt;&lt;/code&gt;
object has been removed.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;throws&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
is now deprecated and its use is discouraged.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The constructor of &lt;code&gt;&lt;span class="identifier"&gt;system_error&lt;/span&gt;&lt;/code&gt;
taking a single &lt;code&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;/code&gt;
argument is now &lt;code&gt;&lt;span class="keyword"&gt;explicit&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;system_error&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;code&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt;
now returns by value.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.test v3.9 see the &lt;a href="https://www.boost.org/users/history/libs/test/doc/html/boost_test/change_log.html"&gt;Changes
log&lt;/a&gt; for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New feature:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Official support of header-only variant of Boost.Test with
multiple translation units.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Now possible to manually add a test case by specifying its
name, with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_TEST_CASE_NAME&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Better support of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;exception&lt;/span&gt;&lt;/code&gt;
in the logs
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes and pull requests:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Trac tickets: &lt;a href="https://svn.boost.org/trac/boost/ticket/13380"&gt;#13380&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13625"&gt;#13625&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13637"&gt;#13637&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GitHub Issues: &lt;a href="https://github.com/boostorg/test/issues/149"&gt;#149&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/150"&gt;#150&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/156"&gt;#156&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/158"&gt;#158&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/issues/163"&gt;#163&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GitHub Pull Requests: &lt;a href="https://github.com/boostorg/test/pull/147"&gt;PR#147&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/148"&gt;PR#148&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/151"&gt;PR#151&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/pull/154"&gt;PR#154&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/161"&gt;PR#161&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/type_index/"&gt;TypeIndex&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix the regression and speed up parsing of the &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;type_traits&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;/code&gt;
header by 30% (thanks to Nikita Kniazev for the PR!) &lt;a href="https://github.com/boostorg/type_index/issues/21"&gt;#21&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/utility/"&gt;Utility&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added support for non-inheritable empty types to &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;compressed_pair&lt;/span&gt;&lt;/code&gt;
by avoiding the empty base optimization for types which are declared
as final (Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant/"&gt;Variant&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed issue with visibility. Now &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;bad_visit&lt;/span&gt;&lt;/code&gt;
exception could cross the boundaries of shared library with hidden
visibility and could be catched in other shared library with hidden
visibility.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/yap/"&gt;YAP&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Minor changes to support MSVC++ version 14.15 (Visual Studio 2017
version 15.8).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Doc fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_69_0.discontinued_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Discontinued Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_69_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++2a: 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0, 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++2a: 10.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_69_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Daniel James, Vladimir Prus, Marshall Clow and Michael Caisse managed this
release.
&lt;/p&gt;
&lt;/div&gt;
</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>
&lt;div id="version_1_68_0.notes_for_windows_users"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Notes for Windows
users&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost.WinAPI has been updated to target Windows 7 by default, where possible.
In previous releases Windows Vista was the default.
&lt;/p&gt;
&lt;p&gt;
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 &lt;code&gt;&lt;span class="identifier"&gt;BOOST_USE_WINAPI_VERSION&lt;/span&gt;&lt;/code&gt;
to the numeric version similar to &lt;code&gt;&lt;span class="identifier"&gt;_WIN32_WINNT&lt;/span&gt;&lt;/code&gt;
while compiling Boost and user's code. For example:
&lt;/p&gt;
&lt;pre&gt; b2 release define=BOOST_USE_WINAPI_VERSION=0x0501 stage
&lt;/pre&gt;
&lt;p&gt;
The list of Windows API version numbers can be seen on &lt;a href="https://msdn.microsoft.com/en-us/library/6sehtctf.aspx"&gt;this&lt;/a&gt;
page.
&lt;/p&gt;
&lt;/div&gt;
&lt;div id="version_1_68_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/yap/"&gt;YAP&lt;/a&gt;:&lt;/span&gt; An expression template library
for C++14 and later, from Zach Laine.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_68_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast/"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
For a complete list of changes, please view the official &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html"&gt;Release
Notes&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/context/"&gt;Context&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/78"&gt;#78&lt;/a&gt;: Linker error with &lt;code&gt;&lt;span class="identifier"&gt;context&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;impl&lt;/span&gt;&lt;span class="special"&gt;=&lt;/span&gt;&lt;span class="identifier"&gt;ucontext&lt;/span&gt;&lt;/code&gt;:
multiple definition of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;context&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;detail&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;current_rec&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/coroutine2/"&gt;Coroutine2&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/coroutine2/issues/14"&gt;#14&lt;/a&gt;: crash while stack unwinding
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/coroutine2/issues/18"&gt;#18&lt;/a&gt;: some guidance on why to use coroutine2
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/coroutine2/issues/20"&gt;#20&lt;/a&gt;: failes to compile test in due to the error C2039
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/coroutine2/issues/22"&gt;#22&lt;/a&gt;: undefined behaviour documentation
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fiber/"&gt;Fiber&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/170"&gt;#170&lt;/a&gt;: buffered_channel::try_push has incorrect documentation
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/172: WIN64"&gt;#172: WIN64&lt;/a&gt;: 'invalid conversion from 'HANDLE' to
'std::thread::native_handle_type' errors for builds using mingw-w64
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/175"&gt;#175&lt;/a&gt;: throw exception "Operation not permitted"
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
NUMA support moved to extra library (fiber-numa); enabled via property
numa (numa=on)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fusion/"&gt;Fusion&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added a workaround for ambiguous call of &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;deque&lt;/span&gt;&lt;/code&gt;
constructor on GCC 4.4/c++0x (&lt;a href="https://github.com/boostorg/fusion/pull/178"&gt;PR#178&lt;/a&gt;, &lt;a href="https://github.com/boostorg/fusion/pull/178/commits/9de32721749b635ff3e04e690da89cf06602c122"&gt;commit&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a bug with C-style array (&lt;a href="https://github.com/boostorg/fusion/pull/177"&gt;PR#177&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;for_each&lt;/span&gt;&lt;/code&gt; signature to take functor
by value (&lt;a href="https://svn.boost.org/trac/boost/ticket/4427"&gt;#4427&lt;/a&gt;).
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed unintentional MPL placeholder substitution bug on &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;transform&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://svn.boost.org/trac/boost/ticket/5490"&gt;#5490&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Moved description, how to conform Fusion sequence as MPL sequence,
to mpl section (&lt;a href="https://svn.boost.org/trac/boost/ticket/4029"&gt;#4029&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added notes regarding IO facility for adapted type (&lt;a href="https://svn.boost.org/trac/boost/ticket/6091"&gt;#6091&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/geometry/"&gt;Geometry&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improvements
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/469"&gt;469&lt;/a&gt;
Horizontal grid shift (nadgrids) in SRS transformations (undocumented
for now due to potential interface changes).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/478"&gt;478&lt;/a&gt;
Box-Segment distance for spherical and geographic coordinate
systems.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/487"&gt;487&lt;/a&gt;
Missing combinations of geometries in distance for spherical
and geographic cs
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/489"&gt;489&lt;/a&gt;
Additional direct geodesic problem formulas for internal use
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Solved issues
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/470"&gt;470&lt;/a&gt;
Assertion failure with short spherical and geographic segments.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/471"&gt;471&lt;/a&gt;
Invalid envelope of spherical polygon
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/498"&gt;498&lt;/a&gt;
Unexpected results with expand() and make_inverse() for spherical
and geographic CS
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/issues/504"&gt;504&lt;/a&gt;
Unused parameter warnings.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bugfixes
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/488"&gt;488&lt;/a&gt;
Handle non-true-references in closing_iterator and ever_circling_range_iterator
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/geometry/pull/495"&gt;495&lt;/a&gt;
VxWorks 7 cross-compilation issue.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/gil/"&gt;GIL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
The I/O extensions have been entirely rewritten.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The library now requires a C++11-compliant compiler.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Documentation has been reformatted and updated.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/graph/"&gt;Graph&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Conditionally replace deprecated/removed C++98 &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;bind1st&lt;/span&gt;&lt;/code&gt;
by &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;bind&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;auto_ptr&lt;/span&gt;&lt;/code&gt;
by &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;unique_ptr&lt;/span&gt;&lt;/code&gt;, and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;random_shuffle&lt;/span&gt;&lt;/code&gt;
by &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;shuffle&lt;/span&gt;&lt;/code&gt;. (&lt;a href="https://github.com/boostorg/graph/pull/89"&gt;PR#89&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix compiler error with release builds on VS2015 (&lt;a href="https://github.com/boostorg/graph/pull/84"&gt;PR#84&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix the Stanford GraphBase examples (&lt;a href="https://github.com/boostorg/graph/pull/87"&gt;PR#87&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix friend declarations for iterator_core_access (&lt;a href="https://github.com/boostorg/graph/pull/103"&gt;PR#103&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add missing &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;iterator&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; include (&lt;a href="https://github.com/boostorg/graph/pull/104"&gt;PR#104&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Avoid an unused variable warning (&lt;a href="https://github.com/boostorg/graph/pull/90"&gt;PR#90&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix some typos in documentation (&lt;a href="https://github.com/boostorg/graph/pull/88"&gt;PR#88&lt;/a&gt;, &lt;a href="https://github.com/boostorg/graph/pull/98"&gt;PR#98&lt;/a&gt;, &lt;a href="https://github.com/boostorg/graph/pull/102"&gt;PR#102&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix some issues in tests and examples (&lt;a href="https://github.com/boostorg/graph/pull/85"&gt;PR#85&lt;/a&gt;, &lt;a href="https://github.com/boostorg/graph/pull/105"&gt;PR#105&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/lexical_cast/"&gt;Lexical Cast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixes for clang-tidy warnings &lt;a href="https://svn.boost.org/trac/boost/ticket/12092"&gt;#12092&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/log/"&gt;Log&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improved support for VxWorks. (&lt;a href="https://github.com/boostorg/log/pull/39"&gt;PR#39&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Save and restore &lt;code&gt;&lt;span class="identifier"&gt;ebx&lt;/span&gt;&lt;/code&gt;
register on x86 PIE targets in the &lt;code&gt;&lt;span class="identifier"&gt;dump&lt;/span&gt;&lt;/code&gt;
stream manipulator implementation.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Support for arbitrary precision complex valued quadrature and hence
contour integration
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve performance of polynomial addition
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Continue to improve numerical integration routines, and in particular
add support for contour integrals.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve accuracy of erfc function's rational approximations.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/index.html"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Containers of moveable but non-copyable elements can now be serialized
(ticket &lt;a href="https://svn.boost.org/trac/boost/ticket/13478"&gt;#13478&lt;/a&gt;). Thanks to Sébastien Paris for the report.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;multi_index_container&lt;/span&gt;&lt;/code&gt;'s
default constructor is no longer &lt;code&gt;&lt;span class="keyword"&gt;explicit&lt;/span&gt;&lt;/code&gt;
(ticket &lt;a href="https://svn.boost.org/trac/boost/ticket/13518"&gt;#13518&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multiprecision"&gt;Multiprecision&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Support added for complex multiprecision numbers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed conversion to unsigned integer types to be truncating to
match standard defined behaviour.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Correct bug in MPFR string formatting.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix undefined behaviour in cpp_dec_float conversion from long long.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for Eigen interoperability.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
float128.hpp: Fix Intel on Windows build.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix type used in temporaries when expanding expression templates
containing mixed expressions.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix infinite loop in gmp_float to fixed-point string conversion.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update the expression templates to issue static_asserts with better
error messages when you try and do something unsupported.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix bug in cpp_int where incrementing to zero doesn't set the sign
correctly.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Remove erroneous use of std::move, and rely on NVRO instead.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix up support for changes to MPIR-3.0.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix various conversion errors in cpp_bin_float when the exponent
type is a &lt;code&gt;&lt;span class="keyword"&gt;long&lt;/span&gt; &lt;span class="keyword"&gt;long&lt;/span&gt;&lt;/code&gt;,
or else we're converting to an integer that is wider than we are.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix compatibility issue with GCC-8 caused by the introduction of
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;byte&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/optional/"&gt;Optional&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added member function &lt;code&gt;&lt;span class="identifier"&gt;has_value&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; for compatibility with &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://github.com/boostorg/optional/issues/52"&gt;issue
#52&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added member function &lt;code&gt;&lt;span class="identifier"&gt;map&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; for transforming &lt;code&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
into &lt;code&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;U&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
using a function of type &lt;code&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;
&lt;span class="special"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="identifier"&gt;U&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added member function &lt;code&gt;&lt;span class="identifier"&gt;flat_map&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; for transforming &lt;code&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
into &lt;code&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;U&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
using a function of type &lt;code&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;
&lt;span class="special"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="identifier"&gt;optonal&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;U&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/predef/"&gt;Predef&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add support for __ARM_ARCH macro. (from Tim Blechmann)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add detection for PTX architecture. (from Benjamin Worpitz)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add nvcc compiler detection. (from Benjamin Worpitz)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add support for detecting CUDA. (from Benjamin Worpitz)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Remove reference to obsolete BOOST_ARCH_AMD64. (from Peter Kolbus)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/program_options/"&gt;Program Options&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Support for multiple long names for an option, thanks to Eyal Rozenberg
(&lt;a href="https://github.com/boostorg/program_options/pull/53"&gt;PR#53&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/python/"&gt;Python&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes to correct autolink support (Windows) (&lt;a href="https://github.com/boostorg/python/issues/193"&gt;#193&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/rational/"&gt;Rational&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed undefined behavior in normalize() (&lt;a href="https://github.com/boostorg/rational/pull/19"&gt;PR#19&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/system/"&gt;System&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add constexpr to error_code and error_condition members under C++14
and above (&lt;a href="https://github.com/boostorg/system/pull/23"&gt;PR#23&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/signals/"&gt;Signals&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Removal Notice:&lt;/strong&gt; 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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/spirit/"&gt;Spirit&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.X3:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Small list parser optimization (&lt;a href="https://github.com/boostorg/spirit/pull/368"&gt;PR#368&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Pass container attributes through sequence parser or unary
ending down to a sequence parser (&lt;a href="https://github.com/boostorg/spirit/pull/370"&gt;PR#370&lt;/a&gt; &lt;a href="https://svn.boost.org/trac/boost/ticket/12085"&gt;#12085&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
More fine grained sequence attribute check message (&lt;a href="https://github.com/boostorg/spirit/pull/371"&gt;PR#371&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed redundant check in &lt;code&gt;&lt;span class="identifier"&gt;skip_over&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/pull/373"&gt;PR#373&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Workaround constexpr in noexcept VS2015 bug in entire &lt;code&gt;&lt;span class="identifier"&gt;x3&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;variant&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://github.com/boostorg/spirit/pull/379"&gt;PR#379&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed calc4b example compilation (&lt;a href="https://github.com/boostorg/spirit/pull/384"&gt;PR#384&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Minor code improvements (&lt;a href="https://github.com/boostorg/spirit/pull/374"&gt;PR#374&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Qi:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed ADT support by permutation and sequence_or operator (&lt;a href="https://github.com/boostorg/spirit/pull/376"&gt;PR#376&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Specialize iterator_source for random access (&lt;a href="https://github.com/boostorg/spirit/pull/383"&gt;PR#383&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed redundant check in &lt;code&gt;&lt;span class="identifier"&gt;skip_over&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/pull/373"&gt;PR#373&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Karma:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed UB in &lt;code&gt;&lt;span class="identifier"&gt;get_absolute_value&lt;/span&gt;&lt;/code&gt;
function (&lt;a href="https://github.com/boostorg/spirit/pull/246"&gt;PR#246&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed use after scope bug if ADT getter returns by value (&lt;a href="https://github.com/boostorg/spirit/pull/375"&gt;PR#375&lt;/a&gt; &lt;a href="https://svn.boost.org/trac/boost/ticket/6126"&gt;#6126&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Classic:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a regression introduced in &lt;a href="https://github.com/boostorg/spirit/pull/336"&gt;PR#336&lt;/a&gt; (&lt;a href="https://github.com/boostorg/spirit/pull/386"&gt;PR#386&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Minor code improvements (&lt;a href="https://github.com/boostorg/spirit/pull/367"&gt;PR#367&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation on Solaris and other platforms that do qualify
address as const in &lt;code&gt;&lt;span class="identifier"&gt;dladdr&lt;/span&gt;&lt;/code&gt;
function (github 54).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Dropped dependency on Boost.LexicalCast.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.test v3.8 see the &lt;a href="https://www.boost.org/users/history/libs/test/doc/html/boost_test/change_log.html"&gt;Changes
log&lt;/a&gt; for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Breaking changes
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
The &lt;code&gt;&lt;span class="identifier"&gt;master_test_suite_t&lt;/span&gt;&lt;/code&gt;
object is no more copyable
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New feature:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Dataset test case can now use command line parameters
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes and pull requests:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Trac tickets: &lt;a href="https://svn.boost.org/trac/boost/ticket/12095"&gt;#12095&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/12953"&gt;#12953&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13504"&gt;#13504&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13525"&gt;#13525&lt;/a&gt;,
&lt;a href="https://svn.boost.org/trac/boost/ticket/13528"&gt;#13528&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Pull requests: &lt;a href="https://github.com/boostorg/test/pull/143"&gt;PR#143&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/pull/145"&gt;PR#145&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/type_index/"&gt;TypeIndex&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Dropped dependency on Boost.MPL.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/uuid/"&gt;Uuid&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; sha1 detail namespace
header redirection for backwards compatibility was removed (&lt;a href="https://github.com/boostorg/uuid/pull/69"&gt;PR#69&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for std::hash (&lt;a href="https://github.com/boostorg/uuid/pull/67"&gt;PR#67&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for move semantics on random generators (&lt;a href="https://github.com/boostorg/uuid/pull/74"&gt;PR#74&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Properly handle EINTR when acquiring entropy (&lt;a href="https://github.com/boostorg/uuid/pull/74"&gt;PR#74&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Use getrandom(2) instead of getentropy(3) on linux (&lt;a href="https://github.com/boostorg/uuid/pull/75"&gt;PR#75&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_68_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 5.5.0, 6.4.0, 7.1.0, 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 3.8.1, 3.9.1, 4.0.1, 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.2, 6.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 4.9.4, 5.4.0, 5.5.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.3.0, 8.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang: 9.0.0, 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++11: 9.0.0, 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++14: 9.0.0, 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++17: 9.1.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Apple Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_68_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Daniel James, Vladimir Prus, and Marshall Clow managed this release.
&lt;/p&gt;
&lt;/div&gt;
</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>
&lt;div id="version_1_67_0.known_issues"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Known Issues&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
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.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix compiling with FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/patches/1_67_0/0001-Fiber-Use-pthread_setaffinity_np-on-FreeBSD-as-well.patch"&gt;/patches/1_67_0/0001-Fiber-Use-pthread_setaffinity_np-on-FreeBSD-as-well.patch&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/patches/1_67_0/0002-Wave-Avoid-using-wrong-T_DIVIDE-on-BSDs.patch"&gt;/patches/1_67_0/0002-Wave-Avoid-using-wrong-T_DIVIDE-on-BSDs.patch&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix Python auto-linking:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/patches/1_67_0/0003-Python-Fix-auto-linking-logic-Windows-only.patch"&gt;/patches/1_67_0/0003-Python-Fix-auto-linking-logic-Windows-only.patch&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_67_0.new_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/contract/"&gt;Contract&lt;/a&gt;:&lt;/span&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/hof/"&gt;HOF&lt;/a&gt;:&lt;/span&gt;
Higher-order functions for C++,
from Paul Fultz II.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_67_0.updated_libraries"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/asio/"&gt;Asio&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added missing const qualifier to &lt;code&gt;&lt;span class="identifier"&gt;basic_socket_acceptor&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;get_option&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Worked around a parsing error that occurs with some versions of gcc.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed broken code samples in tutorial.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added new experimental features. (Note that "experimental"
features may be changed without notice in subsequent releases.)
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;detached&lt;/span&gt;&lt;/code&gt;
completion token.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;redirect_error&lt;/span&gt;&lt;/code&gt;
completion token.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added &lt;code&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;co_spawn&lt;/span&gt;&lt;/code&gt;
facility for integration with the coroutines technical specification.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated timeout examples to use latest features.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Used &lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;steady_timer&lt;/span&gt;&lt;/code&gt; rather than
&lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;deadline_timer&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Used &lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;dynamic_buffer&lt;/span&gt;&lt;/code&gt; rather than
&lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;streambuf&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Used timed &lt;code&gt;&lt;span class="identifier"&gt;asio&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;io_context&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;run_for&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; function for blocking clients.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added example showing a custom completion token for blocking
with timeouts.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed unit tests to compile when &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ASIO_NO_DEPRECATED&lt;/span&gt;&lt;/code&gt;
is defined.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed socket iostreams to use chrono by default, to fix compatibility
with the Networking TS. Define &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ASIO_USE_BOOST_DATE_TIME_FOR_SOCKET_IOSTREAM&lt;/span&gt;&lt;/code&gt;
to enable the old Boost.Date_Time interface in &lt;code&gt;&lt;span class="identifier"&gt;basic_socket_streambuf&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;basic_socket_iostream&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated examples to use chrono rather than Boost.Date_Time.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed an incorrect member function detector in the &lt;code&gt;&lt;span class="identifier"&gt;is_dynamic_buffer&lt;/span&gt;&lt;/code&gt; trait.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed an &lt;code&gt;&lt;span class="identifier"&gt;async_result&lt;/span&gt;&lt;/code&gt;
incompatibility with deprecated &lt;code&gt;&lt;span class="identifier"&gt;handler_type&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added a missing move optimisation in the SSL stream implementation.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed incorrect &lt;code&gt;&lt;span class="identifier"&gt;basic_resolver_results&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;value_type&lt;/span&gt;&lt;/code&gt;
typedef.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a compile error with some OpenSSL versions when &lt;code&gt;&lt;span class="identifier"&gt;SSL_OP_NO_COMPRESSION&lt;/span&gt;&lt;/code&gt; is defined.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed &lt;code&gt;&lt;span class="identifier"&gt;add_certificate_authority&lt;/span&gt;&lt;/code&gt;
to process multiple certificates in a bundle.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Eliminated deprecation warning with MSVC by using &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;invoke_result&lt;/span&gt;&lt;/code&gt;
rather than &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;result_of&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed to use &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;
for C++17 or later, and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;experimental&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;
for C++14. Define the preprocessor macro &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ASIO_DISABLE_STD_STRING_VIEW&lt;/span&gt;&lt;/code&gt;
to force the use of std::experimental::string_view (assuming it is
available) when compiling in C++17 mode.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ensured &lt;code&gt;&lt;span class="identifier"&gt;DynamicBuffer&lt;/span&gt;&lt;/code&gt;
template arguments are decayed before using in &lt;code&gt;&lt;span class="identifier"&gt;enable_if&lt;/span&gt;&lt;/code&gt;
tests.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed documentation to distinguish legacy completion handlers (which
are still required to be CopyConstructible) from new MoveConstructible
handlers.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Suppressed a discarded return value warning in the buffer debugging
support.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;basic_yield_context&lt;/span&gt;&lt;/code&gt;
to work with completion signatures containing reference parameters.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ensured that stackful coroutines launched using &lt;code&gt;&lt;span class="identifier"&gt;spawn&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; correctly store decayed copies
of their function and handler arguments.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed some compatibility issues with Android.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added cross-compilation support to Jamfiles.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed some minor portability issues in examples.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/atomic/"&gt;Atomic&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; Changed the result
of the &lt;code&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;op&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;span class="identifier"&gt;_and_test&lt;/span&gt;&lt;/code&gt;
operations added in Boost 1.66 to the opposite - the functions now
return &lt;code&gt;&lt;span class="keyword"&gt;true&lt;/span&gt;&lt;/code&gt; if the operation
result is non-zero. This is consistent with other &lt;code&gt;&lt;span class="identifier"&gt;test&lt;/span&gt;&lt;/code&gt;
methods in Boost.Atomic and the C++ standard library. Users can define
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST&lt;/span&gt;&lt;/code&gt;
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.
(&lt;a href="https://github.com/boostorg/atomic/issues/11"&gt;#11&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update for C++2a. On C++11 compilers that support scoped enums, the
&lt;code&gt;&lt;span class="identifier"&gt;memory_order&lt;/span&gt;&lt;/code&gt; enumeration
is now scoped and contains constants with shorter names like &lt;code&gt;&lt;span class="identifier"&gt;acquire&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;release&lt;/span&gt;&lt;/code&gt;
or &lt;code&gt;&lt;span class="identifier"&gt;seq_cst&lt;/span&gt;&lt;/code&gt; (i.e.
users can use &lt;code&gt;&lt;span class="identifier"&gt;memory_order&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;acquire&lt;/span&gt;&lt;/code&gt;
instead of &lt;code&gt;&lt;span class="identifier"&gt;memory_order_acquire&lt;/span&gt;&lt;/code&gt;).
The old constants are also provided for backward compatibility. (&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html"&gt;P0439R0&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update for C++2a. Added experimental support for atomic operations
on floating point types. In addition to general operations, &lt;code&gt;&lt;span class="identifier"&gt;add&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;sub&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;negate&lt;/span&gt;&lt;/code&gt; operations
and their &lt;code&gt;&lt;span class="identifier"&gt;fetch_&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;op&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;opaque_&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="identifier"&gt;op&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; versions are supported. Lock-free
property can be tested with the new macros &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ATOMIC_FLOAT&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;DOUBLE&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;LONG_DOUBLE_LOCK_FREE&lt;/span&gt;&lt;/code&gt;.
The support for floating point types is optional and can be disabled
by defining &lt;code&gt;&lt;span class="identifier"&gt;BOOST_ATOMIC_NO_FLOATING_POINT&lt;/span&gt;&lt;/code&gt;.
(&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html"&gt;P0020R6&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added new experimental operations:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;negate_and_test&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;complement_and_test&lt;/span&gt;&lt;/code&gt;
which perform negation or bitwise complement and return &lt;code&gt;&lt;span class="keyword"&gt;true&lt;/span&gt;&lt;/code&gt; if the result is not zero.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;add&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;sub&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;negate&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;bitwise_and&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;bitwise_or&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;bitwise_xor&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;bitwise_complement&lt;/span&gt;&lt;/code&gt;
operations which perform the operation and return its result.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
For generic &lt;code&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; specialization, the default constructor
is now trivial if &lt;code&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;/code&gt;'s
default constructor is.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The internal implementation of &lt;code&gt;&lt;span class="identifier"&gt;atomic&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; 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).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved Clang support. In particular, fixed DCAS not being lock-free
and fixed possible incorrect code generated on 32-bit x86.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved MinGW support. For gcc versions up to 4.6, fixed compilation
of DCAS on x86.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
In x86 PIE code, asm blocks now preserve &lt;code&gt;&lt;span class="identifier"&gt;ebx&lt;/span&gt;&lt;/code&gt;
value.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/beast/"&gt;Beast&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
This version fixes significant defects in &lt;code&gt;&lt;span class="identifier"&gt;websocket&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;stream&lt;/span&gt;&lt;/code&gt;
which can lead to asserts or undefined behavior. Users are encouraged
to update to the latest Boost release.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
For a complete list of changes, please view the official &lt;a href="https://www.boost.org/libs/beast/doc/html/beast/release_notes.html"&gt;Release
Notes&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/container_hash/"&gt;ContainerHash&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Extracted from the functional module to break a dependency cycle.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Moved headers to new location to reflect name change, the old include
paths will still work.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added support for &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;string_view&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;error_code&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;error_condition&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;variant&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;monostate&lt;/span&gt;&lt;/code&gt; where available.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added explicit support for &lt;code&gt;&lt;span class="identifier"&gt;vector&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;bool&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;, so that it will work with libc++
(&lt;a href="https://svn.boost.org/trac/boost/ticket/13501"&gt;#13501&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
More detail in the &lt;a href="https://www.boost.org/doc/html/hash/changes.html#hash.changes.boost_1_67_0"&gt;library
change log&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/context/"&gt;Context&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/62"&gt;#62&lt;/a&gt;/&lt;a href="https://github.com/boostorg/context/pull/64"&gt;PR#64&lt;/a&gt;: fix i386/macho routines to correctly
return transfer_t in EAX/EDX
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/65"&gt;#65&lt;/a&gt;: &lt;code&gt;&lt;span class="identifier"&gt;__sanitizer_finish_switch_fiber&lt;/span&gt;&lt;/code&gt;
should be called directly after context switch
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/66"&gt;#66&lt;/a&gt;: Clang on Windows : error: No best alternative for libs/context/build/asm_sources
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/context/issues/73"&gt;#73&lt;/a&gt;: fixing C2492 for execution_context (v1)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
known bug: including all.hpp + &amp;lt;context-impl&amp;gt;ucontext/winfib
causes error 'forced_unwind: is not a member of boost::context::detail'
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/core/"&gt;Core&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Updated &lt;code&gt;&lt;span class="identifier"&gt;to_address&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;pointer_traits&lt;/span&gt;&lt;/code&gt;
to reflect the design adopted for C++2a in &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html"&gt;P0653R2&lt;/a&gt;
(Glen Fernandes).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/coroutine2/"&gt;Coroutine2&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/coroutine2/issues/13"&gt;#13&lt;/a&gt;: Pull coroutine does not rethrow an exception if
it is thrown on the first entry
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/date_time/"&gt;DateTime&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed various year 2038 (32-bit) issues (&lt;a href="https://svn.boost.org/trac/boost/ticket/2818"&gt;#2818&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/2819"&gt;#2819&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/3487"&gt;#3487&lt;/a&gt;)
(&lt;a href="https://svn.boost.org/trac/boost/ticket/4543"&gt;#4543&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/8450"&gt;#8450&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/9158"&gt;#9158&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/9489"&gt;#9489&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/10570"&gt;#10570&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/12609"&gt;#12609&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed a binary serialization regression introduced in 1.66.0 (&lt;a href="https://github.com/boostorg/date_time/issues/56"&gt;#56&lt;/a&gt;)
(&lt;a href="https://github.com/boostorg/date_time/pull/58"&gt;PR#58&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/70"&gt;PR#70&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Updated the timezone database file (&lt;a href="https://svn.boost.org/trac/boost/ticket/4430"&gt;#4430&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/10087"&gt;#10087&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/68"&gt;PR#68&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Enhanced &lt;code&gt;&lt;span class="identifier"&gt;from_iso_string&lt;/span&gt;&lt;/code&gt;
so it can read output of &lt;code&gt;&lt;span class="identifier"&gt;to_iso_string&lt;/span&gt;&lt;/code&gt;
for special values (&lt;a href="https://svn.boost.org/trac/boost/ticket/1078"&gt;#1078&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/69"&gt;PR#69&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed maximum supported year from 10000 to 9999 to resolve various
issues (&lt;a href="https://svn.boost.org/trac/boost/ticket/13159"&gt;#13159&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/12630"&gt;#12630&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/71"&gt;PR#71&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;date_time&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;period_parser&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;delimiter_strings&lt;/span&gt;&lt;/code&gt; did nothing (&lt;a href="https://svn.boost.org/trac/boost/ticket/11142"&gt;#11142&lt;/a&gt;)
(&lt;a href="https://github.com/boostorg/date_time/pull/63"&gt;PR#63&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Ensure special values are not automatically translated to integral
types (&lt;a href="https://svn.boost.org/trac/boost/ticket/11168"&gt;#11168&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/64"&gt;PR#64&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;int_adapter&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_signed&lt;/span&gt;&lt;/code&gt; should be const (&lt;a href="https://svn.boost.org/trac/boost/ticket/12363"&gt;#12363&lt;/a&gt;)
(&lt;a href="https://github.com/boostorg/date_time/pull/60"&gt;PR#60&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;date_time&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;time_input_facet&lt;/span&gt;&lt;/code&gt; throws when using
&lt;code&gt;&lt;span class="special"&gt;%&lt;/span&gt;&lt;span class="identifier"&gt;j&lt;/span&gt;&lt;/code&gt;
alone (&lt;a href="https://svn.boost.org/trac/boost/ticket/12910"&gt;#12910&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/59"&gt;PR#59&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Time input facet is not able to parse &lt;code&gt;&lt;span class="special"&gt;%&lt;/span&gt;&lt;span class="identifier"&gt;e&lt;/span&gt;&lt;/code&gt; day (&lt;a href="https://svn.boost.org/trac/boost/ticket/13194"&gt;#13194&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/54"&gt;PR#54&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved Github CI build environment for better project metrics and
quality (&lt;a href="https://github.com/boostorg/date_time/pull/52"&gt;PR#52&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/72"&gt;PR#72&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed various compiler warnings (&lt;a href="https://svn.boost.org/trac/boost/ticket/3606"&gt;#3606&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/9882"&gt;#9882&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/date_time/pull/62"&gt;PR#62&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/dll/"&gt;DLL&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixes for calling functions on dirty &lt;code&gt;&lt;span class="identifier"&gt;GetLastError&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; &lt;a href="https://github.com/boostorg/dll/issues/16"&gt;#16&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fiber/"&gt;Fiber&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/128"&gt;#128&lt;/a&gt;: Assertion "! ctx-&amp;gt;ready_is_linked()" when
using condition_variable::wait_for
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/132"&gt;#132&lt;/a&gt;: fatal error: 'stdexception' file not found
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/141"&gt;#141&lt;/a&gt;: boost::fibers::async problem
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/146"&gt;#146&lt;/a&gt;: remove unecessary lock of remote-ready-queue spinlock
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/153"&gt;#153&lt;/a&gt;: docu: replace set_ready() by schedule()
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/154"&gt;#154&lt;/a&gt;: Document iterators on channels
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/155"&gt;#155&lt;/a&gt;: this_fiber is wrongly documented as being a member
of boost::fibers
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/156"&gt;#156&lt;/a&gt;: Many examples are using their own barrier.hpp
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/158"&gt;#158&lt;/a&gt;: add BOOST_FIBERS_DECL to work_stealing class
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/162"&gt;#162&lt;/a&gt;: remove use-coutner increment for timed wait ops
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/166"&gt;#166&lt;/a&gt;: remove assertion for wait_is_linked() in schedule()
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/167"&gt;#167&lt;/a&gt;: call shared_state::owner_destroyed() only if future
was created from
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://github.com/boostorg/fiber/issues/168"&gt;#168&lt;/a&gt;: fiber/doc/installing.qbk not not up to date
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/filesystem/"&gt;Filesystem&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix static initialization issue that caused a crash if path operations
were used before main() (&lt;a href="https://github.com/boostorg/filesystem/pull/62"&gt;PR#62&lt;/a&gt;, &lt;a href="https://github.com/boostorg/filesystem/pull/43"&gt;PR#43&lt;/a&gt;, &lt;a href="https://github.com/boostorg/filesystem/pull/50"&gt;PR#50&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/filesystem/pull/59"&gt;PR#59&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/fusion/"&gt;Fusion&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Switch to SFINAE in template parameters on &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;map&lt;/span&gt;&lt;/code&gt;
to fix compile error on newer MSVC 2017. (&lt;a href="https://github.com/boostorg/fusion/pull/164"&gt;PR#164&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix for compilers not compatible with CWG defect 945 on &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;vector&lt;/span&gt;&lt;/code&gt;. (&lt;a href="https://github.com/boostorg/fusion/pull/166"&gt;PR#166&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added limits precheck on sequence converter to make error message
clearer. (&lt;a href="https://github.com/boostorg/fusion/pull/168"&gt;PR#168&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Allow incomplete types in &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;tag_of&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;is_native_fusion_sequence&lt;/span&gt;&lt;/code&gt;. Note
that this changes no behaviour from previous release, but compliant
to TypeTraits's change. (&lt;a href="https://github.com/boostorg/fusion/pull/171"&gt;PR#171&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/geometry/"&gt;Geometry&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improvements:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
New map projection and SRS transformation representations (undocumented
for now due to potential interface changes).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New densify() algorithm.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
No longer using std::iterator (thanks to Daniela Engert).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
No longer using allocator directly in the rtree. Replaced with
boost::container::allocator_traits (thanks to Daniela Engert).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Default rtree allocator changed to boost::container::new_allocator
to still support move semantics emulation in C++03 with boost::container::allocator_traits.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Area strategies interface changed. This is potentially a breaking
change.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Radius or Sphere can be passed into spherical strategies.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added Point-Box and Box-Box spherical and geographic distance()
strategies.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Simplify (multi)polygons will discard output rings of 2 points
or (for closed polygons) 3 points, but it tries to avoid creating
those
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Simplify (multi)polygons will omit empty interior rings or
polygons from output
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Solved issues:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://svn.boost.org/trac10/ticket/13386"&gt;13386&lt;/a&gt;
Workaround for some gcc compilers
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://svn.boost.org/trac10/ticket/13381"&gt;13381&lt;/a&gt;
Compile error with matrix_transformer in Visual C++ 2015
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://svn.boost.org/trac10/ticket/13436"&gt;13436&lt;/a&gt;
Incorrectness in boost::geometry::model::polygon documentation
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bugfixes:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add missing strategy resolving in length() algorithm, affecting
Variant support.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Simplify (multi)polygons now simplifies closing point
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changes in behavior
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Simplify (multi)polygons now usually rotates input rings before
simplifying to select a non collinear point on its convex hull.
This improves output.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/locale/"&gt;Locale&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added support of &lt;code&gt;&lt;span class="identifier"&gt;unique_ptr&lt;/span&gt;&lt;/code&gt;
interface in addition to C++2003 &lt;code&gt;&lt;span class="identifier"&gt;auto_ptr&lt;/span&gt;&lt;/code&gt;
- in order to support C++2017, now you can use &lt;code&gt;&lt;span class="identifier"&gt;BOOST_LOCALE_HIDE_AUTO_PTR&lt;/span&gt;&lt;/code&gt;
definiton to remove &lt;code&gt;&lt;span class="identifier"&gt;auto_ptr&lt;/span&gt;&lt;/code&gt;
from the interfaces and prevent deprecated watnings.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed test problem with ICU &amp;gt;60.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix of solaris build
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed wired FreeBSD/clang issue on optimized build. Probably compiler
workaround
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added workaround for failing MSVC tests due to 932 codepage codecvt
issue
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed bugs 6851, 12572, 12453
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed missing throw in case of failure in &lt;code&gt;&lt;span class="identifier"&gt;icu&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;date_time&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed build agains Boost.Thread v4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed Year of week instead of year ICU backend formatting
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed formatting test for ICU 56.1 and above
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/log/"&gt;Log&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Improved compatibility with C++17: use &lt;code&gt;&lt;span class="identifier"&gt;allocator_traits&lt;/span&gt;&lt;/code&gt;
to work with allocators instead of directly accessing its members.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved compatibility with gcc 7 and later by updating library ABI
namespace definition.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added documentation for the "Append" config file parameter
for "TextFile" sinks. The parameter was supported previously,
only the documentation was missing.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/math/index.html"&gt;Math&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Add naive Monte Carlo integration support.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add Chebyshev interpolation routines.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multi_index/index.html"&gt;Multi-index Containers&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Elements with overloaded &lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;&amp;amp;&lt;/span&gt;&lt;/code&gt; are now fully accepted (ticket
&lt;a href="https://svn.boost.org/trac/boost/ticket/13307"&gt;#13307&lt;/a&gt;). Thanks to Daniel Frey for his updating &lt;a href="https://www.boost.org/libs/utility/operators.htm#deref"&gt;Boost.Operators&lt;/a&gt;
to help fix this issue.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Avoided usage of &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;allocator&lt;/span&gt;&lt;/code&gt;
members deprecated in C++17. Contributed by Daniela Engert.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/multiprecision/index.html"&gt;Multiprecision&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking Change:&lt;/strong&gt; 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:
&lt;code&gt;&lt;span class="keyword"&gt;static_cast&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;unsigned&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;(~&lt;/span&gt;&lt;span class="keyword"&gt;static_cast&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;unsigned&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;(&lt;/span&gt;&lt;span class="number"&gt;0&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt; &lt;span class="special"&gt;&amp;amp;&lt;/span&gt; &lt;span class="identifier"&gt;my_value&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt;. Note that technically (to avoid
undefined behaviour) you should do the same thing with built in integer
types too. See &lt;a href="https://svn.boost.org/trac/boost/ticket/13109"&gt;#13109&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix bug in conversion of decimal to rational types (zero needs special
handling), see &lt;a href="https://svn.boost.org/trac/boost/ticket/13148"&gt;#13148&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix conversion from cpp_bin_float to a wider built in integer type,
see &lt;a href="https://svn.boost.org/trac/boost/ticket/13301"&gt;#13301&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improve performance heurists used in cpp_bin_float exp function.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix bug in floor/ceil and cpp_bin_float when the exponent type is
wider than an int, see &lt;a href="https://svn.boost.org/trac/boost/ticket/13264"&gt;#13264&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Disable explicit conversion operator when the target type is already
constructible from this type, see &lt;a href="https://github.com/boostorg/multiprecision/issues/30"&gt;#30&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix support for changes new to MPIR-3.0, see &lt;a href="https://svn.boost.org/trac/boost/ticket/13124"&gt;#13124&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/optional/index.html"&gt;Optional&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed issue &lt;a href="https://github.com/boostorg/optional/issues/46"&gt;#46&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;Wzero&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;as&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;null&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;pointer&lt;/span&gt;&lt;span class="special"&gt;-&lt;/span&gt;&lt;span class="identifier"&gt;constant&lt;/span&gt;&lt;/code&gt;
warnings.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/phoenix/"&gt;Phoenix&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Correct documentation and example code. (&lt;a href="https://svn.boost.org/trac/boost/ticket/8187"&gt;#8187&lt;/a&gt;, &lt;a href="https://github.com/boostorg/phoenix/pull/56"&gt;PR#56&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/phoenix/pull/57"&gt;PR#57&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed bug with initializing phoenix lazy from array types in C++11.
(&lt;a href="https://svn.boost.org/trac/boost/ticket/12733"&gt;#12733&lt;/a&gt;, &lt;a href="https://github.com/boostorg/phoenix/pull/58"&gt;PR#58&lt;/a&gt;, &lt;a href="https://github.com/boostorg/phoenix/pull/61"&gt;PR#61&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Use proto subscript and assignment overload operators buildins to
fix compile error with some lambda experssions on recent MSVC. (&lt;a href="https://github.com/boostorg/phoenix/issues/62"&gt;#62&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/phoenix/pull/64"&gt;PR#64&lt;/a&gt;, &lt;a href="https://github.com/boostorg/phoenix/pull/66"&gt;PR#66&lt;/a&gt;, &lt;a href="https://github.com/boostorg/phoenix/pull/67"&gt;PR#67&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Remove use of deprecated &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;iteratror&lt;/span&gt;&lt;/code&gt;.
Thanks to Daniela Engert. (&lt;a href="https://github.com/boostorg/phoenix/pull/59"&gt;PR#59&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/poly_collection/"&gt;PolyCollection&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Maintenance fixes.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/python/"&gt;Python&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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 &lt;code&gt;&lt;span class="identifier"&gt;boost_python27&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost_numpy27&lt;/span&gt;&lt;/code&gt;,
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/spirit/"&gt;Spirit&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.X3:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; Removed
&lt;code&gt;&lt;span class="identifier"&gt;with_context&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/239"&gt;#239&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added noexcept to &lt;code&gt;&lt;span class="identifier"&gt;x3&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;variant&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;forward_ast&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/241"&gt;#241&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
CR+LF lines wrongly counted in &lt;code&gt;&lt;span class="identifier"&gt;error_handler&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;position&lt;/span&gt;&lt;span class="special"&gt;()&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://github.com/boostorg/spirit/issues/248"&gt;#248&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;unused_type&lt;/span&gt;&lt;/code&gt;
attribute case in &lt;code&gt;&lt;span class="identifier"&gt;parse_into_container&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/266"&gt;#266&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed parsing into associative containers (&lt;a href="https://github.com/boostorg/spirit/issues/289"&gt;#289&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed overflow problem in &lt;code&gt;&lt;span class="identifier"&gt;uint_parser&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;signed&lt;/span&gt;
&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/297"&gt;#297&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added VS2015 Update 3 support by using workarounds (&lt;a href="https://github.com/boostorg/spirit/issues/308"&gt;#308&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed include guard names collision with Qi (&lt;a href="https://github.com/boostorg/spirit/issues/313"&gt;#313&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added parsing into range (&lt;a href="https://github.com/boostorg/spirit/issues/316"&gt;#316&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/12928"&gt;#12928&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed iterator concept static assert from &lt;code&gt;&lt;span class="identifier"&gt;ForwardIterator&lt;/span&gt;&lt;/code&gt;
to &lt;code&gt;&lt;span class="identifier"&gt;ReadableIteratorConcept&lt;/span&gt;&lt;/code&gt;
&amp;amp;&amp;amp; &lt;code&gt;&lt;span class="identifier"&gt;ForwardTraversalConcept&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/320"&gt;#320&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Reenabled &lt;code&gt;&lt;span class="identifier"&gt;fusion&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;map&lt;/span&gt;&lt;/code&gt;
support (&lt;a href="https://github.com/boostorg/spirit/issues/330"&gt;#330&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;string&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"..."&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; and &lt;code&gt;&lt;span class="identifier"&gt;attr&lt;/span&gt;&lt;span class="special"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"..."&lt;/span&gt;&lt;span class="special"&gt;)&lt;/span&gt;&lt;/code&gt; to single item sequence (&lt;a href="https://github.com/boostorg/spirit/issues/337"&gt;#337&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Dereference a single item view instead of unwrapping sequence
(&lt;a href="https://github.com/boostorg/spirit/issues/340"&gt;#340&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Prevent &lt;code&gt;&lt;span class="identifier"&gt;parse_nan&lt;/span&gt;&lt;/code&gt;
from dereferencing out of range iterator (&lt;a href="https://github.com/boostorg/spirit/issues/351"&gt;#351&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Use traits to test if container is empty (&lt;a href="https://github.com/boostorg/spirit/issues/355"&gt;#355&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit V2
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed keyword directives compilation on C++11 (&lt;a href="https://github.com/boostorg/spirit/issues/256"&gt;#256&lt;/a&gt;)
(&lt;a href="https://svn.boost.org/trac/boost/ticket/11493"&gt;#11493&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed subrules compilation (&lt;a href="https://github.com/boostorg/spirit/issues/279"&gt;#279&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/spirit/issues/259"&gt;#259&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed subrules use after scope bug (&lt;a href="https://github.com/boostorg/spirit/issues/284"&gt;#284&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/5270"&gt;#5270&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed undefined behavior in sequential or operator. Underlying
parsers order of execution was dependent on compiler (&lt;a href="https://github.com/boostorg/spirit/issues/310"&gt;#310&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit was accidentally relaying on &lt;code&gt;&lt;span class="identifier"&gt;types&lt;/span&gt;&lt;/code&gt;
typedef of &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;optional&lt;/span&gt;&lt;/code&gt;.
The typedef was removed in the new optional implementation
(&lt;a href="https://github.com/boostorg/spirit/issues/271"&gt;#271&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/12349"&gt;#12349&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed problems with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_SPIRIT_NO_PREDEFINED_TERMINALS&lt;/span&gt;&lt;/code&gt;
(&lt;code&gt;&lt;span class="identifier"&gt;attr_cast&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;confix&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;distinct&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;keywords&lt;/span&gt;&lt;/code&gt;,
and &lt;code&gt;&lt;span class="identifier"&gt;flush_multi_pass&lt;/span&gt;&lt;/code&gt;)
(&lt;a href="https://github.com/boostorg/spirit/issues/314"&gt;#314&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/13311"&gt;#13311&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added missing copy assignment operator to &lt;code&gt;&lt;span class="identifier"&gt;hold_any&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/361"&gt;#361&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/8268"&gt;#8268&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Qi:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed alternate operator (&lt;a href="https://github.com/boostorg/spirit/issues/201"&gt;#201&lt;/a&gt;) (&lt;a href="https://github.com/boostorg/spirit/issues/271"&gt;#271&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/12349"&gt;#12349&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed signed integer overflow in real parser (&lt;a href="https://github.com/boostorg/spirit/issues/245"&gt;#245&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed overflow problem in &lt;code&gt;&lt;span class="identifier"&gt;uint_parser&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="keyword"&gt;signed&lt;/span&gt;
&lt;span class="identifier"&gt;T&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/297"&gt;#297&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;get_current_line&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;get_line_start&lt;/span&gt;&lt;/code&gt;,
and added &lt;code&gt;&lt;span class="identifier"&gt;get_line_end&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/304"&gt;#304&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Permutations parser were always initializing optionals (&lt;a href="https://github.com/boostorg/spirit/issues/319"&gt;#319&lt;/a&gt;)
(&lt;a href="https://svn.boost.org/trac/boost/ticket/12473"&gt;#12473&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Changed iterator concept static assert from &lt;code&gt;&lt;span class="identifier"&gt;ForwardIterator&lt;/span&gt;&lt;/code&gt;
to &lt;code&gt;&lt;span class="identifier"&gt;ReadableIteratorConcept&lt;/span&gt;&lt;/code&gt;
&amp;amp;&amp;amp; &lt;code&gt;&lt;span class="identifier"&gt;ForwardTraversalConcept&lt;/span&gt;&lt;/code&gt;
(&lt;a href="https://github.com/boostorg/spirit/issues/320"&gt;#320&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added assertations to real parsers to ensure that the &lt;code&gt;&lt;span class="identifier"&gt;parse_frac_n&lt;/span&gt;&lt;/code&gt; from user defined
real policy does not return negative values and also to prevent
static analyzers false-positives (&lt;a href="https://github.com/boostorg/spirit/issues/358"&gt;#358&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Karma:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed alternate operator (&lt;a href="https://github.com/boostorg/spirit/issues/271"&gt;#271&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;no_buffering_policy&lt;/span&gt;&lt;/code&gt;
missing copy constructor (&lt;a href="https://github.com/boostorg/spirit/issues/261"&gt;#261&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
The &lt;code&gt;&lt;span class="identifier"&gt;ostream_iterator&lt;/span&gt;&lt;/code&gt;
was inheriting &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;iterator&lt;/span&gt;&lt;/code&gt;
which is deprecated in C++17 (&lt;a href="https://github.com/boostorg/spirit/issues/345"&gt;#345&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Lex:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Store id as promoted type to allow out-of-enum values (&lt;a href="https://github.com/boostorg/spirit/issues/247"&gt;#247&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed C2001 'newline in constant' warning in generated lexers
(&lt;a href="https://github.com/boostorg/spirit/issues/324"&gt;#324&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/11540"&gt;#11540&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Spirit.Classic:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;remove_reference&lt;/span&gt;&lt;/code&gt;
usage without a namespace in Phoenix (&lt;a href="https://github.com/boostorg/spirit/issues/274"&gt;#274&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;complex&lt;/span&gt;&lt;/code&gt; usage without the
include (&lt;a href="https://github.com/boostorg/spirit/issues/273"&gt;#273&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation of &lt;code&gt;&lt;span class="identifier"&gt;match&lt;/span&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;T&lt;/span&gt;
&lt;span class="special"&gt;&amp;amp;&amp;gt;&lt;/span&gt;&lt;/code&gt; (&lt;a href="https://github.com/boostorg/spirit/issues/275"&gt;#275&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fixed compilation with &lt;code&gt;&lt;span class="identifier"&gt;BOOST_DISABLE_THREADS&lt;/span&gt;&lt;/code&gt;
defined (&lt;a href="https://github.com/boostorg/spirit/issues/323"&gt;#323&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/12639"&gt;#12639&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Increment scanner through iterator policy (&lt;a href="https://github.com/boostorg/spirit/issues/336"&gt;#336&lt;/a&gt;) (&lt;a href="https://svn.boost.org/trac/boost/ticket/7371"&gt;#7371&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Removed deprecated in C++17 &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;iterator&lt;/span&gt;&lt;/code&gt;
usage (&lt;a href="https://github.com/boostorg/spirit/issues/345"&gt;#345&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/stacktrace/"&gt;Stacktrace&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Async safe dumping into files on Windows OS was causing hangs on
some platforms and now is disabled &lt;a href="https://github.com/boostorg/stacktrace/issues/33"&gt;#33&lt;/a&gt;. Users are encouraged
to update to the latest Boost release.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/libs/container_hash/"&gt;ContainerHash&lt;/a&gt; library
is now used to reduce dependencies.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Minor fixes (including &lt;a href="https://github.com/boostorg/stacktrace/issues/31"&gt;#31&lt;/a&gt;, &lt;a href="https://github.com/boostorg/stacktrace/issues/38"&gt;#38&lt;/a&gt;, &lt;a href="https://github.com/boostorg/stacktrace/issues/39"&gt;#39&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/stacktrace/issues/40"&gt;#40&lt;/a&gt;, &lt;a href="https://github.com/boostorg/stacktrace/issues/42"&gt;#42&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/test/"&gt;Test&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Boost.test v3.7 see the &lt;a href="https://www.boost.org/doc/libs/1_67_0/libs/test/doc/html/boost_test/change_log.html"&gt;Changes
log&lt;/a&gt; for more details.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Breaking changes
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
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.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
New feature:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Colour output on by default and available on Windows,
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Improved and clearer command line help
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;code&gt;&lt;span class="identifier"&gt;BOOST_AUTO_TEST_CASE_TEMPLATE&lt;/span&gt;&lt;/code&gt;
now accepts a sequence of types in an &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;tuple&lt;/span&gt;&lt;/code&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Bug fixes and pull requests:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Trac tickets: &lt;a href="https://svn.boost.org/trac/boost/ticket/12092"&gt;#12092&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/12596"&gt;#12596&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/12597"&gt;#12597&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/12969"&gt;#12969&lt;/a&gt;,
&lt;a href="https://svn.boost.org/trac/boost/ticket/13058"&gt;#13058&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13149"&gt;#13149&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13170"&gt;#13170&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Trac tickets: &lt;a href="https://svn.boost.org/trac/boost/ticket/13181"&gt;#13181&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13371"&gt;#13371&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13387"&gt;#13387&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13398"&gt;#13398&lt;/a&gt;,
&lt;a href="https://svn.boost.org/trac/boost/ticket/13407"&gt;#13407&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13435"&gt;#13435&lt;/a&gt;, &lt;a href="https://svn.boost.org/trac/boost/ticket/13443"&gt;#13443&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Pull requests: &lt;a href="https://github.com/boostorg/test/issues/112"&gt;#112&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/118"&gt;#118&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/118"&gt;#118&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/121"&gt;#121&lt;/a&gt;,
&lt;a href="https://github.com/boostorg/test/issues/122"&gt;#122&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/125"&gt;#125&lt;/a&gt;, &lt;a href="https://github.com/boostorg/test/issues/127"&gt;#127&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/type_index/"&gt;TypeIndex&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;a href="https://www.boost.org/libs/container_hash/"&gt;ContainerHash&lt;/a&gt; library
is now used to reduce dependencies.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Minor fixes (including &lt;a href="https://github.com/boostorg/type_index/issues/17"&gt;#17&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/type_traits/"&gt;TypeTraits&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Added new traits &lt;code&gt;&lt;span class="identifier"&gt;detected&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;detected_or&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;is_detected&lt;/span&gt;&lt;/code&gt;, &lt;code&gt;&lt;span class="identifier"&gt;is_detected_convertible&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;is_detected_exact&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="identifier"&gt;is_complete&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added greatly improved code for detecting binary operators.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add assertions for completeness to traits which require complete
types as arguments: this prevents various traits from giving eroneous
results from incomplete types.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Fix minor issue with mpl compatibility, see &lt;a href="https://svn.boost.org/trac/boost/ticket/12212"&gt;#12212&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add macro to indicate when &lt;code&gt;&lt;span class="identifier"&gt;is_constructible&lt;/span&gt;&lt;/code&gt;
is fully implemented, see &lt;a href="https://svn.boost.org/trac/boost/ticket/12003"&gt;#12003&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Update &lt;code&gt;&lt;span class="identifier"&gt;is_function&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;is_member_function_pointer&lt;/span&gt;&lt;/code&gt;
to work correctly with C++17 noexcept specifications.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add workaround for &lt;code&gt;&lt;span class="identifier"&gt;is_default_constructible&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;pair&lt;/span&gt;&lt;/code&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Added fallback for &lt;code&gt;&lt;span class="identifier"&gt;is_nothrow_swappable&lt;/span&gt;&lt;/code&gt;
on pre-C++11 compilers.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/utility/"&gt;Utility&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;
header no longer includes &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;next&lt;/span&gt;&lt;/code&gt;
and &lt;code&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;prior&lt;/span&gt;&lt;/code&gt; as they have been moved to
the iterator module. Instead include &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;next_prior&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt;.
Other uses of &lt;code&gt;&lt;span class="special"&gt;&amp;lt;&lt;/span&gt;&lt;span class="identifier"&gt;boost&lt;/span&gt;&lt;span class="special"&gt;/&lt;/span&gt;&lt;span class="identifier"&gt;utility&lt;/span&gt;&lt;span class="special"&gt;.&lt;/span&gt;&lt;span class="identifier"&gt;hpp&lt;/span&gt;&lt;span class="special"&gt;&amp;gt;&lt;/span&gt;&lt;/code&gt; are discouraged, it's better
to use the header for the specific functionality instead.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/unordered/"&gt;Unordered&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Template deduction guides.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Standard conforming &lt;code&gt;&lt;span class="keyword"&gt;noexcept&lt;/span&gt;&lt;/code&gt;
specifications for &lt;code&gt;&lt;span class="identifier"&gt;swap&lt;/span&gt;&lt;/code&gt;,
&lt;code&gt;&lt;span class="keyword"&gt;operator&lt;/span&gt;&lt;span class="special"&gt;=&lt;/span&gt;&lt;/code&gt;
and node handles.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add &lt;code&gt;&lt;span class="identifier"&gt;element_type&lt;/span&gt;&lt;/code&gt;
to iterators, so that &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;pointer_traits&lt;/span&gt;&lt;/code&gt;
will work.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;piecewise_construct&lt;/span&gt;&lt;/code&gt; on recent Visual
C++ and Dinkumware libraries.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Use &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;iterator_traits&lt;/span&gt;&lt;/code&gt; rather than the
boost iterator traits in order to remove dependency on Boost.Iterator.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Iterators no longer inherit from &lt;code&gt;&lt;span class="identifier"&gt;std&lt;/span&gt;&lt;span class="special"&gt;::&lt;/span&gt;&lt;span class="identifier"&gt;iterator&lt;/span&gt;&lt;/code&gt;,
as it's deprecated (&lt;a href="https://github.com/boostorg/unordered/pull/7"&gt;PR#7&lt;/a&gt;).
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
More detail in the &lt;a href="https://www.boost.org/doc/html/unordered/changes.html#unordered.changes.boost_1_67_0"&gt;library
change log&lt;/a&gt;.
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/units/"&gt;Units&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Fix sqrt for scaled units &lt;a href="https://svn.boost.org/trac/boost/ticket/10270"&gt;#10270&lt;/a&gt; &lt;a href="https://github.com/boostorg/units/issues/27"&gt;#27&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Add constexpr support &lt;a href="https://github.com/boostorg/units/issues/22"&gt;#22&lt;/a&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
minor documentation fixes
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/uuid/"&gt;Uuid&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
&lt;strong&gt;Breaking change:&lt;/strong&gt; random_generator
is no longer copyable (&lt;a href="https://github.com/boostorg/uuid/issues/61"&gt;#61&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Optimized random_generator to use OS-provided entropy directly (&lt;a href="https://github.com/boostorg/uuid/pull/53"&gt;PR#53&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Provide &lt;code&gt;&lt;span class="identifier"&gt;random_generator_mt19937&lt;/span&gt;&lt;/code&gt;
for bulk UUID generation
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Handle entropy acquisition errors instead of ignoring them
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for Windows UWP (&lt;a href="https://github.com/boostorg/uuid/issues/24"&gt;#24&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Support for CloudABI
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
&lt;span class="library"&gt;&lt;a href="https://www.boost.org/libs/variant/"&gt;Variant&lt;/a&gt;:&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Substitute function arguments on compilers with variadic templates
support and do not generate substitution metafunctions using preprocessor
&lt;a href="https://github.com/boostorg/variant/issues/42"&gt;#42&lt;/a&gt;, &lt;a href="https://github.com/boostorg/variant/issues/46"&gt;#46&lt;/a&gt;. Many thanks to Nikita Kniazev for providing
an initial fix.
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Perfect forwarding for passing visitor in apply_visitor &lt;a href="https://github.com/boostorg/variant/issues/40"&gt;#40&lt;/a&gt;,
&lt;a href="https://svn.boost.org/trac/boost/ticket/13288"&gt;#13288&lt;/a&gt;. Many thanks to Paweł Dac!
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Minor fixes (including &lt;a href="https://github.com/boostorg/variant/issues/41"&gt;#41&lt;/a&gt;, &lt;a href="https://github.com/boostorg/variant/issues/44"&gt;#44&lt;/a&gt;)
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_67_0.compilers_tested"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Compilers Tested&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
Boost's primary test compilers are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 4.0.1, 5.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 7.2.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.2.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Boost's additional test compilers include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Linux:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 3.0, 3.8.1, 4.0.1, 5.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++0x: 3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++17: 5.0.1
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 4.9.2, 5.4.0, 7.2.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.4.7
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++17: 7.2.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Intel, C++14: 18.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
OS X:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 9.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Windows:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++0x: 4.6.4
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
GCC, C++11: 4.7.3, 4.8.1, 4.9.3
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
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
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
FreeBSD:
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;
Clang: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++11: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++14: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;
Clang, C++1z: 4.0.0
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id="version_1_67_0.acknowledgements"&gt;
&lt;h3&gt;&lt;span class="link"&gt;Acknowledgements&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;
&lt;a href="https://www.boost.org/users/people/beman_dawes.html"&gt;Beman Dawes&lt;/a&gt;, Daniel James,
Vladimir Prus and Marshall Clow managed this release.
&lt;/p&gt;
&lt;/div&gt;
</description></item>
</channel>
</rss>