Boost Website Site Tools Release notes for work in progress boost http://www.boost.org/ en-us Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) Version 1.54.0http://www.boost.org/users/history/version_1_54_0.htmlhttp://www.boost.org/users/history/version_1_54_0.htmlIn Progress <div id="version_1_54_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <em>TODO</em> </div> </li> </ul> </div> <div id="version_1_54_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <em>TODO</em> </div> </li> </ul> </div> <div id="version_1_54_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> <em>TODO</em> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> <em>TODO</em> </div> </li> </ul> </div> <div id="version_1_54_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <em>TODO</em> </p> </div> Version 1.53.0http://www.boost.org/users/history/version_1_53_0.htmlhttp://www.boost.org/users/history/version_1_53_0.htmlMon, 4 Feb 2013 10:29:19 -0800 <div id="version_1_53_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/atomic/">Atomic</a>:</span> C++11-style <code><span class="identifier">atomic</span><span class="special">&lt;&gt;</span></code>, from Helge Bahmann, maintained by Tim Blechmann. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/coroutine/">Coroutine</a>:</span> Coroutine library, from Oliver Kowalke. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/lockfree/">Lockfree</a>:</span> Lockfree data structures, from Tim Blechmann. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multiprecision/">Multiprecision</a>:</span> Extended precision arithmetic types for floating point, integer and rational arithmetic from John Maddock and Christopher Kormanyos. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/numeric/odeint/">Odeint</a>:</span> Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky. </div> </li> </ul> </div> <div id="version_1_53_0.news"> <h3><span class="link">News</span></h3> <p> This release contains a fix for ticket <a href="https://svn.boost.org/trac/boost/ticket/7743">#7743</a>, in Boost.Locale. For more details, see the <a href="http://www.boost.org/users/news/boost_locale_security_notice.html">security notice</a>. </p> </div> <div id="version_1_53_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> <ul> <li> <div> Fixed non-ASCII char in comment (<a href="https://svn.boost.org/trac/boost/ticket/7781">#7781</a>). </div> </li> <li> <div> Updated the Knuth-Morris-Pratt docs (<a href="https://svn.boost.org/trac/boost/ticket/7656">#7656</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/array/">Array</a>:</span> <ul> <li> <div> Added support for boost::get and std::get (<a href="https://svn.boost.org/trac/boost/ticket/7652">#7652</a>) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Fixed some 64-to-32-bit conversion warnings (<a href="https://svn.boost.org/trac/boost/ticket/7459">#7459</a>). </div> </li> <li> <div> Fixed some small errors in documentation and comments (<a href="https://svn.boost.org/trac/boost/ticket/7761">#7761</a>). </div> </li> <li> <div> Fixed an error in the example embedded in <code><span class="identifier">basic_socket</span><span class="special">::</span><span class="identifier">get_option</span></code>'s documentation (<a href="https://svn.boost.org/trac/boost/ticket/7562">#7562</a>). </div> </li> <li> <div> Changed to use <code><span class="keyword">long</span></code> rather than <code><span class="keyword">int</span></code> for SSL_CTX options, to match OpenSSL (<a href="https://svn.boost.org/trac/boost/ticket/7209">#7209</a>). </div> </li> <li> <div> Changed to use <code><span class="identifier">_snwprintf</span></code> to address a compile error due to the changed <code><span class="identifier">swprintf</span></code> signature in recent versions of MinGW (<a href="https://svn.boost.org/trac/boost/ticket/7373">#7373</a>). </div> </li> <li> <div> Fixed a deadlock that can occur on Windows when shutting down a pool of <code><span class="identifier">io_service</span></code> threads due to running out of work (<a href="https://svn.boost.org/trac/boost/ticket/7552">#7552</a>). </div> </li> <li> <div> Enabled the <code><span class="identifier">noexcept</span></code> qualifier for error categories (<a href="https://svn.boost.org/trac/boost/ticket/7797">#7797</a>). </div> </li> <li> <div> Changed UNIX domain socket example to treat errors from <code><span class="identifier">accept</span></code> as non-fatal (<a href="https://svn.boost.org/trac/boost/ticket/7488">#7488</a>). </div> </li> <li> <div> Added a small block recycling optimisation to improve default memory allocation behaviour. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/bimap/">Bimap</a>:</span> <ul> <li> <div> Refactor map_view_iterator to improve error messages. </div> </li> <li> <div> Fixed replace_(left/right/key/data) bug when using relations with info. </div> </li> <li> <div> Fixed vector_of and list_of views <code><span class="identifier">assign</span><span class="special">(</span><span class="identifier">size_type</span><span class="special">,</span><span class="identifier">value_type</span><span class="special">)</span></code> bug. </div> </li> <li> <div> Fixed vector_of views <code><span class="keyword">operator</span><span class="special">[](</span><span class="identifier">size_type</span><span class="special">)</span></code> and <code><span class="identifier">at</span><span class="special">(</span><span class="identifier">size_type</span><span class="special">)</span></code> functions return value. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <em>Deprecated:</em> <ul> <li> <div> The chrono i/o version included in Boost.Chrono 1.2.x has been completly refactored in version 2.0.0 </div> </li> <li> <div> chrono I/O: The manipulators __duration_short, __duration_long are depreceated. You should use the parameterized form __duration_fmt or the renamed manipulators __duration_symbol and __duration_prefix instead. </div> </li> <li> <div> chrono I/O: The __duration_punct&lt;&gt; facet is depreceated. You should use the __get_duration_style free function to get the informations and use the __duration_units facet for localization purposes. </div> </li> <li> <div> When BOOST_CHRONO_VERSION==2 the preceding deprecated functions are not available. </div> </li> </ul> </div> </li> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7546">#7546</a> time_point&lt;system_clock&gt; output version 2 fails to compile </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7547">#7547</a> time_point&lt;system_clock&gt; input version 2 fails to compile </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7868">#7868</a> chrono_io parses time incorrectly (1.53 and 1.52) </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span> <ul> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7650">#7650</a>. </div> </li> <li> <div> Improved <code><span class="identifier">vector</span></code>'s insertion performance. </div> </li> <li> <div> Changed again experimental multiallocation interface for better performance (still experimental). </div> </li> <li> <div> Added no exception support for those willing to disable exceptions in their compilers. </div> </li> <li> <div> Fixed GCC -Wshadow warnings. </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span> <ul> <li> <div> Support for iOS on ARM and MacOS X on x86 (32bit) added. </div> </li> <li> <div> Support for SEH Overwrite Protection on Win32. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry">Geometry</a>:</span> <ul> <li> <div> <em>Bugfixes</em> <ul> <li> <div> avoid generating output polygons with interior rings below minimum size (e.g. one or two points) </div> </li> <li> <div> <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code> for degenerate segments (patched by Karsten Ahnert) </div> </li> <li> <div> problem in <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">difference</span></code> for missing handling tangency, reported by H2 </div> </li> <li> <div> fixed <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">for_each</span></code> for use with Lambda's </div> </li> <li> <div> fixed <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">comparable_distance</span></code> point-linestring (and -range, -polygon) </div> </li> </ul> </div> </li> <li> <div> <em>Additional functionality</em> <ul> <li> <div> combinations for <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">disjoint</span></code>: point/ring, point/polygon, point/multi_polygon </div> </li> <li> <div> combinations for <code><span class="identifier">geometry</span><span class="special">::</span><span class="identifier">intersects</span></code>: point/ring, point/polygon, point/multi_polygon </div> </li> </ul> </div> </li> <li> <div> <em>Internal changes</em> <ul> <li> <div> updates in specializations/not_implemented for various algorithms (as in an earlier version, these changes are still going on; they take care for simplified structs, better error reporting, and automatized documentation) </div> </li> <li> <div> fixes in unit tests </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/gil/">GIL</a>:</span> <ul> <li> <div> Fixed self-assignment warnings (<a href="https://svn.boost.org/trac/boost/ticket/4919">#4919</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/">Graph</a>:</span> <ul> <li> <div> Fixed the following bugs from Trac: <a href="https://svn.boost.org/trac/boost/ticket/3468">#3468</a>, <a href="https://svn.boost.org/trac/boost/ticket/4386">#4386</a>, <a href="https://svn.boost.org/trac/boost/ticket/5269">#5269</a>, <a href="https://svn.boost.org/trac/boost/ticket/7428">#7428</a>, <a href="https://svn.boost.org/trac/boost/ticket/7457">#7457</a>, <a href="https://svn.boost.org/trac/boost/ticket/7467">#7467</a>, <a href="https://svn.boost.org/trac/boost/ticket/7600">#7600</a>, <a href="https://svn.boost.org/trac/boost/ticket/7648">#7648</a>, <a href="https://svn.boost.org/trac/boost/ticket/7684">#7684</a>, <a href="https://svn.boost.org/trac/boost/ticket/7728">#7728</a>, <a href="https://svn.boost.org/trac/boost/ticket/7741">#7741</a>, <a href="https://svn.boost.org/trac/boost/ticket/7766">#7766</a>, <a href="https://svn.boost.org/trac/boost/ticket/7771">#7771</a>, <a href="https://svn.boost.org/trac/boost/ticket/7773">#7773</a>, <a href="https://svn.boost.org/trac/boost/ticket/7780">#7780</a>, <a href="https://svn.boost.org/trac/boost/ticket/7787">#7787</a>, <a href="https://svn.boost.org/trac/boost/ticket/7801">#7801</a> plus other bugs not in Trac. </div> </li> <li> <div> Added support for reading from GraphML files containing multiple graphs. </div> </li> <li> <div> Added versions of A* search specifically for trees, removing the need for a color map when it is acceptable to visit the same vertex multiple times. </div> </li> <li> <div> Added VF2 subgraph isomorphism algorithm (contributed by Flavio De Lorenzi). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Add support for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">int128_type</span></code> and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">uint128_type</span></code> where available. </div> </li> <li> <div> On platforms that are known to have standard floating point functions, don't use the automatic detection (<a href="https://svn.boost.org/trac/boost/ticket/7221">#7221</a>, <a href="https://svn.boost.org/trac/boost/ticket/7470">#7470</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Fixed GCC -Wshadow warnings. </div> </li> <li> <div> Experimental multiple allocation interface improved and changed again. Still unstable. </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> <li> <div> <em>ABI breaking</em>: changed node pool allocators internals for improved efficiency. </div> </li> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7795">#7795</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/intrusive/">Intrusive</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/7174">#7174</a>, <a href="https://svn.boost.org/trac/boost/ticket/7529">#7529</a>, <a href="https://svn.boost.org/trac/boost/ticket/7815">#7815</a>. </div> </li> <li> <div> Fixed GCC -Wshadow warnings. </div> </li> <li> <div> Added missing <code><span class="keyword">explicit</span></code> keyword in several intrusive container constructors. </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> <li> <div> Small documentation fixes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> New character type detection algorithm for user defined types <a href="https://svn.boost.org/trac/boost/ticket/6786">#6786</a>. </div> </li> <li> <div> Documentation updates (<a href="https://svn.boost.org/trac/boost/ticket/7582">#7582</a>, <a href="https://svn.boost.org/trac/boost/ticket/7831">#7831</a>). </div> </li> <li> <div> Fixed bugs with std::array <a href="https://svn.boost.org/trac/boost/ticket/7799">#7799</a>. </div> </li> <li> <div> Fixed compilation with -ftrapv and numeric to numeric conversions <a href="https://svn.boost.org/trac/boost/ticket/7814">#7814</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/locale/">Locale</a>:</span> <ul> <li> <div> Security related bug fix, some invalid UTF-8 sequences where accepted as valid <a href="https://svn.boost.org/trac/boost/ticket/7743">#7743</a> </div> </li> <li> <div> Invalid Windows codepage names used <a href="https://svn.boost.org/trac/boost/ticket/7386">#7386</a> </div> </li> <li> <div> Fixed missing documentation, caused by a error in Doxygen formatting <a href="https://svn.boost.org/trac/boost/ticket/7734">#7734</a> </div> </li> <li> <div> Fixed missing std:: in some places <a href="https://svn.boost.org/trac/boost/ticket/7701">#7701</a> </div> </li> <li> <div> Spelling, grammar, typos fixes <a href="https://svn.boost.org/trac/boost/ticket/7368">#7368</a>, <a href="https://svn.boost.org/trac/boost/ticket/7762">#7762</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Fixed issues <a href="https://svn.boost.org/trac/boost/ticket/7325">#7325</a>, <a href="https://svn.boost.org/trac/boost/ticket/7415">#7415</a>, <a href="https://svn.boost.org/trac/boost/ticket/7416">#7416</a>, <a href="https://svn.boost.org/trac/boost/ticket/7183">#7183</a>, <a href="https://svn.boost.org/trac/boost/ticket/7649">#7649</a>, <a href="https://svn.boost.org/trac/boost/ticket/7694">#7694</a>, <a href="https://svn.boost.org/trac/boost/ticket/4445">#4445</a> and <a href="https://svn.boost.org/trac/boost/ticket/7492">#7492</a>. </div> </li> <li> <div> Fixed mistake in calculating pooled standard deviation in two-sample students t example <a href="https://svn.boost.org/trac/boost/ticket/7402">#7402</a>. </div> </li> <li> <div> Improve complex acos/asin/atan, see <a href="https://svn.boost.org/trac/boost/ticket/7290">#7290</a>, <a href="https://svn.boost.org/trac/boost/ticket/7291">#7291</a>. </div> </li> <li> <div> Improve accuracy in some corner cases of cyl_bessel_j and gamma_p/gamma_q thanks to suggestions from Rocco Romeo. </div> </li> <li> <div> Improve accuracy in Bessel J and Y with integer orders thanks to suggestions from Rocco Romeo. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/minmax/">MinMax</a>:</span> <ul> <li> <div> Fixed a misuse of the comma operator (<a href="https://svn.boost.org/trac/boost/ticket/7752">#7752</a>). </div> </li> <li> <div> Updated the docs to fix broken link (<a href="https://svn.boost.org/trac/boost/ticket/7751">#7751</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/move/">Move</a>:</span> <ul> <li> <div> Better header segregation (bug <a href="https://svn.boost.org/trac/boost/ticket/6524">#6524</a>). </div> </li> <li> <div> Small documentation fixes </div> </li> <li> <div> Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros. </div> </li> <li> <div> Fixed <a href="https://svn.boost.org/trac/boost/ticket/7830">#7830</a>, <a href="https://svn.boost.org/trac/boost/ticket/7832">#7832</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/polygon/">Polygon</a>:</span> <ul> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6366">#6366</a> Bug in <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">polygon</span><span class="special">::</span><span class="identifier">contains</span></code> for polygon_90 type. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7678">#7678</a> multiple definitions of <code><span class="keyword">bool</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">polygon</span><span class="special">::</span><span class="identifier">belongs</span><span class="special">(...)</span></code> by multiple <code><span class="preprocessor">#include</span></code>. </div> </li> </ul> </div> </li> <li> <div> <em>Internal changes:</em> <ul> <li> <div> refactored point/segment/interval data/concept/traits. </div> </li> <li> <div> added unit tests for point and interval data/concept/traits. </div> </li> <li> <div> simplified <code><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span></code> to operate only in 2D. </div> </li> <li> <div> removed point_3d data/concept/traits. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/random/">Random</a>:</span> <ul> <li> <div> Now compiles with exceptions disabled (<a href="https://svn.boost.org/trac/boost/ticket/5399">#5399</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/range/">Range</a>:</span> <ul> <li> <div> <em>Bug fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5603">#5603</a> the &quot;range/any_range.hpp&quot; header is not self-sufficient </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6103">#6103</a> boost::range_detail vs. boost::range::range_detail compiler error </div> </li> </ul> </div> </li> <li> <div> <em>Documentation fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5160">#5160</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5314">#5314</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5440">#5440</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5775">#5775</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6212">#6212</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7585">#7585</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7843">#7843</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7916">#7916</a> </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7926">#7926</a> </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7616">#7616</a> br_mul::nan - warning C4293: '&lt;&lt;' : shift count negative or too big, undefined behavior`. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span> Fixed Issues: <a href="https://svn.boost.org/trac/boost/ticket/7744">#7744</a>, <a href="https://svn.boost.org/trac/boost/ticket/7644">#7644</a>. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/smart_ptr/">Smart Pointers</a>:</span> <ul> <li> <div> <em>New Features:</em> <ul> <li> <div> Glen Fernandes provided implementations of make_shared and allocate_shared for arrays. They achieve a single allocation for an array that can be initialized with constructor arguments or initializer lists as well as overloads for default initialization and no value initialization. See the '<a href="http://www.boost.org/libs/smart_ptr/make_shared_array.html">make_shared and allocate_shared for arrays</a>' page for more information. </div> </li> <li> <div> <code><span class="identifier">shared_ptr</span></code> can now be used to hold a pointer to a dynamically allocated array. This is accomplished by using an array type (<code><span class="identifier">T</span><span class="special">[]</span></code> or <code><span class="identifier">T</span><span class="special">[</span><span class="identifier">N</span><span class="special">]</span></code>) as the template parameter. </div> </li> <li> <div> Smart pointers now use <code><span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="keyword">bool</span></code> on C++11 compilers. This can break code that passes a smart pointer to a function taking a <code><span class="keyword">bool</span></code>, or that returns a smart pointer from a function with a <code><span class="keyword">bool</span></code> return type. Please use <code><span class="identifier">p</span> <span class="special">!=</span> <span class="number">0</span></code> or <code><span class="special">!!</span><span class="identifier">p</span></code> in such cases. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/string">StringAlgo</a>:</span> <ul> <li> <div> Fixed a bug where it wouldn't find overlapping patterns (<a href="https://svn.boost.org/trac/boost/ticket/7784">#7784</a>). </div> </li> <li> <div> Disambiguated some calls to insert (<a href="https://svn.boost.org/trac/boost/ticket/7346">#7346</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> <em>Deprecated features:</em> <ul> <li> <div> Deprecated features since boost 1.53 will be available only until boost 1.58. </div> </li> <li> <div> C++11 compliance: packaged_task&lt;R&gt; is deprecated, use instead packaged_task&lt;R()&gt;. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7537">#7537</a> deprecate Mutex::scoped_lock and scoped_try_lock and boost::condition </div> </li> </ul> </div> </li> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6270">#6270</a> C++11 compliance: Add thread constructor from movable callable and movable arguments </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7279">#7279</a> C++11 compliance: Add noexcept in system related functions </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7280">#7280</a> C++11 compliance: Add promise::...at_thread_exit functions </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7281">#7281</a> C++11 compliance: Add ArgTypes to packaged_task template. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7282">#7282</a> C++11 compliance: Add packaged_task::make_ready_at_thread_exit function </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7412">#7412</a> C++11 compliance: Add async from movable callable and movable arguments </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7413">#7413</a> C++11 compliance: Add async when the launch policy is deferred. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7414">#7414</a> C++11 compliance: future::get post-condition should be valid()==false. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7422">#7422</a> Provide a condition variable with zero-overhead performance penality. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7444">#7444</a> Async: Add make_future/make_shared_future. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7540">#7540</a> Threads: Add a helper class that join a thread on destruction. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7541">#7541</a> Threads: Add a thread wrapper class that joins on destruction. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7575">#7575</a> C++11 compliance: A future created by async should &quot;join&quot; in the destructor. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7587">#7587</a> Synchro: Add strict_lock and nested_strict_lock. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7588">#7588</a> Synchro: Split the locks.hpp in several files to limit dependencies. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7590">#7590</a> Synchro: Add lockable concept checkers based on Boost.ConceptCheck. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7591">#7591</a> Add lockable traits that can be used with enable_if. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7592">#7592</a> Synchro: Add a null_mutex that is a no-op and that is a model of UpgardeLockable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7593">#7593</a> Synchro: Add a externally_locked class. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7590">#7594</a> Threads: Allow to disable thread interruptions. </div> </li> </ul> </div> </li> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7464">#7464</a> BOOST_TEST(n_alive == 1); fails due to race condition in a regression test tool. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7657">#7657</a> Serious performance and memory consumption hit if condition_variable methods condition notify_one or notify_all is used repeatedly. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7665">#7665</a> this_thread::sleep_for no longer uses steady_clock in thread. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7668">#7668</a> thread_group::join_all() should check whether its threads are joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7669">#7669</a> thread_group::join_all() should catch resource_deadlock_would_occur. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7671">#7671</a> Error including boost/thread.hpp header on iOS. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7672">#7672</a> lockable_traits.hpp syntax error: &quot;defined&quot; token misspelled. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7798">#7798</a> boost::future set_wait_callback thread safety issues. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7808">#7808</a> Incorrect description of effects for this_thread::sleep_for and this_thread::sleep_until. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7812">#7812</a> Returns: cv_status::no_timeout if the call is returning because the time period specified by rel_time has elapsed, cv_status::timeout otherwise. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7874">#7874</a> compile warning: thread.hpp:342: warning: type attributes are honored only at type definition. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7875">#7875</a> BOOST_THREAD_THROW_IF_PRECONDITION_NOT_SATISFIED should not be enabled by default. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7882">#7882</a> wrong exception text from condition_variable::wait(unique_lock&lt;mutex&gt;&amp;). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7890">#7890</a> thread::do_try_join_until() is missing a return type. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Remove support for the old pre-standard variadic pair constructors, and equality implementation. Both have been deprecated since Boost 1.48. </div> </li> <li> <div> More internal implementation changes, including a much simpler implementation of <code><span class="identifier">erase</span></code>, and removed more deprecated config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/">Utility</a>:</span> <ul> <li> <div> Added <a href="http://www.boost.org/libs/utility/doc/html/string_ref.html">string_ref</a>, a non-owning reference to a contiguous sequence of characters. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/variant/">Variant</a>:</span> <ul> <li> <div> Added rvalue constructors and rvalue assignment operators (for C++11 compatible compilers only). Library now can be used with move-only types (<a href="https://svn.boost.org/trac/boost/ticket/7620">#7620</a>, <a href="https://svn.boost.org/trac/boost/ticket/7718">#7718</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">Wave</a>:</span> <ul> <li> <div> See the <a href="http://www.boost.org/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Accomodate recent smart pointer changes (<a href="https://svn.boost.org/trac/boost/ticket/7809">#7809</a>). </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_53_0.updated_tools"> <h3><span class="link">Updated Tools</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/tools/build/index.html">Boost Build System</a>:</span> <ul> <li> <div> Qt5 toolset </div> </li> <li> <div> improved rcc support (<a href="https://svn.boost.org/trac/boost/ticket/7576">#7576</a>) </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_53_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> GCC: 4.1.2, 4.2.4, 4.4.4, 4.5.3, 4.6.3, 4.7.2 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4, 4.5.3, 4.6.3, 4.7.2 </div> </li> <li> <div> Intel: 11.1, 12.1 </div> </li> <li> <div> LLVM Clang: 2.8 </div> </li> <li> <div> LLVM Clang, with libc++: 3.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.4.7 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 9.0, 10.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Cray: 4.6.1 </div> </li> <li> <div> Clang: from subversion </div> </li> <li> <div> LLVM Clang, with libc++: 3.2 </div> </li> <li> <div> GCC: 4.2.4, 4.4.4, 4.5.3, 4.6.3, 4.7.1 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4, 4.5.3, 4.6.3, 4.7.1, 4.7.2 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.1 </div> </li> <li> <div> Intel, C++11 mode: 13.0.1 </div> </li> <li> <div> Visual Age: </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang: from subversion </div> </li> <li> <div> Clang, C++11 mode: from subversion </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4.7 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 10.0, 11.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: V12.1.0.1 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_53_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.52.0http://www.boost.org/users/history/version_1_52_0.htmlhttp://www.boost.org/users/history/version_1_52_0.htmlMon, 5 Nov 2012 08:05:58 -0800 <div id="version_1_52_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/accumulators/">Accumulators</a>:</span> <ul> <li> <div> Fix long-standing dependency tracking bug, <a href="https://svn.boost.org/trac/boost/ticket/7409">#7409</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span> <ul> <li> <div> Define <code><span class="identifier">BOOST_NO_SFINAE_EXPR</span></code> for gcc-4.4, since the support was found to be too buggy. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5980">#5980</a> Enhance chrono I/O with H. Hinnant proposal <a href="http://home.roadrunner.com/~hinnant/bloomington/chrono_io.html">proposal</a> which has the advantage to provide I/O for system clocks using the Gregorian Calendar. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5981">#5981</a> Add i/o state savers for duration and time_point formatting state. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7059">#7059</a> Add low level i/o facilities. </div> </li> </ul> </div> </li> <li> <div> <em>Deprecated features:</em> <ul> <li> <div> The chrono i/o version included in Boost.Chrono 1.2.x has been completly refactored in version 2.0.0 </div> </li> <li> <div> chrono I/O: The manipulators <code><span class="identifier">__duration_short</span></code>, <code><span class="identifier">__duration_long</span></code> are depreceated. You should use the parameterized form <code><span class="identifier">__duration_fmt</span></code> or the renamed manipulators <code><span class="identifier">__duration_symbol</span></code> and <code><span class="identifier">__duration_prefix</span></code> instead. </div> </li> <li> <div> chrono I/O: The <code><span class="identifier">__duration_punct</span><span class="special">&lt;&gt;</span></code> facet is deprecated. You should use the <code><span class="identifier">__get_duration_style</span></code> free function to get the informations and use the <code><span class="identifier">__duration_units</span></code> facet for localization purposes. </div> </li> <li> <div> When <code><span class="identifier">BOOST_CHRONO_VERSION</span><span class="special">==</span><span class="number">2</span></code> the preceding deprecated functions are not available. </div> </li> </ul> </div> </li> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7381">#7381</a> C++11 compliance: unresolved symbol when assigning a constexpr duration to a non-const local variable. </div> </li> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7479">#7479</a> Compile fails with compilers supporting constexpr fails if the standard library doesn't provides the constexpr interface </div> </li> </ul> </div> </li> <li> <div> <em>Would not fix:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6871">#6871</a> chrono_io.hpp: <code><span class="keyword">operator</span><span class="special">&lt;&lt;(</span><span class="identifier">ostream</span><span class="special">&amp;</span> <span class="identifier">os</span><span class="special">,</span> <span class="special">...)</span></code> modifies the state of os. The neww io interface provided in version 2 solves this issue. You should move to the new version. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/container/">Container</a>:</span> <ul> <li> <div> Improved <code><span class="identifier">stable_vector</span></code>'s template code bloat and type safety. </div> </li> <li> <div> Changed typedefs and reordered functions of sequence containers to improve doxygen documentation. </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6615">#6615</a>, <a href="https://svn.boost.org/trac/boost/ticket/7139">#7139</a>, <a href="https://svn.boost.org/trac/boost/ticket/7215">#7215</a>, <a href="https://svn.boost.org/trac/boost/ticket/7232">#7232</a>, <a href="https://svn.boost.org/trac/boost/ticket/7269">#7269</a>, <a href="https://svn.boost.org/trac/boost/ticket/7439">#7439</a>. </div> </li> <li> <div> Implemented LWG Issue #149 (range insertion now returns an iterator) &amp; cleaned up insertion code in most containers </div> </li> <li> <div> Corrected aliasing errors. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/date_time/">DateTime</a>:</span> <ul> <li> <div> Document <code><span class="identifier">BOOST_DATE_TIME_NO_LIB</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6077">#6077</a>). </div> </li> <li> <div> Fix <code><span class="identifier">nth_as_str</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/7022">#7022</a>). </div> </li> <li> <div> Fix some warnings (<a href="https://svn.boost.org/trac/boost/ticket/7234">#7234</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/foreach/">Foreach</a>:</span> <ul> <li> <div> Fix alignment warning on gcc. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/function/">Function</a>:</span> <ul> <li> <div> Move constructors and move assignment operators added (only for compilers with C++11 rvalue references support) <a href="https://svn.boost.org/trac/boost/ticket/7330">#7330</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/">Graph</a>:</span> <ul> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6950">#6950</a>, <a href="https://svn.boost.org/trac/boost/ticket/7226">#7226</a>,<a href="https://svn.boost.org/trac/boost/ticket/7308">#7308</a>, <a href="https://svn.boost.org/trac/boost/ticket/7327">#7327</a>, <a href="https://svn.boost.org/trac/boost/ticket/7338">#7338</a>, <a href="https://svn.boost.org/trac/boost/ticket/7341">#7341</a>, <a href="https://svn.boost.org/trac/boost/ticket/7378">#7378</a>, <a href="https://svn.boost.org/trac/boost/ticket/7380">#7380</a>, <a href="https://svn.boost.org/trac/boost/ticket/7398">#7398</a>, and <a href="https://svn.boost.org/trac/boost/ticket/7428">#7428</a>, plus others not in Trac. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Restore <code><span class="keyword">enum</span></code> support, which was accidentally removed in the last version (<a href="https://svn.boost.org/trac/boost/ticket/7437">#7437</a>). </div> </li> <li> <div> New floating point hasher - will hash the binary representation on more platforms, which should be faster. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/interprocess/">Interprocess</a>:</span> <ul> <li> <div> Added <code><span class="identifier">shrink_by</span></code> and <code><span class="identifier">advise</span></code> functions in <code><span class="identifier">mapped_region</span></code>. </div> </li> <li> <div> <em>ABI breaking:</em> Reimplemented <code><span class="identifier">message_queue</span></code> with a circular buffer index (the old behavior used an ordered array, leading to excessive copies). This should greatly increase performance but breaks ABI. Old behaviour/ABI can be used undefining macro <code><span class="identifier">BOOST_INTERPROCESS_MSG_QUEUE_CIRCULAR_INDEX</span></code> in <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">interprocess</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">workaround</span><span class="special">.</span><span class="identifier">hpp</span></code> </div> </li> <li> <div> Improved <code><span class="identifier">message_queue</span></code> insertion time avoiding priority search for common cases (both array and circular buffer configurations). </div> </li> <li> <div> Implemented <code><span class="identifier">interproces_sharable_mutex</span></code> and <code><span class="identifier">interproces_condition_any</span></code>. </div> </li> <li> <div> Improved <code><span class="identifier">offset_ptr</span></code> performance. </div> </li> <li> <div> Added integer overflow checks. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iterator/">Iterator</a>:</span> <ul> <li> <div> Fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5825">#5825</a> constructing function_input_iterator without consuming an item </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7194">#7194</a> Error in documentation of make_function_input_iterator </div> </li> </ul> </div> </li> <li> <div> <em>Breaking changes:</em> <ul> <li> <div> Due to the fix for <a href="https://svn.boost.org/trac/boost/ticket/5825">#5825</a>, a function_input_iterator will no longer make unnecessary invokations to the wrapped nullary function. For example, constructing an end iterator will now not trigger an invokation; and dereferencing-and-incrementing an iterator N times will trigger N invokations, not N+1 as before. User code that relied on the old behavior will need to be adjusted. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> Restored compilation on MSVC-2003 (was broken in 1.51.0) <a href="https://svn.boost.org/trac/boost/ticket/7255">#7255</a>. </div> </li> <li> <div> Added <code><span class="identifier">lexical_cast</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">CharType</span><span class="special">*</span> <span class="identifier">chars</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">count</span><span class="special">)</span></code> function overload. <a href="https://svn.boost.org/trac/boost/ticket/6663">#6663</a>. </div> </li> <li> <div> Fixed bug <a href="https://svn.boost.org/trac/boost/ticket/7228">#7228</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Added Airy functions and Jacobi Elliptic functions. </div> </li> <li> <div> In several distributions (particulary the Students T) corrected moments for small degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7177">#7177</a> (reported by Thomas Mang). </div> </li> <li> <div> Corrected failure to detect bad parameters in many distributions <a href="https://svn.boost.org/trac/boost/ticket/6934">#6934</a> (reported by Florian Schoppmann) by adding a function <code><span class="identifier">check_out_of_range</span></code> to test many possible bad parameters. This test revealed several distributions where the checks for bad parameters were ineffective, and these have been rectified. </div> </li> <li> <div> Fixed issue in Hankel functions that causes incorrect values to be returned for <em>x &lt; 0</em> and <em>ν</em> odd, see <a href="https://svn.boost.org/trac/boost/ticket/7135">#7135</a>. </div> </li> <li> <div> In non-central T permitted infinite degrees of freedom <a href="https://svn.boost.org/trac/boost/ticket/7259">#7259</a> implemented using the normal distribution (requested by Thomas Mang). Also much enhanced accuracy for large degrees of freedom and/or large non-centrality parameters by switching to use the Students t distribution (or Normal distribution for infinite degrees of freedom) centered at delta, when delta / (4 * v) &lt; epsilon for the floating-point type in use. See <a href="https://svn.boost.org/trac/boost/ticket/7259">#7259</a>. It was also found that the incomplete beta was suffering from serious cancellation errors when degrees of freedom was very large. (That has now been fixed in our code, but any code based on Didonato and Morris's original papers (probably every implementation out there actually) will have the same issue). </div> </li> <li> <div> Fixed minor issues <a href="https://svn.boost.org/trac/boost/ticket/6517">#6517</a>, <a href="https://svn.boost.org/trac/boost/ticket/6362">#6362</a>, <a href="https://svn.boost.org/trac/boost/ticket/7053">#7053</a>, <a href="https://svn.boost.org/trac/boost/ticket/2693">#2693</a>, <a href="https://svn.boost.org/trac/boost/ticket/6937">#6937</a>, <a href="https://svn.boost.org/trac/boost/ticket/7099">#7099</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/phoenix/">Phoenix</a>:</span> <ul> <li> <div> Make Phoenix work with <code><span class="identifier">decltype</span></code>-based <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/polygon/">Polygon</a>:</span> <ul> <li> <div> Included Voronoi diagram extensions. </div> </li> <li> <div> Introduced new Segment concept. </div> </li> <li> <div> Fixed compilation issues. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/">Proto</a>:</span> <ul> <li> <div> The data parameter to primitive transforms can now optionally have slots indexed by key. </div> </li> <li> <div> Primitive transforms can now operatate on temporary expressions that are non-const qualified. </div> </li> <li> <div> Add callable function object types for the free functions in <code><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span></code> and also for some Boost.Range functions. </div> </li> <li> <div> Boost.MPL algorithms work on Proto expression nodes. </div> </li> <li> <div> <code><span class="identifier">proto</span><span class="special">::</span><span class="identifier">pass_through</span></code> primitive transform now accepts an optional <code><span class="identifier">Domain</span></code> template parameter for specifying the target domain of the resulting expression. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> <em>Features:</em> <ul> <li> <div> Replace the <code><span class="identifier">short_name</span></code> and <code><span class="identifier">long_name</span></code> functions by symbol and prefix functions respectively. </div> </li> </ul> </div> </li> <li> <div> <em>Deprecated:</em> <ul> <li> <div> The <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">short_name</span></code> and <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">long_name</span></code> are deprecated. Use <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">symbol</span></code> and <code><span class="identifier">ratio_string</span><span class="special">&lt;&gt;::</span><span class="identifier">prefix</span></code> respectively. These functions be removed in 1.55. </div> </li> </ul> </div> </li> <li> <div> <em>Fixes:</em> <ul> <li> <div> <a href="http://svn.boost.org/trac/boost/ticket/7478">#7478</a> Compiles fails with compilers supporting char16_t and char32_t fails if the library doesn't provides std::u16string and std::u32string. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/utility.htm#result_of">Result_of</a>:</span> <ul> <li> <div> Switch <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> to use <code><span class="identifier">decltype</span></code> on compilers for which support is deemed &quot;good enough&quot;. That means if the compiler implements <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3276.pdf">n3276</a>. (For now, that only includes very recent versions of clang.) </div> </li> <li> <div> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">result_of</span></code> is now &quot;sfinae-friendly&quot; when it uses <code><span class="identifier">decltype</span></code>. See <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3436.html">n3436</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/index.html">Thread</a>:</span> <ul> <li> <div> <em>Deprecated Features</em>: Deprecated features since boost 1.50 available only until boost 1.55. These deprecated features will be provided by default up to boost 1.52. If you don't want to include the deprecated features you could define BOOST_THREAD_DONT_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0. Since 1.53 these features will not be included any more by default. Since this version, if you want to include the deprecated features yet you could define BOOST_THREAD_PROVIDE_DEPRECATED_FEATURES_SINCE_V3_0_0. These deprecated features will be only available until boost 1.55, that is you have yet 1 year to move to the new features. <ul> <li> <div> Time related functions don't using the Boost.Chrono library, use the chrono overloads instead. </div> </li> </ul> </div> </li> <li> <div> Breaking changes when <code><span class="identifier">BOOST_THREAD_VERSION</span><span class="special">==</span><span class="number">3</span></code> (Default value since Boost 1.53): There are some new features which share the same interface but with different behavior. These breaking features are provided by default when BOOST_THREAD_VERSION is 3, but the user can however choose the version 2 behavior by defining the corresponding macro. As for the deprecated features, these broken features will be only available until boost 1.55. <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6229">#6229</a> C++11 compliance &amp; Breaking change: Rename the unique_future to future following the c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6266">#6266</a> C++11 compliance &amp; Breaking change: thread destructor should call terminate if joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6269">#6269</a> C++11 compliance &amp; Breaking change: thread move assignment should call terminate if joinable. </div> </li> </ul> </div> </li> <li> <div> <em>New Features:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4710">#4710</a> C++11 compliance: Missing <code><span class="identifier">async</span><span class="special">()</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7283">#7283</a> C++11 compliance: Add <code><span class="identifier">notify_all_at_thread_exit</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7345">#7345</a> C++11 compliance: Add <code><span class="identifier">noexcept</span></code> to recursive mutex <code><span class="identifier">try_lock</span></code>. </div> </li> </ul> </div> </li> <li> <div> <em>Fixed Bugs:</em> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2361">#2361</a> <code><span class="identifier">thread_specific_ptr</span></code>: document nature of the key, complexity and rationale. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2797">#2797</a> Two problems with <code><span class="identifier">thread_specific_ptr</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5274">#5274</a> failed to compile <code><span class="identifier">future</span><span class="special">.</span><span class="identifier">hpp</span></code> with stlport 5.1.5 under msvc8.1, because of undefined class. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5431">#5431</a> compile error in Windows CE 6.0(interlocked). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5752">#5752</a> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">call_once</span><span class="special">()</span></code> is unreliable on some platforms. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7045">#7045</a> Thread library does not automatically compile date_time. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7173">#7173</a> wrong function name <code><span class="identifier">interrupt_point</span><span class="special">()</span></code>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7200">#7200</a> Unable to build boost.thread modularized. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7220">#7220</a> gcc 4.6.2 warns about inline+dllimport functions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7238">#7238</a> <code><span class="identifier">this_thread</span><span class="special">::</span><span class="identifier">sleep_for</span><span class="special">()</span></code> does not respond to interrupt(). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7245">#7245</a> Minor typos on documentation related to version 3. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7272">#7272</a> <code><span class="identifier">win32</span><span class="special">/</span><span class="identifier">thread_primitives</span><span class="special">.</span><span class="identifier">hpp</span></code>: (Unneccessary) Warning. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7284">#7284</a> Clarify that there is no access priority between lock and shared_lock on shared mutex. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7329">#7329</a> <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">thread</span><span class="special">/</span><span class="identifier">future</span><span class="special">.</span><span class="identifier">hpp</span></code> does not compile on HPUX. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7336">#7336</a> <code><span class="identifier">BOOST_THREAD_DONT_USE_SYSTEM</span></code> doesn't work. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7349">#7349</a> <code><span class="identifier">packaged_task</span></code> holds reference to temporary. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7350">#7350</a> <code><span class="identifier">allocator_destructor</span></code> does not destroy object </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/numeric/ublas/">uBLAS</a>:</span> <ul> <li> <div> improved performance of inplace_solve (issue <a href="https://svn.boost.org/trac/boost/ticket/4024">#4024</a>) </div> </li> <li> <div> fixed coordinate_matrix for use with gcc 4.7 (issue <a href="https://svn.boost.org/trac/boost/ticket/7363">#7363</a>) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> In assignment, reuse existing nodes where possible. </div> </li> <li> <div> Fix bugs when erasing ranges (<a href="https://svn.boost.org/trac/boost/ticket/7471">#7471</a>). </div> </li> <li> <div> Some work on the implementation. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/uuid/">Uuid</a>:</span> <ul> <li> <div> Fixes <a href="https://svn.boost.org/trac/boost/ticket/6118">#6118</a>, <a href="https://svn.boost.org/trac/boost/ticket/6788">#6788</a>, <a href="https://svn.boost.org/trac/boost/ticket/7375">#7375</a>. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7128">#7128</a> - fixed bug in <code><span class="identifier">sha1</span><span class="special">.</span><span class="identifier">hpp</span></code> for messages longer than 536,870,912 bytes. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">Wave</a>:</span> <ul> <li> <div> See the <a href="http://www.boost.org/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Make <code><span class="identifier">sub_match</span></code> work with Boost.Range. Fixes <a href="https://svn.boost.org/trac/boost/ticket/7237">#7237</a>. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_52_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7.2 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> <li> <div> Intel: 11.1, 12.0, 12.1 </div> </li> <li> <div> LLVM Clang: 2.8 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0 </div> </li> <li> <div> Visual C++: 8.0, 9.0, 10.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Cray: 8.0 </div> </li> <li> <div> Clang: from subversion </div> </li> <li> <div> LLVM Clang: </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1, 4.7.2 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3, 4.7.1 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0, 12.1 </div> </li> <li> <div> Visual Age: 10.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang: from subversion </div> </li> <li> <div> Clang, C++11 mode: from subversion </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++11 mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 8.0, 9.0, 10.0, 11.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: V12.1.0.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1, 64 bit </div> </li> </ul> </div> </li> <li> <div> Solaris: <ul> <li> <div> Sun: 5.10 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_52_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.51.0http://www.boost.org/users/history/version_1_51_0.htmlhttp://www.boost.org/users/history/version_1_51_0.htmlMon, 20 Aug 2012 16:00:21 -0700 <div id="version_1_51_0.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/context/">Context</a>:</span> Context switching library, from Oliver Kowalke. </div> </li> </ul> </div> <div id="version_1_51_0.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> <ul> <li> <div> Fixed <code><span class="identifier">is_sorted_until</span></code> ; now matches the c++11 standard behavior on ranges with duplicate values. </div> </li> <li> <div> Added range support for the rest of the search algorithms. </div> </li> <li> <div> <code><span class="identifier">unhex</span></code> now uses Boost.Exception to signal bad input. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Fixed an incompatibility between <code><span class="identifier">ip</span><span class="special">::</span><span class="identifier">tcp</span><span class="special">::</span><span class="identifier">iostream</span></code> and C++11 (<a href="https://svn.boost.org/trac/boost/ticket/7162">#7162</a>). </div> </li> <li> <div> Decorated GCC attribute names with underscores to prevent interaction with user-defined macros (<a href="https://svn.boost.org/trac/boost/ticket/6415">#6415</a>). </div> </li> <li> <div> Added missing <code><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cctype</span><span class="special">&gt;</span></code>, needed for some versions of MinGW. </div> </li> <li> <div> Changed to use <tt>gcc</tt>'s atomic builtins on ARM CPUs, when available (<a href="https://svn.boost.org/trac/boost/ticket/7140">#7140</a>). </div> </li> <li> <div> Changed strand destruction to be a no-op, to allow strand objects to be destroyed after their associated <code><span class="identifier">io_service</span></code> has been destroyed. </div> </li> <li> <div> Added support for some newer versions of glibc which provide the <code><span class="identifier">epoll_create1</span><span class="special">()</span></code> function but always fail with <code><span class="identifier">ENOSYS</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/7012">#7012</a>). </div> </li> <li> <div> Changed the SSL implementation to throw an exception if SSL engine initialisation fails (<a href="https://svn.boost.org/trac/boost/ticket/6303">#6303</a>). </div> </li> <li> <div> Fixed another regression in <code><span class="identifier">buffered_write_stream</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6310">#6310</a>). </div> </li> <li> <div> Implemented various minor performance improvements, primarily targeted at Linux x86 and x86-64 platforms. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/config/">Config</a>:</span> <ul> <li> <div> Deprecated a whole bunch of macros that were c++11 specific, but not named to show that they were c++11 specific. Made new macros with better names, and paired the old macros with the new ones. Updated the documentation to list the deprecated macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6918">#6918</a> Boost Chrono compilation failure on HP uX due to undefined pthread_getcpuclockid. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6241">#6241</a> boost::chrono compilation problems without std::wstring support. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6987">#6987</a> Documentation &amp; C++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7041">#7041</a> time_point.hpp depends on Boost.System. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7042">#7042</a> Avoiding time_point and duration dependency on time.h and CLOCK_REALTIME. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7058">#7058</a> Make it work when BOOST_NO_EXCEPTIONS is defined. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7069">#7069</a> Misspellings in clock_string&lt;thread_clock&gt;. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7081">#7081</a> WinError.h capitalization in boost/detail/win/basic_types.hpp. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span> <ul> <li> <div> points accessed through a pointer (e.g. in a linestring) should now be specialized without the pointer. In previous versions a type <code><span class="identifier">my_point</span></code> used like <code><span class="identifier">linestring</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code> had to be specalized like: <code><span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">*&gt;</span></code>. Now the library itself removes the pointer before calling the traits class, so now it should be like: <code><span class="keyword">template</span><span class="special">&lt;&gt;</span> <span class="keyword">struct</span> <span class="identifier">tag</span><span class="special">&lt;</span><span class="identifier">my_point</span><span class="special">&gt;</span></code> </div> </li> <li> <div> intersection was sometimes wrong for integer points, fixed </div> </li> <li> <div> documentation, order of parameters in simplify was wrong, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7030">7030</a> spherical distance, fixed (by patch of Karsten Ahnert) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/">Graph</a>:</span> <ul> <li> <div> Refactored support for internal and bundled properties in Boost.Graph-provided graph types, and cleaned up named parameter functionality: <ul> <li> <div> Enabled old-style (non-bundled) internal properties in <code><span class="identifier">compressed_sparse_row_graph</span></code>. </div> </li> <li> <div> Bundled properties should work correctly for all graph types and adaptors. </div> </li> </ul> </div> </li> <li> <div> Bugs fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6993">#6993</a>: Typo Bundled Properties document </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7002">#7002</a>: Problem with initialization of CSR bidirectional graph </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7023">#7023</a>: Enclose internal type graphml_reader in anonymous namespace </div> </li> <li> <div> Other bugs and warnings not in Trac </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Support the standard smart pointers. </div> </li> <li> <div> <code><span class="identifier">hash_value</span></code> now implemented using SFINAE to avoid implicit casts to built in types when calling it. </div> </li> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> Better performance, less memory usage for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">character_type</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span><span class="special">&lt;</span><span class="identifier">character_type</span><span class="special">,</span> <span class="identifier">N</span><span class="special">&gt;</span></code> conversions. </div> </li> <li> <div> Fixed bug with volatile input parameter <a href="https://svn.boost.org/trac/boost/ticket/7157">#7157</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/msm/">MSM</a>:</span> <ul> <li> <div> Support for boost::any <a href="http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event">http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s03.html#any-event</a> or kleene <a href="http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event">http://www.boost.org/doc/libs/1_51_0/libs/msm/doc/HTML/ch03s04.html#kleene-event</a> as acceptable events </div> </li> <li> <div> Bugfix: compiler error with fsm internal table and none (compound) event. </div> </li> <li> <div> Bugfix: euml::defer_ leading to stack overflow. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/">Proto</a>:</span> <ul> <li> <div> Proto transforms get pseudo-parameter pack expansion support for unpacking expressions. See the <a href="http://www.boost.org/doc/html/proto/appendices.html#boost_proto.appendices.release_notes.boost_1_51">Release Notes</a> for more information. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7075">#7075</a> Workaround for error: the type of partial specialization template parameter constant &quot;n1&quot; depends on another template parameter. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/regex/">Regex</a>:</span> <ul> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4258">#4258</a> Linking with boost thread does not work on mingw/gcc 4.5. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4885">#4885</a> Access violation in set_tss_data at process exit due to invalid assumption about TlsAlloc. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6931">#6931</a> mutex waits forwever with Intel Compiler and /debug:parallel </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7044">#7044</a> boost 1.50.0 header missing. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7052">#7052</a> Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 only masks thread::operator==, thread::operator!= forward declarations, not definitions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7066">#7066</a> An attempt to fix current_thread_tls_key static initialization order. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7074">#7074</a> Multiply defined symbol boost::allocator_arg. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7078">#7078</a> Trivial 64-bit warning fix on Windows for thread attribute stack size </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/7089">#7089</a> BOOST_THREAD_WAIT_BUG limits functionality without solving anything </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Fix construction/destruction issue when using a C++11 compiler with a C++03 allocator (<a href="https://svn.boost.org/trac/boost/ticket/7100">#7100</a>). </div> </li> <li> <div> Remove a <code><span class="keyword">try</span><span class="special">..</span><span class="keyword">catch</span></code> to support compiling without exceptions. </div> </li> <li> <div> Adjust SFINAE use to try to supprt g++ 3.4 (<a href="https://svn.boost.org/trac/boost/ticket/7175">#7175</a>). </div> </li> <li> <div> Updated to use the new config macros. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/">Wave</a>:</span> <ul> <li> <div> See the <a href="http://www.boost.org/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Work around buggy wide ctype facet on cygwin and mingw. </div> </li> <li> <div> Work around absence of __isctype on some glibc implementations. </div> </li> <li> <div> <code><span class="identifier">op</span><span class="special">::</span><span class="identifier">as</span></code> shouldn't assume <code><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span></code> != <code><span class="keyword">char</span><span class="special">*</span></code>. </div> </li> <li> <div> Fix assertion in <code><span class="identifier">cpp_regex_traits</span></code> on libc++, thanks to John Fletcher. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_51_0.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> <li> <div> Intel: 11.1, 12.0, 12.1 </div> </li> <li> <div> LLVM Clang 2.8 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> GCC: 4.4 </div> </li> <li> <div> GCC, C++11 mode: 4.4 </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3 </div> </li> <li> <div> Visual C++: 8.0, 9.0, 10.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang: from subversion </div> </li> <li> <div> LLVM Clang: 3.0 </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1 </div> </li> <li> <div> GCC, C++11 mode: 4.3.4, 4.4.4, 4.5.3, 4.6.3 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0, 12.1 </div> </li> <li> <div> Visual Age: 10.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang: from subversion </div> </li> <li> <div> Clang, C++11 mode: from subversion </div> </li> <li> <div> Intel: 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4 </div> </li> <li> <div> GCC, C++11 mode: 4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++: 8.0, 9.0, 10.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.6.3, 4.7.0 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition: V12.1.0.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC: 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> <li> <div> Solaris: <ul> <li> <div> Sun: 5.10 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_51_0.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James, Vladimir Prus and Marshall Clow managed this release. </p> </div> Version 1.50.0http://www.boost.org/users/history/version_1_50_0.htmlhttp://www.boost.org/users/history/version_1_50_0.htmlThu, 28 Jun 2012 08:48:57 -0400 <div id="version_1_50_0.patches"> <h3><span class="link">Patches</span></h3> <ul> <li> <div> <a href="http://www.boost.org/patches/1_50_0/001-unordered.patch">Boost.Unordered patch</a> - Fixes a bug when compiled using a C++11 compiler, but with a C++03 allocator. When inserting elements, <code><span class="identifier">allocator_traits</span></code> detects that the node can be constructed using an accidental implicit conversion which causes several problems. </div> </li> </ul> <div id="version_1_50_0.patches.new_libraries"> <h3><span class="link">New Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/algorithm/">Algorithm</a>:</span> A collection of useful generic algorithms, from Marshall Clow. This includes several different searching algorithms, as well as most of the new algorithms from the C++11 standard library </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/overloaded_function/">Functional/OverloadedFunction</a>:</span> Overload different functions into a single function object, from Lorenzo Caminiti. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/local_function/">LocalFunction</a>:</span> Program functions locally, within other functions, directly within the scope where they are needed, from Lorenzo Caminiti. </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/utility/identity_type/">Utility/IdentityType</a>:</span> Wrap types within round parenthesis so they can always be passed as macro parameters, from Lorenzo Caminiti. </div> </li> </ul> </div> <div id="version_1_50_0.patches.updated_libraries"> <h3><span class="link">Updated Libraries</span></h3> <ul> <li> <div> <span class="library"><a href="http://www.boost.org/libs/accumulators/">Accumulators</a>:</span> <ul> <li> <div> add missing <code><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">throw_exception</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>, fixes <a href="https://svn.boost.org/trac/boost/ticket/6702">#6702</a>. </div> </li> <li> <div> work around for msvc which allows ctor templates to be copy ctors, fixes <a href="https://svn.boost.org/trac/boost/ticket/6535">#6535</a>. </div> </li> <li> <div> shorten filenames to meet boost guidelines, fixes <a href="https://svn.boost.org/trac/boost/ticket/6196">#6196</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/array/">Array</a>:</span> <ul> <li> <div> add support for Boost.Hash <a href="https://svn.boost.org/trac/boost/ticket/6791">#6791</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/asio/">Asio</a>:</span> <ul> <li> <div> Changed the <code><span class="identifier">epoll_reactor</span></code> backend to do lazy registration for <code><span class="identifier">EPOLLOUT</span></code> events. </div> </li> <li> <div> Fixed the <code><span class="identifier">epoll_reactor</span></code> handling of out-of-band data, which was broken by an incomplete fix in the last release. </div> </li> <li> <div> Changed Asio's SSL wrapper to respect OpenSSL's <code><span class="identifier">OPENSSL_NO_ENGINE</span></code> feature test <code><span class="preprocessor">#define</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6432">#6432</a>). </div> </li> <li> <div> Fixed <code><span class="identifier">windows</span><span class="special">::</span><span class="identifier">object_handle</span></code> so that it works with Windows compilers that support C++11 move semantics (such as <tt>g++</tt>). </div> </li> <li> <div> Improved the performance of strand rescheduling. </div> </li> <li> <div> Added support for <tt>g++</tt> 4.7 when compiling in C++11 mode (<a href="https://svn.boost.org/trac/boost/ticket/6620">#6620</a>). </div> </li> <li> <div> Fixed a problem where <code><span class="identifier">signal_set</span></code> handlers were not being delivered when the <code><span class="identifier">io_service</span></code> was constructed with a <code><span class="identifier">concurrency_hint</span></code> of 1 (<a href="https://svn.boost.org/trac/boost/ticket/6657">#6657</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/bimap/">Bimap</a>:</span> <ul> <li> <div> Remove spurious dependency on Boost.Serialization, fixes <a href="https://svn.boost.org/trac/boost/ticket/3868">#3868</a>. </div> </li> <li> <div> Solve unused constructor parameter warning, fixes <a href="https://svn.boost.org/trac/boost/ticket/5749">#5749</a>. </div> </li> <li> <div> Add key_type and mapped_type (leaving data_type for backward compatibility) typedefs to map views, fixes <a href="https://svn.boost.org/trac/boost/ticket/6031">#6031</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/chrono/">Chrono</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6361">#6361</a> integer overflow in boost::chrono::process_real_cpu_clock::now() under Windows 32bits. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6628">#6628</a> compiler warning in process_cpu_clocks.hpp. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6666">#6666</a> thread_clock.hpp needs pthread.h. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/concept_check/">Concept Check</a>:</span> <ul> <li> <div> Fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6738">#6738</a> Shadowed variable warning. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/filesystem/">Filesystem</a>:</span> <ul> <li> <div> Remove Filesystem Version 2 from the distribution. Version 3 is now the only distributed version. Those still using V2 are urged to migrate to V3 as soon as possible. </div> </li> <li> <div> Add constexpr value_type preferred_separator to class path. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/5118">#5118</a>, <code><span class="identifier">replace_extension</span></code> doesn't work as specified in documentation. The documentation, implementation, and test cases have all had fixes applied. The documentation had failed to mention that any existing extension is removed. The behavior for simple cases has been reverted to the Version 2 behavior, but with corrections so that complex replacements now work. Two test cases from <a href="https://svn.boost.org/trac/boost/ticket/5118">#5118</a> have been added. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/3737">#3737</a>, Boost.Filesystem does not compile on Windows Mobile. On Windows, <code><span class="special">&lt;</span><span class="identifier">sys</span><span class="special">/</span><span class="identifier">stat</span><span class="special">.</span><span class="identifier">h</span><span class="special">&gt;</span></code> is no longer included. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/4065">#4065</a>, Boost Filesystem lexicographic path comparison inconsistent. This required multiple source code bug fixes and code cleanup, correcting problems not related to lexicographical issues. </div> </li> <li> <div> Add class path member function compare for consistency with std::string. </div> </li> <li> <div> Tighten <code><span class="identifier">BOOST_FILESYSTEM_DYN_LINK</span></code> and <code><span class="identifier">BOOST_FILESYSTEM_STATIC_LINK</span></code> logic in <code><span class="identifier">filesystem</span><span class="special">/</span><span class="identifier">config</span><span class="special">.</span><span class="identifier">hpp</span></code> so that one or the other is always defined, and both being defined is a <code><span class="preprocessor">#error</span></code>. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6690">#6690</a> and <a href="https://svn.boost.org/trac/boost/ticket/6737">#6737</a>, resolving static linking related problems with VC++ 8 through 11. Note that this fix may reintroduce codecvt thread safety problems <a href="https://svn.boost.org/trac/boost/ticket/4889">#4889</a>, <a href="https://svn.boost.org/trac/boost/ticket/6320">#6320</a>, for these compilers if static linking is used. </div> </li> <li> <div> Add <code><span class="identifier">path</span><span class="special">::</span><span class="keyword">operator</span><span class="special">+=</span></code> and concat functions to tack on things like suffixes or numbers. Suggested by Ed Smith-Rowland and others. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6809">#6809</a>, Implementation of <code><span class="identifier">filesystem</span><span class="special">::</span><span class="identifier">rename</span><span class="special">()</span></code> method for MS Windows is wrong, by adding <code><span class="identifier">MOVEFILE_COPY_ALLOWED</span></code> to deal with renames across drives, volumes, file systems. Fix has no effect on non-Windows systems. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6819">#6819</a>, A path operand with a source that was a one character array was treated as empty, even if it wasn't empty. Such arrays can occur in unions or in code using C variable length array idioms. </div> </li> <li> <div> Fix <a href="https://svn.boost.org/trac/boost/ticket/6932">#6932</a>, create_directories throws exception even if <code><span class="identifier">error_code</span></code> is specified. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/foreach/">Foreach</a>:</span> <ul> <li> <div> Revert fix for <a href="https://svn.boost.org/trac/boost/ticket/6131">#6131</a> which caused more harm than good. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/geometry/">Geometry</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> the return type of comparable projected point strategy for integer points was wrong (integer), fixed </div> </li> <li> <div> several robustness issues in intersection of segments and polygons, fixed </div> </li> <li> <div> invalid intersection output is filtered out </div> </li> <li> <div> disjoint for multi_polygon's might incorrectly return true, fixed </div> </li> </ul> </div> </li> <li> <div> Solved tickets <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6585">6585</a> patch for alternative syntax multipoint, applied </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6584">6584</a> patch for bug in distance, applied </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5730">5730</a> same issue as 6584, fixed </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6166">6166</a> patch for missing transformation, applied </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6696">6696</a> invalid intersection output, was (by chance) already fixed in Trunk before reported </div> </li> </ul> </div> </li> <li> <div> Additional functionality <ul> <li> <div> added algorithm &quot;touches&quot; (OGC SF compliant) for *polygon/*polygon </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/graph/">Graph</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4622">#4622</a> clear_vertex on a vertex with a self-loop can cause a segmentation fault. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6033">#6033</a> Lowpoint map calculated by biconnected_components(...) is sometimes wrong. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6242">#6242</a> isomorphism doesn't reset mapping. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6435">#6435</a> cube_topology documentation should say 3D, not 2D. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6520">#6520</a> small_world_1_70_6_0p02.png is broken in documentation of graph_parallel. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6564">#6564</a> BGL copy constructor for subgraph does not track local vertices/edges. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6573">#6573</a> BGL: boost::isomorphism routine fails with large graphs. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6583">#6583</a> Dijkstra Visitor Concept docs probably show wrong type for variable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6647">#6647</a> BGL strong_components do not compile on MSVC 8. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6656">#6656</a> Dependent type in subgraph used without typename. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6707">#6707</a> is_straight_line_drawing.hpp missing #include &lt;map&gt;. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6708">#6708</a> Make bool boost::intersects() in is_straight_line_drawing.hpp inline? </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6739">#6739</a> Cannot use write_graphviz_dp with a constified subgraph. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6858">#6858</a> boost::get() calls wrongly resolved by g++. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6892">#6892</a> VertexIndexGraph concept not required for bron_kerbosch_all_cliques(). </div> </li> <li> <div> Other bugs and warnings not in Trac. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/functional/hash/">Hash</a>:</span> <ul> <li> <div> Support <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">array</span></code> and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code> when available (<a href="https://svn.boost.org/trac/boost/ticket/6806">#6806</a>). </div> </li> <li> <div> Avoid gcc's <code><span class="special">-</span><span class="identifier">Wfloat</span><span class="special">-</span><span class="identifier">equal</span></code> warning (<a href="https://svn.boost.org/trac/boost/ticket/6771">#6771</a>). </div> </li> <li> <div> Add deprecation warning to the long deprecated <code><span class="identifier">boost</span><span class="special">/</span><span class="identifier">functional</span><span class="special">/</span><span class="identifier">detail</span><span class="special">/</span><span class="identifier">container_fwd</span><span class="special">.</span><span class="identifier">hpp</span></code>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iostreams/">Iostreams</a>:</span> <ul> <li> <div> Improved gzip support (<a href="https://svn.boost.org/trac/boost/ticket/5908">#5908</a>). </div> </li> <li> <div> Update tests for latest Boost.Filesystem and Boost.Test. </div> </li> <li> <div> Fix some documentation errors (<a href="https://svn.boost.org/trac/boost/ticket/6530">#6530</a>, <a href="https://svn.boost.org/trac/boost/ticket/6650">#6650</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/iterator/">Iterator</a>:</span> <ul> <li> <div> Fixed: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5127">#5127</a> Incorrect result_of usage in transform_iterator </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5697">#5697</a> iterator_facade::operator-&gt; is broken for proxy references </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/multi_array/">MultiArray</a>:</span> <ul> <li> <div> Concepts bug fix and Workaround for Visual Studio 2010 (<a href="https://svn.boost.org/trac/boost/ticket/4874">#4874</a>) </div> </li> <li> <div> Fix to assert.cpp test case (<a href="https://svn.boost.org/trac/boost/changeset/78498">Patch</a>) </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/conversion/lexical_cast.htm">Lexical cast</a>:</span> <ul> <li> <div> <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">bad_lexical_cast</span></code> exception is now globaly visible and can be catched even if code is compiled with -fvisibility=hidden </div> </li> <li> <div> Now it is possible to compile and use library with disabled exceptions <a href="https://svn.boost.org/trac/boost/ticket/5800">#5800</a> </div> </li> <li> <div> Better performance, less memory usage and bugfixes for <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">character_type</span><span class="special">*&gt;</span></code> conversions </div> </li> <li> <div> Fixed bugs and warnings: <a href="https://svn.boost.org/trac/boost/ticket/6645">#6645</a>, <a href="https://svn.boost.org/trac/boost/ticket/6562">#6562</a>, <a href="https://svn.boost.org/trac/boost/ticket/6812">#6812</a>, <a href="https://svn.boost.org/trac/boost/ticket/6852">#6852</a>, <a href="https://svn.boost.org/trac/boost/ticket/6717">#6717</a>, <a href="https://svn.boost.org/trac/boost/ticket/6670">#6770</a>, <a href="https://svn.boost.org/trac/boost/ticket/6504">#6504</a>. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/locale/">Locale</a>:</span> <ul> <li> <div> Fixed build issues with STLPort library </div> </li> <li> <div> Boost.System is now required depenency </div> </li> <li> <div> Fixed bugs <a href="https://svn.boost.org/trac/boost/ticket/6635">#6635</a>, <a href="https://svn.boost.org/trac/boost/ticket/6833">#6833</a> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/math/">Math</a>:</span> <ul> <li> <div> Promoted math constants to be 1st class citizens, including convenient access to the most widely used built-in float, double, long double via three namespaces. </div> </li> <li> <div> Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta. </div> </li> <li> <div> Added Hankel functions. </div> </li> <li> <div> Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627">#6627 nonfinite_num_put formatting of 0.0 is incorrect</a> based on a patch submitted by K R Walker. </div> </li> <li> <div> Changed constant initialization mechanism so that it is thread safe even for user-defined types, also so that user defined types get the full precision of the constant, even when <code><span class="keyword">long</span> <span class="keyword">double</span></code> does not. So for example 128-bit rational approximations will work with UDT's and do the right thing, even though <code><span class="keyword">long</span> <span class="keyword">double</span></code> may be only 64 or 80 bits. </div> </li> <li> <div> Fixed issue in <code><span class="identifier">bessel_jy</span></code> which causes Y[sub 8.5](4[pi]) to yield a NaN. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/msm/">MSM</a>:</span> <ul> <li> <div> eUML : better syntax for front-ends defined with eUML as transition table only. Caution: Breaking Change!<a href="http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table">http://www.boost.org/doc/libs/1_50_0/libs/msm/doc/HTML/ch03s04.html#eUML-composite-table</a> </div> </li> <li> <div> Bugfix: graph building was only working if initial_state defined as a sequence. </div> </li> <li> <div> Bugfix: flags defined for a Terminate or Interrupt state do not break the blocking function of these states any more. </div> </li> <li> <div> Bugfix: multiple deferred events from several regions were not working in every case. </div> </li> <li> <div> Bugfix: visitor was passed by value to submachines. </div> </li> <li> <div> Bugfix: no_transition was not called for submachines who send an event to themselves. </div> </li> <li> <div> Fixed warnings with gcc. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/program_options/">Program Options</a>:</span> <ul> <li> <div> Improved error reporting (<a href="https://svn.boost.org/trac/boost/changeset/77827">Patch from Leo Goodstadt</a>). </div> </li> <li> <div> Support for customizing name of option's value in help messages (<a href="https://svn.boost.org/trac/boost/ticket/4781">#4781</a>) </div> </li> <li> <div> Fixed compilation with gcc 4.7 (<a href="https://svn.boost.org/trac/boost/ticket/6790">#6790</a>). </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/property_map/">PropertyMap</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6539">#6539</a> the return type of get() is not documented correctly. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6721">#6721</a> property_map_traits documentation does not mention reference. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/proto/">Proto</a>:</span> <ul> <li> <div> Use <code><span class="identifier">decltype</span></code>-based <code><span class="identifier">result_of</span></code> if and only if the compiler implements N3276. </div> </li> <li> <div> For C++11, force parameter to <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">eval_if_c</span></code> and <code><span class="identifier">mpl</span><span class="special">::</span><span class="identifier">if_c</span></code> to be <code><span class="keyword">bool</span></code>. </div> </li> <li> <div> Disable <tt>'__forceinline not inlined'</tt> warning on msvc. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/ratio/">Ratio</a>:</span> <ul> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6498">#6498</a> boost::ratio won't compile with default settings. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/scope_exit/">ScopeExit</a>:</span> <ul> <li> <div> New Features: <ul> <li> <div> Use variadic macros to specify captures as commas-separated lists (but kept preprocessor sequence syntax for backward compatibility). </div> </li> <li> <div> Capture the object in scope using <code><span class="identifier">this_</span></code>. </div> </li> <li> <div> Support empty captures using <code><span class="keyword">void</span></code>. </div> </li> <li> <div> Implicit lambda-like captures using <code><span class="identifier">BOOST_SCOPE_EXIT_ALL</span></code> on compilers that support C++11 lambda functions. </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/thread/">Thread</a>:</span> <ul> <li> <div> New Features: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/1850">#1850</a> Request for unlock_guard to compliment lock_guard. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2637">#2637</a> Request for shared_mutex duration timed_lock and timed_lock_shared. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2741">#2741</a> Proposal to manage portable and non portable thread attributes. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/3567">#3567</a> Request for shared_lock_guard. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6194">#6194</a> Adapt to Boost.Move. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6195">#6195</a> c++11 compliance: Provide the standard time related interface using Boost.Chrono. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6217">#6217</a> Enhance Boost.Thread shared mutex interface following Howard Hinnant proposal. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6224">#6224</a> c++11 compliance: Add the use of standard noexcept on compilers supporting them. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6226">#6226</a> c++11 compliance: Add explicit bool conversion from locks. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6228">#6228</a> Add promise constructor with allocator following the standard c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6230">#6230</a> c++11 compliance: Follows the exception reporting mechanism as defined in the c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6266">#6266</a> Breaking change: thread destructor should call terminate if joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6269">#6269</a> Breaking change: thread move assignment should call terminate if joinable. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6272">#6272</a> c++11 compliance: Add thread::id hash specialization. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6273">#6273</a> c++11 compliance: Add cv_status enum class and use it on the conditions wait functions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6231">#6231</a> Add BasicLockable requirements in the documentation to follow c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6342">#6342</a> c++11 compliance: Adapt the one_flag to the c++11 interface. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6671">#6671</a> upgrade_lock: missing mutex and release functions. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6672">#6672</a> upgrade_lock:: missing constructors from time related types. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6675">#6675</a> upgrade_lock:: missing non-member swap. </div> </li> <li> <div> Added missing packaged_task::result_type and packaged_task:: constructor with allocator. </div> </li> <li> <div> Added packaged_task::reset() </div> </li> </ul> </div> </li> <li> <div> Fixed Bugs: <ul> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/2575">#2575</a> Bug- Boost 1.36.0 on Itanium platform. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4345">#4345</a> thread::id and joining problem with cascade of threads. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/4921">#4921</a> BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial and need to be documented. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5013">#5013</a> documentation: boost::thread: pthreas_exit causes terminate(). </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5173">#5173</a> boost::this_thread::get_id is very slow. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5351">#5351</a> interrupt a future get boost::unknown_exception. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5516">#5516</a> Upgrade lock is not acquired when previous upgrade lock releases if another read lock is present. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/5990">#5990</a> shared_future&lt;T&gt;::get() has wrong return type. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6174">#6174</a> packaged_task doesn't correctly handle moving results. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6222">#6222</a> Compile error with SunStudio: unique_future move. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6673">#6673</a> shared_lock: move assign doesn't works with c++11. </div> </li> <li> <div> <a href="https://svn.boost.org/trac/boost/ticket/6674">#6674</a> shared_mutex: try_lock_upgrade_until doesn't works. </div> </li> <li> <div> Fix issue signaled on the ML with task_object(task_object const&amp;) in presence of task_object(task_object&amp;&amp;) </div> </li> </ul> </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/unordered/">Unordered</a>:</span> <ul> <li> <div> Fix equality for <code><span class="identifier">unordered_multiset</span></code> and <code><span class="identifier">unordered_multimap</span></code>. </div> </li> <li> <div> Implement <code><span class="identifier">reserve</span></code> (<a href="https://svn.boost.org/trac/boost/ticket/6857">#6857</a>). </div> </li> <li> <div> Avoid gcc's <code><span class="special">-</span><span class="identifier">Wfloat</span><span class="special">-</span><span class="identifier">equal</span></code> and <code><span class="special">-</span><span class="identifier">Wshadow</span></code> warnings (<a href="https://svn.boost.org/trac/boost/ticket/6190">#6190</a>, <a href="https://svn.boost.org/trac/boost/ticket/6771">#6771</a>). </div> </li> <li> <div> Fix namespace issue with bcp (<a href="https://svn.boost.org/trac/boost/ticket/6905">#6905</a>). </div> </li> <li> <div> Fix Sun workarounds (<a href="https://svn.boost.org/trac/boost/ticket/6784">#6784</a>). </div> </li> <li> <div> Some internal changes to bucket allocation. </div> </li> <li> <div> See the <a href="http://www.boost.org/doc/html/unordered/changes.html#unordered.changes.boost_1_50_0">change log</a> for full details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/wave/index.html">Wave</a>:</span> <ul> <li> <div> Wave V2.3.2, see the <a href="http://www.boost.org/libs/wave/ChangeLog">Changelog</a> for details. </div> </li> </ul> </div> </li> <li> <div> <span class="library"><a href="http://www.boost.org/libs/xpressive/">xpressive</a>:</span> <ul> <li> <div> Remove very ugly <code><span class="identifier">lexical_cast</span></code> hack with a slightly less ugly one. </div> </li> <li> <div> Replace MPL assert with static assert since it's problematic in C++11, fixes <a href="https://svn.boost.org/trac/boost/ticket/6846">#6846</a>. </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_50_0.patches.compilers_tested"> <h3><span class="link">Compilers Tested</span></h3> <p> Boost's primary test compilers are: </p> <ul> <li> <div> Linux: <ul> <li> <div> Intel: 11.1 </div> </li> <li> <div> LLVM Clang 2.8 </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.3, 4.5.3, 4.6.2 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Intel: 11.1 </div> </li> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 8.0, 9.0, 10.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.1, 4.7.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> <li> <div> QNX: <ul> <li> <div> QCC, C++0x mode: 4.4.0, 4.4.7, 4.5.4, 4.6.3, 4.7.0 </div> </li> </ul> </div> </li> </ul> <p> Boost's additional test compilers include: </p> <ul> <li> <div> Linux: <ul> <li> <div> Clang from subversion </div> </li> <li> <div> GCC: 4.2.4, 4.3.4, 4.4.4, 4.5.3, 4.6.2 </div> </li> <li> <div> GCC, C++0x mode: 4.3.4, 4.4.4, 4.5.3, 4.6.2 </div> </li> <li> <div> pgCC: 11.9 </div> </li> <li> <div> Intel: 10.1, 11.1, 12.0, 12.1 </div> </li> <li> <div> Visual Age 10.1 </div> </li> </ul> </div> </li> <li> <div> OS X: <ul> <li> <div> Clang from subversion </div> </li> <li> <div> Intel 11.1, 12.0 </div> </li> <li> <div> GCC: 4.4.4 </div> </li> <li> <div> GCC, C++0x mode: 4.4.4 </div> </li> </ul> </div> </li> <li> <div> Windows: <ul> <li> <div> Visual C++ 8.0, 10.0 </div> </li> <li> <div> Visual C++ with STLport: 9.0 </div> </li> <li> <div> Visual C++, Windows Mobile 5, with STLport: 9.0 </div> </li> <li> <div> GCC, mingw: 4.4.0, 4.4.7, 4.5.2, 4.5.4, 4.6.4, 4.7.0 </div> </li> <li> <div> GCC, C++0x mode, mingw: 4.5.2 </div> </li> </ul> </div> </li> <li> <div> AIX: <ul> <li> <div> IBM XL C/C++ Enterprise Edition, V12.1.0.0 </div> </li> </ul> </div> </li> <li> <div> FreeBSD: <ul> <li> <div> GCC 4.2.1, 32 and 64 bit </div> </li> </ul> </div> </li> <li> <div> Solaris: <ul> <li> <div> Sun 5.10 </div> </li> </ul> </div> </li> </ul> </div> <div id="version_1_50_0.patches.acknowledgements"> <h3><span class="link">Acknowledgements</span></h3> <p> <a href="http://www.boost.org/users/people/beman_dawes.html">Beman Dawes</a>, Eric Niebler, <a href="http://www.boost.org/users/people/rene_rivera.html">Rene Rivera</a>, Daniel James, Vladimir Prus and Marshall Clow managed this release. </p> </div> </div>