Skip to content

Commit 0b76469

Browse files
committed
Merge tag 'v30.0rc2' into libre-relay-v30.0rc2
Bitcoin Core 30.0 release candidate 2 Tree-SHA512: 73d641a5d783511a959e63f240453bb020705cb620b85a5a0968b32b937ac28816ef142f78bdf41976ed1c2bee431def945c5c37da33621031e3198cfdae51f3
2 parents b7879a3 + 72c1f13 commit 0b76469

46 files changed

Lines changed: 644 additions & 234 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/configure-docker/action.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
name: 'Configure Docker'
22
description: 'Set up Docker build driver and configure build cache args'
33
inputs:
4-
use-cirrus:
5-
description: 'Use cirrus cache'
4+
cache-provider:
5+
description: 'gha or cirrus cache provider'
66
required: true
7+
options:
8+
- gh
9+
- cirrus
710
runs:
811
using: 'composite'
912
steps:
@@ -32,7 +35,7 @@ runs:
3235
# which are set automatically when running on GitHub infra: https://docs.docker.com/build/cache/backends/gha/#synopsis
3336
3437
# Use cirrus cache host
35-
if [[ ${{ inputs.use-cirrus }} == 'true' ]]; then
38+
if [[ ${{ inputs.cache-provider }} == 'cirrus' ]]; then
3639
url_args="url=${CIRRUS_CACHE_HOST},url_v2=${CIRRUS_CACHE_HOST}"
3740
else
3841
url_args=""

.github/workflows/ci.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,15 @@ jobs:
3333
name: 'determine runners'
3434
runs-on: ubuntu-latest
3535
outputs:
36-
use-cirrus-runners: ${{ steps.runners.outputs.use-cirrus-runners }}
36+
provider: ${{ steps.runners.outputs.provider }}
3737
steps:
3838
- id: runners
3939
run: |
4040
if [[ "${REPO_USE_CIRRUS_RUNNERS}" == "${{ github.repository }}" ]]; then
41-
echo "use-cirrus-runners=true" >> "$GITHUB_OUTPUT"
41+
echo "provider=cirrus" >> "$GITHUB_OUTPUT"
4242
echo "::notice title=Runner Selection::Using Cirrus Runners"
4343
else
44-
echo "use-cirrus-runners=false" >> "$GITHUB_OUTPUT"
44+
echo "provider=gha" >> "$GITHUB_OUTPUT"
4545
echo "::notice title=Runner Selection::Using GitHub-hosted runners"
4646
fi
4747
@@ -312,7 +312,7 @@ jobs:
312312
windows-cross:
313313
name: 'Linux->Windows cross, no tests'
314314
needs: runners
315-
runs-on: ${{ needs.runners.outputs.use-cirrus-runners == 'true' && 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm' || 'ubuntu-24.04' }}
315+
runs-on: ${{ needs.runners.outputs.provider == 'cirrus' && 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-sm' || 'ubuntu-24.04' }}
316316
if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
317317

318318
env:
@@ -332,7 +332,7 @@ jobs:
332332
- name: Configure Docker
333333
uses: ./.github/actions/configure-docker
334334
with:
335-
use-cirrus: ${{ needs.runners.outputs.use-cirrus-runners }}
335+
cache-provider: ${{ needs.runners.outputs.provider }}
336336

337337
- name: CI script
338338
run: ./ci/test_run_all.sh
@@ -422,7 +422,7 @@ jobs:
422422
ci-matrix:
423423
name: ${{ matrix.name }}
424424
needs: runners
425-
runs-on: ${{ needs.runners.outputs.use-cirrus-runners == 'true' && matrix.cirrus-runner || matrix.fallback-runner }}
425+
runs-on: ${{ needs.runners.outputs.provider == 'cirrus' && matrix.cirrus-runner || matrix.fallback-runner }}
426426
if: ${{ vars.SKIP_BRANCH_PUSH != 'true' || github.event_name == 'pull_request' }}
427427
timeout-minutes: ${{ matrix.timeout-minutes }}
428428

@@ -439,6 +439,7 @@ jobs:
439439
fallback-runner: 'ubuntu-24.04-arm'
440440
timeout-minutes: 120
441441
file-env: './ci/test/00_setup_env_arm.sh'
442+
provider: 'gha'
442443

443444
- name: 'ASan + LSan + UBSan + integer, no depends, USDT'
444445
cirrus-runner: 'ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md' # has to match container in ci/test/00_setup_env_native_asan.sh for tracing tools
@@ -513,7 +514,7 @@ jobs:
513514
- name: Configure Docker
514515
uses: ./.github/actions/configure-docker
515516
with:
516-
use-cirrus: ${{ needs.runners.outputs.use-cirrus-runners }}
517+
cache-provider: ${{ matrix.provider || needs.runners.outputs.provider }}
517518

518519
- name: Enable bpfcc script
519520
if: ${{ env.CONTAINER_NAME == 'ci_native_asan' }}
@@ -550,7 +551,7 @@ jobs:
550551
- name: Configure Docker
551552
uses: ./.github/actions/configure-docker
552553
with:
553-
use-cirrus: ${{ needs.runners.outputs.use-cirrus-runners }}
554+
cache-provider: ${{ needs.runners.outputs.provider }}
554555

555556
- name: CI script
556557
run: |

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ set(CLIENT_NAME "Bitcoin Core")
3030
set(CLIENT_VERSION_MAJOR 30)
3131
set(CLIENT_VERSION_MINOR 0)
3232
set(CLIENT_VERSION_BUILD 0)
33-
set(CLIENT_VERSION_RC 1)
33+
set(CLIENT_VERSION_RC 2)
3434
set(CLIENT_VERSION_IS_RELEASE "true")
3535
set(COPYRIGHT_YEAR "2025")
3636

ci/test/00_setup_env_i686_no_ipc.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export CI_IMAGE_PLATFORM="linux/amd64"
1313
export PACKAGES="llvm clang g++-multilib"
1414
export DEP_OPTS="DEBUG=1 NO_IPC=1"
1515
export GOAL="install"
16+
export CI_LIMIT_STACK_SIZE=1
1617
export TEST_RUNNER_EXTRA="--v2transport --usecli"
1718
export BITCOIN_CONFIG="\
1819
-DCMAKE_BUILD_TYPE=Debug \

ci/test/00_setup_env_native_fuzz_with_msan.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@
77
export LC_ALL=C.UTF-8
88

99
export CI_IMAGE_NAME_TAG="mirror.gcr.io/ubuntu:24.04"
10+
export APT_LLVM_V="21"
1011
LIBCXX_DIR="/cxx_build/"
1112
export MSAN_FLAGS="-fsanitize=memory -fsanitize-memory-track-origins=2 -fno-omit-frame-pointer -g -O1 -fno-optimize-sibling-calls"
12-
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument"
13+
# -lstdc++ to resolve link issues due to upstream packaging
14+
LIBCXX_FLAGS="-nostdinc++ -nostdlib++ -isystem ${LIBCXX_DIR}include/c++/v1 -L${LIBCXX_DIR}lib -Wl,-rpath,${LIBCXX_DIR}lib -lc++ -lc++abi -lpthread -Wno-unused-command-line-argument -lstdc++"
1315
export MSAN_AND_LIBCXX_FLAGS="${MSAN_FLAGS} ${LIBCXX_FLAGS}"
1416

1517
export CONTAINER_NAME="ci_native_fuzz_msan"
18+
export PACKAGES="clang-${APT_LLVM_V} llvm-${APT_LLVM_V} llvm-${APT_LLVM_V}-dev libclang-${APT_LLVM_V}-dev libclang-rt-${APT_LLVM_V}-dev"
1619
export DEP_OPTS="DEBUG=1 NO_QT=1 CC=clang CXX=clang++ CFLAGS='${MSAN_FLAGS}' CXXFLAGS='${MSAN_AND_LIBCXX_FLAGS}'"
1720
export GOAL="all"
1821
# Setting CMAKE_{C,CXX}_FLAGS_DEBUG flags to an empty string ensures that the flags set in MSAN_FLAGS remain unaltered.

ci/test/01_base_install.sh

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,25 +56,7 @@ if [ -n "$PIP_PACKAGES" ]; then
5656
fi
5757

5858
if [[ -n "${USE_INSTRUMENTED_LIBCPP}" ]]; then
59-
if [ -n "${APT_LLVM_V}" ]; then
60-
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-$( clang --version | sed --silent 's@.*clang version \([0-9.]*\).*@\1@p' )" /llvm-project
61-
else
62-
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-21.1.0" /llvm-project
63-
64-
cmake -G Ninja -B /clang_build/ \
65-
-DLLVM_ENABLE_PROJECTS="clang" \
66-
-DCMAKE_BUILD_TYPE=Release \
67-
-DLLVM_TARGETS_TO_BUILD=Native \
68-
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
69-
-S /llvm-project/llvm
70-
71-
ninja -C /clang_build/ "$MAKEJOBS"
72-
ninja -C /clang_build/ install-runtimes
73-
74-
update-alternatives --install /usr/bin/clang++ clang++ /clang_build/bin/clang++ 100
75-
update-alternatives --install /usr/bin/clang clang /clang_build/bin/clang 100
76-
update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /clang_build/bin/llvm-symbolizer 100
77-
fi
59+
${CI_RETRY_EXE} git clone --depth=1 https://github.com/llvm/llvm-project -b "llvmorg-21.1.1" /llvm-project
7860

7961
cmake -G Ninja -B /cxx_build/ \
8062
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" \

cmake/module/FindUSDT.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ if(USDT_INCLUDE_DIR)
3636
include(CheckCXXSourceCompiles)
3737
set(CMAKE_REQUIRED_INCLUDES ${USDT_INCLUDE_DIR})
3838
check_cxx_source_compiles("
39+
#if defined(__arm__)
40+
# define STAP_SDT_ARG_CONSTRAINT g
41+
#endif
42+
3943
// Setting SDT_USE_VARIADIC lets systemtap (sys/sdt.h) know that we want to use
4044
// the optional variadic macros to define tracepoints.
4145
#define SDT_USE_VARIADIC 1

cmake/secp256k1.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# Distributed under the MIT software license, see the accompanying
33
# file COPYING or https://opensource.org/license/mit/.
44

5+
enable_language(C)
6+
57
function(add_secp256k1 subdir)
68
message("")
79
message("Configuring secp256k1 subtree...")
@@ -30,7 +32,6 @@ function(add_secp256k1 subdir)
3032
string(STRIP "${SECP256K1_APPEND_LDFLAGS} ${APPEND_LDFLAGS}" SECP256K1_APPEND_LDFLAGS)
3133
set(SECP256K1_APPEND_LDFLAGS ${SECP256K1_APPEND_LDFLAGS} CACHE STRING "" FORCE)
3234
# We want to build libsecp256k1 with the most tested RelWithDebInfo configuration.
33-
enable_language(C)
3435
foreach(config IN LISTS CMAKE_BUILD_TYPE CMAKE_CONFIGURATION_TYPES)
3536
if(config STREQUAL "")
3637
continue()

doc/design/libraries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
| *libbitcoin_crypto* | Hardware-optimized functions for data encryption, hashing, message authentication, and key derivation. |
99
| *libbitcoin_kernel* | Consensus engine and support library used for validation by *libbitcoin_node*. |
1010
| *libbitcoinqt* | GUI functionality used by *bitcoin-qt* and *bitcoin-gui* executables. |
11-
| *libbitcoin_ipc* | IPC functionality used by *bitcoin-node*, *bitcoin-wallet*, *bitcoin-gui* executables to communicate when [`-DENABLE_IPC=ON`](multiprocess.md) is used. |
11+
| *libbitcoin_ipc* | IPC functionality used by *bitcoin-node* and *bitcoin-gui* executables to communicate when [`-DENABLE_IPC=ON`](multiprocess.md) is used. |
1212
| *libbitcoin_node* | P2P and RPC server functionality used by *bitcoind* and *bitcoin-qt* executables. |
1313
| *libbitcoin_util* | Home for common functionality shared by different executables and libraries. Similar to *libbitcoin_common*, but lower-level (see [Dependencies](#dependencies)). |
1414
| *libbitcoin_wallet* | Wallet functionality used by *bitcoind* and *bitcoin-wallet* executables. |

doc/man/bitcoin-cli.1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2-
.TH BITCOIN-CLI "1" "September 2025" "bitcoin-cli v30.0.0rc1" "User Commands"
2+
.TH BITCOIN-CLI "1" "September 2025" "bitcoin-cli v30.0.0rc2" "User Commands"
33
.SH NAME
4-
bitcoin-cli \- manual page for bitcoin-cli v30.0.0rc1
4+
bitcoin-cli \- manual page for bitcoin-cli v30.0.0rc2
55
.SH SYNOPSIS
66
.B bitcoin-cli
77
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR]
@@ -15,7 +15,7 @@ bitcoin-cli \- manual page for bitcoin-cli v30.0.0rc1
1515
.B bitcoin-cli
1616
[\fI\,options\/\fR] \fI\,help <command>\/\fR
1717
.SH DESCRIPTION
18-
Bitcoin Core RPC client version v30.0.0rc1
18+
Bitcoin Core RPC client version v30.0.0rc2
1919
.PP
2020
The bitcoin\-cli utility provides a command line interface to interact with a Bitcoin Core RPC server.
2121
.PP

0 commit comments

Comments
 (0)