+2019-01-14 Userspace RCU 0.10.2
+ * Fix: only wait if work queue is empty in real-time mode
+ * Fix: don't wait after completion of a work queue job batch
+ * Fix: don't wait after completion of job batch if work queue is empty
+ * Fix: workqueue: struct urcu_work vs rcu_head mixup
+ * Cleanup: workqueue: update comments referring to call-rcu
+ * Fix: mixup between URCU_WORKQUEUE_RT and URCU_CALL_RCU_RT
+ * test_rwlock: Add per-thread count to verbose output
+ * Add *.exe to gitignore for Cygwin
+ * Fix: pthread_rwlock initialization on Cygwin
+ * Fix: compat_futex_noasync on Cygwin
+
+2018-01-23 Userspace RCU 0.10.1
+ * Fix: don't use overlapping mmap mappings on Cygwin
+ * Fix: don't use membarrier SHARED syscall command in liburcu-bp
+ * Tests fix: add missing Cygwin thread id
+ * Fix: assignment from incompatible pointer type warnings
+ * Tests fix: unused variable warnings
+ * Fix: add missing m68k headers to dist
+
+2017-06-12 Userspace RCU 0.10.0
+ * Bump library soname due to urcu flavor structure change
+ * Cleanup: use mutex_lock() wrapper in rculfhash
+ * Use workqueue in rculfhash
+ * Implement urcu workqueues internal API
+ * Add support for m68k architecture
+ * Set -Wall globally in AM_CFLAGS
+ * Fix: remove double use of PTHREAD_CFLAGS
+ * Re-add PTHREAD_CFLAGS to global CFLAGS
+ * Fix: Don't override user variables within the build system
+ * Add report at the end of configure
+ * uatomic-api docs: use the third-person singular
+ * Add --enable-rcu-debug to configure
+ * ARM32: use dmb ish (inner shareable domain) for smp barriers
+ * Cleanup: remove cmm_wmb() from rcu_xchg_pointer and rcu_cmpxchg_pointer
+ * Fix: uatomic arm32: add missing release barrier before uatomic_xchg
+ * Tests: Add verbose support to test script
+ * Fix: add missing CONFIG_RCU_FORCE_SYS_MEMBARRIER to urcu/config.h.in
+ * Allow forcing the use of sys membarrier
+ * Fix: rcutorture: work-around signal issue on mac os x
+ * Fix: rcutorture should register thread using call_rcu
+ * Fix: add missing backslash in Makefile.am
+ * Fix: Do not use wildcards in include/Makefile.am
+ * Bump version to 0.10-pre
+ * Fix: check for rand_r() in compat-rand.h
+ * Fix: Move rand-compat to private src dir
+ * Fix: remove AC_FUNC_MALLOC from configure.ac
+ * Cleanup: Re-organise source dir
+ * Cleanup: remove leftover manual pthread detection
+ * Fix: update ax_pthread macro to handle newer clang
+ * Update library current version due to adding destroy API
+ * Fix: Use pthread_self to get threadid on OSX
+ * Fix: examples: use destroy API for queues/stacks
+ * Update library age due to new stack/queue destroy API
+ * Fix: tests: invoke destroy APIs for queues/stacks
+ * Fix: add missing destroy functions to queues/stack APIs
+ * Fix: add missing __cds_wfcq_init for LGPL API
+ * Fix: memory leak on hash table destroy
+ * Fix: Add failover for platforms without nproc
+ * Fix: use clock_get_time for caa_get_cycles fallback on MacOSX
+ * Fix: syscall-compat.h MacOSX support
+ * Fix: Add solaris-build.md to dist
+ * rculfhash: Documentation: clarify need for grace period before "re-using"
+ * Port: build shared libraries in Cygwin
+ * Port: fix compatibility header for Cygwin
+ * Add GNU Hurd support to syscall-compat.h
+ * Add support for aarch64_be
+ * Fix: urcu-bp: re-initialize list head on library exit
+ * bootstrap: Standardize on autoreconf -vi
+ * Harmonize bootstrap script across projects
+ * Fix: examples make distcheck failure
+ * wfcqueue: add C++ compatibility API
+ * Fix: CDS_WFCQ_WOULDBLOCK typing for c++
+ * Fix: configure.ac: check for possibly required libs for clock_gettime
+ * Support for NIOS2 architecture
+ * urcu_ref_get_safe: introduce new API
+ * Fix: handle reference count overflow
+ * Fix: compat_futex should work-around futex signal-restart kernel bug
+ * Support for Xeon-Phi with newer MPSS
+ * sparc64: allocate membarrier system call number
+ * hppa: allocate membarrier system call number
+ * Fix build on non-Linux Debian ports
+ * Fix: urcu-signal: smp_mb_master() needs registry lock
+ * Fix: rculfhash only needs to include urcu-pointers.h
+ * Fix: out-of-tree benchmark/regtest
+ * Fix: add missing regtest and benchmark files to dist tarball
+ * Fix: add missing run.sh to benchmark makefile
+
+2015-10-16 Userspace RCU 0.9.0
+ * Bump soname major to 4
+ * Cleanup: remove trailing tab
+ * Fix: Use proper macro to detect stdbool.h
+ * Configure: Add missing checks
+ * Port: Add Solaris build instructions
+ * Fix: regtest outputs valid TAP protocol
+ * Port: Detect nproc bin name in benchmark scripts
+ * Port: Add Solaris getcpu support
+ * Port: Fixes to build system for portability
+ * Port: Add Solaris support to tests/common/thread-id.h
+ * Port: Add Solaris support to urcu/syscall-compat.h
+ * Port: replace bzero() by memset()
+ * Port: make bootstrap script work on most shell
+ * tests: rcutorture: use parameters rather than random
+ * Fix: only define membarrier system call on Linux
+ * Refactor tests
+ * Fix: cast caa_cycles_t to unsigned long long
+ * caa_get_cycles: caa_ prefix for type, use CLOCK_MONOTONIC
+ * Cleanup: remove trailing whitespaces at EOL
+ * Cleanup: move generic caa_get_cycles to arch/generic.h
+ * tile: allocate membarrier system call number
+ * ia64: allocate membarrier system call number
+ * aarch64: allocate membarrier system call number
+ * powerpc64le: use "ppc" architecture
+ * arm: allocate membarrier system call number
+ * s390: allocate membarrier system call number
+ * ppc: allocate membarrier system call number
+ * lfstack: relax constraints on node re-use
+ * Fix: format string signedness
+ * Cleanup: tests: Branch condition evaluates to a garbage value
+ * Fix: test: unchecked return value
+ * Fix: test: side-effect in assertion
+ * x86: allocate membarrier system call number
+ * urcu-bp: use sys_membarrier when available
+ * Cleanup: urcu: remove unused membarrier "group" parameter
+ * urcu/ref.h: implement urcu_ref_get_unless_zero()
+ * Fix: compat_futex: uninitialized ret variable
+ * Fix: compat_futex_noasync: don't override return value
+ * Fix: dynamic fallback to compat futex on sys_futex ENOSYS
+ * Detect RCU read-side overflows
+ * Detect RCU read-side underflows
+ * Introduce urcu_assert and registration check
+ * Fix: volatile in assert()
+ * Update following changes to sys_membarrier ABI
+ * uatomic: Specify complete types for atomic function calls
+ * Cleanup: remove unused return value warning from tests
+ * Fix: handle sys_futex() FUTEX_WAIT interrupted by signal
+ * Fix: compat_futex.c: *uaddr should be read as volatile
+ * Cleanup: cast poll delay return value to void
+ * tests: Convert unit tests to TAP
+ * Fix: make benchmark test run in oot build
+ * Fix: call_rcu_thread() affinity failure
+ * Cleanup: cast poll delay return value to void
+ * Cleanup: cast poll delay return value to void
+ * Cleanup: cast poll delay return value to void
+ * Cleanup: cast poll delay return value to void
+ * Cleanup: cast poll() return value to void for delays
+ * urcu: fix deprecation warning with new glibc
+ * urcu: add cds_list_for_each_entry_safe_from macro
+ * Fix: deadlock when thread join is issued in read-side C.S.
+ * Fix: rename RCU_DEBUG to DEBUG_RCU in urcu-qsbr.h
+ * Cleanup some c99 pedantic warnings
+ * Mark braced-groups within expressions with __extension__
+ * Fix: compat_futex_noasync race condition
+ * tests: Use stderr redirection for time output
+ * Fix: use space after rpath for OS X ld
+ * Fix: move transparent union attribute after union declaration for clang
+ * Configure: add check for used type
+ * Configure: add missing check of headers
+ * Configure: add missing check for funcs: memset, strerror
+ * Fix: documentation: urcu-pointer.h: s/rcu_dereference_pointer/rcu_dereference/
+ * urcu-bp/urcu-qsbr: remove unneeded DEBUG_YIELD code
+ * Fix: call rcu should call internal RCU API
+ * Fix: silence gcc -Wextra warning
+ * compiler: use __GNUC__ instead of the undefined __GNUC_MAJOR__
+ * Fix: lfstack reversed empty/non-empty return value
+ * lfstack: fix: add missing __cds_lfs_init
+ * wfstack: add missing union parameters
+ * Fix: preserve example files' timestamps when copying
+ * wfstack: implement mutex-free wfstack with transparent union
+ * wfcqueue: Implement mutex-free wfcqueue head with transparent union
+ * lfstack: Implement mutex-free stack head with transparent union (v2)
+ * rculfhash: remove duplicated code
+ * rculfhash: handle pthread_create failures
+ * rculfhash: fall back to single-threaded resize on calloc failure
+ * x86: drop extra semi-colon in caa_cpu_relax
+ * Cleanup: tests: cast console write return value as void
+ * Modernize doc using Markdown
+ * Fix: update automake following README to README.md change
+ * Modernize README using Markdown
+ * Fix: incorrect parenthesis in cds_hlist_for_each_entry_safe_2
+ * Fix: Use after free in rcu_barrier()
+ * Fix: rcu_barrier(): uninitialized futex field
+ * call_rcu threads should clear their PAUSED flag when they unpause
+ * test_urcu_fork: test many fork, with 3 children deep
+ * Update list of supported architectures in README
+ * Add support for hppa/PA-RISC architecture
+ * Use autoconf AM_MAINTAINER_MODE
+ * Use gcc atomics on aarch64/powerpc64le
+ * Fix: move wait loop increment before first conditional block
+ * Fix: high cpu usage in synchronize_rcu with long RCU read-side C.S.
+ * Fix: out of tree build: doc/examples
+ * Fix: out of tree build tests/common
+ * tests/unit: use lib rather than source
+ * automake: Rename INCLUDES to AM_CPPFLAGS (new name)
+ * tests regressions: use lib rather than recompile from source
+ * tests: use common lib rather than recompile compat sources
+ * urcu tests: use lib rather than compile from source
+ * urcu mb tests: use lib rather than recompile from source
+ * urcu signal tests: use library rather than recompile source
+ * tests: move yield debug to common test library
+ * tests urcu bp: use lib rather than recompile source
+ * test_urcu_defer: link on urcu lib rather than recompile source
+ * tests/benchmark: use urcu qsbr lib rather than recompile from source
+ * Pass the CC variable to the example Makefiles
+ * Fix: urcu-bp interaction with threads vs constructors/destructors
+ * x86 barrier for Xeon Phi: use rsp on x86-64
+ * Set RCU_HAVE_FENCE to false on Intel Xeon Phi
+ * Fix undefined NULL pointer arithmetic in hlist
+ * Cleanup: Check for pthread in Libc
+ * Cleanup: Android: Do not redefine gettid
+ * Fix undefined NULL pointer arithmetic
+ * Android: implement rand_r()
+ * Android: do not redefine gettid on Android
+ * Android: add a compat layer for 'syscall.h'
+ * Android: do not link pthread on Android
+ * Android: configure.ac Android check
+ * Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2
+ * rculfhash: document max_nr_buckets = 0
+ * Library major version number (soname) increment to 3
+ * Fix: tls-compat multi-lib conflict
+ * Use cross compiler for doc examples
+ * Add lttng-dev mailing list to readme
+ * wfcqueue: remove misleading comment
+ * gcc warning fixes: -Wsign-compare and -Wextra
+ * Fix: urcu-qsbr: reversed logic on RCU_DEBUG
+ * Fix: urcu-bp segfault in glibc pthread_kill()
+ * Fix urcu-bp: don't move registry
+ * Fix: compat futex duplicated lock and completion
+ * Fix: i386 compat code duplicated mutex instances
+ * Fix: urcu-bp: Bulletproof RCU arena resize bug
+ * Fix: test_mutex.c uninitialized mutex
+
+2013-09-06 Userspace RCU 0.8.0
+ * Fix: hash table growth (for small tables) should be limited
+ * Fix: doc/examples cross-build
+ * Introduce URCU_INLINE_SMALL_FUNCTIONS
+ * Add missing tests/common/Makefile.am
+ * README: document make check/regtest/bench
+ * tests: split in check, regtest and bench targets
+ * Cleanup: doc/examples makefile
+ * Fix: doc/examples VPATH build
+ * doc/examples: Move the LIBS after the OBJECTS in the Makefile
+ * Document build work-around on MacOS X
+ * Fix tests: use of uninitialized variables
+ * test_urcu_hash*: initialize TLS seeds
+ * doc/examples: cds_lfht_for_each_entry_duplicate
+ * doc/examples: cds_lfht_lookup
+ * doc/examples: cds_lfht_destroy
+ * doc/examples: cds_lfht_add_replace
+ * doc/examples: cds_lfht_add_unique
+ * doc/examples: cds_lfht_add/cds_lfht_del
+ * doc/examples: add rculfqueue example
+ * doc/examples: add synchronize_rcu()
+ * doc/examples: add bp flavor
+ * doc/examples: add dist toplevel makefile
+ * doc/examples: add membarrier flavor
+ * doc/examples: document call_rcu()
+ * doc/examples: update qsbr example
+ * urcu signal: remove assertion on exit
+ * doc/examples: signal flavor
+ * doc/examples: add mb flavor
+ * doc/examples: update qsbr
+ * doc/examples: introduce urcu-flavors examples directory
+ * doc/examples: enhance rcu-flavor-qsbr example
+ * doc/examples: rename qsbr-minimal to rcu-flavor-qsbr
+ * doc/examples: automake stop on error
+ * doc/examples: hlist
+ * hlist/rcuhlist update
+ * doc/examples: fix typo in list example
+ * rcuhlist: make pointer stores atomic
+ * hlist, rcuhlist: cleanup coding style
+ * doc/examples: lfstack
+ * doc/examples: update cds_wfs_pop_all_blocking
+ * doc/examples: cds_wfs_pop_all_blocking
+ * doc/examples: cds_wfs_pop
+ * doc/examples: add missing Makefile
+ * doc/examples: cds_wfs_push
+ * doc/wfcqueue: cds_wfcq_splice
+ * doc/examples: add cds_wfcq_dequeue
+ * doc/examples: wfcq needs to link against urcu-common
+ * doc/examples: update queue comment
+ * doc/examples: fix make clean
+ * gitignore: add qsbr-minimal
+ * doc/examples: cds_wfcq_enqueue
+ * doc/examples: Move LIBS to each makefile
+ * doc/examples: cds_list_for_each_rcu
+ * doc/examples: cds_list_for_each_entry_rcu
+ * doc/examples: cds_list_replace_rcu
+ * doc/examples: cds_list_add_tail_rcu
+ * doc/examples: cds_list_del_rcu
+ * doc/examples: cds_list_add_rcu
+ * rculist: ensure atomic updates of next pointers
+ * rculist: implement cds_list_add_tail_rcu
+ * rculist.h and list.h style cleanup
+ * example makefile: add missing cd ..
+ * Update gitignore
+ * Fix: examples Makefile on FreeBSD
+ * hash table test: don't redefine CACHE_LINE_SIZE
+ * tests: use thread-id.h wrapper
+ * Implement thread-id.h wrapper
+ * tests: add missing unsigned long casts to pthread_self()
+ * Fix: don't build examples in static builds
+ * Add QSBR minimal example
+ * compiler.h: implement CAA_ARRAY_SIZE()
+ * document rcu barrier
+ * rcu barrier: handle OOM die urcu_die
+ * Implement rcu_barrier()
+ * rculfhash: document destroy context limitations
+ * Add MIPS to README
+ * Update README
+ * Update README testing info about FreeBSD
+ * test: fix api.h missing if brackets
+ * tests: fix incorrect counter
+ * Fix: membarrier fallback symbol conflict
+ * Fix: Use a filled signal mask to disable all signals
+ * urcu-bp: introduce struct urcu_gp
+ * Fix: struct urcu_gp broke multiflavor
+ * Cleanup test usage printout
+ * wfstack tests: use pop "last" state info
+ * wfstack: return whether pop is popping the last element
+ * wfcqueue tests: use dequeue empty state
+ * wfcqueue: return whether dequeue is dequeuing last element
+ * urcu: avoid false sharing for rcu_gp_ctr
+ * urcu: make the code of urcu-qsbr as normal urcu
+ * rculfhash: detect if resize/destroy are called within RCU read-side C.S.
+ * Documentation: rculfhash: cds_lfht_resize not within read-side C.S.
+ * fix: rculfhash don't change qsbr online state
+ * Add rcu_read_ongoing() API to each urcu flavor
+ * Add "sparc" host cpu to configure.ac
+ * futex: include syscall.h instead of sys/syscall.h
+ * Add tab to output in order to allow easy nesting of tables.
+ * Remove urcu-api-list.sh from dist tarball
+ * Add urcu-api-list.sh script
+ * list: implement cds_list_for_each_safe()
+ * Fix: tests/api.h use cpuset.h
+ * Fix hurd-i386: move cpuset tests outside of sched_setaffinity conditional
+ * Fix tests: finer-grained use of CPU_SET, CPU_ZERO and cpu_set_t
+ * Test for CPU_SET
+ * Fix build on architectures with HAVE_SCHED_GETCPU but without HAVE_SYSCONF
+ * README: document that Clang 3.0 (based on LLVM 3.0) is supported
+ * clang: silence "unused expression result" warning
+ * rculfhash: add assertions on node alignment
+ * Spelling cleanups within comments and documentation
+ * Fix configure checks for Tile
+ * uatomic: style fix
+ * doc/cds-api.txt: expand documentation
+ * README: document each API file
+ * README: reorganize
+ * Add compilation support for the TileGX architecture
+ * wfstack: add nonblocking to _LGPL_SOURCE API
+ * Discourage use of pthread_atfork() for call_rcu handlers
+ * Fix call_rcu fork handling
+ * test: fork handling
+ * rculfhash: add cds_lfht_replace to the write operations in the comments
+ * urcu: fix comments for cds_list_for_each_prev()
+ * documentation: fix rcu-api.txt duplicates
+ * test wfcq: remove unneeded urcu.h include
+ * test wfs: remove unneeded urcu.h include
+ * urcu: declare test_urcu_multiflavor functions
+ * urcu: remove the wrong comma
+ * wfstack: implement nonblocking pop and next
+ * wfcqueue: document first/next return values
+ * wfstack: update comments about cds_wfs_empty/first being wait-free
+ * wfstack API: rename cds_wfs_first_blocking to cds_wfs_first
+ * wfstack test: test if number of push to empty vs pop_all match
+ * wfstack: document first/next return values
+ * test wfstack: enforce external mutex if needed by default
+ * test wfcqueue: enforce external mutex if needed by default
+ * urcu-mb/signal/membarrier: batch concurrent synchronize_rcu()
+ * urcu-wait: move queue management code into urcu-wait.h
+ * urcu-wait: move wait code into separate file
+ * urcu-qsbr: batch concurrent synchronize_rcu()
+ * tests: use standard malloc/free for synchronize_rcu()
+ * urcu-bp: move quiescent threads to separate list
+ * urcu-mb/signal/membarrier: move quiescent threads to separate list
+ * urcu-qsbr: move offline threads to separate list
+ * urcu-bp: improve 2-phase wait scheme
+ * urcu-mb/signal/membarrier: improve 2-phase wait scheme
+ * urcu-qsbr: improve 2-phase wait scheme
+ * wfcqueue: implement mutex-free splice
+ * wfcqueue: document empty criterion
+ * urcu-call-rcu: use wait-free splice return value
+ * test wfcqueue: add tests for queue state return value
+ * wfcqueue: enqueue and splice return queue state
+ * Fix: wfcqueue nonblocking dequeue
+ * wfcqueue: Fix lock and unlock functions
+ * runtests: Make path of time binary configurable
+ * urcu-qsbr: skip Q.S. reporting if already reported
+ * Fix TLS detection: test with linker, add --disable-compiler-tls
+ * Cleanup: cast pthread_self() return value to unsigned long
+ * Fallback mechanism not working on platform where TLS is unsupported
+ * Revert "Fix: cross-build: configure.ac should use --target, not --host"
+ * Fix: cross-build: configure.ac should use --target, not --host
+ * test_urcu_wfcq: add splice and nosync tests
+ * test_urcu_wfs: cleanup
+ * test_urcu_lfs: cleanup
+ * Fix static linking: add missing static for _defer_rcu
+ * tests: report error value for make check
+ * Add multiflavor test program
+ * Fix static linking: fix symbol name namespaces
+ * Fix static linking: add missing static to thr_defer
+ * Fix static linking: add missing static
+ * deprecation: fix build with gcc < 4.5
+ * wfstack.c: update copyright notice
+ * Update wfstack copyright notice
+ * Comment fix: update associated LGPL header name
+ * Update cds-api.txt following API deprecations
+ * Deprecate wfqueue
+ * Deprecate rculfstack
+ * wfcqueue: introduce nonblocking API
+ * lfstack: test pop_all and pop
+ * lfstack: implement empty, pop_all and iterators, document API
+ * lfstack: implement test
+ * lfstack: implement lock-free stack
+ * wfstack: implement pop_all and iteration tests
+ * wfstack: implement cds_wfs_pop_all and iterators, document API
+ * rculfhash test: fix trivial memleak and return node leak and errors
+ * rculfhash: add missing extern
+ * Cleanup: fix cppcheck errors
+ * wfcqueue: remove ancient comment
+ * test_urcu_lfq: remove rcu_defer_register_thread() from test_urcu_lfq
+ * test_urcu_lfq: test for the proper pointer
+ * test_urcu_lfs: remove rcu_defer_register_thread() from test_urcu_lfs
+ * test_urcu_lfs: test for the proper pointer
+ * wfcqueue: clarify locking usage
+ * Document APIs in README
+ * Test cleanup: replace "l" parameter by "loops"
+ * Add wfcqueue header to cds.h
+ * Fix: urcu-bp, urcu, urcu-qsbr should include wfcqueue
+ * Fix: call_rcu list corruption on teardown (documentation)
+ * call_rcu: remove head field alignement, explain wfcqueue motivation
+ * wfcqueue: update credits in patch documentation
+ * wfcqueue documentation: hint at for_each iterators
+ * Fix urcu-call-rcu-impl.h: false-sharing
+ * call_rcu: use wfcqueue, eliminate false-sharing
+ * wfcqueue test
+ * wfcqueue: implement concurrency-efficient queue
+ * Ensure that read-side functions meet 10-line LGPL criterion
+ * tls-compat.h: document sigaltstack(2) limitation
+ * urcu: add notice to URCU_TLS() for it is not strictly async-signal-safe
+ * Document sigaltstack(2) limitation
+ * Documentation: update LICENSE file
+
+2012-08-27 Userspace RCU 0.7.4
+ * rculfhash API documentation: document destroy RCU read-lock constraint
+ * Fix: rculfhash should be offline while waiting for resize to complete
+ * Add missing entry to gitignore
+ * urcu: move busy-wait code and name it ___cds_wfq_node_sync_next()
+ * urcu: fix compat_futex_noasync()
+ * urcu: add hint to DEFINE_URCU_TLS() for compound types
+ * Fix: CAA_BUILD_BUG_ON should refer to CAA_BUILD_BUG_ON_ZERO
+ * Add MIPS support
+ * Compatibility: remove bash-ismsm from test scripts
+ * Fix inappropriate lib behavior: don't call exit()
+ * Fix: re-enable compatibility with autoconf < 2.64
+ * Fix c99 compatibility: use __asm__ and __volatile__ in public headers
+ * Fix c99 compatibility: use __typeof__ instead of typeof in public headers
+ * warning fix: tests urcutorture for NetBSD 5
+
+2012-06-01 Userspace RCU 0.7.3
+ * Fix tests: make dist lib dependency
+ * Update README for OS supported, tests dependency
+ * Add CodingStyle to tarball
+ * Add coding style document
+ * Test fix: test_perthreadlock uninitialized mutex
+ * tests: support FreeBSD short "time" args
+ * freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility
+
+2012-05-24 Userspace RCU 0.7.2
+ * Fix library compatibility
+
+2012-05-24 Userspace RCU 0.7.1
+ * fix: uatomic_set return value compile fix for non-x86 arch.
+
+2012-05-21 Userspace RCU 0.7.0
+ * Cleanup: header comments coding style
+ * Document uatomic operations
+ * Update return value of "set" operations
+ * Fix mremap wrapper for NetBSD 5
+ * Use urcu/tls-compat.h
+ * Implement urcu/tls-compat.h
+ * Add TLS detection m4 macro
+ * document concurrent data structures
+ * documentation: refer to rcu-api.txt
+ * Move API.txt to doc/rcu-api.txt, install in system doc/
+ * rculfhash: document implied memory barriers
+ * rculfhash: Ensure future-proof memory barrier semantic consistency
+ * API cleanup: use "uatomic_*" in cmm_smp_mb__ API
+ * uatomic: add memory barrier API for and/or/add/sub/inc/sub
+ * rculfhash: add runhash.sh test script
+ * rculfhash tests: add missing check
+ * rculfhash: fix: race between replace and del operations
+ * rculfhash: replace unneeded rcu_dereference by CMM_LOAD_SHARED
+ * rculfhash: use do {} while (0) for dbg_printf()
+ * rculfhash: cleanup typo
+ * rculfhash: update API comments
+ * rculfhash: update comments in implementation
+ * rculfhash tests: add long hash chains tests
+ * rculfhash tests: add uniqueness test
+ * rculfhash test: print test name
+ * rculfhash: stress requirement in documentation
+ * rculfhash: fix typo
+ * rculfhash tests: use array of callbacks to modularize
+ * rculfhash tests: modularize tests
+ * rculfhash: document ordering guarantees
+ * rculfhash: document linearizability guarantees
+ * rculfhash: update removal comment
+ * Add missing files to .gitignore
+ * Fix out-of-tree build
+ * rculfhash: check malloc NULL pointer
+ * Fix uatomic sign cast
+ * Remove unused jhash.h file
+ * Fix: use known license text, fix incorrect FSF address
+ * Fix: add missing sched.h include in rculfhash.c
+ * Allow tests to run on architectures without per-cpu call_rcu support
+ * Hash table test: FreeBSD compatibility fix
+ * tests: define _GNU_SOURCE instead of __USE_GNU
+ * RCU lock-free hash table: implement cds_lfht_is_node_deleted()
+ * Define _GNU_SOURCE to access CPU_ZERO() macro in uClibc
+ * Install ChangeLog and README into system's doc
+ * Fix AC_LANG_SOURCE usage: only takes one parameter
+ * Fix autoconf futex check
+ * configure.ac: Use AC_LANG_SOURCE for if else macros
+ * Refresh autoconf files
+ * Update gitignore
+ * rculfhash: add comment about hash seed randomness within test program
+ * readme: state correct GCC dependency for ARM
+ * rculfhash: remove an invocation of bit_reverse_ulong() when adding
+ * rculfhash: remove unneeded conversion
+ * rculfhash: remove unneeded clear_flag()
+ * cds_lfht_replace: add checks for old/new node hash/value match
+ * rculfhash: use node instead of iter argument for deletion
+ * rculfhash: number of logically removed nodes should not appear in API
+ * Document that flags could be represented on 2 bits
+ * Add missing REMOVAL_OWNER_FLAG comment to cds_lfht_node comment
+ * _cds_lfht_del is not used for buckets anymore, remove parameter
+ * rculfhash: Relax atomicity guarantees required by removal operation
+ * remove unneeded "return;"
+ * simplify the deletion for bucket node
+ * Remove unneeded code
+ * Cleanup DEFINE_RCU_FLAVOR()
+ * Add cds_lfht_ prefix to fls_ulong, get_count_order_ulong, get_count_order_u32
+ * Merge RCU Lock-Free Resizable Hash Table
+
+2011-12-12 Userspace RCU 0.6.7
+ * Add compat file for test urcu wfs
+ * Add missing compat file for wfq test
+ * hlist.h: Add missing stddef.h include for NULL
+ * call_rcu: Add missing call_rcu_before_fork and
+ call_rcu_after_fork_parent declarations
+ * Describe autotools/libtool/automake version dependency
+ * Remove m4_ifdef for AC_PROG_LIBTOOL (deprecated)
+ * Support older autotools
+ * Apply autoupdate to configure.ac
+ * Fix build for amd64 environment (for FreeBSD 8.2)
+ * Add missing rcu_dereference_sym_bp
+ * Install test scripts in the dist tarball
+
+2011-11-03 Userspace RCU 0.6.6
+ * qsbr vs call_rcu : remove exit assertion
+ * Rename likely/unlikely to caa_likely/caa_unlikely
+ * Reinsert missing test_urcu_*.c files (missing in rename)
+ * rename test_qsbr to test_urcu_qsbr
+ * urcu-pointer: fix rcu_set_pointer unset return value
+ * Enhance API.txt documentation, add to Makefile as EXTRA_DIST
+
+2011-09-29 Userspace RCU 0.6.5
+ * call_rcu: Document call_rcu requirements
+ * call_rcu: fix error handling of malloc error
+ * urcu call_rcu: Use RCU read-side protection for per-cpu call_rcu data
+ * urcu,call_rcu: Cleanup call_rcu_data pointers before use in child
+ * urcu,call_rcu: avoid create call_rcu_data for child when unneed
+ * urcu,defer_rcu: Make defer_rcu encoding more compact for marker
+ * urcu_defer: Use cancellation flag instead of pthread_cancel()
+ * urcu,call_rcu: protects call_rcu_data_list when remove node
+ * Create default call rcu data upon per-cpu call-rcu teardown
+ * powerpc: use __NO_LWSYNC__ check to use appropriate lwsync/sync opcode
+ * cmm: provide lightweight smp_rmb/smp_wmb on PPC
+ * atomic: provide seq_cst semantics on powerpc
+ * avoid leaking crdp for failed path
+ * Return -EEXIST when the old cpu call_rcu_data has not been removed
+ * protect writing to per_cpu_call_rcu_data[*]
+ * wake up default call_rcu thread after we move the leftover callbacks
+ * avoid memory leak in call_rcu_data_free()
+ * urcu call_rcu: fix use after free()
+ * use get_cpu_call_rcu_data() for get_call_rcu_data()
+ * init maxcpus before use
+ * call_rcu implementation: add missing static
+ * Document QSBR interaction with mutexes
+ * urcu-pointer: implement URCU_FORCE_CAST for C++ compatibility of urcu-pointer.h
+ * urcu-qsbr: use rcu_thread_offline/rcu_thread_online instead of inlining them
+ * Pair all_cpu call_rcu create with free
+ * QSBR: add missing wakeups in synchronize_rcu code
+ * cmm: do not generate code for smp_rmb/smp_wmb on x86_64
+ * cmm: let per-arch files provide cmm_smp_* barriers
+ * Optimize caa_get_cycles() for PowerPC64
+ * lfq/lfs tests: use call_rcu
+ * list: Add cds_list_first_entry
+ * rculfstack/queue: define _LGPL_SOURCE around static header include
+ * Add __rcu annotation (unimplemented)
+ * Fix incorrect fsf address in header files
+ * wfstack: push returns prior stack emptiness state
+ * Make lf stack push return if the stack was empty
+ * Document caa_container_of
+ * urcu-bp: do not call munmap for NULL registry at exit
+ * urcu libraries can directly use the _LGPL_SOURCE wfqueue
+ * rculfstack: document "push"
+ * Add runall.sh to tarball
+ * Fix build order of liburcu-cds-common
+ * Fix missing check for SYS_membarrier in map header
+ * urcu-qsbr: avoid useless futex wakeups and burning CPU for long grace periods
+ * api: reimplement BUILD_BUG_ON in compiler.h
+ * test api cleanup: remove unused primitives
+ * put thread offline while waiting for the init flag
+ * urcu: move private definitions to .c file
+ * urcu-bp: move private definitions to .c file
+ * urcu-qsbr: move private definitions to .c file
+ * rcutorture: fix rcutorture-qsbr
+ * wfqueue: fix type-incorrect assignment
+ * Fix tests Makefile EXTRA_DIST to use api.h
+ * Fix choice of default flavour in urcu/map/urcu.h
+ * api: remove list/hlist
+ * api: remove arch-specific files
+ * api: make api_gcc.h a superset of the other headers
+ * tests api: remove atomics
+ * put thread offline while waiting for the init flag
+ * urcu: move private definitions to .c file
+ * urcu-bp: move private definitions to .c file
+ * urcu-qsbr: move private definitions to .c file
+ * rcutorture: fix rcutorture-qsbr
+ * wfqueue: fix type-incorrect assignment
+ * Use caa_ prefix for min() and max()
+
2011-07-21 Userspace RCU 0.6.4
* uatomic: Fix ARM build errors in uatomic.
* urcu tests: hold mutex across use of custom allocator.