+2023-02-14 Userspace RCU 0.14.0
+ * Fix: urcu-bp: only teardown call-rcu worker in destructor
+ * Fix: rculfhash: urcu_die() takes positive error value
+ * Fix: call_rcu: teardown default call_rcu worker on application exit
+ * Fix: join worker thread in call_rcu_data_free
+ * Docs: clarify grace period polling API
+ * Document grace period polling in rcu-api.md
+ * Implement poll rcu stress test in rcutorture
+ * urcu-memb,mb,signal: Implement grace period polling
+ * Fix: auto-resize hash table destroy deadlock
+ * Fix building on MSYS2
+ * rculfhash: Include rculfhash-internal.h from local directory
+ * Remove "Darwin" from "should also work on list"
+ * Merge branch 'adah1972-improve-md'
+ * Add semicolons at the end of function prototypes
+ * Wrap a file name in backticks
+ * Wrap command-line options in backticks
+ * Fix a wrong format
+ * Wrap URLs in angle brackets
+ * Fix Markdown issues
+ * Fix: Always check pthread_create for failures
+ * Disable signals in URCU background threads
+ * Fix: futex.h: include headers outside extern C
+ * Fix: add missing unused attribute to _rcu_dereference
+ * Fix: change method used by _rcu_dereference to strip type constness
+ * Fix: remove type constness in URCU_FORCE_CAST's C++ version
+ * Move extern "C" down in include/urcu/urcu-bp.h
+ * fix: ifdef linux specific cpu count compat
+ * Add unit tests for possible_cpus_array_len
+ * fix: sysconf(_SC_NPROCESSORS_CONF) can be less than max cpu id
+ * Fix: revise obsolete command in README.md
+ * Fix: workqueue: remove unused variable "ret"
+ * Fix: urcu-qsbr: futex wait: handle spurious futex wakeups
+ * Fix: urcu: futex wait: handle spurious futex wakeups
+ * Fix: urcu-wait: futex wait: handle spurious futex wakeups
+ * Fix: defer_rcu: futex wait: handle spurious futex wakeups
+ * Fix: call_rcu: futex wait: handle spurious futex wakeups
+ * Fix: workqueue: futex wait: handle spurious futex wakeups
+ * Fix: Use %lu rather than %ld to print count
+ * Update ABI definition files
+ * Bump version current and age
+ * alpha: allocate membarrier system call number
+ * Bump version to 0.14.0-pre
+ * Improved test framework
+ * rculfhash: introduce cds_lfht_node_init_deleted
+ * Fix: changelog: v0.13.0 was released in 2021
+ * cleanup: i386 arch detection
+ * fix: properly detect 'cmpxchg' on x86-32
+ * fix: use urcu-tls compat with c++ compiler
+ * Fix typo
+ * fix: remove autoconf features default value in help message
+ * fix: add missing pkgconfig file for memb flavour lib
+ * Cleanup: Tests: Remove useless pre-C99 compatibility code from tap.h
+ * Document C99 and C++11 requirement in README.md
+ * Always use '__thread' for Thread local storage except on MSVC
+ * Fix: powerpc32: transparent unions alter calling convention
+ * fix: don't use C++ thread_local on MacOs
+ * wfcqueue API: implement overloaded wrappers with templates
+ * wfcqueue: combine C++ API cds_wfcq_head_cast with overloading
+ * wfstack C++ API: implement overloaded wrappers with templates
+ * lfstack C++ API: implement overloaded wrappers with templates
+ * wfstack: combine C++ API cds_wfs_stack_cast with overloading
+ * lfstack: combine C++ API cds_lfs_stack_cast with overloading
+ * fix: test_build tap plan
+ * Test C++ build of list head init
+ * Fix order of initializers in CDS_LIST_HEAD_INIT
+ * unit tests: test wfcqueue, wfstack, lfstack empty check functions in C++
+ * wfcqueue: implement C++ API based on function overloading
+ * wfstack: implement C++ API based on function overloading
+ * lfstack: implement C++ API based on function overloading
+ * Fix tap.h: remove extra semicolon in pass/fail macros
+ * Add C++ build tests
+ * Build and run regression and unit tests as C++ programs
+ * Add --enable-Werror configure switch
+ * Add `urcu_posix_assert()` as `assert()` replacement
+ * Rename `urcu_assert()` to `urcu_assert_debug()`
+ * cleanup: spelling fixes in comments
+ * Make temporary variable in _rcu_dereference non-const
+ * (tls-ie2) Fix: x86 and s390: uatomic __hp() macro C++ support
+ * Fix: x86 and s390: uatomic __hp() macro clang support
+ * Fix: x86 and s390 uatomic: __hp() macro warning with gcc 11
+
+2021-06-03 Userspace RCU 0.13.0
+ * Document known ABI issue in README.md
+ * Add serialized ABI definition files
+ * bump SONAME major to 8
+ * Remove all SONAME(6) ABI aliases
+ * .gitignore: list ignored Makefiles
+ * tests: Add a simple compile test for caa_get_cycles
+ * fix: clock_gettime on macOs
+ * Fix: rculist header: use parenthesis around macro parameters
+ * Fix: rcuhlist header: use parenthesis around macro parameters
+ * Fix: hlist header: use parenthesis around macro parameters
+ * Fix: list.h: use parenthesis around macro parameters, caa_container_of()
+ * Fix: hlist iteration relies on undefined behavior
+ * Fix: use __atomic_load() rather than atomic load explicit
+ * Fix: use atomic load memory_order_consume for rcu_dereference on C11/C++11
+ * fix: we used weak symbols not weak aliases
+ * fix: include 'sys/endian.h' on FreeBSD
+ * fix: warnings on non-Linux platforms
+ * fix: HAVE_SCHED_SETAFFINITY is not defined
+ * configure: enable extended compiler warnings
+ * cleanup: explicitly mark unused parameters (-Wunused-parameter)
+ * fix: shadowed local variable (-Wshadow)
+ * cleanup: all functions have declarations (-Wmissing-prototypes)
+ * Import libtap from babeltrace
+ * cleanup: add 'noreturn' attribute to '_uatomic_link_error'
+ * fix: add missing 'S' to AC_CHECK_PROGS
+ * README.md: Document supported Glibc version
+ * README: cleanup stale MacOS information
+ * Bump version to 0.13.0-pre
+ * configure: standardise include path
+ * Remove glibc < 2.4 compat code for sched_setaffinity
+ * configure: regroup automake conditionals
+ * Introduce AE_FEATURE to manage configure features
+ * configure: regroup library checks
+ * configure: regroup and expand C header and program checks
+ * configure: regroup and expand C compiler checks
+ * configure: host specific config
+ * tests: Move tap-driver.sh out of the autotools aux directory
+ * configure: Set autotools baseline
+ * configure: centralize version information
+ * fix: exclude clang from GCC version blacklists
+ * aarch64: blacklist gcc prior to 5.1
+ * Fix: configure: support Autoconf 2.70
+ * Don't force a target and optimization level on ARMv7
+ * Use DMB only on ARMv7
+ * Blacklist GCC 4.4.0, 4.4.1 and 4.4.2 on ARM
+ * Cleanup: Move ARM specific code to urcu/arch/arm.h
+ * fix: bump tests thread limit to 4096
+ * fix: reorder x86 arch detection
+ * fix: typo in futex syscall define check
+ * Compile time futex syscall detection
+ * Static arch and uatomic headers
+ * Add git-review config
+ * cleanup: Improve wording of CONFIG_RCU_DEBUG description
+ * fix: explicitly include urcu/config.h in files using CONFIG_RCU_ defines
+ * Fix typo in README.md
+ * fix: add -lurcu-common to pkg-config libs for each flavor
+ * call_rcu: Fix race between rcu_barrier() and call_rcu_data_free()
+ * Cleanup: tls-compat.h: add parentheses around expression (coding style)
+ * Fix: tls-compat.h exposes compiler-dependent public configuration
+ * Fix: tap array subscript has type char warning
+
+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
+