neobytes/doc/release-notes/dash/release-notes-0.14.0.3.md
Alexander Block 5f98ed7a5a [v0.14.0.x] Bump version to 0.14.0.4 and draft release notes (#3203)
* Bump version to 0.14.0.4

* Run gen-manpages.sh to update versions

* Prepare release notes for 0.14.0.4

* Add first draft of "Notable Changes"

* Handle review comments
2019-11-21 13:04:16 +03:00

10 KiB

Dash Core version 0.14.0.3

Release is now available from:

https://www.dash.org/downloads/#wallets

This is a new minor version release, bringing various bugfixes and 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 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.

Due to the changes in the "evodb" database format introduced in this release, the first startup of Dash Core will run a migration process which can take a few minutes to finish. After the migration, a downgrade to an older version is only possible with a reindex (or reindex-chainstate).

Downgrade warning

Downgrade to a version < 0.14.0.3

Downgrading to a version smaller than 0.14.0.3 is not supported anymore due to changes in the "evodb" database format. If you need to use an older version, you have to perform a reindex or re-sync the whole chain.

Notable changes

Database space usage improvements

Version 0.13.0.0 introduced a new database (evodb) which is found in the datadir of Dash Core. It turned out that this database grows quite fast when a lot of changes inside the deterministic masternode list happen, which is for example the case when a lot PoSe punishing/banning is happening. Such a situation happened immediately after the activation LLMQ DKGs, causing the database to grow a lot. This release introduces a new format in which information in "evodb" is stored, which causes it grow substantially slower.

Version 0.14.0.0 also introduced a new database (llmq) which is also found in the datadir of Dash Core. This database stores all LLMQ signatures for 7 days. After 7 days, a cleanup task removes old signatures. The idea was that the "llmq" database would grow in the beginning and then stay at an approximately constant size. The recent stress test on mainnet has however shown that the database grows too much and causes a risk of out-of-space situations. This release will from now also remove signatures when the corresponding InstantSend lock is fully confirmed on-chain (superseded by a ChainLock). This should remove >95% of all signatures from the database. After the upgrade, no space saving will be observed however as this logic is only applied to new signatures, which means that it will take 7 days until the whole "llmq" database gets to its minimum size.

DKG and LLMQ signing failures fixed

Recent stress tests have shown that masternodes start to ban each other under high load and specific situations. This release fixes this and thus makes it a highly recommended upgrade for masternodes.

MacOS: macOS: disable AppNap during sync and mixing

AppNap is disabled now when Dash Core is syncing/reindexing or mixing.

Signed binaries for Windows

This release is the first one to include signed binaries for Windows.

New RPC command: quorum memberof

This RPC allows you to verify which quorums a masternode is supposed to be a member of. It will also show if the masternode succesfully participated in the DKG process.

More information about number of InstantSend locks

The debug console will now show how many InstantSend locks Dash Core knows about. Please note that this number does not necessarily equal the number of mempool transactions.

The "getmempoolinfo" RPC also has a new field now which shows the same information.

0.14.0.3 Change log

See detailed set of changes.

  • f2443709b Update release-notes.md for 0.14.0.3 (#3054)
  • 17ba23871 Re-verify invalid IS sigs when the active quorum set rotated (#3052)
  • 8c49d9b54 Remove recovered sigs from the LLMQ db when corresponding IS locks get confirmed (#3048)
  • 2e0cf8a30 Add "instantsendlocks" to getmempoolinfo RPC (#3047)
  • a8fb8252e Use fEnablePrivateSend instead of fPrivateSendRunning
  • a198a04e0 Show number of InstantSend locks in Debug Console (#2919)
  • 013169d63 Optimize on-disk deterministic masternode storage to reduce size of evodb (#3017)
  • 9ac7a998b Add "isValidMember" and "memberIndex" to "quorum memberof" and allow to specify quorum scan count (#3009)
  • 99824a879 Implement "quorum memberof" (#3004)
  • 7ea319fd2 Bail out properly on Evo DB consistency check failures in ConnectBlock/DisconnectBlock (#3044)
  • b1ffedb2d Do not count 0-fee txes for fee estimation (#3037)
  • 974055a9b Fix broken link in PrivateSend info dialog (#3031)
  • 781b16579 Merge pull request #3028 from PastaPastaPasta/backport-12588
  • 5af6ce91d Add Dash Core Group codesign certificate (#3027)
  • 873ab896c Fix osslsigncode compile issue in gitian-build (#3026)
  • ea8569e97 Backport #12783: macOS: disable AppNap during sync (and mixing) (#3024)
  • 4286dde49 Remove support for InstantSend locked gobject collaterals (#3019)
  • 788d42dbc Bump version to 0.14.0.3 and copy release notes (#3053)

Credits

Thanks to everyone who directly contributed to this release:

  • Alexander Block (codablock)
  • Nathan Marley (nmarley)
  • PastaPastaPasta
  • strophy
  • 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: