-2.2.0
+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
- Changed: unit and stress tests are migrated to googletest framework
ones. The old cds::opt::v::dynamic_buffer and cds::opt::v::static_buffer classes
are removed.
- Removed: TsigasCysleQueue (due undecidable ABA-problem)
+ - Removed: Michael's allocator cds/memory/michael/allocator.h
- Fixed: use-after-free bug in VyukovMPMCCycleQueue internal buffer.
To prevent this bug the queue uses an uninitialized buffer now.
- Fixed: rare priority inversion bug in MSPriorityQueue