Skip to content

Commit 36bd638

Browse files
docs: add release notes for v22.0.0
1 parent 96c97bb commit 36bd638

26 files changed

+302
-154
lines changed

doc/release-notes-154.md

-4
This file was deleted.

doc/release-notes-20755.md

-7
This file was deleted.

doc/release-notes-21141.md

-6
This file was deleted.

doc/release-notes-24806.md

-5
This file was deleted.

doc/release-notes-6093.md

-4
This file was deleted.

doc/release-notes-6107.md

-4
This file was deleted.

doc/release-notes-6108.md

-4
This file was deleted.

doc/release-notes-6147.md

-12
This file was deleted.

doc/release-notes-6148.md

-6
This file was deleted.

doc/release-notes-6183.md

-4
This file was deleted.

doc/release-notes-6187.md

-3
This file was deleted.

doc/release-notes-6189.md

-6
This file was deleted.

doc/release-notes-6209.md

-3
This file was deleted.

doc/release-notes-6229.md

-4
This file was deleted.

doc/release-notes-6239.md

-5
This file was deleted.

doc/release-notes-6247.md

-3
This file was deleted.

doc/release-notes-6267.md

-25
This file was deleted.

doc/release-notes-6279.md

-8
This file was deleted.

doc/release-notes-6281.md

-4
This file was deleted.

doc/release-notes-6296.md

-6
This file was deleted.

doc/release-notes-6297.md

-5
This file was deleted.

doc/release-notes-6337.md

-5
This file was deleted.

doc/release-notes-6365.md

-8
This file was deleted.

doc/release-notes-6383.md

-5
This file was deleted.

doc/release-notes.md

+186-8
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,190 @@ Downgrading to a version older than v19.2.0 is not supported due to changes
3131
in the evodb database. If you need to use an older version, you must either
3232
reindex or re-sync the whole chain.
3333

34-
# Notable changes
34+
# Release Notes
3535

36-
- Core now categorizes asset unlock transactions as "Platform Transfers" on the Transactions tab in Dash-Qt and in the output of the `gettransaction` RPC (#6131)
37-
- Persist Coinjoin Denoms options changes made via GUI over restarts (#6208)
38-
- Fix incorrect payment predictions for evonodes in Dash-Qt and in RPC `masternode winners` (#6222)
39-
- `creditOutputs` entries in various RPCs that output transaction JSON are shown as objects now instead of being shown as strings (#6229)
40-
- Updated PGP key for builder 'pasta' to reflect new subkeys. You may need to reimport this key to validate signatures. (#6290)
41-
- Build failures on Ubuntu 24.10 / clang 19.1.1 resolved (#6328)
42-
- RPC errors in `masternode payments`, `getblock`, `getblockstats` related to Asset Unlock parsing have been fixed (#6336)
36+
## Notable Changes
37+
38+
- **Asset Unlock Transactions (Platform Transfer)**
39+
- Introduces a new fork `withdrawals` that changes consensus rules.
40+
- **Validation Logic Update:**
41+
- Allows using all **24 active quorums** and the most recent inactive quorum.
42+
- Previous versions may refuse withdrawals with `bad-assetunlock-not-active-quorum` even if the quorum is active.
43+
- **Withdrawal Limits Increased:**
44+
- Flat **2000 Dash** per **576 latest blocks**.
45+
- **Increased Minimum Protocol Version**
46+
- The minimum protocol version has been increased to **70216**.
47+
- Masternode minimum protocol version has increased to **70235**.
48+
49+
## Compatibility
50+
51+
- **Dark Mode Appearance**
52+
- Dash Core changes appearance when macOS "dark mode" is activated.
53+
54+
- **glibc Requirement**
55+
- 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.
56+
57+
58+
## Updated RPCs
59+
60+
- **`getpeerinfo` Changes**
61+
- `getpeerinfo` no longer returns the following fields: `addnode` and `whitelisted`, which were previously deprecated in v21.
62+
- Instead of `addnode`, the `connection_type` field returns `manual`.
63+
- Instead of `whitelisted`, the `permissions` field indicates if the peer has special privileges.
64+
- *(#20755)*
65+
66+
- **`getblockfrompeer` Parameter Renaming**
67+
- The named argument `block_hash` has been renamed to `blockhash` to align with the rest of the codebase.
68+
- **Breaking Change:** If using named parameters, ensure to update them accordingly.
69+
- *(#6149)*
70+
71+
- **`coinjoin stop` Error Handling**
72+
- `coinjoin stop` will now return an error if there is no CoinJoin mixing session to stop.
73+
74+
- **`getcoinjoininfo` Adjustments**
75+
- `getcoinjoininfo` will no longer report `keys_left` and will not incorrectly warn about keypool depletion with descriptor wallets.
76+
77+
- **`creditOutputs` Format Change**
78+
- `creditOutputs` entries in various RPCs that output transaction JSON are now shown as objects instead of strings.
79+
80+
- **`quorum dkgsimerror` Argument Update**
81+
- `quorum dkgsimerror` will no longer accept a decimal value between 0 and 1 for the `rate` argument.
82+
- It will now expect an integer between **0** to **100**.
83+
84+
- **Deprecated `protx *_hpmn` RPC Endpoints**
85+
- Deprecated `protx *_hpmn` RPC entry points have been dropped in favor of `protx *_evo`.
86+
- **Removed Endpoints:**
87+
- `protx register_fund_hpmn`
88+
- `protx register_hpmn`
89+
- `protx register_prepare_hpmn`
90+
- `protx update_service_hpmn`
91+
92+
## Command-line Options
93+
94+
### Changes in Existing Command-line Options
95+
96+
- **`-walletnotify=<cmd>` Enhancements**
97+
- Introduces new format options `%h` and `%b`.
98+
- `%b`: Replaced by the hash of the block including the transaction (set to `'unconfirmed'` if the transaction is not included).
99+
- `%h`: Replaced by the block height (**-1** if not included).
100+
101+
- **`-maxuploadtarget` Format Update**
102+
- Now allows human-readable byte units `[k|K|m|M|g|G|t|T]`.
103+
- **Example:** `-maxuploadtarget=500g`.
104+
- **Constraints:** No whitespace, `+`, `-`, or fractions allowed.
105+
- **Default:** `M` if no suffix is provided.
106+
107+
## New Functionality
108+
109+
- **`coinjoinsalt` RPC Command**
110+
- Allows manipulation of a CoinJoin salt stored in a wallet.
111+
- `coinjoinsalt get`: Fetches an existing salt.
112+
- `coinjoinsalt set`: Allows setting a custom salt.
113+
- `coinjoinsalt generate`: Sets a random hash as the new salt.
114+
115+
- **LLMQ Type Enhancement**
116+
- **LLMQ_50_60** is enabled for **Devnet** networks.
117+
- Necessary for testing on a large Devnet.
118+
119+
## P2P and Network Changes
120+
121+
- **Improved Onion Connectivity**
122+
- Nodes with onion connectivity will attempt to maintain at least **two outbound onion connections** and will protect these connections from eviction.
123+
- **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.
124+
- **Security Enhancement:** Enables P2P encryption for these peers.
125+
- *(#6147)*
126+
127+
- **DSQ Message Broadcast Update**
128+
- Starting in protocol version **70234**, DSQ messages are broadcast using the inventory system instead of relaying to all connected peers.
129+
- **Benefit:** Reduces bandwidth needs for all nodes, especially noticeable on highly connected masternodes.
130+
- *(#6148)*
131+
132+
- **Compressed Block Headers Request Limit**
133+
- 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**.
134+
- **Applies to:** Compressed block headers only.
135+
- **Benefit:** Potential for improved header sync performance.
136+
137+
- **Multi-Network Connectivity Enhancement**
138+
- Nodes with multiple reachable networks will actively try to maintain at least one outbound connection to each network.
139+
- **Benefits:**
140+
- Improves resistance to eclipse attacks.
141+
- Enhances network-level resistance to partition attacks.
142+
- **User Impact:** Users no longer need to perform active measures to ensure connections to multiple enabled networks.
143+
144+
- **BIP324 Encrypted Communication (Experimental)**
145+
- Dash Core now experimentally implements [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki), introducing encrypted communication for P2P network traffic.
146+
- **Opt-In Adoption**
147+
- **Enable Encryption:** Users can opt-in to use BIP324 by adding the `-v2transport=1` flag to their Dash Core configuration.
148+
- **Default Behavior:** Encryption is **disabled by default** as this is currently experimental.
149+
- **Benefits**
150+
- **Enhanced Privacy:** Encrypts P2P messages for v2 connections, reducing the risk of traffic analysis and eavesdropping.
151+
- **Improved Security:** Protects against certain types of network attacks by ensuring that communication between nodes is confidential and tamper-proof.
152+
- **Limitations and Considerations**
153+
- **Compatibility:** Encrypted connections may only be established between nodes that have BIP324 enabled. Nodes without encryption support will continue to communicate over unencrypted channels.
154+
- **Status and Future Plans**
155+
- **Experimental Phase:** This feature is currently in an experimental phase. Users are encouraged to test and provide feedback to ensure stability.
156+
- **Future Development:** BIP324 will likely be enabled by default in the next minor version, v22.1.0.
157+
158+
159+
## Devnet Breaking Changes
160+
161+
- **Hardfork Activation Changes**
162+
- `BRR` (`realloc`), `DIP0020`, `DIP0024`, `V19`, `V20`, and `MN_R` hardforks are now activated at **block 2** instead of block **300** on devnets.
163+
- **Implications:**
164+
- Breaking change.
165+
- Inability to sync on devnets created with earlier Dash Core versions and vice versa.
166+
167+
## Tests
168+
169+
- **Regtest Network Softfork Activation Heights**
170+
- For the `regtest` network, the activation heights of several softforks have been set to **block height 1**.
171+
- **Customization:** Can be changed using the runtime setting `-testactivationheight=name@height`.
172+
- *(dash#6214)*
173+
174+
## Statistics
175+
176+
### New Features
177+
178+
- **Statsd Client Enhancements**
179+
- Supports queueing and batching messages.
180+
- **Benefits:**
181+
- Reduces the number of packets.
182+
- Lowers the rate at which messages are sent to the Statsd daemon.
183+
184+
- **Batch Configuration Options**
185+
- **Maximum Batch Size:**
186+
- Adjustable using `-statsbatchsize` (in bytes).
187+
- **Default:** **1KiB**.
188+
- **Batch Send Frequency:**
189+
- Adjustable using `-statsduration` (in milliseconds).
190+
- **Default:** **1 second**.
191+
- **Note:** `-statsduration` does not affect `-statsperiod`, which dictates how frequently some stats are *collected*.
192+
193+
### Deprecations
194+
195+
- **Deprecation of `-platform-user`**
196+
- `-platform-user` is deprecated in favor of the whitelist feature.
197+
- In releases **22.x** of Dash Core, it has been renamed to `-deprecated-platform-user`.
198+
- It will be removed in version **23.x**.
199+
200+
- **`-statsenabled` Deprecation**
201+
- Now implied by the presence of `-statshost`.
202+
- It will be removed in version **23.x**.
203+
204+
- **`-statshostname` Replacement**
205+
- Deprecated and replaced with `-statssuffix` for better representation of the argument's purpose.
206+
- **Behavior:** Behave identically to each other.
207+
- It will be removed in version **23.x**.
208+
209+
- **`-statsns` Replacement**
210+
- Deprecated and replaced with `-statsprefix` for better representation of the argument's purpose.
211+
- **Behavior:** `-statsprefix` enforces the usage of a delimiter between the prefix and key.
212+
- It will be removed in version **23.x**.
213+
214+
## GUI Changes
215+
216+
- **RPC Server Functionality Option**
217+
- A new option has been added to the "Main" tab in "Options" that allows users to enable RPC server functionality.
43218

44219
# v21.1.0 Change log
45220

@@ -49,8 +224,10 @@ See detailed [set of changes][set-of-changes].
49224

50225
Thanks to everyone who directly contributed to this release:
51226

227+
- AJ ONeal
52228
- Kittywhiskers Van Gogh
53229
- Konstantin Akimov
230+
- Odysseas Gabrielides
54231
- PastaPastaPasta
55232
- UdjinM6
56233

@@ -61,6 +238,7 @@ debug the release candidates.
61238

62239
These release are considered obsolete. Old release notes can be found here:
63240

241+
- [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024
64242
- [v21.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md) released Aug/8/2024
65243
- [v21.0.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.2.md) released Aug/1/2024
66244
- [v21.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.0.0.md) released Jul/25/2024

0 commit comments

Comments
 (0)