diff --git a/configure.ac b/configure.ac index b875969814f4..65d7051337f7 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 13) -define(_CLIENT_VERSION_REVISION, 1) +define(_CLIENT_VERSION_REVISION, 2) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2018) diff --git a/doc/Doxyfile b/doc/Doxyfile index 4cad2d4a44a8..7b6f9021c617 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -41,7 +41,7 @@ PROJECT_NAME = "Dash Core" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.13.1.0 +PROJECT_NUMBER = 0.13.2.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/doc/release-notes.md b/doc/release-notes.md index 84c033707e82..7b4c9ae46e04 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -1,4 +1,4 @@ -Dash Core version 0.13.1.0 +Dash Core version 0.13.2.0 ========================== Release is now available from: @@ -26,7 +26,7 @@ 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 do not require any additional actions (no need to issue +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 @@ -34,71 +34,97 @@ Downgrade warning ### Downgrade to a version < 0.13.0.0 -Downgrading to a version smaller than 0.13 is only supported as long as DIP2/DIP3 -has not been activated. Activation will happen when enough miners signal compatibility -through a BIP9 (bit 3) deployment. +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 +### 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.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 =============== -DIP0003 block signaling ------------------------ -Miners running v0.13.1.0 are going to signal DIP3 regardles of the readiness of the corresponding masternode. -With 70%+ masternodes already running on v0.13.0.0 we believe it's safe to slightly speed up the migration -this way. This is fully backwards compatible and no update is required for (non-mining) nodes running on v0.13.0.0. - -GUI changes ------------ -Masternodes tab has a new checkbox that should filter masternode list by using keys stored in the wallet. -This should make it much easier for masternode owners to find their masternodes in the list. +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 ----------- -There is a new RPC command `getspecialtxes` which returns an array of special transactions found in the specified -block with different level of verbosity. Also, various `protx` commands show extended help text for each parameter -now (instead of referencing `protx register`). +`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: -- Block size should be calculated correctly for blocks with quorum commitments when constructing new block; -- Special transactions should be checked for mempool acceptance at the right time (nodes could ban each other -in some rare cases otherwise); -- Signature verification and processing of special transactions is decoupled to avoid any potential issues. +- 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.1.0 Change log + 0.13.2.0 Change log =================== -See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.13.0.0...dashpay:v0.13.1.0). +See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.13.1.0...dashpay:v0.13.2.0). ### Backports -- [`da5a861c0`](https://github.com/dashpay/dash/commit/da5a861c0) Change the way invalid ProTxes are handled in `addUnchecked` and `existsProviderTxConflict` (#2691) -- [`6ada90c11`](https://github.com/dashpay/dash/commit/6ada90c11) Call existsProviderTxConflict after CheckSpecialTx (#2690) -- [`23eb70cb7`](https://github.com/dashpay/dash/commit/23eb70cb7) Add getspecialtxes rpc (#2668) -- [`023f8a01a`](https://github.com/dashpay/dash/commit/023f8a01a) Fix bench log for payee and special txes (#2678) -- [`8961a6acc`](https://github.com/dashpay/dash/commit/8961a6acc) Stop checking MN protocol version before signalling DIP3 (#2684) -- [`e18916386`](https://github.com/dashpay/dash/commit/e18916386) Add missing help text for `operatorPayoutAddress` (#2679) -- [`0d8cc0761`](https://github.com/dashpay/dash/commit/0d8cc0761) Invoke CheckSpecialTx after all normal TX checks have passed (#2673) -- [`592210daf`](https://github.com/dashpay/dash/commit/592210daf) Bump block stats when adding commitment tx into block (#2654) -- [`070ad103f`](https://github.com/dashpay/dash/commit/070ad103f) Wait for script checks to finish before messing with txes in Dash-specific way (#2652) -- [`3a3586d5a`](https://github.com/dashpay/dash/commit/3a3586d5a) Use helper function to produce help text for params of `protx` rpcs (#2649) -- [`332e0361c`](https://github.com/dashpay/dash/commit/332e0361c) Add checkbox to show only masternodes the wallet has keys for (#2627) +- [`2516a6e19`](https://github.com/dashpay/dash/commit/2516a6e19) Bump version to 0.13.2 +- [`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 -- [`bd0de4876`](https://github.com/dashpay/dash/commit/bd0de4876) Bump version to 0.13.1 (#2686) +- [`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 +- Alexander Block (codablock) +- Felix Yan (felixonmars) +- PastaPastaPasta - UdjinM6 As well as everyone that submitted issues and reviewed pull requests. @@ -126,6 +152,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: +- [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 diff --git a/doc/release-notes/dash/release-notes-0.13.1.md b/doc/release-notes/dash/release-notes-0.13.1.md new file mode 100644 index 000000000000..84c033707e82 --- /dev/null +++ b/doc/release-notes/dash/release-notes-0.13.1.md @@ -0,0 +1,144 @@ +Dash Core version 0.13.1.0 +========================== + +Release is now available from: + + + +This is a new minor version release, bringing various bugfixes and other improvements. + +Please report bugs using the issue tracker at github: + + + + +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 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 only supported as long as DIP2/DIP3 +has not been activated. Activation will happen when enough miners signal compatibility +through a BIP9 (bit 3) deployment. + +### Downgrade to 0.13.0.0 + +Downgrading to 0.13.0.0 is fully supported but is not recommended unless you have some serious issues with 0.13.1.0. + +Notable changes +=============== + +DIP0003 block signaling +----------------------- +Miners running v0.13.1.0 are going to signal DIP3 regardles of the readiness of the corresponding masternode. +With 70%+ masternodes already running on v0.13.0.0 we believe it's safe to slightly speed up the migration +this way. This is fully backwards compatible and no update is required for (non-mining) nodes running on v0.13.0.0. + +GUI changes +----------- +Masternodes tab has a new checkbox that should filter masternode list by using keys stored in the wallet. +This should make it much easier for masternode owners to find their masternodes in the list. + +RPC changes +----------- +There is a new RPC command `getspecialtxes` which returns an array of special transactions found in the specified +block with different level of verbosity. Also, various `protx` commands show extended help text for each parameter +now (instead of referencing `protx register`). + +Bug fixes/Other improvements +---------------------------- +There are few bug fixes in this release: +- Block size should be calculated correctly for blocks with quorum commitments when constructing new block; +- Special transactions should be checked for mempool acceptance at the right time (nodes could ban each other +in some rare cases otherwise); +- Signature verification and processing of special transactions is decoupled to avoid any potential issues. + + 0.13.1.0 Change log +=================== + +See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.13.0.0...dashpay:v0.13.1.0). + +### Backports + +- [`da5a861c0`](https://github.com/dashpay/dash/commit/da5a861c0) Change the way invalid ProTxes are handled in `addUnchecked` and `existsProviderTxConflict` (#2691) +- [`6ada90c11`](https://github.com/dashpay/dash/commit/6ada90c11) Call existsProviderTxConflict after CheckSpecialTx (#2690) +- [`23eb70cb7`](https://github.com/dashpay/dash/commit/23eb70cb7) Add getspecialtxes rpc (#2668) +- [`023f8a01a`](https://github.com/dashpay/dash/commit/023f8a01a) Fix bench log for payee and special txes (#2678) +- [`8961a6acc`](https://github.com/dashpay/dash/commit/8961a6acc) Stop checking MN protocol version before signalling DIP3 (#2684) +- [`e18916386`](https://github.com/dashpay/dash/commit/e18916386) Add missing help text for `operatorPayoutAddress` (#2679) +- [`0d8cc0761`](https://github.com/dashpay/dash/commit/0d8cc0761) Invoke CheckSpecialTx after all normal TX checks have passed (#2673) +- [`592210daf`](https://github.com/dashpay/dash/commit/592210daf) Bump block stats when adding commitment tx into block (#2654) +- [`070ad103f`](https://github.com/dashpay/dash/commit/070ad103f) Wait for script checks to finish before messing with txes in Dash-specific way (#2652) +- [`3a3586d5a`](https://github.com/dashpay/dash/commit/3a3586d5a) Use helper function to produce help text for params of `protx` rpcs (#2649) +- [`332e0361c`](https://github.com/dashpay/dash/commit/332e0361c) Add checkbox to show only masternodes the wallet has keys for (#2627) + +### Other + +- [`bd0de4876`](https://github.com/dashpay/dash/commit/bd0de4876) Bump version to 0.13.1 (#2686) + +Credits +======= + +Thanks to everyone who directly contributed to this release: + +- Alexander Block +- 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.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 + diff --git a/src/clientversion.h b/src/clientversion.h index 599b8c26110f..575fffb5174e 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,7 +16,7 @@ //! These need to be macros, as clientversion.cpp's and dash*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 13 -#define CLIENT_VERSION_REVISION 1 +#define CLIENT_VERSION_REVISION 2 #define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build