aboutsummaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2024-05-20doc: Update NetBSD Build GuideHennadii Stepanov
2024-05-16Merge bitcoin/bitcoin#27101: Support JSON-RPC 2.0 when requested by clientRyan Ofsky
cbc6c440e3811d342fa570713702900b3e3e75b9 doc: add comments and release-notes for JSON-RPC 2.0 (Matthew Zipkin) e7ee80dcf2b68684eae96070875ea13a60e3e7b0 rpc: JSON-RPC 2.0 should not respond to "notifications" (Matthew Zipkin) bf1a1f1662427fbf1a43bb951364eface469bdb7 rpc: Avoid returning HTTP errors for JSON-RPC 2.0 requests (Matthew Zipkin) 466b90562f4785de74b548f7c4a256069e2aaf43 rpc: Add "jsonrpc" field and drop null "result"/"error" fields (Matthew Zipkin) 2ca1460ae3a7217eaa8c5972515bf622bedadfce rpc: identify JSON-RPC 2.0 requests (Matthew Zipkin) a64a2b77e09bff784a2635ba19ff4aa6582bb5a5 rpc: refactor single/batch requests (Matthew Zipkin) df6e3756d6feaf1856e7886820b70874209fd90b rpc: Avoid copies in JSONRPCReplyObj() (Matthew Zipkin) 09416f9ec445e4d6bb277400758083b0b4e8b174 test: cover JSONRPC 2.0 requests, batches, and notifications (Matthew Zipkin) 4202c170da37a3203e05a9f39f303d7df19b6d81 test: refactor interface_rpc.py (Matthew Zipkin) Pull request description: Closes https://github.com/bitcoin/bitcoin/issues/2960 Bitcoin Core's JSONRPC server behaves with a special blend of 1.0, 1.1 and 2.0 behaviors. This introduces compliance issues with more strict clients. There are the major misbehaviors that I found: - returning non-200 HTTP codes for RPC errors like "Method not found" (this is not a server error or an HTTP error) - returning both `"error"` and `"result"` fields together in a response object. - different error-handling behavior for single and batched RPC requests (batches contain errors in the response but single requests will actually throw HTTP errors) https://github.com/bitcoin/bitcoin/pull/15495 added regression tests after a discussion in https://github.com/bitcoin/bitcoin/pull/15381 to kinda lock in our RPC behavior to preserve backwards compatibility. https://github.com/bitcoin/bitcoin/pull/12435 was an attempt to allow strict 2.0 compliance behind a flag, but was abandoned. The approach in this PR is not strict and preserves backwards compatibility in a familiar bitcoin-y way: all old behavior is preserved, but new rules are applied to clients that opt in. One of the rules in the [JSON RPC 2.0 spec](https://www.jsonrpc.org/specification#request_object) is that the kv pair `"jsonrpc": "2.0"` must be present in the request. Well, let's just use that to trigger strict 2.0 behavior! When that kv pair is included in a request object, the [response will adhere to strict JSON-RPC 2.0 rules](https://www.jsonrpc.org/specification#response_object), essentially: - always return HTTP 200 "OK" unless there really is a server error or malformed request - either return `"error"` OR `"result"` but never both - same behavior for single and batch requests If this is merged next steps can be: - Refactor bitcoin-cli to always use strict 2.0 - Refactor the python test framework to always use strict 2.0 for everything - Begin deprecation process for 1.0/1.1 behavior (?) If we can one day remove the old 1.0/1.1 behavior we can clean up the rpc code quite a bit. ACKs for top commit: cbergqvist: re ACK cbc6c440e3811d342fa570713702900b3e3e75b9 ryanofsky: Code review ACK cbc6c440e3811d342fa570713702900b3e3e75b9. Just suggested changes since the last review: changing uncaught exception error code from PARSE_ERROR to MISC_ERROR, renaming a few things, and adding comments. tdb3: re ACK for cbc6c440e3811d342fa570713702900b3e3e75b9 Tree-SHA512: 0b702ed32368b34b29ad570d090951a7aeb56e3b0f2baf745bd32fdc58ef68fee6b0b8fad901f1ca42573ed714b150303829cddad4a34ca7ad847350feeedb36
2024-05-14doc: add comments and release-notes for JSON-RPC 2.0Matthew Zipkin
2024-05-08Merge bitcoin/bitcoin#30025: doc: fix broken relative md linksmerge-script
4b9f49da2b120e81516ddc3dc577d7a2e58e02d3 doc: fix broken relative md links (willcl-ark) Pull request description: These relative links in our documentation are broken, fix them. ACKs for top commit: maflcko: ACK 4b9f49da2b120e81516ddc3dc577d7a2e58e02d3 ryanofsky: Code review ACK 4b9f49da2b120e81516ddc3dc577d7a2e58e02d3. Thanks for the updates! ismaelsadeeq: Re ACK 4b9f49da2b120e81516ddc3dc577d7a2e58e02d3 Tree-SHA512: df4ef5ddece6c21125ce719ed6a4f69aba4f884c353ff7a8445ecb6438ed6bf0ff8268a1ae19cdd910adaadc189c6861c445b4d469f92ee81874d810dcbd0846
2024-05-06Merge bitcoin/bitcoin#29845: rpc: return warnings as an array instead of ↵Ava Chow
just a single one 42fb5311b19582361409d65c6fddeadbee14bb97 rpc: return warnings as an array instead of just a single one (stickies-v) Pull request description: The RPC documentation for `getblockchaininfo`, `getmininginfo` and `getnetworkinfo` states that "warnings" returns "any network and blockchain warnings". In practice, only a single warning (i.e. the latest one that is set) is returned, the other ones are ignored. Fix that by returning all warnings as an array. As a side benefit, clean up the GetWarnings() logic. Since this PR changes the RPC result schema, I've added release notes. Users can temporarily revert to the old results by using `-deprecatedrpc=warnings`, until it's removed in a future version. --- Some historical context from git log: - when `GetWarnings` was introduced in 401926283a200994ecd7df8eae8ced8e0b067c46, it was used in the `getinfo` RPC, where only a [single error/warning was returned](https://github.com/bitcoin/bitcoin/commit/401926283a200994ecd7df8eae8ced8e0b067c46#diff-7442c48d42cd5455a79915a0f00cce5e13359db46437a32b812876edb0a5ccddR250) (similar to how it is now). - later on, "warnings" RPC response fields were introduced, e.g. in ef2a3de25c882396e1776b554878d2784b6b7391, with the description [stating](https://github.com/bitcoin/bitcoin/commit/ef2a3de25c882396e1776b554878d2784b6b7391#diff-1021bd3c74415ad9719bd764ad6ca35af5dfb33b1cd863c0be49bdf52518af54R411) that it returned "any network warnings" but in practice still only a single warning was returned ACKs for top commit: achow101: re-ACK 42fb5311b19582361409d65c6fddeadbee14bb97 tdb3: Re ACK for 42fb5311b19582361409d65c6fddeadbee14bb97 TheCharlatan: ACK 42fb5311b19582361409d65c6fddeadbee14bb97 maflcko: ACK 42fb5311b19582361409d65c6fddeadbee14bb97 🔺 Tree-SHA512: 4225ed8979cd5f030dec785a80e7452a041ad5703445da79d2906ada983ed0bbe7b15889d663d75aae4a77d92e302c93e93eca185c7bd47c9cce29e12f752bd3
2024-05-03doc: fix broken relative md linkswillcl-ark
These relative links in our documentation are broken, fix them.
2024-05-02Merge bitcoin/bitcoin#29934: doc: add LLVM instruction for macOS < 13merge-script
22574046c90c0662f3aa9b1baea074aff54f92a9 doc: add LLVM instruction for macOS < 13 (Sjors Provoost) Pull request description: #29208 bumped clang to 14, which users of old macOS versions need to install manually. This PR adds instructions. Xcode 14.3.1 ships clang 14.0.3 (14.0.0 is broken, see #29918): https://en.wikipedia.org/wiki/Xcode#Xcode_11.0_-_14.x_(since_SwiftUI_framework) The system requirements for that is macOS Ventura 13.0 or later: https://developer.apple.com/documentation/xcode-release-notes/xcode-14_3_1-release-notes# Homebrew itself officially supports macOS 12 or later, but _may_ still work on macOS 11: https://docs.brew.sh/Installation Fwiw macOS 11 Big Sur last got an update in September 2023, so Apple has not _entirely_ written it off: https://en.wikipedia.org/wiki/MacOS_Big_Sur ACKs for top commit: maflcko: utACK 22574046c90c0662f3aa9b1baea074aff54f92a9 TheCharlatan: ACK 22574046c90c0662f3aa9b1baea074aff54f92a9 Tree-SHA512: 5b4bcc71966d1da84bc4da32da89e0dea9f519f37d9e14e169140c92af044b33f404f01ae7d10f53ab5345dd51ac404c161389efef93da5cacbfd52a43881695
2024-05-02Merge bitcoin/bitcoin#29707: depends: build miniupnpc with CMakemerge-script
5195baa60087ee366290887ad982fc491e14c111 depends: fix miniupnpc snprintf usage on Windows (fanquake) 3c2d440f1497f60bb444326f51383df244dcdfe9 depends: switch miniupnpc to CMake (Cory Fields) f5618c79d9e7af05c2987044dc2da03697f8bb89 depends: add upstream CMake patch to miniupnpc (fanquake) 6866b571ab96f03ca0775424e45458c5731f230f depends: miniupnpc 2.2.7 (fanquake) Pull request description: This picks up one of the changes from #29232, which is a switch to building miniupnpc with CMake. It includes an update to the most recent version of miniupnpc (2.2.7), which means we can drop one patch from that commit, and includes a new patch for a change I've upstreamed https://github.com/miniupnp/miniupnp/pull/721, as well as some suggestions from the previous PR. ACKs for top commit: theuni: ACK 5195baa60087ee366290887ad982fc491e14c111. TheCharlatan: utACK 5195baa60087ee366290887ad982fc491e14c111 Tree-SHA512: 5b27e132cd5eed285e9be34c8b96893417d92a1ae55c99345c9a89e1c1c5e40e4bc840bc061b879758b2b11fcb520cd98c3da985c1e153f2e5380cf63efe2d69
2024-05-01rpc: return warnings as an array instead of just a single onestickies-v
The RPC documentation for `getblockchaininfo`, `getmininginfo` and `getnetworkinfo` states that "warnings" returns "any network and blockchain warnings". In practice, only a single warning is returned. Fix that by returning all warnings as an array. As a side benefit, cleans up the GetWarnings() logic.
2024-04-30Merge bitcoin/bitcoin#29645: doc: update release-process.mdAva Chow
1ea8674316f2dce0005f6094b6ee111b045dd770 [doc] update release-process.md and backports section of CONTRIBUTING (glozow) Pull request description: While doing various release process things for the first time, I noticed some of our docs are outdated and/or confusing. ACKs for top commit: achow101: ACK 1ea8674316f2dce0005f6094b6ee111b045dd770 Tree-SHA512: 4ad10d4ce2c33fe15cb02599353107bb72ecb867aefc6c120cfd5cdea42aa8fa3783f9e0218c2f3815f030e0694cc8fb24011ce88358a0206cb07416a256a962
2024-04-30Merge bitcoin/bitcoin#29813: doc: i2p: improve `-i2pacceptincoming` mentionAva Chow
2179e2c3209a41c1419f1f5ed6270a0dad68b50d doc: i2p: improve `-i2pacceptincoming` mention (brunoerg) Pull request description: In i2p documentation, it says that "the first time Bitcoin Core connects to the I2P router, it automatically generates a persistent I2P address and its corresponding private key by default _**or if `-i2pacceptincoming=1` is set**_". This is weird, because `-i2pacceptincoming=1` by itself does not have any effect. Moreover, `-i2pacceptincoming` is 1 by default anyway. ACKs for top commit: laanwj: This documentation change is correct and makes the documentation slightly shorter, thus easier to read. ACK 2179e2c3209a41c1419f1f5ed6270a0dad68b50d davidgumberg: ACK https://github.com/bitcoin/bitcoin/pull/29813/commits/2179e2c3209a41c1419f1f5ed6270a0dad68b50d achow101: ACK 2179e2c3209a41c1419f1f5ed6270a0dad68b50d byaye: ACK 2179e2c3209a41c1419f1f5ed6270a0dad68b50d Tree-SHA512: 18a6a627343fb0aa824029d99df8a232153ba288ce94ec8c5da25693885237381fba505ea1e71c756b2a611243a302d319ca7ae03b526020cd6588710fc2ac17
2024-04-30depends: miniupnpc 2.2.7fanquake
Includes a temporary patch to fix the Windows Autotools build. See https://miniupnp.tuxfamily.org/files/changelog.php?file=miniupnpc-2.2.7.tar.gz.
2024-04-29doc: add LLVM instruction for macOS < 13Sjors Provoost
2024-04-27build: Bump clang minimum supported version to 15MarcoFalke
2024-04-25Merge bitcoin/bitcoin#29708: depends: build libnatpmp with CMakemerge-script
3c1ae3ee33d4d9dbea046d5ab8ee924a12982759 depends: switch libnatpmp to CMake (Cory Fields) 72ba7b5d263b6d909ae59040536a499a596237c2 depends: libnatpmp f2433bec24ca3d3f22a8a7840728a3ac177f94ba (fanquake) Pull request description: This picks up one of the changes from https://github.com/bitcoin/bitcoin/pull/29232, which is a switch to building libnatpmp with CMake. It includes an update to the most recent version of libnatpmp (https://github.com/miniupnp/libnatpmp/commit/f2433bec24ca3d3f22a8a7840728a3ac177f94ba), which includes (https://github.com/miniupnp/libnatpmp/pull/43). From an initial look I couldn't find any significant difference between the Autotools and CMake produced libs. ACKs for top commit: m3dwards: ACK https://github.com/bitcoin/bitcoin/pull/29708/commits/3c1ae3ee33d4d9dbea046d5ab8ee924a12982759 hebasto: ACK 3c1ae3ee33d4d9dbea046d5ab8ee924a12982759. TheCharlatan: ACK 3c1ae3ee33d4d9dbea046d5ab8ee924a12982759 Tree-SHA512: 1dd9d9933a5fceb9f8c4e1d68cd5cb4456a10a6dd27a6f6316f14493f9d2efad981ef8be9570c09ca82d45163aebd7f4cb2b2449989ec6084268ddba9a564c83
2024-04-24Merge bitcoin/bitcoin#29932: doc: suggest only necessary Qt packages for ↵merge-script
installation on FreeBSD dace02f99d4a8785567732c0d687517175765bfd doc: suggest only necessary Qt packages for installation on FreeBSD (Vasil Dimov) Pull request description: The previously suggested `qt5` package is a meta package that does not install anything itself but depends on a bunch of others and is used as a convenience to install "everything" Qt5 related: 270 packages / 3 GiB. We only need a subset of those which amounts to 79 packages / 381 MiB, so suggest just that. For comparison: ``` pkg install qt5 Updating local repository catalogue... local repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 270 package(s) will be affected (of 0 checked): New packages to be INSTALLED: Imath: 3.1.11 abseil: 20230125.3 alsa-lib: 1.2.11 alsa-plugins: 1.2.7.1_3 aom: 3.8.2 assimp: 5.4.0 avahi-app: 0.8_2 brotli: 1.1.0,1 consolekit2: 1.2.6_3 cups: 2.4.7_2 curl: 8.7.1 cyrus-sasl: 2.1.28_4 dav1d: 1.4.1 dbus: 1.14.10_5,1 dbus-glib: 0.112_1 dejavu: 2.37_3 dotconf: 1.3_1 double-conversion: 3.3.0 duktape-lib: 2.7.0 encodings: 1.1.0,1 espeak-ng: 1.51.1_5 expat: 2.6.2 ffmpeg: 6.1.1_5,1 fftw3: 3.3.10_5 fftw3-float: 3.3.10_5 flac: 1.4.3_1,1 font-bh-ttf: 1.0.3_5 font-misc-ethiopic: 1.0.4 font-misc-meltho: 1.0.3_5 fontconfig: 2.15.0_2,1 freetds: 1.4.12,1 freetype2: 2.13.2 fribidi: 1.0.13_1 gdbm: 1.23 gdk-pixbuf2: 2.42.10_2 gettext-runtime: 0.22.5 giflib: 5.2.1_1 glib: 2.80.0,2 gmp: 6.3.0 gnome_subr: 1.0 gnutls: 3.8.5_1 graphite2: 1.3.14 groff: 1.23.0_3 gstreamer1: 1.22.10 gstreamer1-plugins: 1.22.10_1 gstreamer1-plugins-bad: 1.22.10_2 harfbuzz: 8.4.0 hicolor-icon-theme: 0.17 hidapi: 0.14.0 highway: 1.1.0 hunspell: 1.7.2_1 icu: 74.2_1,1 indexinfo: 0.3.1 iso-codes: 4.15.0 jasper: 4.2.3 jbigkit: 2.1_2 jpeg-turbo: 3.0.2 jsoncpp: 1.9.5 lame: 3.100_5 lcms2: 2.16_1 libICE: 1.1.0_2,1 libSM: 1.2.3_1,1 libX11: 1.8.9,1 libXScrnSaver: 1.2.4_1 libXau: 1.0.9_1 libXcomposite: 0.4.6_1,1 libXcursor: 1.2.2 libXdamage: 1.1.6 libXdmcp: 1.1.5 libXext: 1.3.6,1 libXfixes: 6.0.0_1 libXi: 1.8_1,1 libXmu: 1.1.4,1 libXrandr: 1.5.2_1 libXrender: 0.9.10_2 libXt: 1.3.0,1 libXtst: 1.2.3_3 libXv: 1.0.12_1,1 libass: 0.17.1_2 libcbor: 0.11.0 libcjson: 1.7.17 libdaemon: 0.14_1 libdeflate: 1.20 libdrm: 2.4.120_1,1 libedit: 3.1.20230828_1,1 libepoll-shim: 0.0.20230411 libevdev: 1.13.1 libevent: 2.1.12 libffi: 3.4.4_1 libfido2: 1.14.0 libfontenc: 1.1.8 libgcrypt: 1.10.3_1 libglvnd: 1.7.0 libgpg-error: 1.48 libgudev: 237 libiconv: 1.17_1 libidn2: 2.3.7 libinput: 1.25.0 libjxl: 0.10.2 libltdl: 2.4.7 liblz4: 1.9.4_1,1 libmng: 2.0.3_1 libmtdev: 1.1.6_1 libmysofa: 1.3.2 libnghttp2: 1.61.0 libnice: 0.1.21_2 libogg: 1.3.5,4 libpaper: 1.1.28_1 libpci: 3.12.0 libpciaccess: 0.18 libplacebo: 6.338.2 libpsl: 0.21.5 libsndfile: 1.2.2_1 libsoxr: 0.1.3_3 libssh2: 1.11.0_1,3 libtasn1: 4.19.0_1 libudev-devd: 0.5.2 libunibreak: 6.1,1 libunistring: 1.2 libunwind: 20240221 libv4l: 1.23.0_4 libva: 2.21.0 libvdpau: 1.5 libvorbis: 1.3.7_2,3 libvpx: 1.14.0 libwacom: 1.5_1 libx264: 0.164.3095 libxcb: 1.17.0 libxkbcommon: 1.6.0_2 libxkbfile: 1.1.3 libxml2: 2.11.7 libxslt: 1.1.37_1 llvm15: 15.0.7_10 lua53: 5.3.6_1 minizip: 1.2.11_1 mkfontscale: 1.2.3 mpdecimal: 4.0.0 mpg123: 1.32.5 mysql80-client: 8.0.35 nettle: 3.9.1 nspr: 4.35 nss: 3.99 openal-soft: 1.21.1_4 openexr: 3.2.4 openh264: 2.3.0,2 openldap26-client: 2.6.7 opus: 1.5.2 orc: 0.4.36 p11-kit: 0.25.3_2 pcaudiolib: 1.2_1 pciids: 20240331 pcre2: 10.43 perl5: 5.36.3_1 png: 1.6.43 polkit: 124_3 postgresql15-client: 15.6 psutils: 1.17_6 pulseaudio: 16.1_4 py39-evdev: 1.6.0 py39-packaging: 24.0 py39-pyudev: 0.22.0 py39-setuptools: 63.1.0_1 py39-six: 1.16.0 python39: 3.9.18_2 qt5: 5.15.13 qt5-3d: 5.15.13p0 qt5-assistant: 5.15.13p4 qt5-buildtools: 5.15.13p142 qt5-charts: 5.15.13p0 qt5-concurrent: 5.15.13p142 qt5-connectivity: 5.15.13p4 qt5-core: 5.15.13p142 qt5-datavis3d: 5.15.13p0 qt5-dbus: 5.15.13p142 qt5-declarative: 5.15.13p30 qt5-declarative-test: 5.15.13p30 qt5-designer: 5.15.13p4 qt5-doc: 5.12.2 qt5-examples: 5.15.13 qt5-gamepad: 5.15.13p0 qt5-graphicaleffects: 5.15.13p0 qt5-gui: 5.15.13p142 qt5-help: 5.15.13p4 qt5-imageformats: 5.15.13p7 qt5-l10n: 5.15.13p0 qt5-linguist: 5.15.13p4 qt5-linguisttools: 5.15.13p4 qt5-location: 5.15.13p6 qt5-multimedia: 5.15.13p2 qt5-network: 5.15.13p142 qt5-networkauth: 5.15.13p0 qt5-opengl: 5.15.13p142 qt5-pixeltool: 5.15.13p4 qt5-printsupport: 5.15.13p142 qt5-qdbus: 5.15.13p4 qt5-qdbusviewer: 5.15.13p4 qt5-qdoc: 5.15.13p4 qt5-qdoc-data: 5.15.13 qt5-qev: 5.15.13p4 qt5-qmake: 5.15.13p142 qt5-qtdiag: 5.15.13p4 qt5-qtpaths: 5.15.13p4 qt5-qtplugininfo: 5.15.13p4 qt5-quick3d: 5.15.13p1 qt5-quickcontrols: 5.15.13p0 qt5-quickcontrols2: 5.15.13p5 qt5-quicktimeline: 5.15.13p0 qt5-remoteobjects: 5.15.13p0 qt5-script: 5.15.16p0_2 qt5-scripttools: 5.15.16p0_1 qt5-scxml: 5.15.13p0 qt5-sensors: 5.15.13p0 qt5-serialbus: 5.15.13p0 qt5-serialport: 5.15.13p0 qt5-speech: 5.15.13p1 qt5-sql: 5.15.13p142 qt5-sqldrivers-mysql: 5.15.13p142 qt5-sqldrivers-odbc: 5.15.13p142 qt5-sqldrivers-pgsql: 5.15.13p142 qt5-sqldrivers-sqlite2: 5.15.13p142 qt5-sqldrivers-sqlite3: 5.15.13p142 qt5-sqldrivers-tds: 5.15.13p142 qt5-svg: 5.15.13p6 qt5-testlib: 5.15.13p142 qt5-uiplugin: 5.15.13p4 qt5-uitools: 5.15.13p4 qt5-virtualkeyboard: 5.15.13p0 qt5-webchannel: 5.15.13p3 qt5-webengine: 5.15.16.p9 qt5-webglplugin: 5.15.13p0 qt5-websockets: 5.15.13p2 qt5-websockets-qml: 5.15.13p2 qt5-webview: 5.15.13p0 qt5-widgets: 5.15.13p142 qt5-x11extras: 5.15.13p0 qt5-xml: 5.15.13p142 qt5-xmlpatterns: 5.15.13p0 re2: 20240401 readline: 8.2.10 shaderc: 2024.0 shared-mime-info: 2.2_2 snappy: 1.2.0 speech-dispatcher: 0.11.2_4 speexdsp: 1.2.1 sqlite: 2.8.17_5 sqlite3: 3.45.1,1 svt-av1: 2.0.0 tiff: 4.4.0_3 uchardet: 0.0.8_1 unixODBC: 2.3.12_1 vmaf: 3.0.0 vulkan-headers: 1.3.283 vulkan-loader: 1.3.283 wayland: 1.22.0 webp: 1.4.0 webrtc-audio-processing0: 0.3.1_3 x265: 3.5_1 xcb-util: 0.4.1,1 xcb-util-image: 0.4.1 xcb-util-keysyms: 0.4.1 xcb-util-renderutil: 0.3.10 xcb-util-wm: 0.4.2 xdg-utils: 1.1.3_4 xkeyboard-config: 2.41_4 xorg-fonts-truetype: 7.7_1 xorgproto: 2023.2 xprop: 1.2.7 xset: 1.2.5_1 xxhash: 0.8.2_1 zstd: 1.5.6 Number of packages to be installed: 270 The process will require 3 GiB more space. Proceed with this action? [y/N]: ``` ``` pkg install qt5-buildtools qt5-core qt5-gui qt5-linguisttools qt5-testlib qt5-widgets Updating local repository catalogue... local repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 79 package(s) will be affected (of 0 checked): New packages to be INSTALLED: brotli: 1.1.0,1 dbus: 1.14.10_5,1 dejavu: 2.37_3 double-conversion: 3.3.0 encodings: 1.1.0,1 expat: 2.6.2 font-bh-ttf: 1.0.3_5 font-misc-ethiopic: 1.0.4 font-misc-meltho: 1.0.3_5 fontconfig: 2.15.0_2,1 freetype2: 2.13.2 gettext-runtime: 0.22.5 glib: 2.80.0,2 graphite2: 1.3.14 harfbuzz: 8.4.0 hicolor-icon-theme: 0.17 icu: 74.2_1,1 indexinfo: 0.3.1 jpeg-turbo: 3.0.2 libICE: 1.1.0_2,1 libSM: 1.2.3_1,1 libX11: 1.8.9,1 libXau: 1.0.9_1 libXdmcp: 1.1.5 libXext: 1.3.6,1 libXfixes: 6.0.0_1 libXi: 1.8_1,1 libXmu: 1.1.4,1 libXrender: 0.9.10_2 libXt: 1.3.0,1 libepoll-shim: 0.0.20230411 libevdev: 1.13.1 libffi: 3.4.4_1 libfontenc: 1.1.8 libglvnd: 1.7.0 libgudev: 237 libiconv: 1.17_1 libinput: 1.25.0 liblz4: 1.9.4_1,1 libmtdev: 1.1.6_1 libudev-devd: 0.5.2 libwacom: 1.5_1 libxcb: 1.17.0 libxkbcommon: 1.6.0_2 libxml2: 2.11.7 mkfontscale: 1.2.3 mpdecimal: 4.0.0 pcre2: 10.43 png: 1.6.43 py39-evdev: 1.6.0 py39-packaging: 24.0 py39-pyudev: 0.22.0 py39-setuptools: 63.1.0_1 py39-six: 1.16.0 python39: 3.9.18_2 qt5-buildtools: 5.15.13p142 qt5-core: 5.15.13p142 qt5-dbus: 5.15.13p142 qt5-gui: 5.15.13p142 qt5-linguisttools: 5.15.13p4 qt5-network: 5.15.13p142 qt5-testlib: 5.15.13p142 qt5-widgets: 5.15.13p142 qt5-xml: 5.15.13p142 readline: 8.2.10 vulkan-headers: 1.3.283 wayland: 1.22.0 xcb-util: 0.4.1,1 xcb-util-image: 0.4.1 xcb-util-keysyms: 0.4.1 xcb-util-renderutil: 0.3.10 xcb-util-wm: 0.4.2 xdg-utils: 1.1.3_4 xkeyboard-config: 2.41_4 xorg-fonts-truetype: 7.7_1 xorgproto: 2023.2 xprop: 1.2.7 xset: 1.2.5_1 zstd: 1.5.6 Number of packages to be installed: 79 The process will require 381 MiB more space. Proceed with this action? [y/N]: ``` ACKs for top commit: hebasto: re-ACK dace02f99d4a8785567732c0d687517175765bfd. Tree-SHA512: 388fccb91ed677326592f5f73fa9ff7f341886a44b56364dfb1a683f29cd988e8751f64f645f200a01725086c789ebf9cabdaf412eb1cde742c8d7efc5165d94
2024-04-24doc: suggest only necessary Qt packages for installation on FreeBSDVasil Dimov
The previously suggested `qt5` package is a meta package that does not install anything itself but depends on a bunch of others and is used as a convenience to install "everything" Qt5 related: 270 packages / 3 GiB. We only need a subset of those which amounts to 79 packages / 381 MiB, so suggest just that. For comparison: ``` pkg install qt5 Updating local repository catalogue... local repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 270 package(s) will be affected (of 0 checked): New packages to be INSTALLED: Imath: 3.1.11 abseil: 20230125.3 alsa-lib: 1.2.11 alsa-plugins: 1.2.7.1_3 aom: 3.8.2 assimp: 5.4.0 avahi-app: 0.8_2 brotli: 1.1.0,1 consolekit2: 1.2.6_3 cups: 2.4.7_2 curl: 8.7.1 cyrus-sasl: 2.1.28_4 dav1d: 1.4.1 dbus: 1.14.10_5,1 dbus-glib: 0.112_1 dejavu: 2.37_3 dotconf: 1.3_1 double-conversion: 3.3.0 duktape-lib: 2.7.0 encodings: 1.1.0,1 espeak-ng: 1.51.1_5 expat: 2.6.2 ffmpeg: 6.1.1_5,1 fftw3: 3.3.10_5 fftw3-float: 3.3.10_5 flac: 1.4.3_1,1 font-bh-ttf: 1.0.3_5 font-misc-ethiopic: 1.0.4 font-misc-meltho: 1.0.3_5 fontconfig: 2.15.0_2,1 freetds: 1.4.12,1 freetype2: 2.13.2 fribidi: 1.0.13_1 gdbm: 1.23 gdk-pixbuf2: 2.42.10_2 gettext-runtime: 0.22.5 giflib: 5.2.1_1 glib: 2.80.0,2 gmp: 6.3.0 gnome_subr: 1.0 gnutls: 3.8.5_1 graphite2: 1.3.14 groff: 1.23.0_3 gstreamer1: 1.22.10 gstreamer1-plugins: 1.22.10_1 gstreamer1-plugins-bad: 1.22.10_2 harfbuzz: 8.4.0 hicolor-icon-theme: 0.17 hidapi: 0.14.0 highway: 1.1.0 hunspell: 1.7.2_1 icu: 74.2_1,1 indexinfo: 0.3.1 iso-codes: 4.15.0 jasper: 4.2.3 jbigkit: 2.1_2 jpeg-turbo: 3.0.2 jsoncpp: 1.9.5 lame: 3.100_5 lcms2: 2.16_1 libICE: 1.1.0_2,1 libSM: 1.2.3_1,1 libX11: 1.8.9,1 libXScrnSaver: 1.2.4_1 libXau: 1.0.9_1 libXcomposite: 0.4.6_1,1 libXcursor: 1.2.2 libXdamage: 1.1.6 libXdmcp: 1.1.5 libXext: 1.3.6,1 libXfixes: 6.0.0_1 libXi: 1.8_1,1 libXmu: 1.1.4,1 libXrandr: 1.5.2_1 libXrender: 0.9.10_2 libXt: 1.3.0,1 libXtst: 1.2.3_3 libXv: 1.0.12_1,1 libass: 0.17.1_2 libcbor: 0.11.0 libcjson: 1.7.17 libdaemon: 0.14_1 libdeflate: 1.20 libdrm: 2.4.120_1,1 libedit: 3.1.20230828_1,1 libepoll-shim: 0.0.20230411 libevdev: 1.13.1 libevent: 2.1.12 libffi: 3.4.4_1 libfido2: 1.14.0 libfontenc: 1.1.8 libgcrypt: 1.10.3_1 libglvnd: 1.7.0 libgpg-error: 1.48 libgudev: 237 libiconv: 1.17_1 libidn2: 2.3.7 libinput: 1.25.0 libjxl: 0.10.2 libltdl: 2.4.7 liblz4: 1.9.4_1,1 libmng: 2.0.3_1 libmtdev: 1.1.6_1 libmysofa: 1.3.2 libnghttp2: 1.61.0 libnice: 0.1.21_2 libogg: 1.3.5,4 libpaper: 1.1.28_1 libpci: 3.12.0 libpciaccess: 0.18 libplacebo: 6.338.2 libpsl: 0.21.5 libsndfile: 1.2.2_1 libsoxr: 0.1.3_3 libssh2: 1.11.0_1,3 libtasn1: 4.19.0_1 libudev-devd: 0.5.2 libunibreak: 6.1,1 libunistring: 1.2 libunwind: 20240221 libv4l: 1.23.0_4 libva: 2.21.0 libvdpau: 1.5 libvorbis: 1.3.7_2,3 libvpx: 1.14.0 libwacom: 1.5_1 libx264: 0.164.3095 libxcb: 1.17.0 libxkbcommon: 1.6.0_2 libxkbfile: 1.1.3 libxml2: 2.11.7 libxslt: 1.1.37_1 llvm15: 15.0.7_10 lua53: 5.3.6_1 minizip: 1.2.11_1 mkfontscale: 1.2.3 mpdecimal: 4.0.0 mpg123: 1.32.5 mysql80-client: 8.0.35 nettle: 3.9.1 nspr: 4.35 nss: 3.99 openal-soft: 1.21.1_4 openexr: 3.2.4 openh264: 2.3.0,2 openldap26-client: 2.6.7 opus: 1.5.2 orc: 0.4.36 p11-kit: 0.25.3_2 pcaudiolib: 1.2_1 pciids: 20240331 pcre2: 10.43 perl5: 5.36.3_1 png: 1.6.43 polkit: 124_3 postgresql15-client: 15.6 psutils: 1.17_6 pulseaudio: 16.1_4 py39-evdev: 1.6.0 py39-packaging: 24.0 py39-pyudev: 0.22.0 py39-setuptools: 63.1.0_1 py39-six: 1.16.0 python39: 3.9.18_2 qt5: 5.15.13 qt5-3d: 5.15.13p0 qt5-assistant: 5.15.13p4 qt5-buildtools: 5.15.13p142 qt5-charts: 5.15.13p0 qt5-concurrent: 5.15.13p142 qt5-connectivity: 5.15.13p4 qt5-core: 5.15.13p142 qt5-datavis3d: 5.15.13p0 qt5-dbus: 5.15.13p142 qt5-declarative: 5.15.13p30 qt5-declarative-test: 5.15.13p30 qt5-designer: 5.15.13p4 qt5-doc: 5.12.2 qt5-examples: 5.15.13 qt5-gamepad: 5.15.13p0 qt5-graphicaleffects: 5.15.13p0 qt5-gui: 5.15.13p142 qt5-help: 5.15.13p4 qt5-imageformats: 5.15.13p7 qt5-l10n: 5.15.13p0 qt5-linguist: 5.15.13p4 qt5-linguisttools: 5.15.13p4 qt5-location: 5.15.13p6 qt5-multimedia: 5.15.13p2 qt5-network: 5.15.13p142 qt5-networkauth: 5.15.13p0 qt5-opengl: 5.15.13p142 qt5-pixeltool: 5.15.13p4 qt5-printsupport: 5.15.13p142 qt5-qdbus: 5.15.13p4 qt5-qdbusviewer: 5.15.13p4 qt5-qdoc: 5.15.13p4 qt5-qdoc-data: 5.15.13 qt5-qev: 5.15.13p4 qt5-qmake: 5.15.13p142 qt5-qtdiag: 5.15.13p4 qt5-qtpaths: 5.15.13p4 qt5-qtplugininfo: 5.15.13p4 qt5-quick3d: 5.15.13p1 qt5-quickcontrols: 5.15.13p0 qt5-quickcontrols2: 5.15.13p5 qt5-quicktimeline: 5.15.13p0 qt5-remoteobjects: 5.15.13p0 qt5-script: 5.15.16p0_2 qt5-scripttools: 5.15.16p0_1 qt5-scxml: 5.15.13p0 qt5-sensors: 5.15.13p0 qt5-serialbus: 5.15.13p0 qt5-serialport: 5.15.13p0 qt5-speech: 5.15.13p1 qt5-sql: 5.15.13p142 qt5-sqldrivers-mysql: 5.15.13p142 qt5-sqldrivers-odbc: 5.15.13p142 qt5-sqldrivers-pgsql: 5.15.13p142 qt5-sqldrivers-sqlite2: 5.15.13p142 qt5-sqldrivers-sqlite3: 5.15.13p142 qt5-sqldrivers-tds: 5.15.13p142 qt5-svg: 5.15.13p6 qt5-testlib: 5.15.13p142 qt5-uiplugin: 5.15.13p4 qt5-uitools: 5.15.13p4 qt5-virtualkeyboard: 5.15.13p0 qt5-webchannel: 5.15.13p3 qt5-webengine: 5.15.16.p9 qt5-webglplugin: 5.15.13p0 qt5-websockets: 5.15.13p2 qt5-websockets-qml: 5.15.13p2 qt5-webview: 5.15.13p0 qt5-widgets: 5.15.13p142 qt5-x11extras: 5.15.13p0 qt5-xml: 5.15.13p142 qt5-xmlpatterns: 5.15.13p0 re2: 20240401 readline: 8.2.10 shaderc: 2024.0 shared-mime-info: 2.2_2 snappy: 1.2.0 speech-dispatcher: 0.11.2_4 speexdsp: 1.2.1 sqlite: 2.8.17_5 sqlite3: 3.45.1,1 svt-av1: 2.0.0 tiff: 4.4.0_3 uchardet: 0.0.8_1 unixODBC: 2.3.12_1 vmaf: 3.0.0 vulkan-headers: 1.3.283 vulkan-loader: 1.3.283 wayland: 1.22.0 webp: 1.4.0 webrtc-audio-processing0: 0.3.1_3 x265: 3.5_1 xcb-util: 0.4.1,1 xcb-util-image: 0.4.1 xcb-util-keysyms: 0.4.1 xcb-util-renderutil: 0.3.10 xcb-util-wm: 0.4.2 xdg-utils: 1.1.3_4 xkeyboard-config: 2.41_4 xorg-fonts-truetype: 7.7_1 xorgproto: 2023.2 xprop: 1.2.7 xset: 1.2.5_1 xxhash: 0.8.2_1 zstd: 1.5.6 Number of packages to be installed: 270 The process will require 3 GiB more space. Proceed with this action? [y/N]: ``` ``` pkg install qt5-buildtools qt5-core qt5-gui qt5-linguisttools qt5-testlib qt5-widgets Updating local repository catalogue... local repository is up to date. All repositories are up to date. Checking integrity... done (0 conflicting) The following 79 package(s) will be affected (of 0 checked): New packages to be INSTALLED: brotli: 1.1.0,1 dbus: 1.14.10_5,1 dejavu: 2.37_3 double-conversion: 3.3.0 encodings: 1.1.0,1 expat: 2.6.2 font-bh-ttf: 1.0.3_5 font-misc-ethiopic: 1.0.4 font-misc-meltho: 1.0.3_5 fontconfig: 2.15.0_2,1 freetype2: 2.13.2 gettext-runtime: 0.22.5 glib: 2.80.0,2 graphite2: 1.3.14 harfbuzz: 8.4.0 hicolor-icon-theme: 0.17 icu: 74.2_1,1 indexinfo: 0.3.1 jpeg-turbo: 3.0.2 libICE: 1.1.0_2,1 libSM: 1.2.3_1,1 libX11: 1.8.9,1 libXau: 1.0.9_1 libXdmcp: 1.1.5 libXext: 1.3.6,1 libXfixes: 6.0.0_1 libXi: 1.8_1,1 libXmu: 1.1.4,1 libXrender: 0.9.10_2 libXt: 1.3.0,1 libepoll-shim: 0.0.20230411 libevdev: 1.13.1 libffi: 3.4.4_1 libfontenc: 1.1.8 libglvnd: 1.7.0 libgudev: 237 libiconv: 1.17_1 libinput: 1.25.0 liblz4: 1.9.4_1,1 libmtdev: 1.1.6_1 libudev-devd: 0.5.2 libwacom: 1.5_1 libxcb: 1.17.0 libxkbcommon: 1.6.0_2 libxml2: 2.11.7 mkfontscale: 1.2.3 mpdecimal: 4.0.0 pcre2: 10.43 png: 1.6.43 py39-evdev: 1.6.0 py39-packaging: 24.0 py39-pyudev: 0.22.0 py39-setuptools: 63.1.0_1 py39-six: 1.16.0 python39: 3.9.18_2 qt5-buildtools: 5.15.13p142 qt5-core: 5.15.13p142 qt5-dbus: 5.15.13p142 qt5-gui: 5.15.13p142 qt5-linguisttools: 5.15.13p4 qt5-network: 5.15.13p142 qt5-testlib: 5.15.13p142 qt5-widgets: 5.15.13p142 qt5-xml: 5.15.13p142 readline: 8.2.10 vulkan-headers: 1.3.283 wayland: 1.22.0 xcb-util: 0.4.1,1 xcb-util-image: 0.4.1 xcb-util-keysyms: 0.4.1 xcb-util-renderutil: 0.3.10 xcb-util-wm: 0.4.2 xdg-utils: 1.1.3_4 xkeyboard-config: 2.41_4 xorg-fonts-truetype: 7.7_1 xorgproto: 2023.2 xprop: 1.2.7 xset: 1.2.5_1 zstd: 1.5.6 Number of packages to be installed: 79 The process will require 381 MiB more space. Proceed with this action? [y/N]: ```
2024-04-24doc: Suggest only necessary Qt packages for installation on OpenBSDHennadii Stepanov
The currently suggested `qt5` installs many unneeded dependencies, for example, `qtsensors`, `qtspeech` etc.
2024-04-23Merge bitcoin/bitcoin#24313: Improve display address handling for external ↵Ava Chow
signer 4357158c4712d479522d5cd441ad4dd1693fdd05 wallet: return and display signer error (Sjors Provoost) dc55531087478d01fbde4f5fbb75375b672960c3 wallet: compare address returned by displayaddress (Sjors Provoost) 6c1a2cc09a00baa6ff3ff34455c2243b43067fb5 test: use h marker for external signer mock (Sjors Provoost) Pull request description: * HWI returns the requested address: as a sanity check, we now compare that to what we expected * external signer documentation now reflects that HWI alternatives must implement this check * both RPC and GUI will now return an error text, rather than just fail (the GUI even failed silently in some cases) ACKs for top commit: brunoerg: ACK 4357158c4712d479522d5cd441ad4dd1693fdd05 achow101: ACK 4357158c4712d479522d5cd441ad4dd1693fdd05 Tree-SHA512: 4f56edf3846745c8e7d08ef55cf29e8bb468256457149377c5f02da097931f9ca0c06bdbd856dc2385cde4fd11e4dc3b634c5a48814ff27f5562c8a25d43da93
2024-04-23Merge bitcoin/bitcoin#28974: doc: explain what the wallet password doesAva Chow
55b13ecd2e00ad2dbfd44c34d7de6f616590adf8 doc: explain what the wallet password does (Brandon Odiwuor) Pull request description: Fixes https://github.com/bitcoin/bitcoin/issues/18085 Add a document explaining what the wallet `passphrase` does ACKs for top commit: fjahr: ACK 55b13ecd2e00ad2dbfd44c34d7de6f616590adf8 achow101: ACK 55b13ecd2e00ad2dbfd44c34d7de6f616590adf8 Tree-SHA512: 6cc621269fe51ba7bd5d859427906a520e989bebcb274b08017c9900a4d781a165fc62dea46ed45aa48239cacd3c1f6eb4dd0c916be940d680a03266109716b0
2024-04-22Merge bitcoin/bitcoin#27679: ZMQ: Support UNIX domain socketsAva Chow
21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86 doc: release notes for PR 27679 (Matthew Zipkin) 791dea204ecde9b500ec243b4e16fc601998ec84 test: cover unix sockets in zmq interface (Matthew Zipkin) c87b0a0ff4cb6d83bb59360ac4453f6daa871177 zmq: accept unix domain socket address for notifier (Matthew Zipkin) Pull request description: This is a follow-up to https://github.com/bitcoin/bitcoin/pull/27375, allowing ZMQ notifications to be published to a UNIX domain socket. Fortunately, libzmq handles unix sockets already, all we really have to do to support it is allow the format in the actual option. [libzmq](https://libzmq.readthedocs.io/en/latest/zmq_ipc.html) uses the prefix `ipc://` as opposed to `unix:` which is [used by Tor](https://gitlab.torproject.org/tpo/core/tor/-/blob/main/doc/man/tor.1.txt?ref_type=heads#L1475) and now also by [bitcoind](https://github.com/bitcoin/bitcoin/blob/a85e5a7c9ab75209bc88e49be6991ba0a467034e/doc/release-notes-27375.md?plain=1#L5) so we need to switch that internally. As far as I can tell, [LND](https://github.com/lightninglabs/gozmq/blob/d20a764486bf506bc045642e455bc7f0d21b232a/zmq.go#L38) supports `ipc://` and `unix://` (notice the double slashes). With this patch, LND can connect to bitcoind using unix sockets: Example: *bitcoin.conf*: ``` zmqpubrawblock=unix:/tmp/zmqsb zmqpubrawtx=unix:/tmp/zmqst ``` *lnd.conf*: ``` bitcoind.zmqpubrawblock=ipc:///tmp/zmqsb bitcoind.zmqpubrawtx=ipc:///tmp/zmqst ``` ACKs for top commit: laanwj: Code review ACK 21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86 tdb3: crACK for 21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86. Changes lgtm. Will follow up with some testing within the next few days as time allows. achow101: ACK 21d0e6c7b7c7af7f6e54a45829b4fbfba6923b86 guggero: Tested and code review ACK 21d0e6c7b7c7 Tree-SHA512: ffd50222e80dd029d903e5ddde37b83f72dfec1856a3f7ce49da3b54a45de8daaf80eea1629a30f58559f4b8ded0b29809548c0638cd1c2811b2736ad8b73030
2024-04-22doc: explain what the wallet password doesBrandon Odiwuor
2024-04-18[doc] update release-process.md and backports section of CONTRIBUTINGglozow
- Mention which directories contain the respective unsigned tarballs - Clarify that bitcoin.conf might not need to be updated - Specify where to put historical release notes if there is already something in release-notes.md - Clarify what exactly is the problem with running guix-codesign more than once - Correct number: 6 codesigned attestations are needed before uploading binaries - Remove scp command which is outdated - Remove server path which is outdated - Specify that translations update should happen before branch-off, not before each release candidate - Mention that you should notify lists when RCs are available - Put "Archive the release notes" as a separate step, since creating the github release has a dependency on it. - Put bitcoincore.org website updates as a separate step, since updating packaging repos may have a dependency on it. - Update "bitcoin-dev mailing list" to "bitcoin-dev group" - Document that maintainers should create PRs to collect backports - Remove section about not uploading `*-debug` files, reader should upload all build artifacts. - Torrent is created automatically, so delete instructions. - Mention that server also generates ots file automatically.
2024-04-17Merge bitcoin/bitcoin#28373: doc: Add example of mixing private and public ↵Ava Chow
keys in descriptors 24b67fa9f602cdeac0e9736256f77d048f616c48 doc: Add example of mixing private and public keys in descriptors (Anton A) Pull request description: closes: #27414 ACKs for top commit: achow101: ACK 24b67fa9f602cdeac0e9736256f77d048f616c48 alfonsoromanz: Re ACK 24b67fa9f602cdeac0e9736256f77d048f616c48 Tree-SHA512: 8c063f23199ac0ff35909f786a5b0de1b4a9b15d1e93bdcdac10cb4bd2002c12e99b6fb1c2e56d16971e7622b67d910b79088429df92c48279be2d7797049911
2024-04-16doc: release notes for PR 27679Matthew Zipkin
2024-04-16wallet: compare address returned by displayaddressSjors Provoost
Update external signer documentation to reflect this requirement, which HWI already implements.
2024-04-16doc: archive 27.0 release notesfanquake
2024-04-08Merge bitcoin/bitcoin#29690: clang-tidy: Enable misc-no-recursionfanquake
78407b99ed6dd17f687fcbfb0486ecc433302287 [clang-tidy] Enable the misc-no-recursion check (dergoegge) Pull request description: Recursion is a frequent source of stack overflow bugs. Secondly, introduction of recursion can be non-obvious. This PR proposes to use the clang-tidy `misc-no-recursion` check to make introduction of new recursion obvious. We don't make use of recursion a lot in our code base but there are a few places that need suppressions anyway (mostly the descriptor and univalue/rpc code). ACKs for top commit: stickies-v: ACK 78407b99ed6dd17f687fcbfb0486ecc433302287 TheCharlatan: Re-ACK 78407b99ed6dd17f687fcbfb0486ecc433302287 fanquake: ACK 78407b99ed6dd17f687fcbfb0486ecc433302287 Tree-SHA512: 34126d704c46086fe7371906ca852c25ced1dbd5fcfd85bf623810cd171a797569a92a33c7e26b8dc01c30c7bbf81aa326718926e8354585091411989a4edb14
2024-04-08doc: 25.2 historical release notesAva Chow
2024-04-07[clang-tidy] Enable the misc-no-recursion checkdergoegge
Co-authored-by: stickies-v <stickies-v@protonmail.com> Co-authored-by: Gloria Zhao <gloriajzhao@gmail.com>
2024-04-05depends: libnatpmp f2433bec24ca3d3f22a8a7840728a3ac177f94bafanquake
This includes once CMake related change I upstreamed: https://github.com/miniupnp/libnatpmp/pull/43.
2024-04-04doc: i2p: improve `-i2pacceptincoming` mentionbrunoerg
2024-04-03Merge bitcoin/bitcoin#29782: doc: Update the developer mailing list address.fanquake
0ead466a0c72bef0a8622749b84e9c7c5c37144f Update the developer mailing list address. (Edil Medeiros) Pull request description: The developer mailing list was migrated to Google Groups in February 2024 as announced in https://groups.google.com/g/bitcoindev/c/aewBuV6k-LI. In this patch, I decided to add a link to the [archives maintained by the Linux Foundation](https://lists.linuxfoundation.org/pipermail/bitcoin-dev/) as linked in the [old mailing list page](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev). A reasonable alternative would be link to the [new archives](https://gnusha.org/pi/bitcoindev/) linked in the [migration announcement message](https://groups.google.com/g/bitcoindev/c/aewBuV6k-LI). I'm not sure about the status of the archive migration, probably the old archives are more comprehensive to this date. ACKs for top commit: josibake: reACK https://github.com/bitcoin/bitcoin/commit/0ead466a0c72bef0a8622749b84e9c7c5c37144f Sjors: ACK 0ead466a0c72bef0a8622749b84e9c7c5c37144f Zero-1729: crACK 0ead466a0c72bef0a8622749b84e9c7c5c37144f Tree-SHA512: c29296a45a65f342df03faffa49e7dc1469d78e96074a7dbc82d89fc3f45179e4828015cbb6400b44830d6bb7fc23869abf2b8a7070196b03f99fbb0158bb343
2024-04-02Update the developer mailing list address.Edil Medeiros
The developer mailing list was migrated to Google Groups in February 2024 as announced in https://groups.google.com/g/bitcoindev/c/aewBuV6k-LI. The archives maintained by the Linux Foundation stopped updating in December 2024. Thus, we point to the new archive maintained by gnusha.org. The codebase refers to old discussions linked to the Linux Foundation archives. Since all links are still active to this date, we keep them as they are. See #29782.
2024-04-02[doc] add historical release notes for 26.1glozow
2024-04-01Merge bitcoin/bitcoin#29648: Remove libbitcoinconsensusfanquake
80f8b92f4f2311b9e9a25361c9dd973244e6f95c remove libbitcoinconsensus (fanquake) Pull request description: This was deprecated in `v27.0`, for removal in `v28.0`. See discussion in PR #29189. ACKs for top commit: theuni: Concept ACK and light review ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c. My only hesitation here is that (afaics?) there's now nothing keeping undesired features like threading or globals from working their way into the interpreter in future commits. m3dwards: Concept ACK https://github.com/bitcoin/bitcoin/pull/29648/commits/80f8b92f4f2311b9e9a25361c9dd973244e6f95c TheCharlatan: ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c hebasto: ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c, I have reviewed the code and it looks OK. Tree-SHA512: 17a62118aeb088f2695c892bb32794dfea3061e3cb7d9e8e9f1c06c3ff6f63a7587fa532e37edbb91fbc5a19b12c9a0f8e05fa9e8864aa07f92665375d847e80
2024-04-01Merge bitcoin/bitcoin#29756: doc: Override `-g` properly to skip debugging ↵fanquake
information f8f5cece4dfda5c614e087be75af074181a36c39 doc: Override `-g` properly to skip debugging information (Hennadii Stepanov) Pull request description: Fix https://github.com/bitcoin/bitcoin/issues/29755. ACKs for top commit: TheCharlatan: ACK f8f5cece4dfda5c614e087be75af074181a36c39 Tree-SHA512: 02bff5fc41859deb914531ef01ea1ac88ab2e138219fe175472962192b11feefe772128da03f466ec765c1b35b21eead31a42cc76e62ecb7ea5dc947cf568d61
2024-04-01Merge bitcoin/bitcoin#29732: depends: qt 5.15.13fanquake
430f319f73894499c56021b70f2827475c3f0433 depends: qt 5.15.13 (fanquake) Pull request description: I need to try and patch around Qts buildsystem to keep #21778 moving along (the issue being that even when you tell Qt to build using Clang on Linux, it still calls out to GCC, breaking our ability to have a macOS release build env that doesn't have a GCC toolchain installed, and thus no `ld` binary). Before trying to patch Qt any further, update to the latest LTS release, and update the current patch set. ACKs for top commit: TheCharlatan: Re-ACK 430f319f73894499c56021b70f2827475c3f0433 hebasto: re-ACK 430f319f73894499c56021b70f2827475c3f0433. Tree-SHA512: 11122c04d63f4ec79e5d7945e1686eaf308cb1f98c3ff8bc52e265d7353cd4f1a532f4d78d55b43183245aeebf93cc1092087d9fe83e42eefa8a69ad9017d2da
2024-03-29doc: Suggest installing dev packages for debian/ubuntu qt5 buildlaanwj
Pretty much all library packages were renamed in the 64-bit time_t migration to add `t64` (even on 64-bit platforms). Instead of complicating the doc with conditional package names, suggest installing the `-dev` packages which still have the same name, and besides that, are the right way to go about it as they contain the "user facing" C++ headers needed to build against Qt5. For Fedora, devel packages are already suggested. This affects Ubuntu 24.04 and Debian Testing.
2024-03-28doc: Override `-g` properly to skip debugging informationHennadii Stepanov
2024-03-27depends: qt 5.15.13fanquake
I need to try and patch around Qts buildsystem to keep #21778 moving along (the issue being that even when you tell Qt to build using Clang on Linux, it still calls out to GCC, breaking our ability to have a macOS release build env that doesn't have a GCC toolchain installed, and thus no ld binary). Before trying to patch Qt any further, update to the latest LTS release, and update the current patch set.
2024-03-25correct '-dbcache' to '-prune'Ben Westgate
2024-03-18remove libbitcoinconsensusfanquake
This was deprecated in v27.0, for removal in v28.0. See discussion in PR #29189.
2024-03-18assumeutxo: Remove BLOCK_ASSUMED_VALID flagRyan Ofsky
Flag adds complexity and is not currently used for anything.
2024-03-15doc: Add example of mixing private and public keys in descriptorsAnton A
2024-03-14build: Bump g++ minimum supported version to 11MarcoFalke
2024-03-13Merge bitcoin/bitcoin#27375: net: support unix domain sockets for -proxy and ↵Ava Chow
-onion 567cec9a05e1261e955535f734826b12341684b6 doc: add release notes and help text for unix sockets (Matthew Zipkin) bfe51928911daf484ae07deb52a7ff0bcb2526ae test: cover UNIX sockets in feature_proxy.py (Matthew Zipkin) c65c0d01630b44fa71321ea7ad68d5f9fbb7aefb init: allow UNIX socket path for -proxy and -onion (Matthew Zipkin) c3bd43142eba77dcf1acd4984e437759f65e237a gui: accomodate unix socket Proxy in updateDefaultProxyNets() (Matthew Zipkin) a88bf9dedd1d8c1db0a9c8b663dab3e3c2f0f030 i2p: construct Session with Proxy instead of CService (Matthew Zipkin) d9318a37ec09fe0b002815a7e48710e530620ae2 net: split ConnectToSocket() from ConnectDirectly() for unix sockets (Matthew Zipkin) ac2ecf3182fb5ad9bcd41540b19382376114d6ee proxy: rename randomize_credentials to m_randomize_credentials (Matthew Zipkin) a89c3f59dc44eaf4f59912c1accfc0ce5d61933a netbase: extend Proxy class to wrap UNIX socket as well as TCP (Matthew Zipkin) 3a7d6548effa6cd9a4a5413b690c2fd85da4ef65 net: move CreateSock() calls from ConnectNode() to netbase methods (Matthew Zipkin) 74f568cb6fd5c74b7b9bf0ce69876430746a53b1 netbase: allow CreateSock() to create UNIX sockets if supported (Matthew Zipkin) bae86c8d318d06818aa75a9ebe3db864197f0bc6 netbase: refactor CreateSock() to accept sa_family_t (Matthew Zipkin) adb3a3e51de205cc69b1a58647c65c04fa6c6362 configure: test for unix domain sockets (Matthew Zipkin) Pull request description: Closes https://github.com/bitcoin/bitcoin/issues/27252 UNIX domain sockets are a mechanism for inter-process communication that are faster than local TCP ports (because there is no need for TCP overhead) and potentially more secure because access is managed by the filesystem instead of serving an open port on the system. There has been work on [unix domain sockets before](https://github.com/bitcoin/bitcoin/pull/9979) but for now I just wanted to start on this single use-case which is enabling unix sockets from the client side, specifically connecting to a local Tor proxy (Tor can listen on unix sockets and even enforces strict curent-user-only access permission before binding) configured by `-onion=` or `-proxy=` I copied the prefix `unix:` usage from Tor. With this patch built locally you can test with your own filesystem path (example): `tor --SocksPort unix:/Users/matthewzipkin/torsocket/x` `bitcoind -proxy=unix:/Users/matthewzipkin/torsocket/x` Prep work for this feature includes: - Moving where and how we create `sockaddr` and `Sock` to accommodate `AF_UNIX` without disturbing `CService` - Expanding `Proxy` class to represent either a `CService` or a UNIX socket (by its file path) Future work: - Enable UNIX sockets for ZMQ (https://github.com/bitcoin/bitcoin/pull/27679) - Enable UNIX sockets for I2P SAM proxy (some code is included in this PR but not tested or exposed to user options yet) - Enable UNIX sockets on windows where supported - Update Network Proxies dialog in GUI to support UNIX sockets ACKs for top commit: Sjors: re-ACK 567cec9a05e1261e955535f734826b12341684b6 tdb3: re ACK for 567cec9a05e1261e955535f734826b12341684b6. achow101: ACK 567cec9a05e1261e955535f734826b12341684b6 vasild: ACK 567cec9a05e1261e955535f734826b12341684b6 Tree-SHA512: de81860e56d5de83217a18df4c35297732b4ad491e293a0153d2d02a0bde1d022700a1131279b187ef219651487537354b9d06d10fde56225500c7e257df92c1
2024-03-12Merge bitcoin/bitcoin#27114: p2p: Allow whitelisting manual connectionsAva Chow
0a533613fb44207053796fd01a9f4b523a3153d4 docs: add release notes for #27114 (brunoerg) e6b8f19de9a6d1c477d0bbda18d17794cd81a6f4 test: add coverage for whitelisting manual connections (brunoerg) c985eb854cc86deb747caea5283c17cf51b6a983 test: add option to speed up tx relay/mempool sync (brunoerg) 66bc6e2d1749f43d7b314aa2784a06af78440170 Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections (Luke Dashjr) 8e06be347c5e14cbe75256eba170e0867f95f360 net_processing: Move extra service flag into InitializeNode (Luke Dashjr) 9133fd69a5cc9a0ab1a06a60d09f1b7e1039018e net: Move `NetPermissionFlags::Implicit` verification to `AddWhitelistPermissionFlags` (Luke Dashjr) 2863d7dddb62d987b3e1c3b8bfad7083f0f774b2 net: store `-whitelist{force}relay` values in `CConnman` (brunoerg) Pull request description: Revives #17167. It allows whitelisting manual connections. Fixes #9923 Since there are some PRs/issues around this topic, I'll list some motivations/comments for whitelisting outbound connections from them: - Speed-up tx relay/mempool sync for testing purposes (my personal motivation for this) - In #26970, theStack pointed out that we whitelist peers to speed up tx relay for fast mempool synchronization, however, since it applies only for inbound connections and considering the topology `node0 <--- node1 <---- node2 <--- ... <-- nodeN`, if a tx is submitted from any node other than node0, the mempool synchronization can take quite long. - https://github.com/bitcoin/bitcoin/pull/29058#issuecomment-1865155764 - "Before enabling -v2transport by default (which I'd image may happen after https://github.com/bitcoin/bitcoin/pull/24748) we could consider a way to force manual connections to be only-v1 or even only-v2 (disabling reconnect-with-v1). A possibility could be through a net permission flag, if https://github.com/bitcoin/bitcoin/pull/27114 makes it in." - https://github.com/bitcoin/bitcoin/pull/17167#issuecomment-1168606032 - "This would allow us to use https://github.com/bitcoin/bitcoin/pull/25355 when making outgoing connections to all nodes, except to whitelisted ones for which we would use our persistent I2P address." - Force-relay/mempool permissions for a node you intentionally connected to. ACKs for top commit: achow101: ACK 0a533613fb44207053796fd01a9f4b523a3153d4 sr-gi: re-ACK [0a53361](https://github.com/bitcoin/bitcoin/pull/27114/commits/0a533613fb44207053796fd01a9f4b523a3153d4) pinheadmz: ACK 0a533613fb44207053796fd01a9f4b523a3153d4 Tree-SHA512: 97a79bb854110da04540897d2619eda409d829016aafdf1825ab5515334b0b42ef82f33cd41587af235b3af6ddcec3f2905ca038b5ab22e4c8a03d34f27aebe1
2024-03-08doc: Wrap flags with code in developer-notes.mdspicyzboss
2024-03-05Merge bitcoin/bitcoin#29544: doc: update signet faucet link in ↵fanquake
offline-signing-tutorial.md 990b348912ac8cf107d7111632d3f6fb7298f36b doc: update signet faucet link in offline-signing-tutorial.md (Supachai Kheawjuy) Pull request description: https://signet.bc-2.jp is broken and https://signetfaucet.com is the same as before. https://signet.bc-2.jp from archive.org <img width="1258" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/36817aa6-95ea-427d-8d1d-93e21af86dce"> https://signetfaucet.com <img width="1242" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/e3248fb0-8a6d-45b3-9268-d883d2385c8f"> reference: https://en.bitcoin.it/wiki/Signet#Faucets ACKs for top commit: fanquake: ACK 990b348912ac8cf107d7111632d3f6fb7298f36b Tree-SHA512: 482c931168a162cc666ecbe610e80d94ae433ebdc6bc52832bcc40c58592f9d9b8c7f1aea6faa2739873e80c6d4ea70c8a4f78d18067d1739e8070effce83062