-2.1.0
- TODO
+2.2.0
+ General release
+ - Changed: CMake is used for build libcds. Ancient build.sh is removed
+ - Changed: unit and stress tests are migrated to googletest framework
+ - Fixed: serious bug in MichaelSet::emplace() function
+ New node was created twice from the arguments by move semantics.
+ However, move semantics may change internal state of the argument
+ that can lead to an incorrect element in the set and even
+ to an incorrect key that breaks the set logic.
+ - Fixed: bug in FeldmanHashSet::erase_at( iterator ): due an error
+ in precondition checking the function can incorrectly return false.
+ - Fixed: possible double-free case in flat combining algorithm.
+ Thanks to Amila Jayasekara who points me to this problem
+
+2.1.0 06.01.2016
+ General release
+ - Added: FeldmanHashSet/Map - an interesting hash map algorithm
+ based on multi-level array, requires perfect hashing or fixed-sized keys.
+ Supports thread-safe bidirectional iterators.
+ - Added: BronsonAVLTreeMap - Bronson's et al AVL tree implementation
+ - Added: CMake build script, thanks to Eugeny Kalishenko
+ - Changed: SplitList performance improving, thanks to Mike Krinkin
+ - Changed: semantic of member functions extract(), get() and its
+ variants for MichaelList RCU-based specialization: extract() does not
+ require RCU locking, get() now returns special wrapper object of type raw_ptr,
+ see doc.
+ Thus, semantics of extract()/get() of all RCU-based set and maps based on
+ MichaelList (MichaelSet/Map, SplitListSet/Map) has been changed too.
+ - Changed: SplitListSet/Map functions get() and get_with() return special wrapper
+ object of type raw_ptr, see doc.
+ - Removed: SplitListSet/Map force_dispose() function.
+ - cds::lock namespace is renamed to cds::sync. All classes defined in cds::lock namespace
+ are moved to cds::sync with new names (for example, cds::lock::SpinLock is renamed to
+ cds::sync::spin_lock). cds::lock namespace and its contents is deprecated, it is kept
+ for backward compatibility.
+ - The library has been checked by ThreadSanitizer, a lot of bugs has been fixed
+ - Added support for clang 3.7 with libc++
2.0.0 30.12.2014
General release