8a16391c91acd1ab7c49370b7b5fd979375c94c7 doc: update release notes for 23.1 (fanquake)
58478261de77035f90b758e4f03a6d2fdc0fa516 doc: update manual pages for 23.1 (fanquake)
93713654ef65b3353394b0efd653beba1826a0f8 build: bump version to 23.1 final (fanquake)
Pull request description:
Bump version to v23.1.
Regenerate manpages.
Finalize release notes.
ACKs for top commit:
hebasto:
ACK 8a16391c91acd1ab7c49370b7b5fd979375c94c7, I have reviewed the changes and they look OK.
Tree-SHA512: d9100f5507f6e8d7b5a1192c981dbc6d97283def895e9181f738321fe9521c398e73686ddc48e27d1c863da19d75339069771f980d38af479eaf56ac3fc0881b
87c2ff80e45113b056b3d0af83cf78e3ce95a693 doc: add release notes for 23.1rc2 (fanquake)
5b2c99e24cd7b653c9b9931509d3901ad17badc1 doc: Update manual pages for 23.1rc2 (fanquake)
a02ae0745b01b33158d916d3d71107da77026bcb build: Bump version to 23.1rc2 (fanquake)
a1fcd565fff85f5652bf86504b416a615a2cb6d5 doc: add 23.0 relase notes (fanquake)
Pull request description:
Bump the version to 23.1rc2.
Regenerate the man pages.
Add historical 23.0 release notes.
Add WIP 23.1 release notes.
Changes since rc1:
* https://github.com/bitcoin/bitcoin/pull/26474
* https://github.com/bitcoin/bitcoin/pull/26522
ACKs for top commit:
hebasto:
ACK 87c2ff80e45113b056b3d0af83cf78e3ce95a693, I have reviewed the code and it looks OK, I agree it can be merged.
jarolrod:
ACK 87c2ff80e45113b056b3d0af83cf78e3ce95a693
Tree-SHA512: f185c33bfe2bf26f9df48f8d1e95ab784fef055bc7465282e2418960d348bd8b35f8fc57808b47250f8536a9def3be2d1dbe8ae309f052a81220925c425108f1
38d90bc3e38bdf40b61d42b5db7b48c7fa0ef17b qt: 23.1rc2 translations update (Hennadii Stepanov)
Pull request description:
This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.
According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v23.1rc2` tagging.
Will keep this PR updated regularly until merging.
The `bitcoin_id.ts` translation is damaged, therefore its changes were rejected manually.
ACKs for top commit:
jarolrod:
ACK 38d90bc3e38bdf40b61d42b5db7b48c7fa0ef17b
Tree-SHA512: 41e120342f3670345c88b23c761cd2e520cefe3128bf6417ffcdf9d5341ade77e65f4e4e78d99992543dc6b3caa438bac96a8c8eec0435b3020d4fde1fe8461e
MacOS 13 sends a window focus change notification after the main
window has been destroyed but before the QTApplication has been
destroyed. This results in the menu bar receiving a notification
despite it no longer existing. The solution is to pass the main
window as context when subscribing to the notifications. Qt
automatically unsubscribes to notifications if the sender OR
context is destroyed.
Github-Pull: bitcoin-core/gui#680
Rebased-From: 8a5014cd8a05b3ab86ae34a47653a82ce11bdf17
0f4583e5c114e13c3c937f1832ab0c39751cf38c guix: use --build={arch}-guix-linux-gnu in cross toolchain (fanquake)
Pull request description:
This backports https://github.com/bitcoin/bitcoin/pull/25861 to the 23.x branch, which fixes Guix building for `aarch64-linux-gnu` on aarch64 hardware. Fixing Guix building for this `HOST`, for the current release branch, seems like a worthwhile change, especially given more Guix builders are using aarch64 hardware. I thought I'd already backported this; noticed while building [sigs for 23.1rc1](https://github.com/bitcoin-core/guix.sigs/pull/380), which I started doing on aarch64.
Guix Build (aarch64, no `x86_64-apple-darwin` or `arm64-apple-darwin`):
```bash
9fd4601412738e9135e2732cfc8af911c54af8a1349c2af568b4748dd1907c3d guix-build-0f4583e5c114/output/aarch64-linux-gnu/SHA256SUMS.part
36df2797cd7845ccb4f416b52f9dbd4cc7dd0242782c3143206d0c15239e8b02 guix-build-0f4583e5c114/output/aarch64-linux-gnu/bitcoin-0f4583e5c114-aarch64-linux-gnu-debug.tar.gz
6aa022173b23827ec2690823178b9d2d06108e159a9074e1a54a7d1a74b6c5db guix-build-0f4583e5c114/output/aarch64-linux-gnu/bitcoin-0f4583e5c114-aarch64-linux-gnu.tar.gz
1e98b6b5e2b58387106eb8f46367c4a42d03d6a881307ed115e7b6bfa1b2785a guix-build-0f4583e5c114/output/arm-linux-gnueabihf/SHA256SUMS.part
b9ecbfbec1ee941acb7f19fb2ba02bfa24ef5feb0e072a9a8c39263f2cdfb172 guix-build-0f4583e5c114/output/arm-linux-gnueabihf/bitcoin-0f4583e5c114-arm-linux-gnueabihf-debug.tar.gz
2834aa08f19c03e88e22009e3f860b470fe5942c42ae08041b8e79e28673154b guix-build-0f4583e5c114/output/arm-linux-gnueabihf/bitcoin-0f4583e5c114-arm-linux-gnueabihf.tar.gz
9c787047070b1fe8c2beead22093dc73481e7c921993d95fb0e4ce8739f8e515 guix-build-0f4583e5c114/output/dist-archive/bitcoin-0f4583e5c114.tar.gz
1a82b19a5d07bccdead69b5d9fe9559e01a263b458ea48ff0a701ee9adf55a3c guix-build-0f4583e5c114/output/powerpc64-linux-gnu/SHA256SUMS.part
3482de0ff01839aa98ca61b3c8a18de4773dd70e2b306f094b210a6c83839289 guix-build-0f4583e5c114/output/powerpc64-linux-gnu/bitcoin-0f4583e5c114-powerpc64-linux-gnu-debug.tar.gz
5bb8b7ab8740d6c4a49e8fe700f0305bcc7318eaffc0e3c967492f218774f371 guix-build-0f4583e5c114/output/powerpc64-linux-gnu/bitcoin-0f4583e5c114-powerpc64-linux-gnu.tar.gz
5442e495049b386b8ec5bc50c06feb401fb263e25f0807aa58e7e8c091c42be7 guix-build-0f4583e5c114/output/powerpc64le-linux-gnu/SHA256SUMS.part
d685b1449379a3a1be139f243917d9987169cbc9901c7658a12044d27ce2762d guix-build-0f4583e5c114/output/powerpc64le-linux-gnu/bitcoin-0f4583e5c114-powerpc64le-linux-gnu-debug.tar.gz
14edbaf4c93346460ecff72ca22285c433c7dea5f9ccaccb4b49730f95d2d264 guix-build-0f4583e5c114/output/powerpc64le-linux-gnu/bitcoin-0f4583e5c114-powerpc64le-linux-gnu.tar.gz
dec22e0f59513c3697de3c6906deb355010af36836285ab306de1ea8e4b88ff3 guix-build-0f4583e5c114/output/riscv64-linux-gnu/SHA256SUMS.part
d70b6b6d1a2950292e820898af8a79d850b415829bbb94db97b742f3ab7cc7d3 guix-build-0f4583e5c114/output/riscv64-linux-gnu/bitcoin-0f4583e5c114-riscv64-linux-gnu-debug.tar.gz
b5fd33257a81efacc61946b544e5af1582c9729fa57641ff3625d34f0e785cfd guix-build-0f4583e5c114/output/riscv64-linux-gnu/bitcoin-0f4583e5c114-riscv64-linux-gnu.tar.gz
30b6668d9e84503d2e2113a87051d3c5baeae8ad6b3fa3df7509d447c8d5f341 guix-build-0f4583e5c114/output/x86_64-linux-gnu/SHA256SUMS.part
33a6c5072328281872678fc0d709629f934fac05bdfb2e41cccf2ddd5724925b guix-build-0f4583e5c114/output/x86_64-linux-gnu/bitcoin-0f4583e5c114-x86_64-linux-gnu-debug.tar.gz
c1c2ec074a88c6f0202ab067bd126c217573d028b3b1eb538db100eb0e316b53 guix-build-0f4583e5c114/output/x86_64-linux-gnu/bitcoin-0f4583e5c114-x86_64-linux-gnu.tar.gz
2689a7cce5d1fc6decbb5dfd1361db21adc1c485ee4c644cdebf403b1d533be6 guix-build-0f4583e5c114/output/x86_64-w64-mingw32/SHA256SUMS.part
9d6259432febdc1be728db0088a0464fa844dc4ad20e7b752be6de312588a695 guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64-debug.zip
e3e7cd45b6ed6e8a589efe2436e151120af0c1146772ce295c06300289e0b758 guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64-setup-unsigned.exe
1da1569b0140ad917b938ce8b087d3d8990331df3042d62a36d1366d9e5f0f42 guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64-unsigned.tar.gz
cbd74726e5704f6007e2344422197a25b9872a3a5f525a1a0b5774c833fc7e78 guix-build-0f4583e5c114/output/x86_64-w64-mingw32/bitcoin-0f4583e5c114-win64.zip
```
ACKs for top commit:
hebasto:
ACK 0f4583e5c114e13c3c937f1832ab0c39751cf38c, tested on `arm64`:
jarolrod:
ACK 0f4583e5c114e13c3c937f1832ab0c39751cf38c
Tree-SHA512: 2ddb1ebaa75c26cc0bd8abd81e565a7ffa99bd9af08ad329f1141c35c784fb7cb4ccf0777096410929cb3e0bc72acaf3dbe0684bbe57b6d6a7070bff1fa51a0e
Technically we are always cross-compiling, so make that explicit.
Fixes: #22458.
Github-Pull: #25861
Rebased-From: 56e79fe683d36c1944e52326fae3bcc4cb7deec7
888480bd8819c78663baa6ded92a0d46f68fe7ee doc: update version number in bips.md to v23.1 (fanquake)
f89a2ea3b71b008b52165f1d260dead949d4548c doc: Update manual pages for 23.1rc1 (fanquake)
a43e380a1f3b119fb22186502de89b494ff8c29b build: Bump version to 23.1rc1 (fanquake)
5a57b656d3fa6a0004ebc208bf70e2fe2eba1aa2 doc: mention BIP86 in doc/bips.md (Sebastian Falbesoner)
Pull request description:
Bump the version to 23.1rc1.
Generate the man pages.
Update the version number in bips.md.
Also backports https://github.com/bitcoin/bitcoin/pull/26443.
ACKs for top commit:
MarcoFalke:
Concept ACK 888480bd8819c78663baa6ded92a0d46f68fe7ee
Tree-SHA512: e2c937fe7b18423e1450889f61f2f8bd0b50fb525ab839978fe0a58707176416412c69983f973e5fc9b512356c5bc873d9458470b55c87067ff6789ba347beec
f8ed34d1a9faf373b96842c26a408b039bcdfc51 rpc: add non-regression test about deriveaddresses crash when index is 2147483647 (muxator)
d9f1c89e4967da4681f8c595b46cb1475e3d4897 rpc: fix crash in deriveaddresses when derivation index is 2147483647 (muxator)
bbea830a966a4a6045c7420743395d5253203f00 Adjust `.tx/config` for new Transifex CLI (Hennadii Stepanov)
Pull request description:
Backports:
* https://github.com/bitcoin/bitcoin/pull/26275
* https://github.com/bitcoin/bitcoin/pull/26321
Will leave open to collect remaining backports before a 23.1.
ACKs for top commit:
MarcoFalke:
cherry-pick ACK f8ed34d1a9faf373b96842c26a408b039bcdfc51 🚝
Tree-SHA512: 2a96f66b0d81457a7017b0f4b041a7742008374d00a22d828502bfe170bfebb413e4e63382b10b9e2e250cb9e1be1a41030b8b6c5be42ffb23964808b12ee343
This test would cause a crash in bitcoind (see #26274) if the fix given in the
previous commit was not applied.
Github-Pull: #26275
Rebased-From: 9153ff3e274953ea0d92d53ddab4c72deeace1b1
2147483647 is the maximum positive value of a signed int32, and - currently -
the maximum value that the deriveaddresses bitcoin RPC call accepts as
derivation index due to its input validation routines.
Before this change, when the derivation index (and thus range_end) reached
std::numeric_limits<int_32_t>::max(), the "i" variable in the for cycle (which
is declared as int, and as such 32 bits in size on most platforms) would be
incremented at the end of the first iteration and then warp back to
-2147483648. This caused SIGABRT in bitcoind and a core dump.
This change assigns "i" an explicit size of 64 bits on every platform,
sidestepping the problem.
Fixes#26274.
Github-Pull: #26275
Rebased-From: addf9d6502db12cebcc5976df3111cac1a369b82
38d4601fe826069ee43b341e9d467beb7d14b5f0 Prevent data race for `pathHandlers` (Hennadii Stepanov)
Pull request description:
Backport of https://github.com/bitcoin/bitcoin/pull/25983 to the 23.x branch.
ACKs for top commit:
dergoegge:
ACK 38d4601fe826069ee43b341e9d467beb7d14b5f0
Tree-SHA512: b235d6d2cb374baf1b54c09f4cd2feca7b6c1588d081532e987fd5def8ed0dee4b8255112b130a77aca633ec6a63cfd81f215b2e7a403c213eb6048a54774d26
769836613291e2b35f8ded9b594e33dcd1b1c70d doc: remove brew install sqlite from macOS docs (fanquake)
419bdc534f885de4574e054cfcac6869f7a4e185 Revert "build: Use Homebrew's sqlite package if it is available" (fanquake)
Pull request description:
Backport of https://github.com/bitcoin/bitcoin/pull/25985 to the 23.x branch.
ACKs for top commit:
hebasto:
ACK 769836613291e2b35f8ded9b594e33dcd1b1c70d, I have reviewed the code and it looks OK, I agree it can be merged.
stickies-v:
re-ACK 7698366132
Tree-SHA512: 539f218b2895188111876b6a2035082ac642c89ef2e5055031bdc4563f690055012fcede396a5c87cf66e80ced796d62dd8d4394676fa6d22e01a581b29bb10b
This reverts ee7b84e63cbeadd5e680d69ff0548275581e9241 from #20527.
This change was made without any rationale, maybe other than a brew
installed version might be newer, and that's "better". However when
building from source on macOS, it just results in drastically worse
perofrmance, and results in issues / confusions like #25724.
Resolves the "build from source" portion of #25724. Building from
depends is still not ideal, however I have some other changes that might
help improve things in that case.
The difference in performance can be observed using the example from
https://github.com/bitcoin/bitcoin/issues/25724#issuecomment-1213554922,
but minified to only 10 descriptors. i.e:
```bash
time src/bitcoin-cli createwallet speedy true
time src/bitcoin-cli importdescriptors '[
{"desc":"raw(00145846369f3d6ba366d6f5a903fb5cf4dca3763c0e)#k9wh6v62","timestamp":"now"},
{"desc":"raw(001420800aabf13f3a4c4ce3ce4c66cecf1d17f21a6e)#6m0hlfh4","timestamp":"now"},
{"desc":"raw(0014c6bf9715e06d73ebf9b3b02d5cc48d24d8bbabc1)#wyavh36r","timestamp":"now"},
{"desc":"raw(00141ba7807b3f46af113beaea5c698428ce7138cd8a)#jctdsups","timestamp":"now"},
{"desc":"raw(00140c1bd27f10fff01b36ddf3c1febaa1acff19b080)#9s6nc3pk","timestamp":"now"},
{"desc":"raw(00141226e31987e4bc2e63c0ee12908f675e40464b20)#9pp7qm39","timestamp":"now"},
{"desc":"raw(0014f73f149f7503960a5e849c6ee7a8a8c336f631cb)#qtkxv9fc","timestamp":"now"},
{"desc":"raw(0014c8ccb4d81ffc769fc5fdd8d7eed69b0e0cae5749)#hn39qayv","timestamp":"now"},
{"desc":"raw(001498565aead2d67a22a6021d55210f2a917fc22169)#6ar3vwsx","timestamp":"now"},
{"desc":"raw(001403013248ac0cd9eabe176cad162cda2a19f771e1)#4m47mukd","timestamp":"now"}
]'
```
Running master, when building from souce and using brew installed
sqlite, this takes ~3.4s. With this PR, the same operation takes ~0.3s.
Github-Pull: #25985
Rebased-From: d216d714aae36e6f1c95f82aef81a0be74dee2f3
Watchonly wallets do not have any private keys to encrypt. It does not
make sense to encrypt such wallets, so disable the option to encrypt
them.
This avoids an assertion that can be hit when encrypting watchonly descriptor
wallets.
Github-Pull: bitcoin-core/gui#631
Rebased-From: 4c495413e138ec1dd6874e41b44e689f0c15e0e3
Qt 5.15.3 release is a patch release made on the top of Qt 5.15.2. As a patch
release, Qt 5.15.3 does not add any new functionality but provides bug fixes
and other improvements.
https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.3/release-note.md
* dropped patches:
- patches/qt/dont_use_avx_android_x86_64.patch
- patches/qt/fix_bigsur_style.patch
* adjusted patches:
- patches/qt/fix_android_jni_static.patch
- patches/qt/fix_limits_header.patch
- patches/qt/use_android_ndk23.patch
Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
Github-Pull: bitcoin/bitcoin#24668
Rebased-From: ef20add4c98674183720d9631ac780f9a248b487
With the release of binutils/ld 2.36, ld swapped to much improved
default settings when producing windows binaries with mingw-w64. One of
these changes was to stop stripping the .reloc section from binaries,
which is required for working ASLR.
.reloc section stripping is something we've accounted for previously,
see #18702. The related upstream discussion is in this thread:
https://sourceware.org/bugzilla/show_bug.cgi?id=19011.
When we switched to using a newer Guix time-machine in #23778, we begun
using binutils 2.37 to produce releases. Since then, our windows
installer (produced with makensis) has not functioned correctly when run on
a Windows system with the "Force randomization for images (Mandatory ASLR)"
option enabled. Note that all of our other release binaries, which all
contain .reloc sections, function fine under the same option, so it
cannot be just the presence of a .reloc section that is the issue.
For now, restore makensis to it's pre-binutils-2.36 behaviour, which
fixes the produced installer. The underlying issue can be further
investigated in future.
Github-Pull: #25788
Rebased-From: 7a0b129c41d9fefdbc20d6d04983dd87bb8379e7
4ebf6e35dcac936342525ec7b4b77a82c71693e7 p2p: always set nTime for self-advertisements (Martin Zumsande)
039ef215bc1268cefb645472d411993e5582486b tests: Use descriptor that requires both legacy and segwit (Andrew Chow)
5fd25eb9cb52d09a4bf8b37b9d442e25bb22074e tests: Calculate input weight more accurately (Andrew Chow)
bd6d3ac8b7edf257f76ceb819f5d657313161585 windeploy: Renewed windows code signing certificate (Andrew Chow)
32fa522a80c87231dc6194b982f64440c801b7d4 test: ensure createmultisig and addmultisigaddress are not returning any warning for expected cases (brunoerg)
7658055c4e97b998639b67fd6dca386c1cdc748a rpc: fix inappropriate warning for address type p2sh-segwit in createmultisig and addmultisigaddress (brunoerg)
Pull request description:
Backports:
- https://github.com/bitcoin/bitcoin/pull/24454
- https://github.com/bitcoin/bitcoin/pull/25201
- https://github.com/bitcoin/bitcoin/pull/25220
- https://github.com/bitcoin/bitcoin/pull/25314
ACKs for top commit:
LarryRuane:
re-utACK 4ebf6e35dcac936342525ec7b4b77a82c71693e7
achow101:
ACK 4ebf6e35dcac936342525ec7b4b77a82c71693e7
Tree-SHA512: add3999d0330b3442f3894fce38ad9b5adc75da7d681c949e1d052bac5520c2c6fb06eba98bfbeb4aa9a560170451d24bf00d08dddd4a3d080030ecb8ad61882
If we self-advertised to an inbound peer with the address they gave us,
nTime was left default-initialized, so that our peer wouldn't relay it
any further along.
Github-Pull: #25314
Rebased-From: 99b9e5f3a9fa29bbc1e45fc958470fbcc207ef23
The external input test with specifying input weight would make a
pessimistic estimate of the input weight. However this would result in a
test failure as it is sometimes too pessimistic when an ECDSA signature
ends up being smaller than usual. To correct this, we can calculate the
input weight more accurately.
Github-Pull: #24454
Rebased-From: 8a04a386f75d099f4b9864b0cdf7f26442b5801f
7fcac96597218691724002c2b8ecb3dbcf60bf06 rpc: Capture potentially large UniValue by ref for rpcdoccheck (Martin Zumsande)
Pull request description:
ACKs for top commit:
fanquake:
ACK 7fcac96597218691724002c2b8ecb3dbcf60bf06
Tree-SHA512: 7b60d35c84a47ff2b16aed06b4ea82ff3f60cc24409e2927b9ed618f8f939252903417ef93b711171e22b15daf5d857964687fde25ec554153337c996e5e27fa