Performance improvements
message_queue now uses a circular buffer, offset_ptr faster, stable_vector bloat cut, unordered node reuse, inplace_solve sped up.
message_queue now uses a circular buffer, offset_ptr faster, stable_vector bloat cut, unordered node reuse, inplace_solve sped up.
Added 4 dependencies across 4 libraries; removed 1 dependency from 1 library.
Fixed boost::locale::utf::utf_traits accepting invalid UTF‑8, plus numerous bug fixes across containers and threading.
Added constexpr support, boost::result_of uses decltype, new chrono I/O manipulators, async, notify_all_at_thread_exit, and BOOST_NO_SFINAE_EXPR macro.
| Platform | File | SHA256 Hash |
|---|---|---|
|
Unix
|
boost_1_52_0.tar.bz2 |
|
| boost_1_52_0.tar.gz |
|
|
|
Windows
|
boost_1_52_0.7z |
|
| boost_1_52_0.zip |
|
November 5th, 2012 16:05 GMT
boost::locale::utf::utf_traits
to accept some invalid UTF-8 sequences, which is a possible security flaw.
BOOST_NO_SFINAE_EXPR
for gcc-4.4, since the support was found to be too buggy.
__duration_short,
__duration_long
are depreceated. You should use the parameterized form __duration_fmt or the renamed
manipulators __duration_symbol
and __duration_prefix
instead.
__duration_punct<> facet is deprecated.
You should use the __get_duration_style
free function to get the informations and use the __duration_units facet for
localization purposes.
BOOST_CHRONO_VERSION==2
the preceding deprecated functions are not available.
operator<<(ostream& os, ...)
modifies the state of os. The neww io interface provided in
version 2 solves this issue. You should move to the new version.
stable_vector's
template code bloat and type safety.
enum support,
which was accidentally removed in the last version (#7437).
shrink_by and
advise functions
in mapped_region.
message_queue
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 BOOST_INTERPROCESS_MSG_QUEUE_CIRCULAR_INDEX
in boost/interprocess/detail/workaround.hpp
message_queue
insertion time avoiding priority search for common cases (both array
and circular buffer configurations).
interproces_sharable_mutex
and interproces_condition_any.
offset_ptr
performance.
check_out_of_range to test many
possible bad parameters. This test revealed several distributions
where the checks for bad parameters were ineffective, and these have
been rectified.
decltype-based
boost::result_of.
<iterator> and also for some Boost.Range
functions.
proto::pass_through primitive transform
now accepts an optional Domain
template parameter for specifying the target domain of the resulting
expression.
short_name
and long_name
functions by symbol and prefix functions respectively.
ratio_string<>::short_name
and ratio_string<>::long_name
are deprecated. Use ratio_string<>::symbol
and ratio_string<>::prefix
respectively. These functions be removed in 1.55.
BOOST_THREAD_VERSION==3
(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.
thread_specific_ptr:
document nature of the key, complexity and rationale.
thread_specific_ptr.
future.hpp
with stlport 5.1.5 under msvc8.1, because of undefined class.
boost::call_once() is unreliable on some platforms.
interrupt_point().
this_thread::sleep_for() does not respond to interrupt().
win32/thread_primitives.hpp:
(Unneccessary) Warning.
boost/thread/future.hpp
does not compile on HPUX.
BOOST_THREAD_DONT_USE_SYSTEM
doesn't work.
packaged_task
holds reference to temporary.
allocator_destructor
does not destroy object
sub_match work
with Boost.Range. Fixes #7237.
Boost's primary test compilers are:
Boost's additional test compilers include:
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus and Marshall Clow managed this release.
Boost is publicly released three times a year in April, August, and December. Each release has updates to existing libraries, and any new libraries that have passed the rigorous acceptance process.