+2020-04-09 Userspace RCU 0.12.0
+ * tls-compat.h: introduce DEFINE_URCU_TLS_INIT
+ * Use _umtx_op for futex on FreeBSD
+ * Add FreeBSD, DragonFly to syscall-compat.h
+ * urcu-bp: perform thread registration on urcu_bp_register_thread
+ * Require automake >= 1.12
+ * cds_lfht_is_node_deleted parameter can be marked const
+ * Fix: provide errno as argument to urcu_die()
+ * Fix: rculfhash worker needs to unblock to SIGRCU
+ * Cleanup: test_perthreadlock_timing: handle pthread mutex errors
+ * Fix: SONAME bump to 6.1.0
+ * Cleanup: remove unused variable from configure.ac check
+ * Fix: urcu/futex.h: users of struct timespec should include time.h
+
+2019-05-06 Userspace RCU 0.11.0
+ * Bump library version to 6:0:1
+ * Cleanup: update code layout to fix old gcc warning
+ * Fix: typo CPPLAGS in examples Makefile
+ * Harmonize pprint macro across projects
+ * Check for TLS support after CC detection
+ * Update macros from the autotools archive
+ * tap-driver.sh: flush stdout after each test result
+ * Update dead link in lgpl-relicensing.txt
+ * Add multiflavor compat identifiers
+ * Cleanup: missing sign compare fixes
+ * Cleanup: enable signed/unsigned compare compiler warning
+ * Cleanup: compiler warning on 32-bit architectures
+ * config.h.in: rename CONFIG_RCU_MULTIFLAVOR to CONFIG_RCU_HAVE_MULTIFLAVOR
+ * rculfhash: implement iterator debugging config option
+ * Fix: examples silent rules on Solaris
+ * Add missing fall through annotations
+ * Fix: symbol aliases with TLS compat
+ * Port: no symbols aliases on MacOS
+ * Add -Wextra to CFLAGS
+ * Add silent mode to examples Makefiles
+ * doc: update examples to API changes
+ * test multiflavor single compile unit
+ * Update README following API changes
+ * Use new header locations for includes from urcu code
+ * Update call-rcu.h and defer.h comments and include guards
+ * rculfqueue.h: do not include urcu-call-rcu.h
+ * rculfhash: support use with multiple flavors per compile unit
+ * rculfhash: do not include urcu-call-rcu.h from public API
+ * Refactor liburcu to support many flavors per compile unit
+ * 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
+ * wfcqueue: allow defining CDS_WFCQ_WAIT_SLEEP to override `poll'
+ * Update documentation for call_rcu before/after fork
+ * Add support for the RISC-V architecture
+ * Tests: Add tap-driver.sh for automake < 1.12
+ * Tests: Replace prove by autotools tap runner
+ * liburcu-bp: Use membarrier private expedited when available
+ * liburcu: Use membarrier private expedited when available
+ * rculfhash: improve error handling of mmap backend
+ * Fix: don't use overlapping mmap mappings on Cygwin
+ * Tests fix: errors in shell scripts
+ * Revert "Use initial-exec tls model"
+ * Use initial-exec tls model
+ * 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
+ * Bump version to 0.11-pre
+
+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