| Home | Libraries | People | FAQ | More

## Release Notes

### Boost 1.60 Release

- Advanced lookup and insertions in ordered associative containers now support comparison functions that are not required to offer the same strict weak ordering as `key_compare`, the container must be partitioned in regards to the passed comparison object.
- Fixed bugs:
  - Boost Trac #11701: Regression in boost::intrusive::set::equal_range
  - Boost Trac #11765: sgtree.hpp:830: bad if test ?

### Boost 1.59 Release

- Implemented map and multimap-like interfaces.
- Refactored hashtable containers to reduce template instantiations.
- Fixed bugs:
  - Boost Trac #11222: intrusive/pointer_traits.hpp fails to compile with C++98

### Boost 1.58 Release

- Reduced compile-time dependencies, headers, and the use of Boost.Preprocessor, specially for hooks and iterators.
- Fixed bugs:
  - Boost Trac #6720: intrusive::unordered_set::clear_and_dispose does not compile on VC11 Beta when passed a stateless lambda
  - Boost Trac #10771: remove_if is broken for slist
  - Boost Trac #10853: problem with detection of const_cast_from
  - Boost Trac #10987: bug in any_xxx_node_traits, returning by reference

### Boost 1.57 Release

- Experimental version of node checkers, contributed by Matei David. Many thanks!
- Implemented N3644: Null Forward Iterators from C++14.
- Fixed bugs:
  - GitHub Pull #12: Fix MSVC14 warning C4456: declaration of 'x_parent_right' hides previous local declaration
  - Boost Trac #10520: Conversion warning in intrusive/detail/utilities.hpp
  - Boost Trac #10469: Erasing from intrusive unordered_multiset with optimize_multikey goes into an infinite loop

### Boost 1.56 Release

- Improved Doxygen generated reference and updated and fixed forward-declaration header.
- ABI breaking: Fixed ABI regression introduced in Boost 1.55 version, mainly noticeable on MSVC compilers.
- Source breaking: Removed previously deprecated `xxx_dont_splay` functions from splay containers, `splay_set_base_hook` and `splay_set_member_hook`from splay containers and `bool splay = true` extra parameter in `splaytree_algorithms` functions.
- Fixed bugs:
  - #8468: Compile error on visual studio 2010/2012 using vector with custom allocator and aligned types
  - #9332: "has_member_function_callable_with.hpp compile error on msvc-12.0".
  - #9650: "intrusive list with stateful value traits".
  - #9746: Modern Sun CC compiler detects error in intrusive library header
  - #9940: bad bug in intrusive list with safe_link (or auto_unlink) hooks
  - #9948: remove use of const_cast in intrusive containers
  - #9949: clear header node hooks upon intrusive container destruction
  - #9961: tests for hooks not derived frorm generic_hook
- Optimized tree rebalancing code to avoid redundant assignments.
- Added 64 bit prime values for `suggested_upper_bucket_count`/`suggested_lower_bucket_count` in 64 bit platforms.
- Deleted workarounds for old SUN_CC compilers, those are now unsupported as modern SunPro compilers are standard-corforming enough.

### Boost 1.55 Release

- Source breaking: Deprecated `xxx_dont_splay` functions from splay containers. Deprecated `splay_set_base_hook` and `splay_set_member_hook`from splay containers, use `bs_set_base_hook` or `bs_set_member_hook` instead. Both will be removed in Boost 1.56.
- ABI breaking: Hash containers' end iterator was implemented pointing to one-past the end of the bucket array (see #8698) causing severe bugs when values to be inserted where allocated next to the bucket array. End iterator implementation was changed to point to the beginning of the bucket array.
- Big refactoring in order to reduce template and debug symbol bloat. Test object files have been slashed to half in MSVC compilers in Debug mode. Toolchains without Identical COMDAT Folding (ICF) should notice size improvements.
- Implemented SCARY iterators.

### Boost 1.54 Release

- Added `BOOST_NO_EXCEPTIONS` support (bug #7849).

### Boost 1.53 Release

- Fixed bugs #7174, #7529, #7815.
- Fixed GCC -Wshadow warnings.
- Added missing `explicit` keyword in several intrusive container constructors.
- Replaced deprecated BOOST_NO_XXXX with newer BOOST_NO_CXX11_XXX macros.
- Small documentation fixes.

### Boost 1.51 Release

- Fixed bugs #6841, #6907, #6922, #7033,
- Added `bounded_range` function to trees.

### Boost 1.49 Release

- Fixed bugs #6347, #6223, #6153.

### Boost 1.48 Release

- Fixed bugs #4797, #5165, #5183, #5191.

### Boost 1.46 Release

- Fixed bug #4980,

### Boost 1.45 Release

- Added `function_hook` option.
- Fixed bugs #2611, #3288, #3304, #3489, #3668, #3688, #3698, #3706, #3721. #3729, #3746, #3781, #3840, #3849, #3339, #3419, #3431, #4021.

### Boost 1.40 Release

- Code cleanup in bstree_algorithms.hpp and avl_tree_algorithms.hpp
- Fixed bug #3164.

### Boost 1.39 Release

- Optimized `list::merge` and `slist::merge`
- `list::sort` and `slist::sort` are now stable.
- Fixed bugs #2689, #2755, #2786, #2807, #2810, #2862.

### Boost 1.38 Release

- New treap-based containers: treap, treap_set, treap_multiset.
- Corrected compilation bug for Windows-based 64 bit compilers.
- Corrected exception-safety bugs in container constructors.
- Updated documentation to show rvalue-references functions instead of emulation functions.

### Boost 1.37 Release

- Intrusive now takes advantage of compilers with variadic templates.
- `clone_from` functions now copy predicates and hash functions of associative containers.
- Added incremental hashing to unordered containers via `incremental<>` option.
- Update some function parameters from `iterator` to `const_iterator` in containers to keep up with the draft of the next standard.
- Added an option to specify include files for intrusive configurable assertion macros.

### Boost 1.36 Release

- Added `linear<>` and `cache_last<>` options to singly linked lists.
- Added `optimize_multikey<>` option to unordered container hooks.
- Optimized unordered containers when `store_hash` option is used in the hook.
- Implementation changed to be exception agnostic so that it can be used in environments without exceptions.
- Added `container_from_iterator` function to tree-based containers.