2024-12-07 00:27:46 +01:00
# Dash Core version v22.0.0
2023-06-16 00:11:06 +02:00
2024-12-07 00:27:46 +01:00
This is a new major version release, bringing new features, various bugfixes
and other improvements.
2023-06-16 00:11:06 +02:00
2024-12-07 00:27:46 +01:00
This release is **mandatory** for all nodes, as it includes a hard fork.
2023-06-16 00:11:06 +02:00
Please report bugs using the issue tracker at GitHub:
< https: / / github . com / dashpay / dash / issues >
# 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
2024-02-29 00:19:42 +01:00
dashd/dash-qt (on Linux).
2023-06-16 00:11:06 +02:00
## Downgrade warning
2024-12-07 00:27:46 +01:00
### Downgrade to a version < v22.0.0
2024-07-24 20:33:26 +02:00
2024-12-07 00:27:46 +01:00
Downgrading to a version older than v22.0.0 may not be supported, and will
likely require a reindex.
2024-07-24 20:33:26 +02:00
2024-12-07 00:27:46 +01:00
# Release Notes
2023-06-16 00:11:06 +02:00
2024-12-07 00:27:46 +01:00
## Notable Changes
2023-06-16 00:11:06 +02:00
2024-12-07 00:27:46 +01:00
- **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** .
2023-06-16 00:11:06 +02:00
2024-12-07 00:27:46 +01:00
## P2P and Network Changes
2024-07-24 20:33:26 +02:00
2024-12-07 00:27:46 +01:00
- **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.
2024-12-19 15:19:32 +01:00
- **FreeBSD Improvements**
- Fixed issues with building Dash Core on FreeBSD.
2024-12-07 00:27:46 +01:00
2024-12-19 15:19:32 +01:00
## New RPCs
2024-12-07 00:27:46 +01:00
- **`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=< cmd > ` 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**
2024-12-19 15:19:32 +01:00
- `BRR` (`realloc`), `DIP0020` , `DIP0024` , `V19` , `V20` , and `MN_RR` hardforks are now activated at **block 2** instead of block **300** on devnets.
2024-12-07 00:27:46 +01:00
- **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
2023-11-14 16:16:26 +01:00
See detailed [set of changes][set-of-changes].
2023-06-16 00:11:06 +02:00
# Credits
Thanks to everyone who directly contributed to this release:
2024-12-07 00:27:46 +01:00
- AJ ONeal
2024-10-22 16:53:17 +02:00
- Kittywhiskers Van Gogh
2024-02-29 00:19:42 +01:00
- Konstantin Akimov
2024-12-07 00:27:46 +01:00
- Odysseas Gabrielides
2023-06-16 00:11:06 +02:00
- PastaPastaPasta
2024-08-07 11:04:09 +02:00
- UdjinM6
2024-12-07 00:27:46 +01:00
- Vijaydasmp
2023-06-16 00:11:06 +02:00
As well as everyone that submitted issues, reviewed pull requests and helped
debug the release candidates.
# Older releases
2024-12-07 00:27:46 +01:00
These releases are considered obsolete. Old release notes can be found here:
2023-06-16 00:11:06 +02:00
2024-12-07 00:27:46 +01:00
- [v21.1.1 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md ) released Oct/22/2024
2024-10-22 16:53:17 +02:00
- [v21.1.0 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md ) released Aug/8/2024
2024-08-07 11:04:09 +02:00
- [v21.0.2 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.2.md ) released Aug/1/2024
2024-08-01 16:52:14 +02:00
- [v21.0.0 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.0.md ) released Jul/25/2024
2024-07-24 20:33:26 +02:00
- [v20.1.1 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.1.md ) released April/3/2024
2024-04-03 18:04:21 +02:00
- [v20.1.0 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.1.0.md ) released March/5/2024
2024-02-29 00:19:42 +01:00
- [v20.0.4 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.4.md ) released Jan/13/2024
2024-01-10 14:38:38 +01:00
- [v20.0.3 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.3.md ) released December/26/2023
2023-12-24 12:00:25 +01:00
- [v20.0.2 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.2.md ) released December/06/2023
2023-12-05 15:29:48 +01:00
- [v20.0.1 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.1.md ) released November/18/2023
2023-11-16 19:41:31 +01:00
- [v20.0.0 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-20.0.0.md ) released November/15/2023
2023-11-14 16:16:26 +01:00
- [v19.3.0 ](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.3.0.md ) released July/31/2023
2023-07-25 21:28:11 +02:00
- [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
2023-06-16 00:11:06 +02:00
- [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
2023-11-14 16:16:26 +01:00
2024-12-07 00:27:46 +01:00
[set-of-changes]: https://github.com/dashpay/dash/compare/v21.1.1...dashpay:v22.0.0