Update and clarify 1.14.5 release notes
This commit is contained in:
parent
d700e9a1a2
commit
90f5b87806
|
@ -2,8 +2,9 @@ Dogecoin Core version 1.14.5 is now available from:
|
||||||
|
|
||||||
<https://github.com/dogecoin/dogecoin/releases/tag/v1.14.5/>
|
<https://github.com/dogecoin/dogecoin/releases/tag/v1.14.5/>
|
||||||
|
|
||||||
This is a new minor version release, including various bugfixes and performance improvements. It is a recommended
|
This is a new minor version release, including important security updates and
|
||||||
update for all users.
|
changes to network policies. All Dogecoin Core users, miners, services, relay
|
||||||
|
operators and wallet users are strongly recommended to upgrade.
|
||||||
|
|
||||||
Please report bugs using the issue tracker at github:
|
Please report bugs using the issue tracker at github:
|
||||||
|
|
||||||
|
@ -11,14 +12,15 @@ Please report bugs using the issue tracker at github:
|
||||||
|
|
||||||
To receive security and update notifications, please watch reddit or Twitter:
|
To receive security and update notifications, please watch reddit or Twitter:
|
||||||
|
|
||||||
* https://www.reddit.com/r/dogecoin/
|
* https://www.reddit.com/r/dogecoindev/
|
||||||
* @Dogecoin on Twitter for high priority announcements
|
* @Dogecoin on Twitter for high priority announcements
|
||||||
* @dogecoin\_devs on Twitter for updates on development work
|
* @dogecoin\_devs on Twitter for updates on development work
|
||||||
|
|
||||||
Compatibility
|
Compatibility
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Dogecoin Core is extensively tested on Ubuntu Server LTS, Mac OS X and Windows 10.
|
Dogecoin Core is extensively tested on Ubuntu Server LTS, Intel-based macOS
|
||||||
|
and Windows 10.
|
||||||
|
|
||||||
Dogecoin Core should also work on most other Unix-like systems but is not
|
Dogecoin Core should also work on most other Unix-like systems but is not
|
||||||
frequently tested on them.
|
frequently tested on them.
|
||||||
|
@ -26,46 +28,96 @@ frequently tested on them.
|
||||||
Notable changes
|
Notable changes
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
Important Security Updates
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
This release contains fixes for 2 high severity vulnerabilities that affect
|
||||||
|
most Dogecoin Core users.
|
||||||
|
|
||||||
|
### Remote Code Execution in Dogecoin QT (CVE-2021-3401)
|
||||||
|
|
||||||
|
This release addresses CVE-2021-3401 that opened potential remote code execution
|
||||||
|
on QT (graphical user interface) wallets through malicious use of
|
||||||
|
`dogecoin:` URIs.
|
||||||
|
|
||||||
|
**Dogecoin QT users are urged to please update their installations to this
|
||||||
|
version immediately**, to prevent malicious actors from exploiting this
|
||||||
|
vulnerability.
|
||||||
|
|
||||||
|
### Sensitive Information Exposure on Unix platforms (CVE-2019-15947)
|
||||||
|
|
||||||
|
A fix for CVE-2019-15947 was back-ported from Bitcoin Core to prevent potential
|
||||||
|
leakage of sensitive information when Dogecoin Core crashes on Unix platforms.
|
||||||
|
The vulnerability is patched for systems that run a Linux kernel equal to or
|
||||||
|
higher than 3.4.
|
||||||
|
|
||||||
|
**Dogecoin Core wallet users on Linux platforms are urged to please update to
|
||||||
|
this version.**
|
||||||
|
|
||||||
Fee Reductions
|
Fee Reductions
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
This release reduces the recommended fees, following reduction of the required fees
|
This release finalizes a new minimum fee recommendation for all participants on
|
||||||
in 1.14.4. The main highlights for the revised fee schedule are:
|
the Dogecoin network, following the reduction of relay and mining defaults in
|
||||||
|
1.14.4. The recommendation has been documented and can be found
|
||||||
|
[here](fee-recommendation.md). With this release, the minimum fees when creating
|
||||||
|
transactions are recommended to be as follows:
|
||||||
|
|
||||||
* The user interface for selecting fees when sending Dogecoins has been updated to
|
* the recommended minimum transaction fee is 0.01 DOGE/kb, and
|
||||||
give an idea of how much is being spent, rather than a block target. As Dogecoin
|
* the recommended dust limit is 1 DOGE, and
|
||||||
blocks are not full, typically all transactions are mined in the next block, and
|
* the recommended RBF increment is 0.001 DOGE.
|
||||||
therefore the target estimation does not makes sense for Dogecoin.
|
|
||||||
|
### Wallet/UI Changes
|
||||||
|
|
||||||
|
* The user interface for selecting fees when transacting DOGE has been updated
|
||||||
|
to give an idea of how much is being spent, rather than a block target. As
|
||||||
|
Dogecoin blocks are not full, typically all transactions are mined in the next
|
||||||
|
block, and therefore the target estimation does not makes sense for Dogecoin.
|
||||||
* Transaction sizes are no longer rounded up to the nearest kilobyte before
|
* Transaction sizes are no longer rounded up to the nearest kilobyte before
|
||||||
calculating fees, which significantly simplifies fee calculation logic. It is anticipated
|
calculating fees, which significantly simplifies fee calculation logic and
|
||||||
this will also simplify fee calculation by third party wallets which typically use
|
makes it more similar to Bitcoin and Litecoin.
|
||||||
Bitcoin-like fee calculation.
|
* The default minimum transaction fee is now 0.01 DOGE per kilobyte. Note that
|
||||||
* The default transaction fee is now 0.001 DOGE per kilobyte, although note you may see
|
you may see transactions take longer to be confirmed while using these lower
|
||||||
transactions take 2-3 blocks to be confirmed while using low fees, until miners update.
|
fees, until all miners have updated. The new fee slider can help with getting
|
||||||
* Tune defaults for replace by fee values, with default DEFAULT\_INCREMENTAL\_RELAY\_FEE now
|
fast-confirming transactions by sliding it all the way to the maximum, or for
|
||||||
0.0001 DOGE/kb.
|
both CLI and GUI wallet users, this can be made the default by setting
|
||||||
* Derive minimum change from configurable parameters `-discardthreshold`
|
`-paytxfee=5.21`.
|
||||||
and `-mintxfee` as a basis.
|
* Introduce `-discardthreshold`, a wallet-specific, configurable dust limit that
|
||||||
Specifically: `min change = discardThreshold + 2 * minTxFee(1000)`
|
enables gradual implementation of the dust limit on the network side. Each
|
||||||
* Introduce `-harddustlimit`, which is used for testing
|
|
||||||
standard transactions. The existing dust limit (-dustlimit) is now
|
|
||||||
enforcing the economic disincentive under which each output under
|
|
||||||
the limit must add additional fee to be accepted to the mempool.
|
|
||||||
* Introduce `-discardthreshold`, a wallet-specific, configurable dust
|
|
||||||
limit that enables gradual implementation of the dust limit. Each
|
|
||||||
transaction created with the wallet will adhere to this threshold
|
transaction created with the wallet will adhere to this threshold
|
||||||
rather than the dust limits used for relay, so that the wallet stays
|
rather than the dust limits used for relay, preventing stuck transactions. The
|
||||||
usable while the network changes (lowers) its dust limits.
|
wallet will discard any change to fee and reject output amounts that are lower
|
||||||
* Add dustlimit info to `getnetworkinfo` RPC command, as it is now configurable.
|
than this limit. Until this release sees significant network adoption, the
|
||||||
|
default dust limit is recommended to stay at 1 DOGE, as versions 1.14.2 until
|
||||||
|
1.14.4 have a bug that rejects any transaction with an output under 1 DOGE.
|
||||||
|
* Derive minimum change from configurable wallet parameters `-discardthreshold`
|
||||||
|
and `-mintxfee`: `minimum change = discard threshold + 2 * minimum fee`.
|
||||||
|
|
||||||
|
### Relay changes
|
||||||
|
|
||||||
|
* Split the dust limit into a hard and soft threshold, to reintroduce the
|
||||||
|
economic disincentive for dust, rather than rejection introduced since 1.14.2
|
||||||
|
* `-harddustlimit` is by default set at 0.001 DOGE and sets the value under
|
||||||
|
which transactions will be rejected by nodes.
|
||||||
|
* The dust limit parameter introduced with 1.14.4 (`-dustlimit`) is now the
|
||||||
|
soft dust limit, enforcing the economic disincentive. Each output under this
|
||||||
|
threshold will be accepted as long as the entire limit is added to fee.
|
||||||
|
* Change the default incremental fee used for RBF and mempool limiting to
|
||||||
|
0.0001 DOGE.
|
||||||
|
|
||||||
BDB Updated to 5.3
|
BDB Updated to 5.3
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
The Berkley DB version used by Dogecoin Core has been updated to 5.3 (from 5.1)
|
The Berkley DB version used by Dogecoin Core has been updated to 5.3 (from 5.1)
|
||||||
as 5.3 is now standard on many Linux distributions. In testing 5.1 and 5.3
|
as 5.3 is now standard on many Linux distributions. 5.1 and 5.3 wallet files
|
||||||
files appear readily interchangeable, although we would recommend not
|
have been tested to be interchangeable.
|
||||||
attempting to open wallets from Dogecoin Core 1.14.5 in previous versions of
|
|
||||||
Dogecoin Core, as a precautionary measure.
|
Version display
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The version displayed on QT's overview page has been changed to display the
|
||||||
|
full version rather than just the major version part, because this was confusing
|
||||||
|
wallet users.
|
||||||
|
|
||||||
Key Derivation
|
Key Derivation
|
||||||
--------------
|
--------------
|
||||||
|
@ -74,51 +126,73 @@ The BIP32 hierarchical deterministic key derivation path contained the wrong
|
||||||
chain ID. Previously the chain ID 0 was used, it's now correctly set to 3 as
|
chain ID. Previously the chain ID 0 was used, it's now correctly set to 3 as
|
||||||
per [SLIP44](https://github.com/satoshilabs/slips/blob/master/slip-0044.md).
|
per [SLIP44](https://github.com/satoshilabs/slips/blob/master/slip-0044.md).
|
||||||
|
|
||||||
This has a relatively minimal impact currently, however in future versions
|
The wallet.dat files stay fully interoperable between versions. Wallets created
|
||||||
where expect more use of hierarchical deterministic keys, this is important to
|
with 1.14.5 will benefit from greater interoperability with hardware wallets in
|
||||||
define consistently. In particular it is important that the key derivation
|
the future.
|
||||||
paths used by Dogecoin Core and hardware wallets are consistent, so that
|
|
||||||
extended keys from one can be used with the other. This will also simplify
|
|
||||||
future compatibility with projects such as HWI, which could enable Dogecoin
|
|
||||||
Core to use hardware wallets.
|
|
||||||
|
|
||||||
Version UI
|
Namecoin-compatibile AuxPoW mining
|
||||||
----------
|
----------------------------------
|
||||||
|
|
||||||
Dogecoin version is now displayed in the bottom-left of the window, rather than
|
The `createauxblock` and `submitauxblock` commands have been reintroduced,
|
||||||
in the Dogecoin logo in the wallet window. This means it is updated
|
mimicking the same commands from Namecoin 0.17, allowing miners to separate
|
||||||
automatically, rather than requiring manual work editing the image.
|
wallets from block producing nodes by specifying the address for their coinbase
|
||||||
|
transactions.
|
||||||
|
|
||||||
createauxblock/submitauxblock
|
Two additional features on top of the Namecoin 0.17 API have been added:
|
||||||
-----------------------------
|
|
||||||
|
|
||||||
The `createauxblock` and `submitauxblock` commands have been introduced,
|
* The block caching mechanism has been enhanced to enable mining pools to use
|
||||||
mimicking the same commands from Namecoin 0.17+. These progress towards
|
multiple wallet addresses if desired.
|
||||||
splitting the consensus layer from the wallet (`getauxblock` generates an
|
* By default the AuxPoW API methods provide the difficulty target in a field
|
||||||
address to mine to, while the new `createauxblock` command takes in an address
|
named `target`, however this can now be configured to be fully compatible with
|
||||||
to mine to, and therefore does not require the wallet). It also enables mining
|
the Namecoin API (`_target`) by setting the `-rpcnamecoinapi` argument.
|
||||||
pools to use multiple wallet addresses if desired.
|
|
||||||
|
|
||||||
By default `createauxblock` provides difficulty target in a field called
|
RPC API Changes
|
||||||
`target`, however this can be tweaked for Namecoin-like API ("_target") by
|
---------------
|
||||||
setting the `-rpcnamecoinapi` startup argument.
|
|
||||||
|
* Added `softdustlimit` and `harddustlimit` fields to `getnetworkinfo` to enable
|
||||||
|
operators and third party scripts to query this information without having to
|
||||||
|
search configuration files or hardcode defaults.
|
||||||
|
* Added `createauxblock` and `submitauxblock` methods
|
||||||
|
* Added `-rpcnamecoinapi` that allows miners to use Namecoin-compatible AuxPoW
|
||||||
|
APIs, for both `getauxblock` and `createauxblock` methods.
|
||||||
|
|
||||||
|
Build System and CI Changes
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The build system for dependencies, continuous integration and binary releases
|
||||||
|
has been upgraded from Ubuntu Trusty to Ubuntu Bionic, because the former was
|
||||||
|
fully end-of-life. Ubuntu Bionic extends the useful life of the 1.14 build
|
||||||
|
system to April 2023, by which time we expect to have switched to 1.21 as the
|
||||||
|
main version. With this change, the default gcc used for testing and releases
|
||||||
|
has been updated from version 4.8 to 7.
|
||||||
|
|
||||||
|
The CI environment has been extended to build and test aarch64 binaries, and to
|
||||||
|
perform additional checks that allow us to catch more potential issues early and
|
||||||
|
automatically.
|
||||||
|
|
||||||
|
Additionally, an experimental CI build environment has been introduced to enable
|
||||||
|
ongoing testing and maintenance of incubating features that are not yet ready
|
||||||
|
for release. Currently this contains the AVX2 features that aim to increase the
|
||||||
|
performance of cryptographic routines within Dogecoin Core.
|
||||||
|
|
||||||
Minor Changes
|
Minor Changes
|
||||||
=============
|
=============
|
||||||
|
|
||||||
* Fix compilation on FreeBSD, which was failing to compile the Scrypt code.
|
* Fix compilation on FreeBSD, which was failing to compile the Scrypt code.
|
||||||
* Refresh FreeBSD docs, see `doc/build-freebsd.md`.
|
* Update the FreeBSD build docs, see `doc/build-freebsd.md`.
|
||||||
* Update to OpenSSL 1.0.2u.
|
* Update default dependencies to OpenSSL 1.0.2u.
|
||||||
* Refresh translation files to simplify volunteer contributions to translations.
|
* Refresh translation files to simplify volunteer contributions to translations.
|
||||||
* Remove export of glibc 2.17 secure_getenv to fix glibc minimum required.
|
* Add xkbcommon 0.8.4 as a separate dependency to fix keyboard compatibility
|
||||||
* Add xkbcommon 0.8.4 to fix keyboard compatibility issues.
|
issues and resolve issues with inadvertently used build system libraries.
|
||||||
* Address compatibility issues with GCC-7 and glibc-2.27.
|
* Harden and expand the recommended systemd unit files in `contrib/init`.
|
||||||
* Remove legacy patches which are no longer needed due to test environments being updated to more recent Ubuntu releases.
|
* Make the Freetype dependency compile independent from build system libraries.
|
||||||
* Security harden systemd unit file `contrib/init/dogecoind.local.service`.
|
* Update the Univalue library to use the latest version maintained by the
|
||||||
* Make Freetype library version independent from build system libaries.
|
Bitcoin Core developers.
|
||||||
* Update Univalue library to 1.0.4.
|
* Fix the pruning test suite.
|
||||||
* Correct block download timeout for regtest, where it was too low and causing issues with tests.
|
* Correct the block download timeout for the regtest chain.
|
||||||
* Experimental build for SHA algorithms with AVX2 support, to improve SHA performance.
|
* Shut down when trying to use a corrupted block from disk.
|
||||||
|
* Add experimental AVX2 support, to improve the performance of SHA operations.
|
||||||
|
* Add a [getting started guide](getting-started.md)
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
=======
|
=======
|
||||||
|
@ -127,6 +201,7 @@ Credits
|
||||||
* Bertrand Jacquin
|
* Bertrand Jacquin
|
||||||
* Carl Dong
|
* Carl Dong
|
||||||
* cg
|
* cg
|
||||||
|
* CharesFang
|
||||||
* chromatic
|
* chromatic
|
||||||
* Chun Kuan Lee
|
* Chun Kuan Lee
|
||||||
* Cory Fields
|
* Cory Fields
|
||||||
|
@ -140,10 +215,13 @@ Credits
|
||||||
* Hennadii Stepanov
|
* Hennadii Stepanov
|
||||||
* KabDeveloper
|
* KabDeveloper
|
||||||
* leezhen
|
* leezhen
|
||||||
|
* Luke Dashjr
|
||||||
* Micael Malta
|
* Micael Malta
|
||||||
* Michi Lumin
|
* Michi Lumin
|
||||||
* Patrick Lodder
|
* Patrick Lodder
|
||||||
* Ross Nicoll
|
* Ross Nicoll
|
||||||
* Ryan Crosby
|
* Ryan Crosby
|
||||||
* Suhas Daftuar
|
* Suhas Daftuar
|
||||||
|
* Vasil Dimov
|
||||||
* W. J. van der Laan
|
* W. J. van der Laan
|
||||||
|
* Xiao Yi
|
||||||
|
|
Loading…
Reference in New Issue