|
|
|
|
Changelog for libbitcoinconsensus0-26.0-bp156.1.3.x86_64.rpm :
* Wed Feb 14 2024 Martin Pluskal - Enable LTO and test package for Leap- Enable sqlite3 support for wallet- Enable asm optimizations unconditionally * Wed Feb 07 2024 Dominique Leuenberger - Provide user/group symbol for user created during pre. * Fri Jan 05 2024 andrea.manziniAATTsuse.com- Update to version 26.0: * doc: update release notes for 26.0 * doc: update manual pages for 26.0 * build: bump version to v26.0 final * doc: update release notes for v26.0rc3 * doc: update manual pages for v26.0rc3 * build: bump version to v26.0rc3 * build: Fix regression in \"ARMv8 CRC32 intrinsics\" test * ci: Avoid toolset ambiguity that MSVC can\'t handle * p2p: do not make automatic outbound connections to addnode peers * ci: Switch from `apt` to `apt-get` * ci: Update apt cache * pool: change memusage_test to use int64_t, add allocation check * pool: make sure PoolAllocator uses the correct alignment * doc: regenerate example bitcoin.conf * doc: rewrite explanation for -par= * doc: update manual pages for v26.0rc2 * build: bump version to v26.0rc2 * gui: fix crash on selecting \"Mask values\" in transaction view * guix: update signapple * guix: Zip needs to include all files with time as SOURCE_DATE_EPOCH * test: add coverage for snapshot chainstate not matching AssumeUTXO parameters * assumeutxo, blockstorage: prevent core dump on invalid hash * [test] Test i2p private key constraints * [net] Check i2p private key constraints * bugfix: Mark CNoDestination and PubKeyDestination constructor explicit * qt: 26.0rc2 translations update * doc: generate example bitcoin.conf for v26.0rc1 * doc: generate manual pages for v26.0rc1 * build: bump version to v26.0rc1 * qt: 26.0rc1 translations update * doc: consolidate release note fragments * test: enable reindex readonly test on *BSD and macOS as root * ci: Add missing --external to podman image prune * Revert \"gui: provide wallet controller context to wallet actions\" * doc: add historical release notes for 24.2 * chainparams, assumeutxo: Fix signet txoutset hash * chainparams, assumeutxo: Fix testnet txoutset hash * assumeutxo: Check deserialized coins for out of range values * docs: Add release notes for #28685 * scripted-diff: Rename hash_serialized_2 to hash_serialized_3 * coinstats: Fix hash_serialized2 calculation * fuzz: Increase merge -rss_limit_mb * refactor: Remove CBlockFileInfo::SetNull * build: Include `config/bitcoin-config.h` explicitly in `util/trace.h` * [fuzz] Delete i2p target * log: Don\'t log cache rebalancing in absense of a snapshot chainstate * test: De-dublicate/optimize assumeutxo test for further extensions * test: check au file with changed outpoint index * test: Check tx metadata is migrated to watchonly * wallet: Reload watchonly and solvables wallets after migration * wallet: Copy all tx metadata to watchonly wallet * build: move -fstack-reuse=none to CORE_CXXFLAGS * docs: Add reference to total.coverage report * test: Fix failing time check in rpc_net.py * test: Check that a failed wallet migration is cleaned up * doc: add historical release notes for 25.1 * test: assumeutxo file with unknown block hash * test: Add assumeutxo test for wrong hash * assumeutxo: fail early if snapshot block hash doesn\'t match AssumeUTXO parameters * fuzz: Allow multiple --m_dir args * net: remove unused CConnman::FindNode(const CSubNet&) * netbase: possibly change the result of LookupSubNet() to CJDNS * doc: add release note for #27460 (new `importmempool` RPC) * gui: disable top bar menu actions during shutdown * gui: provide wallet controller context to wallet actions * miniscript: make GetWitnessSize accurate for tapscript * test: add tests for miniscript GetWitnessSize * test: remove mutable global contexts in miniscript fuzzer/test * fuzz: Merge with -set_cover_merge=1 * lint: Include test_utxo_snapshots in lint_shell * fuzz: add coverage for `bitcoinconsensus_verify_script_with_spent_outputs` * docs: add release notes for #28539 * docs: add docs for additional libconsensus functions * docs: link to rust-bitcoinconsensus * lib: add Taproot support to libconsensus * test: fix `assert_debug_log` call-site bugs, add type checks * ci: always prune all dangling bitcoin-ci-test images * ci: Add missing CI_RETRY_EXE before git clone * ci: Export `IN_GETOPT_BIN` on macOS * Revert \"ci: Upgrading pip version in macos environment\" * ci: add label to docker images * test: Fuzz merge with -use_value_profile=0 for now * ci: Bump asan * ci: Drop no longer needed `NOLINTNEXTLINE` * tidy: modernize-use-emplace * test: Check snapshot file with wrong number of coins * refactor: Remove unused nchaintx from SnapshotMetadata constructor * test: don\'t run old binaries under valgrind * test: BIP324: add check for missing garbage terminator detection * doc: assumeutxo prune and index notes * ci: Install Android API 31 platform as Qt expects * test: Add Wallet Unlock Context Manager * test: Use pathlib over os.path #28362 * build: add `-mbranch-protection=bti` to aarch64 hardening flags * devtools: test_utxo_snapshots.sh sleep cleanup and documentation * contrib: add test for macOS linker version to symbol-check * depends: update LD64_VERSION to 711 * ci: use LLVM/Clang 17 in tidy job * ci: use LLVM 17.0.2 in MSAN jobs * test: check that loading snapshot not matching AssumeUTXO parameters fails * docs: fix typo * test: fix usdt undeclared function errors on mantis * test: Unit test for inferring scripts with hybrid and uncompressed keys * test: Scripts with hybrid pubkeys are migrated to watchonly * descriptors: Move InferScript\'s pubkey validity checks to InferPubkey * descriptors: Check result of InferPubkey * ci: move-only CI_CONTAINER_ID to 02_run_container.sh * ci: Work around podman stop bug * ci: Add set -ex to 02_run_container.sh * ci: Rename 04_install to 02_run_container * qt: Update translation source file for v26.0 string freeze * Adjust Gradle properties * miniscript: remove P2WSH-specific part of GetStackSize doc comment * qa: bound testing for TapMiniscript * miniscript: have a custom Node destructor * qa: Tapscript Miniscript signing functional tests * qa: list descriptors in Miniscript signing functional tests * script/sign: Miniscript support in Tapscript * MOVEONLY: script/sign: move Satisfier declaration above Tapscript signing * qa: functional test Miniscript inside Taproot descriptors * descriptor: parse Miniscript expressions within Taproot descriptors * descriptor: Tapscript-specific Miniscript key serialization / parsing * fuzz: miniscript: higher sensitivity for max stack size limit under Tapscript * qa: test Miniscript max stack size tracking * miniscript: check maximum stack size during execution * fuzz: adapt Miniscript targets to Tapscript * qa: Tapscript-Miniscript unit tests * pubkey: introduce a GetEvenCorrespondingCPubKey helper * miniscript: account for keys as being 32 bytes under Taproot context * miniscript: adapt resources checks depending on context * serialize: make GetSizeOfCompactSize constexpr * miniscript: sanity asserts context in ComputeType * miniscript: make \'d:\' have the \'u\' property under Tapscript context * miniscript: introduce a multi_a fragment * miniscript: restrict multi() usage to P2WSH context * miniscript: store the script context within the Node structure * miniscript: introduce a MsContext() helper to contexts * miniscript: don\'t anticipate signature presence in CalcStackSize() * miniscript: add a missing dup key check bypass in Parse() * gui: fix coin control input size accounting for taproot spends * gui: remove legacy wallet creation * rpc: Use Ensure(Any)Chainman in assumeutxo related RPCs * doc: Drop references to assumevalid in assumeutxo docs * test: Rename wait_until_helper to wait_until_helper_internal * chain: Rename HaveTxsDownloaded to HaveNumChainTxs * blockstorage: Let FlushChainstateBlockFile return true in case of missing cursor * validation, test: Improve and document nChainTx check for testability * doc: Add snapshot chainstate removal warning to reindexing documentation * test: Improvements of feature_assumeutxo * doc: Add and edit some comments around assumeutxo * validation: remove unused mempool param in DetectSnapshotChainstate * test: Use feerate higher than minrelay fee in wallet_fundraw * doc: update example pulls in release-process.md * github actions: Fix test-one-commit when parent of head is merge commit * wallet: No BDB creation, unless -deprecatedrpc=create_bdb * assumeutxo: change getchainstates RPC to return a list of chainstates * net: move MaybeFlipIPv6toCJDNS() from net to netbase * net: move IsReachable() code to netbase and encapsulate it * fuzz: ConsumeNetAddr(): avoid IPv6 addresses that look like CJDNS * net: put CJDNS prefix byte in a constant * test: display abrupt shutdown errors in console output * i2p: destroy the session if we get an unexpected error from the I2P router * i2p: also sleep after errors in Accept() * ci: Avoid cache depends/build * test: Bump walletpassphrase timeouts to avoid intermittent issues * headerssync: update params for 26.x * kernel: update m_assumed_ * chain params for 26.x * kernel: update chainTxData for 26.x * kernel: update nMinimumChainWork & defaultAssumeValid for 26.x * qt: enable -ltcg for windows HOST * test: BIP324: add checks for v1 prefix matching / wrong network magic detection * gui: Add wallet name to address book page * ci: Only run functional tests on windows in master * tests: assumeutxo: accept final height from either chainstate * descriptors: disallow hybrid public keys * test: assumeutxo: avoid race in functional test * test: add wait_for_connect to BitcoinTestFramework.connect_nodes * net: raise V1_PREFIX_LEN from 12 to 16 * build: Update qt package up to 5.15.10 * [test] Make PeerManager\'s rng deterministic in tests * [net processing] FeeFilterRounder doesn\'t own a FastRandomContext * [net processing] Make fee filter rounder non-global * qt: Add \"Session id\" label to peer details * refactor: add and use EnsureAnyAddrman in rpc * doc: add release notes for #27511 * rpc: `getaddrmaninfo` followups * typo: in packages.md * ci: Print Linux kernel info * http: bugfix: track closed connection * http: log connection instead of request count * http: refactor: use encapsulated HTTPRequestTracker * depends: fix unusable memory_resource in macos qt build * [net processing] Addr shuffle uses PeerManager\'s rng * [net processing] PushAddress uses PeerManager\'s rng * [net processing] PeerManager holds a FastRandomContext * qt: Add \"Transport\" label to peer details * doc: mention BIP324 support in bips.md * test: enable v2 transport between nodes in some functional tests * test: Functional test for opportunistic encryption * net: expose transport types/session IDs of connections in RPC and logs * net: reconnect with V1Transport under certain conditions * sync: modernize CSemaphore / CSemaphoreGrant * rpc: addnode arg to use BIP324 v2 p2p * net: use V2Transport when NODE_P2P_V2 service flag is present * rpc: don\'t report v2 handshake bytes in the per-type sent byte statistics * net: advertise NODE_P2P_V2 if CLI arg -v2transport is on * chainparams: add signet assumeutxo param at height 160_000 * chainparams: add testnet assumeutxo param at height 2_500_000 * test: getrawaddrman RPC * rpc: getrawaddrman for addrman entries * bench: drop NO_THREAD_SAFETY_ANALYSIS from disconnected_txs * doc: fix link to developer-notes.md file in multiprocess.md * [doc] add release note for submitpackage * [rpc] allow submitpackage to be called outside of regtest * [rpc] require package to be a tree in submitpackage * [txpackages] IsChildWithParentsTree() * [doc] parent pay for child in aggregate CheckFeeRate * test: add coverage to feature_addrman.py * doc: add note about confusing HaveTxsDownloaded name * contrib: add script to demo/test assumeutxo * test: add feature_assumeutxo functional test * rpc: add getchainstates * refuse to activate a UTXO snapshot if mempool not empty * rpc: add loadtxoutset * validation: do not activate snapshot if behind active chain * validation: assumeutxo: swap m_mempool on snapshot activation * blockstorage: segment normal/assumedvalid blockfiles * validation: populate nChainTx value for assumedvalid chainstates * test: adjust chainstate tests to use recognized snapshot base * validation: pruning for multiple chainstates * validation: indexing changes for assumeutxo * net_processing: validationinterface: ignore some events for bg chain * wallet: validationinterface: only handle active chain notifications * validationinterface: only send zmq notifications for active * validation: pass ChainstateRole for validationinterface calls * validation: only call UpdatedBlockTip for active chainstate * validation: add ChainstateRole * validation: MaybeRebalanceCaches when chain leaves IBD * chainparams: add blockhash to AssumeutxoData * assumeutxo: remove snapshot during -reindex{-chainstate} * bugfix: correct is_snapshot_cs in VerifyDB * net_processing: Request assumeutxo background chain blocks * Add instructions for headerssync-params.py to release-process.md * Update parameters in headerssync.cpp * Add headerssync-params.py script to the repository * lint: fix custom mypy cache dir setting * Add package evaluation fuzzer * key: don\'t allocate secure mem for null (invalid) key * Add make_secure_unique helper * wallet: Add TxStateString function for debugging and logging * tests: Use manual bumps instead of bumpfee for resendwallettransactions * test: Avoid test failure on Linux root without cap-add LINUX_IMMUTABLE * build, macos: Fix `qt` package build with new Xcode 15 linker * net: Simplify v2 recv logic by decoupling AAD from state machine * net: Drop v2 garbage authentication packet * test: Test loading wallets with conflicts without a chain * wallet: Check last block and conflict height are valid in MarkConflicted * rpc: bumpfee, improve doc for \'reduce_output\' arg * ci: Install Homebrew\'s `pkg-config` package * bench: Add SHA256 implementation specific benchmarks * Add ability to specify SHA256 implementation for benchmark purposes * doc: Be vague instead of wrong about MALLOC_ARENA_MAX * test: add unit test coverage for Python ECDSA implementation * Add functional test to catch too large vsize packages * Handle over-sized (in virtual bytes) packages with no in-mempool ancestors * Bugfix: Pass correct virtual size to CheckPackageLimits * Replace MAX_PACKAGE_SIZE with MAX_PACKAGE_WEIGHT to avoid vbyte confusion * test: add functional test for getaddrmaninfo * ci: Use nproc over MAKEJOBS in 01_base_install * Remove SER_GETHASH, hard-code client version in CKeyPool serialize * Remove CHashWriter type * Remove unused GetType() from OverrideStream, CVectorWriter, SpanReader * Add regression test for m_limit mutation * contrib/bash-completions: use package naming conventions * fuzz: Add missing PROVIDE_FUZZ_MAIN_FUNCTION guard to __AFL_FUZZ_INIT * rpc: Introduce getaddrmaninfo for count of addresses stored in new/tried table * ci: Reintroduce fixed \"test-each-commit\" job * doc: add release note * test: check `descriptorprocesspsbt` return hex encoded tx * rpc: `descriptorprocesspsbt` return hex encoded tx * Refactor: Replace \'isMockableChain\' with inline \'ChainType\' check for \'submitpackage\' * build: remove dmg dependencies * macdeploy: remove DMG generation from deploy script * build: produce a .zip for macOS distribution * build: add -zip option to macdeployqtplus * Return CAutoFile from BlockManager::Open *File() * Make BufferedFile to be a CAutoFile wrapper * refactor: Drop unused fclose() from BufferedFile * tests: fix incorrect assumption in v2transport_test * Remove MemPoolAccept::m_limits, only have local copies for carveouts * doc: Remove confusing assert linter * test: cover read-only blockstore * [fuzz] Don\'t use afl++ deferred forkserver mode * build: use _LIBCPP_ENABLE_DEBUG_MODE over ENABLE_ASSERTIONS * Revert \"Merge bitcoin/bitcoin#28279: ci: Add test-each-commit task\" * ci: use LLVM 17.0.0 in MSAN jobs * scripted-diff: use SER_PARAMS_OPFUNC * serialize: add SER_PARAMS_OPFUNC * serialize: specify type for ParamsWrapper not ref * serialize: move ser_action functions out of global namespace * Amend bumpfee for inputs with overlapping ancestry * Bump unconfirmed parent txs to target feerate * coinselection: Move GetSelectionWaste into SelectionResult * [node] interface to get bump fees * Make MiniMinerMempoolEntry fields private * Remove unused imports * Fix calculation of ancestor set feerates in test * Match tx names to index in miniminer overlap test * [test] mempool coins disappearing mid-package evaluation * [refactor] split setup in mempool_limit test * [test framework] add ability to spend only confirmed utxos * [validation] don\'t LimitMempoolSize in any subpackage submissions * [validation] return correct result when already-in-mempool tx gets evicted * [refactor] back-fill results in AcceptPackage * [validation] make PackageMempoolAcceptResult members mutable * [validation] add AcceptSubPackage to delegate Accept * calls and clean up m_view * [CCoinsViewMemPool] track non-base coins and allow Reset * [policy] check for duplicate txids in package * fuzz: Rework addr fuzzing * fuzz: Drop unused params from serialize helpers * make DisconnectedBlockTransactions responsible for its own memory management * MOVEONLY: DisconnectedBlockTransactions to its own file * rewrite DisconnectedBlockTransactions as a list + map * ci: clang-17 for fuzz and tsan * Do not use std::vector = {} to release memory * add std::list to memusage * [bench] DisconnectedBlockTransactions * [refactor] Remove compat.h from kernel headers * [refactor] Remove netaddress.h from kernel headers * [refactor] Add CChainParams member to CConnman * [refactor] Add missing includes for next commit * kernel: Move MessageStartChars to its own file * [refactor] Define MessageStartChars as std::array * [refactor] Allow std::array in serialize.h * gui: macOS, make appMenuBar part of the main app window * wallet: Use CTxDestination in CRecipient rather than scriptPubKey * Add PubKeyDestination for P2PK scripts * Allow CNoDestination to represent a raw script * Make WitnessUnknown members private * [fuzz] Use afl++ shared-memory fuzzing * doc: Clarify that -fstack-reuse=all bugs exist on all versions of GCC * scripted-diff: Rename CBufferedFile to BufferedFile * Remove unused GetType() from CBufferedFile and CAutoFile * dbwrapper: Use DataStream for batch operations * qt: Silence `-Wcast-function-type` warning * rpc: Deprecate rpcserialversion=0 * doc: fix typos and mistakes in BIP324 code comments * net: do not use send buffer to store/cache garbage * net: merge V2Transport constructors, move key gen * gui: macOS, do not process dock icon actions during shutdown * refactor: remove clientversion include from dbwrapper.h * refactor: Use DataStream now that version/type are unused * Remove version/hashing options from CBlockLocator/CDiskBlockIndex * index: add [nodiscard] attribute to functions writing to the db * consensus/validation.h: remove needless GetTransactionOutputWeight helper * [refactor] batch-add transactions to DisconnectedBlockTransactions * index: coinstats reorg, fail when block cannot be reversed * net: detect wrong-network V1 talking to V2Transport * test: add unit tests for V2Transport * net: make V2Transport preallocate receive buffer space * net: make V2Transport send uniformly random number garbage bytes * net: add short message encoding/decoding support to V2Transport * net: make V2Transport auto-detect incoming V1 and fall back to it * net: add V2Transport class with subset of BIP324 functionality * crypto: Spanify EllSwiftPubKey constructor * net: remove unused Transport::SetReceiveVersion * net: add have_next_message argument to Transport::GetBytesToSend() * doc: s/--no-substitute/--no-substitutes in guix/INSTALL * doc: add release note for PR #28414 * test: remove unnecessary finalizepsbt rpc calls * depends: cctools 986 & ld64 711 * depends: libtapi 1300.0.6.5 * ci: enable chattr +i capability inside containers * unit test: add coverage for BlockManager * fuzz: introduce and use `ConsumePrivateKey` helper * wallet rpc: return final tx hex from walletprocesspsbt if complete * test: remove unused variables in `p2p_invalid_block` * test: Combine sync_send_with_ping and sync_with_ping * Remove unused legacy CHashVerifier * test: add tests that exercise WithParams() * Use serialization parameters for CAddress serialization * Squashed \'src/secp256k1/\' changes from c545fdc374..199d27cea3 * ci: Limit test-each-commit to --max-count=6 * ci: Add test-each-commit task * ci: Bump `actions/checkout` version * test: p2p: check that `getaddr` msgs are only responded once per connection * test: remove fixed timeouts from feature_config_args * ci: Avoid saving the same Ccache cache * ci: Avoid oversubscription in functional tests on Windows * qt: Update translation source file * qt: Bump Transifex slug for 26.x * qt: Translation updates from Transifex * blockstorage: Return on fatal undo file flush error * blockstorage: Return on fatal block file flush error * blockstorage: Mark FindBlockPos as nodiscard * Refactor: Remove m_is_test_chain * fuzz: add ConstructPubKeyBytes function * build: use -muse-unaligned-vector-move for Windows * doc: Fill in the required skills in the good_first_issue template * ci, windows: Do not run extended functional tests for pull requests * guix: remove GCC 10 workaround from NSIS * ci: Asan with -ftrivial-auto-var-init=pattern * [doc] move comment about AlreadyHaveTx DoS score to the right place * [log] add more logs related to orphan handling * [log] add category TXPACKAGES for orphanage and package relay * [log] include wtxid in tx {relay,validation,orphanage} logging * Support for serialization parameters * Rename CSerAction * to Action * * Replace READWRITEAS macro with AsBase wrapping function * test: improve sock_tests/move_assignment * doc: Release notes for testnet defaulting to -acceptnonstdtxn=0 * config: default acceptnonstdtxn=0 on all chains * ci: Remove unused TEST_RUNNER_ENV=\"LC_ALL=C\" from s390x task * ci: Remove /ro_base bind mount * doc: Remove sudo from command that is already run as root * test: Support powerpc64le in get_previous_releases.py * log: Print error message when coindb is in inconsistent state * guix: use clang-toolchain-15 for macOS compilation * depends: use LLVM/Clang 15.0.6 for macOS cross-compile * script: replace deprecated pkg_resources with importlib.metadata * refactor: Use HashWriter over legacy CHashWriter (via SerializeHash) * refactor: Use HashWriter over legacy CHashWriter * ci: Run \"Win64 native\" job on GitHub Actions * net: remove Sock default constructor, it\'s not necessary * net: remove now unnecessary Sock::Get() * wallet: accurately account for the size of the witness stack * wallet: use descriptor satisfaction size to estimate inputs size * script/signingprovider: introduce a MultiSigningProvider * descriptor: introduce a method to get the satisfaction size * miniscript: introduce a helper to get the maximum witness size * miniscript: make GetStackSize independent of P2WSH context * net: don\'t check if the socket is valid in ConnectSocketDirectly() * net: don\'t check if the socket is valid in GetBindAddress() * i2p: avoid using Sock::Get() for checking for a valid socket * rpc: Add MaybeArg() and Arg() default helper * guix: drop Windows broken-longjmp.patch * guix: drop NSIS patch now that we use 3.09 * guix: use cross- * keyword arguments * guix: update time-machine to 160f78a4d92205df986ed9efcce7d3aac188cb24 * guix: update python-oscrypto to 1.3.0 * guix: backport glibc patch to fix powerpc build * test: previous releases: speed up fetching sources with shallow clone * refactor: make Transport::ReceivedBytes just return success/fail * net: move message conversion to wire bytes from PushMessage to SocketSendData * net: measure send buffer fullness based on memory usage * fuzz: add bidirectional fragmented transport test * net: make V1Transport implicitly use current chainparams * net: abstract sending side of transport serialization further * refactor: rename Transport class receive functions * net: add V1Transport lock protecting receive state * refactor: merge transport serializer and deserializer into Transport class * test: roundtrip wallet backwards compat downgrade * test: Add 25.0 to wallet backwards compatibiilty test * test: Run upgrade test on all nodes * test: Run downgrade test on descriptor wallets * test: Add 0.21 tr() incompatibility test * test: add logging 0.17 incompatibilities in wallet back compat * test: Refactor v19 addmultisigaddress test to be distinct * test: Remove w1_v18 from wallet backwards compatibility * test: Fix 0.16 wallet paths and downgrade test * ci: Add missing docker.io prefix to CI_IMAGE_NAME_TAG * fuzz: coinselection, fix `m_cost_of_change` * fuzz: coinselection, BnB should never produce change * fuzz: coinselection, compare `GetSelectedValue` with target * fuzz: coinselection, improve `ComputeAndSetWaste` * fuzz: coinselection, add coverage for `Merge` * fuzz: coinselection, add coverage for `GetShuffledInputVector`/`GetInputSet` * fuzz: coinselection, add coverage for `AddInputs` * ci: Remove no longer applicable section * ci: Start with clean env * ci: Limit scope of some env vars * test: wallet_backup.py, fix intermittent failure in \"restore using dumped wallet\" * Update help text for spend and rawtransaction rpcs * test: add functional test for deadlock situation * fuzz: coinselection, add coverage for `EligibleForSpending` * fuzz: coinselection, add `CreateCoins` * test: add basic tests for sendmsgtopeer to rpc_net.py * rpc: add test-only sendmsgtopeer rpc * guix: consolidate Linux GCC package * guix: consolidate glibc 2.27 package * ci: Use concurrency for pull requests only * test: Fix intermittent issue in mempool_reorg * test: Support riscv64 in get_previous_releases.py * test: fix \'unknown named parameter\' test in `wallet_basic` * ci: Disable cache save for pull requests in GitHub Actions * test: ensure acceptstalefeeestimates is supported only on regtest chain * assumeutxo cleanup: Move IsInitialBlockDownload & NotifyHeaderTip to ChainstateManager * ci: Remove distro-name from task name * ci: Switch remaining tasks to self-hosted * ci: Add missing amd64 to win64-cross task * ci: Add missing ${CI_RETRY_EXE} before curl * guix: pre time-machine bump changes (Windows) * Remove unused includes from wallet.cpp * doc, refactor: Changing -torcontrol help to specify that a default port is used * removed StrFormatInternalBug quote delimitation * rpc: remove one more quote from non-string oneline description * crypto: make ChaCha20::SetKey wipe buffer * tests: miscellaneous hex / std::byte improvements * fuzz: support std::byte in Consume{Fixed,Variable}LengthByteVector * crypto: require key on ChaCha20 initialization * random: simplify FastRandomContext::randbytes using fillrand * crypto: refactor ChaCha20 classes to use Span interface * Remove unused includes from blockfilter.h * Make post-p2sh consensus rules mandatory for tx relay * doc, policy: Clarify comment on STANDARD_SCRIPT_VERIFY_FLAGS * move-only: Create src/kernel/mempool_removal_reason.h * Remove unused includes from txmempool.h * Refactor: Remove confusing static_cast * refactor: Add missing includes * ci: Refactor: Remove CI_USE_APT_INSTALL * ci: Ensure that only a single workflow processes `github.ref` at a time * tx fees, policy: doc: update and delete unnecessary comment * bitcoin-tidy: Apply bitcoin-unterminated-logprintf to spkm as well * refactor: Enable all clang-tidy plugin bitcoin tests * ci: Avoid error on macOS native * ci: Fix macOS-cross SDK rsync * refactor: Remove PERSISTENT_WORKER_ * yaml templates * refactor: add missing headers for BIP324 ciphersuite * Rename script/standard.{cpp/h} to script/solver.{cpp/h} * Clean up script/standard.{h/cpp} includes * Clean up things that include script/standard.h * MOVEONLY: Move datacarrier defaults to policy.h * Move CTxDestination to its own file * Move Taproot{SpendData/Builder} to signingprovider.{h/cpp} * Move CScriptID to script.{h/cpp} * Remove ScriptHash from CScriptID constructor * Move MANDATORY_SCRIPT_VERIFY_FLAGS from script/standard.h to policy/policy.h * ci: Drop no longer needed `macos_sdk_cache` * [functional test] transaction orphan handling * [test framework] make it easier to fast-forward setmocktime * crypto: BIP324 ciphersuite follow-up * gui: make \'-min\' minimize wallet loading dialog * test: check backup from `migratewallet` can be successfully restored * fuzz: coins_view: remove an incorrect assertion * bitcoin-tidy: fix macOS build * test: wallet, verify migration doesn\'t crash for an invalid script * wallet: disallow migration of invalid or not-watched scripts * test: locked_wallet, skip default fee estimation * doc: use llvm-config for bitcoin-tidy example * doc: Improve documentation of rpcallowip rpchelp * ci: Move tidy to persistent worker * ci: Use hard-coded root path for CI containers * ci: Only create folders when needed * ci: Drop BASE_SCRATCH_DIR from LIBCXX_DIR * ci: Run \"macOS native x86_64\" job on GitHub Actions * Sort includes in compat.h * remove unused limits.h include in compat.h * Replace LocaleIndependentAtoi with ToIntegral * iwyu on torcontrol * Remove unused boost signals2 from torcontrol * refactor: Enforce C-str fmt strings in WalletLogPrintf() * doc: Fix bitcoin-unterminated-logprintf tidy comments * ci: Use qemu-user through container engine * doc: remove Fedora libdb4- *-devel install docs * mempool_entry: improve struct packing * test: add bip157 coverage for (start height > stop height) disconnect * test: check for specific disconnect reasons in p2p_blockfilters.py * Add importmempool RPC * refactor: Add and use kernel::ImportMempoolOptions * doc: Clarify the getmempoolinfo.loaded RPC field documentation * Remove Chainstate::LoadMempool * refactor: Correct dbwrapper key naming * build: Remove leveldb from BITCOIN_INCLUDES * refactor: Move CDBWrapper leveldb members to their own context struct * refactor: Split dbwrapper CDBWrapper::EstimateSize implementation * refactor: Move HandleError to dbwrapper implementation * refactor: Split dbwrapper CDBWrapper::Exists implementation * refactor: Fix logging.h includes * refactor: Split dbwrapper CDBWrapper::Read implementation * refactor: Pimpl leveldb::Iterator for CDBIterator * refactor: Split dbwrapper CDBIterator::GetValue implementation * refactor: Split dbwrapper CDBIterator::GetKey implementation * refactor: Split dbwrapper CDBIterator::Seek implementation * refactor: Pimpl leveldb::batch for CDBBatch * refactor: Split dbwrapper CDBatch::Erase implementation * refactor: Split dbwrapper CDBBatch::Write implementation * fuzz: coins_view: correct an incorrect assertion * p2p: network-specific management of outbound connections * test: Add test for outbound protection by network * p2p: Protect extra full outbound peers by network * doc: Add release note * p2p: Introduce data struct to track connection counts by network * tidy: Integrate bicoin-tidy clang-tidy plugin * refactor: fix unterminated LogPrintf()s * lint: remove / * Continued */ markers from codebase * lint: remove lint-logs.py * lint: drop DIR_IWYU global * scripted-diff: Specify Python major version explicitly on Windows * net_processing: Clean up INVENTORY_BROADCAST_MAX constants * test: Check tx from disconnected block is immediately requestable * net_processing: don\'t add txids to m_tx_inventory_known_filter * net_processing: drop m_recently_announced_invs bloom filter * refactor: use \"if constexpr\" in std::vector\'s Unserialize() * refactor: use \"if constexpr\" in std::vector\'s Serialize() * refactor: use \"if constexpr\" in prevector\'s Unserialize() * refactor: use \"if constexpr\" in prevector\'s Serialize() * refactor: use fold expressions instead of recursive calls in UnserializeMany() * refactor: use fold expressions instead of recursive calls in SerializeMany() * validation: when adding txs due to a block reorg, allow immediate relay * mempool_entry: add mempool entry sequence number * qa: Close SQLite connection properly * doc: make it clear that `node` in `addnode` refers to the node\'s address * test: `addnode` with an invalid command should throw an error * rpc, refactor: clean-up `addnode` * scripted-diff: Rename CBlockTreeDB -> BlockTreeDB * refactor: Wrap DestroyDB in dbwrapper helper * ci: Add missing linux-headers package to ASan task * ci: Move ASan USDT to persistent_worker * Fixup style of moved code * move-only: Move CBlockTreeDB to node/blockstorage * index: Drop legacy -txindex check * scripted-diff: Use blocks_path where possible * script: update flake8 to 6.1.0 * test: python E721 updates * Remove unused MessageStartChars parameters from BlockManager methods * ci: Use documented `CCACHE_MAXSIZE` instead of `CCACHE_SIZE` * qa, doc: Fix comment * test: remove redundant test values * test: use common assert_signing_completed_successfully helper * test: add coverage for passing an invalid sighashtype * Remove unused raw-pointer read helper from univalue * refactor: Revert addition of univalue sighash string check * doc: Correct release-notes for sighashtype exceptions * tests: add decryption test to bip324_tests * Add BIP324Cipher, encapsulating key agreement, derivation, and stream/AEAD ciphers * crypto: support split plaintext in ChaCha20Poly1305 Encrypt/Decrypt * bench: add benchmark for FSChaCha20Poly1305 * crypto: add FSChaCha20Poly1305, rekeying wrapper around ChaCha20Poly1305 * crypto: add FSChaCha20, a rekeying wrapper around ChaCha20 * crypto: add the ChaCha20Poly1305 AEAD as specified in RFC8439 * crypto: remove outdated variant of ChaCha20Poly1305 AEAD * test: remove unused `totalOut` code * test: remove unecessary `decoderawtransaction` calls * net processing: clamp -blockreconstructionextratxn to uint32_t bounds * net processing: clamp -maxorphantx to uint32_t bounds * doc: document PeerManager::Options members * test: refactor: deduplicate segwitv0 ECDSA signing for tx inputs * kernel: Remove Univalue from kernel library * kernel: Split ParseSighashString * test: Avoid intermittent issues due to async events in validationinterface_tests * test: drop duplicate getaddrs from p2p_getaddr_caching * test: fix intermittent failure in p2p_getaddr_caching * scripted-diff: Use blocks_path where possible * test: Add blocks_path property to TestNode * test: Drop 22.x node from TxindexCompatibilityTest * refactor: deduplicate ignores_incoming_txs * refactor: set ignore_incoming_txs in ApplyArgsManOptions * test: Use clean chain in MempoolCompatibilityTest * doc: misc changes in release-process * suppressions: note that \'type:ClassName::MethodName\' should be used * doc: filter out merge-script from list of authors * doc: remove generate changelog section from release-process.md * doc: remove note to update bips.md version number * valgrind: add suppression for bug 472219 * Don\'t derive secure_allocator from std::allocator * Remove unused function `reliesOnAssumedValid` * Cache block index entry corresponding to assumeutxo snapshot base blockhash * Move CheckBlockIndex() from Chainstate to ChainstateManager * Documentation improvements for assumeutxo * Fix initialization of setBlockIndexCandidates when working with multiple chainstates * Tighten requirements for adding elements to setBlockIndexCandidates * [net processing] Move -capturemessages to PeerManager::Options * [net processing] Move -blockreconstructionextratxn to PeerManager::Options * [net processing] Move -maxorphantx to PeerManager::Options * [net processing] Move -txreconciliation to PeerManager::Options * [net processing] Use ignore_incoming_txs from m_opts * [net processing] Introduce PeerManager options * ci: Keep system env vars as-is * ci: Set PATH inside the CI env * ci: Remove P_CI_DIR and --workdir * test: create wallet specific for test_locked_wallet case * refactor: Use reinterpret_cast where appropriate * refactor: Avoid casting away constness * refactor: Remove unused C-style casts * Add UBSan `-fsanitize=integer` suppressions for `src/secp256k1` subtree * fuzz: use `ConnmanTestMsg` in `connman` * refactor: Make more transaction size variables signed * fuzz: Re-enable symbolize=1 in ASAN_OPTIONS * RPC/Mining: Document template_request better for getblocktemplate * RPC/rpcdoccheck: Error if a oneline_description has a quote for a non-string * Bugfix: RPC: Remove quotes from non-string oneline descriptions * fuzz: increase coverage of the descriptor targets * fuzz: add a new, more efficient, descriptor parsing target * Move block-storage-related logic to ChainstateManager * refactor: Use EnsureAnyNodeContext * test: Add SyncWithValidationInterfaceQueue to mockscheduler RPC * fuzz: make the parsed descriptor testing into a function * Rework receive buffer pushback * test: wallet, add coverage for watch-only raw sh script migration * descriptor: InferScript, do not return top-level only func as sub descriptor * doc: correct Fedora systemtap dep * lint: Ignore check_fileopens failure on * *kwargs * test: Ignore UTF-8 errors in assert_debug_log * test: Fix debug_log_size helper * Inline short, often-called, rarely-changed basic CNetAddr getters * Convert GetLocal() to std::optional and remove out-param * Use higher-level CNetAddr and CNode helpers in net.cpp * Add CNetAddr::IsPrivacyNet() and CNode::IsConnectedThroughPrivacyNet() * test: fix intermittent failure in wallet_resendwallettransactions.py * GetLocal() type-safety, naming, const, and formatting cleanups * Add and use CNetAddr::HasCJDNSPrefix() helper * Move GetLocal() declaration from header to implementation * Move CaptureMessageToFile() declaration from header to implementation * Move IsPeerAddrLocalGood() declaration from header to implementation * test: cover addrv2 support in anchors.dat with a TorV3 address * streams: Teach AutoFile how to XOR * lint: Add missing `set -ex` to ci/lint/06_script.sh * doc: Add doc comment to ci/test_imagefile * test: fix feature_init.py file perturbation * contrib: move user32.dll from bitcoind.exe libs * init: abort loading of blockindex in case of missing height. * build: adapt Windows builds for libsecp256k1 build changes * Squashed \'src/secp256k1/\' changes from 705ce7ed8c..c545fdc374 * ci: document that -Wreturn-type has been fixed upstream (Windows) * depends: xcb-proto 1.15.2 * clang-tidy: turn on modernize-use-noexcept * validation: use noexcept instead of deprecated throw() * test: Disable known broken USDT test * refactor: use Span for SipHash::Write * fuzz: Bump FuzzedDataProvider.h * doc: update windows -fstack-clash-protection doc * ci: Use DOCKER_BUILDKIT for lint image * test: Clear block index flags when testing snapshots * Update CheckBlockIndex invariants for chains based on an assumeutxo snapshot * Add wrapper for adding entries to a chainstate\'s block index candidates * Move block-arrival information / preciousblock counters to ChainstateManager * test: Add helper functions for checking node versions * Remove CChain dependency in node/blockstorage * Explicitly track maximum block height stored in undo files * Added `longpollid` and `data` params to `template_request` #27998 * scripted-diff: Use new FUZZ_TARGET macro everywhere * fuzz: Accept options in FUZZ_TARGET macro * Add AutoFile::detail_fread member function * refactor: Modernize AutoFile * Switch all callers from poly1305_auth to Poly1305 class * tests: add more Poly1305 test vectors * crypto: add Poly1305 class with std::byte Span interface * crypto: switch poly1305 to incremental implementation * fuzz: Generate process_message targets individually * ci: Add missing -O2 to valgrind tasks * guix: backport glibc patch to prevent redundant librt link * contrib: remove librt from release deps * build: remove check for gettimeofday & librt * doc: Remove comments that just repeat what the code does * refactor: Remove redundant file check from AutoFile shift operators * Extract util::Xor, Add key_offset option, Add bench * refactor: Remove duplicate allNetMessageTypesVec * kernel: Remove StartShutdown calls from validation code * wallet: loading, log descriptor parsing error details * refactor: Move stopafterblockimport handling out of blockstorage * test: indexes, fix on error infinite loop * test: add keep_alive option to socks5 proxy in test_framework * test: cover TorV3 address in p2p_addrv2_relay * test: add support for all networks in CAddress in messages.py * index: verify blocks data existence only once * init: don\'t start indexes sync thread prematurely * refactor: simplify pruning violation check * make GetFirstStoredBlock assert that \'start_block\' always has data * refactor: index, decouple \'Init\' from \'Start\' * test: Check expected_stderr after stop * test: add ChaCha20 test triggering 32-bit block counter overflow * test: make assumeUTXO test capture the expected fatal error * refactor: init indexes, decouple \'Start()\' from the creation step * doc: describe \'init load\' thread actions * scripted-diff: rename \'loadblk\' thread name to \'initload\' * init: start indexes sync earlier * tests: improve ChaCha20 unit tests * crypto: Implement RFC8439-compatible variant of ChaCha20 * wallet: bdb: include bdb header from our implementation files only * wallet: bdb: don\'t use bdb define in header * wallet: bdb: move BerkeleyDatabase constructor to cpp file * wallet: bdb: move SafeDbt to cpp file * wallet: bdb: move SpanFromDbt to below SafeDbt\'s implementation * test: miner: add coverage for `-blockmintxfee` setting * wallet: bdb: move TxnBegin to cpp file since it uses a bdb function * wallet: bdb: drop default parameter * wallet: sqlite: force sqlite3.h to be included by the cpp files * test: wallet, add coverage for addressbook migration * wallet: migration bugfix, persist empty labels * wallet: migration bugfix, clone \'send\' record label to all wallets * test: remove race in the user-agent reception check * test: Restore unlimited timeout in IndexWaitSynced * ci: Print full lscpu output * ci: Remove deprecated container.greedy * gui: send, left alignment for \"bytes\" and \"change\" label * Fix RPCConsole wallet selection * qt: remove confusing \"Dust\" label from coincontrol / sendcoins dialog * test: refactor: deduplicate legacy ECDSA signing for tx inputs * docs: fixup honggfuzz patch * descriptor: assert we never parse a sane miniscript with no pubkey * qa: make sure we don\'t let unspendable Miniscript descriptors be imported * descriptor: refuse to parse unspendable miniscript descriptors * Consolidate Win32-specific error formatting * Show descriptive error messages when FileCommit fails * ci: re-enable gui tests for s390x * doc: Fix verify-binaries link in contrib README * Allow std::byte serialization * Allow FastRandomContext::randbytes for all byte types * script: appease spelling linter * script: update ignored-words.txt * script: update linter dependencies * test: fix PEP484 no implicit optional argument types errors * script, test: add missing python type annotations * test: add ellswift test vectors from BIP324 * test: Add ellswift unit tests * test: Add python ellswift implementation to test framework * test: Rename EncodeDecimal to serialization_fallback * refactor: remove in-code warning suppression * contrib: add macOS fixup_chains check to security-check * ci: filter all subtrees from tidy output * build: support -no_fixup_chains in ld64 * miniscript: make GetStackSize() and GetOps() return optionals * Remove now-unnecessary poll, fcntl includes from net(base).cpp * refactor: Drop unsafe AsBytePtr function * fuzz: Generate rpc fuzz targets individually * test: add coverage for descriptor ID * wallet: bugfix, always use apostrophe for spkm descriptor ID * refactor: extract descriptor ID calculation from spkm GetID() * wallet: do not allow loading descriptor with an invalid ID * guix: Specify symbols in modules explicitly * guix: Drop unneeded modules * guix: Unify fetch methods * test: Use same timeout for all index sync * ci: remove duplicate python3 from CI configs * ci: remove duplicate bsdmainutils from CI configs * kernel: Add fatalError method to notifications * kernel: Add flushError method to notifications * scripted-diff: Rename FatalError to FatalErrorf * kernel: Pass interrupt reference to chainman * util: Add SignalInterrupt class and use in shutdown.cpp * doc: simplify the router options in doc/i2p.md * doc: clarify when and how to launch the SAM bridge in doc/i2p.md * doc: Add release note for wallet loading changes * walletdb: Remove loading code where the database is iterated * walletdb: refactor decryption key loading * walletdb: refactor defaultkey and wkey loading * walletdb: refactor active spkm loading * walletdb: refactor tx loading * walletdb: refactor address book loading * walletdb: Refactor descriptor wallet records loading * walletdb: Refactor legacy wallet record loading into its own function * test: EC: optimize scalar multiplication of G by using lookup table * test: add secp256k1 module with FE (field element) and GE (group element) classes * Use only Span{} constructor for byte-like types where possible * util: Allow std::byte and char Span serialization * tests: Test for bumping single output transaction * test: Test bumpfee reduce_output * bumpfee: Allow original change position to be specified * net: remove unused `CConnmanTest` * wallet: Give deprecation warning when loading a legacy wallet * gui: Add File > Migrate Wallet * Bench test for EllSwift ECDH * gui: Optionally return passphrase after unlocking * Bench tests for CKey->EllSwift * Fuzz test for Ellswift ECDH * Fuzz test for CKey->EllSwift->CPubKey creation/decoding * Unit test for ellswift creation/decoding roundtrip * Add ElligatorSwift key creation and ECDH logic * Enable ellswift module in libsecp256k1 * gui: Disable and uncheck blank when private keys are disabled * http: update libevent workaround to correct version * MaybePunishNodeForTx: Remove unused message arg and logging * guix: Update `python-lief` package to 0.13.2 * test: refactor: usdt_mempool: store all events * test: refactor: remove unnecessary nonlocal * test: log sanity check assertion failures * test: store utxocache events * test: refactor: deduplicate handle_utxocache_ * logic * test: refactor: rename inbound to is_inbound * test: refactor: remove unnecessary blocks_checked counter * test: Fix intermittent issue in mining_getblocktemplate_longpoll.py * test: Add implicit-signed-integer-truncation: */include/c++/ suppression * GUI: TransactionRecord: When time/index/etc match, sort send before receive * Bugfix: Ignore ischange flag when we\'re not the sender * GUI: Remove SendToSelf TransactionRecord type * GUI: TransactionRecord: Refactor to turn send-to-self into send+receive pairs * GUI: TransactionRecord: Use \"any from me\" as the criteria for deciding whether a transaction is a send or receive * contrib: remove macOS lazy_bind check * build: explicitly opt-in to new fixup_chains functionality for darwin * depends: Bump MacOS minimum runtime requirement to 11.0 * depends: bump darwin clang to 11.1 * test: added coverage to estimatefee * test: Run fuzz tests on macOS * Added static_assert to check that base_blob is using whole bytes. * [fuzz] Show that SRD budgets for non-dust change * [bug] Increase SRD target by change_fee * Add more tests for the BIP21 implementation * net: Give seednodes time before falling back to fixed seeds * Squashed \'src/secp256k1/\' changes from 4258c54f4e..705ce7ed8c * test: Use TestNode *_path properties where possible * test: Allow pathlib.Path as RPC argument via authproxy * scripted-diff: Use wallets_path and chain_path where possible * test: Use wallet_dir lambda in wallet_multiwallet test where possible * fuzz: Avoid OOM in transaction fuzz target * qt: show own outputs on PSBT signing window * depends: modernize clang flags * ci: disable false-positive warnings for now * ci: Run fuzz target even if input folder is empty * ci: install llvm-symbolizer in MSAN jobs * ci: use LLVM 16.0.6 in MSAN jobs * fuzz: Fix implicit-integer-sign-change in wallet/fees fuzz target * scripted-diff: Following the C++ Standard rules for identifiers with _. * fuzz: addrman, avoid `ConsumeDeserializable` when possible * salvage: Remove use of ReadKeyValue in salvage * feerate: For GetFeePerK() return nSatoshisPerK instead of round trip through GetFee * test: refactor: introduce `generate_keypair` helper with WIF support * walletdb: Refactor hd chain loading to its own function * walletdb: Refactor encryption key loading to its own function * walletdb: Refactor crypted key loading to its own function * walletdb: Refactor key reading and loading to its own function * Manage exceptions in bcc callback functions * fuzz: wallet, add target for CoinControl * bench: disable birth time block skip for wallet_create_tx.cpp * doc: test: update TestShell instructions * validation: add missing insert to m_dirty_blockindex * Remove the syscall sandbox * validation: Stricter assumeutxo error handling in InvalidateCoinsDBOnDisk * validation: Stricter assumeutxo error handling in LoadChainstate * refactor: rename BCLog::BLOCKSTORE to BLOCKSTORAGE * doc: release note re raising on invalid -debug/debugexclude/loglevel * init: remove config option names from translated -loglevel strings * net: net_processing, add `ProcessCompactBlockTxns` * refactor: Avoid copy of bilingual_str when formatting, Fix ADL violation * build: suppress external warnings by default * test: clean up is node stopped * test: ensure old fee_estimate.dat not read on restart and flushed * tx fees, policy: read stale fee estimates with a regtest-only option * tx fees, policy: do not read estimates of old fee_estimates.dat * refactor: Make m_count_with_ * in CTxMemPoolEntry int64_t, drop UBSAN supp * tx fees, policy: periodically flush fee estimates to fee_estimates.dat * test: Make linter to look for `BOOST_ASSERT` macros * test: Kill `BOOST_ASSERT` * test: move random.h include header from setup_common.h to cpp * test: move remaining random test util code from setup_common to random * test: -loglevel raises on invalid values * init: raise on invalid loglevel config option * test: -debug and -debugexclude raise on invalid values * init: raise on invalid debug/debugexclude config options * fuzz: wallet, add target for `fees` * ci: Switch to `amd64` container in \"ARM\" task * ci: Bump macOS cross task to ubuntu:jammy * interfaces, wallet: Expose migrate wallet * ci: Use latest `macos-ventura-xcode:14.3.1` image * wallet: Document blank flag use in descriptor wallets * wallet: Ensure that the blank wallet flag is unset after imports * build: make sure we can overwrite config.{guess,sub} * scripted-diff: Use datadir from options in chainstatemanager test * test: Add test for migrating default wallet and plain file wallet * wallet: Generated migrated wallet\'s path from walletdir and name * Remove txmempool implicit-integer-sign-change sanitizer suppressions * Use `int32_t` type for most transaction size/weight values * test: fix intermittent failure in p2p_leak_tx.py * fuzz: Fix mini_miner_selection running out of coin * net: do not `break` when `addr` is not from a distinct network group * test: add coverage for `/deploymentinfo` passing a blockhash * rest: bugfix, fix crash error when calling `/deploymentinfo` * refactor: decouple early return commands from AppInit * gui: return EXIT_FAILURE on post-init fatal errors * Return EXIT_FAILURE on post-init fatal errors * ci: Use podman stop over podman kill * contrib: docs fix --import-keys flag on verify.py * refactor: index: use `AbortNode` in fatal error helper * move ThreadImport ABC error to use AbortNode * rpc, wallet: Include information about blank flag * doc: Clarify that -datacarriersize applies to the full raw scriptPubKey, not the data push * test: Add -datacarriersize=2 tests * Remove mapRelay * net_processing: relay txs from m_most_recent_block * walletdb: Refactor wallet flags loading * walletdb: Refactor minversion loading * ci: Invalidate Cirrus CI docker cache * ci: Nuke Android APK task, Use credits for tsan * test: add unit test for local address advertising * net: restrict self-advertisements with privacy networks * net, refactor: pass reference for peer address in GetReachabilityFrom * net, refactor: pass CNode instead of CNetAddr to GetLocalAddress * ci: enable AArch64 target in MSAN jobs * ci: use LLVM 16.0.5 in MSAN jobs * doc: add release note about removal of `deprecatedrpc=walletwarningfield` flag * Restorewallet/createwallet help documentation fixups/improvements * rpc: remove deprecated \"warning\" field from {create,load,restore,unload}wallet * test: avoid sporadic MINIMALDATA failure in feature_taproot.py (fixes #27595) * [fuzz] Only check duplicate coinbase script when block was valid * wallet: Add tracing for sqlite statements * guix: remove cURL from build env * Mitigate timeout in CalculateTotalBumpFees * Update .style.yapf * wallet: Add GetPrefixCursor to DatabaseBatch * streams: Drop confusing DataStream::Serialize method and << operator * doc: update getnodeaddresses for CJDNS, I2P and Tor and rm link * walletdb: Handle when database keys are empty * walletdb: Consistently clear key and value streams before writing * Add public Boost headers explicitly * test: Avoid `BOOST_ASSERT` macro * fuzz: fix wallet notifications.cpp * test: add block sync to getblockfrompeer.py * scripted-diff: move settings to common namespace * move-only: Move settings to the common library * kernel: Remove chainparams, chainparamsbase, args, settings from kernel library * refactor: Remove gArgs access from validation.cpp * refactor: Add path argument to FindSnapshotChainstateDir * refactor: Add stop_at_height option in ChainstateManager * fuzz: Avoid timeout in utxo_total_supply * ci: Enable float-divide-by-zero check * ci: Use podman for persistent workers * ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN * ci: return to using Ubuntu 22.04 in MSAN jobs * ci: compile clang and compiler-rt in MSAN jobs * ci: use LLVM 16.0.4 in MSAN jobs * ci: remove extra CC & CXX from MSAN jobs * ci: standardize custom libc++ usage in MSAN jobs * fix includes for touched header files (iwyu) * Add [[nodiscard]] where ignoring a Result return type is an error * lint: stop ignoring LIEF imports * ci: Avoid leaking HOME var into CI pod * ci: Remove \"default\" test env * ci: Add missing set -e to 01_base_install.sh * contrib/init: Better systemd integration * test: ensure addrman test is finite * addrman: change asserts to Assumes * p2p, refactor: return `std::optional` in `LookupHost` * p2p, refactor: return vector/optional in `Lookup` * p2p, refactor: return `std::vector` in `LookupHost` * p2p, refactor: return `std::vector` in `LookupIntern` * fuzz: Change LIMIT_TO_MESSAGE_TYPE from a compile-time to a run-time setting * doc: Fix broken link in release notes * test: Move test_chain_listunspent wallet check from mempool_packages to wallet_basic * p2p: Log addresses of stalling peers * bench: Remove incorrect LoadWallet call in WalletBalance * tests: Move ADDRESS_BCRT1_UNSPENDABLE to wallet/test/util.h * tests, bench: Consolidate {Test,Bench}Un/LoadWallet helper * test: Throw error when -signetchallenge is non-hex * Fix `#include`s in `src/wallet` * wallet: skip block scan if block was created before wallet birthday * refactor: single method to append new spkm to the wallet * doc: Fix typo in doc/release-process.md URL * doc: Add doc/release-notes/release-notes-25.0.md * use \'byte\'/\'bytes\' for bech32(m) validation error * doc: update `Select` function description * refactor: de-duplicate lookups * Unconditionally return when compact block status == READ_STATUS_FAILED * refactor: Replace std::optional with util::Result * util: Add void support to util::Result * Add tests for parallel compact block downloads * Support up to 3 parallel compact block txn fetchings * rpc: Fix invalid bech32 handling * build: disable boost multi index safe mode * depends: remove redundant stdlib option * index: prevent race by calling \'CustomInit\' prior setting \'synced\' flag * test: Make `util/test_runner.py` honor `BITCOINUTIL` and `BITCOINTX` * ci: Log qa-assets repo last commit * fuzz: Print error message when FUZZ is missing * test: p2p: check misbehavior for non-continuous headers messages * ci: remove MSAN getrandom syscall workaround * random: switch to using getrandom() directly * random: add [[maybe_unused]] to GetDevURandom * random: getentropy on macOS does not need unistd.h * ci, iwyu: Double maximum line length for includes * refactor: Move system from util to common library * refactor: Split util::AnyPtr into its own file * refactor: Split util::insert into its own file * refactor: Move ScheduleBatchPriority to its own file * kernel: Add warning method to notifications * kernel: Add progress method to notifications * kernel: Add headerTip method to notifications * kernel: Add notification interface * test: Explicitly specify directory where to search tests for * test: fix `include_immature_coinbase` logic in `get_utxos` * test: fix `interface_usdt_mempool` by mining a block after each test * test: fix mature utxos addition to wallet in `mempool_package_limits` * test: fix intermittent issue in `feature_bip68_sequence` * doc: add 24.1 release notes * doc: add 23.2 release notes * Only request full blocks from the peer we thought had the block in-flight * Convert mapBlocksInFlight to a multimap * Remove nBlocksInFlight * alias BlockDownloadMap for mapBlocksInFlight * build: Detect USDT the same way how it is used in the code * doc: remove Security section from build-unix.md * build: Bump minimum supported GCC to g++-9 * ci: Bump centos:stream8 to centos:stream9 * ci: Document the false positive error for g++-9 * build: Do not define `ENABLE_ZMQ` when ZMQ is not available * test: Add test to check tx in the last block can be downloaded * test: Split up test_notfound_on_unannounced_tx test case * index: Enable reindex-chainstate with active indexes * index: Use first block from locator instead of looking for fork point * ci: Reduce tsan CPU and memory for faster scheduling * ci: Use credits for ARM task * msvc: Provide `ObjectFileName` explicitly * doc: remove mention of glibc 2.10+ * doc: Rework build-unix.md * ci: remove RUN_SECURITY_TESTS * ci: Drop NO_WERROR=1 for clang-10 build * build: Bump minimum Clang to clang-10 * doc: Remove outdated CentOS comment * qt, test: Add missed header * ci: Fix \"Number of CPUs\" output * ConnectTip: don\'t log total disk read time in bench * guix: remove redundant glibc patches * guix: document when certain guix patches can be dropped * ci: Remove unused errtrace trap ERR * walletdb: Remove unused CreateMockWalletDatabase * add `lief` to `spelling.ignore-words` * test: fix spelling in `interface_usdt_utxocache` * test: add coverage for wallet read write db deadlock * walletdb: scope bdb::EraseRecords under a single db txn * wallet: bugfix, GetNewCursor() misses to provide batch ptr to BerkeleyCursor * doc, test: Document steps to reproduce TSan warning for `libdb` * doc: Remove unused NO_BLOOM_VERSION constant * build, doc: Adjust comment after PR27254 * Add wallets_conflicts * wallet, tests: mark unconflicted txs as inactive * ci: Run iwyu on all src files * build: cleanup comments after adding yet another libtool hack * build: Fix shared lib linking for darwin with lld * test: Return dict in MiniWallet::send_to * doc: remove version number from bips.md * depends: no-longer nuke libc++abi.so * in native_clang package * [mempool] clear mapDeltas entry if prioritisetransaction sets delta to 0 * [functional test] prioritisation is not removed during replacement and expiry * [functional test] getprioritisedtransactions RPC * [rpc] add getprioritisedtransactions * [mempool] add GetPrioritisedTransactions * refactor, blockstorage: Replace stopafterblockimport arg * refactor, blockstorage: Replace blocksdir arg * refactor, BlockManager: Replace fastprune from arg with options * refactor/iwyu: Complete includes for blockmanager_args * refactor: Move functions to BlockManager methods * zmq: Pass lambda to zmq\'s ZMQPublishRawBlockNotifier * ci: Remove CI_EXEC bloat * test: added coverage to mining_basic.py * move-only: Move almost all CI_EXEC code to 06_script_b.sh * refactor: Declare g_zmq_notification_interface as unique_ptr * msvc: Do not define `HAVE_CONSENSUS_LIB` * msvc: Clean up `libbitcoin_consensus` source files * scripted-diff: Rename `libbitcoinconsensus` to `libbitcoin_consensus` * refactor: Use ChainType enum exhaustively * net_processing: Boost inv trickle rate * txmempool: have CompareDepthAndScore sort missing txs first * Temporarily work around gcc-13 warning bug in interfaces_tests * p2p: Avoid prematurely clearing download state for other peers * Fix clang-tidy performance-unnecessary-copy-initialization warnings * Remove unused find_value global function * scripted-diff: Use UniValue::find_value method * Add UniValue::find_value method * scripted-diff: Remove unused chainparamsbase includes * Add missing definitions in prep for scripted diff * refactor: Replace string chain name constants with ChainTypes * refactor: Introduce ChainType getters for ArgsManager * refactor: Create chaintype files * add ryanofsky to trusted-keys * doc: clarify PR 26076 release note * refactor: Remove unused GetTimeMillis * test: add test for `descriptorprocesspsbt` RPC * ci: fix asan task name * test: Treat `bitcoin-wallet` binary in the same way as others * test, refactor: Add `set_binary_paths` function * util: improve streams.h:FindByte() performance * [bench] add streams findbyte * fuzz: BIP 42, BIP 30, CVE-2018-17144 * Move LoadVerifyActivateChainstate to ChainTestingSetup * msvc: Cleanup after upgrading libsecp256k1 up to 0.3.0 * ci: Remove CI_EXEC bloat in test/06_script_b.sh * ci: Move CI container kill out of 06_script_b.sh * ci: Pass full env to CI pod to avoid missing a var * scripted-diff: Use platform-agnostic `ALWAYS_INLINE` macro * Introduce platform-agnostic `ALWAYS_INLINE` macro * [doc] Add post branch-off note about fuzz input pruning * Remove unused chainparams from BlockManager methods * Replace pindex pointer with block reference * Add BlockManagerOpts::chainparams reference * rpc: add descriptorprocesspsbt rpc * test: dedup file hashing using `sha256sum_file` helper * rpc: Add check for unintended option/parameter name clashes * test: Update python tests to use named parameters instead of options objects * RPC: Allow RPC methods accepting options to take named parameters * RPC: Add add OBJ_NAMED_PARAMS type * wallet, bench: Remove unused database options from WalletBenchLoading * tests: Modify records directly in wallet ckey loading test * tests: Update DuplicateMockDatabase for MockableDatabase * scripted-diff: Replace CreateMockWalletDB with CreateMockableWalletDB * wallet, tests: Include wallet/test/util.h * wallet: Move DummyDatabase to salvage * wallet, tests: Replace usage of dummy db with mockable db * Introduce MockableDatabase for wallet unit tests * ci: Use arm_container.dockerfile * clarify processing of mempool-msgs when NODE_BLOOM * Avoid dereferencing interruption_point if it is nullptr * contrib: add ELF ABI check to symbol-check.py * test: Add util to mine invalid blocks * fuzz: addrman, add coverage for `network` field in `Select()`, `Size()` and `GetAddr()` * test: Simplify feature_fastprune.py * test: add ripemd160 to test framework modules list * test: added coverage to rpc_scantxoutset.py * ci: remove usage of untrusted bpfcc-tools * ci: use LLVM/clang-16 in native_asan job * rpc: scanblocks, add \"completed\" flag to the result obj * rpc: scanblocks, do not traverse the whole chain block by block * test: remove modinv python util helper function * rpc: return block hash & height in getbalances, gettransaction & getwalletinfo JSONs * refactor: Make ListSelected return vector * wallet: Move CoinCointrol definitions to .cpp * wallet: Use std::optional for GetExternalOutput and fixups * scripted-diff: Rename setSelected->m_selected_inputs * test: fix `feature_addrman.py` on big-endian systems * build: Use newest `config.{guess,sub}` available * test: simplify uint256 (de)serialization routines * wallet: introduce generic recursive tx state updating function * ci: Bump ci/lint/Dockerfile * bugfix: Fix incorrect debug.log config file path * init: Error if ignored bitcoin.conf file is found * lint: Fix lint-format-strings false positives when format specifiers have argument positions * depends: latest config.sub * depends: latest config.guess * test: Use python3.8 pow() * Bump python minimum version to 3.8 * test: Remove unused sanitizer suppressions * test: prevent intermittent failures * depends: reuse _config_opts for CMake options * test: cover fastprune with excessive block size * blockstorage: Adjust fastprune limit if block exceeds blockfile size * move-only: Extract common/args and common/config.cpp from util/system * p2p: \"skip netgroup diversity of new connections for tor/i2p/cjdns\" follow-up * [test] mempool full in package accept * [validation] set PackageValidationState when mempool full * [policy] disallow transactions under min relay fee, even in packages * [test] package cpfp bumps parents =minrelaytxfee * [test util] mock mempool minimum feerate * test: bumpfee, add coverage for \"send coins back to yourself\" * bumpfee: enable send coins back to yourself * fuzz: re-enable prioritisetransaction & analyzepsbt RPC * refactor: Remove CAddressBookData::destdata * wallet: Add DatabaseBatch::ErasePrefix method * [fuzz] Add MiniMiner target + diff fuzz against BlockAssembler * [unit test] GatherClusters and MiniMiner unit tests * refactor: coinselector_tests, unify wallet creation code * test: coverage for bnb max weight * wallet: clean post coin selection max weight filter * coin selection: BnB, don\'t return selection if exceeds max allowed tx weight * test: coin selection, add coverage for SRD * coin selection: heap-ify SRD, don\'t return selection if exceeds max tx weight * coin selection: knapsack, select closest UTXO above target if result exceeds max tx size * test: add coverage to ensure the first arg of scantxoutset is needed * logging: log ASN when using `-asmap` * tracepoints: Disables `-Wgnu-zero-variadic-macro-arguments` to compile without warnings * Switch hardened derivation marker to h in descriptors * wallet: Use steady clock to calculate number of derive iterations * wallet: Use steady clock to measure scanning duration * qt: Use steady clock to throttle GUI notifications * test: Use steady clock in index tests * net: Use steady clock in InterruptibleRecv * net: add `GetMappedAS` in `CConnman` * Implement Mini version of BlockAssembler to calculate mining scores * validation: Move warningcache to ChainstateManager * [mempool] find connected mempool entries with GatherClusters(…) * util: implement prevector\'s move ctor & move assignment * test: CScriptCheck is used a lot in std::vector, make sure that\'s efficient * util: prevector\'s move ctor and move assignment is `noexcept` * bench: Add benchmark for prevector usage in std::vector * test: various `converttopsbt` check cleanups in rpc_psbt.py * Use PoolAllocator for CCoinsMap * Call ReallocateCache() on each Flush() * Add PoolResource fuzzer * Calculate memory usage correctly for unordered_maps that use PoolAllocator * Add pool based memory resource & allocator * refactor: rpc: hide and rename ParseNonRFCJSONValue() * test: move coverage on ParseNonRFCJSONValue() to UniValue::read() * rpc, tests: in `utxoupdatepsbt` also look for the transaction in the txindex * doc: clarify new_only param for Select function * bench: test select for a new table with only one address * bench: add coverage for addrman select with network parameter * test: increase coverage of addrman select (without network) * test: add addrman test for special case * tests: add addrman_select_by_network test * addrman: add functionality to select by network * scripted-diff: rename local variables to match modern conventions * refactor: consolidate select logic for new and tried tables * refactor: generalize select logic * addrman: Introduce helper to generalize looking up an addrman entry * test: add coverage for `-bantime` * doc: document json rpc endpoints * wallet: refactor coin selection algos to return util::Result * refactor: update Select_ function * prune, import: fixes #23852 * Build: Log when test -f fails in Makefile * Build: Use AM_V_GEN in Makefiles where appropriate * rpc: extract psbt updating logic into ProcessPSBT * doc: add release notes for `abandoned` field in `gettransaction` and `listtransactions` * rpc, wallet: add `abandoned` field for all categories of transactions in ListTransactions * assumeutxo: catch and log fs::remove error instead of two exist checks * test: test banlist database recreation * Add test for `sendmany` rpc that uses `subtractfeefrom` parameter * test, init: perturb file to ensure failure instead of only deleting them * rpc, docs: Add note for commands that supports only legacy wallets * test: perturb anchors.dat to test it doesn\'t throw an error during initialization * Periodically check disk space to avoid corruption * Implement CCoinsViewErrorCatcher::HaveCoin * test: add coverage for rpc error when trying to rescan beyond pruned data * build: Drop redundant qt/bitcoin.cpp * build: Include qt sources for parsing with extract_strings.py * Wed May 31 2023 Martin Pluskal - Update to version 25.0: * doc: update release notes for 25.0 * doc: update manual pages for 25.0 * build: bump version to v25.0 final * doc: update manual pages for v25.0rc2 * build: bump version to v25.0rc2 * net_processing: Boost inv trickle rate * txmempool: have CompareDepthAndScore sort missing txs first * p2p: Avoid prematurely clearing download state for other peers- Drop 392dc68e.patch * Thu Apr 06 2023 Dominique Leuenberger - Add 392dc68e.patch: Fix build with gcc 13. * Tue Dec 20 2022 Andrea Manzini - Update to version 24.0.1 changelogs: * https://bitcoincore.org/en/releases/24.0.1/ * https://bitcoincore.org/en/releases/23.0/ * https://bitcoincore.org/en/releases/22.1/ * Sun May 08 2022 Andrei Dziahel - fixed upstream version number change: it\'s not 0.x anymore` * Fri Apr 22 2022 Andrei Dziahel + disabled tests to fix Tumbleweed build + updated source tarball URL per the upstream recommendation + drop 24104.patch: fixed upstream + Update to version 0.22.0 * P2P and network changes - Added support for running Bitcoin Core as an [I2P (Invisible Internet Project)](https://en.wikipedia.org/wiki/I2P) service and connect to such services. See [i2p.md](https://github.com/bitcoin/bitcoin/blob/22.x/doc/i2p.md) for details. (#20685) - This release removes support for Tor version 2 hidden services in favor of Tor v3 only, as the Tor network [dropped support for Tor v2](https://blog.torproject.org/v2-deprecation-timeline) with the release of Tor version 0.4.6. Henceforth, Bitcoin Core ignores Tor v2 addresses; it neither rumors them over the network to other peers, nor stores them in memory or to `peers.dat`. (#22050) - Added NAT-PMP port mapping support via [`libnatpmp`](https://miniupnp.tuxfamily.org/libnatpmp.html). (#18077) * New and Updated RPCs - Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki) being implemented, behavior for all RPCs that accept addresses is changed when a native witness version 1 (or higher) is passed. These now require a Bech32m encoding instead of a Bech32 one, and Bech32m encoding will be used for such addresses in RPC output as well. No version 1 addresses should be created for mainnet until consensus rules are adopted that give them meaning (as will happen through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)). Once that happens, Bech32m is expected to be used for them, so this shouldn\'t affect any production systems, but may be observed on other networks where such addresses already have meaning (like signet). (#20861) - The `getpeerinfo` RPC returns two new boolean fields, `bip152_hb_to` and `bip152_hb_from`, that respectively indicate whether we selected a peer to be in compact blocks high-bandwidth mode or whether a peer selected us as a compact blocks high-bandwidth peer. High-bandwidth peers send new block announcements via a `cmpctblock` message rather than the usual inv/headers announcements. See BIP 152 for more details. (#19776) - `getpeerinfo` no longer returns the following fields: `addnode`, `banscore`, and `whitelisted`, which were previously deprecated in 0.21. Instead of `addnode`, the `connection_type` field returns manual. Instead of `whitelisted`, the `permissions` field indicates if the peer has special privileges. The `banscore` field has simply been removed. (#20755) - The following RPCs: `gettxout`, `getrawtransaction`, `decoderawtransaction`, `decodescript`, `gettransaction`, and REST endpoints: `/rest/tx`, `/rest/getutxos`, `/rest/block` deprecated the following fields (which are no longer returned in the responses by default): `addresses`, `reqSigs`. The `-deprecatedrpc=addresses` flag must be passed for these fields to be included in the RPC response. This flag/option will be available only for this major release, after which the deprecation will be removed entirely. Note that these fields are attributes of the `scriptPubKey` object returned in the RPC response. However, in the response of `decodescript` these fields are top-level attributes, and included again as attributes of the `scriptPubKey` object. (#20286) - When creating a hex-encoded bitcoin transaction using the `bitcoin-tx` utility with the `-json` option set, the following fields: `addresses`, `reqSigs` are no longer returned in the tx output of the response. (#20286) - The `listbanned` RPC now returns two new numeric fields: `ban_duration` and `time_remaining`. Respectively, these new fields indicate the duration of a ban and the time remaining until a ban expires, both in seconds. Additionally, the `ban_created` field is repositioned to come before `banned_until`. (#21602) - The `setban` RPC can ban onion addresses again. This fixes a regression introduced in version 0.21.0. (#20852) - The `getnodeaddresses` RPC now returns a \"network\" field indicating the network type (ipv4, ipv6, onion, or i2p) for each address. (#21594) - `getnodeaddresses` now also accepts a \"network\" argument (ipv4, ipv6, onion, or i2p) to return only addresses of the specified network. (#21843) - The `testmempoolaccept` RPC now accepts multiple transactions (still experimental at the moment, API may be unstable). This is intended for testing transaction packages with dependency relationships; it is not recommended for batch-validating independent transactions. In addition to mempool policy, package policies apply: the list cannot contain more than 25 transactions or have a total size exceeding 101K virtual bytes, and cannot conflict with (spend the same inputs as) each other or the mempool, even if it would be a valid BIP125 replace-by-fee. There are some known limitations to the accuracy of the test accept: it\'s possible for `testmempoolaccept` to return \"allowed\"=True for a group of transactions, but \"too-long-mempool-chain\" if they are actually submitted. (#20833) - `addmultisigaddress` and `createmultisig` now support up to 20 keys for Segwit addresses. (#20867) Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below. * Build System - Release binaries are now produced using the new `guix`-based build system. The [/doc/release-process.md](/doc/release-process.md) document has been updated accordingly. * Files - The list of banned hosts and networks (via `setban` RPC) is now saved on disk in JSON format in `banlist.json` instead of `banlist.dat`. `banlist.dat` is only read on startup if `banlist.json` is not present. Changes are only written to the new `banlist.json`. A future version of Bitcoin Core may completely ignore `banlist.dat`. (#20966) * New settings - The `-natpmp` option has been added to use NAT-PMP to map the listening port. If both UPnP and NAT-PMP are enabled, a successful allocation from UPnP prevails over one from NAT-PMP. (#18077) * Updated settings Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below. - Passing an invalid `-rpcauth` argument now cause bitcoind to fail to start. (#20461) * Tools and Utilities - A new CLI `-addrinfo` command returns the number of addresses known to the node per network type (including Tor v2 versus v3) and total. This can be useful to see if the node knows enough addresses in a network to use options like `-onlynet=` or to upgrade to this release of Bitcoin Core 22.0 that supports Tor v3 only. (#21595) - A new `-rpcwaittimeout` argument to `bitcoin-cli` sets the timeout in seconds to use with `-rpcwait`. If the timeout expires, `bitcoin-cli` will report a failure. (#21056) * Wallet - External signers such as hardware wallets can now be used through the new RPC methods `enumeratesigners` and `displayaddress`. Support is also added to the `send` RPC call. This feature is experimental. See [external-signer.md](https://github.com/bitcoin/bitcoin/blob/22.x/doc/external-signer.md) for details. (#16546) - A new `listdescriptors` RPC is available to inspect the contents of descriptor-enabled wallets. The RPC returns public versions of all imported descriptors, including their timestamp and flags. For ranged descriptors, it also returns the range boundaries and the next index to generate addresses from. (#20226) - The `bumpfee` RPC is not available with wallets that have private keys disabled. `psbtbumpfee` can be used instead. (#20891) - The `fundrawtransaction`, `send` and `walletcreatefundedpsbt` RPCs now support an `include_unsafe` option that when `true` allows using unsafe inputs to fund the transaction. Note that the resulting transaction may become invalid if one of the unsafe inputs disappears. If that happens, the transaction must be funded with different inputs and republished. (#21359) - We now support up to 20 keys in `multi()` and `sortedmulti()` descriptors under `wsh()`. (#20867) - Taproot descriptors can be imported into the wallet only after activation has occurred on the network (e.g. mainnet, testnet, signet) in use. See [descriptors.md](https://github.com/bitcoin/bitcoin/blob/22.x/doc/descriptors.md) for supported descriptors. * GUI changes - External signers such as hardware wallets can now be used. These require an external tool such as [HWI](https://github.com/bitcoin-core/HWI) to be installed and configured under Options -> Wallet. When creating a new wallet a new option \"External signer\" will appear in the dialog. If the device is detected, its name is suggested as the wallet name. The watch-only keys are then automatically imported. Receive addresses can be verified on the device. The send dialog will automatically use the connected device. This feature is experimental and the UI may freeze for a few seconds when performing these actions. * RPC - The RPC server can process a limited number of simultaneous RPC requests. Previously, if this limit was exceeded, the RPC server would respond with [status code 500 (`HTTP_INTERNAL_SERVER_ERROR`)](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors). Now it returns status code 503 (`HTTP_SERVICE_UNAVAILABLE`). (#18335) - Error codes have been updated to be more accurate for the following error cases (#18466): - `signmessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the passed address is invalid. Previously returned RPC_TYPE_ERROR (-3). - `verifymessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the passed address is invalid. Previously returned RPC_TYPE_ERROR (-3). - `verifymessage` now returns RPC_TYPE_ERROR (-3) if the passed signature is malformed. Previously returned RPC_INVALID_ADDRESS_OR_KEY (-5). * See release-notes-22.0.md for complete changelog * Mon Jan 24 2022 Bernhard Wiedemann - Add 24104.patch to fix build with boost-1.78 * Wed Oct 20 2021 Jiri Slaby - Update to version 0.21.2 * P2P protocol and network code * use NetPermissions::HasFlag() in CConnman::Bind() * Rate limit the processing of rumoured addresses * Wallet * Do not iterate a directory if having an error while accessing it * RPC * Reset scantxoutset progress before inferring descriptors * Build System * depends: update Qt 5.9 source url * Update Windows code signing certificate * Use custom MacOS code signing tool * Fix build with Boost 1.77.0 * Tests and QA * Build with --enable-werror by default, and document exceptions * Fix intermittent feature_taproot issue * Fix macOS brew install command * add missing ECCVerifyHandle to base_encode_decode * Run fuzzer task for the master branch only * GUI * Do not use QClipboard::Selection on Windows and macOS. * Remove user input from URI error message * Draw \"eye\" sign at the beginning of watch-only addresses * Miscellaneous * Fix crash when parsing command line with -noincludeconf=0 * util: Properly handle -noincludeconf on command line (take 2) * Fri Aug 27 2021 Johannes Segitz - Added hardening to systemd service(s). Added patch(es): * harden_bitcoind.service.patch Modified: * bitcoind.service * Fri May 14 2021 Ferdinand Thiessen - Update to version 0.21.1 * Consensus: * Speedy trial support for versionbits * Speedy trial activation parameters for Taproot * P2P protocol and network code * allow CSubNet of non-IP networks * Avoid UBSan warning in ProcessMessage * Wallet * Introduce DeferredSignatureChecker and have SignatureExtractorClass subclass it * Avoid requesting fee rates multiple times during coin selection * RPC and other APIs: * Disallow sendtoaddress and sendmany when private keys disabled CVE-2021-3195 * Tue Jan 19 2021 Martin Pluskal - Update to version 0.21.0: * For full details see release-notes-0.21.0.md * Tue Aug 04 2020 Paolo Stivanin - Update to version 0.20.1 * Mining * Fix GBT: Restore \"!segwit\" and \"csv\" to \"rules\" key * P2P protocol and network code * Replace automatic bans with discouragement filter * Wallet * Handle concurrent wallet loading * Minimal fix to restore conflicted transaction notifications * RPC and other APIs * Increment input value sum only once per UTXO in decodepsbt * psbt: Increment input value sum only once per UTXO in decodepsbt * psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs * GUI * Add missing QPainterPath include * update Qt base translations for macOS release * Misc * util: Don\'t reference errno when pthread fails * Fix locking on WSL using flock instead of fcntl- Remove fix-qpainterpath.patch * Fri Jul 24 2020 Michel Normand - Add 7GB min disk space and change memory setting to physicalmemory in existing _constraints file * Wed Jun 17 2020 Paolo Stivanin - Add fix-qpainterpath.patch- Add -fcommon to allow building against GCC10 * Fri Jun 12 2020 Martin Pluskal - Update to version 0.20.0: * See https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.20.0.md * Thu Mar 26 2020 Michał Rostecki - Fix build on aarch64. * Wed Mar 11 2020 Michał Rostecki - Do not run bitcoind in daemon mode. Running it not as a background process makes it working properly with journald (instead of writing logs in /var/log). * Mon Mar 09 2020 Michał Rostecki - Update to version 0.19.1: * Wallet * Fix origfee return for bumpfee with feerate arg * Fix unique_ptr usage in boost::signals2 * Fix issue with conflicted mempool tx in listsinceblock * Bug: IsUsedDestination shouldn\'t use key id as script id for ScriptHash * IsUsedDestination should count any known single-key address * Reset reused transactions cache * RPC and other APIs * cli: Fix fatal leveldb error when specifying - blockfilterindex=basic twice * require second argument only for scantxoutset start action * zmq: Fix due to invalid argument and multiple notifiers * psbt: handle unspendable psbts * psbt: check that various indexes and amounts are within bounds * GUI * Fix missing qRegisterMetaType for size_t * disable File->CreateWallet during startup * Fix comparison function signature * Fix unintialized WalletView::progressDialog * Tests and QA * Appveyor improvement - text file for vcpkg package list * fix \"bitcoind already running\" warnings on macOS * add missing #include to fix compiler errors * Platform support * Update msvc build for Visual Studio 2019 v16.4 * Updates to appveyor config for VS2019 and Qt5.9.8 + msvc project fixes * bug-fix macos: give free bytes to F_PREALLOCATE * Miscellaneous * init: Stop indexes on shutdown after ChainStateFlushed callback * util: Add missing headers to util/fees.cpp * Unbreak build with Boost 1.72.0 * scripts: Fix symbol-check & security-check argument passing * Log to net category for exceptions in ProcessMessages * Update univalue subtree * Wed Dec 04 2019 Michał Rostecki - Update to version 0.19.0.1: * New RPCs + `getbalances` returns an object with all balances + `setwalletflag` sets and unsets wallet flags that enable or disable features specific to that existing wallet + `getblockfilter` fets the BIP158 filter for the specified block * New settings + `-blockfilterindex` enables the creation of BIP158 block filters for the entire blockchain * Updated settings + `whitebind` and `whitelist` now accept a list of permissions to provide peers connecting using the indicated interfaces or IP addresses + Users setting custom `dbcache` values can increase their setting slightly without using any more real memory * Updated RPCs + `sendmany` no longer has a `minconf` argument + `getbalance` and `sendtoaddress`, plus the new RPCs `getbalances` and `createwaller`, now accept an `acoid_reuse` parameter that controls whether already used addresses should be included in the operation + RPCs which have an `include_watchonly` argument or `includeWatching` option now default to true for watch-only wallets + `listunspent` now returns a `reused` bool for each output if the wallet flag `avoid_reuse` is enabled + `getblockstats` now uses BlockUndo data instead of the transaction index, making it much faster, no longer dependent on the `-txindex` configuration option, and functional for all non-pruned blocks + `utxoupdatepsbt` now accepts a `descriptors` parameter that will fill out input and output scripts and keys when known + `sendrawtransaction` and `testmempoolaccept` no longer accept a allowhighfees parameter to fail mempool acceptance if the transaction fee exceeds the value of the configuration option `-maxtxfee` + `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry`, and `getrawmempool` no longer return a size field unless the configuration option `-deprecatedrpc=size` is used + `getwalletinfo` now includes a scanning field that is either false (no scanning) or an object with information about the duration and progress of the wallet\'s scanning historical blocks for transactions affecting its balances + `gettransaction` now accepts a third (boolean) argument `verbose` + `createwallet` accepts a new passphrase parameter + `getchaintxstats` RPC now returns the additional key of `window_final_block_height` + `getmempoolentry` now provides a weight field containing the transaction weight as defined in BIP141 + The `getnetworkinfo` and `getpeerinfo` commands now contain a new field with decoded network service flags + `getdescriptorinfo` now returns an additional `checksum` field containing the checksum for the unmodified descriptor provided by the user + `joinpsbts` now shuffles the order of the inputs and outputs of the resulting joined PSBT + `walletcreatefundedpsbt` now signals BIP125 Replace-by-Fee if the -walletrbf configuration option is set to true * GUI changes + The GUI wallet now provides bech32 addresses by default. The user may change the address type during invoice generation using a GUI toggle, or the default address type may be changed with the -addresstype configuration option. + In 0.18.0, a ./configure flag was introduced to allow disabling BIP70 support in the GUI (support was enabled by default). In 0.19.0, this flag is now disabled by default. * P2P changes + BIP 61 reject messages were deprecated in version 0.18. They are now disabled by default, but can be enabled by setting the -enablebip61 command line option. + To eliminate well-known denial-of-service vectors in Bitcoin Core, especially for nodes with spinning disks, the default value for the -peerbloomfilters configuration option has been changed to false. + By default, Bitcoin Core will now make two additional outbound connections that are exclusively used for block-relay. * CLI changes + The testnet field in bitcoin-cli -getinfo has been renamed to chain and now returns the current network name as defined in BIP70- Fix installation of desktop file * Thu Jul 11 2019 Martin Pluskal - Fix downloaded source * Thu Jul 11 2019 Andrei Dziahel - Update to version 0.18.0 See release-notes.md for complete list of changes * Wed Jul 10 2019 matthias.gerstnerAATTsuse.com- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html * Wed Feb 13 2019 Andrei Dziahel - Update to version 0.17.1 * `listtransactions` label support See release-notes-0.17.1.md for complete changelog- fix previous entry date * Fri Nov 02 2018 seanAATTsuspend.net- Update to version 0.17.0.1: * Resolves bcc#14416 Fix OSX dmg issue * Resolves bcc#14509 doc:use SegWit in getblocktemplate example * Wed Oct 03 2018 Martin Pluskal - Update to version 0.17.0: * For complete list of changes see: + release-notes-0.17.0.md * Wed Sep 26 2018 Martin Pluskal - Update to version 0.16.3: * For complete list of changes see: + release-notes-0.16.3.md + release-notes-0.16.2.md- Resolves bsc#1108992 CVE-2018-17144 * Mon Jun 18 2018 mpluskalAATTsuse.com- Update to version 0.16.1: * For complete list of changes see release-notes-0.16.1.md * Fri Mar 09 2018 develop7AATTdevelop7.info- Update to version 0.16.0 * Segwit Wallet * BIP173 (Bech32) Address support (\"bc1...\" addresses) * HD-wallets by default * Replace-By-Fee by default in GUI * Wallets directory configuration (`-walletdir`) * Build: Minimum GCC bumped to 4.8.x * Support for signalling pruned nodes (BIP159) * Performance: SHA256 assembly enabled by default * GUI changes * RPC changes- Remove bitcoin-boost_1_66.patch * Tue Jan 02 2018 jengelhAATTinai.de- Trim redundant wording from description. * Mon Jan 01 2018 mpluskalAATTsuse.com- Update to version 0.15.1: * Network fork safety enhancements * Miner block size limiting deprecated * GUI settings backed up on reset * Duplicate wallets disallowed * Debug -minimumchainwork argument added * Low-level RPC changes- Fix building with current boost: * bitcoin-boost_1_66.patch * Mon Oct 09 2017 mpluskalAATTsuse.com- Update to version 0.15.0.1: * Some clients may have crashed at startup because a custom fee setting was configured that no longer exists in the GUI * Small translation updates * update manpages, forgotten in 0.15.0- Small specfile cleanup * Tue Sep 12 2017 mpluskalAATTsuse.com- Update to version 0.15.0 * For a complete list of changes see provided release-notes * Mon Jun 19 2017 mpluskalAATTsuse.com- Update to version 0.14.2 * For a complete list of changes see provided release-notes * Wed May 31 2017 mpluskalAATTsuse.com- Update to version 0.14.1: * For a complete list of changes see provided release-notes- Update unit file * Tue Mar 14 2017 mpluskalAATTsuse.com- Update to version 0.14.0: * For a complete list of changes see provided release-notes * Wed Feb 01 2017 adam.majerAATTsuse.de- use individual libboost- *-devel packages instead of boost-devel * Wed Dec 14 2016 mpluskalAATTsuse.com- Update to version 0.13.1: * For a complete list of changes see provided release-notes * Sun Sep 18 2016 mpluskalAATTsuse.com- Speedup build/reduce it\'s memory consumption by using gold linker * Wed Aug 24 2016 mpluskalAATTsuse.com- Update to version 0.13.0: * For a complete list of changes see provided release-notes- Drop upstreamed patch: * bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch- Fail build on testsuite failure * Mon Jun 20 2016 normandAATTlinux.vnet.ibm.com- put back still need patch for ppc64le bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch (subset of upstream commit id cf5c786) * Sat Jun 18 2016 mpluskalAATTsuse.com- Update test dependencies- Build with safer ldflags * Fri May 27 2016 mpluskalAATTsuse.com- Remove unnecessary build dependencies * Sat Apr 30 2016 mpluskalAATTsuse.com- Update to 0.12.1 * For a complete list of changes see provided release-notes- Drop no longer needed patch * bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch- Small spec file polishing * Wed Apr 13 2016 mpluskalAATTsuse.com- Use pretty name for tarball- Update describtion in .firewall * Sun Feb 21 2016 mpluskalAATTsuse.com- Update to 0.12.0 * For a complete list of changes see provided release-notes- Small spec file cleanups * remove old obsole/provides * move icon handling scriplets to correct subpackage * Wed Dec 09 2015 mpluskalAATTsuse.com- Update to 0.11.2 * no upstream changelog provided * Fri Nov 13 2015 jimmyAATTboombatower.com- Small consistency cleanups. * Thu Nov 12 2015 jimmyAATTboombatower.com- Refactor spec to allow for easy building of altcoins. * drop bitcoin-fix-desktop-icon-name.patch * Sat Oct 31 2015 mpluskalAATTsuse.com- Update to 0.11.1 * Fri Aug 07 2015 normandAATTlinux.vnet.ibm.com- new patch for ppc64le build and remove ExcludeArch ppc ppc64 bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch * Sun Jul 12 2015 prusnakAATTopensuse.org- Update to 0.11.0 * Mon Jun 01 2015 mpluskalAATTsuse.com- Build as PIC so that building does not fail with recent qt5- Move autoreconf to %prep- Enable verbose build- Use macro for systemd tmpfiles creation * Wed May 27 2015 mpluskalAATTsuse.com- Update to 0.10.2- Correct desktop file handling scriplets and their dependencies * Fri May 15 2015 mpluskalAATTsuse.com- Update to 0.10.1 * no upstream changelog available * Mon Feb 16 2015 mpluskalAATTsuse.com- Update to 0.10.0: * Faster synchronization * new REST interface * RPC Server “Warm-Up” Mode * Improved signing security * Watch-only wallet support * Consensus library * Standard script rules relaxed for P2SH addresses * New tool bitcoin-tx * Mining and relay policy enhancements * BIP 66: strict DER encoding for signatures * for more details see https://bitcoin.org/en/release/v0.10.0- New package libbitcoinconsensus- Rename package bitcoin-cli to bitcoin-tools- Exclude ppc and ppc64 from being built - bitcoin does not support big endian. * Sat Jan 31 2015 mpluskalAATTsuse.com- Enable qr support- Run tests after build * Tue Oct 28 2014 mpluskalAATTsuse.com- Add _constraint due to memory consumption of build- Decrease verbosity of bitcoind * Thu Oct 23 2014 mpluskalAATTsuse.com- Enable tests- Split to multiple packages (bitcoind, bitcoin-qt, bitcoin-cli and bitcoin-test)- Cleanup spec file- Add unit file and sude .firewall for bitcoind- Update to 0.9.3: + RPC: * Avoid a segfault on getblock if it can?t read a block from disk * Add paranoid return value checks in base58 * Protocol and network code: * Don?t poll showmyip.com, it doesn?t exist anymore * Add a way to limit deserialized string lengths and use it * Add a new checkpoint at block 295,000 * Increase IsStandard() scriptSig length * Avoid querying DNS seeds, if we have open connections * Remove a useless millisleep in socket handler * Stricter memory limits on CNode * Better orphan transaction handling * Add -maxorphantx= and -maxorphanblocks= options for control over the maximum orphan transactions and blocks + Wallet: * Check redeemScript size does not exceed 520 byte limit * Ignore (and warn about) too-long redeemScripts while loading wallet + GUI: * fix ?opens in testnet mode when presented with a BIP-72 link with no fallback? * AvailableCoins: acquire cs_main mutex * Fix unicode character display on MacOSX + Miscellaneous: * key.cpp: fail with a friendlier message on missing ssl EC support * Remove bignum dependency for scripts * Upgrade OpenSSL to 1.0.1i (see https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no critical issues for Bitcoin Core) * Upgrade miniupnpc to 1.9.20140701 * Fix boost detection in build system on some platforms
|
|
|