Rewrites barrier driver
[libcds.git] / change.log
index 12d91f71c34f5cd39f33b61fa07496651d7f0654..81694eff0ce426e71d8af160b7f75fd405696cec 100644 (file)
@@ -1,4 +1,18 @@
-2.3.0
+2.4.0
+    - Removed: -fno-strict-aliasing requirement
+
+2.3.1 01.09.2017
+    Maintenance release
+    - issue #81: bug in gc::DHP when extending thread's retired array,
+      thanks to gtroxler (https://github.com/gtroxler)
+    - Improved CMake scripts for simplifying libcds intergration with
+      other projects:
+        find_package(LibCDS)
+        add_library(mylib INTERFACE)
+        target_link_libraries(mylib INTERFACE LibCDS::cds)
+      Thansk to Louis Dionne (https://github.com/ldionne)
+
+2.3.0 31.07.2017
     General release
     - Changed: cds::gc::HP is totally refactored:
         - simplified internal structures;
       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.
+    - Flat Combining: fixed memory-order bug that can lead to crash on weak ordered
+      architecture like PowerPC or ARM
+    - Added: erase_at( iterator ) function to MichaelHashSet/Map and SplitListSet/Map
+      based on IterableList
     - Fixed a bug in BronsonAVLTreeMap::extract_min()/extract_max()/clear().
+    - Removed: signal-handled threaded uRCU (cds::urcu::signal_threaded) due
+      bad performance
     - 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.
+    - Changed: refactoring cds::backoff::exponential and cds::backoff::delay
+      back-off strategies to avoid static data members in template classes. 
+    - The library is extensively tested on x86-64, PowerPC and AArch64,
+      thanks to GCC Compile Farm project
 2.2.0 04.01.2017
     General release
     - Changed: CMake is used for build libcds. Ancient build.sh has been removed