Skip to content

Commit 549e347

Browse files
Merge pull request #5437 from UdjinM6/release_notes_19.2.0
backport: final v19.2 backports, v19.2.0 release notes and version bump
2 parents 44cd30f + b98d5ac commit 549e347

File tree

11 files changed

+278
-86
lines changed

11 files changed

+278
-86
lines changed

configure.ac

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ AC_PREREQ([2.69])
22
define(_CLIENT_VERSION_MAJOR, 19)
33
define(_CLIENT_VERSION_MINOR, 2)
44
define(_CLIENT_VERSION_BUILD, 0)
5-
define(_CLIENT_VERSION_RC, 1)
6-
define(_CLIENT_VERSION_IS_RELEASE, false)
5+
define(_CLIENT_VERSION_RC, 0)
6+
define(_CLIENT_VERSION_IS_RELEASE, true)
77
define(_COPYRIGHT_YEAR, 2023)
88
define(_COPYRIGHT_HOLDERS,[The %s developers])
99
define(_COPYRIGHT_HOLDERS_SUBSTITUTION,[[Dash Core]])

doc/man/dash-cli.1

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
2-
.TH DASH-CLI "1" "April 2023" "dash-cli v19.0.0" "User Commands"
1+
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2+
.TH DASH-CLI "1" "June 2023" "dash-cli v19.2.0" "User Commands"
33
.SH NAME
4-
dash-cli \- manual page for dash-cli v19.0.0
4+
dash-cli \- manual page for dash-cli v19.2.0
55
.SH SYNOPSIS
66
.B dash-cli
77
[\fI\,options\/\fR] \fI\,<command> \/\fR[\fI\,params\/\fR] \fI\,Send command to Dash Core\/\fR
@@ -15,7 +15,7 @@ dash-cli \- manual page for dash-cli v19.0.0
1515
.B dash-cli
1616
[\fI\,options\/\fR] \fI\,help <command> Get help for a command\/\fR
1717
.SH DESCRIPTION
18-
Dash Core RPC client version v19.0.0
18+
Dash Core RPC client version v19.2.0
1919
.SH OPTIONS
2020
.HP
2121
\-?

doc/man/dash-qt.1

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
2-
.TH DASH-QT "1" "April 2023" "dash-qt v19.0.0" "User Commands"
1+
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2+
.TH DASH-QT "1" "June 2023" "dash-qt v19.2.0" "User Commands"
33
.SH NAME
4-
dash-qt \- manual page for dash-qt v19.0.0
4+
dash-qt \- manual page for dash-qt v19.2.0
55
.SH SYNOPSIS
66
.B dash-qt
77
[\fI\,command-line options\/\fR]
88
.SH DESCRIPTION
9-
Dash Core version v19.0.0
9+
Dash Core version v19.2.0
1010
.SH OPTIONS
1111
.HP
1212
\-?
@@ -23,9 +23,9 @@ message)
2323
If this block is in the chain assume that it and its ancestors are valid
2424
and potentially skip their script verification (0 to verify all,
2525
default:
26-
00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3,
26+
00000000000000075300e852d5bf5380f905b2768241f8b442498442084807a7,
2727
testnet:
28-
0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51)
28+
0000014d3b875540ff75517b7fbb1714e25d50ce92f65d7086cfce357928bb02)
2929
.HP
3030
\fB\-blockfilterindex=\fR<type>
3131
.IP

doc/man/dash-tx.1

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
2-
.TH DASH-TX "1" "April 2023" "dash-tx v19.0.0" "User Commands"
1+
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2+
.TH DASH-TX "1" "June 2023" "dash-tx v19.2.0" "User Commands"
33
.SH NAME
4-
dash-tx \- manual page for dash-tx v19.0.0
4+
dash-tx \- manual page for dash-tx v19.2.0
55
.SH SYNOPSIS
66
.B dash-tx
77
[\fI\,options\/\fR] \fI\,<hex-tx> \/\fR[\fI\,commands\/\fR] \fI\,Update hex-encoded dash transaction\/\fR
88
.br
99
.B dash-tx
1010
[\fI\,options\/\fR] \fI\,-create \/\fR[\fI\,commands\/\fR] \fI\,Create hex-encoded dash transaction\/\fR
1111
.SH DESCRIPTION
12-
Dash Core dash\-tx utility version v19.0.0
12+
Dash Core dash\-tx utility version v19.2.0
1313
.SH OPTIONS
1414
.HP
1515
\-?

doc/man/dash-wallet.1

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
2-
.TH DASH-WALLET "1" "April 2023" "dash-wallet v19.0.0" "User Commands"
1+
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2+
.TH DASH-WALLET "1" "June 2023" "dash-wallet v19.2.0" "User Commands"
33
.SH NAME
4-
dash-wallet \- manual page for dash-wallet v19.0.0
4+
dash-wallet \- manual page for dash-wallet v19.2.0
55
.SH DESCRIPTION
6-
Dash Core dash\-wallet version v19.0.0
6+
Dash Core dash\-wallet version v19.2.0
77
.PP
88
dash\-wallet is an offline tool for creating and interacting with Dash Core wallet files.
99
By default dash\-wallet will act on wallets in the default mainnet wallet directory in the datadir.

doc/man/dashd.1

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
2-
.TH DASHD "1" "April 2023" "dashd v19.0.0" "User Commands"
1+
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3.
2+
.TH DASHD "1" "June 2023" "dashd v19.2.0" "User Commands"
33
.SH NAME
4-
dashd \- manual page for dashd v19.0.0
4+
dashd \- manual page for dashd v19.2.0
55
.SH SYNOPSIS
66
.B dashd
77
[\fI\,options\/\fR] \fI\,Start Dash Core Daemon\/\fR
88
.SH DESCRIPTION
9-
Dash Core Daemon version v19.0.0
9+
Dash Core Daemon version v19.2.0
1010
.SH OPTIONS
1111
.HP
1212
\-?
@@ -23,9 +23,9 @@ message)
2323
If this block is in the chain assume that it and its ancestors are valid
2424
and potentially skip their script verification (0 to verify all,
2525
default:
26-
00000000000000261bdbe99c01fcba992e577efa6cc41aae564b8ca9f112b2a3,
26+
00000000000000075300e852d5bf5380f905b2768241f8b442498442084807a7,
2727
testnet:
28-
0000005c35514190ef3c38d322f69412553dc7e1107ed5f92adc2935b90acc51)
28+
0000014d3b875540ff75517b7fbb1714e25d50ce92f65d7086cfce357928bb02)
2929
.HP
3030
\fB\-blockfilterindex=\fR<type>
3131
.IP

doc/release-notes.md

+82-24
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
# Dash Core version v19.1.0
1+
# Dash Core version v19.2.0
22

33
Release is now available from:
44

55
<https://www.dash.org/downloads/#wallets>
66

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.
89

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.
1112

1213
Please report bugs using the issue tracker at GitHub:
1314

@@ -26,46 +27,102 @@ using version < 0.13 you will have to reindex (start with -reindex-chainstate
2627
or -reindex) to make sure your wallet has all the new data synced. Upgrading
2728
from version 0.13 should not require any additional actions.
2829

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.
3438

3539
## Downgrade warning
3640

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
4042

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.
4346

4447
# Notable changes
4548

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
4799

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
50109

51-
# v19.1.0 Change log
110+
# v19.2.0 Change log
52111

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).
54113

55114
# Credits
56115

57116
Thanks to everyone who directly contributed to this release:
58117

59-
- Kittywhiskers Van Gogh (kittywhiskers)
60118
- Konstantin Akimov (knst)
61-
- Odysseas Gabrielides (ogabrielides)
62-
- Oleg Girko (OlegGirko)
119+
- Nathan Marley (nmarley)
63120
- PastaPastaPasta
64121
- thephez
65122
- UdjinM6
66-
- Vijay Das Manikpuri (vijaydasmp)
67123

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.
69126

70127
# Older releases
71128

@@ -89,6 +146,7 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12.
89146

90147
These release are considered obsolete. Old release notes can be found here:
91148

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
92150
- [v19.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released Apr/14/2023
93151
- [v18.2.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-18.2.2.md) released Mar/21/2023
94152
- [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

Comments
 (0)