Return-Path: Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 36C60C002A for ; Fri, 26 May 2023 10:39:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 099864055E for ; Fri, 26 May 2023 10:39:31 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 099864055E Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20221208 header.b=KIxCatrj X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: 1 X-Spam-Level: * X-Spam-Status: No, score=1 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, PDS_OTHER_BAD_TLD=1.999, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URI_HEX=0.1] autolearn=no autolearn_force=no Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Pcaux5W_juBF for ; Fri, 26 May 2023 10:39:29 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org A78FF40289 Received: from mail-yb1-xb43.google.com (mail-yb1-xb43.google.com [IPv6:2607:f8b0:4864:20::b43]) by smtp2.osuosl.org (Postfix) with ESMTPS id A78FF40289 for ; Fri, 26 May 2023 10:39:29 +0000 (UTC) Received: by mail-yb1-xb43.google.com with SMTP id 3f1490d57ef6-ba81f71dfefso1055126276.0 for ; Fri, 26 May 2023 03:39:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685097568; x=1687689568; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+jktueR/TQVnGcIePhiYx1SI986g3MOKpoDUe/bDTHU=; b=KIxCatrjj92K85ksPni12Gtz0k79S15MFcJtkq2K4b2pCfDnXSyKnCZfV8EaPFj10F h5FW9Cto8ZcV55d1N0U7I3Cxui5opr4ro4cadqQjdJGOyNkwIfwxp5yluD+Ra2+306D4 hzhUPLpMtrUamSBWidgiX4ZYr7vgTnBcYgqCtGhqjo8Q8qJxlku4uB9wsFYONsp3rES1 m3moLonUwbrLiwCGJTEdhxf5V2XpB0hSCjtyrG7pmZCyFWg1YgWWw3AZEASshaSnY7Wu F7+n7kAW224Ec/4Ah7Y0bNMzc/2HtwnqQvNZLSH78Fj2uLOv+ulkyPoxCJ5RuaUTM310 T/kA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685097568; x=1687689568; h=content-transfer-encoding:to:subject:message-id:date:from :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+jktueR/TQVnGcIePhiYx1SI986g3MOKpoDUe/bDTHU=; b=XgG4otwZtaNrKmz3nakcux/N6K8Vc1YkHeJT8i4rWZm4BtbaQg5QF/vDSHmUSKYO20 bbTkdD+HgMIbx06z7T8b7WMYLPDDDtZcwNbb6Rr6VOHZQM9GbgHYNz+RCyLSDtUfCOXC ld4X8Y3qWLizsFE+dXkB11KpTP/U/2+O5RlKUqyXeimgsA9gRvIXKg5ugfZDPrAu3EN1 ecCwtuT+wjpOqNaL8xA52+FjDbVSJ0PsIy+WvzmNnEaxg2ZW/BZ6lEA3+ZzmAfIU9HFB jIQPAH0mSsdkE4JkDKUAO+V0T1TFLm3+xEBqNWn51R4Mx+a8t6tTf1vE8acvNGBCV/2y xvow== X-Gm-Message-State: AC+VfDynPoTPTg+R2sA0mPrSMEhIN3fUbLIf8iBVO+/SID/LGTfTI7wP AilJmhbCfJCBXyzmjKIydmLv8yO+O6mWLUAFDkcpgDJMTZmy4wv3 X-Google-Smtp-Source: ACHHUZ4V0wAIiVxl32zVoc9Knt/rMl1tqqqz+i+jRSv6k/B9tXPtjC0lMsq3nE/+wRMXbrYYbio83qLYxiZ32Irdo8k= X-Received: by 2002:a25:6845:0:b0:ba8:1bf7:ec65 with SMTP id d66-20020a256845000000b00ba81bf7ec65mr1238873ybc.34.1685097568401; Fri, 26 May 2023 03:39:28 -0700 (PDT) MIME-Version: 1.0 From: Michael Ford Date: Fri, 26 May 2023 11:39:17 +0100 Message-ID: To: bitcoin-dev@lists.linuxfoundation.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Fri, 26 May 2023 15:27:10 +0000 Subject: [bitcoin-dev] Bitcoin Core 25.0 released X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 May 2023 10:39:31 -0000 Bitcoin Core version v25.0 is now available from: https://bitcoincore.org/bin/bitcoin-core-25.0/ Or through BitTorrent: magnet:?xt=3Durn:btih:092358777175c4306602f9b1b523738df4b4610b&dn=3Dbit= coin-core-25.0&tr=3Dudp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=3Dudp%3A= %2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=3Dudp%3A%2F%2Ftracker.cop= persurfer.tk%3A6969%2Fannounce&tr=3Dudp%3A%2F%2Ftracker.leechers-paradise.o= rg%3A6969%2Fannounce&tr=3Dudp%3A%2F%2Fexplodie.org%3A6969%2Fannounce&tr=3Du= dp%3A%2F%2Ftracker.torrent.eu.org%3A451%2Fannounce&tr=3Dudp%3A%2F%2Ftracker= .bitcoin.sprovoost.nl%3A6969&ws=3Dhttp%3A%2F%2Fbitcoincore.org%2Fbin%2F This release includes new features, various bug fixes and performance improvements, as well as updated translations. Please report bugs using the issue tracker at GitHub: To receive security and update notifications, please subscribe to: How to Upgrade =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D If you are running an older version, shut it down. Wait until it has comple= tely shut down (which might take a few minutes in some cases), then run the installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on mac= OS) or `bitcoind`/`bitcoin-qt` (on Linux). Upgrading directly from a version of Bitcoin Core that has reached its EOL = is possible, but it might take some time if the data directory needs to be migrated. Old wallet versions of Bitcoin Core are generally supported. Compatibility =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Bitcoin Core is supported and extensively tested on operating systems using the Linux kernel, macOS 10.15+, and Windows 7 and newer. Bitcoin Core should also work on most other Unix-like systems but is not as frequently tested on them. It is not recommended to use Bitcoin Core on unsupported systems. Notable changes =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D P2P and network changes ----------------------- - Transactions of non-witness size 65 bytes and above are now allowed by me= mpool and relay policy. This is to better reflect the actual afforded protectio= ns against CVE-2017-12842 and open up additional use-cases of smaller transaction sizes. (#26265) New RPCs -------- - The scanblocks RPC returns the relevant blockhashes from a set of descriptors by scanning all blockfilters in the given range. It can be used in combination with the getblockheader and rescanblockchain RPCs to achieve fast wallet rescans. Note that this functionality can only be used if a compact block filter index (-blockfilterindex=3D1) has been constructed by the node. (#23549) Updated RPCs ------------ - All JSON-RPC methods accept a new [named parameter](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-in= terface.md#parameter-passing) called `args` that can contain positional parameter values. This is a convenience to allow some parameter values to be passed by name without having to name every value.= The python test framework and `bitcoin-cli` tool both take advantage of this,= so for example: ```sh bitcoin-cli -named createwallet wallet_name=3Dmywallet load_on_startup=3D1 ``` Can now be shortened to: ```sh bitcoin-cli -named createwallet mywallet load_on_startup=3D1 ``` - The `verifychain` RPC will now return `false` if the checks didn't fail, but couldn't be completed at the desired depth and level. This could be d= ue to missing data while pruning, due to an insufficient dbcache or due to the node being shutdown before the call could finish. (#25574) - `sendrawtransaction` has a new, optional argument, `maxburnamount` with a default value of `0`. Any transaction containing an unspendable output with a value greater than `maxburnamount` will not be submitted. At present, the outputs deemed unspendable are those with scripts that begin with an `OP_RETURN` code (known as 'datacarriers'), scripts that exceed the maximum script size, and scripts that contain invalid opcodes. - The `testmempoolaccept` RPC now returns 2 additional results within the "fees" result: "effective-feerate" is the feerate including fees and sizes of transactions validated together if package validation was used, and also includes any modified fees from prioritisetransaction. The "effective-includes" result lists the wtxids of transactions whose modified fees and sizes were used in the effective-feerate (#26646). - `decodescript` may now infer a Miniscript descriptor under P2WSH context if it is not lacking information. (#27037) - `finalizepsbt` is now able to finalize a transaction with inputs spending Miniscript-compatible P2WSH scripts. (#24149) Changes to wallet related RPCs can be found in the Wallet section below. Build System ------------ - The `--enable-upnp-default` and `--enable-natpmp-default` options have been removed. If you want to use port mapping, you can configure it using a .conf file, or by passing the relevant options at runtime. (#26896) Updated settings ---------------- - If the `-checkblocks` or `-checklevel` options are explicitly provided by= the user, but the verification checks cannot be completed due to an insufficien= t dbcache, Bitcoin Core will now return an error at startup. (#25574) - Ports specified in `-port` and `-rpcport` options are now validated at startup. Values that previously worked and were considered valid can now result in errors. (#22087) - Setting `-blocksonly` will now reduce the maximum mempool memory to 5MB (users may still use `-maxmempool` to override). Previously, the default 300MB would be used, leading to unexpected memory usage for users running with `-blocksonly` expecting it to eliminate mempool memory usage. As unused mempool memory is shared with dbcache, this also reduces the dbcache size for users running with `-blocksonly`, potentially impacting performance. - Setting `-maxconnections=3D0` will now disable `-dnsseed` and `-listen` (users may still set them to override). Changes to GUI or wallet related settings can be found in the GUI or Wallet section below. New settings ------------ - The `shutdownnotify` option is used to specify a command to execute synchronously before Bitcoin Core has begun its shutdown sequence. (#23395) Wallet ------ - The `minconf` option, which allows a user to specify the minimum number of confirmations a UTXO being spent has, and the `maxconf` option, which allows specifying the maximum number of confirmations, have been added to the following RPCs in #25375: - `fundrawtransaction` - `send` - `walletcreatefundedpsbt` - `sendall` - Added a new `next_index` field in the response in `listdescriptors` to have the same format as `importdescriptors` (#26194) - RPC `listunspent` now has a new argument `include_immature_coinbase` to include coinbase UTXOs that don't meet the minimum spendability depth requirement (which before were silently skipped). (#25730) - Rescans for descriptor wallets are now significantly faster if compact block filters (BIP158) are available. Since those are not constructed by default, the configuration option "-blockfilterindex=3D1" has to be provided to take advantage of the optimization. This improves the performance of the RPC calls `rescanblockchain`, `importdescriptors` and `restorewallet`. (#25957) - RPC `unloadwallet` now fails if a rescan is in progress. (#26618) - Wallet passphrases may now contain null characters. Prior to this change, only characters up to the first null character were recognized and accepted. (#27068) - Address Purposes strings are now restricted to the currently known values of "send", "receive", and "refund". Wallets that have unrecognized purpose strings will have loading warnings, and the `listlabels` RPC will raise an error if an unrecognized purpose is requested. (#27217) - In the `createwallet`, `loadwallet`, `unloadwallet`, and `restorewallet` RPCs, the "warning" string field is deprecated in favor of a "warnings" field that returns a JSON array of strings to better handle multiple warning message= s and for consistency with other wallet RPCs. The "warning" field will be fully removed from these RPCs in v26. It can be temporarily re-enabled during t= he deprecation period by launching bitcoind with the configuration option `-deprecatedrpc=3Dwalletwarningfield`. (#27279) - Descriptor wallets can now spend coins sent to P2WSH Miniscript descriptors. (#24149) GUI changes ----------- - The "Mask values" is a persistent option now. (gui#701) - The "Mask values" option affects the "Transaction" view now, in addition to the "Overview" one. (gui#708) REST ---- - A new `/rest/deploymentinfo` endpoint has been added for fetching various state info regarding deployments of consensus changes. (#25412) Binary verification ---- - The binary verification script has been updated. In previous releases it would verify that the binaries had been signed with a single "release key= ". In this release and moving forward it will verify that the binaries are signed by a _threshold of trusted keys_. For more details and examples, see: https://github.com/bitcoin/bitcoin/blob/master/contrib/verify-binaries/RE= ADME.md (#27358) Low-level changes =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RPC --- - The JSON-RPC server now rejects requests where a parameter is specified multiple times with the same name, instead of silently overwriting earlier parameter values with later ones. (#26628) - RPC `listsinceblock` now accepts an optional `label` argument to fetch incoming transactions having the specified label. (#25934) - Previously `setban`, `addpeeraddress`, `walletcreatefundedpsbt`, methods allowed non-boolean and non-null values to be passed as boolean parameter= s. Any string, number, array, or object value that was passed would be treat= ed as false. After this change, passing any value except `true`, `false`, or `null` now triggers a JSON value is not of expected type error. (#26213) Credits =3D=3D=3D=3D=3D=3D=3D Thanks to everyone who directly contributed to this release: - 0xb10c - 721217.xyz - @RandyMcMillan - amadeuszpawlik - Amiti Uttarwar - Andrew Chow - Andrew Toth - Anthony Towns - Antoine Poinsot - Aur=C3=A8le Oul=C3=A8s - Ben Woosley - Bitcoin Hodler - brunoerg - Bushstar - Carl Dong - Chris Geihsler - Cory Fields - David Gumberg - dergoegge - Dhruv Mehta - Dimitris Tsapakidis - dougEfish - Douglas Chimento - ekzyis - Elichai Turkel - Ethan Heilman - Fabian Jahr - FractalEncrypt - furszy - Gleb Naumenko - glozow - Greg Sanders - Hennadii Stepanov - hernanmarino - ishaanam - ismaelsadeeq - James O'Beirne - jdjkelly@gmail.com - Jeff Ruane - Jeffrey Czyz - Jeremy Rubin - Jesse Barton - Jo=C3=A3o Barbosa - JoaoAJMatos - John Moffett - Jon Atack - Jonas Schnelli - jonatack - Joshua Kelly - josibake - Juan Pablo Civile - kdmukai - klementtan - Kolby ML - kouloumos - Kristaps Kaupe - laanwj - Larry Ruane - Leonardo Araujo - Leonardo Lazzaro - Luke Dashjr - MacroFake - MarcoFalke - Martin Leitner-Ankerl - Martin Zumsande - Matt Whitlock - Matthew Zipkin - Michael Ford - Miles Liu - mruddy - Murray Nesbitt - muxator - omahs - pablomartin4btc - Pasta - Pieter Wuille - Pttn - Randall Naar - Riahiamirreza - roconnor-blockstream - Russell O'Connor - Ryan Ofsky - S3RK - Sebastian Falbesoner - Seibart Nedor - sinetek - Sjors Provoost - Skuli Dulfari - SomberNight - Stacie Waleyko - stickies-v - stratospher - Suhas Daftuar - Suriyaa Sundararuban - TheCharlatan - Vasil Dimov - Vasil Stoyanov - virtu - w0xlt - willcl-ark - yancy - Yusuf Sahin HAMZA As well as to everyone that helped with translations on [Transifex](https://www.transifex.com/bitcoin/bitcoin/).