Merge pull request #2303 from UdjinM6/bp14247m
Prepare 0.12.3.3 critical bugfix release
This commit is contained in:
commit
0a93b0de88
@ -3,7 +3,7 @@ AC_PREREQ([2.60])
|
|||||||
define(_CLIENT_VERSION_MAJOR, 0)
|
define(_CLIENT_VERSION_MAJOR, 0)
|
||||||
define(_CLIENT_VERSION_MINOR, 12)
|
define(_CLIENT_VERSION_MINOR, 12)
|
||||||
define(_CLIENT_VERSION_REVISION, 3)
|
define(_CLIENT_VERSION_REVISION, 3)
|
||||||
define(_CLIENT_VERSION_BUILD, 2)
|
define(_CLIENT_VERSION_BUILD, 3)
|
||||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||||
define(_COPYRIGHT_YEAR, 2018)
|
define(_COPYRIGHT_YEAR, 2018)
|
||||||
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
define(_COPYRIGHT_HOLDERS,[The %s developers])
|
||||||
|
@ -41,7 +41,7 @@ PROJECT_NAME = "Dash Core"
|
|||||||
# could be handy for archiving the generated documentation or if some version
|
# could be handy for archiving the generated documentation or if some version
|
||||||
# control system is used.
|
# control system is used.
|
||||||
|
|
||||||
PROJECT_NUMBER = 0.12.3.2
|
PROJECT_NUMBER = 0.12.3.3
|
||||||
|
|
||||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
# 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
|
# for a project that appears at the top of each page and should give viewer a
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
Dash Core version 0.12.3.2
|
Dash Core version 0.12.3.3
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
Release is now available from:
|
Release is now available from:
|
||||||
|
|
||||||
<https://www.dash.org/downloads/#wallets>
|
<https://www.dash.org/downloads/#wallets>
|
||||||
|
|
||||||
This is a new minor version release, bringing various bugfixes and other
|
This is a critical bugfix release.
|
||||||
improvements.
|
|
||||||
|
|
||||||
Please report bugs using the issue tracker at github:
|
Please report bugs using the issue tracker at github:
|
||||||
|
|
||||||
@ -35,7 +34,7 @@ the database if you decide to use any pre-0.12.2.2 version.
|
|||||||
|
|
||||||
Wallet forward or backward compatibility was not affected.
|
Wallet forward or backward compatibility was not affected.
|
||||||
|
|
||||||
### Downgrade to 0.12.2.2/3, 0.12.3.1
|
### Downgrade to 0.12.2.2/3, 0.12.3.1/2
|
||||||
|
|
||||||
Downgrading to these versions does not require any additional actions, should be
|
Downgrading to these versions does not require any additional actions, should be
|
||||||
fully compatible.
|
fully compatible.
|
||||||
@ -44,58 +43,22 @@ fully compatible.
|
|||||||
Notable changes
|
Notable changes
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Improve initial sync
|
Fix crash bug with duplicate inputs within a transaction
|
||||||
--------------------
|
--------------------------------------------------------
|
||||||
|
|
||||||
Some users had problems getting their nodes synced. The issue occured due to nodes trying to
|
There was a critical bug discovered in Bitcoin Core's codebase recently which
|
||||||
get additional data from each available peer but not being able to process this data fast enough.
|
can cause node receiving a block to crash https://github.com/bitcoin/bitcoin/pull/14247
|
||||||
This was recognized as a stalled sync process and thus the process was reset. To address the issue
|
|
||||||
we limited sync process to 3 peers max now and the issue should no longer appear as long as there
|
|
||||||
are at least 4 connections.
|
|
||||||
|
|
||||||
Testnet/Devnet fixes
|
0.12.3.3 Change log
|
||||||
--------------------
|
|
||||||
|
|
||||||
Turned out that a low-diff rule for slow blocks backported from Bitcoin works a bit too aggressive for
|
|
||||||
a blockchain which uses a dynamic per-block difficulty adjustment algorithm (DGW). While blocks are still
|
|
||||||
produced at a more or less constant rate on average, the rate however is way too high.
|
|
||||||
|
|
||||||
We also lifted multiple ports restriction on devnet and also incuded other fixes which should improve
|
|
||||||
connectivity on devnets which are using nodes with multiple different ports.
|
|
||||||
|
|
||||||
|
|
||||||
0.12.3.2 Change log
|
|
||||||
===================
|
===================
|
||||||
|
|
||||||
See detailed [change log](https://github.com/dashpay/dash/compare/v0.12.3.1...dashpay:v0.12.3.2) below.
|
See detailed [set of changes](https://github.com/dashpay/dash/compare/v0.12.3.2...dashpay:v0.12.3.3).
|
||||||
|
|
||||||
### Network:
|
|
||||||
- [`2474d9cb8`](https://github.com/dashpay/dash/commit/2474d9cb8) Sync mn list and mnw list from 3 peers max (#2169)
|
|
||||||
- [`2c303cdb1`](https://github.com/dashpay/dash/commit/2c303cdb1) A few devnet related fixes (#2168)
|
|
||||||
|
|
||||||
### Mining:
|
|
||||||
- [`2ba0c7760`](https://github.com/dashpay/dash/commit/2ba0c7760) Add tests for special rules for slow blocks on devnet/testnet (#2176)
|
|
||||||
- [`b9a83d2ae`](https://github.com/dashpay/dash/commit/b9a83d2ae) Allow mining min diff for very slow (2h+) blocks (#2175)
|
|
||||||
- [`050cabdf5`](https://github.com/dashpay/dash/commit/050cabdf5) Adjust diff for slow testnet/devnet blocks a bit smoother (#2161)
|
|
||||||
|
|
||||||
### GUI:
|
|
||||||
- [`7b9919d18`](https://github.com/dashpay/dash/commit/7b9919d18) Fix issues with selections on Masternode tab (#2170)
|
|
||||||
- [`c4698d5f3`](https://github.com/dashpay/dash/commit/c4698d5f3) Make PS Buttons not react to spacebar (#2154)
|
|
||||||
|
|
||||||
### Other:
|
|
||||||
- [`f833e2ed6`](https://github.com/dashpay/dash/commit/f833e2ed6) Bump to 0.12.3.2 (#2173)
|
|
||||||
|
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Thanks to everyone who directly contributed to this release:
|
Thanks to everyone who directly contributed to this release,
|
||||||
|
as well as everyone who submitted issues and reviewed pull requests.
|
||||||
- Alexander Block
|
|
||||||
- PaulieD
|
|
||||||
- UdjinM6
|
|
||||||
|
|
||||||
As well as everyone who submitted issues and reviewed pull requests.
|
|
||||||
|
|
||||||
|
|
||||||
Older releases
|
Older releases
|
||||||
@ -121,6 +84,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.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.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.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.2](https://github.com/dashpay/dash/blob/master/doc/release-notes/dash/release-notes-0.12.2.2.md) released Dec/17/2017
|
||||||
|
135
doc/release-notes/dash/release-notes-0.12.3.2.md
Normal file
135
doc/release-notes/dash/release-notes-0.12.3.2.md
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
Dash Core version 0.12.3.2
|
||||||
|
==========================
|
||||||
|
|
||||||
|
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).
|
||||||
|
|
||||||
|
Downgrade warning
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
### Downgrade to a version < 0.12.2.2
|
||||||
|
|
||||||
|
Because release 0.12.2.2 included the [per-UTXO fix](release-notes/dash/release-notes-0.12.2.2.md#per-utxo-fix)
|
||||||
|
which changed the structure of the internal database, you will have to reindex
|
||||||
|
the database if you decide to use any pre-0.12.2.2 version.
|
||||||
|
|
||||||
|
Wallet forward or backward compatibility was not affected.
|
||||||
|
|
||||||
|
### Downgrade to 0.12.2.2/3, 0.12.3.1
|
||||||
|
|
||||||
|
Downgrading to these versions does not require any additional actions, should be
|
||||||
|
fully compatible.
|
||||||
|
|
||||||
|
|
||||||
|
Notable changes
|
||||||
|
===============
|
||||||
|
|
||||||
|
Improve initial sync
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Some users had problems getting their nodes synced. The issue occured due to nodes trying to
|
||||||
|
get additional data from each available peer but not being able to process this data fast enough.
|
||||||
|
This was recognized as a stalled sync process and thus the process was reset. To address the issue
|
||||||
|
we limited sync process to 3 peers max now and the issue should no longer appear as long as there
|
||||||
|
are at least 4 connections.
|
||||||
|
|
||||||
|
Testnet/Devnet fixes
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Turned out that a low-diff rule for slow blocks backported from Bitcoin works a bit too aggressive for
|
||||||
|
a blockchain which uses a dynamic per-block difficulty adjustment algorithm (DGW). While blocks are still
|
||||||
|
produced at a more or less constant rate on average, the rate however is way too high.
|
||||||
|
|
||||||
|
We also lifted multiple ports restriction on devnet and also incuded other fixes which should improve
|
||||||
|
connectivity on devnets which are using nodes with multiple different ports.
|
||||||
|
|
||||||
|
|
||||||
|
0.12.3.2 Change log
|
||||||
|
===================
|
||||||
|
|
||||||
|
See detailed [change log](https://github.com/dashpay/dash/compare/v0.12.3.1...dashpay:v0.12.3.2) below.
|
||||||
|
|
||||||
|
### Network:
|
||||||
|
- [`2474d9cb8`](https://github.com/dashpay/dash/commit/2474d9cb8) Sync mn list and mnw list from 3 peers max (#2169)
|
||||||
|
- [`2c303cdb1`](https://github.com/dashpay/dash/commit/2c303cdb1) A few devnet related fixes (#2168)
|
||||||
|
|
||||||
|
### Mining:
|
||||||
|
- [`2ba0c7760`](https://github.com/dashpay/dash/commit/2ba0c7760) Add tests for special rules for slow blocks on devnet/testnet (#2176)
|
||||||
|
- [`b9a83d2ae`](https://github.com/dashpay/dash/commit/b9a83d2ae) Allow mining min diff for very slow (2h+) blocks (#2175)
|
||||||
|
- [`050cabdf5`](https://github.com/dashpay/dash/commit/050cabdf5) Adjust diff for slow testnet/devnet blocks a bit smoother (#2161)
|
||||||
|
|
||||||
|
### GUI:
|
||||||
|
- [`7b9919d18`](https://github.com/dashpay/dash/commit/7b9919d18) Fix issues with selections on Masternode tab (#2170)
|
||||||
|
- [`c4698d5f3`](https://github.com/dashpay/dash/commit/c4698d5f3) Make PS Buttons not react to spacebar (#2154)
|
||||||
|
|
||||||
|
### Other:
|
||||||
|
- [`f833e2ed6`](https://github.com/dashpay/dash/commit/f833e2ed6) Bump to 0.12.3.2 (#2173)
|
||||||
|
|
||||||
|
|
||||||
|
Credits
|
||||||
|
=======
|
||||||
|
|
||||||
|
Thanks to everyone who directly contributed to this release:
|
||||||
|
|
||||||
|
- Alexander Block
|
||||||
|
- PaulieD
|
||||||
|
- UdjinM6
|
||||||
|
|
||||||
|
As well as everyone who 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.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 Jun/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
|
||||||
|
|
@ -17,7 +17,7 @@
|
|||||||
#define CLIENT_VERSION_MAJOR 0
|
#define CLIENT_VERSION_MAJOR 0
|
||||||
#define CLIENT_VERSION_MINOR 12
|
#define CLIENT_VERSION_MINOR 12
|
||||||
#define CLIENT_VERSION_REVISION 3
|
#define CLIENT_VERSION_REVISION 3
|
||||||
#define CLIENT_VERSION_BUILD 2
|
#define CLIENT_VERSION_BUILD 3
|
||||||
|
|
||||||
//! Set to true for release, false for prerelease or test build
|
//! Set to true for release, false for prerelease or test build
|
||||||
#define CLIENT_VERSION_IS_RELEASE true
|
#define CLIENT_VERSION_IS_RELEASE true
|
||||||
|
@ -507,7 +507,7 @@ int GetUTXOConfirmations(const COutPoint& outpoint)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool CheckTransaction(const CTransaction& tx, CValidationState &state, bool fCheckDuplicateInputs)
|
bool CheckTransaction(const CTransaction& tx, CValidationState &state)
|
||||||
{
|
{
|
||||||
// Basic checks that don't depend on any context
|
// Basic checks that don't depend on any context
|
||||||
if (tx.vin.empty())
|
if (tx.vin.empty())
|
||||||
@ -531,14 +531,12 @@ bool CheckTransaction(const CTransaction& tx, CValidationState &state, bool fChe
|
|||||||
return state.DoS(100, false, REJECT_INVALID, "bad-txns-txouttotal-toolarge");
|
return state.DoS(100, false, REJECT_INVALID, "bad-txns-txouttotal-toolarge");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for duplicate inputs - note that this check is slow so we skip it in CheckBlock
|
// Check for duplicate inputs
|
||||||
if (fCheckDuplicateInputs) {
|
std::set<COutPoint> vInOutPoints;
|
||||||
std::set<COutPoint> vInOutPoints;
|
for (const auto& txin : tx.vin)
|
||||||
for (const auto& txin : tx.vin)
|
{
|
||||||
{
|
if (!vInOutPoints.insert(txin.prevout).second)
|
||||||
if (!vInOutPoints.insert(txin.prevout).second)
|
return state.DoS(100, false, REJECT_INVALID, "bad-txns-inputs-duplicate");
|
||||||
return state.DoS(100, false, REJECT_INVALID, "bad-txns-inputs-duplicate");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tx.IsCoinBase())
|
if (tx.IsCoinBase())
|
||||||
@ -3366,7 +3364,7 @@ bool CheckBlock(const CBlock& block, CValidationState& state, const Consensus::P
|
|||||||
|
|
||||||
// Check transactions
|
// Check transactions
|
||||||
for (const auto& tx : block.vtx)
|
for (const auto& tx : block.vtx)
|
||||||
if (!CheckTransaction(*tx, state, false))
|
if (!CheckTransaction(*tx, state))
|
||||||
return state.Invalid(false, state.GetRejectCode(), state.GetRejectReason(),
|
return state.Invalid(false, state.GetRejectCode(), state.GetRejectReason(),
|
||||||
strprintf("Transaction check failed (tx hash %s) %s", tx->GetHash().ToString(), state.GetDebugMessage()));
|
strprintf("Transaction check failed (tx hash %s) %s", tx->GetHash().ToString(), state.GetDebugMessage()));
|
||||||
|
|
||||||
|
@ -386,7 +386,7 @@ void UpdateCoins(const CTransaction& tx, CCoinsViewCache& inputs, int nHeight);
|
|||||||
/** Transaction validation functions */
|
/** Transaction validation functions */
|
||||||
|
|
||||||
/** Context-independent validity checks */
|
/** Context-independent validity checks */
|
||||||
bool CheckTransaction(const CTransaction& tx, CValidationState& state, bool fCheckDuplicateInputs=true);
|
bool CheckTransaction(const CTransaction& tx, CValidationState& state);
|
||||||
|
|
||||||
namespace Consensus {
|
namespace Consensus {
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user