Skip to content

Commit 6d7a1e3

Browse files
committed
Merge bitcoin#29899: [26.x] archive 26.1 release notes + backports
aa7e876 [doc] add draft release notes for 26.2rc1 (glozow) 21d9aaa p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo() (Jon Atack) ec5ce2f windeploy: Renew certificate (Ava Chow) 96d0e81 rpc: Reword SighashFromStr error message (MarcoFalke) 6685aff rpc: move UniValue in blockToJSON (willcl-ark) 7f45e00 depends: Fix build of Qt for 32-bit platforms (laanwj) f9b76ba ci: Pull in qtbase5-dev instead of seperate low-level libraries (laanwj) c587753 doc: Suggest installing dev packages for debian/ubuntu qt5 build (laanwj) 7ecdb08 ci: Bump s390x to ubuntu:24.04 (MarcoFalke) d9ef6cf sign: don't assume we are parsing a sane Miniscript (Antoine Poinsot) e4859c8 depends: fix mingw-w64 Qt DEBUG=1 build (fanquake) bb46b90 Fix bitcoin#29767, set m_synced = true after Commit() (nanlour) bf5b6fc Throw error if invalid parameters passed to getnetworkhashps RPC endpoint (Jameson Lopp) a81a922 [rpc, bugfix] Enforce maximum value for setmocktime (dergoegge) d39ea51 Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us (Luke Dashjr) c21bbcc [doc] archive 26.1 release notes (glozow) Pull request description: Archives 26.1 release notes and adds draft release notes for 26.2rc1 Also backports: - bitcoin#29691 - bitcoin#29869 - bitcoin#28554 - bitcoin#29747 - bitcoin#29853 - bitcoin#29856 - bitcoin#29764 - bitcoin#29776 - bitcoin#29985 - bitcoin#30094 - bitcoin#29870 - bitcoin#30149 - bitcoin#30085 ACKs for top commit: stickies-v: re-ACK aa7e876, only changes are fixing commit msg and transifex reference willcl-ark: ACK aa7e876 Tree-SHA512: b81ba6092640de696d782114cdf43e7ed1d63ea0a3231cade30653c2743d87700e0f852a1b1fcc42ae313b2d4f004e6026ddbad87d58c2fde0a660e90026ed98
2 parents 0b4aa31 + aa7e876 commit 6d7a1e3

23 files changed

+276
-91
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
echo "TEST_BASE=$(git rev-list -n$((${{ env.MAX_COUNT }} + 1)) --reverse HEAD ^$(git rev-list -n1 --merges HEAD)^@ | head -1)" >> "$GITHUB_ENV"
6363
- run: |
6464
sudo apt-get update
65-
sudo apt-get install clang ccache build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libminiupnpc-dev libnatpmp-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y
65+
sudo apt-get install clang ccache build-essential libtool autotools-dev automake pkg-config bsdmainutils python3-zmq libevent-dev libboost-dev libsqlite3-dev libdb++-dev systemtap-sdt-dev libminiupnpc-dev libnatpmp-dev qtbase5-dev qttools5-dev qttools5-dev-tools qtwayland5 libqrencode-dev -y
6666
- name: Compile and run tests
6767
run: |
6868
# Run tests on commits after the last merge commit and before the PR head commit

ci/test/00_setup_env_native_tidy.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
99
export CI_IMAGE_NAME_TAG="docker.io/ubuntu:24.04"
1010
export CONTAINER_NAME=ci_native_tidy
1111
export TIDY_LLVM_V="17"
12-
export PACKAGES="clang-${TIDY_LLVM_V} libclang-${TIDY_LLVM_V}-dev llvm-${TIDY_LLVM_V}-dev libomp-${TIDY_LLVM_V}-dev clang-tidy-${TIDY_LLVM_V} jq bear cmake libevent-dev libboost-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev systemtap-sdt-dev libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libqrencode-dev libsqlite3-dev libdb++-dev"
12+
export PACKAGES="clang-${TIDY_LLVM_V} libclang-${TIDY_LLVM_V}-dev llvm-${TIDY_LLVM_V}-dev libomp-${TIDY_LLVM_V}-dev clang-tidy-${TIDY_LLVM_V} jq bear cmake libevent-dev libboost-dev libminiupnpc-dev libnatpmp-dev libzmq3-dev systemtap-sdt-dev qtbase5-dev qttools5-dev qttools5-dev-tools libqrencode-dev libsqlite3-dev libdb++-dev"
1313
export NO_DEPENDS=1
1414
export RUN_UNIT_TESTS=false
1515
export RUN_FUNCTIONAL_TESTS=false

ci/test/00_setup_env_s390x.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ export LC_ALL=C.UTF-8
99
export HOST=s390x-linux-gnu
1010
export PACKAGES="python3-zmq"
1111
export CONTAINER_NAME=ci_s390x
12-
export CI_IMAGE_NAME_TAG="docker.io/s390x/debian:bookworm"
13-
export TEST_RUNNER_EXTRA="--exclude feature_init,rpc_bind,feature_bind_extra" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
12+
export CI_IMAGE_NAME_TAG="docker.io/s390x/ubuntu:24.04"
13+
export TEST_RUNNER_EXTRA="--exclude rpc_bind,feature_bind_extra" # Excluded for now, see https://github.com/bitcoin/bitcoin/issues/17765#issuecomment-602068547
1414
export RUN_FUNCTIONAL_TESTS=true
1515
export GOAL="install"
1616
export BITCOIN_CONFIG="--enable-reduce-exports"

contrib/windeploy/win-codesign.cert

+22-22
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
-----BEGIN CERTIFICATE-----
2-
MIIHfDCCBWSgAwIBAgIQCmVvdQal72U2QxbUTT3SRTANBgkqhkiG9w0BAQsFADBp
2+
MIIHeTCCBWGgAwIBAgIQBzR46J2yq3g++NbQS/BBVDANBgkqhkiG9w0BAQsFADBp
33
MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
44
OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0
5-
IDIwMjEgQ0ExMB4XDTIyMDUyNDAwMDAwMFoXDTI0MDUyOTIzNTk1OVowgYAxCzAJ
5+
IDIwMjEgQ0ExMB4XDTI0MDUyMjAwMDAwMFoXDTI3MDUzMTIzNTk1OVowgYAxCzAJ
66
BgNVBAYTAlVTMREwDwYDVQQIEwhEZWxhd2FyZTEOMAwGA1UEBxMFTGV3ZXMxJjAk
77
BgNVBAoTHUJpdGNvaW4gQ29yZSBDb2RlIFNpZ25pbmcgTExDMSYwJAYDVQQDEx1C
88
aXRjb2luIENvcmUgQ29kZSBTaWduaW5nIExMQzCCAiIwDQYJKoZIhvcNAQEBBQAD
@@ -17,28 +17,28 @@ CDvScIgnQXmk+cbKMBtg9kM0F+aLWsN2xVf0uAj3U7sdXLrfJeW0DZIktWtTBQzX
1717
O/OE4Ka+1WFnDg0HJIih0cTjl9YYvfe53L4pCGy+qGt/XGBRqCMfXp3g+H9FGR5r
1818
pensVVcsrv3GbTfYdlpdmp9OHH5G57GTAZueobCZg7r7RKK0zPU9EiTLJxzyXuai
1919
v/Ksd8eIhHRjewMaQuAtQM1tO+oKAbLF0v2M7v7/aVT76X32JllYAizm3zjvAgMB
20-
AAGjggIGMIICAjAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNV
21-
HQ4EFgQUvCpU58PIuofv0kHJ3Ty0YDKEy3cwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud
22-
JQQMMAoGCCsGAQUFBwMDMIG1BgNVHR8Ega0wgaowU6BRoE+GTWh0dHA6Ly9jcmwz
23-
LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5
24-
NlNIQTM4NDIwMjFDQTEuY3JsMFOgUaBPhk1odHRwOi8vY3JsNC5kaWdpY2VydC5j
25-
b20vRGlnaUNlcnRUcnVzdGVkRzRDb2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIx
26-
Q0ExLmNybDA+BgNVHSAENzA1MDMGBmeBDAEEATApMCcGCCsGAQUFBwIBFhtodHRw
27-
Oi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsG
20+
AAGjggIDMIIB/zAfBgNVHSMEGDAWgBRoN+Drtjv4XxGG+/5hewiIZfROQjAdBgNV
21+
HQ4EFgQUvCpU58PIuofv0kHJ3Ty0YDKEy3cwPgYDVR0gBDcwNTAzBgZngQwBBAEw
22+
KTAnBggrBgEFBQcCARYbaHR0cDovL3d3dy5kaWdpY2VydC5jb20vQ1BTMA4GA1Ud
23+
DwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzCBtQYDVR0fBIGtMIGqMFOg
24+
UaBPhk1odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRUcnVzdGVkRzRD
25+
b2RlU2lnbmluZ1JTQTQwOTZTSEEzODQyMDIxQ0ExLmNybDBToFGgT4ZNaHR0cDov
26+
L2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNpZ25pbmdS
27+
U0E0MDk2U0hBMzg0MjAyMUNBMS5jcmwwgZQGCCsGAQUFBwEBBIGHMIGEMCQGCCsG
2828
AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wXAYIKwYBBQUHMAKGUGh0
2929
dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVT
30-
aWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAwGA1UdEwEB/wQCMAAwDQYJ
31-
KoZIhvcNAQELBQADggIBABhpTZufRws1vrtI0xB1/UWrSEJxdPHivfpXE708dzum
32-
Jh3TFzpsEUCQX5BJJet1l7x92sKNeAL7votA+8O8YvMD64Kim7VKA2BB8AOHKQbp
33-
r1c2iZBwwofInviRYvsrvQta6KBy2KOe1L/l0KnpUazL9Tv4VKvuWAw/Qc0/eTQr
34-
NZRsmADORxnZ1qW+SpF+/WbazIYjod/Oqb1U3on+PzyiGD3SjzNhsdFRptqzrIaY
35-
UVV+2XHG4fN6A8wkyQL5NIVXGiK7rqS5VrRAv58Lf1ZZTghdAL+5SySE0OsR9t0K
36-
W73ZB9pxbuZZ6Zfxjotjw+IilCEm3ADbc7Eb2ijI4x8mix0XWMUrhL34s7/jRyDi
37-
P+30aSgjWp611tp/EYRW5kpIaFR8AesDdM0DSSCCRXOMwQG2Tq2+CnqItB5oLNPp
38-
2XySwlIWvmjbzsREfIpE3yh3bxmHY+vFIc2R0nNkbWNIT6AGtaEQ7oWkgpK8YMkA
39-
QCf4EUC4Qa7qHiH6YSmYJhjApBLC7UDwevgwxuDrwimWAj+tDkzdnENMcBp4SAy6
40-
LwUuDi2IU6HRSXWdh2YEkDbc3FdwknnnEWaB4dlRL85YjHyLXN0KiE7SKTj1LfR4
41-
dGeDqVUlDj9D5+X4a7F89wLP/um40/52HUQv5t5WcNr/47r9aVkx9DHs1b8oUnLg
30+
aWduaW5nUlNBNDA5NlNIQTM4NDIwMjFDQTEuY3J0MAkGA1UdEwQCMAAwDQYJKoZI
31+
hvcNAQELBQADggIBADdniG9IY9oOfw1e3+uc2lR4hoZqquJQRrCnbWJ1npnCTavI
32+
CfcEEMuQ5ztg4TR7tQNj2KcaHWKuPYxEz2bg8HpSPG27lnXaz4pLgfqvjdZWNH2v
33+
W6DGRUAwuMQHSV0qhuRcJPZuhwSFx/8y4r++jIcBxCbt/Jprt/bqc8vZZZzTDPfG
34+
M6cGaKMDvF//OkUPVzh4s557kV7+LoaX8CigiACZky3Zj3tkQfJYkEvdQseNvX49
35+
CMJ+cjN+fGweshbn/DszAT5oXW5l2PXeceyGrE+5Ex1ELXCPqNj8ZSn+S9IKZOag
36+
zDFBA93RTVD438peXPz//xgusgnmSqSPS5tCp9KSvew81acu4v/+egg9EgSSx5Ho
37+
9fkOX7JuygvN3r3UZqsddxdwf2dPvBDYlMdieF8qsR7H5DQPQoaTVrIhW4TFtJl/
38+
UPjVlnDwu+yvMC70F+CaVgQs01uZ0VKuG3KNkkEj6+V/SM54NVVgcY/Q7llKIFA8
39+
Qk8Ip8/83cVBptKW+OU+i2ZwoYskLbdfDE31X2knUIouNZgBBMhzc5WjJCEGXAPm
40+
9xYZMn87cc+ejxCw6/WC4b6tDCziO8drq76Pl6LTNPOtRkEVqt12p8Uqi9PgznUB
41+
bdHeoF5XHt1Ca2ySpSYuMz5djwIC2ws8kiMm44/AyTm6dwRcesiOTqnaRc+t
4242
-----END CERTIFICATE-----
4343
-----BEGIN CERTIFICATE-----
4444
MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu2TANBgkqhkiG9w0BAQwFADBi

depends/packages/qt.mk

+3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ $(package)_patches += guix_cross_lib_path.patch
2323
$(package)_patches += fix-macos-linker.patch
2424
$(package)_patches += memory_resource.patch
2525
$(package)_patches += windows_lto.patch
26+
$(package)_patches += zlib-timebits64.patch
2627

2728
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
2829
$(package)_qttranslations_sha256_hash=38b942bc7e62794dd072945c8a92bb9dfffed24070aea300327a3bb42f855609
@@ -180,6 +181,7 @@ $(package)_config_opts_mingw32 += -xplatform win32-g++
180181
$(package)_config_opts_mingw32 += "QMAKE_CFLAGS = '$($(package)_cflags) $($(package)_cppflags)'"
181182
$(package)_config_opts_mingw32 += "QMAKE_CXX = '$($(package)_cxx)'"
182183
$(package)_config_opts_mingw32 += "QMAKE_CXXFLAGS = '$($(package)_cxxflags) $($(package)_cppflags)'"
184+
$(package)_config_opts_mingw32 += "QMAKE_LINK = '$($(package)_cxx)'"
183185
$(package)_config_opts_mingw32 += "QMAKE_LFLAGS = '$($(package)_ldflags)'"
184186
$(package)_config_opts_mingw32 += "QMAKE_LIB = '$($(package)_ar) rc'"
185187
$(package)_config_opts_mingw32 += -device-option CROSS_COMPILE="$(host)-"
@@ -255,6 +257,7 @@ define $(package)_preprocess_cmds
255257
patch -p1 -i $($(package)_patch_dir)/fast_fixed_dtoa_no_optimize.patch && \
256258
patch -p1 -i $($(package)_patch_dir)/guix_cross_lib_path.patch && \
257259
patch -p1 -i $($(package)_patch_dir)/windows_lto.patch && \
260+
patch -p1 -i $($(package)_patch_dir)/zlib-timebits64.patch && \
258261
mkdir -p qtbase/mkspecs/macx-clang-linux &&\
259262
cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\
260263
cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \
+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
From a566e156b3fa07b566ddbf6801b517a9dba04fa3 Mon Sep 17 00:00:00 2001
2+
From: Mark Adler <[email protected]>
3+
Date: Sat, 29 Jul 2023 22:13:09 -0700
4+
Subject: [PATCH] Avoid compiler complaints if _TIME_BITS defined when building
5+
zlib.
6+
7+
zlib does not use time_t, so _TIME_BITS is irrelevant. However it
8+
may be defined anyway as part of a sledgehammer indiscriminately
9+
applied to all builds.
10+
11+
From https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3.patch
12+
---
13+
qtbase/src/3rdparty/zlib/src/gzguts.h | 5 ++---
14+
1 file changed, 2 insertions(+), 3 deletions(-)
15+
16+
diff --git a/qtbase/src/3rdparty/zlib/src/gzguts.h b/qtbase/src/3rdparty/zlib/src/gzguts.h
17+
index e23f831f5..f9375047e 100644
18+
--- a/qtbase/src/3rdparty/zlib/src/gzguts.h
19+
+++ b/qtbase/src/3rdparty/zlib/src/gzguts.h
20+
@@ -26,9 +26,8 @@
21+
# ifndef _LARGEFILE_SOURCE
22+
# define _LARGEFILE_SOURCE 1
23+
# endif
24+
-# ifdef _FILE_OFFSET_BITS
25+
-# undef _FILE_OFFSET_BITS
26+
-# endif
27+
+# undef _FILE_OFFSET_BITS
28+
+# undef _TIME_BITS
29+
#endif
30+
31+
#ifdef HAVE_HIDDEN

doc/build-unix.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ To build without GUI pass `--without-gui`.
8181

8282
To build with Qt 5 you need the following:
8383

84-
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools
84+
sudo apt-get install qtbase5-dev qttools5-dev qttools5-dev-tools
8585

8686
Additionally, to support Wayland protocol for modern desktop environments:
8787

doc/release-notes.md

+29-44
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
26.1 Release Notes
1+
26.2rc1 Release Notes
22
==================
33

4-
Bitcoin Core version 26.1 is now available from:
4+
Bitcoin Core version 26.2rc1 is now available from:
55

6-
<https://bitcoincore.org/bin/bitcoin-core-26.1/>
6+
<https://bitcoincore.org/bin/bitcoin-core-26.2/test.rc1/>
77

8-
This release includes various bug fixes and performance
8+
This release includes new features, various bug fixes and performance
99
improvements, as well as updated translations.
1010

1111
Please report bugs using the issue tracker at GitHub:
@@ -40,66 +40,51 @@ unsupported systems.
4040
Notable changes
4141
===============
4242

43-
### Wallet
43+
### Script
4444

45-
- #28994 wallet: skip BnB when SFFO is enabled
46-
- #28920 wallet: birth time update during tx scanning
47-
- #29176 wallet: Fix use-after-free in WalletBatch::EraseRecords
48-
- #29510 wallet: getrawchangeaddress and getnewaddress failures should not affect keypools for descriptor wallets
49-
50-
### RPC
51-
52-
- #29003 rpc: fix getrawtransaction segfault
53-
- #28784 rpc: keep .cookie file if it was not generated
54-
55-
### Logs
56-
57-
- #29227 log mempool loading progress
45+
- #29853: sign: don't assume we are parsing a sane TapMiniscript
5846

5947
### P2P and network changes
6048

61-
- #29200 net: create I2P sessions using both ECIES-X25519 and ElGamal encryption
62-
- #29412 p2p: Don't process mutated blocks
63-
- #29524 p2p: Don't consider blocks mutated if they don't connect to known prev block
49+
- #29691: Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us
50+
- #30085: p2p: detect addnode cjdns peers in GetAddedNodeInfo()
6451

65-
### Build
52+
### RPC
6653

67-
- #29127 Use hardened runtime on macOS release builds.
68-
- #29195 build: Fix -Xclang -internal-isystem option
54+
- #29869: rpc, bugfix: Enforce maximum value for setmocktime
55+
- #28554: bugfix: throw an error if an invalid parameter is passed to getnetworkhashps RPC
56+
- #30094: rpc: move UniValue in blockToJSON
57+
- #29870: rpc: Reword SighashFromStr error message
6958

70-
### CI
59+
### Build
7160

72-
- #28992 ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz
73-
- #29080 ci: Set HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK to avoid unrelated failures
74-
- #29610 ci: Fix "macOS native" job
61+
- #29747: depends: fix mingw-w64 Qt DEBUG=1 build
62+
- #29985: depends: Fix build of Qt for 32-bit platforms with recent glibc
7563

76-
### Miscellaneous
64+
### Misc
7765

78-
- #28391 refactor: Simplify CTxMempool/BlockAssembler fields, remove some external mapTx access
79-
- #29179 test: wallet rescan with reorged parent + IsFromMe child in mempool
80-
- #28791 snapshots: don't core dump when running -checkblockindex after loadtxoutset
81-
- #29357 test: Drop x modifier in fsbridge::fopen call for MinGW builds
82-
- #29529 fuzz: restrict fopencookie usage to Linux & FreeBSD
66+
- #29776: ThreadSanitizer: Fix #29767
67+
- #29856: ci: Bump s390x to ubuntu:24.04
68+
- #29764: doc: Suggest installing dev packages for debian/ubuntu qt5 build
69+
- #30149: contrib: Renew Windows code signing certificate
8370

8471
Credits
8572
=======
8673

8774
Thanks to everyone who directly contributed to this release:
8875

76+
- Antoine Poinsot
77+
- Ava Chow
8978
- dergoegge
9079
- fanquake
91-
- furszy
9280
- glozow
93-
- Greg Sanders
94-
- Hennadii Stepanov
95-
- Jon Atack
81+
- Jameson Lopp
82+
- jonatack
83+
- laanwj
84+
- Luke Dashjr
9685
- MarcoFalke
97-
- Mark Friedenbach
98-
- Martin Zumsande
99-
- Murch
100-
- Roman Zeyde
101-
- stickies-v
102-
- UdjinM6
86+
- nanlour
87+
- willcl-ark
10388

10489
As well as to everyone that helped with translations on
10590
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
+105
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
26.1 Release Notes
2+
==================
3+
4+
Bitcoin Core version 26.1 is now available from:
5+
6+
<https://bitcoincore.org/bin/bitcoin-core-26.1/>
7+
8+
This release includes various bug fixes and performance
9+
improvements, as well as updated translations.
10+
11+
Please report bugs using the issue tracker at GitHub:
12+
13+
<https://github.com/bitcoin/bitcoin/issues>
14+
15+
To receive security and update notifications, please subscribe to:
16+
17+
<https://bitcoincore.org/en/list/announcements/join/>
18+
19+
How to Upgrade
20+
==============
21+
22+
If you are running an older version, shut it down. Wait until it has completely
23+
shut down (which might take a few minutes in some cases), then run the
24+
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on macOS)
25+
or `bitcoind`/`bitcoin-qt` (on Linux).
26+
27+
Upgrading directly from a version of Bitcoin Core that has reached its EOL is
28+
possible, but it might take some time if the data directory needs to be migrated. Old
29+
wallet versions of Bitcoin Core are generally supported.
30+
31+
Compatibility
32+
==============
33+
34+
Bitcoin Core is supported and extensively tested on operating systems
35+
using the Linux kernel, macOS 11.0+, and Windows 7 and newer. Bitcoin
36+
Core should also work on most other Unix-like systems but is not as
37+
frequently tested on them. It is not recommended to use Bitcoin Core on
38+
unsupported systems.
39+
40+
Notable changes
41+
===============
42+
43+
### Wallet
44+
45+
- #28994 wallet: skip BnB when SFFO is enabled
46+
- #28920 wallet: birth time update during tx scanning
47+
- #29176 wallet: Fix use-after-free in WalletBatch::EraseRecords
48+
- #29510 wallet: getrawchangeaddress and getnewaddress failures should not affect keypools for descriptor wallets
49+
50+
### RPC
51+
52+
- #29003 rpc: fix getrawtransaction segfault
53+
- #28784 rpc: keep .cookie file if it was not generated
54+
55+
### Logs
56+
57+
- #29227 log mempool loading progress
58+
59+
### P2P and network changes
60+
61+
- #29200 net: create I2P sessions using both ECIES-X25519 and ElGamal encryption
62+
- #29412 p2p: Don't process mutated blocks
63+
- #29524 p2p: Don't consider blocks mutated if they don't connect to known prev block
64+
65+
### Build
66+
67+
- #29127 Use hardened runtime on macOS release builds.
68+
- #29195 build: Fix -Xclang -internal-isystem option
69+
70+
### CI
71+
72+
- #28992 ci: Use Ubuntu 24.04 Noble for asan,tsan,tidy,fuzz
73+
- #29080 ci: Set HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK to avoid unrelated failures
74+
- #29610 ci: Fix "macOS native" job
75+
76+
### Miscellaneous
77+
78+
- #28391 refactor: Simplify CTxMempool/BlockAssembler fields, remove some external mapTx access
79+
- #29179 test: wallet rescan with reorged parent + IsFromMe child in mempool
80+
- #28791 snapshots: don't core dump when running -checkblockindex after loadtxoutset
81+
- #29357 test: Drop x modifier in fsbridge::fopen call for MinGW builds
82+
- #29529 fuzz: restrict fopencookie usage to Linux & FreeBSD
83+
84+
Credits
85+
=======
86+
87+
Thanks to everyone who directly contributed to this release:
88+
89+
- dergoegge
90+
- fanquake
91+
- furszy
92+
- glozow
93+
- Greg Sanders
94+
- Hennadii Stepanov
95+
- Jon Atack
96+
- MarcoFalke
97+
- Mark Friedenbach
98+
- Martin Zumsande
99+
- Murch
100+
- Roman Zeyde
101+
- stickies-v
102+
- UdjinM6
103+
104+
As well as to everyone that helped with translations on
105+
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).

src/core_read.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,6 @@ util::Result<int> SighashFromStr(const std::string& sighash)
257257
if (it != map_sighash_values.end()) {
258258
return it->second;
259259
} else {
260-
return util::Error{Untranslated(sighash + " is not a valid sighash parameter.")};
260+
return util::Error{Untranslated("'" + sighash + "' is not a valid sighash parameter.")};
261261
}
262262
}

src/index/base.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,9 @@ void BaseIndex::ThreadSync()
165165
const CBlockIndex* pindex_next = NextSyncBlock(pindex, m_chainstate->m_chain);
166166
if (!pindex_next) {
167167
SetBestBlockIndex(pindex);
168-
m_synced = true;
169168
// No need to handle errors in Commit. See rationale above.
170169
Commit();
170+
m_synced = true;
171171
break;
172172
}
173173
if (pindex_next->pprev != pindex && !Rewind(pindex, pindex_next->pprev)) {

src/kernel/chainparams.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ class CMainParams : public CChainParams {
133133
// release ASAP to avoid it where possible.
134134
vSeeds.emplace_back("seed.bitcoin.sipa.be."); // Pieter Wuille, only supports x1, x5, x9, and xd
135135
vSeeds.emplace_back("dnsseed.bluematt.me."); // Matt Corallo, only supports x9
136-
vSeeds.emplace_back("dnsseed.bitcoin.dashjr.org."); // Luke Dashjr
136+
vSeeds.emplace_back("dnsseed.bitcoin.dashjr-list-of-p2p-nodes.us."); // Luke Dashjr
137137
vSeeds.emplace_back("seed.bitcoinstats.com."); // Christian Decker, supports x1 - xf
138138
vSeeds.emplace_back("seed.bitcoin.jonasschnelli.ch."); // Jonas Schnelli, only supports x1, x5, x9, and xd
139139
vSeeds.emplace_back("seed.btc.petertodd.org."); // Peter Todd, only supports x1, x5, x9, and xd

0 commit comments

Comments
 (0)