You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/release-notes.md
+82-24
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,14 @@
1
-
# Dash Core version v19.1.0
1
+
# Dash Core version v19.2.0
2
2
3
3
Release is now available from:
4
4
5
5
<https://www.dash.org/downloads/#wallets>
6
6
7
-
This is a new minor version release, bringing various bugfixes and other improvements.
7
+
This is a new minor version release, bringing various bugfixes and other
8
+
improvements.
8
9
9
-
This release is mandatory for all nodes. This release delays v19 hard fork activation and
10
-
will effectively hard fork the network. v19.0.0 nodes must upgrade to continue syncing properly.
10
+
This release is mandatory for all nodes. This release resolves issues around the
11
+
v19 Hard Fork activation. All nodes must upgrade to continue syncing properly.
11
12
12
13
Please report bugs using the issue tracker at GitHub:
13
14
@@ -26,46 +27,102 @@ using version < 0.13 you will have to reindex (start with -reindex-chainstate
26
27
or -reindex) to make sure your wallet has all the new data synced. Upgrading
27
28
from version 0.13 should not require any additional actions.
28
29
29
-
When upgrading from a version prior to 18.0.1, the
30
-
first startup of Dash Core will run a migration process which can take anywhere
31
-
from a few minutes to thirty minutes to finish. After the migration, a
32
-
downgrade to an older version is only possible with a reindex
33
-
(or reindex-chainstate).
30
+
At the first startup Dash Core will run a migration process which can take
31
+
anywhere from a few minutes to thirty minutes to finish. After the migration,
32
+
a downgrade to an older version is only possible with a reindex.
33
+
34
+
Please note that seamless migration is only possible on nodes which did not
35
+
reach the v19 fork block. Nodes that reached it can either rewind a couple
36
+
of blocks back to a pre-v19 block using `invalidateblock` RPC while still
37
+
running the old version or they can reindex instead.
34
38
35
39
## Downgrade warning
36
40
37
-
### Downgrade to a version < v19.1.0
38
-
Downgrading below v19.1.0 is not supported as v19.0.0 will attempt to hard fork, however this hardfork is problematic
39
-
and is being delayed with this version
41
+
### Downgrade to a version < v19.2.0
40
42
41
-
### Downgrade to a version < v19.0.0
42
-
Downgrading to a version older than v19.0.0 is not supported due to changes in the evodb database. If you need to use an older version, you must either reindex or re-sync the whole chain.
43
+
Downgrading to a version older than v19.2.0 is not supported due to changes
44
+
in the evodb database. If you need to use an older version, you must either
45
+
reindex or re-sync the whole chain.
43
46
44
47
# Notable changes
45
48
46
-
## Delaying v19 Hard Fork
49
+
## Resolve v19 Hard Fork Issues
50
+
51
+
One of the goals for the v19 Hard Fork was to activate basic BLS scheme and
52
+
start using it in various on-chain and p2p messages. The motivation behind this
53
+
change is the need to be aligned with IETF standards. Unfortunately, a few edge
54
+
cases were missed in our functional tests and were not caught on testnet either.
55
+
v19 activation attempt on mainnet hit one of these edge cases and mainnet
56
+
stopped producing blocks. As an intermediate solution v19.1.0 was released which
57
+
delayed the start of the signaling for the v19 Hard Fork until June 14th.
58
+
59
+
To resolve these issues we had to rework the way BLS public keys are handled
60
+
including the way they are serialized in the internal database. This made it
61
+
incompatible with older versions of Dash Core, so a db migration path was
62
+
implemented for all recent versions.
63
+
64
+
## Improve migration and historical data support on light clients
65
+
66
+
As a side-effect, the solution implemented to resolve v19 Hard Fork issues
67
+
opened a path to simplify v19 migration for mobile wallets.
68
+
69
+
With previous implementation mobile wallets would have to convert 4k+ pubkeys
70
+
at the v19 fork point and that can easily take 10-15 seconds if not more.
71
+
Also, after the v19 Hard Fork, if a masternode list is requested from a block
72
+
before the v19 Hard Fork, the operator keys were coming in basic BLS scheme,
73
+
but the masternode merkleroot hash stored in coinbase transaction at that time
74
+
was calculated with legacy BLS scheme. Hence it was impossible to verify the
75
+
merkleroot hash.
76
+
77
+
To fix these issues a new field `nVersion` was introduced for every entry in
78
+
`mnlistdiff` p2p message. This field indicates which BLS scheme should be used
79
+
when deserialising the message - legacy or basic. `nVersion` of the `mnlistdiff`
80
+
message itself will no longer indicate the scheme and must always be set to `1`.
81
+
82
+
## Improve mixing support on light clients
83
+
84
+
Recent changes to `dsq` and `dstx` messages allowed mobile clients that get
85
+
masternode lists from `mnlistdiff` message to determine the masternode related
86
+
to these messages because the `proTxHash` was used instead of the
87
+
`masternodeOutpoint`. Once the v19 Hard Fork activates the signature of `dsq`
88
+
and `dstx` messages will be based on the `proTxHash` which should make it
89
+
possible for mobile clients to verify it.
90
+
91
+
## Allow keeping Chainlocks enabled without signing new ones
92
+
93
+
Before this version Chainlocks were either enabled or disabled. Starting with
94
+
this version it's possible to set `SPORK_19_CHAINLOCKS_ENABLED` to a non-zero
95
+
value to disable the signing of new Chainlocks while still enforcing the best
96
+
known one.
97
+
98
+
## Other changes
47
99
48
-
The start date for the v19 Hard Fork has been delayed until June 14th. The earliest hard fork date will be roughly two
49
-
weeks after that date. A new version will be required before this date to ensure a smooth hard fork.
100
+
There were a few other minor changes too, specifically:
101
+
- reindex on DB corruption should now start properly in Qt
102
+
- a mnemonic passphrase longer than 256 symbols no longer crashes the wallet
103
+
- a Qt node running with `-disablewawllet` flag should not crash in Settings now
104
+
-`-masternodeblsprivkey` and `-sporkkey` values are no longer printed in
105
+
`debug.log`
106
+
- should use less memory in the long run comparing to older versions
107
+
- gmp library detection should work better on macos
108
+
- fixed a couple of typos
50
109
51
-
# v19.1.0 Change log
110
+
# v19.2.0 Change log
52
111
53
-
See detailed [set of changes](https://github.com/dashpay/dash/compare/v19.0.0...dashpay:v19.1.0).
112
+
See detailed [set of changes](https://github.com/dashpay/dash/compare/v19.1.0...dashpay:v19.2.0).
54
113
55
114
# Credits
56
115
57
116
Thanks to everyone who directly contributed to this release:
58
117
59
-
- Kittywhiskers Van Gogh (kittywhiskers)
60
118
- Konstantin Akimov (knst)
61
-
- Odysseas Gabrielides (ogabrielides)
62
-
- Oleg Girko (OlegGirko)
119
+
- Nathan Marley (nmarley)
63
120
- PastaPastaPasta
64
121
- thephez
65
122
- UdjinM6
66
-
- Vijay Das Manikpuri (vijaydasmp)
67
123
68
-
As well as everyone that submitted issues, reviewed pull requests, helped debug the release candidates, and write DIPs that were implemented in this release.
124
+
As well as everyone that submitted issues, reviewed pull requests and helped
125
+
debug the release candidates.
69
126
70
127
# Older releases
71
128
@@ -89,6 +146,7 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12.
89
146
90
147
These release are considered obsolete. Old release notes can be found here:
91
148
149
+
-[v19.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released May/22/2023
92
150
-[v19.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released Apr/14/2023
93
151
-[v18.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Mar/21/2023
94
152
-[v18.2.1](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.1.md) released Jan/17/2023
0 commit comments