-2.3.0
+2.4.0
+ - issue #81: bug in gc::DHP when extending thread's retired array,
+ thanks to gtroxler (https://github.com/gtroxler)
+
+2.3.0 31.07.2017
General release
- Changed: cds::gc::HP is totally refactored:
- simplified internal structures;
- 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.
+ 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)
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