mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge branch 'master' into merge_master_19.3.0
This commit is contained in:
commit
e8fe452837
@ -1,4 +1,4 @@
|
||||
# Dash Core version v19.2.0
|
||||
# Dash Core version v19.3.0
|
||||
|
||||
Release is now available from:
|
||||
|
||||
@ -7,8 +7,7 @@ Release is now available from:
|
||||
This is a new minor version release, bringing various bugfixes and other
|
||||
improvements.
|
||||
|
||||
This release is mandatory for all nodes. This release resolves issues around the
|
||||
v19 Hard Fork activation. All nodes must upgrade to continue syncing properly.
|
||||
This release is optional for all nodes.
|
||||
|
||||
Please report bugs using the issue tracker at GitHub:
|
||||
|
||||
@ -27,15 +26,6 @@ using version < 0.13 you will have to reindex (start with -reindex-chainstate
|
||||
or -reindex) to make sure your wallet has all the new data synced. Upgrading
|
||||
from version 0.13 should not require any additional actions.
|
||||
|
||||
At the first startup Dash Core will run a migration process which can take
|
||||
anywhere from a few minutes to thirty minutes to finish. After the migration,
|
||||
a downgrade to an older version is only possible with a reindex.
|
||||
|
||||
Please note that seamless migration is only possible on nodes which did not
|
||||
reach the v19 fork block. Nodes that reached it can either rewind a couple
|
||||
of blocks back to a pre-v19 block using `invalidateblock` RPC while still
|
||||
running the old version or they can reindex instead.
|
||||
|
||||
## Downgrade warning
|
||||
|
||||
### Downgrade to a version < v19.2.0
|
||||
@ -46,81 +36,48 @@ reindex or re-sync the whole chain.
|
||||
|
||||
# Notable changes
|
||||
|
||||
## Resolve v19 Hard Fork Issues
|
||||
## CoinJoin improvements
|
||||
|
||||
One of the goals for the v19 Hard Fork was to activate basic BLS scheme and
|
||||
start using it in various on-chain and p2p messages. The motivation behind this
|
||||
change is the need to be aligned with IETF standards. Unfortunately, a few edge
|
||||
cases were missed in our functional tests and were not caught on testnet either.
|
||||
v19 activation attempt on mainnet hit one of these edge cases and mainnet
|
||||
stopped producing blocks. As an intermediate solution v19.1.0 was released which
|
||||
delayed the start of the signaling for the v19 Hard Fork until June 14th.
|
||||
This release fixes a couple of issues with mixing on nodes that start with no
|
||||
wallet loaded initially.
|
||||
|
||||
To resolve these issues we had to rework the way BLS public keys are handled
|
||||
including the way they are serialized in the internal database. This made it
|
||||
incompatible with older versions of Dash Core, so a db migration path was
|
||||
implemented for all recent versions.
|
||||
## Wallet GUI improvements
|
||||
|
||||
## Improve migration and historical data support on light clients
|
||||
Wallets with 100k+ txes should now be able to rescan without hanging forever
|
||||
while processing notifications for every tx. Running `keypoolrefill` with a
|
||||
large number of keys will no longer lockup the GUI and can be interrupted.
|
||||
Running `upgradetohd` can also be interrupted now.
|
||||
|
||||
As a side-effect, the solution implemented to resolve v19 Hard Fork issues
|
||||
opened a path to simplify v19 migration for mobile wallets.
|
||||
## Changes in RPCs, commands and config options
|
||||
|
||||
With previous implementation mobile wallets would have to convert 4k+ pubkeys
|
||||
at the v19 fork point and that can easily take 10-15 seconds if not more.
|
||||
Also, after the v19 Hard Fork, if a masternode list is requested from a block
|
||||
before the v19 Hard Fork, the operator keys were coming in basic BLS scheme,
|
||||
but the masternode merkleroot hash stored in coinbase transaction at that time
|
||||
was calculated with legacy BLS scheme. Hence it was impossible to verify the
|
||||
merkleroot hash.
|
||||
|
||||
To fix these issues a new field `nVersion` was introduced for every entry in
|
||||
`mnlistdiff` p2p message. This field indicates which BLS scheme should be used
|
||||
when deserialising the message - legacy or basic. `nVersion` of the `mnlistdiff`
|
||||
message itself will no longer indicate the scheme and must always be set to `1`.
|
||||
|
||||
## Improve mixing support on light clients
|
||||
|
||||
Recent changes to `dsq` and `dstx` messages allowed mobile clients that get
|
||||
masternode lists from `mnlistdiff` message to determine the masternode related
|
||||
to these messages because the `proTxHash` was used instead of the
|
||||
`masternodeOutpoint`. Once the v19 Hard Fork activates the signature of `dsq`
|
||||
and `dstx` messages will be based on the `proTxHash` which should make it
|
||||
possible for mobile clients to verify it.
|
||||
|
||||
## Allow keeping Chainlocks enabled without signing new ones
|
||||
|
||||
Before this version Chainlocks were either enabled or disabled. Starting with
|
||||
this version it's possible to set `SPORK_19_CHAINLOCKS_ENABLED` to a non-zero
|
||||
value to disable the signing of new Chainlocks while still enforcing the best
|
||||
known one.
|
||||
- `wipewallettxes`: New RPC command which removes all wallet transactions
|
||||
- `wipetxes`: New command for `dash-wallet` that removes all wallet transactions
|
||||
- `masternodelist`: New mode `hpmn` filters only HPMNs/EvoNodes
|
||||
- `protx list`: New type `hpmn` filters only HPMNs/EvoNodes
|
||||
- `-blockversion` config option is allowed on non-mainnet networks now
|
||||
|
||||
## Other changes
|
||||
|
||||
There were a few other minor changes too, specifically:
|
||||
- reindex on DB corruption should now start properly in Qt
|
||||
- a mnemonic passphrase longer than 256 symbols no longer crashes the wallet
|
||||
- a Qt node running with `-disablewawllet` flag should not crash in Settings now
|
||||
- `-masternodeblsprivkey` and `-sporkkey` values are no longer printed in
|
||||
`debug.log`
|
||||
- should use less memory in the long run comparing to older versions
|
||||
- gmp library detection should work better on macos
|
||||
- fixed a couple of typos
|
||||
- Added Kittywhiskers Van Gogh (kittywhiskers) and Odysseas Gabrielides
|
||||
(ogabrielides) to contributors list in 19.2.0 release notes
|
||||
- There should be no false "unknown rules activated" warning in GUI and RPCs now
|
||||
- Empty `settings.json` file no longer results in node startup failure
|
||||
- Block processing was slightly optimized
|
||||
- BLS library was updated to version 1.3.0 to fix a couple tiny issues
|
||||
- Fixed a couple of small issues in tests
|
||||
|
||||
# v19.2.0 Change log
|
||||
# v19.3.0 Change log
|
||||
|
||||
See detailed [set of changes](https://github.com/dashpay/dash/compare/v19.1.0...dashpay:v19.2.0).
|
||||
See detailed [set of changes](https://github.com/dashpay/dash/compare/v19.2.0...dashpay:v19.3.0).
|
||||
|
||||
# Credits
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Kittywhiskers Van Gogh (kittywhiskers)
|
||||
- Konstantin Akimov (knst)
|
||||
- Nathan Marley (nmarley)
|
||||
- Odysseas Gabrielides (ogabrielides)
|
||||
- PastaPastaPasta
|
||||
- thephez
|
||||
- UdjinM6
|
||||
|
||||
As well as everyone that submitted issues, reviewed pull requests and helped
|
||||
@ -148,7 +105,8 @@ Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12.
|
||||
|
||||
These release are considered obsolete. Old release notes can be found here:
|
||||
|
||||
- [v19.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released May/22/2023
|
||||
- [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
|
||||
- [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
|
||||
|
189
doc/release-notes/dash/release-notes-19.2.0.md
Normal file
189
doc/release-notes/dash/release-notes-19.2.0.md
Normal file
@ -0,0 +1,189 @@
|
||||
# Dash Core version v19.2.0
|
||||
|
||||
Release is now available from:
|
||||
|
||||
<https://www.dash.org/downloads/#wallets>
|
||||
|
||||
This is a new minor version release, bringing various bugfixes and other
|
||||
improvements.
|
||||
|
||||
This release is mandatory for all nodes. This release resolves issues around the
|
||||
v19 Hard Fork activation. All nodes must upgrade to continue syncing properly.
|
||||
|
||||
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
|
||||
dashd/dash-qt (on Linux). If you upgrade after DIP0003 activation and you were
|
||||
using version < 0.13 you will have to reindex (start with -reindex-chainstate
|
||||
or -reindex) to make sure your wallet has all the new data synced. Upgrading
|
||||
from version 0.13 should not require any additional actions.
|
||||
|
||||
At the first startup Dash Core will run a migration process which can take
|
||||
anywhere from a few minutes to thirty minutes to finish. After the migration,
|
||||
a downgrade to an older version is only possible with a reindex.
|
||||
|
||||
Please note that seamless migration is only possible on nodes which did not
|
||||
reach the v19 fork block. Nodes that reached it can either rewind a couple
|
||||
of blocks back to a pre-v19 block using `invalidateblock` RPC while still
|
||||
running the old version or they can reindex instead.
|
||||
|
||||
## Downgrade warning
|
||||
|
||||
### Downgrade to a version < v19.2.0
|
||||
|
||||
Downgrading to a version older than v19.2.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.
|
||||
|
||||
# Notable changes
|
||||
|
||||
## Resolve v19 Hard Fork Issues
|
||||
|
||||
One of the goals for the v19 Hard Fork was to activate basic BLS scheme and
|
||||
start using it in various on-chain and p2p messages. The motivation behind this
|
||||
change is the need to be aligned with IETF standards. Unfortunately, a few edge
|
||||
cases were missed in our functional tests and were not caught on testnet either.
|
||||
v19 activation attempt on mainnet hit one of these edge cases and mainnet
|
||||
stopped producing blocks. As an intermediate solution v19.1.0 was released which
|
||||
delayed the start of the signaling for the v19 Hard Fork until June 14th.
|
||||
|
||||
To resolve these issues we had to rework the way BLS public keys are handled
|
||||
including the way they are serialized in the internal database. This made it
|
||||
incompatible with older versions of Dash Core, so a db migration path was
|
||||
implemented for all recent versions.
|
||||
|
||||
## Improve migration and historical data support on light clients
|
||||
|
||||
As a side-effect, the solution implemented to resolve v19 Hard Fork issues
|
||||
opened a path to simplify v19 migration for mobile wallets.
|
||||
|
||||
With previous implementation mobile wallets would have to convert 4k+ pubkeys
|
||||
at the v19 fork point and that can easily take 10-15 seconds if not more.
|
||||
Also, after the v19 Hard Fork, if a masternode list is requested from a block
|
||||
before the v19 Hard Fork, the operator keys were coming in basic BLS scheme,
|
||||
but the masternode merkleroot hash stored in coinbase transaction at that time
|
||||
was calculated with legacy BLS scheme. Hence it was impossible to verify the
|
||||
merkleroot hash.
|
||||
|
||||
To fix these issues a new field `nVersion` was introduced for every entry in
|
||||
`mnlistdiff` p2p message. This field indicates which BLS scheme should be used
|
||||
when deserialising the message - legacy or basic. `nVersion` of the `mnlistdiff`
|
||||
message itself will no longer indicate the scheme and must always be set to `1`.
|
||||
|
||||
## Improve mixing support on light clients
|
||||
|
||||
Recent changes to `dsq` and `dstx` messages allowed mobile clients that get
|
||||
masternode lists from `mnlistdiff` message to determine the masternode related
|
||||
to these messages because the `proTxHash` was used instead of the
|
||||
`masternodeOutpoint`. Once the v19 Hard Fork activates the signature of `dsq`
|
||||
and `dstx` messages will be based on the `proTxHash` which should make it
|
||||
possible for mobile clients to verify it.
|
||||
|
||||
## Allow keeping Chainlocks enabled without signing new ones
|
||||
|
||||
Before this version Chainlocks were either enabled or disabled. Starting with
|
||||
this version it's possible to set `SPORK_19_CHAINLOCKS_ENABLED` to a non-zero
|
||||
value to disable the signing of new Chainlocks while still enforcing the best
|
||||
known one.
|
||||
|
||||
## Other changes
|
||||
|
||||
There were a few other minor changes too, specifically:
|
||||
- reindex on DB corruption should now start properly in Qt
|
||||
- a mnemonic passphrase longer than 256 symbols no longer crashes the wallet
|
||||
- a Qt node running with `-disablewawllet` flag should not crash in Settings now
|
||||
- `-masternodeblsprivkey` and `-sporkkey` values are no longer printed in
|
||||
`debug.log`
|
||||
- should use less memory in the long run comparing to older versions
|
||||
- gmp library detection should work better on macos
|
||||
- fixed a couple of typos
|
||||
|
||||
# v19.2.0 Change log
|
||||
|
||||
See detailed [set of changes](https://github.com/dashpay/dash/compare/v19.1.0...dashpay:v19.2.0).
|
||||
|
||||
# Credits
|
||||
|
||||
Thanks to everyone who directly contributed to this release:
|
||||
|
||||
- Kittywhiskers Van Gogh (kittywhiskers)
|
||||
- Konstantin Akimov (knst)
|
||||
- Nathan Marley (nmarley)
|
||||
- Odysseas Gabrielides (ogabrielides)
|
||||
- PastaPastaPasta
|
||||
- thephez
|
||||
- UdjinM6
|
||||
|
||||
As well as everyone that submitted issues, reviewed pull requests and helped
|
||||
debug the release candidates.
|
||||
|
||||
# Older releases
|
||||
|
||||
Dash was previously known as Darkcoin.
|
||||
|
||||
Darkcoin tree 0.8.x was a fork of Litecoin tree 0.8, original name was XCoin
|
||||
which was first released on Jan/18/2014.
|
||||
|
||||
Darkcoin tree 0.9.x was the open source implementation of masternodes based on
|
||||
the 0.8.x tree and was first released on Mar/13/2014.
|
||||
|
||||
Darkcoin tree 0.10.x used to be the closed source implementation of Darksend
|
||||
which was released open source on Sep/25/2014.
|
||||
|
||||
Dash Core tree 0.11.x was a fork of Bitcoin Core tree 0.9,
|
||||
Darkcoin was rebranded to Dash.
|
||||
|
||||
Dash Core tree 0.12.0.x was a fork of Bitcoin Core tree 0.10.
|
||||
|
||||
Dash Core tree 0.12.1.x was a fork of Bitcoin Core tree 0.12.
|
||||
|
||||
These release are considered obsolete. Old release notes can be found here:
|
||||
|
||||
- [v19.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-19.0.0.md) released May/22/2023
|
||||
- [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
|
Loading…
Reference in New Issue
Block a user