X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=blobdiff_plain;f=change.log;h=2a5564899bd791557a09e4ef11dcadeffd6a23e0;hp=61f5326dfa088acd550a6d707fdd8c117c1fc02f;hb=c3352315d3563a201433837b0932bba249344f67;hpb=57c5af056352d34ecc95d720913a85e49238db17 diff --git a/change.log b/change.log index 61f5326d..2a556489 100644 --- a/change.log +++ b/change.log @@ -1,3 +1,36 @@ +2.2.0 + 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 + - Added: IterableList - an implementation of ordered list with + thread-safe iterator. MichaelSet/Map and SplitListSet/Map support + this type of ordered list and thread-safe iterable too. + - Added: wait strategies for flat combining technique. Based on + research by Marsel Galimullin and Nikolai Rapotkin. + - Fixed: serious bug in MichaelSet::emplace() function + New node was created twice from the arguments by move semantics. + However, move semantics may change internal state of the argument + that can lead to an incorrect element in the set and even + to an incorrect key that breaks the set logic. + - Fixed: bug in FeldmanHashSet::erase_at( iterator ): due an error + in precondition checking the function can incorrectly return false. + - Fixed: possible double-free case in flat combining algorithm. + Thanks to Amila Jayasekara who points me to this problem + - Changed: cds::opt::buffer option is divided to initialized + (cds::opt::v::initialized_dynamic_buffer, cds::opt::v::initialized_static_buffer) + and uninitialized (cds::opt::v::uninitialized_dynamic_buffer, cds::opt::v::uninitialized_static_buffer) + ones. The old cds::opt::v::dynamic_buffer and cds::opt::v::static_buffer classes + are removed. + - Removed: TsigasCysleQueue (due undecidable ABA-problem) + - 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 + - Added: for minimizing runtime of stress test the detail level for some test is added. + Command line argument --detail-level=N specifies what test should be ran: each + test with level not greater than N will be ran. Instead of command line arg + the enviromnent variable CDSTEST_DETAIL_LEVEL=N can be used. + By default, the detail level is 0 that means only limited set of the test will be ran. + 2.1.0 06.01.2016 General release - Added: FeldmanHashSet/Map - an interesting hash map algorithm