+2015-09-09 Userspace RCU 0.7.15
+ * Disable sys_membarrier
+ * uatomic: Specify complete types for atomic function calls
+ * Fix: handle sys_futex() FUTEX_WAIT interrupted by signal
+ * Fix: compat_futex.c: *uaddr should be read as volatile
+ * Fix: call_rcu_thread() affinity failure
+ * urcu: fix deprecation warning with new glibc
+
+2015-04-28 Userspace RCU 0.7.14
+ * Fix: call rcu should call internal RCU API
+ * Fix: deadlock when thread join is issued in read-side C.S.
+ * Fix: rename RCU_DEBUG to DEBUG_RCU in urcu-qsbr.h
+ * Mark braced-groups within expressions with __extension__
+ * Fix: compat_futex_noasync race condition
+ * Fix: documentation: urcu-pointer.h: s/rcu_dereference_pointer/rcu_dereference/
+ * Fix: silence gcc -Wextra warning
+
+2014-10-21 Userspace RCU 0.7.13
+ * 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
+ * call_rcu threads should clear their PAUSED flag when they unpause
+ * Fix: bring back dummy rcu_bp_exit symbol
+
+2014-03-08 Userspace RCU 0.7.12
+ * Fix: move wait loop increment before first conditional block
+
+2014-03-01 Userspace RCU 0.7.11
+ * Fix: high cpu usage in synchronize_rcu with long RCU read-side C.S.
+
+2014-02-28 Userspace RCU 0.7.10
+ * Fix: urcu-bp interaction with threads vs constructors/destructors
+ * Fix undefined NULL pointer arithmetic
+ * Blacklist ARM gcc 4.8.0, 4.8.1, 4.8.2
+ * rculfhash: document max_nr_buckets = 0
+
+2013-11-12 Userspace RCU 0.7.9
+ * tls-compat: fix comment typo
+ * Keep ABI compatible with already compiled LGPL applications
+ * Fix: tls-compat multi-lib conflict
+ * 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.7.8
+ * Fix: hash table growth (for small tables) should be limited
+ * Document build work-around on MacOS X
+ * Fix tests: use of uninitialized variables
+ * tests: add missing unsigned long casts to pthread_self()
+
+2013-06-18 Userspace RCU 0.7.7
+ * rculfhash: document destroy context limitation
+ * Fix: Use a filled signal mask to disable all signals
+ * Document: rculfhash destroy and resize side-effect in 0.7
+ * Add "sparc" host cpu to configure.ac
+ * 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
+ * uatomic: style fix
+
+2013-01-09 Userspace RCU 0.7.6
+ * Discourage use of pthread_atfork() for call_rcu handlers
+ * Fix call_rcu fork handling
+ * test: fork handling
+ * 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
+
+2012-10-12 Userspace RCU 0.7.5
+ * 19cf3ae Fix: call_rcu list corruption on teardown
+ * 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.
+ * Portability fixes to support FreeBSD 8.2.
+