X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=blobdiff_plain;f=change.log;h=2b113620becc1d81de3d73fe83ce1628d46e94a1;hp=f1a1a989df341f2184caa6be74e6701068d2f1c1;hb=02a41646cb545a02935072f951231e3726f1d955;hpb=943d4943ef396e14a653469f7b89b095a947cdf7 diff --git a/change.log b/change.log index f1a1a989..2b113620 100644 --- a/change.log +++ b/change.log @@ -1,4 +1,14 @@ -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) + - 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; @@ -8,15 +18,34 @@ 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 thread count is removed, count of retired + 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 for internal data. + 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