mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-24 18:23:26 -03:00
Merge bitcoin/bitcoin#28768: [25.x] Backports
53bbda5114
doc: update release notes for 25.x (fanquake)31e1e035be
test: add regression test for the getrawtransaction segfault (Martin Zumsande)041228d293
rpc: fix getrawtransaction segfault (Martin Zumsande)b86285df1f
gui: fix crash on selecting "Mask values" in transaction view (Sebastian Falbesoner)c21024fd86
doc: add historical release notes for 25.1 (fanquake) Pull request description: Collecting backports for the 25.x branch. Currently: * https://github.com/bitcoin-core/gui/pull/774 * https://github.com/bitcoin/bitcoin/pull/29003 ACKs for top commit: stickies-v: ACK53bbda5114
Tree-SHA512: 9b1ba17cce9de70d20329372ba71225dd930718a1f7db84a7be764dcfbba01c5e466255e7b95433ab6d7559ee8aaa04cc99ee5d1512d91fcc0a8015f1aa4150a
This commit is contained in:
commit
8087626cbd
5 changed files with 132 additions and 61 deletions
|
@ -1,9 +1,9 @@
|
|||
25.1 Release Notes
|
||||
25.x Release Notes
|
||||
==================
|
||||
|
||||
Bitcoin Core version 25.1 is now available from:
|
||||
Bitcoin Core version 25.x is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-25.1/>
|
||||
<https://bitcoincore.org/bin/bitcoin-core-25.x/>
|
||||
|
||||
This release includes various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
@ -40,69 +40,21 @@ unsupported systems.
|
|||
Notable changes
|
||||
===============
|
||||
|
||||
### P2P
|
||||
### Gui
|
||||
|
||||
- #27626 Parallel compact block downloads, take 3
|
||||
- #27743 p2p: Unconditionally return when compact block status == READ_STATUS_FAILED
|
||||
|
||||
### Fees
|
||||
|
||||
- #27622 Fee estimation: avoid serving stale fee estimate
|
||||
- gui#774 Fix crash on selecting "Mask values" in transaction view
|
||||
|
||||
### RPC
|
||||
|
||||
- #27727 rpc: Fix invalid bech32 address handling
|
||||
|
||||
### Rest
|
||||
|
||||
- #27853 rest: fix crash error when calling /deploymentinfo
|
||||
- #28551 http: bugfix: allow server shutdown in case of remote client disconnection
|
||||
|
||||
### Wallet
|
||||
|
||||
- #28038 wallet: address book migration bug fixes
|
||||
- #28067 descriptors: do not return top-level only funcs as sub descriptors
|
||||
- #28125 wallet: bugfix, disallow migration of invalid scripts
|
||||
- #28542 wallet: Check for uninitialized last processed and conflicting heights in MarkConflicted
|
||||
|
||||
### Build
|
||||
|
||||
- #27724 build: disable boost multi index safe mode in debug mode
|
||||
- #28097 depends: xcb-proto 1.15.2
|
||||
- #28543 build, macos: Fix qt package build with new Xcode 15 linker
|
||||
- #28571 depends: fix unusable memory_resource in macos qt build
|
||||
|
||||
### Gui
|
||||
|
||||
- gui#751 macOS, do not process actions during shutdown
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
- #28452 Do not use std::vector = {} to release memory
|
||||
|
||||
### CI
|
||||
|
||||
- #27777 ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN
|
||||
- #27834 ci: Nuke Android APK task, Use credits for tsan
|
||||
- #27844 ci: Use podman stop over podman kill
|
||||
- #27886 ci: Switch to amd64 container in "ARM" task
|
||||
- #29003 rpc: fix getrawtransaction segfault
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Abubakar Sadiq Ismail
|
||||
- Andrew Chow
|
||||
- Bruno Garcia
|
||||
- Gregory Sanders
|
||||
- Hennadii Stepanov
|
||||
- MacroFake
|
||||
- Matias Furszyfer
|
||||
- Michael Ford
|
||||
- Pieter Wuille
|
||||
- stickies-v
|
||||
- Will Clark
|
||||
- Martin Zumsande
|
||||
- Sebastian Falbesoner
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
||||
|
|
108
doc/release-notes/release-notes-25.1.md
Normal file
108
doc/release-notes/release-notes-25.1.md
Normal file
|
@ -0,0 +1,108 @@
|
|||
25.1 Release Notes
|
||||
==================
|
||||
|
||||
Bitcoin Core version 25.1 is now available from:
|
||||
|
||||
<https://bitcoincore.org/bin/bitcoin-core-25.1/>
|
||||
|
||||
This release includes various bug fixes and performance
|
||||
improvements, as well as updated translations.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
<https://github.com/bitcoin/bitcoin/issues>
|
||||
|
||||
To receive security and update notifications, please subscribe to:
|
||||
|
||||
<https://bitcoincore.org/en/list/announcements/join/>
|
||||
|
||||
How to Upgrade
|
||||
==============
|
||||
|
||||
If you are running an older version, shut it down. Wait until it has completely
|
||||
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 macOS)
|
||||
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
|
||||
==============
|
||||
|
||||
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
|
||||
===============
|
||||
|
||||
### P2P
|
||||
|
||||
- #27626 Parallel compact block downloads, take 3
|
||||
- #27743 p2p: Unconditionally return when compact block status == READ_STATUS_FAILED
|
||||
|
||||
### Fees
|
||||
|
||||
- #27622 Fee estimation: avoid serving stale fee estimate
|
||||
|
||||
### RPC
|
||||
|
||||
- #27727 rpc: Fix invalid bech32 address handling
|
||||
|
||||
### Rest
|
||||
|
||||
- #27853 rest: fix crash error when calling /deploymentinfo
|
||||
- #28551 http: bugfix: allow server shutdown in case of remote client disconnection
|
||||
|
||||
### Wallet
|
||||
|
||||
- #28038 wallet: address book migration bug fixes
|
||||
- #28067 descriptors: do not return top-level only funcs as sub descriptors
|
||||
- #28125 wallet: bugfix, disallow migration of invalid scripts
|
||||
- #28542 wallet: Check for uninitialized last processed and conflicting heights in MarkConflicted
|
||||
|
||||
### Build
|
||||
|
||||
- #27724 build: disable boost multi index safe mode in debug mode
|
||||
- #28097 depends: xcb-proto 1.15.2
|
||||
- #28543 build, macos: Fix qt package build with new Xcode 15 linker
|
||||
- #28571 depends: fix unusable memory_resource in macos qt build
|
||||
|
||||
### Gui
|
||||
|
||||
- gui#751 macOS, do not process actions during shutdown
|
||||
|
||||
### Miscellaneous
|
||||
|
||||
- #28452 Do not use std::vector = {} to release memory
|
||||
|
||||
### CI
|
||||
|
||||
- #27777 ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN
|
||||
- #27834 ci: Nuke Android APK task, Use credits for tsan
|
||||
- #27844 ci: Use podman stop over podman kill
|
||||
- #27886 ci: Switch to amd64 container in "ARM" task
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Abubakar Sadiq Ismail
|
||||
- Andrew Chow
|
||||
- Bruno Garcia
|
||||
- Gregory Sanders
|
||||
- Hennadii Stepanov
|
||||
- MacroFake
|
||||
- Matias Furszyfer
|
||||
- Michael Ford
|
||||
- Pieter Wuille
|
||||
- stickies-v
|
||||
- Will Clark
|
||||
|
||||
As well as to everyone that helped with translations on
|
||||
[Transifex](https://www.transifex.com/bitcoin/bitcoin/).
|
|
@ -532,6 +532,9 @@ void TransactionView::showDetails()
|
|||
TransactionDescDialog *dlg = new TransactionDescDialog(selection.at(0));
|
||||
dlg->setAttribute(Qt::WA_DeleteOnClose);
|
||||
m_opened_dialogs.append(dlg);
|
||||
connect(dlg, &QObject::destroyed, [this, dlg] {
|
||||
m_opened_dialogs.removeOne(dlg);
|
||||
});
|
||||
dlg->show();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -310,7 +310,7 @@ static RPCHelpMan getrawtransaction()
|
|||
LOCK(cs_main);
|
||||
blockindex = chainman.m_blockman.LookupBlockIndex(hash_block);
|
||||
}
|
||||
if (verbosity == 1) {
|
||||
if (verbosity == 1 || !blockindex) {
|
||||
TxToJSON(*tx, hash_block, result, chainman.ActiveChainstate());
|
||||
return result;
|
||||
}
|
||||
|
@ -319,8 +319,7 @@ static RPCHelpMan getrawtransaction()
|
|||
CBlock block;
|
||||
const bool is_block_pruned{WITH_LOCK(cs_main, return chainman.m_blockman.IsBlockPruned(blockindex))};
|
||||
|
||||
if (tx->IsCoinBase() ||
|
||||
!blockindex || is_block_pruned ||
|
||||
if (tx->IsCoinBase() || is_block_pruned ||
|
||||
!(UndoReadFromDisk(blockUndo, blockindex) && ReadBlockFromDisk(block, blockindex, Params().GetConsensus()))) {
|
||||
TxToJSON(*tx, hash_block, result, chainman.ActiveChainstate());
|
||||
return result;
|
||||
|
|
|
@ -32,6 +32,7 @@ from test_framework.script import (
|
|||
from test_framework.test_framework import BitcoinTestFramework
|
||||
from test_framework.util import (
|
||||
assert_equal,
|
||||
assert_greater_than,
|
||||
assert_raises_rpc_error,
|
||||
)
|
||||
from test_framework.wallet import (
|
||||
|
@ -70,7 +71,7 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
self.extra_args = [
|
||||
["-txindex"],
|
||||
["-txindex"],
|
||||
[],
|
||||
["-fastprune", "-prune=1"],
|
||||
]
|
||||
# whitelist all peers to speed up tx relay / mempool sync
|
||||
for args in self.extra_args:
|
||||
|
@ -85,7 +86,6 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
self.wallet = MiniWallet(self.nodes[0])
|
||||
|
||||
self.getrawtransaction_tests()
|
||||
self.getrawtransaction_verbosity_tests()
|
||||
self.createrawtransaction_tests()
|
||||
self.sendrawtransaction_tests()
|
||||
self.sendrawtransaction_testmempoolaccept_tests()
|
||||
|
@ -94,6 +94,8 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
if self.is_specified_wallet_compiled() and not self.options.descriptors:
|
||||
self.import_deterministic_coinbase_privkeys()
|
||||
self.raw_multisig_transaction_legacy_tests()
|
||||
self.getrawtransaction_verbosity_tests()
|
||||
|
||||
|
||||
def getrawtransaction_tests(self):
|
||||
tx = self.wallet.send_self_transfer(from_node=self.nodes[0])
|
||||
|
@ -243,6 +245,13 @@ class RawTransactionsTest(BitcoinTestFramework):
|
|||
coin_base = self.nodes[1].getblock(block1)['tx'][0]
|
||||
gottx = self.nodes[1].getrawtransaction(txid=coin_base, verbosity=2, blockhash=block1)
|
||||
assert 'fee' not in gottx
|
||||
# check that verbosity 2 for a mempool tx will fallback to verbosity 1
|
||||
# Do this with a pruned chain, as a regression test for https://github.com/bitcoin/bitcoin/pull/29003
|
||||
self.generate(self.nodes[2], 400)
|
||||
assert_greater_than(self.nodes[2].pruneblockchain(250), 0)
|
||||
mempool_tx = self.wallet.send_self_transfer(from_node=self.nodes[2])['txid']
|
||||
gottx = self.nodes[2].getrawtransaction(txid=mempool_tx, verbosity=2)
|
||||
assert 'fee' not in gottx
|
||||
|
||||
def createrawtransaction_tests(self):
|
||||
self.log.info("Test createrawtransaction")
|
||||
|
|
Loading…
Add table
Reference in a new issue