FeldmanHashSet: added checking if a slot can be expanded
[libcds.git] / change.log
index e1226fdc4274b4acf92ad440de28646ece3f417d..8e2f8bb0f3ce42dc69f05c6f0a574f0910db32a7 100644 (file)
@@ -1,3 +1,32 @@
+2.3.0
+    General release
+    - Changed: cds::gc::HP is totally refactored:
+        - simplified internal structures;
+        - added ability to specify an external allocator for internal data;
+        - external API for gc::HP is slightly changed: now scan type
+          cannot be changed on the fly; it can be specified only in
+          construction time.
+    - Changed: cds::gc::DHP is totally refactored to overcome some internal
+      limitations. Now gc::DHP is fully adaptive variant of Hazard Pointer 
+      SMR, any dependencies on count of thread are removed, count of retired
+      data and hazard pointers per thread are increased automaticaly by perforce.
+      External API of gc::DHP class is changed: now only initial count 
+      of hazard pointers can be specified in the constructor. Like new gc::HP,
+      the new gc::DHP supports an external allocator.
+    - Changed: exception handling. Now, exceptions raise by invoking new 
+      cds::throw_exception() function. If you compile your code with exception disabled,
+      the function prints an exception message to stdout and calls abort()
+      instead of throwing. You can provide your own cds::throw_exception() function 
+      and compile libcds with -DCDS_USER_DEFINED_THROW_EXCEPTION.
+    - Fixed a bug in BronsonAVLTreeMap::extract_min()/extract_max()/clear().
+    - Added more flat-combining queue tests, thanks to Marsel Galimullin.
+    - Changed cmake scripts to support MacOS and ARMv7/ARMv8 (64 bit),
+      thanks to Michail Komarov (https://github.com/Nemo1369)
+    - Stress tests: removed command line parameter --detail-level and
+      envvar CDSTEST_DETAIL_LEVEL for reducing compile time and executable size.
+      To make full testset compile libcds with -DCDS_STRESS_TEST_LEVEL=N where
+      N is 1 or 2.
 2.2.0 04.01.2017
     General release
     - Changed: CMake is used for build libcds. Ancient build.sh has been removed