From c11ec4054ae2cd465a646dc984cb17684909655d Mon Sep 17 00:00:00 2001 From: pasta Date: Thu, 30 Jan 2025 14:56:09 -0600 Subject: [PATCH 1/6] docs: add release notes for 22.1.0 --- doc/release-notes-6325.md | 4 - doc/release-notes-6455.md | 11 - doc/release-notes-6499.md | 11 - doc/release-notes-6516.md | 5 - doc/release-notes-6530.md | 15 - doc/release-notes.md | 233 +++----------- .../dash/release-notes-22.0.0.md | 293 ++++++++++++++++++ 7 files changed, 344 insertions(+), 228 deletions(-) delete mode 100644 doc/release-notes-6325.md delete mode 100644 doc/release-notes-6455.md delete mode 100644 doc/release-notes-6499.md delete mode 100644 doc/release-notes-6516.md delete mode 100644 doc/release-notes-6530.md create mode 100644 doc/release-notes/dash/release-notes-22.0.0.md diff --git a/doc/release-notes-6325.md b/doc/release-notes-6325.md deleted file mode 100644 index 84c02201d48b..000000000000 --- a/doc/release-notes-6325.md +++ /dev/null @@ -1,4 +0,0 @@ -Tests ------ - -- Command line arguments -dip8params, -bip147height are removed in favour of -testactivationheight. (dash#6325) diff --git a/doc/release-notes-6455.md b/doc/release-notes-6455.md deleted file mode 100644 index 4b20c00a701d..000000000000 --- a/doc/release-notes-6455.md +++ /dev/null @@ -1,11 +0,0 @@ -## New RPCs - -- **`getislocks`** - - Retrieves the InstantSend lock data for the given transaction IDs (txids). - Returns the lock information in both human-friendly JSON format and binary hex-encoded zmq-compatible format. - -## Updated RPCs - -- **`getbestchainlock` Changes** - - A new hex field has been added to the getbestchainlock RPC, which returns the ChainLock information in zmq-compatible, hex-encoded binary format. - diff --git a/doc/release-notes-6499.md b/doc/release-notes-6499.md deleted file mode 100644 index ee00c83b6e1f..000000000000 --- a/doc/release-notes-6499.md +++ /dev/null @@ -1,11 +0,0 @@ -Updated RPCs ------------- - -- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees` - returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`, - `getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)` - are deprecated and will be removed in the next major version (use - `-deprecated=fees` if needed in this version). The same fee fields can be accessed - through the `fees` object in the result. WARNING: deprecated - fields `ancestorfees` and `descendantfees` are denominated in sats, whereas all - fields in the `fees` object are denominated in DASH. diff --git a/doc/release-notes-6516.md b/doc/release-notes-6516.md deleted file mode 100644 index 2c9f50c29186..000000000000 --- a/doc/release-notes-6516.md +++ /dev/null @@ -1,5 +0,0 @@ -Build Changes -------------- - -The macOS distribution is no longer packaged in a disk image (DMG) and -is now packaged in a ZIP archive. diff --git a/doc/release-notes-6530.md b/doc/release-notes-6530.md deleted file mode 100644 index 4988cbfb55a0..000000000000 --- a/doc/release-notes-6530.md +++ /dev/null @@ -1,15 +0,0 @@ -Notable changes -=============== - -Updated RPCs ------------- - -- `lockunspent` now optionally takes a third parameter, `persistent`, which -causes the lock to be written persistently to the wallet database. This -allows UTXOs to remain locked even after node restarts or crashes. - -GUI changes ------------ - -- UTXOs which are locked via the GUI are now stored persistently in the -wallet database, so are not lost on node shutdown or crash. diff --git a/doc/release-notes.md b/doc/release-notes.md index c5308ac83053..8b067358b48e 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,9 +1,7 @@ -# Dash Core version v22.0.0 +# Dash Core version v22.1.0 -This is a new major version release, bringing new features, various bugfixes -and other improvements. - -This release is **mandatory** for all nodes, as it includes a hard fork. +This is a new minor version release, bringing new features, and various bugfixes. +This release is **optional** for all nodes, although recommended. Please report bugs using the issue tracker at GitHub: @@ -28,193 +26,65 @@ likely require a reindex. # Release Notes -## Notable Changes - -- **Asset Unlock Transactions (Platform Transfer)** - - Introduces a new fork, `withdrawals`, that changes consensus rules. - - **Validation Logic Update:** - - Allows using all **24 active quorums** and the most recent inactive quorum. - - Previous versions may refuse withdrawals with `bad-assetunlock-not-active-quorum` even if the quorum is active. - - **Withdrawal Limits Increased:** - - Flat **2000 Dash** per **576 latest blocks**. The previous limit was 1000 Dash. -- **Increased Minimum Protocol Version** - - The minimum protocol version has been increased to **70216**. - - Masternode minimum protocol version has increased to **70235**. - -## P2P and Network Changes - -- **Improved Onion Connectivity** - - Nodes with onion connectivity will attempt to maintain at least **two outbound onion connections** and will protect these connections from eviction. - - **Benefit:** Ensures nodes capable of accessing the onion network maintain a few onion connections, allowing network messages to propagate even if non-onion IPv4 traffic is blocked. - - **Security Enhancement:** Enables P2P encryption for these peers. - -- **DSQ Message Broadcast Update** - - Starting in protocol version **70234**, DSQ messages are broadcast using the inventory system instead of relaying to all connected peers. - - **Benefit:** Reduces bandwidth needs for all nodes, especially noticeable on highly connected masternodes. - -- **Compressed Block Headers Request Limit** - - Starting in protocol version **70235**, the maximum number of compressed block headers that can be requested at once has been increased from **2000** to **8000**. - - **Applies to:** Compressed block headers only. - - **Benefit:** Potential for improved header sync performance. - -- **Multi-Network Connectivity Enhancement** - - Nodes with multiple reachable networks will actively try to maintain at least one outbound connection to each network. - - **Benefits:** - - Improves resistance to eclipse attacks. - - Enhances network-level resistance to partition attacks. - - **User Impact:** Users no longer need to perform active measures to ensure connections to multiple enabled networks. - -- **BIP324 Encrypted Communication (Experimental)** - - Dash Core now experimentally implements [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki), introducing encrypted communication for P2P network traffic. - - **Opt-In Adoption** - - **Enable Encryption:** Users can opt-in to use BIP324 by adding `v2transport=1` to their Dash Core configuration. - - **Default Behavior:** Encryption is **disabled by default** as this is currently experimental. - - **Benefits** - - **Enhanced Privacy:** Encrypts P2P messages for v2 connections, reducing the risk of traffic analysis and eavesdropping. - - **Improved Security:** Protects against certain types of network attacks by ensuring that communication between nodes is confidential and tamper-proof. - - **Limitations and Considerations** - - **Compatibility:** Encrypted connections may only be established between nodes that have BIP324 enabled. Nodes without encryption support will continue to communicate over unencrypted channels. - - **Status and Future Plans** - - **Experimental Phase:** This feature is currently in an experimental phase. Users are encouraged to test and provide feedback to ensure stability. - - **Future Development:** BIP324 will likely be enabled by default in the next minor version, v22.1.0. - -## Compatibility - -- **Dark Mode Appearance** - - Dash Core changes appearance when macOS "dark mode" is activated. - -- **glibc Requirement** - - The minimum required glibc to run Dash Core is now **2.31**. This means that **RHEL 8** and **Ubuntu 18.04 (Bionic)** are no longer supported. - -- **FreeBSD Improvements** - - Fixed issues with building Dash Core on FreeBSD. - -## New RPCs - -- **`coinjoinsalt`** - - Allows manipulation of a CoinJoin salt stored in a wallet. - - `coinjoinsalt get`: Fetches an existing salt. - - `coinjoinsalt set`: Allows setting a custom salt. - - `coinjoinsalt generate`: Sets a random hash as the new salt. - -## Updated RPCs - -- **`getpeerinfo` Changes** - - `getpeerinfo` no longer returns the following fields: `addnode` and `whitelisted`, which were previously deprecated in v21. - - Instead of `addnode`, the `connection_type` field returns `manual`. - - Instead of `whitelisted`, the `permissions` field indicates if the peer has special privileges. - -- **`getblockfrompeer` Parameter Renaming** - - The named argument `block_hash` has been renamed to `blockhash` to align with the rest of the codebase. - - **Breaking Change:** If using named parameters, make sure to update them accordingly. - -- **`coinjoin stop` Error Handling** - - `coinjoin stop` will now return an error if there is no CoinJoin mixing session to stop. - -- **`getcoinjoininfo` Adjustments** - - `getcoinjoininfo` will no longer report `keys_left` and will not incorrectly warn about keypool depletion with descriptor wallets. - -- **`creditOutputs` Format Change** - - `creditOutputs` entries in various RPCs that output transactions as JSON are now shown as objects instead of strings. - -- **`quorum dkgsimerror` Argument Update** - - `quorum dkgsimerror` will no longer accept a decimal value between 0 and 1 for the `rate` argument. - - It will now expect an integer between **0** to **100**. - -- **Deprecated `protx *_hpmn` RPC Endpoints** - - Deprecated `protx *_hpmn` RPC entry points have been dropped in favor of `protx *_evo`. - - **Removed Endpoints:** - - `protx register_fund_hpmn` - - `protx register_hpmn` - - `protx register_prepare_hpmn` - - `protx update_service_hpmn` +Build Changes +------------- -- **`governance` Descriptor Wallet Support** - - The `governance votemany` and `governance votealias` RPC commands now support descriptor-based wallets. +The macOS distribution is no longer packaged in a disk image (DMG) and +is now packaged in a ZIP archive. The macOS distribution is once again notarized. -- **`createwallet` Behavior for Descriptor Wallets** - - When creating descriptor wallets, `createwallet` now requires explicitly setting `load_on_startup`. +BIP324 / v2 P2P Protocol +------------------------ -## Command-line Options +Version 2 of the Dash P2P protocol / BIP324, which enables encryption of the P2P protocol, +has been enabled by default in this version. This was initially introduced in Dash Core +v22.0.0 as an experimental feature and has now been enabled by default. This change is +backward compatible, and connections to peers which do not support the v2 protocol will +revert to using the v1 protocol. -### Changes in Existing Command-line Options +Network Changes +--------------- +System ports, or ports that are lower than 1024 are now considered to be "bad" ports. +As a result, other peers will avoid connecting to nodes that are listening on these ports. +This change is to prevent potential DDoS attacks against services running on these ports. +A number of other ports commonly used for authenticated services are also considered "bad" ports. +You can view [the list of bad ports here](https://github.com/dashpay/dash/blob/v22.1.x/doc/p2p-bad-ports.md). -- **`-walletnotify=` Enhancements** - - Introduces new format options `%h` and `%b`. - - `%b`: Replaced by the hash of the block including the transaction (set to `'unconfirmed'` if the transaction is not included). - - `%h`: Replaced by the block height (**-1** if not included). +Tests +----- -- **`-maxuploadtarget` Format Update** - - Now allows human-readable byte units `[k|K|m|M|g|G|t|T]`. - - **Example:** `-maxuploadtarget=500g`. - - **Constraints:** No whitespace, `+`, `-`, or fractions allowed. - - **Default:** `M` if no suffix is provided. +- Command line arguments `-dip8params` and `-bip147height` are removed in favor of `-testactivationheight`. (dash#6325) +- Several hard forks now activate earlier on regtest. -## Devnet Breaking Changes - -- **Hardfork Activation Changes** - - `BRR` (`realloc`), `DIP0020`, `DIP0024`, `V19`, `V20`, and `MN_RR` hardforks are now activated at **block 2** instead of block **300** on devnets. - - **Implications:** - - Breaking change. - - Inability to sync on devnets created with earlier Dash Core versions and vice versa. - -- **LLMQ Type Enhancement** - - **LLMQ_50_60** is enabled for **Devnet** networks. - - Necessary for testing on a large Devnet. - -## Tests - -- **Regtest Network Softfork Activation Heights** - - For the `regtest` network, the activation heights of several softforks have been set to **block height 1**. - - **Customization:** Can be changed using the runtime setting `-testactivationheight=name@height`. - - *(dash#6214)* - -## Statistics - -### New Features - -- **Statsd Client Enhancements** - - Supports queueing and batching messages. - - **Benefits:** - - Reduces the number of packets. - - Lowers the rate at which messages are sent to the Statsd daemon. - -- **Batch Configuration Options** - - **Maximum Batch Size:** - - Adjustable using `-statsbatchsize` (in bytes). - - **Default:** **1KiB**. - - **Batch Send Frequency:** - - Adjustable using `-statsduration` (in milliseconds). - - **Default:** **1 second**. - - **Note:** `-statsduration` does not affect `-statsperiod`, which dictates how frequently some stats are *collected*. - -### Deprecations - -- **Deprecation of `-platform-user`** - - `-platform-user` is deprecated in favor of the whitelist feature. - - In releases **22.x** of Dash Core, it has been renamed to `-deprecated-platform-user`. - - It will be removed in version **23.x**. +## New RPCs -- **`-statsenabled` Deprecation** - - Now implied by the presence of `-statshost`. - - It will be removed in version **23.x**. +- **`getislocks`** + - Retrieves the InstantSend lock data for the given transaction IDs (txids). + Returns the lock information in both a human-friendly JSON format and a binary hex-encoded zmq-compatible format. -- **`-statshostname` Replacement** - - Deprecated and replaced with `-statssuffix` for better representation of the argument's purpose. - - **Behavior:** Behave identically to each other. - - It will be removed in version **23.x**. +Updated RPCs +------------ -- **`-statsns` Replacement** - - Deprecated and replaced with `-statsprefix` for better representation of the argument's purpose. - - **Behavior:** `-statsprefix` enforces the usage of a delimiter between the prefix and key. - - It will be removed in version **23.x**. +- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees` + returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`, + `getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)` + are deprecated and will be removed in the next major version (use + `-deprecated=fees` if needed in this version). The same fee fields can be accessed + through the `fees` object in the result. WARNING: deprecated + fields `ancestorfees` and `descendantfees` are denominated in duffs, whereas all + fields in the `fees` object are denominated in DASH. +- A new `hex` field has been added to the `getbestchainlock` RPC, which returns the ChainLock information in zmq-compatible, hex-encoded binary format. +- `lockunspent` now optionally takes a third parameter, `persistent`, which + causes the lock to be written persistently to the wallet database. This + allows UTXOs to remain locked even after node restarts or crashes. -## GUI Changes +GUI changes +----------- -- **RPC Server Functionality Option** - - A new option has been added to the "Main" tab in "Options" that allows users to enable RPC server functionality. +- UTXOs locked via the GUI are now stored persistently in the + wallet database and are not lost on node shutdown or crash. +- Improved GUI responsiveness for large wallets. (dash#6457) -# v22.0.0 Change log +# v22.1.0 Change log See detailed [set of changes][set-of-changes]. @@ -222,10 +92,8 @@ See detailed [set of changes][set-of-changes]. Thanks to everyone who directly contributed to this release: -- AJ ONeal - Kittywhiskers Van Gogh - Konstantin Akimov -- Odysseas Gabrielides - PastaPastaPasta - UdjinM6 - Vijaydasmp @@ -237,6 +105,7 @@ debug the release candidates. These releases are considered obsolete. Old release notes can be found here: +- [v22.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.0.0.md) released Dec/12/2024 - [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024 - [v21.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md) released Aug/8/2024 - [v21.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.2.md) released Aug/1/2024 @@ -290,4 +159,4 @@ These releases are considered obsolete. Old release notes can be found here: - [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 -[set-of-changes]: https://github.com/dashpay/dash/compare/v21.1.1...dashpay:v22.0.0 +[set-of-changes]: https://github.com/dashpay/dash/compare/v22.0.0...dashpay:v22.1.0 diff --git a/doc/release-notes/dash/release-notes-22.0.0.md b/doc/release-notes/dash/release-notes-22.0.0.md new file mode 100644 index 000000000000..c5308ac83053 --- /dev/null +++ b/doc/release-notes/dash/release-notes-22.0.0.md @@ -0,0 +1,293 @@ +# Dash Core version v22.0.0 + +This is a new major version release, bringing new features, various bugfixes +and other improvements. + +This release is **mandatory** for all nodes, as it includes a hard fork. + +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). + +## Downgrade warning + +### Downgrade to a version < v22.0.0 + +Downgrading to a version older than v22.0.0 may not be supported, and will +likely require a reindex. + +# Release Notes + +## Notable Changes + +- **Asset Unlock Transactions (Platform Transfer)** + - Introduces a new fork, `withdrawals`, that changes consensus rules. + - **Validation Logic Update:** + - Allows using all **24 active quorums** and the most recent inactive quorum. + - Previous versions may refuse withdrawals with `bad-assetunlock-not-active-quorum` even if the quorum is active. + - **Withdrawal Limits Increased:** + - Flat **2000 Dash** per **576 latest blocks**. The previous limit was 1000 Dash. +- **Increased Minimum Protocol Version** + - The minimum protocol version has been increased to **70216**. + - Masternode minimum protocol version has increased to **70235**. + +## P2P and Network Changes + +- **Improved Onion Connectivity** + - Nodes with onion connectivity will attempt to maintain at least **two outbound onion connections** and will protect these connections from eviction. + - **Benefit:** Ensures nodes capable of accessing the onion network maintain a few onion connections, allowing network messages to propagate even if non-onion IPv4 traffic is blocked. + - **Security Enhancement:** Enables P2P encryption for these peers. + +- **DSQ Message Broadcast Update** + - Starting in protocol version **70234**, DSQ messages are broadcast using the inventory system instead of relaying to all connected peers. + - **Benefit:** Reduces bandwidth needs for all nodes, especially noticeable on highly connected masternodes. + +- **Compressed Block Headers Request Limit** + - Starting in protocol version **70235**, the maximum number of compressed block headers that can be requested at once has been increased from **2000** to **8000**. + - **Applies to:** Compressed block headers only. + - **Benefit:** Potential for improved header sync performance. + +- **Multi-Network Connectivity Enhancement** + - Nodes with multiple reachable networks will actively try to maintain at least one outbound connection to each network. + - **Benefits:** + - Improves resistance to eclipse attacks. + - Enhances network-level resistance to partition attacks. + - **User Impact:** Users no longer need to perform active measures to ensure connections to multiple enabled networks. + +- **BIP324 Encrypted Communication (Experimental)** + - Dash Core now experimentally implements [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki), introducing encrypted communication for P2P network traffic. + - **Opt-In Adoption** + - **Enable Encryption:** Users can opt-in to use BIP324 by adding `v2transport=1` to their Dash Core configuration. + - **Default Behavior:** Encryption is **disabled by default** as this is currently experimental. + - **Benefits** + - **Enhanced Privacy:** Encrypts P2P messages for v2 connections, reducing the risk of traffic analysis and eavesdropping. + - **Improved Security:** Protects against certain types of network attacks by ensuring that communication between nodes is confidential and tamper-proof. + - **Limitations and Considerations** + - **Compatibility:** Encrypted connections may only be established between nodes that have BIP324 enabled. Nodes without encryption support will continue to communicate over unencrypted channels. + - **Status and Future Plans** + - **Experimental Phase:** This feature is currently in an experimental phase. Users are encouraged to test and provide feedback to ensure stability. + - **Future Development:** BIP324 will likely be enabled by default in the next minor version, v22.1.0. + +## Compatibility + +- **Dark Mode Appearance** + - Dash Core changes appearance when macOS "dark mode" is activated. + +- **glibc Requirement** + - The minimum required glibc to run Dash Core is now **2.31**. This means that **RHEL 8** and **Ubuntu 18.04 (Bionic)** are no longer supported. + +- **FreeBSD Improvements** + - Fixed issues with building Dash Core on FreeBSD. + +## New RPCs + +- **`coinjoinsalt`** + - Allows manipulation of a CoinJoin salt stored in a wallet. + - `coinjoinsalt get`: Fetches an existing salt. + - `coinjoinsalt set`: Allows setting a custom salt. + - `coinjoinsalt generate`: Sets a random hash as the new salt. + +## Updated RPCs + +- **`getpeerinfo` Changes** + - `getpeerinfo` no longer returns the following fields: `addnode` and `whitelisted`, which were previously deprecated in v21. + - Instead of `addnode`, the `connection_type` field returns `manual`. + - Instead of `whitelisted`, the `permissions` field indicates if the peer has special privileges. + +- **`getblockfrompeer` Parameter Renaming** + - The named argument `block_hash` has been renamed to `blockhash` to align with the rest of the codebase. + - **Breaking Change:** If using named parameters, make sure to update them accordingly. + +- **`coinjoin stop` Error Handling** + - `coinjoin stop` will now return an error if there is no CoinJoin mixing session to stop. + +- **`getcoinjoininfo` Adjustments** + - `getcoinjoininfo` will no longer report `keys_left` and will not incorrectly warn about keypool depletion with descriptor wallets. + +- **`creditOutputs` Format Change** + - `creditOutputs` entries in various RPCs that output transactions as JSON are now shown as objects instead of strings. + +- **`quorum dkgsimerror` Argument Update** + - `quorum dkgsimerror` will no longer accept a decimal value between 0 and 1 for the `rate` argument. + - It will now expect an integer between **0** to **100**. + +- **Deprecated `protx *_hpmn` RPC Endpoints** + - Deprecated `protx *_hpmn` RPC entry points have been dropped in favor of `protx *_evo`. + - **Removed Endpoints:** + - `protx register_fund_hpmn` + - `protx register_hpmn` + - `protx register_prepare_hpmn` + - `protx update_service_hpmn` + +- **`governance` Descriptor Wallet Support** + - The `governance votemany` and `governance votealias` RPC commands now support descriptor-based wallets. + +- **`createwallet` Behavior for Descriptor Wallets** + - When creating descriptor wallets, `createwallet` now requires explicitly setting `load_on_startup`. + +## Command-line Options + +### Changes in Existing Command-line Options + +- **`-walletnotify=` Enhancements** + - Introduces new format options `%h` and `%b`. + - `%b`: Replaced by the hash of the block including the transaction (set to `'unconfirmed'` if the transaction is not included). + - `%h`: Replaced by the block height (**-1** if not included). + +- **`-maxuploadtarget` Format Update** + - Now allows human-readable byte units `[k|K|m|M|g|G|t|T]`. + - **Example:** `-maxuploadtarget=500g`. + - **Constraints:** No whitespace, `+`, `-`, or fractions allowed. + - **Default:** `M` if no suffix is provided. + +## Devnet Breaking Changes + +- **Hardfork Activation Changes** + - `BRR` (`realloc`), `DIP0020`, `DIP0024`, `V19`, `V20`, and `MN_RR` hardforks are now activated at **block 2** instead of block **300** on devnets. + - **Implications:** + - Breaking change. + - Inability to sync on devnets created with earlier Dash Core versions and vice versa. + +- **LLMQ Type Enhancement** + - **LLMQ_50_60** is enabled for **Devnet** networks. + - Necessary for testing on a large Devnet. + +## Tests + +- **Regtest Network Softfork Activation Heights** + - For the `regtest` network, the activation heights of several softforks have been set to **block height 1**. + - **Customization:** Can be changed using the runtime setting `-testactivationheight=name@height`. + - *(dash#6214)* + +## Statistics + +### New Features + +- **Statsd Client Enhancements** + - Supports queueing and batching messages. + - **Benefits:** + - Reduces the number of packets. + - Lowers the rate at which messages are sent to the Statsd daemon. + +- **Batch Configuration Options** + - **Maximum Batch Size:** + - Adjustable using `-statsbatchsize` (in bytes). + - **Default:** **1KiB**. + - **Batch Send Frequency:** + - Adjustable using `-statsduration` (in milliseconds). + - **Default:** **1 second**. + - **Note:** `-statsduration` does not affect `-statsperiod`, which dictates how frequently some stats are *collected*. + +### Deprecations + +- **Deprecation of `-platform-user`** + - `-platform-user` is deprecated in favor of the whitelist feature. + - In releases **22.x** of Dash Core, it has been renamed to `-deprecated-platform-user`. + - It will be removed in version **23.x**. + +- **`-statsenabled` Deprecation** + - Now implied by the presence of `-statshost`. + - It will be removed in version **23.x**. + +- **`-statshostname` Replacement** + - Deprecated and replaced with `-statssuffix` for better representation of the argument's purpose. + - **Behavior:** Behave identically to each other. + - It will be removed in version **23.x**. + +- **`-statsns` Replacement** + - Deprecated and replaced with `-statsprefix` for better representation of the argument's purpose. + - **Behavior:** `-statsprefix` enforces the usage of a delimiter between the prefix and key. + - It will be removed in version **23.x**. + +## GUI Changes + +- **RPC Server Functionality Option** + - A new option has been added to the "Main" tab in "Options" that allows users to enable RPC server functionality. + +# v22.0.0 Change log + +See detailed [set of changes][set-of-changes]. + +# Credits + +Thanks to everyone who directly contributed to this release: + +- AJ ONeal +- Kittywhiskers Van Gogh +- Konstantin Akimov +- Odysseas Gabrielides +- PastaPastaPasta +- UdjinM6 +- Vijaydasmp + +As well as everyone that submitted issues, reviewed pull requests and helped +debug the release candidates. + +# Older releases + +These releases are considered obsolete. Old release notes can be found here: + +- [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024 +- [v21.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md) released Aug/8/2024 +- [v21.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.2.md) released Aug/1/2024 +- [v21.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.0.md) released Jul/25/2024 +- [v20.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.1.md) released April/3/2024 +- [v20.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.0.md) released March/5/2024 +- [v20.0.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.4.md) released Jan/13/2024 +- [v20.0.3](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.3.md) released December/26/2023 +- [v20.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.2.md) released December/06/2023 +- [v20.0.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.1.md) released November/18/2023 +- [v20.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.0.md) released November/15/2023 +- [v19.3.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.3.0.md) released July/31/2023 +- [v19.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.2.0.md) released June/19/2023 +- [v19.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.1.0.md) released May/22/2023 +- [v19.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released Apr/14/2023 +- [v18.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Mar/21/2023 +- [v18.2.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.1.md) released Jan/17/2023 +- [v18.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.0.md) released Jan/01/2023 +- [v18.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.1.md) released January/08/2023 +- [v18.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.1.0.md) released October/09/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 +- [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 + +[set-of-changes]: https://github.com/dashpay/dash/compare/v21.1.1...dashpay:v22.0.0 From bc91a83849adbba7ca81fd5099087fe83a56c52f Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 4 Feb 2025 09:17:47 -0600 Subject: [PATCH 2/6] Merge #6553: chore: bump assume valid / checkpoints for v22.1 aa6593abb5bee2ae718a873dcb5b42c77f2cd5bb chore: bump assume valid / checkpoints for v22.1 (pasta) Pull request description: ## Issue being fixed or feature implemented Bump assume valid / checkpoint for upcoming 22.1 release ## What was done? ## How Has This Been Tested? ## Breaking Changes ## Checklist: - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: kwvg: utACK aa6593abb5bee2ae718a873dcb5b42c77f2cd5bb UdjinM6: utACK aa6593abb5bee2ae718a873dcb5b42c77f2cd5bb Tree-SHA512: 99755f527b94a1be4ead3dd3a5171c6f00c77b1807e005e64a813cce9e5299c507cf47115cfd07a11f86f15f6c9e1247c3d3635bb1c9e69d4930a363499f98f8 --- src/chainparams.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 12d0ec804bf5..5b28f79dec1b 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -219,10 +219,10 @@ class CMainParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_WITHDRAWALS].useEHF = true; // The best chain should have at least this much work. - consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000009eb0f1d7fefc8750aebb"); // 2175051 + consensus.nMinimumChainWork = uint256S("0x00000000000000000000000000000000000000000000a39050764808db046f5c"); // 2216986 // By default assume that the signatures in ancestors of this block are valid. - consensus.defaultAssumeValid = uint256S("0x000000000000001cf26547602d982dcaa909231bbcd1e70c0eb3c65de25473ba"); // 2175051 + consensus.defaultAssumeValid = uint256S("0x0000000000000010b1135dc743f27f6fc8a138c6420a9d963fc676f96c2048f4"); // 2216986 /** * The message start string is designed to be unlikely to occur in normal data. @@ -332,6 +332,7 @@ class CMainParams : public CChainParams { {2029000, uint256S("0x0000000000000020d5e38b6aef5bc8e430029444d7977b46f710c7d281ef1281")}, {2109672, uint256S("0x000000000000001889bd33ef019065e250d32bd46911f4003d3fdd8128b5358d")}, {2175051, uint256S("0x000000000000001cf26547602d982dcaa909231bbcd1e70c0eb3c65de25473ba")}, + {2216986, uint256S("0x0000000000000010b1135dc743f27f6fc8a138c6420a9d963fc676f96c2048f4")}, } }; @@ -416,10 +417,10 @@ class CTestNetParams : public CChainParams { consensus.vDeployments[Consensus::DEPLOYMENT_WITHDRAWALS].useEHF = true; // The best chain should have at least this much work. - consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000000031ee38bc0876cef"); // 1143608 + consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000000031f769ba78b4bee"); // 1189000 // By default assume that the signatures in ancestors of this block are valid. - consensus.defaultAssumeValid = uint256S("0x000000eef20eb0062abd4e799967e98bdebb165dd1c567ab4118c1c86c6e948f"); // 1143608 + consensus.defaultAssumeValid = uint256S("0x000001690314036dfbbecbdf382b230ead8e9c584241290a51f9f05a87a9cf7e"); // 1189000 pchMessageStart[0] = 0xce; pchMessageStart[1] = 0xe2; @@ -505,6 +506,7 @@ class CTestNetParams : public CChainParams { {960000, uint256S("0x0000000386cf5061ea16404c66deb83eb67892fa4f79b9e58e5eaab097ec2bd6")}, {1069875, uint256S("0x00000034bfeb926662ba547c0b8dd4ba8cbb6e0c581f4e7d1bddce8f9ca3a608")}, {1143608, uint256S("0x000000eef20eb0062abd4e799967e98bdebb165dd1c567ab4118c1c86c6e948f")}, + {1189000, uint256S("0x000001690314036dfbbecbdf382b230ead8e9c584241290a51f9f05a87a9cf7e")}, } }; From 4571d89d494e5fd7befa8efc9a6a3ad5fb72565a Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 4 Feb 2025 09:21:47 -0600 Subject: [PATCH 3/6] Merge #6554: docs: update man pages for 22.1 ff785edbd2ee24b6daa823af3bf880e18ac275a8 docs: update man pages for 22.1 (Konstantin Akimov) Pull request description: ## Issue being fixed or feature implemented https://github.com/dashpay/dash/issues/6551 ## What was done? Updated man pages by new script `contrib/devtools/gen-manpages.py` see https://github.com/dashpay/dash/pull/6555 ## How Has This Been Tested? N/A ## Breaking Changes N/A ## Checklist: - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: PastaPastaPasta: utACK ff785edbd2ee24b6daa823af3bf880e18ac275a8; diff looks good UdjinM6: utACK ff785edbd2ee24b6daa823af3bf880e18ac275a8 Tree-SHA512: 60a81c880e6ff824fc661dc6c6da20d85aa662fe228f7080dcb8c47db69c88adc30a40ab84832d83994ab56a26ed1de4d800dd45cd282c61233fde2d4e2212b7 --- doc/man/dash-cli.1 | 69 +++++++++++-------------------------------- doc/man/dash-qt.1 | 47 ++++++++++++++++++----------- doc/man/dash-tx.1 | 65 +++++++++------------------------------- doc/man/dash-wallet.1 | 65 ++++++++++------------------------------ doc/man/dashd.1 | 51 +++++++++++++++++++------------- 5 files changed, 106 insertions(+), 191 deletions(-) diff --git a/doc/man/dash-cli.1 b/doc/man/dash-cli.1 index 48977e9aa33b..07c8198332fd 100644 --- a/doc/man/dash-cli.1 +++ b/doc/man/dash-cli.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH DASH-CLI "1" "December 2024" "dash-cli v22.0.0" "User Commands" +.TH DASH-CLI "1" "February 2025" "dash-cli v22.1.0" "User Commands" .SH NAME -dash-cli \- manual page for dash-cli v22.0.0 +dash-cli \- manual page for dash-cli v22.1.0 .SH SYNOPSIS .B dash-cli [\fI\,options\/\fR] \fI\, \/\fR[\fI\,params\/\fR] \fI\,Send command to Dash Core\/\fR @@ -15,7 +15,7 @@ dash-cli \- manual page for dash-cli v22.0.0 .B dash-cli [\fI\,options\/\fR] \fI\,help Get help for a command\/\fR .SH DESCRIPTION -Dash Core RPC client version v22.0.0 +Dash Core RPC client version v22.1.0 .SH OPTIONS .HP \-? @@ -24,7 +24,9 @@ Print this help message and exit .HP \fB\-addrinfo\fR .IP -Get the number of addresses known to the node, per network and total. +Get the number of addresses known to the node, per network and total, +after filtering for quality and recency. The total number of +addresses known to the node may be higher. .HP \fB\-color=\fR .IP @@ -136,8 +138,6 @@ for the wallet passphrase. .IP Print version and exit .PP -Debugging/Testing options: -.PP Chain selection options: .HP \fB\-chain=\fR @@ -149,52 +149,17 @@ regtest .IP Use devnet chain with provided name .HP -\fB\-highsubsidyblocks=\fR -.IP -The number of blocks with a higher than normal subsidy to mine at the -start of a chain. Block after that height will have fixed subsidy -base. (default: 0, devnet\-only) -.HP -\fB\-highsubsidyfactor=\fR -.IP -The factor to multiply the normal block subsidy by while in the -highsubsidyblocks window of a chain (default: 1, devnet\-only) -.HP -\fB\-llmqchainlocks=\fR -.IP -Override the default LLMQ type used for ChainLocks. Allows using -ChainLocks with smaller LLMQs. (default: llmq_devnet, -devnet\-only) -.HP -\fB\-llmqdevnetparams=\fR: -.IP -Override the default LLMQ size for the LLMQ_DEVNET quorum (devnet\-only) -.HP -\fB\-llmqinstantsenddip0024=\fR -.IP -Override the default LLMQ type used for InstantSendDIP0024. (default: -llmq_devnet_dip0024, devnet\-only) -.HP -\fB\-llmqmnhf=\fR -.IP -Override the default LLMQ type used for EHF. (default: llmq_devnet, -devnet\-only) -.HP -\fB\-llmqplatform=\fR -.IP -Override the default LLMQ type used for Platform. (default: -llmq_devnet_platform, devnet\-only) -.HP -\fB\-minimumdifficultyblocks=\fR -.IP -The number of blocks that can be mined with the minimum difficulty at -the start of a chain (default: 0, devnet\-only) -.HP -\fB\-powtargetspacing=\fR -.IP -Override the default PowTargetSpacing value in seconds (default: 2.5 -minutes, devnet\-only) -.HP \fB\-testnet\fR .IP Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR +.SH COPYRIGHT +Copyright (C) 2014-2025 The Dash Core developers +Copyright (C) 2009-2025 The Bitcoin Core developers + +Please contribute if you find Dash Core useful. Visit for +further information about the software. +The source code is available from . + +This is experimental software. +Distributed under the MIT software license, see the accompanying file COPYING +or \ No newline at end of file diff --git a/doc/man/dash-qt.1 b/doc/man/dash-qt.1 index 833ac4c6ca98..0734575bcc41 100644 --- a/doc/man/dash-qt.1 +++ b/doc/man/dash-qt.1 @@ -1,12 +1,12 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH DASH-QT "1" "December 2024" "dash-qt v22.0.0" "User Commands" +.TH DASH-QT "1" "February 2025" "dash-qt v22.1.0" "User Commands" .SH NAME -dash-qt \- manual page for dash-qt v22.0.0 +dash-qt \- manual page for dash-qt v22.1.0 .SH SYNOPSIS .B dash-qt [\fI\,command-line options\/\fR] .SH DESCRIPTION -Dash Core version v22.0.0 +Dash Core version v22.1.0 .SH OPTIONS .HP \-? @@ -282,8 +282,8 @@ Maximum per\-connection memory usage for the send buffer, *1000 bytes \fB\-maxtimeadjustment\fR .IP Maximum allowed median peer time offset adjustment. Local perspective of -time may be influenced by peers forward or backward by this -amount. (default: 4200 seconds) +time may be influenced by outbound peers forward or backward by +this amount (default: 4200 seconds). .HP \fB\-maxuploadtarget=\fR .IP @@ -383,7 +383,7 @@ Use UPnP to map the listening port (default: 1 when listening and no .HP \fB\-v2transport\fR .IP -Support v2 transport (default: 0) +Support v2 transport (default: 1) .HP \fB\-whitebind=\fR<[permissions@]addr> .IP @@ -856,23 +856,23 @@ Debugging/Testing options: .HP \fB\-debug=\fR .IP -Output debugging information (default: \fB\-nodebug\fR, supplying is -optional). If is not supplied or if = 1, -output all debugging information. can be: addrman, -bench, chainlocks, cmpctblock, coindb, coinjoin, creditpool, ehf, -estimatefee, gobject, http, i2p, instantsend, ipc, leveldb, -libevent, llmq, llmq\-dkg, llmq\-sigs, lock, mempool, mempoolrej, -mnpayments, mnsync, net, netconn, proxy, prune, qt, rand, -reindex, rpc, selectcoins, spork, tor, txreconciliation, +Output debug and trace logging (default: \fB\-nodebug\fR, supplying +is optional). If is not supplied or if = 1, +output all debug and trace logging. can be: addrman, +bench, blockstorage, chainlocks, cmpctblock, coindb, coinjoin, +creditpool, ehf, estimatefee, gobject, http, i2p, instantsend, +ipc, leveldb, libevent, llmq, llmq\-dkg, llmq\-sigs, lock, mempool, +mempoolrej, mnpayments, mnsync, net, netconn, proxy, prune, qt, +rand, reindex, rpc, selectcoins, spork, tor, txreconciliation, validation, walletdb, zmq. This option can be specified multiple times to output multiple categories. .HP \fB\-debugexclude=\fR .IP -Exclude debugging information for a category. Can be used in conjunction -with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except the -specified category. This option can be specified multiple times -to exclude multiple categories. +Exclude debug and trace logging for a category. Can be used in +conjunction with \fB\-debug\fR=\fI\,1\/\fR to output debug and trace logging for +all categories except the specified category. This option can be +specified multiple times to exclude multiple categories. .HP \fB\-disablegovernance\fR .IP @@ -1164,3 +1164,14 @@ Show splash screen on startup (default: 1) \fB\-windowtitle=\fR .IP Sets a window title which is appended to "Dash Core \- " +.SH COPYRIGHT +Copyright (C) 2014-2025 The Dash Core developers +Copyright (C) 2009-2025 The Bitcoin Core developers + +Please contribute if you find Dash Core useful. Visit for +further information about the software. +The source code is available from . + +This is experimental software. +Distributed under the MIT software license, see the accompanying file COPYING +or \ No newline at end of file diff --git a/doc/man/dash-tx.1 b/doc/man/dash-tx.1 index 2053e6ddcb4b..03bc412fe9fc 100644 --- a/doc/man/dash-tx.1 +++ b/doc/man/dash-tx.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH DASH-TX "1" "December 2024" "dash-tx v22.0.0" "User Commands" +.TH DASH-TX "1" "February 2025" "dash-tx v22.1.0" "User Commands" .SH NAME -dash-tx \- manual page for dash-tx v22.0.0 +dash-tx \- manual page for dash-tx v22.1.0 .SH SYNOPSIS .B dash-tx [\fI\,options\/\fR] \fI\, \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded dash transaction\/\fR @@ -9,7 +9,7 @@ dash-tx \- manual page for dash-tx v22.0.0 .B dash-tx [\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded dash transaction\/\fR .SH DESCRIPTION -Dash Core dash\-tx utility version v22.0.0 +Dash Core dash\-tx utility version v22.1.0 .SH OPTIONS .HP \-? @@ -32,8 +32,6 @@ Output only the hex\-encoded transaction id of the resultant transaction. .IP Print version and exit .PP -Debugging/Testing options: -.PP Chain selection options: .HP \fB\-chain=\fR @@ -45,52 +43,6 @@ regtest .IP Use devnet chain with provided name .HP -\fB\-highsubsidyblocks=\fR -.IP -The number of blocks with a higher than normal subsidy to mine at the -start of a chain. Block after that height will have fixed subsidy -base. (default: 0, devnet\-only) -.HP -\fB\-highsubsidyfactor=\fR -.IP -The factor to multiply the normal block subsidy by while in the -highsubsidyblocks window of a chain (default: 1, devnet\-only) -.HP -\fB\-llmqchainlocks=\fR -.IP -Override the default LLMQ type used for ChainLocks. Allows using -ChainLocks with smaller LLMQs. (default: llmq_devnet, -devnet\-only) -.HP -\fB\-llmqdevnetparams=\fR: -.IP -Override the default LLMQ size for the LLMQ_DEVNET quorum (devnet\-only) -.HP -\fB\-llmqinstantsenddip0024=\fR -.IP -Override the default LLMQ type used for InstantSendDIP0024. (default: -llmq_devnet_dip0024, devnet\-only) -.HP -\fB\-llmqmnhf=\fR -.IP -Override the default LLMQ type used for EHF. (default: llmq_devnet, -devnet\-only) -.HP -\fB\-llmqplatform=\fR -.IP -Override the default LLMQ type used for Platform. (default: -llmq_devnet_platform, devnet\-only) -.HP -\fB\-minimumdifficultyblocks=\fR -.IP -The number of blocks that can be mined with the minimum difficulty at -the start of a chain (default: 0, devnet\-only) -.HP -\fB\-powtargetspacing=\fR -.IP -Override the default PowTargetSpacing value in seconds (default: 2.5 -minutes, devnet\-only) -.HP \fB\-testnet\fR .IP Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR @@ -157,3 +109,14 @@ Load JSON file FILENAME into register NAME set=NAME:JSON\-STRING .IP Set register NAME to given JSON\-STRING +.SH COPYRIGHT +Copyright (C) 2014-2025 The Dash Core developers +Copyright (C) 2009-2025 The Bitcoin Core developers + +Please contribute if you find Dash Core useful. Visit for +further information about the software. +The source code is available from . + +This is experimental software. +Distributed under the MIT software license, see the accompanying file COPYING +or \ No newline at end of file diff --git a/doc/man/dash-wallet.1 b/doc/man/dash-wallet.1 index bfc45e025235..1c3b7032c974 100644 --- a/doc/man/dash-wallet.1 +++ b/doc/man/dash-wallet.1 @@ -1,13 +1,13 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH DASH-WALLET "1" "December 2024" "dash-wallet v22.0.0" "User Commands" +.TH DASH-WALLET "1" "February 2025" "dash-wallet v22.1.0" "User Commands" .SH NAME -dash-wallet \- manual page for dash-wallet v22.0.0 +dash-wallet \- manual page for dash-wallet v22.1.0 .SH DESCRIPTION -Dash Core dash\-wallet version v22.0.0 +Dash Core dash\-wallet version v22.1.0 .PP dash\-wallet is an offline tool for creating and interacting with Dash Core wallet files. By default dash\-wallet will act on wallets in the default mainnet wallet directory in the datadir. -To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and \fB\-testnet\fR/\-regtest arguments. +To change the target wallet, use the \fB\-datadir\fR, \fB\-wallet\fR and \fB\-regtest\fR/\-testnet arguments. .SS "Usage:" .IP dash\-wallet [options] @@ -69,52 +69,6 @@ regtest .IP Use devnet chain with provided name .HP -\fB\-highsubsidyblocks=\fR -.IP -The number of blocks with a higher than normal subsidy to mine at the -start of a chain. Block after that height will have fixed subsidy -base. (default: 0, devnet\-only) -.HP -\fB\-highsubsidyfactor=\fR -.IP -The factor to multiply the normal block subsidy by while in the -highsubsidyblocks window of a chain (default: 1, devnet\-only) -.HP -\fB\-llmqchainlocks=\fR -.IP -Override the default LLMQ type used for ChainLocks. Allows using -ChainLocks with smaller LLMQs. (default: llmq_devnet, -devnet\-only) -.HP -\fB\-llmqdevnetparams=\fR: -.IP -Override the default LLMQ size for the LLMQ_DEVNET quorum (devnet\-only) -.HP -\fB\-llmqinstantsenddip0024=\fR -.IP -Override the default LLMQ type used for InstantSendDIP0024. (default: -llmq_devnet_dip0024, devnet\-only) -.HP -\fB\-llmqmnhf=\fR -.IP -Override the default LLMQ type used for EHF. (default: llmq_devnet, -devnet\-only) -.HP -\fB\-llmqplatform=\fR -.IP -Override the default LLMQ type used for Platform. (default: -llmq_devnet_platform, devnet\-only) -.HP -\fB\-minimumdifficultyblocks=\fR -.IP -The number of blocks that can be mined with the minimum difficulty at -the start of a chain (default: 0, devnet\-only) -.HP -\fB\-powtargetspacing=\fR -.IP -Override the default PowTargetSpacing value in seconds (default: 2.5 -minutes, devnet\-only) -.HP \fB\-testnet\fR .IP Use the test chain. Equivalent to \fB\-chain\fR=\fI\,test\/\fR @@ -145,3 +99,14 @@ Attempt to recover private keys from a corrupt wallet. Warning: wipetxes .IP Wipe all transactions from a wallet +.SH COPYRIGHT +Copyright (C) 2014-2025 The Dash Core developers +Copyright (C) 2009-2025 The Bitcoin Core developers + +Please contribute if you find Dash Core useful. Visit for +further information about the software. +The source code is available from . + +This is experimental software. +Distributed under the MIT software license, see the accompanying file COPYING +or \ No newline at end of file diff --git a/doc/man/dashd.1 b/doc/man/dashd.1 index e7e5b52ac142..997a2eda72bd 100644 --- a/doc/man/dashd.1 +++ b/doc/man/dashd.1 @@ -1,14 +1,14 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. -.TH DASHD "1" "December 2024" "dashd v22.0.0" "User Commands" +.TH DASHD "1" "February 2025" "dashd v22.1.0" "User Commands" .SH NAME -dashd \- manual page for dashd v22.0.0 +dashd \- manual page for dashd v22.1.0 .SH SYNOPSIS .B dashd [\fI\,options\/\fR] \fI\,Start Dash Core\/\fR .SH DESCRIPTION -Dash Core version v22.0.0 -Copyright \(co 2014\-2024 The Dash Core developers -Copyright \(co 2009\-2024 The Bitcoin Core developers +Dash Core version v22.1.0 +Copyright \(co 2014\-2025 The Dash Core developers +Copyright \(co 2009\-2025 The Bitcoin Core developers .PP Please contribute if you find Dash Core useful. Visit for further information about the software. @@ -292,8 +292,8 @@ Maximum per\-connection memory usage for the send buffer, *1000 bytes \fB\-maxtimeadjustment\fR .IP Maximum allowed median peer time offset adjustment. Local perspective of -time may be influenced by peers forward or backward by this -amount. (default: 4200 seconds) +time may be influenced by outbound peers forward or backward by +this amount (default: 4200 seconds). .HP \fB\-maxuploadtarget=\fR .IP @@ -393,7 +393,7 @@ Use UPnP to map the listening port (default: 1 when listening and no .HP \fB\-v2transport\fR .IP -Support v2 transport (default: 0) +Support v2 transport (default: 1) .HP \fB\-whitebind=\fR<[permissions@]addr> .IP @@ -866,23 +866,23 @@ Debugging/Testing options: .HP \fB\-debug=\fR .IP -Output debugging information (default: \fB\-nodebug\fR, supplying is -optional). If is not supplied or if = 1, -output all debugging information. can be: addrman, -bench, chainlocks, cmpctblock, coindb, coinjoin, creditpool, ehf, -estimatefee, gobject, http, i2p, instantsend, ipc, leveldb, -libevent, llmq, llmq\-dkg, llmq\-sigs, lock, mempool, mempoolrej, -mnpayments, mnsync, net, netconn, proxy, prune, qt, rand, -reindex, rpc, selectcoins, spork, tor, txreconciliation, +Output debug and trace logging (default: \fB\-nodebug\fR, supplying +is optional). If is not supplied or if = 1, +output all debug and trace logging. can be: addrman, +bench, blockstorage, chainlocks, cmpctblock, coindb, coinjoin, +creditpool, ehf, estimatefee, gobject, http, i2p, instantsend, +ipc, leveldb, libevent, llmq, llmq\-dkg, llmq\-sigs, lock, mempool, +mempoolrej, mnpayments, mnsync, net, netconn, proxy, prune, qt, +rand, reindex, rpc, selectcoins, spork, tor, txreconciliation, validation, walletdb, zmq. This option can be specified multiple times to output multiple categories. .HP \fB\-debugexclude=\fR .IP -Exclude debugging information for a category. Can be used in conjunction -with \fB\-debug\fR=\fI\,1\/\fR to output debug logs for all categories except the -specified category. This option can be specified multiple times -to exclude multiple categories. +Exclude debug and trace logging for a category. Can be used in +conjunction with \fB\-debug\fR=\fI\,1\/\fR to output debug and trace logging for +all categories except the specified category. This option can be +specified multiple times to exclude multiple categories. .HP \fB\-disablegovernance\fR .IP @@ -1125,3 +1125,14 @@ subject to empty whitelists. \fB\-server\fR .IP Accept command line and JSON\-RPC commands +.SH COPYRIGHT +Copyright (C) 2014-2025 The Dash Core developers +Copyright (C) 2009-2025 The Bitcoin Core developers + +Please contribute if you find Dash Core useful. Visit for +further information about the software. +The source code is available from . + +This is experimental software. +Distributed under the MIT software license, see the accompanying file COPYING +or \ No newline at end of file From 53d0ff195e77780acb5f7283210d4c7999bca98f Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 4 Feb 2025 09:38:12 -0600 Subject: [PATCH 4/6] Merge #6552: docs: update supported versions in SECURITY.md f8811df79e9f563baa31976bc24c15663ad3896f docs: update supported versions in SECURITY.md (Kittywhiskers Van Gogh) Pull request description: ## Additional Information Updates the supported versions list in `SECURITY.md` ## Checklist: - [x] I have performed a self-review of my own code **(note: N/A)** - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)** - [x] I have added or updated relevant unit/integration/functional/e2e tests **(note: N/A)** - [x] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: UdjinM6: utACK f8811df79e9f563baa31976bc24c15663ad3896f Tree-SHA512: 3b10dd8ea49ea63d94b9a7df0cc95f5ae0d8fe8a6e8455d09478082bb397f63025953f2786e021730a4951763295c882b9b26a61ca691fccc44072c12da52072 --- SECURITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SECURITY.md b/SECURITY.md index 36f39013d938..7c31430d3bc2 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,7 +4,7 @@ | Version | Supported | | ------- | ------------------ | -| 22 | :white_check_mark: | +| 22.x | :white_check_mark: | | < 22 | :x: | ## Reporting a Vulnerability From e62b4eb5175c32514eee64de26610f4f52ef5fa8 Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 4 Feb 2025 09:39:58 -0600 Subject: [PATCH 5/6] Merge #6555: backport: Merge bitcoin/bitcoin#24263: doc: Fix gen-manpages, rewrite in Python 69b13281f72f502787722359867d3ba60ae6f4f4 Merge bitcoin/bitcoin#24263: doc: Fix gen-manpages, rewrite in Python (fanquake) Pull request description: ## Issue being fixed or feature implemented gen-pages.sh doesn't work correctly for `dash-cli`, it removes all hyphens somehow: ```diff .IP Set a whitelist to filter incoming RPC calls for a specific user. The field comes in the format: :,,...,. If multiple whitelists are set for a given user, -they are set\-intersected. See \fB\-rpcwhitelistdefault\fR documentation +they are setintersected. See \fBrpcwhitelistdefault\fR documentation for information on default whitelist behavior. .HP ``` ## What was done? - backport bitcoin/bitcoin#24263 Rewrite the manual page generation script in Python. This: - solves '-' stripping issue (fixes #22681) - makes that a copyright footer is generated correctly again Also change the release process to swap gen-manpages and update RC steps, so that the pages will have the correct rc and/or final version. ## How Has This Been Tested? Produced correct documents for Dash Core v22.1: https://github.com/dashpay/dash/pull/6554 ## Breaking Changes N/A ## Checklist: - [x] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added or updated relevant unit/integration/functional/e2e tests - [ ] I have made corresponding changes to the documentation - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_ ACKs for top commit: PastaPastaPasta: utACK 69b13281f72f502787722359867d3ba60ae6f4f4; looks correct UdjinM6: utACK 69b13281f72f502787722359867d3ba60ae6f4f4 kwvg: utACK 69b13281f72f502787722359867d3ba60ae6f4f4 Tree-SHA512: 01a7a9a8a4ba762e6ff36035a3fb554d998232d62da8c3441b12741e6a3b626c01c581c1ff3f6aa3dcac02e15d62eec7f2a7f94be9399895557cd0a7115424a7 --- contrib/devtools/README.md | 4 +- contrib/devtools/gen-manpages.py | 73 ++++++++++++++++++++++++++++++++ contrib/devtools/gen-manpages.sh | 52 ----------------------- doc/release-process.md | 2 +- 4 files changed, 76 insertions(+), 55 deletions(-) create mode 100755 contrib/devtools/gen-manpages.py delete mode 100755 contrib/devtools/gen-manpages.sh diff --git a/contrib/devtools/README.md b/contrib/devtools/README.md index 0090dc2959a4..4aadde68ab4b 100644 --- a/contrib/devtools/README.md +++ b/contrib/devtools/README.md @@ -76,7 +76,7 @@ year rather than two hyphenated years. If the file already has a copyright for `The Dash Core developers`, the script will exit. -gen-manpages.sh +gen-manpages.py =============== A small script to automatically create manpages in ../../doc/man by running the release binaries with the -help option. @@ -87,7 +87,7 @@ repository. To use this tool with out-of-tree builds set `BUILDDIR`. For example: ```bash -BUILDDIR=$PWD/build contrib/devtools/gen-manpages.sh +BUILDDIR=$PWD/build contrib/devtools/gen-manpages.py ``` github-merge.py diff --git a/contrib/devtools/gen-manpages.py b/contrib/devtools/gen-manpages.py new file mode 100755 index 000000000000..e9ee86b4f96b --- /dev/null +++ b/contrib/devtools/gen-manpages.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +# Copyright (c) 2022 The Bitcoin Core developers +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +import os +import subprocess +import sys +import tempfile + +BINARIES = [ +'src/dashd', +'src/dash-cli', +'src/dash-tx', +'src/dash-wallet', +#'src/dash-util', +'src/qt/dash-qt', +] + +# Paths to external utilities. +git = os.getenv('GIT', 'git') +help2man = os.getenv('HELP2MAN', 'help2man') + +# If not otherwise specified, get top directory from git. +topdir = os.getenv('TOPDIR') +if not topdir: + r = subprocess.run([git, 'rev-parse', '--show-toplevel'], stdout=subprocess.PIPE, check=True, universal_newlines=True) + topdir = r.stdout.rstrip() + +# Get input and output directories. +builddir = os.getenv('BUILDDIR', topdir) +mandir = os.getenv('MANDIR', os.path.join(topdir, 'doc/man')) + +# Verify that all the required binaries are usable, and extract copyright +# message in a first pass. +copyright = None +versions = [] +for relpath in BINARIES: + abspath = os.path.join(builddir, relpath) + try: + r = subprocess.run([abspath, '--version'], stdout=subprocess.PIPE, universal_newlines=True) + except IOError: + print(f'{abspath} not found or not an executable', file=sys.stderr) + sys.exit(1) + # take first line (which must contain version) + verstr = r.stdout.split('\n')[0] + # last word of line is the actual version e.g. v22.99.0-5c6b3d5b3508 + verstr = verstr.split()[-1] + assert verstr.startswith('v') + + # Only dash-qt prints the copyright message on --version, so store it specifically. + if relpath == 'src/qt/dash-qt': + copyright = r.stdout.split('\n')[1:] + + versions.append((abspath, verstr)) + +if any(verstr.endswith('-dirty') for (_, verstr) in versions): + print("WARNING: Binaries were built from a dirty tree.") + print('man pages generated from dirty binaries should NOT be committed.') + print('To properly generate man pages, please commit your changes (or discard them), rebuild, then run this script again.') + print() + +with tempfile.NamedTemporaryFile('w', suffix='.h2m') as footer: + # Create copyright footer, and write it to a temporary include file. + assert copyright + footer.write('[COPYRIGHT]\n') + footer.write('\n'.join(copyright).strip()) + footer.flush() + + # Call the binaries through help2man to produce a manual page for each of them. + for (abspath, verstr) in versions: + outname = os.path.join(mandir, os.path.basename(abspath) + '.1') + print(f'Generating {outname}…') + subprocess.run([help2man, '-N', '--version-string=' + verstr, '--include=' + footer.name, '-o', outname, abspath], check=True) diff --git a/contrib/devtools/gen-manpages.sh b/contrib/devtools/gen-manpages.sh deleted file mode 100755 index f500ccec8b4e..000000000000 --- a/contrib/devtools/gen-manpages.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -# Copyright (c) 2016-2020 The Bitcoin Core developers -# Distributed under the MIT software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -export LC_ALL=C -TOPDIR=${TOPDIR:-$(git rev-parse --show-toplevel)} -BUILDDIR=${BUILDDIR:-$TOPDIR} - -BINDIR=${BINDIR:-$BUILDDIR/src} -MANDIR=${MANDIR:-$TOPDIR/doc/man} - -BITCOIND=${BITCOIND:-$BINDIR/dashd} -BITCOINCLI=${BITCOINCLI:-$BINDIR/dash-cli} -BITCOINTX=${BITCOINTX:-$BINDIR/dash-tx} -WALLET_TOOL=${WALLET_TOOL:-$BINDIR/dash-wallet} -BITCOINQT=${BITCOINQT:-$BINDIR/qt/dash-qt} - -[ ! -x "$BITCOIND" ] && echo "$BITCOIND not found or not executable." && exit 1 - -# Don't allow man pages to be generated for binaries built from a dirty tree -DIRTY="" -for cmd in $BITCOIND $BITCOINCLI $BITCOINTX $WALLET_TOOL $BITCOINQT; do - VERSION_OUTPUT=$($cmd --version) - if [[ $VERSION_OUTPUT == *"dirty"* ]]; then - DIRTY="${DIRTY}${cmd}\n" - fi -done -if [ -n "$DIRTY" ] -then - echo -e "WARNING: the following binaries were built from a dirty tree:\n" - echo -e "$DIRTY" - echo "man pages generated from dirty binaries should NOT be committed." - echo "To properly generate man pages, please commit your changes to the above binaries, rebuild them, then run this script again." -fi - -# The autodetected version git tag can screw up manpage output a little bit -read -r -a BTCVER <<< "$($BITCOINCLI --version | head -n1 | awk -F'[ -]' '{ print $6, $7 }')" - -# Create a footer file with copyright content. -# This gets autodetected fine for dashd if --version-string is not set, -# but has different outcomes for dash-qt and dash-cli. -echo "[COPYRIGHT]" > footer.h2m -$BITCOIND --version | sed -n '1!p' >> footer.h2m - -for cmd in $BITCOIND $BITCOINCLI $BITCOINTX $WALLET_TOOL $BITCOINQT; do - cmdname="${cmd##*/}" - help2man -N --version-string="${BTCVER[0]}" --include=footer.h2m -o "${MANDIR}/${cmdname}.1" "${cmd}" - sed -i "s/\\\-${BTCVER[1]}//g" "${MANDIR}/${cmdname}.1" -done - -rm -f footer.h2m diff --git a/doc/release-process.md b/doc/release-process.md index f9b01fae2037..f895b924517f 100644 --- a/doc/release-process.md +++ b/doc/release-process.md @@ -2,7 +2,7 @@ Release Process ==================== * [ ] Update translations, see [translation_process.md](https://github.com/dashpay/dash/blob/master/doc/translation_process.md#synchronising-translations). -* [ ] Update manpages, see [gen-manpages.sh](https://github.com/dashpay/dash/blob/master/contrib/devtools/README.md#gen-manpagessh). +* [ ] Update manpages (after rebuilding the binaries), see [gen-manpages.py](https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/README.md#gen-manpagespy). Before every minor and major release: From 774a018703042bd5fbb10e21d5ecd45ca4bb24ce Mon Sep 17 00:00:00 2001 From: pasta Date: Tue, 4 Feb 2025 10:06:37 -0600 Subject: [PATCH 6/6] chore: set release to true --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0a5613f6731c..88b4afe1fe43 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ dnl Don't forget to push a corresponding tag when updating any of _CLIENT_VERSIO define(_CLIENT_VERSION_MAJOR, 22) define(_CLIENT_VERSION_MINOR, 1) define(_CLIENT_VERSION_BUILD, 0) -define(_CLIENT_VERSION_IS_RELEASE, false) +define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2025) define(_COPYRIGHT_HOLDERS,[The %s developers]) define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]])