New Libraries:
Atomic:
C++11-style atomic<>, from Helge Bahmann, maintained by Tim Blechmann.
Coroutine:
Coroutine library, from Oliver Kowalke.
Lockfree:
Lockfree data structures, from Tim Blechmann.
Multiprecision:
Extended precision arithmetic types for floating point, integer and rational arithmetic from John Maddock and Christopher Kormanyos.
Odeint:
Solving ordinary differential equations, from Karsten Ahnert and Mario Mulansky.
News
This release contains a fix for ticket 7743, in Boost.Locale. For more details, see the security notice.
More info http://www.boost.org/users/history/version_1_53_0.html
which is considered a security problem
bump PKGREV for the affected header, didn't check yet where this
header is compiled into
(boost-1.53 is out, just added the patch for a possible pullup)
New Libraries
* Context: Context switching library, from Oliver Kowalke.
Updated Libraries
* Algorithm:
- Fixed is_sorted_until ; now matches the c++11 standard behavior on ranges with
duplicate values.
- Added range support for the rest of the search algorithms.
- unhex now uses Boost.Exception to signal bad input.
* Asio:
- Fixed an incompatibility between ip::tcp::iostream and C++11.
- Decorated GCC attribute names with underscores to prevent interaction with
user-defined macros.
- Added missing #include <cctype>, needed for some versions of MinGW.
- Changed to use gcc's atomic builtins on ARM CPUs, when available.
- Changed strand destruction to be a no-op, to allow strand objects to be
destroyed after their associated io_service has been destroyed.
- Added support for some newer versions of glibc which provide the
epoll_create1() function but always fail with ENOSYS.
- Changed the SSL implementation to throw an exception if SSL engine
initialisation fails.
- Fixed another regression in buffered_write_stream.
- Implemented various minor performance improvements, primarily targeted at
Linux x86 and x86-64 platforms.
* Config:
- 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.
[more..]
New Libraries
* Algorithm: 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
* Functional/OverloadedFunction: Overload different functions into a single
function object, from Lorenzo Caminiti.
* LocalFunction: Program functions locally, within other functions, directly
within the scope where they are needed, from Lorenzo Caminiti.
* Utility/IdentityType: Wrap types within round parenthesis so they can always
be passed as macro parameters, from Lorenzo Caminiti.
More http://www.boost.org/users/history/version_1_50_0.html
New Libraries
* Container: Standard library containers and extensions
* Locale: Provide localization and Unicode handling tools for C++
Beilis.
* Move: Portable move semantics for C++03 and C++11 compilers
Details: http://www.boost.org/users/history/version_1_48_0.html
New Libraries
* Chrono: Useful time utilities
* Geometry: Geometry Library
* Phoenix: Define small unnamed function objects at the actual call site, and
more
* Ratio: Compile time rational arithmetic
More: http://www.boost.org/users/history/version_1_47_0.html
Asio:
* EV_ONESHOT seems to cause problems on some versions of Mac OS X, with the
io_service destructor getting stuck inside the close() system call. Changed
the kqueue backend to use EV_CLEAR instead.
* Fixed compile failures with some versions of g++ due to the use of anonymous
enums.
* Fixed a bug on kqueue-based platforms, where some system calls that
repeatedly fail with EWOULDBLOCK are not correctly re-registered with kqueue.
* Changed asio::streambuf to ensure that its internal pointers are updated
correctly after the data has been modified using std::streambuf member
functions.
* Fixed a bug that prevented the linger socket option from working on platforms
other than Windows.
Fusion:
* Fix disable_if for Visual C++ 7.1/8.0
Filesystem:
* Fix for STLPort.
* PGI large file support
Graph:
* Bug fixes
Icl:
* Intersects for interval_maps and segment_type/element_type.
* Fixed some ambiguous calls to functions in boost and std namespaces.
* Other bug fixes, and documentation fixes.
Math:
* Several minor bug fixes.
Polygon:
* Disabled 45-degree booleans optimization.
Proto:
* Make display_expr copyable.
* Fix const correctness problem in pass_through.
Property Tree:
* Fix compile error in JSON parser.
Signals2:
* Fix unused parameter warning.
TR1:
* Allow specialization of std::tr1::hash.
* Improved support for Pathscale and Sun compilers.
Unordered:
* Add missing copy constructors and assignment operators when using rvalue
references.
New Libraries
* Icl: Interval Container Library, interval sets and maps and aggregation of
associated values, from Joachim Faulhaber.
Updated Libraries
* Array:
- Added support for cbegin/cend
- Fixed a problem with the Sun compiler
* Asio:
- Fixed a problem on older Linux kernels (where epoll is used without timerfd
support) that prevents timely delivery of deadline_timer handlers, after
the program has been running for some time
* Bind:
- make_adaptable now documented
* Concept Check:
- fixed warnings with self-assignment
* Filesystem:
- Version 3 of the library is now the default.
- IBM vacpp: Workaround for compiler bug affecting iterator_facade
- Verify, clarify, document that <boost/config/user.hpp> can be used to
specify BOOST_FILESYSTEM_VERSIO
- Replaced C-style assert with BOOST_ASSERT.
- Undeprecated unique_path(). Instead, add a note mentioning the workaround
for lack of thread safety and possible change to cwd. unique_path() is just
too convenient to deprecate!
- Cleared several GCC warnings.
- Changed V2 code to use BOOST_THROW_EXCEPTION.
- Windows: Fix status() to report non-symlink reparse point correctly.
- Add symlink_option to recursive_directory_iterator, allowing control over
recursion into directory symlinks. Note that the default is changed to not
recurse into directory symlinks.
- Reference documentation cleanup, including fixing missing and broken links,
and adding missing functions.
- Miscellaneous implementation code cleanup.
* Fusion:
- vector copy constructor now copies sequence members in the same order on different platforms
* Graph:
- Fixed Graphviz output to work on Visual C++ 7.1.
- Replaced assert with BOOST_ASSERT.
- Changed to Boost.Filesystem v3.
More...
* Fixed a problem on kqueue-based platforms where a deadline_timer
may never fire if the io_service is running in a background thread
* Fixed a const-correctness issue that prevented valid uses of
has_service<> from compiling
* Fixed MinGW cross-compilation
* Removed dependency on deprecated Boost.System functions
* Ensured close()/closesocket() failures are correctly propagated
* Added a check for errors returned by
InitializeCriticalSectionAndSpinCount
* Added support for hardware flow control on QNX
* Always use pselect() on HP-UX, if it is available.
* Ensured handler arguments are passed as lvalues
* Fixed Windows build when thread support is disabled
* Fixed a Windows-specific problem where deadline_timer objects with
expiry times set more than 5 minutes in the future may never expire
* Fixed the resolver backend on BSD platforms so that an empty service
name resolves to port number 0, as per the documentation
* Fixed read operations so that they do not accept buffer sequences of
type const_buffers_1
* Redefined Protocol and id to avoid clashing with Objective-C++ keywords
* Fixed a vector reallocation performance issue that can occur when
there are many active deadline_timer objects
* Fixed the kqueue backend so that it compiles on NetBSD
* Fixed the socket io_control() implementation on 64-bit Mac OS X and
BSD platforms
* Fixed a Windows-specific problem where failures from accept() are
incorrectly treated as successes
* Deprecated the separate compilation header <boost/asio/impl/src.cpp>
in favour of <boost/asio/impl/src.hpp>
New Libraries
* Meta State Machine: High-performance expressive UML2 finite state machines,
from Christophe Henry
* Polygon: Booleans/clipping, resizing/offsetting and more for planar polygons
with integral coordinates, from Lucanus Simonson.
Updated Libraries
* Accumulators
* Asio
* Config
* Filesystem
* Foreach
* Hash
* Iostreams
* Math
* MPL
* Multi-index Containers
* Proto
* Regex
* Thread
* TR1
* Type Traits
* uBLAS
* Utility
* Uuid
* Xpressive
New Libraries:
* Functional/factory: Function objects for dynamic and by-value construction.
* Functional/forward: Function object adapters to address the forwarding
problem.
Major Updates:
* Range: Boost.Range has undergone extensive updates that it include all of the
features from the recently reviewed Boost.RangeEx.
* Range-based version of the full STL iterator based algorithms.
* Range adaptors which can be combined with range-based algorithms for
unpresedented expressiveness and efficiency.
* New functions: irange, istream_range, join, combine.
Updated Libraries
Build System:
* When cross-compiling to GNU targets, static libraries are properly created.
Previously, using such libraries resulted in Archive has no index error.
* The naming of DLL and import libraries with gcc compiler on Windows, both
mingw and cygwin, now matches default conventions of those environments.
Previously, the naming scheme was the same as for other Windows compilers.
Updated Tools:
* Quickbook: Unicode escape characters.
* Support the UTF-8 byte order mark.
* Disallow [ in simple markup. Fixes some errors with mismatched punctuation.
* Add a command line flag (-D) to define macros at the command line.
* Improved post-processor output.
* Check that [section] and [endsect] tags are balanced in templates.
* New Libraries
Property Tree: A tree data structure especially suited to storing
configuration data, from Marcin Kalicinski and Sebastian Redl.
* Updated Libraries
* Build System
A bug preventing "fat" 32-bit + 64-bit builds on OSX has been fixed.