Skip to content

Commit 3cd1aca

Browse files
Merge #6545: [v22.1.x] docs: add release notes for 22.1.0
c11ec40 docs: add release notes for 22.1.0 (pasta) Pull request description: ## Issue being fixed or feature implemented Release notes for 22.1 ## What was done? ## How Has This Been Tested? ## Breaking Changes ## Checklist: _Go over all the following points, and put an `x` in all the boxes that apply._ - [ ] 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)_ Top commit has no ACKs. Tree-SHA512: de0fbf02c916a1013e24c6b5aa433068c7cfa6a9e390800f48f9148447794c960034e24411621c98d51702f9e1e907e51ece5985811d40a170791d207c95c67a
2 parents a7ffd33 + c11ec40 commit 3cd1aca

7 files changed

+344
-228
lines changed

doc/release-notes-6325.md

-4
This file was deleted.

doc/release-notes-6455.md

-11
This file was deleted.

doc/release-notes-6499.md

-11
This file was deleted.

doc/release-notes-6516.md

-5
This file was deleted.

doc/release-notes-6530.md

-15
This file was deleted.

doc/release-notes.md

+51-182
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
# Dash Core version v22.0.0
1+
# Dash Core version v22.1.0
22

3-
This is a new major version release, bringing new features, various bugfixes
4-
and other improvements.
5-
6-
This release is **mandatory** for all nodes, as it includes a hard fork.
3+
This is a new minor version release, bringing new features, and various bugfixes.
4+
This release is **optional** for all nodes, although recommended.
75

86
Please report bugs using the issue tracker at GitHub:
97

@@ -28,204 +26,74 @@ likely require a reindex.
2826

2927
# Release Notes
3028

31-
## Notable Changes
32-
33-
- **Asset Unlock Transactions (Platform Transfer)**
34-
- Introduces a new fork, `withdrawals`, that changes consensus rules.
35-
- **Validation Logic Update:**
36-
- Allows using all **24 active quorums** and the most recent inactive quorum.
37-
- Previous versions may refuse withdrawals with `bad-assetunlock-not-active-quorum` even if the quorum is active.
38-
- **Withdrawal Limits Increased:**
39-
- Flat **2000 Dash** per **576 latest blocks**. The previous limit was 1000 Dash.
40-
- **Increased Minimum Protocol Version**
41-
- The minimum protocol version has been increased to **70216**.
42-
- Masternode minimum protocol version has increased to **70235**.
43-
44-
## P2P and Network Changes
45-
46-
- **Improved Onion Connectivity**
47-
- Nodes with onion connectivity will attempt to maintain at least **two outbound onion connections** and will protect these connections from eviction.
48-
- **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.
49-
- **Security Enhancement:** Enables P2P encryption for these peers.
50-
51-
- **DSQ Message Broadcast Update**
52-
- Starting in protocol version **70234**, DSQ messages are broadcast using the inventory system instead of relaying to all connected peers.
53-
- **Benefit:** Reduces bandwidth needs for all nodes, especially noticeable on highly connected masternodes.
54-
55-
- **Compressed Block Headers Request Limit**
56-
- 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**.
57-
- **Applies to:** Compressed block headers only.
58-
- **Benefit:** Potential for improved header sync performance.
59-
60-
- **Multi-Network Connectivity Enhancement**
61-
- Nodes with multiple reachable networks will actively try to maintain at least one outbound connection to each network.
62-
- **Benefits:**
63-
- Improves resistance to eclipse attacks.
64-
- Enhances network-level resistance to partition attacks.
65-
- **User Impact:** Users no longer need to perform active measures to ensure connections to multiple enabled networks.
66-
67-
- **BIP324 Encrypted Communication (Experimental)**
68-
- Dash Core now experimentally implements [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki), introducing encrypted communication for P2P network traffic.
69-
- **Opt-In Adoption**
70-
- **Enable Encryption:** Users can opt-in to use BIP324 by adding `v2transport=1` to their Dash Core configuration.
71-
- **Default Behavior:** Encryption is **disabled by default** as this is currently experimental.
72-
- **Benefits**
73-
- **Enhanced Privacy:** Encrypts P2P messages for v2 connections, reducing the risk of traffic analysis and eavesdropping.
74-
- **Improved Security:** Protects against certain types of network attacks by ensuring that communication between nodes is confidential and tamper-proof.
75-
- **Limitations and Considerations**
76-
- **Compatibility:** Encrypted connections may only be established between nodes that have BIP324 enabled. Nodes without encryption support will continue to communicate over unencrypted channels.
77-
- **Status and Future Plans**
78-
- **Experimental Phase:** This feature is currently in an experimental phase. Users are encouraged to test and provide feedback to ensure stability.
79-
- **Future Development:** BIP324 will likely be enabled by default in the next minor version, v22.1.0.
80-
81-
## Compatibility
82-
83-
- **Dark Mode Appearance**
84-
- Dash Core changes appearance when macOS "dark mode" is activated.
85-
86-
- **glibc Requirement**
87-
- 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.
88-
89-
- **FreeBSD Improvements**
90-
- Fixed issues with building Dash Core on FreeBSD.
91-
92-
## New RPCs
93-
94-
- **`coinjoinsalt`**
95-
- Allows manipulation of a CoinJoin salt stored in a wallet.
96-
- `coinjoinsalt get`: Fetches an existing salt.
97-
- `coinjoinsalt set`: Allows setting a custom salt.
98-
- `coinjoinsalt generate`: Sets a random hash as the new salt.
99-
100-
## Updated RPCs
101-
102-
- **`getpeerinfo` Changes**
103-
- `getpeerinfo` no longer returns the following fields: `addnode` and `whitelisted`, which were previously deprecated in v21.
104-
- Instead of `addnode`, the `connection_type` field returns `manual`.
105-
- Instead of `whitelisted`, the `permissions` field indicates if the peer has special privileges.
106-
107-
- **`getblockfrompeer` Parameter Renaming**
108-
- The named argument `block_hash` has been renamed to `blockhash` to align with the rest of the codebase.
109-
- **Breaking Change:** If using named parameters, make sure to update them accordingly.
110-
111-
- **`coinjoin stop` Error Handling**
112-
- `coinjoin stop` will now return an error if there is no CoinJoin mixing session to stop.
113-
114-
- **`getcoinjoininfo` Adjustments**
115-
- `getcoinjoininfo` will no longer report `keys_left` and will not incorrectly warn about keypool depletion with descriptor wallets.
116-
117-
- **`creditOutputs` Format Change**
118-
- `creditOutputs` entries in various RPCs that output transactions as JSON are now shown as objects instead of strings.
119-
120-
- **`quorum dkgsimerror` Argument Update**
121-
- `quorum dkgsimerror` will no longer accept a decimal value between 0 and 1 for the `rate` argument.
122-
- It will now expect an integer between **0** to **100**.
123-
124-
- **Deprecated `protx *_hpmn` RPC Endpoints**
125-
- Deprecated `protx *_hpmn` RPC entry points have been dropped in favor of `protx *_evo`.
126-
- **Removed Endpoints:**
127-
- `protx register_fund_hpmn`
128-
- `protx register_hpmn`
129-
- `protx register_prepare_hpmn`
130-
- `protx update_service_hpmn`
29+
Build Changes
30+
-------------
13131

132-
- **`governance` Descriptor Wallet Support**
133-
- The `governance votemany` and `governance votealias` RPC commands now support descriptor-based wallets.
32+
The macOS distribution is no longer packaged in a disk image (DMG) and
33+
is now packaged in a ZIP archive. The macOS distribution is once again notarized.
13434

135-
- **`createwallet` Behavior for Descriptor Wallets**
136-
- When creating descriptor wallets, `createwallet` now requires explicitly setting `load_on_startup`.
35+
BIP324 / v2 P2P Protocol
36+
------------------------
13737

138-
## Command-line Options
38+
Version 2 of the Dash P2P protocol / BIP324, which enables encryption of the P2P protocol,
39+
has been enabled by default in this version. This was initially introduced in Dash Core
40+
v22.0.0 as an experimental feature and has now been enabled by default. This change is
41+
backward compatible, and connections to peers which do not support the v2 protocol will
42+
revert to using the v1 protocol.
13943

140-
### Changes in Existing Command-line Options
44+
Network Changes
45+
---------------
46+
System ports, or ports that are lower than 1024 are now considered to be "bad" ports.
47+
As a result, other peers will avoid connecting to nodes that are listening on these ports.
48+
This change is to prevent potential DDoS attacks against services running on these ports.
49+
A number of other ports commonly used for authenticated services are also considered "bad" ports.
50+
You can view [the list of bad ports here](https://github.com/dashpay/dash/blob/v22.1.x/doc/p2p-bad-ports.md).
14151

142-
- **`-walletnotify=<cmd>` Enhancements**
143-
- Introduces new format options `%h` and `%b`.
144-
- `%b`: Replaced by the hash of the block including the transaction (set to `'unconfirmed'` if the transaction is not included).
145-
- `%h`: Replaced by the block height (**-1** if not included).
52+
Tests
53+
-----
14654

147-
- **`-maxuploadtarget` Format Update**
148-
- Now allows human-readable byte units `[k|K|m|M|g|G|t|T]`.
149-
- **Example:** `-maxuploadtarget=500g`.
150-
- **Constraints:** No whitespace, `+`, `-`, or fractions allowed.
151-
- **Default:** `M` if no suffix is provided.
55+
- Command line arguments `-dip8params` and `-bip147height` are removed in favor of `-testactivationheight`. (dash#6325)
56+
- Several hard forks now activate earlier on regtest.
15257

153-
## Devnet Breaking Changes
154-
155-
- **Hardfork Activation Changes**
156-
- `BRR` (`realloc`), `DIP0020`, `DIP0024`, `V19`, `V20`, and `MN_RR` hardforks are now activated at **block 2** instead of block **300** on devnets.
157-
- **Implications:**
158-
- Breaking change.
159-
- Inability to sync on devnets created with earlier Dash Core versions and vice versa.
160-
161-
- **LLMQ Type Enhancement**
162-
- **LLMQ_50_60** is enabled for **Devnet** networks.
163-
- Necessary for testing on a large Devnet.
164-
165-
## Tests
166-
167-
- **Regtest Network Softfork Activation Heights**
168-
- For the `regtest` network, the activation heights of several softforks have been set to **block height 1**.
169-
- **Customization:** Can be changed using the runtime setting `-testactivationheight=name@height`.
170-
- *(dash#6214)*
171-
172-
## Statistics
173-
174-
### New Features
175-
176-
- **Statsd Client Enhancements**
177-
- Supports queueing and batching messages.
178-
- **Benefits:**
179-
- Reduces the number of packets.
180-
- Lowers the rate at which messages are sent to the Statsd daemon.
181-
182-
- **Batch Configuration Options**
183-
- **Maximum Batch Size:**
184-
- Adjustable using `-statsbatchsize` (in bytes).
185-
- **Default:** **1KiB**.
186-
- **Batch Send Frequency:**
187-
- Adjustable using `-statsduration` (in milliseconds).
188-
- **Default:** **1 second**.
189-
- **Note:** `-statsduration` does not affect `-statsperiod`, which dictates how frequently some stats are *collected*.
190-
191-
### Deprecations
192-
193-
- **Deprecation of `-platform-user`**
194-
- `-platform-user` is deprecated in favor of the whitelist feature.
195-
- In releases **22.x** of Dash Core, it has been renamed to `-deprecated-platform-user`.
196-
- It will be removed in version **23.x**.
58+
## New RPCs
19759

198-
- **`-statsenabled` Deprecation**
199-
- Now implied by the presence of `-statshost`.
200-
- It will be removed in version **23.x**.
60+
- **`getislocks`**
61+
- Retrieves the InstantSend lock data for the given transaction IDs (txids).
62+
Returns the lock information in both a human-friendly JSON format and a binary hex-encoded zmq-compatible format.
20163

202-
- **`-statshostname` Replacement**
203-
- Deprecated and replaced with `-statssuffix` for better representation of the argument's purpose.
204-
- **Behavior:** Behave identically to each other.
205-
- It will be removed in version **23.x**.
64+
Updated RPCs
65+
------------
20666

207-
- **`-statsns` Replacement**
208-
- Deprecated and replaced with `-statsprefix` for better representation of the argument's purpose.
209-
- **Behavior:** `-statsprefix` enforces the usage of a delimiter between the prefix and key.
210-
- It will be removed in version **23.x**.
67+
- The top-level fee fields `fee`, `modifiedfee`, `ancestorfees` and `descendantfees`
68+
returned by RPCs `getmempoolentry`,`getrawmempool(verbose=true)`,
69+
`getmempoolancestors(verbose=true)` and `getmempooldescendants(verbose=true)`
70+
are deprecated and will be removed in the next major version (use
71+
`-deprecated=fees` if needed in this version). The same fee fields can be accessed
72+
through the `fees` object in the result. WARNING: deprecated
73+
fields `ancestorfees` and `descendantfees` are denominated in duffs, whereas all
74+
fields in the `fees` object are denominated in DASH.
75+
- A new `hex` field has been added to the `getbestchainlock` RPC, which returns the ChainLock information in zmq-compatible, hex-encoded binary format.
76+
- `lockunspent` now optionally takes a third parameter, `persistent`, which
77+
causes the lock to be written persistently to the wallet database. This
78+
allows UTXOs to remain locked even after node restarts or crashes.
21179

212-
## GUI Changes
80+
GUI changes
81+
-----------
21382

214-
- **RPC Server Functionality Option**
215-
- A new option has been added to the "Main" tab in "Options" that allows users to enable RPC server functionality.
83+
- UTXOs locked via the GUI are now stored persistently in the
84+
wallet database and are not lost on node shutdown or crash.
85+
- Improved GUI responsiveness for large wallets. (dash#6457)
21686

217-
# v22.0.0 Change log
87+
# v22.1.0 Change log
21888

21989
See detailed [set of changes][set-of-changes].
22090

22191
# Credits
22292

22393
Thanks to everyone who directly contributed to this release:
22494

225-
- AJ ONeal
22695
- Kittywhiskers Van Gogh
22796
- Konstantin Akimov
228-
- Odysseas Gabrielides
22997
- PastaPastaPasta
23098
- UdjinM6
23199
- Vijaydasmp
@@ -237,6 +105,7 @@ debug the release candidates.
237105

238106
These releases are considered obsolete. Old release notes can be found here:
239107

108+
- [v22.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-22.0.0.md) released Dec/12/2024
240109
- [v21.1.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.1.md) released Oct/22/2024
241110
- [v21.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-21.1.0.md) released Aug/8/2024
242111
- [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:
290159
- [v0.10.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.10.0.md) released Sep/25/2014
291160
- [v0.9.x](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.9.0.md) released Mar/13/2014
292161

293-
[set-of-changes]: https://github.com/dashpay/dash/compare/v21.1.1...dashpay:v22.0.0
162+
[set-of-changes]: https://github.com/dashpay/dash/compare/v22.0.0...dashpay:v22.1.0

0 commit comments

Comments
 (0)