From c6a288a889feaf30685db54f75d0b5fc52c1bd43 Mon Sep 17 00:00:00 2001 From: Ryan Ofsky Date: Thu, 2 Apr 2026 10:04:08 -0400 Subject: [PATCH 1/2] doc: Bump version 9 > 10 Increase version number after previous version was added to bitcoin core. Also update version history and documentation. --- doc/versions.md | 9 ++++++++- include/mp/version.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/versions.md b/doc/versions.md index db5647df..a440fe75 100644 --- a/doc/versions.md +++ b/doc/versions.md @@ -7,9 +7,16 @@ Library versions are tracked with simple Versioning policy is described in the [version.h](../include/mp/version.h) include. -## v9 +## v10 - Current unstable version. +## [v9.0](https://github.com/bitcoin-core/libmultiprocess/commits/v9.0) +- Fixes race conditions where worker thread could be used after destruction, where getParams() could be called after request cancel, and where m_on_cancel could be called after request finishes. +- Adds `CustomHasField` hook to map Cap'n Proto null values to C++ null values. +- Improves `CustomBuildField` for `std::optional` to use move semantics. +- Adds LLVM 22 compatibility fix in type-map. +- Used in Bitcoin Core master branch, pulled in by [#34804](https://github.com/bitcoin/bitcoin/pull/34804). Also pulled into Bitcoin Core 31.x stable branch by [#34952](https://github.com/bitcoin/bitcoin/pull/34952). + ## [v8.0](https://github.com/bitcoin-core/libmultiprocess/commits/v8.0) - Better support for non-libmultiprocess IPC clients: avoiding errors on unclean disconnects, and allowing simultaneous requests to worker threads which previously triggered "thread busy" errors. - Used in Bitcoin Core, pulled in by [#34422](https://github.com/bitcoin/bitcoin/pull/34422). diff --git a/include/mp/version.h b/include/mp/version.h index 5c8753cf..964667a9 100644 --- a/include/mp/version.h +++ b/include/mp/version.h @@ -24,7 +24,7 @@ //! pointing at the prior merge commit. The /doc/versions.md file should also be //! updated, noting any significant or incompatible changes made since the //! previous version. -#define MP_MAJOR_VERSION 9 +#define MP_MAJOR_VERSION 10 //! Minor version number. Should be incremented in stable branches after //! backporting changes. The /doc/versions.md file should also be updated to From 050f878db8f6ab218922423945ba2295dfe56302 Mon Sep 17 00:00:00 2001 From: Ryan Ofsky Date: Thu, 2 Apr 2026 11:02:56 -0400 Subject: [PATCH 2/2] doc: Improve versions.md descriptions and formatting Clarify v7.0-pre1 is minimum required version since Bitcoin Core 30.1, note v7.0 and v8.0 were not used in any release, and remove inconsistent blank lines after section headings. --- doc/versions.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/doc/versions.md b/doc/versions.md index a440fe75..2c2ec50e 100644 --- a/doc/versions.md +++ b/doc/versions.md @@ -19,28 +19,25 @@ include. ## [v8.0](https://github.com/bitcoin-core/libmultiprocess/commits/v8.0) - Better support for non-libmultiprocess IPC clients: avoiding errors on unclean disconnects, and allowing simultaneous requests to worker threads which previously triggered "thread busy" errors. -- Used in Bitcoin Core, pulled in by [#34422](https://github.com/bitcoin/bitcoin/pull/34422). +- Intermediate version used in Bitcoin Core master branch between 30.x and 31.x branches, pulled in by [#34422](https://github.com/bitcoin/bitcoin/pull/34422). ## [v7.0](https://github.com/bitcoin-core/libmultiprocess/commits/v7.0) - Adds SpawnProcess race fix, cmake `target_capnp_sources` option, ci and documentation improvements. Adds `version.h` header declaring major and minor version numbers. -- Used in Bitcoin Core, pulled in by [#34363](https://github.com/bitcoin/bitcoin/pull/34363). +- Intermediate version used in Bitcoin Core master branch between 30.x and 31.x branches, pulled in by [#34363](https://github.com/bitcoin/bitcoin/pull/34363). ## [v7.0-pre2](https://github.com/bitcoin-core/libmultiprocess/commits/v7.0-pre2) - Fixes intermittent mptest hang and makes other minor improvements. - Used in Bitcoin Core 30.1 and 30.2 releases and 30.x branch, pulled in by [#33518](https://github.com/bitcoin/bitcoin/pull/33518) and [#33519](https://github.com/bitcoin/bitcoin/pull/33519). ## [v7.0-pre1](https://github.com/bitcoin-core/libmultiprocess/commits/v7.0-pre1) - - Adds support for log levels to reduce logging and "thread busy" error to avoid a crash on misuse. -- Minimum required version for Bitcoin Core 30.1 and 30.2 releases and 30.x branch, pulled in by [#33412](https://github.com/bitcoin/bitcoin/pull/33412), [#33518](https://github.com/bitcoin/bitcoin/pull/33518), and [#33519](https://github.com/bitcoin/bitcoin/pull/33519). +- Minimum required version since Bitcoin Core 30.1, pulled in by [#33412](https://github.com/bitcoin/bitcoin/pull/33412), [#33518](https://github.com/bitcoin/bitcoin/pull/33518), and [#33519](https://github.com/bitcoin/bitcoin/pull/33519). ## [v6.0](https://github.com/bitcoin-core/libmultiprocess/commits/v6.0) - - Adds CI scripts and build and test fixes. - Used in Bitcoin Core 30.0 release, pulled in by [#32345](https://github.com/bitcoin/bitcoin/pull/32345), [#33241](https://github.com/bitcoin/bitcoin/pull/33241), and [#33322](https://github.com/bitcoin/bitcoin/pull/33322). ## [v6.0-pre1](https://github.com/bitcoin-core/libmultiprocess/commits/v6.0-pre1) - - Adds fixes for unclean shutdowns and thread sanitizer issues. - Drops `EventLoop::addClient` and `EventLoop::removeClient` methods, requiring clients to use new `EventLoopRef` class instead.