Merge pull request #2842 from UdjinM6/mergemaster133develop

Merge master v0.13.3 into develop
This commit is contained in:
UdjinM6 2019-04-08 08:05:42 +03:00 committed by GitHub
commit 2c72c075af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 206 additions and 66 deletions

View File

@ -1,4 +1,4 @@
Dash Core version 0.13.2.0 Dash Core version 0.13.3.0
========================== ==========================
Release is now available from: Release is now available from:
@ -25,9 +25,9 @@ dashd/dash-qt (on Linux). If you upgrade after DIP0003 activation you will
have to reindex (start with -reindex-chainstate or -reindex) to make sure have to reindex (start with -reindex-chainstate or -reindex) to make sure
your wallet has all the new data synced (only if you were using version < 0.13). your wallet has all the new data synced (only if you were using version < 0.13).
Note that there is no protocol bump in this version and thus active masternodes As spork15 has been activated on mainnet, there is no need for `masternode start`
updating from v0.13.0.0 or v0.13.1.0 do not require any additional actions (no need to issue anymore. Upgrading a masternode now only involves replacing binaries and restarting
`masternode start` command). the node.
Downgrade warning Downgrade warning
----------------- -----------------
@ -37,86 +37,54 @@ Downgrade warning
Downgrading to a version smaller than 0.13 is not supported anymore as DIP2/DIP3 has activated Downgrading to a version smaller than 0.13 is not supported anymore as DIP2/DIP3 has activated
on mainnet and testnet. on mainnet and testnet.
### Downgrade to 0.13.0.0 or 0.13.1.0 ### Downgrade to a version < 0.13.3.0
Downgrading to 0.13.0.0 is fully supported but is not recommended unless you have some serious issues with 0.13.2.0. Downgrading to previous 0.13 releases is fully supported but is not recommended unless you have some serious issues with 0.13.3.0.
Notable changes Notable changes
=============== ===============
Providing "masternodeblsprivkey" is now mandatory when the node is launched as a masternode ("masternode=1") Number of false-positives from anti virus software should be reduced
------------------------------------------------------------------------ --------------------------------------------------------------------
In previous versions, "masternodeblsprivkey" was not mandatory as these versions had to function with and without DIP3 We have removed all mining code from Windows and Mac binaries, which should avoid most of the false-positive alerts
activation. Now that DIP3 has activated on mainnet and testnet, we can make "masternodeblsprivkey" mandatory when from anti virus software. Linux builds are not affected. The mining code found in `dash-qt` and `dashd` are only meant
configuring and running a masternode. Please note that your masternode will fail to start when "masternodeblsprivkey" for regression/integration tests and devnets, so there is no harm in removing this code from non-linux builds.
is not specified. This also means that 0.13.2.0 will only work with masternodes which have already registered their
DIP3 masternode. This enforcement was added to catch misconfigurations of masternodes which would otherwise stay
unnoticed until spork 15 activation and thus surprise and hurt masternode owners.
Fix for consistency issues after sudden stopping of node Fixed an issue with invalid merkle blocks causing SPV nodes to ban other nodes
-------------------------------------------------------- ------------------------------------------------------------------------------
Previous versions resulted in inconsistency between the chainstate and evodb when the node crashed or otherwise suddenly A fix that was introduces in the last minor version caused creation of invalid merkle blocks, which in turn cause SPV
stopped (e.g. power failure). This should be fixed in 0.13.2.0. nodes to ban 0.13.2 nodes. This can be observed on mobile clients which have troubles maintaining connections. This
release fixes this issue and should allow SPV/mobile clients to sync with upgraded nodes.
Fix for litemode nodes to not reject specific DIP3 transactions Hardened spork15 value to 1047200
--------------------------------------------------------------- ---------------------------------
Previous versions might cause litemode nodes to reject the mainnet chain after spork 15 activation. This is due to a We've hardened the spork15 block height to 1047200, which makes sure that syncing from scratch will always work, no
consensus rule being less strict in one specific case when spork 15 is active. Litemode nodes can not know about the matter if spork15 is received in-time or not.
change in consensus rules as they have no knowledge about sporks. In 0.13.2.0, when litemode is enabled, we default to the
behaviour of activated spork15 in this specific case, which fixes the issue. The restriction will be completely removed
in the next major release.
Fix incorrect behavior for "protx diff" and the P2P message "GETMNLISTDIFF"
---------------------------------------------------------------------------
Both were responding with errors when "0" was used as base block hash. DIP4 defines "0" to be equivalent with the
genesis block, so that it's easy for peers to request the full masternode list.
This is mostly important for SPV nodes (e.g. mobile wallets) which need the masternode list. Right now, all nodes in
the network will respond with an error when "0" is provided in "GETMNLISTDIFF". Until enough masternodes have upgraded
to 0.13.2.0, SPV nodes should use the full genesis hash to circumvent the error.
Exclusion of LLMQ quorum commitments from partial blocks
--------------------------------------------------------
SPV nodes are generally not interested in non-financial special transactions in blocks, so we're omitting them now when
sending partial/filtered blocks to SPV clients. This currently only filters LLMQ quorum commitments, which also caused
some SPV implementations to ban nodes as they were not able to process these. DIP3 transactions (ProRegTx, ProUpRegTx, ...)
are not affected and are still included in partial/filtered blocks as these might also move funds.
RPC changes
-----------
`masternode list json` and `protx list` will now include the collateral address of masternodes.
Bug fixes/Other improvements Bug fixes/Other improvements
---------------------------- ----------------------------
There are few bug fixes in this release: There are few bug fixes in this release:
- Fixed a crash on shutdown - Fixed an issue with transaction sometimes not being fully zapped when `-zapwallettxes` is used
- Fixed a misleading error message in the RPC "protx update_registrar" - Fixed an issue with the `protx revoke` RPC and REASON_CHANGE_OF_KEYS
- Slightly speed up initial sync by not running DIP3 logic in old blocks
- Add build number (CLIENT_VERSION_BUILD) to MacOS bundle information
0.13.2.0 Change log 0.13.3.0 Change log
=================== ===================
See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.13.1.0...dashpay:v0.13.2.0). See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.13.2.0...dashpay:v0.13.3.0).
### Backports ### Backports
- [`548a48918`](https://github.com/dashpay/dash/commit/548a48918) Move IS block filtering into ConnectBlock (#2766) - [`575cafc01`](https://github.com/dashpay/dash/commit/575cafc01) Do not skip pushing of vMatch and vHashes in CMerkleBlock (#2826)
- [`6374dce99`](https://github.com/dashpay/dash/commit/6374dce99) Fix error message for invalid voting addresses (#2747) - [`8c58799d8`](https://github.com/dashpay/dash/commit/8c58799d8) There can be no two votes which differ by the outcome only (#2819)
- [`25222b378`](https://github.com/dashpay/dash/commit/25222b378) Make -masternodeblsprivkey mandatory when -masternode is given (#2745) - [`66c2f3953`](https://github.com/dashpay/dash/commit/66c2f3953) Fix vote ratecheck (#2813)
- [`0364e033a`](https://github.com/dashpay/dash/commit/0364e033a) Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744) - [`b52d0ad19`](https://github.com/dashpay/dash/commit/b52d0ad19) Fix revoke reason check for ProUpRevTx (#2787)
- [`a11e2f9eb`](https://github.com/dashpay/dash/commit/a11e2f9eb) Add collateraladdress into masternode/protx list rpc output (#2740) - [`35914e084`](https://github.com/dashpay/dash/commit/35914e084) Skip mempool.dat when wallet is starting in "zap" mode (#2782)
- [`43612a272`](https://github.com/dashpay/dash/commit/43612a272) Only include selected TX types into CMerkleBlock (#2737) - [`46d875100`](https://github.com/dashpay/dash/commit/46d875100) Disable in-wallet miner for win/macos Travis/Gitian builds (#2778)
- [`f868fbc78`](https://github.com/dashpay/dash/commit/f868fbc78) Stop g_connman first before deleting it (#2734)
- [`9e233f391`](https://github.com/dashpay/dash/commit/9e233f391) Fix incorrect usage of begin() when genesis block is requested in "protx diff" (#2699)
- [`e75f971b9`](https://github.com/dashpay/dash/commit/e75f971b9) Do not process blocks in CDeterministicMNManager before dip3 activation (#2698)
- [`1cc47ebcd`](https://github.com/dashpay/dash/commit/1cc47ebcd) Backport #14701: build: Add CLIENT_VERSION_BUILD to CFBundleGetInfoString (#2687)
### Other ### Other
- [`2516a6e19`](https://github.com/dashpay/dash/commit/2516a6e19) Bump version to 0.13.2 - [`25038ff36`](https://github.com/dashpay/dash/commit/25038ff36) Bump version to 0.13.3.0
- [`9dd16cdbe`](https://github.com/dashpay/dash/commit/9dd16cdbe) Bump minChainWork and AssumeValid to block #1033120 (#2750) - [`53b2162e2`](https://github.com/dashpay/dash/commit/53b2162e2) Harden spork15 value to 1047200 when on mainnet (#2830)
- [`18f087b27`](https://github.com/dashpay/dash/commit/18f087b27) Fix some typos in doc/guide-startmany.md (#2711)
- [`709ab6d3e`](https://github.com/dashpay/dash/commit/709ab6d3e) Minimal fix for litemode vs bad-protx-key-not-same issue (#2694)
Credits Credits
======= =======
@ -124,8 +92,7 @@ Credits
Thanks to everyone who directly contributed to this release: Thanks to everyone who directly contributed to this release:
- Alexander Block (codablock) - Alexander Block (codablock)
- Felix Yan (felixonmars) - gladcow
- PastaPastaPasta
- UdjinM6 - UdjinM6
As well as everyone that submitted issues and reviewed pull requests. As well as everyone that submitted issues and reviewed pull requests.
@ -153,6 +120,7 @@ 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: These release are considered obsolete. Old release notes can be found here:
- [v0.13.2.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.2.0.md) released Mar/15/2019
- [v0.13.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.0.md) released Feb/9/2019 - [v0.13.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.0.md) released Feb/9/2019
- [v0.13.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.0.md) released Jan/14/2019 - [v0.13.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.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.4](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.3.4.md) released Dec/14/2018

View File

@ -0,0 +1,172 @@
Dash Core version 0.13.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.
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 you will
have to reindex (start with -reindex-chainstate or -reindex) to make sure
your wallet has all the new data synced (only if you were using version < 0.13).
Note that there is no protocol bump in this version and thus active masternodes
updating from v0.13.0.0 or v0.13.1.0 do not require any additional actions (no need to issue
`masternode start` command).
Downgrade warning
-----------------
### Downgrade to a version < 0.13.0.0
Downgrading to a version smaller than 0.13 is not supported anymore as DIP2/DIP3 has activated
on mainnet and testnet.
### Downgrade to 0.13.0.0 or 0.13.1.0
Downgrading to 0.13.0.0 is fully supported but is not recommended unless you have some serious issues with 0.13.2.0.
Notable changes
===============
Providing "masternodeblsprivkey" is now mandatory when the node is launched as a masternode ("masternode=1")
------------------------------------------------------------------------
In previous versions, "masternodeblsprivkey" was not mandatory as these versions had to function with and without DIP3
activation. Now that DIP3 has activated on mainnet and testnet, we can make "masternodeblsprivkey" mandatory when
configuring and running a masternode. Please note that your masternode will fail to start when "masternodeblsprivkey"
is not specified. This also means that 0.13.2.0 will only work with masternodes which have already registered their
DIP3 masternode. This enforcement was added to catch misconfigurations of masternodes which would otherwise stay
unnoticed until spork 15 activation and thus surprise and hurt masternode owners.
Fix for consistency issues after sudden stopping of node
--------------------------------------------------------
Previous versions resulted in inconsistency between the chainstate and evodb when the node crashed or otherwise suddenly
stopped (e.g. power failure). This should be fixed in 0.13.2.0.
Fix for litemode nodes to not reject specific DIP3 transactions
---------------------------------------------------------------
Previous versions might cause litemode nodes to reject the mainnet chain after spork 15 activation. This is due to a
consensus rule being less strict in one specific case when spork 15 is active. Litemode nodes can not know about the
change in consensus rules as they have no knowledge about sporks. In 0.13.2.0, when litemode is enabled, we default to the
behaviour of activated spork15 in this specific case, which fixes the issue. The restriction will be completely removed
in the next major release.
Fix incorrect behavior for "protx diff" and the P2P message "GETMNLISTDIFF"
---------------------------------------------------------------------------
Both were responding with errors when "0" was used as base block hash. DIP4 defines "0" to be equivalent with the
genesis block, so that it's easy for peers to request the full masternode list.
This is mostly important for SPV nodes (e.g. mobile wallets) which need the masternode list. Right now, all nodes in
the network will respond with an error when "0" is provided in "GETMNLISTDIFF". Until enough masternodes have upgraded
to 0.13.2.0, SPV nodes should use the full genesis hash to circumvent the error.
Exclusion of LLMQ quorum commitments from partial blocks
--------------------------------------------------------
SPV nodes are generally not interested in non-financial special transactions in blocks, so we're omitting them now when
sending partial/filtered blocks to SPV clients. This currently only filters LLMQ quorum commitments, which also caused
some SPV implementations to ban nodes as they were not able to process these. DIP3 transactions (ProRegTx, ProUpRegTx, ...)
are not affected and are still included in partial/filtered blocks as these might also move funds.
RPC changes
-----------
`masternode list json` and `protx list` will now include the collateral address of masternodes.
Bug fixes/Other improvements
----------------------------
There are few bug fixes in this release:
- Fixed a crash on shutdown
- Fixed a misleading error message in the RPC "protx update_registrar"
- Slightly speed up initial sync by not running DIP3 logic in old blocks
- Add build number (CLIENT_VERSION_BUILD) to MacOS bundle information
0.13.2.0 Change log
===================
See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.13.1.0...dashpay:v0.13.2.0).
### Backports
- [`548a48918`](https://github.com/dashpay/dash/commit/548a48918) Move IS block filtering into ConnectBlock (#2766)
- [`6374dce99`](https://github.com/dashpay/dash/commit/6374dce99) Fix error message for invalid voting addresses (#2747)
- [`25222b378`](https://github.com/dashpay/dash/commit/25222b378) Make -masternodeblsprivkey mandatory when -masternode is given (#2745)
- [`0364e033a`](https://github.com/dashpay/dash/commit/0364e033a) Implement 2-stage commit for CEvoDB to avoid inconsistencies after crashes (#2744)
- [`a11e2f9eb`](https://github.com/dashpay/dash/commit/a11e2f9eb) Add collateraladdress into masternode/protx list rpc output (#2740)
- [`43612a272`](https://github.com/dashpay/dash/commit/43612a272) Only include selected TX types into CMerkleBlock (#2737)
- [`f868fbc78`](https://github.com/dashpay/dash/commit/f868fbc78) Stop g_connman first before deleting it (#2734)
- [`9e233f391`](https://github.com/dashpay/dash/commit/9e233f391) Fix incorrect usage of begin() when genesis block is requested in "protx diff" (#2699)
- [`e75f971b9`](https://github.com/dashpay/dash/commit/e75f971b9) Do not process blocks in CDeterministicMNManager before dip3 activation (#2698)
- [`1cc47ebcd`](https://github.com/dashpay/dash/commit/1cc47ebcd) Backport #14701: build: Add CLIENT_VERSION_BUILD to CFBundleGetInfoString (#2687)
### Other
- [`2516a6e19`](https://github.com/dashpay/dash/commit/2516a6e19) Bump version to 0.13.2
- [`9dd16cdbe`](https://github.com/dashpay/dash/commit/9dd16cdbe) Bump minChainWork and AssumeValid to block #1033120 (#2750)
- [`18f087b27`](https://github.com/dashpay/dash/commit/18f087b27) Fix some typos in doc/guide-startmany.md (#2711)
- [`709ab6d3e`](https://github.com/dashpay/dash/commit/709ab6d3e) Minimal fix for litemode vs bad-protx-key-not-same issue (#2694)
Credits
=======
Thanks to everyone who directly contributed to this release:
- Alexander Block (codablock)
- Felix Yan (felixonmars)
- PastaPastaPasta
- UdjinM6
As well as everyone that submitted issues and reviewed pull requests.
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:
- [v0.13.1.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.1.0.md) released Feb/9/2019
- [v0.13.0.0](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.13.0.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