From d784277b866360b4b399838e02f7898c9e740cb5 Mon Sep 17 00:00:00 2001 From: pasta Date: Sun, 16 Oct 2022 22:09:23 -0500 Subject: [PATCH 1/7] chore: bump nMinimumChainWork and defaultAssumeValid for mainnet and testnet --- src/chainparams.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 60d3aab787..1d82f8cbf9 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -251,10 +251,10 @@ public: consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nFalloffCoeff = 5; // this corresponds to 10 periods // The best chain should have at least this much work. - consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000076f91fbc02922ce2226e"); // 1718500 + consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000079c96bdb79315818b358"); // 1756000 // By default assume that the signatures in ancestors of this block are valid. - consensus.defaultAssumeValid = uint256S("0x000000000000001af6e940e36cfc58573c71cce69eaa1f457164c395f31bd3be"); // 1718500 + consensus.defaultAssumeValid = uint256S("0x000000000000000fd8af332029688d4ccb227f481efa6aff1d662358cc4f76c1"); // 1756000 /** * The message start string is designed to be unlikely to occur in normal data. @@ -476,10 +476,10 @@ public: consensus.vDeployments[Consensus::DEPLOYMENT_DIP0024].nFalloffCoeff = 5; // this corresponds to 10 periods // The best chain should have at least this much work. - consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000000027babbb45da9fa4"); // 771500 + consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000000002d68c333d26a1b3"); // 817000 // By default assume that the signatures in ancestors of this block are valid. - consensus.defaultAssumeValid = uint256S("0x00000067b30c1e082086bf9da8cf49344b90d8fda37b9051875c4c1420549b6f"); // 771500 + consensus.defaultAssumeValid = uint256S("0x000000b572cdcda2a0135e45c88d428c4fec859939f0023a39bb9a83e8b4f550"); // 817000 pchMessageStart[0] = 0xce; pchMessageStart[1] = 0xe2; From ae2f9d7e6b4602837d7a72ec8d28b5b611732c66 Mon Sep 17 00:00:00 2001 From: pasta Date: Sun, 16 Oct 2022 23:14:48 -0500 Subject: [PATCH 2/7] chore: set VERSION_IS_RELEASE to true --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 33010fa012..fbc715fcc3 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ define(_CLIENT_VERSION_MAJOR, 18) define(_CLIENT_VERSION_MINOR, 1) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_RC, 0) -define(_CLIENT_VERSION_IS_RELEASE, false) +define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2022) define(_COPYRIGHT_HOLDERS,[The %s developers]) define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]]) From 6e8d6aab63d810895fa04fe66956a6544375dbfc Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Wed, 12 Oct 2022 20:34:10 +0300 Subject: [PATCH 3/7] Merge pull request #5040 from UdjinM6/merge_master_18.0.2 Merge master 18.0.2 back into develop --- doc/release-notes.md | 250 +------------ .../dash/release-notes-18.0.1.md | 350 ++++++++++++++++++ 2 files changed, 366 insertions(+), 234 deletions(-) create mode 100644 doc/release-notes/dash/release-notes-18.0.1.md diff --git a/doc/release-notes.md b/doc/release-notes.md index a0654a231d..cdff06ba6d 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,14 +1,11 @@ -Dash Core version v18.0.1 -========================= +Dash Core version 18.0.2 +======================== Release is now available from: -This is a new major version release, bringing new features, various bugfixes -and other improvements. - -This release is mandatory for all nodes. +This is a new hotfix release. Please report bugs using the issue tracker at github: @@ -54,246 +51,30 @@ is not recommended. Notable changes =============== -Quorum rotation --------------- -InstantSend quorums will now use a new quorum type and a new algorithm for -establishing quorums. The upcoming DIP-0024 will provide comprehensive details. +This release resolves some excessive memory usage via the "evo" database (evodb). -Quorum rotation is activated via a BIP9 style hard fork that will begin -signalling on August 15, 2022 using bit 7. New quorums will start forming in -1152-1440 block range after the activation. Any nodes that do not upgrade by -that time will diverge from the rest of the network. +18.0.2 Change log +=================== -Deterministic InstantSend -------------------------- -Deterministically verifying InstantSend locks at any point in the future has -been added to support Dash Platform. This update introduces versioning to -InstantSend messages and adds quorum information to them. While the previous -design was sufficient for core chain payments, the platform chain will benefit -from this enhanced verification capability. Details about deterministic -InstantSend are provided in [DIP-0022](https://github.com/dashpay/dips/blob/master/dip-0022.md). +See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.0.1...dashpay:v18.0.2`). -Deterministic InstantSend will be activated with the DIP0024 hard fork. - -Governance ----------- -Several improvements have been made to Dash’s DAO governance system. -The governance proposal fee has been reduced from 5 Dash to 1 Dash following -a vote by masternode owners to do so. For improved security and flexibility, -proposal payouts to pay-to-script-hash (P2SH) addresses are now supported. - -These changes will be activated with the DIP0024 hard fork. - -Governance proposals can now be viewed in GUI Governance tab (must be enabled -in Preferences first). - -Initial Enhanced Hard Fork support ----------------------------------- -The masternode hard fork signal special transaction has been added as the first -step in enabling an improved hard fork mechanism. This enhancement enables -future hard forks to be activated quickly and safely without any -“race conditions” if miners and masternodes update at significantly different -speeds. Effectively there will be a masternode signal on chain in addition to -the miner one to ensure smooth transitions. Details of the enhanced hard fork -system are provided in [DIP-0023](https://github.com/dashpay/dips/blob/master/dip-0023.md). - -Network improvements --------------------- -We implemented and backported implementations of several improvement proposals. -You can read more about implemented changes in the following documents: -- [`DIP-0025`](https://gist.github.com/thephez/6c4c2a7747298e8b3e528c0c4e98a68c): Compressed headers. -- [`BIP 155`](https://github.com/bitcoin/bips/blob/master/bip-0155.mediawiki): The 'addrv2' and 'sendaddrv2' messages which enable relay of Tor V3 addresses (and other networks). -- [`BIP 158`](https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki): Compact Block Filters for Light Clients. - -KeePass support removed ------------------------ -Please make sure to move your coins to a wallet with a regular passphrase. - -Wallet changes --------------- -We continued backporting wallet functionality updates. Most notable changes -are: -- Added support for empty, encrypted-on-creation and watch-only wallets. -- Wallets can now be created, opened and closed via a GUI menu. -- No more `salvagewallet` option in cmd-line and Repair tab in GUI. Check the -`salvage` command in the `dash-wallet` tool. - -Indexes -------- -The transaction index is moved into `indexes/` folder. The migration of the old -data is done on the first run and does not require reindexing. Note that the data -in the old path is removed which means that this change is not backwards -compatible and you'll have to reindex the whole blockchain if you decide to -downgrade to a pre-v18.0.1 version. - -Remote Procedure Call (RPC) Changes ------------------------------------ -Most changes here were introduced through Bitcoin backports mostly related to -the deprecation of wallet accounts in DashCore v0.17 and introduction of PSBT -format. - -The new RPCs are: -- `combinepsbt` -- `converttopsbt` -- `createpsbt` -- `decodepsbt` -- `deriveaddresses` -- `finalizepsbt` -- `getblockfilter` -- `getdescriptorinfo` -- `getnodeaddresses` -- `getrpcinfo` -- `joinpsbts` -- `listwalletdir` -- `quorum rotationinfo` -- `scantxoutset` -- `submitheader` -- `testmempoolaccept` -- `utxoupdatepsbt` -- `walletcreatefundedpsbt` -- `walletprocesspsbt` - -The removed RPCs are: -- `estimatefee` -- `getinfo` -- `getreceivedbyaccount` -- `keepass` -- `listaccounts` -- `listreceivedbyaccount` -- `move` -- `resendwallettransactions` -- `sendfrom` -- `signrawtransaction` - -Changes in existing RPCs introduced through bitcoin backports: -- The `testnet` field in `dash-cli -getinfo` has been renamed to `chain` and -now returns the current network name as defined in BIP70 (main, test, regtest). -- Added `window_final_block_height` in `getchaintxstats` -- Added `feerate_percentiles` object with feerates at the 10th, 25th, 50th, -75th, and 90th percentile weight unit instead of `medianfeerate` in -`getblockstats` -- In `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and -`getrawmempool` RPCs, to be consistent with the returned value and other RPCs -such as `getrawtransaction`, `vsize` has been added and `size` is now -deprecated. `size` will only be returned if `dashd` is started with -`-deprecatedrpc=size`. -- Added `loaded` in mempool related RPCs indicates whether the mempool is fully -loaded or not -- Added `localservicesnames` in `getnetworkinfo` list the services the node -offers to the network, in human-readable form (in addition to an already -existing `localservices` hex string) -- Added `hwm` in `getzmqnotifications` -- `createwallet` can create blank, encrypted or watch-only wallets now. -- Added `private_keys_enabled` in `getwalletinfo` -- Added `solvable`, `desc`, `ischange` and `hdmasterfingerprint` in `getaddressinfo` -- Added `desc` in `listunspent` - -Dash-specific changes in existing RPCs: -- Added `quorumIndex` in `quorum getinfo` and `quorum memberof` -- In rpc `masternodelist` with parameters `full`, `info` and `json` the PoS penalty score of the MN will be returned. For `json` parameter, the field `pospenaltyscore` was added. - -Please check `help ` for more detailed information on specific RPCs. - -Command-line options --------------------- -Most changes here were introduced through Bitcoin backports. - -New cmd-line options: -- `asmap` -- `avoidpartialspends` -- `blockfilterindex` -- `blocksonly` -- `llmqinstantsenddip0024` -- `llmqtestinstantsendparams` -- `maxuploadtarget` -- `natpmp` -- `peerblockfilters` -- `powtargetspacing` -- `stdinwalletpassphrase` -- `zmqpubhashchainlock` -- `zmqpubrawchainlock` - -The option to set the PUB socket's outbound message high water mark -(SNDHWM) may be set individually for each notification: -- `-zmqpubhashtxhwm=n` -- `-zmqpubhashblockhwm=n` -- `-zmqpubhashchainlockhwm=n` -- `-zmqpubhashtxlockhwm=n` -- `-zmqpubhashgovernancevotehwm=n` -- `-zmqpubhashgovernanceobjecthwm=n` -- `-zmqpubhashinstantsenddoublespendhwm=n` -- `-zmqpubhashrecoveredsighwm=n` -- `-zmqpubrawblockhwm=n` -- `-zmqpubrawtxhwm=n` -- `-zmqpubrawchainlockhwm=n` -- `-zmqpubrawchainlocksighwm=n` -- `-zmqpubrawtxlockhwm=n` -- `-zmqpubrawtxlocksighwm=n` -- `-zmqpubrawgovernancevotehwm=n` -- `-zmqpubrawgovernanceobjecthwm=n` -- `-zmqpubrawinstantsenddoublespendhwm=n` -- `-zmqpubrawrecoveredsighwm=n` - -Removed cmd-line options: -- `keepass` -- `keepassport` -- `keepasskey` -- `keepassid` -- `keepassname` -- `salvagewallet` - -Changes in existing cmd-line options: - -Please check `Help -> Command-line options` in Qt wallet or `dashd --help` for -more information. - -Backports from Bitcoin Core ---------------------------- -This release introduces over 1000 updates from Bitcoin v0.18/v0.19/v0.20 as well as numerous updates from Bitcoin v0.21 and more recent versions. This includes multi-wallet support in the GUI, support for partially signed transactions (PSBT), Tor version 3 support, and a number of other updates that will benefit Dash users. Bitcoin changes that do not align with Dash’s product needs, such as SegWit and RBF, are excluded from our backporting. For additional detail on what’s included in Bitcoin, please refer to their release notes – v0.18, v0.19, v0.20. - -Miscellaneous -------------- -A lot of refactoring, code cleanups and other small fixes were done in this release. - -v18.0.1 Change log -================== - -See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.3...dashpay:v18.0.1). +- [`666ff7bff9`](https://github.com/dashpay/dash/commit/666ff7bff9) merge bitcoin#14193: Add missing mempool locks +- [`96f4022a6a`](https://github.com/dashpay/dash/commit/96f4022a6a) chore: archive release-nodes.md +- [`0b60096d8a`](https://github.com/dashpay/dash/commit/0b60096d8a) chore: bump version to 18.0.2 +- [`e8afde2740`](https://github.com/dashpay/dash/commit/e8afde2740) fix: Flush chainstate (and evodb) cache whenever evodb mem usage is getting too high (#5007) +- [`8efd7f04c6`](https://github.com/dashpay/dash/commit/8efd7f04c6) Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) +- [`c92cbce6a5`](https://github.com/dashpay/dash/commit/c92cbce6a5) trivial: Fix trailing whitespaces in release notes (#4989) Credits ======= Thanks to everyone who directly contributed to this release: -- AJ ONeal (coolaj86) -- Christian Fifi Culp (christiancfifi) -- dustinface (xdustinface) -- gabriel-bjg -- Holger Schinzel (schinzelh) -- humbleDasher -- Kittywhiskers Van Gogh (kittywhiskers) -- Konstantin Akimov (knst) -- ktechmidas -- linuxsh2 -- Munkybooty -- Nathan Marley (nmarley) -- Odysseas Gabrielides (ogabrielides) +- kittywhiskers - PastaPastaPasta -- pravblockc -- rkarthik2k21 -- Stefan (5tefan) -- strophy -- TheLazieR Yip (thelazier) -- thephez - UdjinM6 -- Vijay (vijaydasmp) -- Vlad K (dzutto) -As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release. Notable mentions include: - -- Samuel Westrich (quantumexplorer) -- Virgile Bartolo -- xkcd +As well as everyone that submitted issues and reviewed pull requests. Older releases ============== @@ -318,6 +99,7 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12. These release are considered obsolete. Old release notes can be found here: +- [v18.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.1.md) released Aug/17/2022 - [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021 - [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021 - [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020 diff --git a/doc/release-notes/dash/release-notes-18.0.1.md b/doc/release-notes/dash/release-notes-18.0.1.md new file mode 100644 index 0000000000..a0654a231d --- /dev/null +++ b/doc/release-notes/dash/release-notes-18.0.1.md @@ -0,0 +1,350 @@ +Dash Core version v18.0.1 +========================= + +Release is now available from: + + + +This is a new major version release, bringing new features, various bugfixes +and other improvements. + +This release is mandatory for all nodes. + +Please report bugs using the issue tracker at github: + + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or +dashd/dash-qt (on Linux). If you upgrade after DIP0003 activation and you were +using version < 0.13 you will have to reindex (start with -reindex-chainstate +or -reindex) to make sure your wallet has all the new data synced. Upgrading +from version 0.13 should not require any additional actions. + +When upgrading from a version prior to 18.0.1, the +first startup of Dash Core will run a migration process which can take anywhere +from a few minutes to thirty minutes to finish. After the migration, a +downgrade to an older version is only possible with a reindex +(or reindex-chainstate). + +Downgrade warning +----------------- + +### Downgrade to a version < v18.0.1 + +Downgrading to a version older than v18.0.1 is not supported due to changes in +the indexes database folder. If you need to use an older version, you must +either reindex or re-sync the whole chain. + +### Downgrade of masternodes to < v18.0.1 + +Starting with the 0.16 release, masternodes verify the protocol version of other +masternodes. This results in PoSe punishment/banning for outdated masternodes, +so downgrading even prior to the activation of the introduced hard-fork changes +is not recommended. + +Notable changes +=============== + +Quorum rotation +-------------- +InstantSend quorums will now use a new quorum type and a new algorithm for +establishing quorums. The upcoming DIP-0024 will provide comprehensive details. + +Quorum rotation is activated via a BIP9 style hard fork that will begin +signalling on August 15, 2022 using bit 7. New quorums will start forming in +1152-1440 block range after the activation. Any nodes that do not upgrade by +that time will diverge from the rest of the network. + +Deterministic InstantSend +------------------------- +Deterministically verifying InstantSend locks at any point in the future has +been added to support Dash Platform. This update introduces versioning to +InstantSend messages and adds quorum information to them. While the previous +design was sufficient for core chain payments, the platform chain will benefit +from this enhanced verification capability. Details about deterministic +InstantSend are provided in [DIP-0022](https://github.com/dashpay/dips/blob/master/dip-0022.md). + +Deterministic InstantSend will be activated with the DIP0024 hard fork. + +Governance +---------- +Several improvements have been made to Dash’s DAO governance system. +The governance proposal fee has been reduced from 5 Dash to 1 Dash following +a vote by masternode owners to do so. For improved security and flexibility, +proposal payouts to pay-to-script-hash (P2SH) addresses are now supported. + +These changes will be activated with the DIP0024 hard fork. + +Governance proposals can now be viewed in GUI Governance tab (must be enabled +in Preferences first). + +Initial Enhanced Hard Fork support +---------------------------------- +The masternode hard fork signal special transaction has been added as the first +step in enabling an improved hard fork mechanism. This enhancement enables +future hard forks to be activated quickly and safely without any +“race conditions” if miners and masternodes update at significantly different +speeds. Effectively there will be a masternode signal on chain in addition to +the miner one to ensure smooth transitions. Details of the enhanced hard fork +system are provided in [DIP-0023](https://github.com/dashpay/dips/blob/master/dip-0023.md). + +Network improvements +-------------------- +We implemented and backported implementations of several improvement proposals. +You can read more about implemented changes in the following documents: +- [`DIP-0025`](https://gist.github.com/thephez/6c4c2a7747298e8b3e528c0c4e98a68c): Compressed headers. +- [`BIP 155`](https://github.com/bitcoin/bips/blob/master/bip-0155.mediawiki): The 'addrv2' and 'sendaddrv2' messages which enable relay of Tor V3 addresses (and other networks). +- [`BIP 158`](https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki): Compact Block Filters for Light Clients. + +KeePass support removed +----------------------- +Please make sure to move your coins to a wallet with a regular passphrase. + +Wallet changes +-------------- +We continued backporting wallet functionality updates. Most notable changes +are: +- Added support for empty, encrypted-on-creation and watch-only wallets. +- Wallets can now be created, opened and closed via a GUI menu. +- No more `salvagewallet` option in cmd-line and Repair tab in GUI. Check the +`salvage` command in the `dash-wallet` tool. + +Indexes +------- +The transaction index is moved into `indexes/` folder. The migration of the old +data is done on the first run and does not require reindexing. Note that the data +in the old path is removed which means that this change is not backwards +compatible and you'll have to reindex the whole blockchain if you decide to +downgrade to a pre-v18.0.1 version. + +Remote Procedure Call (RPC) Changes +----------------------------------- +Most changes here were introduced through Bitcoin backports mostly related to +the deprecation of wallet accounts in DashCore v0.17 and introduction of PSBT +format. + +The new RPCs are: +- `combinepsbt` +- `converttopsbt` +- `createpsbt` +- `decodepsbt` +- `deriveaddresses` +- `finalizepsbt` +- `getblockfilter` +- `getdescriptorinfo` +- `getnodeaddresses` +- `getrpcinfo` +- `joinpsbts` +- `listwalletdir` +- `quorum rotationinfo` +- `scantxoutset` +- `submitheader` +- `testmempoolaccept` +- `utxoupdatepsbt` +- `walletcreatefundedpsbt` +- `walletprocesspsbt` + +The removed RPCs are: +- `estimatefee` +- `getinfo` +- `getreceivedbyaccount` +- `keepass` +- `listaccounts` +- `listreceivedbyaccount` +- `move` +- `resendwallettransactions` +- `sendfrom` +- `signrawtransaction` + +Changes in existing RPCs introduced through bitcoin backports: +- The `testnet` field in `dash-cli -getinfo` has been renamed to `chain` and +now returns the current network name as defined in BIP70 (main, test, regtest). +- Added `window_final_block_height` in `getchaintxstats` +- Added `feerate_percentiles` object with feerates at the 10th, 25th, 50th, +75th, and 90th percentile weight unit instead of `medianfeerate` in +`getblockstats` +- In `getmempoolancestors`, `getmempooldescendants`, `getmempoolentry` and +`getrawmempool` RPCs, to be consistent with the returned value and other RPCs +such as `getrawtransaction`, `vsize` has been added and `size` is now +deprecated. `size` will only be returned if `dashd` is started with +`-deprecatedrpc=size`. +- Added `loaded` in mempool related RPCs indicates whether the mempool is fully +loaded or not +- Added `localservicesnames` in `getnetworkinfo` list the services the node +offers to the network, in human-readable form (in addition to an already +existing `localservices` hex string) +- Added `hwm` in `getzmqnotifications` +- `createwallet` can create blank, encrypted or watch-only wallets now. +- Added `private_keys_enabled` in `getwalletinfo` +- Added `solvable`, `desc`, `ischange` and `hdmasterfingerprint` in `getaddressinfo` +- Added `desc` in `listunspent` + +Dash-specific changes in existing RPCs: +- Added `quorumIndex` in `quorum getinfo` and `quorum memberof` +- In rpc `masternodelist` with parameters `full`, `info` and `json` the PoS penalty score of the MN will be returned. For `json` parameter, the field `pospenaltyscore` was added. + +Please check `help ` for more detailed information on specific RPCs. + +Command-line options +-------------------- +Most changes here were introduced through Bitcoin backports. + +New cmd-line options: +- `asmap` +- `avoidpartialspends` +- `blockfilterindex` +- `blocksonly` +- `llmqinstantsenddip0024` +- `llmqtestinstantsendparams` +- `maxuploadtarget` +- `natpmp` +- `peerblockfilters` +- `powtargetspacing` +- `stdinwalletpassphrase` +- `zmqpubhashchainlock` +- `zmqpubrawchainlock` + +The option to set the PUB socket's outbound message high water mark +(SNDHWM) may be set individually for each notification: +- `-zmqpubhashtxhwm=n` +- `-zmqpubhashblockhwm=n` +- `-zmqpubhashchainlockhwm=n` +- `-zmqpubhashtxlockhwm=n` +- `-zmqpubhashgovernancevotehwm=n` +- `-zmqpubhashgovernanceobjecthwm=n` +- `-zmqpubhashinstantsenddoublespendhwm=n` +- `-zmqpubhashrecoveredsighwm=n` +- `-zmqpubrawblockhwm=n` +- `-zmqpubrawtxhwm=n` +- `-zmqpubrawchainlockhwm=n` +- `-zmqpubrawchainlocksighwm=n` +- `-zmqpubrawtxlockhwm=n` +- `-zmqpubrawtxlocksighwm=n` +- `-zmqpubrawgovernancevotehwm=n` +- `-zmqpubrawgovernanceobjecthwm=n` +- `-zmqpubrawinstantsenddoublespendhwm=n` +- `-zmqpubrawrecoveredsighwm=n` + +Removed cmd-line options: +- `keepass` +- `keepassport` +- `keepasskey` +- `keepassid` +- `keepassname` +- `salvagewallet` + +Changes in existing cmd-line options: + +Please check `Help -> Command-line options` in Qt wallet or `dashd --help` for +more information. + +Backports from Bitcoin Core +--------------------------- +This release introduces over 1000 updates from Bitcoin v0.18/v0.19/v0.20 as well as numerous updates from Bitcoin v0.21 and more recent versions. This includes multi-wallet support in the GUI, support for partially signed transactions (PSBT), Tor version 3 support, and a number of other updates that will benefit Dash users. Bitcoin changes that do not align with Dash’s product needs, such as SegWit and RBF, are excluded from our backporting. For additional detail on what’s included in Bitcoin, please refer to their release notes – v0.18, v0.19, v0.20. + +Miscellaneous +------------- +A lot of refactoring, code cleanups and other small fixes were done in this release. + +v18.0.1 Change log +================== + +See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.17.0.3...dashpay:v18.0.1). + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- AJ ONeal (coolaj86) +- Christian Fifi Culp (christiancfifi) +- dustinface (xdustinface) +- gabriel-bjg +- Holger Schinzel (schinzelh) +- humbleDasher +- Kittywhiskers Van Gogh (kittywhiskers) +- Konstantin Akimov (knst) +- ktechmidas +- linuxsh2 +- Munkybooty +- Nathan Marley (nmarley) +- Odysseas Gabrielides (ogabrielides) +- PastaPastaPasta +- pravblockc +- rkarthik2k21 +- Stefan (5tefan) +- strophy +- TheLazieR Yip (thelazier) +- thephez +- UdjinM6 +- Vijay (vijaydasmp) +- Vlad K (dzutto) + +As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release. Notable mentions include: + +- Samuel Westrich (quantumexplorer) +- Virgile Bartolo +- xkcd + +Older releases +============== + +Dash was previously known as Darkcoin. + +Darkcoin tree 0.8.x was a fork of Litecoin tree 0.8, original name was XCoin +which was first released on Jan/18/2014. + +Darkcoin tree 0.9.x was the open source implementation of masternodes based on +the 0.8.x tree and was first released on Mar/13/2014. + +Darkcoin tree 0.10.x used to be the closed source implementation of Darksend +which was released open source on Sep/25/2014. + +Dash Core tree 0.11.x was a fork of Bitcoin Core tree 0.9, +Darkcoin was rebranded to Dash. + +Dash Core tree 0.12.0.x was a fork of Bitcoin Core tree 0.10. + +Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12. + +These release are considered obsolete. Old release notes can be found here: + +- [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021 +- [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021 +- [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020 +- [v0.16.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.0.md) released November/14/2020 +- [v0.16.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.0.1.md) released September/30/2020 +- [v0.15.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.15.0.0.md) released Febrary/18/2020 +- [v0.14.0.5](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.5.md) released December/08/2019 +- [v0.14.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.4.md) released November/22/2019 +- [v0.14.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.3.md) released August/15/2019 +- [v0.14.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.2.md) released July/4/2019 +- [v0.14.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.1.md) released May/31/2019 +- [v0.14.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.md) released May/22/2019 +- [v0.13.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.3.md) released Apr/04/2019 +- [v0.13.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.2.md) released Mar/15/2019 +- [v0.13.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.md) released Feb/9/2019 +- [v0.13.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.md) released Jan/14/2019 +- [v0.12.3.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.4.md) released Dec/14/2018 +- [v0.12.3.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.3.md) released Sep/19/2018 +- [v0.12.3.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.2.md) released Jul/09/2018 +- [v0.12.3.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.1.md) released Jul/03/2018 +- [v0.12.2.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.3.md) released Jan/12/2018 +- [v0.12.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.2.md) released Dec/17/2017 +- [v0.12.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.md) released Nov/08/2017 +- [v0.12.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.1.md) released Feb/06/2017 +- [v0.12.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.0.md) released Aug/15/2015 +- [v0.11.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.2.md) released Mar/04/2015 +- [v0.11.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.1.md) released Feb/10/2015 +- [v0.11.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015 +- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014 +- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014 From 1be9ae49866d4d3e2ee9895cc0f73987a32fcdfd Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 17 Oct 2022 10:20:29 +0300 Subject: [PATCH 4/7] docs: archive 18.0.2 release notes --- .../dash/release-notes-18.0.2.md | 132 ++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 doc/release-notes/dash/release-notes-18.0.2.md diff --git a/doc/release-notes/dash/release-notes-18.0.2.md b/doc/release-notes/dash/release-notes-18.0.2.md new file mode 100644 index 0000000000..cdff06ba6d --- /dev/null +++ b/doc/release-notes/dash/release-notes-18.0.2.md @@ -0,0 +1,132 @@ +Dash Core version 18.0.2 +======================== + +Release is now available from: + + + +This is a new hotfix release. + +Please report bugs using the issue tracker at github: + + + + +Upgrading and downgrading +========================= + +How to Upgrade +-------------- + +If you are running an older version, shut it down. Wait until it has completely +shut down (which might take a few minutes for older versions), then run the +installer (on Windows) or just copy over /Applications/Dash-Qt (on Mac) or +dashd/dash-qt (on Linux). If you upgrade after DIP0003 activation and you were +using version < 0.13 you will have to reindex (start with -reindex-chainstate +or -reindex) to make sure your wallet has all the new data synced. Upgrading +from version 0.13 should not require any additional actions. + +When upgrading from a version prior to 18.0.1, the +first startup of Dash Core will run a migration process which can take anywhere +from a few minutes to thirty minutes to finish. After the migration, a +downgrade to an older version is only possible with a reindex +(or reindex-chainstate). + +Downgrade warning +----------------- + +### Downgrade to a version < v18.0.1 + +Downgrading to a version older than v18.0.1 is not supported due to changes in +the indexes database folder. If you need to use an older version, you must +either reindex or re-sync the whole chain. + +### Downgrade of masternodes to < v18.0.1 + +Starting with the 0.16 release, masternodes verify the protocol version of other +masternodes. This results in PoSe punishment/banning for outdated masternodes, +so downgrading even prior to the activation of the introduced hard-fork changes +is not recommended. + +Notable changes +=============== + +This release resolves some excessive memory usage via the "evo" database (evodb). + +18.0.2 Change log +=================== + +See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.0.1...dashpay:v18.0.2`). + +- [`666ff7bff9`](https://github.com/dashpay/dash/commit/666ff7bff9) merge bitcoin#14193: Add missing mempool locks +- [`96f4022a6a`](https://github.com/dashpay/dash/commit/96f4022a6a) chore: archive release-nodes.md +- [`0b60096d8a`](https://github.com/dashpay/dash/commit/0b60096d8a) chore: bump version to 18.0.2 +- [`e8afde2740`](https://github.com/dashpay/dash/commit/e8afde2740) fix: Flush chainstate (and evodb) cache whenever evodb mem usage is getting too high (#5007) +- [`8efd7f04c6`](https://github.com/dashpay/dash/commit/8efd7f04c6) Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) +- [`c92cbce6a5`](https://github.com/dashpay/dash/commit/c92cbce6a5) trivial: Fix trailing whitespaces in release notes (#4989) + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- kittywhiskers +- PastaPastaPasta +- UdjinM6 + +As well as everyone that submitted issues and reviewed pull requests. + +Older releases +============== + +Dash was previously known as Darkcoin. + +Darkcoin tree 0.8.x was a fork of Litecoin tree 0.8, original name was XCoin +which was first released on Jan/18/2014. + +Darkcoin tree 0.9.x was the open source implementation of masternodes based on +the 0.8.x tree and was first released on Mar/13/2014. + +Darkcoin tree 0.10.x used to be the closed source implementation of Darksend +which was released open source on Sep/25/2014. + +Dash Core tree 0.11.x was a fork of Bitcoin Core tree 0.9, +Darkcoin was rebranded to Dash. + +Dash Core tree 0.12.0.x was a fork of Bitcoin Core tree 0.10. + +Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12. + +These release are considered obsolete. Old release notes can be found here: + +- [v18.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.1.md) released Aug/17/2022 +- [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021 +- [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021 +- [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020 +- [v0.16.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.0.md) released November/14/2020 +- [v0.16.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.0.1.md) released September/30/2020 +- [v0.15.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.15.0.0.md) released Febrary/18/2020 +- [v0.14.0.5](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.5.md) released December/08/2019 +- [v0.14.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.4.md) released November/22/2019 +- [v0.14.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.3.md) released August/15/2019 +- [v0.14.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.2.md) released July/4/2019 +- [v0.14.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.1.md) released May/31/2019 +- [v0.14.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.14.0.md) released May/22/2019 +- [v0.13.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.3.md) released Apr/04/2019 +- [v0.13.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.2.md) released Mar/15/2019 +- [v0.13.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.md) released Feb/9/2019 +- [v0.13.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.md) released Jan/14/2019 +- [v0.12.3.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.4.md) released Dec/14/2018 +- [v0.12.3.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.3.md) released Sep/19/2018 +- [v0.12.3.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.2.md) released Jul/09/2018 +- [v0.12.3.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.1.md) released Jul/03/2018 +- [v0.12.2.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.3.md) released Jan/12/2018 +- [v0.12.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.2.md) released Dec/17/2017 +- [v0.12.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.md) released Nov/08/2017 +- [v0.12.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.1.md) released Feb/06/2017 +- [v0.12.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.0.md) released Aug/15/2015 +- [v0.11.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.2.md) released Mar/04/2015 +- [v0.11.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.1.md) released Feb/10/2015 +- [v0.11.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.11.0.md) released Jan/15/2015 +- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014 +- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014 From d8991c7f3dd9e7f8a1e34f21427b0757dd741cb1 Mon Sep 17 00:00:00 2001 From: pasta Date: Mon, 17 Oct 2022 10:35:57 +0300 Subject: [PATCH 5/7] docs: write release notes --- doc/release-notes-13152.md | 4 - doc/release-notes-13756.md | 39 ------ doc/release-notes-14021.md | 11 -- doc/release-notes-14023.md | 8 -- doc/release-notes-14468.md | 15 -- doc/release-notes-14802.md | 3 - doc/release-notes-14941.md | 5 - doc/release-notes-14954.md | 3 - doc/release-notes-14982.md | 5 - doc/release-notes-15006.md | 4 - doc/release-notes-15226.md | 8 -- doc/release-notes-15492.md | 11 -- doc/release-notes-15566.md | 3 - doc/release-notes-15637.md | 3 - doc/release-notes-15937.md | 15 -- doc/release-notes-15954.md | 4 - doc/release-notes-16383.md | 8 -- doc/release-notes-16394.md | 4 - doc/release-notes-16512.md | 4 - doc/release-notes-17410.md | 5 - doc/release-notes-19219.md | 23 ---- doc/release-notes-19671.md | 6 - doc/release-notes-4023.md | 4 - doc/release-notes-4704.md | 4 - doc/release-notes-4751.md | 3 - doc/release-notes-4756.md | 8 -- doc/release-notes-4822.md | 3 - doc/release-notes-4885.md | 4 - doc/release-notes-pr12255.md | 17 --- doc/release-notes-pr13381.md | 29 ---- doc/release-notes.md | 257 ++++++++++++++++++++++++++++++++--- release-notes-17743.md | 5 - 32 files changed, 241 insertions(+), 284 deletions(-) delete mode 100644 doc/release-notes-13152.md delete mode 100644 doc/release-notes-13756.md delete mode 100644 doc/release-notes-14021.md delete mode 100644 doc/release-notes-14023.md delete mode 100644 doc/release-notes-14468.md delete mode 100644 doc/release-notes-14802.md delete mode 100644 doc/release-notes-14941.md delete mode 100644 doc/release-notes-14954.md delete mode 100644 doc/release-notes-14982.md delete mode 100644 doc/release-notes-15006.md delete mode 100644 doc/release-notes-15226.md delete mode 100644 doc/release-notes-15492.md delete mode 100644 doc/release-notes-15566.md delete mode 100644 doc/release-notes-15637.md delete mode 100644 doc/release-notes-15937.md delete mode 100644 doc/release-notes-15954.md delete mode 100644 doc/release-notes-16383.md delete mode 100644 doc/release-notes-16394.md delete mode 100644 doc/release-notes-16512.md delete mode 100644 doc/release-notes-17410.md delete mode 100644 doc/release-notes-19219.md delete mode 100644 doc/release-notes-19671.md delete mode 100644 doc/release-notes-4023.md delete mode 100644 doc/release-notes-4704.md delete mode 100644 doc/release-notes-4751.md delete mode 100644 doc/release-notes-4756.md delete mode 100644 doc/release-notes-4822.md delete mode 100644 doc/release-notes-4885.md delete mode 100644 doc/release-notes-pr12255.md delete mode 100644 doc/release-notes-pr13381.md delete mode 100644 release-notes-17743.md diff --git a/doc/release-notes-13152.md b/doc/release-notes-13152.md deleted file mode 100644 index 72526f5355..0000000000 --- a/doc/release-notes-13152.md +++ /dev/null @@ -1,4 +0,0 @@ -New RPC methods ------------- - -- `getnodeaddresses` returns peer addresses known to this node. It may be used to connect to nodes over TCP without using the DNS seeds. \ No newline at end of file diff --git a/doc/release-notes-13756.md b/doc/release-notes-13756.md deleted file mode 100644 index 21006f46a0..0000000000 --- a/doc/release-notes-13756.md +++ /dev/null @@ -1,39 +0,0 @@ -Coin selection --------------- - -### Reuse Avoidance - -A new wallet flag `avoid_reuse` has been added (default off). When enabled, -a wallet will distinguish between used and unused addresses, and default to not -use the former in coin selection. - -(Note: rescanning the blockchain is required, to correctly mark previously -used destinations.) - -Together with "avoid partial spends" (present as of Bitcoin v0.17), this -addresses a serious privacy issue where a malicious user can track spends by -peppering a previously paid to address with near-dust outputs, which would then -be inadvertently included in future payments. - -New RPCs --------- - -- A new `setwalletflag` RPC sets/unsets flags for an existing wallet. - - -Updated RPCs ------------- - -Several RPCs have been updated to include an "avoid_reuse" flag, used to control -whether already used addresses should be left out or included in the operation. -These include: - -- createwallet -- getbalance -- sendtoaddress - -In addition, `sendtoaddress` has been changed to enable `-avoidpartialspends` when -`avoid_reuse` is enabled. - -The listunspent RPC has also been updated to now include a "reused" bool, for nodes -with "avoid_reuse" enabled. diff --git a/doc/release-notes-14021.md b/doc/release-notes-14021.md deleted file mode 100644 index 4797a95bdb..0000000000 --- a/doc/release-notes-14021.md +++ /dev/null @@ -1,11 +0,0 @@ -Miscellaneous RPC Changes -------------------------- -- Descriptors with key origin information imported through `importmulti` will have their key origin information stored in the wallet for use with creating PSBTs. -- If `bip32derivs` of both `walletprocesspsbt` and `walletcreatefundedpsbt` is set to true but the key metadata for a public key has not been updated yet, then that key will have a derivation path as if it were just an independent key (i.e. no derivation path and its master fingerprint is itself) - -Miscellaneous Wallet changes ----------------------------- - -- The key metadata will need to be upgraded the first time that the HD seed is available. -For unencrypted wallets this will occur on wallet loading. -For encrypted wallets this will occur the first time the wallet is unlocked. diff --git a/doc/release-notes-14023.md b/doc/release-notes-14023.md deleted file mode 100644 index 18ea6f26d0..0000000000 --- a/doc/release-notes-14023.md +++ /dev/null @@ -1,8 +0,0 @@ -Account API removed -------------------- - -The 'account' API was deprecated in v0.17 and has been fully removed in v0.18. -The 'label' API was introduced in v0.17 as a replacement for accounts. - -See the release notes from v0.17 for a full description of the changes from the -'account' API to the 'label' API. diff --git a/doc/release-notes-14468.md b/doc/release-notes-14468.md deleted file mode 100644 index fb0243aba8..0000000000 --- a/doc/release-notes-14468.md +++ /dev/null @@ -1,15 +0,0 @@ -Wallet `generate` RPC method deprecated ---------------------------------------- - -The wallet's `generate` RPC method has been deprecated and will be fully -removed in v0.19. - -`generate` is only used for testing. The RPC call reaches across multiple -subsystems (wallet and mining), so is deprecated to simplify the wallet-node -interface. Projects that are using `generate` for testing purposes should -transition to using the `generatetoaddress` call, which does not require or use -the wallet component. Calling `generatetoaddress` with an address returned by -`getnewaddress` gives the same functionality as the old `generate` method. - -To continue using `generate` in v0.18, restart bitcoind with the -`-deprecatedrpc=generate` configuration. diff --git a/doc/release-notes-14802.md b/doc/release-notes-14802.md deleted file mode 100644 index 1fcc38866a..0000000000 --- a/doc/release-notes-14802.md +++ /dev/null @@ -1,3 +0,0 @@ -RPC changes ------------ -The `getblockstats` RPC is faster for fee calculation by using BlockUndo data. Also, `-txindex` is no longer required and `getblockstats` works for all non-pruned blocks. diff --git a/doc/release-notes-14941.md b/doc/release-notes-14941.md deleted file mode 100644 index c3820d0368..0000000000 --- a/doc/release-notes-14941.md +++ /dev/null @@ -1,5 +0,0 @@ -Miscellaneous RPC changes ------------- - -- The `unloadwallet` RPC is now synchronous, meaning that it blocks until the - wallet is fully unloaded. diff --git a/doc/release-notes-14954.md b/doc/release-notes-14954.md deleted file mode 100644 index 4bb0fcca74..0000000000 --- a/doc/release-notes-14954.md +++ /dev/null @@ -1,3 +0,0 @@ -Build system changes --------------------- -Python >=3.5 is now required by all aspects of the project. This includes the build systems, test framework and linters. The previously supported minimum (3.4), was EOL in March 2019. See #14954 for more details. \ No newline at end of file diff --git a/doc/release-notes-14982.md b/doc/release-notes-14982.md deleted file mode 100644 index 3f0bf8aacd..0000000000 --- a/doc/release-notes-14982.md +++ /dev/null @@ -1,5 +0,0 @@ -New RPCs --------- - -- The RPC `getrpcinfo` returns runtime details of the RPC server. At the moment - it returns the active commands and the corresponding execution time. diff --git a/doc/release-notes-15006.md b/doc/release-notes-15006.md deleted file mode 100644 index 76ed3247a6..0000000000 --- a/doc/release-notes-15006.md +++ /dev/null @@ -1,4 +0,0 @@ -Miscellaneous RPC changes ------------- - -- `createwallet` can now create encrypted wallets if a non-empty passphrase is specified. diff --git a/doc/release-notes-15226.md b/doc/release-notes-15226.md deleted file mode 100644 index 3be84db3e9..0000000000 --- a/doc/release-notes-15226.md +++ /dev/null @@ -1,8 +0,0 @@ -Miscellaneous RPC changes ------------- - -- The RPC `createwallet` now has an optional `blank` argument that can be used to create a blank wallet. -Blank wallets do not have any keys or HD seed. -They cannot be opened in software older than 0.18. -Once a blank wallet has a HD seed set (by using `sethdseed`) or private keys, scripts, addresses, and other watch only things have been imported, the wallet is no longer blank and can be opened in 0.17.x. -Encrypting a blank wallet will also set a HD seed for it. diff --git a/doc/release-notes-15492.md b/doc/release-notes-15492.md deleted file mode 100644 index 1149eb0dbc..0000000000 --- a/doc/release-notes-15492.md +++ /dev/null @@ -1,11 +0,0 @@ -Deprecated or removed RPCs --------------------------- -- The wallet's `generate` RPC method was deprecated in v0.18 and has now - been fully removed. This RPC is only used for - testing, but its implementation reached across multiple subsystems - (wallet and mining), so it has been removed to simplify the - wallet-node interface. Projects that are using `generate` for testing - purposes should transition to using the `generatetoaddress` RPC, which - does not require or use the wallet component. Calling - `generatetoaddress` with an address returned by the `getnewaddress` - RPC gives the same functionality as the old `generate` RPC. diff --git a/doc/release-notes-15566.md b/doc/release-notes-15566.md deleted file mode 100644 index 1cf19e24b2..0000000000 --- a/doc/release-notes-15566.md +++ /dev/null @@ -1,3 +0,0 @@ -Miscellaneous CLI Changes -------------------------- -- The `testnet` field in `dash-cli -getinfo` has been renamed to `chain` and now returns the current network name as defined in BIP70 (main, test, regtest). \ No newline at end of file diff --git a/doc/release-notes-15637.md b/doc/release-notes-15637.md deleted file mode 100644 index 14fd7c00af..0000000000 --- a/doc/release-notes-15637.md +++ /dev/null @@ -1,3 +0,0 @@ -RPC changes ------------ -In getmempoolancestors, getmempooldescendants, getmempoolentry and getrawmempool RPCs, to be consistent with the returned value and other RPCs such as getrawtransaction, vsize has been added and size is now deprecated. size will only be returned if dashd is started with `-deprecatedrpc=size`. diff --git a/doc/release-notes-15937.md b/doc/release-notes-15937.md deleted file mode 100644 index 1ab817b0e5..0000000000 --- a/doc/release-notes-15937.md +++ /dev/null @@ -1,15 +0,0 @@ -Configuration -------------- - -Wallets created or loaded in the GUI will now be automatically loaded on -startup, so they don't need to be manually reloaded next time Bitcoin is -started. The list of wallets to load on startup is stored in -`\/settings.json` and augments any command line or `bitcoin.conf` -`-wallet=` settings that specify more wallets to load. Wallets that are -unloaded in the GUI get removed from the settings list so they won't load again -automatically next startup. (#19754) - -The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept -`load_on_startup` options to modify the settings list. Unless these options are -explicitly set to true or false, the list is not modified, so the RPC methods -remain backwards compatible. (#15937) diff --git a/doc/release-notes-15954.md b/doc/release-notes-15954.md deleted file mode 100644 index f4d2c5688c..0000000000 --- a/doc/release-notes-15954.md +++ /dev/null @@ -1,4 +0,0 @@ -Configuration option changes ------------------------------ - -Importing blocks upon startup via the `bootstrap.dat` file no longer occurs by default. The file must now be specified with `-loadblock=`. diff --git a/doc/release-notes-16383.md b/doc/release-notes-16383.md deleted file mode 100644 index 8015715167..0000000000 --- a/doc/release-notes-16383.md +++ /dev/null @@ -1,8 +0,0 @@ -RPC changes ------------ - -RPCs which have an `include_watchonly` argument or `includeWatching` -option now default to `true` for watch-only wallets. Affected RPCs -are: `getbalance`, `listreceivedbyaddress`, `listreceivedbylabel`, -`listtransactions`, `listsinceblock`, `gettransaction`, -`walletcreatefundedpsbt`, and `fundrawtransaction`. diff --git a/doc/release-notes-16394.md b/doc/release-notes-16394.md deleted file mode 100644 index f09cba4b6d..0000000000 --- a/doc/release-notes-16394.md +++ /dev/null @@ -1,4 +0,0 @@ -RPC changes ------------ -`createwallet` now returns a warning if an empty string is used as an encryption password, and does not encrypt the wallet, instead of raising an error. -This makes it easier to disable encryption but also specify other options when using the `bitcoin-cli` tool. diff --git a/doc/release-notes-16512.md b/doc/release-notes-16512.md deleted file mode 100644 index 9aa9cf36f9..0000000000 --- a/doc/release-notes-16512.md +++ /dev/null @@ -1,4 +0,0 @@ -RPC changes ------------ -The RPC `joinpsbts` will shuffle the order of the inputs and outputs of the resulting joined psbt. -Previously inputs and outputs were added in the order that the PSBTs were provided which makes correlating inputs to outputs extremely easy. diff --git a/doc/release-notes-17410.md b/doc/release-notes-17410.md deleted file mode 100644 index 08ed353889..0000000000 --- a/doc/release-notes-17410.md +++ /dev/null @@ -1,5 +0,0 @@ -Command-line options --------------------- - -- The `-debug=db` logging category has been renamed to `-debug=walletdb`, to distinguish it from `coindb`. - `-debug=db` has been deprecated and will be removed in the next major release. diff --git a/doc/release-notes-19219.md b/doc/release-notes-19219.md deleted file mode 100644 index b5ee885ddc..0000000000 --- a/doc/release-notes-19219.md +++ /dev/null @@ -1,23 +0,0 @@ -#### Changes regarding misbehaving peers - -Peers that misbehave (e.g. send us invalid blocks) are now referred to as -discouraged nodes in log output, as they're not (and weren't) strictly banned: -incoming connections are still allowed from them, but they're preferred for -eviction. - -Furthermore, a few additional changes are introduced to how discouraged -addresses are treated: - -- Discouraging an address does not time out automatically after 24 hours - (or the `-bantime` setting). Depending on traffic from other peers, - discouragement may time out at an indeterminate time. - -- Discouragement is not persisted over restarts. - -- There is no method to list discouraged addresses. They are not returned by - the `listbanned` RPC. That RPC also no longer reports the `ban_reason` - field, as `"manually added"` is the only remaining option. - -- Discouragement cannot be removed with the `setban remove` RPC command. - If you need to remove a discouragement, you can remove all discouragements by - stop-starting your node. diff --git a/doc/release-notes-19671.md b/doc/release-notes-19671.md deleted file mode 100644 index fb2d56d9a5..0000000000 --- a/doc/release-notes-19671.md +++ /dev/null @@ -1,6 +0,0 @@ -Wallet ------- - -* The `-zapwallettxes` startup option has been removed and its functionality removed from the wallet. - This option was originally intended to allow for the fee bumping of transactions that did not - signal RBF. This functionality has been superseded with the abandon transaction feature. diff --git a/doc/release-notes-4023.md b/doc/release-notes-4023.md deleted file mode 100644 index 21029de624..0000000000 --- a/doc/release-notes-4023.md +++ /dev/null @@ -1,4 +0,0 @@ -Notable changes -=============== - -* Support for the BIP70 Payment Protocol has been dropped from Dash Qt. Interacting with BIP70-formatted URIs will return an error message informing them of support removal. The `allowselfsignedrootcertificates` and `rootcertificates` launch arguments are no longer valid. diff --git a/doc/release-notes-4704.md b/doc/release-notes-4704.md deleted file mode 100644 index 351f4c0747..0000000000 --- a/doc/release-notes-4704.md +++ /dev/null @@ -1,4 +0,0 @@ -Updated RPCs ------------- - -* The `gettxoutsetinfo` RPC call now accept one optional argument (`hash_type`) that defines the algorithm used for calcluating the UTXO set hash, it will default to `hash_serialized_2` unless explicitly specified otherwise. `hash_type` will influence the key that is used to refer to refer to the UTXO set hash. diff --git a/doc/release-notes-4751.md b/doc/release-notes-4751.md deleted file mode 100644 index 0adde8ca36..0000000000 --- a/doc/release-notes-4751.md +++ /dev/null @@ -1,3 +0,0 @@ -Miscellaneous RPC Changes -------------------------- -- In rpc `masternodelist` with parameters `full`, `info` and `json` the PoS penalty score of the MN will be returned. For `json` parameter, the field `pospenaltyscore` was added. diff --git a/doc/release-notes-4756.md b/doc/release-notes-4756.md deleted file mode 100644 index 122c227f39..0000000000 --- a/doc/release-notes-4756.md +++ /dev/null @@ -1,8 +0,0 @@ -Updated RPCs ------------- - -* The `generatedescriptor` RPC call has been introduced to allow mining a set number of blocks, defined by argument `num_blocks`, with the coinbase destination set to a descriptor, defined by the `descriptor` argument. The optional `maxtries` argument can be used to limit iterations. - -* The `generateblock` RPC call will mine an array of ordered transactions, defined by hex array `transactions` that can contain either transaction IDs or a hex-encoded serialized raw transaction and set the coinbase destination defined by the `address/descriptor` argument. - -* The `mockscheduler` is a debug RPC call that allows forwarding the scheduler by `delta_time`. This RPC call is hidden and will only be functional on mockable chains (i.e. primarily regtest). `delta_time` must be between 0 - 3600. diff --git a/doc/release-notes-4822.md b/doc/release-notes-4822.md deleted file mode 100644 index e25ef1c848..0000000000 --- a/doc/release-notes-4822.md +++ /dev/null @@ -1,3 +0,0 @@ -Miscellaneous RPC Changes -------------------------- -- In rpc `upgradetohd` new parameter `rescan` was added which allows users to skip or force blockchain rescan. This params defaults to `false` when `mnemonic` parameter is empty and `true` otherwise. diff --git a/doc/release-notes-4885.md b/doc/release-notes-4885.md deleted file mode 100644 index 9b5ad6b51d..0000000000 --- a/doc/release-notes-4885.md +++ /dev/null @@ -1,4 +0,0 @@ -Updated RPCs ------------- - -* The `spork` RPC call will no longer offer both get (labelled as "basic mode") and set (labelled as "advanced mode") functionality. `spork` will now only offer "basic" functionality. "Advanced" functionality is now exposed through the `sporkupdate` RPC call. diff --git a/doc/release-notes-pr12255.md b/doc/release-notes-pr12255.md deleted file mode 100644 index 4e99b30e5b..0000000000 --- a/doc/release-notes-pr12255.md +++ /dev/null @@ -1,17 +0,0 @@ -systemd init file -========= - -The systemd init file (`contrib/init/dashd.service`) has been changed to use -`/var/lib/dashd` as the data directory instead of `~dash/.dash`. This -change makes Dash Core more consistent with other services, and makes the -systemd init config more consistent with existing Upstart and OpenRC configs. - -The configuration, PID, and data directories are now completely managed by -systemd, which will take care of their creation, permissions, etc. See -[`systemd.exec (5)`](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory=) -for more details. - -When using the provided init files under `contrib/init`, overriding the -`datadir` option in `/etc/dash/dash.conf` will have no effect. This is -because the command line arguments specified in the init files take precedence -over the options specified in `/etc/dash/dash.conf`. diff --git a/doc/release-notes-pr13381.md b/doc/release-notes-pr13381.md deleted file mode 100644 index 75faad9906..0000000000 --- a/doc/release-notes-pr13381.md +++ /dev/null @@ -1,29 +0,0 @@ -RPC importprivkey: new label behavior -------------------------------------- - -Previously, `importprivkey` automatically added the default empty label -("") to all addresses associated with the imported private key. Now it -defaults to using any existing label for those addresses. For example: - -- Old behavior: you import a watch-only address with the label "cold - wallet". Later, you import the corresponding private key using the - default settings. The address's label is changed from "cold wallet" - to "". - -- New behavior: you import a watch-only address with the label "cold - wallet". Later, you import the corresponding private key using the - default settings. The address's label remains "cold wallet". - -In both the previous and current case, if you directly specify a label -during the import, that label will override whatever previous label the -addresses may have had. Also in both cases, if none of the addresses -previously had a label, they will still receive the default empty label -(""). Examples: - -- You import a watch-only address with the label "temporary". Later you - import the corresponding private key with the label "final". The - address's label will be changed to "final". - -- You use the default settings to import a private key for an address that - was not previously in the wallet. Its addresses will receive the default - empty label (""). diff --git a/doc/release-notes.md b/doc/release-notes.md index cdff06ba6d..3fbe266f2a 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,11 +1,14 @@ -Dash Core version 18.0.2 -======================== +Dash Core version v18.1.0 +========================= Release is now available from: -This is a new hotfix release. +This is a new minor version release, bringing new features, various bugfixes +and other improvements. + +This release is optional for all nodes. Please report bugs using the issue tracker at github: @@ -35,6 +38,10 @@ downgrade to an older version is only possible with a reindex Downgrade warning ----------------- +### Downgrade to a version < v18.1.0 + +Downgrading to a version older than v18.1.0 is supported. + ### Downgrade to a version < v18.0.1 Downgrading to a version older than v18.0.1 is not supported due to changes in @@ -48,33 +55,250 @@ masternodes. This results in PoSe punishment/banning for outdated masternodes, so downgrading even prior to the activation of the introduced hard-fork changes is not recommended. +Versioning +---------- + +Dash Core imperfectly follows semantic versioning. Breaking changes should be +expected in a major release. The number and severity of breaking changes in minor +releases are minimized, however we do not guarantee there are no breaking changes. +Bitcoin backports often introduce breaking changes, and are a likely source of +breaking changes in minor releases. Patch releases should never contain breaking changes. + +This release **does** include breaking changes. Please read below to see if they will affect you. + Notable changes =============== -This release resolves some excessive memory usage via the "evo" database (evodb). +BIP70 Support Removed +--------------------- -18.0.2 Change log -=================== +Support for the BIP70 Payment Protocol has been dropped from Dash Qt. +Interacting with BIP70-formatted URIs will return an error message informing them +of support removal. The `allowselfsignedrootcertificates` and `rootcertificates` +launch arguments are no longer valid. -See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.0.1...dashpay:v18.0.2`). +systemd init file +----------------- -- [`666ff7bff9`](https://github.com/dashpay/dash/commit/666ff7bff9) merge bitcoin#14193: Add missing mempool locks -- [`96f4022a6a`](https://github.com/dashpay/dash/commit/96f4022a6a) chore: archive release-nodes.md -- [`0b60096d8a`](https://github.com/dashpay/dash/commit/0b60096d8a) chore: bump version to 18.0.2 -- [`e8afde2740`](https://github.com/dashpay/dash/commit/e8afde2740) fix: Flush chainstate (and evodb) cache whenever evodb mem usage is getting too high (#5007) -- [`8efd7f04c6`](https://github.com/dashpay/dash/commit/8efd7f04c6) Merge bitcoin/bitcoin#25739: Update leveldb subtree (#5005) -- [`c92cbce6a5`](https://github.com/dashpay/dash/commit/c92cbce6a5) trivial: Fix trailing whitespaces in release notes (#4989) +The systemd init file (`contrib/init/dashd.service`) has been changed to use +`/var/lib/dashd` as the data directory instead of `~dash/.dash`. This +change makes Dash Core more consistent with other services, and makes the +systemd init config more consistent with existing Upstart and OpenRC configs. + +The configuration, PID, and data directories are now completely managed by +systemd, which will take care of their creation, permissions, etc. See +[`systemd.exec (5)`](https://www.freedesktop.org/software/systemd/man/systemd.exec.html#RuntimeDirectory=) +for more details. + +When using the provided init files under `contrib/init`, overriding the +`datadir` option in `/etc/dash/dash.conf` will have no effect. This is +because the command line arguments specified in the init files take precedence +over the options specified in `/etc/dash/dash.conf`. + +Account API removed +------------------- + +The 'account' API was deprecated in v18.0 and has been fully removed in v18.1. +The 'label' API was introduced in v18.0 as a replacement for accounts. + +See the [release notes from v18.0.1](https://github.com/dashpay/dash/blob/v18.0.1/doc/release-notes.md) for a full description of the changes from the +'account' API to the 'label' API. + +Build system changes +-------------------- + +Python >=3.5 is now required by all aspects of the project. This includes the build +systems, test framework and linters. The previously supported minimum (3.4), was EOL +in March 2019. See bitcoin#14954 for more details. + +Coin selection: Reuse Avoidance +-------------- + +A new wallet flag `avoid_reuse` has been added (default off). When enabled, +a wallet will distinguish between used and unused addresses, and default to not +use the former in coin selection. + +(Note: rescanning the blockchain is required, to correctly mark previously +used destinations.) + +Together with "avoid partial spends" (present as of Bitcoin v0.17), this +addresses a serious privacy issue where a malicious user can track spends by +peppering a previously paid to address with near-dust outputs, which would then +be inadvertently included in future payments. + +Auto Loading Wallets +------------- + +Wallets created or loaded in the GUI will now be automatically loaded on +startup, so they don't need to be manually reloaded next time Bitcoin is +started. The list of wallets to load on startup is stored in +`\/settings.json` and augments any command line or `bitcoin.conf` +`-wallet=` settings that specify more wallets to load. Wallets that are +unloaded in the GUI get removed from the settings list so they won't load again +automatically next startup. (bitcoin#19754) + +The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept +`load_on_startup` options to modify the settings list. Unless these options are +explicitly set to true or false, the list is not modified, so the RPC methods +remain backwards compatible. (bitcoin#15937) + +Changes regarding misbehaving peers +----------------------------------- + +Peers that misbehave (e.g. send us invalid blocks) are now referred to as +discouraged nodes in log output, as they're not (and weren't) strictly banned: +incoming connections are still allowed from them, but they're preferred for +eviction. + +Furthermore, a few additional changes are introduced to how discouraged +addresses are treated: + +- Discouraging an address does not time out automatically after 24 hours + (or the `-bantime` setting). Depending on traffic from other peers, + discouragement may time out at an indeterminate time. + +- Discouragement is not persisted over restarts. + +- There is no method to list discouraged addresses. They are not returned by + the `listbanned` RPC. That RPC also no longer reports the `ban_reason` + field, as `"manually added"` is the only remaining option. + +- Discouragement cannot be removed with the `setban remove` RPC command. + If you need to remove a discouragement, you can remove all discouragements by + stop-starting your node. + +Remote Procedure Call (RPC) Changes +----------------------------------- + +Most changes here were introduced through Bitcoin backports mostly related to +the deprecation of wallet accounts in DashCore v0.17 and introduction of PSBT +format. + +### The new RPCs are: +- A new `setwalletflag` RPC sets/unsets flags for an existing wallet. +- The `spork` RPC call will no longer offer both get (labelled as "basic mode") and set (labelled as "advanced mode") functionality. `spork` will now only offer "basic" functionality. "Advanced" functionality is now exposed through the `sporkupdate` RPC call. +- The `generateblock` RPC call will mine an array of ordered transactions, defined by hex array `transactions` that can contain either transaction IDs or a hex-encoded serialized raw transaction and set the coinbase destination defined by the `address/descriptor` argument. +- The `mockscheduler` is a debug RPC call that allows forwarding the scheduler by `delta_time`. This RPC call is hidden and will only be functional on mockable chains (i.e. primarily regtest). `delta_time` must be between 0 - 3600. +- `dumptxoutset` see bitcoin#16899 and the help text. This RPC is used for UTXO snapshot creation which is a part of the assume utxo project +- `generatetodescriptor` Mine blocks immediately to a specified descriptor. see bitcoin#16943 + +### The removed RPCs are: +- The wallet's `generate` RPC method has been removed. `generate` is only used for testing. +The RPC call reaches across multiple subsystems (wallet and mining), so is deprecated to simplify the wallet-node +interface. Projects that are using `generate` for testing purposes should +transition to using the `generatetoaddress` call, which does not require or use +the wallet component. Calling `generatetoaddress` with an address returned by +`getnewaddress` gives the same functionality as the old `generate` method. + +### Changes in existing RPCs introduced through bitcoin backports: +- The `gettxoutsetinfo` RPC call now accept one optional argument (`hash_type`) that defines the algorithm used for calcluating the UTXO set hash, it will default to `hash_serialized_2` unless explicitly specified otherwise. `hash_type` will influence the key that is used to refer to refer to the UTXO set hash. +- The `generatedescriptor` RPC call has been introduced to allow mining a set number of blocks, defined by argument `num_blocks`, with the coinbase destination set to a descriptor, defined by the `descriptor` argument. The optional `maxtries` argument can be used to limit iterations. +- Descriptors with key origin information imported through `importmulti` will have their key origin information stored in the wallet for use with creating PSBTs. +- If `bip32derivs` of both `walletprocesspsbt` and `walletcreatefundedpsbt` is set to true but the key metadata for a public key has not been updated yet, then that key will have a derivation path as if it were just an independent key (i.e. no derivation path and its master fingerprint is itself) +- The `getblockstats` RPC is faster for fee calculation by using BlockUndo data. Also, `-txindex` is no longer required and `getblockstats` works for all non-pruned blocks. +- The `unloadwallet` RPC is now synchronous, meaning that it blocks until the wallet is fully unloaded. +- RPCs which have an `include_watchonly` argument or `includeWatching` + option now default to `true` for watch-only wallets. Affected RPCs + are: `getbalance`, `listreceivedbyaddress`, `listreceivedbylabel`, + `listtransactions`, `listsinceblock`, `gettransaction`, + `walletcreatefundedpsbt`, and `fundrawtransaction`. +- `createwallet` now returns a warning if an empty string is used as an encryption password, and does not encrypt the wallet, instead of raising an error. + This makes it easier to disable encryption but also specify other options when using the `bitcoin-cli` tool. +- The RPC `joinpsbts` will shuffle the order of the inputs and outputs of the resulting joined psbt. + Previously inputs and outputs were added in the order that the PSBTs were provided which makes correlating inputs to outputs extremely easy. +- `importprivkey`: new label behavior. +Previously, `importprivkey` automatically added the default empty label +("") to all addresses associated with the imported private key. Now it +defaults to using any existing label for those addresses. For example: + + - Old behavior: you import a watch-only address with the label "cold + wallet". Later, you import the corresponding private key using the + default settings. The address's label is changed from "cold wallet" + to "". + + - New behavior: you import a watch-only address with the label "cold + wallet". Later, you import the corresponding private key using the + default settings. The address's label remains "cold wallet". + + In both the previous and current case, if you directly specify a label + during the import, that label will override whatever previous label the + addresses may have had. Also in both cases, if none of the addresses + previously had a label, they will still receive the default empty label + (""). Examples: + - You import a watch-only address with the label "temporary". Later you + import the corresponding private key with the label "final". The + address's label will be changed to "final". + - You use the default settings to import a private key for an address that + was not previously in the wallet. Its addresses will receive the default + empty label (""). +- The `createwallet`, `loadwallet`, and `unloadwallet` RPCs now accept + `load_on_startup` options to modify the settings list. +- Several RPCs have been updated to include an "avoid_reuse" flag, used to control + whether already used addresses should be left out or included in the operation. + These include: + - `createwallet` + - `getbalance` + - `sendtoaddress` + + In addition, `sendtoaddress` has been changed to enable `-avoidpartialspends` when + `avoid_reuse` is enabled. + The `listunspent` RPC has also been updated to now include a "reused" bool, for nodes + with "avoid_reuse" enabled. + +### Dash-specific changes in existing RPCs: +- In rpc `upgradetohd` new parameter `rescan` was added which allows users to skip or force blockchain rescan. This params defaults to `false` when `mnemonic` parameter is empty and `true` otherwise. + +Please check `help ` for more detailed information on specific RPCs. + +Command-line options +-------------------- + +Most changes here were introduced through Bitcoin backports. + +New cmd-line options: +- RPC Whitelist system. It can give certain RPC users permissions to only some RPC calls. + It can be set with two command line arguments (`rpcwhitelist` and `rpcwhitelistdefault`). (bitcoin#12763) + +Removed cmd-line options: +- The `-zapwallettxes` startup option has been removed and its functionality removed from the wallet. + This option was originally intended to allow for the fee bumping of transactions that did not + signal RBF. This functionality has been superseded with the abandon transaction feature. + +Changes in existing cmd-line options: +- The `testnet` field in `dash-cli -getinfo` has been renamed to `chain` and now returns the current network name as defined in BIP70 (main, test, regtest). +- Importing blocks upon startup via the `bootstrap.dat` file no longer occurs by default. The file must now be specified with `-loadblock=`. + +Please check `Help -> Command-line options` in Qt wallet or `dashd --help` for +more information. + +Backports from Bitcoin Core +--------------------------- + +This release introduces many hundreds updates from Bitcoin v0.18/v0.19/v0.20/v0.21/v22. Bitcoin changes that do not align with Dash’s product needs, such as SegWit and RBF, are excluded from our backporting. For additional detail on what’s included in Bitcoin, please refer to their release notes. + +v18.1.0 Change log +================== + +See detailed [set of changes](https://github.com/dashpay/dash/compare/v18.0.2...dashpay:v18.1.0). Credits ======= Thanks to everyone who directly contributed to this release: -- kittywhiskers +- Kittywhiskers Van Gogh +- Konstantin Akimov +- Munkybooty +- Nathan Marley +- Odysseas Gabrielides +- Oleg Girko - PastaPastaPasta +- strophy +- thephez - UdjinM6 +- Vijay -As well as everyone that submitted issues and reviewed pull requests. +As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release. Older releases ============== @@ -99,7 +323,8 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12. These release are considered obsolete. Old release notes can be found here: -- [v18.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.1.md) released Aug/17/2022 +- [v18.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.2.md) released October/09/2022 +- [v18.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.0.1.md) released August/17/2022 - [v0.17.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.3.md) released June/07/2021 - [v0.17.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.17.0.2.md) released May/19/2021 - [v0.16.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.16.1.1.md) released November/17/2020 diff --git a/release-notes-17743.md b/release-notes-17743.md deleted file mode 100644 index 730c5419ac..0000000000 --- a/release-notes-17743.md +++ /dev/null @@ -1,5 +0,0 @@ -New settings ------------- - -- RPC Whitelist system. It can give certain RPC users permissions to only some RPC calls. -It can be set with two command line arguments (`rpcwhitelist` and `rpcwhitelistdefault`). (#12763) From 0b162ff59940ceb93025c6178469ca1e732a7fcf Mon Sep 17 00:00:00 2001 From: Oleg Girko Date: Sun, 9 Oct 2022 23:25:09 +0100 Subject: [PATCH 6/7] fix(build): Fix incorrect type conversion (#5037) It's incorrect to convert between different enum classes using initialisation. However, it's OK to convert between different enum classes using the same underlying type using static_cast. Signed-off-by: Oleg Girko Signed-off-by: Oleg Girko Co-authored-by: Oleg Girko --- src/primitives/block.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/primitives/block.h b/src/primitives/block.h index 3ee843f8f9..1fcb2ee853 100644 --- a/src/primitives/block.h +++ b/src/primitives/block.h @@ -133,10 +133,10 @@ private: static constexpr std::byte to_byte(const Flag flag) { - return std::byte{flag}; + return static_cast(flag); } - static constexpr std::byte VERSION_BIT_MASK = std::byte{Flag::VERSION_BIT_0} | std::byte{Flag::VERSION_BIT_1} | std::byte{Flag::VERSION_BIT_2}; + static constexpr std::byte VERSION_BIT_MASK = static_cast(Flag::VERSION_BIT_0) | static_cast(Flag::VERSION_BIT_1) | static_cast(Flag::VERSION_BIT_2); }; struct CompressibleBlockHeader : CBlockHeader { From 47ab151ed552a2095c4aa75a767fb0670534c995 Mon Sep 17 00:00:00 2001 From: UdjinM6 Date: Mon, 17 Oct 2022 02:31:07 +0300 Subject: [PATCH 7/7] fix(gui): Fix crashes when trying to run `dash-qt` with `--disablewallet` (#5041) * fix(gui): Fix crashes when trying to run `dash-qt` with `--disablewallet` * use enableWallet --- src/qt/bitcoingui.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index b0c8c49b06..468f0ad968 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1339,8 +1339,10 @@ void BitcoinGUI::setNumBlocks(int count, const QDateTime& blockDate, const QStri // Disabling macOS App Nap on initial sync, disk, reindex operations and mixing. bool disableAppNap = !m_node.masternodeSync().isSynced(); #ifdef ENABLE_WALLET - for (const auto& wallet : m_node.walletClient().getWallets()) { - disableAppNap |= wallet->coinJoin().isMixing(); + if (enableWallet) { + for (const auto& wallet : m_node.walletClient().getWallets()) { + disableAppNap |= wallet->coinJoin().isMixing(); + } } #endif // ENABLE_WALLET if (disableAppNap) {