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
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). Because of the per-UTXO fix (see below) there is a one-time database upgrade operation, so expect a slightly longer startup time on the first run.
Because release 0.12.2.2 includes the per-UTXO fix (see below) which changes the structure of the internal database, this release is not fully backwards compatible. You will have to reindex the database if you decide to use any previous version.
This does not affect wallet forward or backward compatibility.
This fixes a potential vulnerability, so called 'Corebleed', which was demonstrated this summer at the Вrеаkіng Віtсоіn Соnfеrеnсе іn Раrіs. The DoS can cause nodes to allocate excessive amounts of memory, which leads them to a halt. You can read more about the fix in the original Bitcoin Core pull request bitcoin#10195
To fix this issue in Dash Core however, we had to backport a lot of other improvements from Bitcoin Core, see full list of backports in the detailed change log below.
If you were using additional indexes like addressindex
, spentindex
or
timestampindex
it's possible that they are not accurate. Please consider
reindexing the database by starting your node with -reindex
command line
option. This is a one-time operation, the issue should be fixed now.
InstantSend should work with multisig addresses now.
Some internal data structures were not cleared properly, which could lead to a slightly higher memory consumption over a long period of time. This was a minor issue which was not affecting mixing speed or user privacy in any way.
Keeping a wallet with 1000 DASH unlocked for 24/7 is definitely not a good idea anymore. Because of this fact, it's also no longer reasonable to update and test this feature, so it's completely removed now. If for some reason you were still using it, please follow one of the guides and setup a remote masternode instead.
Connections from peers with protocol lower than 70208 are no longer accepted.
As a result of previous intensive refactoring and some additional fixes,
it should be possible to compile Dash Core with --disable-wallet
option now.
This release also improves sync process and significantly lowers the time after
which getblocktemplate
rpc becomes available on node start.
And as usual, various small bugs and typos were fixed and more refactoring was done too.
See detailed change log below.
996f5103a
Backport #7056: Save last db read23fe35a18
Backport #7756: Add cursor to iterate over utxo set, use this ingettxoutsetinfo
17f2ea5d7
Backport #7904: txdb: Fix assert crash in new UTXO set cursor2e54bd2e8
Backport #7927: Minor changes to dbwrapper to simplify support for other databasesabaf524f0
Backport #7815: Break circular dependency main ↔ txdb02a6cef94
Move index structures into spentindex.hd92b454a2
Add SipHash-2-4 primitives to hash44526af95
Use SipHash-2-4 for CCoinsCache index60e6a602e
Use C++11 thread-safe static initializers in coins.h/coins.cpp753cb1563
Backport #7874: Improve AlreadyHave952383e16
Backport #7933: Fix OOM when deserializing UTXO entries with invalid lengthe3b7ed449
Backport #8273: Bump-dbcache
default to 300MiB94e01eb66
Backport #8467: [Trivial] Do not shadow members in dbwrapper105fd1815
Use fixed preallocation instead of costly GetSerializeSize6fbe93aa7
Backport #9307: Remove undefined FetchCoins method declaration6974f1723
Backport #9346: Batch construct batches4b4d22293
Backport #9308: [test] Add CCoinsViewCache Access/Modify/Write testsa589c94a9
Backport #9107: Safer modify new coins09b3e042f
Backport #9310: Assert FRESH validity in CCoinsViewCache::BatchWriteceb64fcd4
Backport #8610: Share unused mempool memory with coincache817ecc03d
Backport #9353: Add data() method to CDataStream (and use it)249db2776
Backport #9999: [LevelDB] Plug leveldb logs to bitcoin logscfefd34f4
Backport #10126: Compensate for memory peak at flush timeff9b2967a
Backport #10133: Clean up calculations of pcoinsTip memory usage567043d36
Make DisconnectBlock and ConnectBlock static in validation.cpp9a266e68d
Backport #10297: Simplify DisconnectBlock arguments/return valuefc5ced317
Backport #10445: Add test for empty chain and reorg consistency for gettxoutsetinfo.6f1997182
Add COMPACTSIZE wrapper similar to VARINT for serializationb06a6a2e7
Fix use of missing self.log in blockchain.py8ed672219
Backport #10250: Fix some empty vector referencesafa96b7c1
Backport #10249: Switch CCoinsMap from boost to std unordered_mapc81394b97
Backport #10195: Switch chainstate db and cache to per-txout modeld4562b5e5
Fix CCoinsViewCache::GetPriority to use new per-utxo92bb65894
Fix address index to use new per-utxo DB9ad56fe18
Dash related fixes for per-utxo DB4f807422f
Backport #10550: Don't return stale data from CCoinsViewCache::Cursor()151c552c7
Backport #10537: Few Minor per-utxo assert-semantics re-adds and tweak06aa02ff6
Backport #10559: Change semantics of HaveCoinInCache to match HaveCoin549839a50
Backport #10581: Simplify return values of GetCoin/HaveCoin(InCache)5b232161a
Backport #10558: Address nits from per-utxo change1a9add78c
Backport #10660: Allow to cancel the txdb upgrade via splashscreen keypress 'q'4102211a3
Backport #10526: Force on-the-fly compaction during pertxout upgrade8780c762e
Backport #10985: Add undocumented -forcecompactdb to force LevelDB compactions4cd19913d
Backport #10998: Fix upgrade cancel warnings371feda4c
Backport #11529: Avoid slow transaction search with txindex enabledcdb2b1944
build: quiet annoying warnings without adding new onesfee05dab9
build: silence gcc7's implicit fallthrough warning
312663b4b
Remove support for local masternodes (#1706)
7e96af4e6
Refactor PrivateSend (#1735)f4502099a
make CheckDSTXes() private, execute it on both client and server (#1736)
4802a1fb7
Allow IS for all txes, not only for txes with p2pkh and data outputs (#1760)f37a64208
InstantSend txes should never qualify to be a 0-fee txes (#1777)
5d58dd90c
Make sure to clear setAskFor in Dash submodules (#1730)328009749
fine-tune sync conditions in getblocktemplate (#1739)362becbcc
Bump MIN_PEER_PROTO_VERSION to 70208 (#1772)930afd7df
Fix mnp and mnv invs (#1775)63e306148
Improve sync (#1779)a79c97248
Fix ProcessVerifyBroadcast (#1780)
c166ed39b
Allow compilation with--disable-wallet
(#1733)31bc9d4ee
Show test progress for tests running in wine to avoid Travis timeout (#1740)32f21698e
Adjust tests to avoid Travis timeouts (#1745)837c4fc5d
Force rcc to use resource format version 1. (#1784)
bc8342558
Two small fixes in docs (#1746)9e7cc56cb
Fix typo in release-notes.md (#1759)3f3705c47
[Trivial] Typo/doc updates and RPC help formatting (#1758)e96da9f19
move 0.12.2 release notes6915ee45e
Bump version in README.md to 0.12.2 (#1774)0291604ad
Clarify usage of pointers and references in code (#1778)
ccbd5273e
bump to 0.12.3.0 (#1726)865b61b50
Unify GetNextWorkRequired (#1737)d1aeac1b2
Spelling mistake in validation.cpp (#1752)442325b07
addmaxgovobjdatasize
field to the output ofgetgovernanceinfo
(#1757)c5ec2f82a
DropIsNormalPaymentScript
, useIsPayToPublicKeyHash
(#1761)f9f28e7c7
De-bump to 0.12.2.2 (#1768)54186a159
Make sure additional indexes are recalculated correctly in VerifyDB (#1773)86e6f0dd2
Fix CMasternodeMan::ProcessVerify* logs (#1782)
Thanks to everyone who directly contributed to this release:
- Alexander Block
- shade
- sidhujag
- thephez
- turbanoff
- Ilya Savinov
- UdjinM6
- Will Wray
As well as Bitcoin Core Developers and everyone that submitted issues, reviewed pull requests or helped translating on Transifex.
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: