Changelog
[libcds.git] / change.log
index a427e181f5def203cfa9141256abc51a9ea2532a..44c454456189c18d15f3e94962ab197ab18b41c8 100644 (file)
@@ -1,4 +1,22 @@
-2.1.0
+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
@@ -15,6 +33,8 @@
       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