Bitcoin Knots version 0.13.2.knots20170102 is now available from:
https://bitcoinknots.org/files/0.13.x/0.13.2.knots20170102/
This is a new minor version release, including new features, various bugfixes and performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/bitcoinknots/bitcoin/issues
Microsoft ended support for Windows XP on April 8th, 2014, an OS initially released in 2001. This means that not even critical security updates will be released anymore. Without security updates, using a bitcoin wallet on a XP machine is irresponsible at least.
In addition to that, with 0.12.x there have been varied reports of Bitcoin Knots randomly crashing on Windows XP. It is not clear what the source of these crashes is, but it is likely that upstream libraries such as Qt are no longer being tested on XP.
We do not have time nor resources to provide support for an OS that is end-of-life. From 0.13.0 on, Windows XP is no longer supported. Users are suggested to upgrade to a newer version of Windows, or install an alternative OS that is supported.
No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk, but do not expect it to work: do not report issues about Windows XP to the issue tracker.
From 0.13.1 onwards OS X 10.7 is no longer supported. 0.13.0 was intended to work on 10.7+, but severe issues with the libc++ version on 10.7.x keep it from running reliably. 0.13.1 now requires 10.8+, and will communicate that to 10.7 users, rather than crashing unexpectedly.
Since v0.12.0, Knots has supported importing private keys via the importmulti
RPC method. However, the logic to exclude sensitive commands from the debug
console history did not include this RPC method.
This security issue is fixed as of this release. Additionally, when you start
Knots, it will scan through your current persisted history and filter out any
importmulti
uses it finds. This is implemented such that the sensitive info
is erased as securely as possible, but due to the nature of configuration
storage, it is unlikely to succeed in entirely removing it from your disk.
When a newly created transaction failed to enter the mempool due to the limits on chains of unconfirmed transactions the sending RPC calls would return an error. The transaction would still be queued in the wallet and, once some of the parent transactions were confirmed, broadcast after the software was restarted.
This behavior has been changed to return success and to reattempt mempool insertion at the same time transaction rebroadcast is attempted, avoiding a need for a restart.
Transactions in the wallet which cannot be accepted into the mempool can be abandoned with the previously existing abandontransaction RPC (or in the GUI via a context menu on the transaction).
Knots 0.13.1 added a new RPC method bumpfee
to make use of opt-in RBF for
increasing transaction fees. This release updates the bumpfee
method to the
latest version, including a number of improvements.
Specifying the change output index is now optional, and requires that if it is specified, it is in fact a real change output. Support for specifying the change output is deprecated, and will be removed no later than 0.14.
A new maxFee
option is added to limit the maximum fee that bumpfee
will
attempt to use.
Finally, there are new restrictions: a transaction can only be bumped once (its replacement may be bumped for similar behaviour), and transactions with spent outputs may not be bumped (to avoid breaking them).
Private keys in WIF can now be "swept" into the local wallet using the new
sweepprivkeys
RPC method. Unlike importing private keys, this should be safe
for even untrusted private keys (although you should wait for confirmation of
the sweep), and does not require a rescan. See help sweepprivkeys
for usage.
The memory pool can now keep up to 10 MB of statistical information. To enable
this, use the -statsenable
option; it is enabled default for the GUI and can
be disabled using -statsenable=0
. The stats can be accessed with either the
new getmempoolstats
RPC method, or the "Mempool Statistics" GUI on the "Help"
menu.
The addmultisigaddress
and createmultisig
RPC methods now accept an
optional parameter to sort the keys according to BIP 67. The interface to
enable this is considered temporary and is likely to be changed without notice
(or backward compatibility) in future releases.
When cleanly shutdown, Knots will now store a copy of the node's memory pool to disk. This will then be restored at startup, allowing for restarting the node without redownloading unconfirmed transactions.
The debug console will now interpret nested calls specified using parenthesis
syntax. For example, since getblock
accepts a block hash, you can use
getblockhash
to specify it from a block height:
getblock(getblockhash(1))
Detailed release notes follow. This overview includes changes that affect behavior, not code moves, refactors and string updates. For convenience in locating the code changes and accompanying discussion, both the pull request and git merge commit are mentioned. Changes specific to Bitcoin Knots (beyond Core) are flagged with an asterisk ('*') before the description.
- #9293
e591c10
[0.13 Backport #9053] IBD using chainwork instead of height and not using header timestamp (gmaxwell) - #9053
5b93eee
IBD using chainwork instead of height and not using header timestamps (gmaxwell) - n/a
ce96c2a
*Add a new checkpoint at block 438,784 (luke-jr)
- #9041
87fbced
keypoololdest denote Unix epoch, not GMT (s-matthew-english) - #9122
f82c81b
fix getnettotals RPC description about timemillis (visvirial) - #9042
5bcb05d
[rpc] ParseHash: Fail when length is not 64 (MarcoFalke) - #9194
f26dab7
Add option to return non-segwit serialization via rpc (instagibbs) - #9347
b711390
[0.13.2] wallet/rpc backports (MarcoFalke) - #9292
c365556
Complain when unknown rpcserialversion is specified (sipa) - #9322
49a612f
[qa] Don't set unknown rpcserialversion (MarcoFalke) - #8456
60d8e8c
*[RPC] bumpfee (mrbandrews) - n/a
0716303
*wallet/rpc: Tolerate former change output index parameter to bumpfee so long as it is actually change (luke-jr) - #8704
645b21c
*[RPC] Transaction details in getblock (achow101) - #8751
0b0f4f7
*RPC: addmultisigaddress / createmultisig: parameterize _createmultisig_redeemScript to allow sorting of public keys (BIP67) (Thomas Kerin) - #8992
f2eb1cf
*Enable pubkey lookup for p2sh-p2wpkh in validateaddress (instagibbs) - #8952
ed5bc96
*Add query options to listunspent rpc call (Pedro Branco) - #9025
b979006
*getrawtransaction should take a bool for verbose (jnewbery) - #9152
db7634e
*Wallet/RPC: sweepprivkeys method to scan UTXO set and send to local wallet (luke-jr) - #9222
274975f
*Add 'subtractFeeFromOutputs' option to 'fundrawtransaction'. (Chris Moore) - #8501
039d1d5
*Add mempool statistics collector (jonasschnelli) - #8775
41383de
*RPC: Pass on CRPCRequestInfo metadata (wallet) for "help" method (luke-jr)
- #9267
0a4aa87
[0.13 backport #9239] Disable fee estimates for a confirm target of 1 block (morcos) - #9196
0c09d9f
Send tip change notification from invalidateblock (ryanofsky)
- #8995
9ef3875
Add missing cs_main lock to ::GETBLOCKTXN processing (TheBlueMatt) - #9234
94531b5
torcontrol: Explicitly request RSA1024 private key (laanwj) - #8637
2cad5db
Compact Block Tweaks (rebase of #8235) (sipa) - #9058
286e548
Fixes for p2p-compactblocks.py test timeouts on travis (#8842) (ryanofsky) - #8865
4c71fc4
Decouple peer-processing-logic from block-connection-logic (TheBlueMatt) - #9117
6fe3981
net: don't send feefilter messages before the version handshake is complete (theuni) - #9188
ca1fd75
Make orphan parent fetching ask for witnesses (gmaxwell) - #9052
3a3bcbf
Use RelevantServices instead of node_network in AttemptToEvict (gmaxwell) - #9048
9460771
[0.13 backport #9026] Fix handling of invalid compact blocks (sdaftuar) - #9357
03b6f62
[0.13 backport #9352] Attempt reconstruction from all compact block announcements (sdaftuar) - #9189
b96a8f7
Always add default_witness_commitment with GBT client support (sipa) - #9253
28d0f22
Fix calculation of number of bound sockets to use (TheBlueMatt) - #9199
da5a16b
Always drop the least preferred HB peer when adding a new one (gmaxwell) - #9245
294b8f5
*Drop IO priority to idle while reading blocks for getblock requests (luke-jr)
- #9169
d1b4da9
build: fix qt5.7 build under macOS (theuni) - #9326
a0f7ece
Update for OpenSSL 1.1 API (gmaxwell) - #9224
396c405
Prevent FD_SETSIZE error building on OpenBSD (ivdsangen) - #7522
ed1fcdc
*Bugfix: Detect genbuild.sh in repo correctly (luke-jr) - n/a
8f93b0c
*Makefile: Rename RES_RENDERED_ICON_SOURCES to RES_RENDERED_ICON_SRC to avoid automake giving it special meaning (luke-jr)
- #8972
6f86b53
Make warnings label selectable (jonasschnelli) (MarcoFalke) - #9185
6d70a73
Fix coincontrol sort issue (jonasschnelli) - #9094
5f3a12c
Use correct conversion function for boost::path datadir (laanwj) - #8908
4a974b2
Update bitcoin-qt.desktop (s-matthew-english) - #9190
dc46b10
Plug many memory leaks (laanwj) - #8877
19321e1
*GUI/RPCConsole: Include importmulti in history sensitive-command filter (luke-jr) - #8985
6b474fa
*Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip() (jonasschnelli) - #8371
d81ec3d
*[qt] sync-overlay: Don't show progress twice (MarcoFalke) - #9130
b26febe
*Mention the new network toggle functionality in the tooltip. (paveljanik) - #9131
ea2d47c
*fNetworkActive is not protected by a lock, use an atomic (jonasschnelli) - #9145
58e922e
*[qt] Make network disabled icon 50% opaque (MarcoFalke) - #7783
9db5e22
*[Qt] RPC-Console: support nested commands and simple value queries (jonasschnelli) - #9329
d63d8ab
*[Qt] Console: allow empty arguments (jonasschnelli) - n/a
84e423e
*gui: add NodeID to the peer table (cfields) - #8874
642641c
*Multiple Selection for peer and ban tables (achow101) - #8925
9667f76
*Partial: Display minimum ping in debug window. (rebroad) - n/a
9994958
*Qt/Options: Configure minrelaytxfee using rwconf (luke-jr) - #8550
71bfbf0
*[Qt] Add interactive mempool graph (jonasschnelli) - n/a
e4987a8
*Qt/Stats: Use native widgets (luke-jr) - #8694
9f8717c
*Qt: QComboBox::setVisible doesn't work in toolbars, so defer adding it at all until needed (luke-jr)
- #9290
35174a0
Make RelayWalletTransaction attempt to AcceptToMemoryPool (gmaxwell) - #9295
43bcfca
Bugfix: Fundrawtransaction: don't terminate when keypool is empty (jonasschnelli) - #9302
f5d606e
Return txid even if ATMP fails for new transaction (sipa) - #9262
fe39f26
Prefer coins that have fewer ancestors, sanity check txn before ATMP (instagibbs) - #9167
844f0e1
*[wallet] Add IsAllFromMe: true if all inputs are from wallet (sdaftuar)
- #9159
eca9b46
Wait for specific block announcement in p2p-compactblocks (ryanofsky) - #9186
dccdc3a
Fix use-after-free in scheduler tests (laanwj) - #9168
3107280
Add assert_raises_message to check specific error message (mrbandrews) - #9191
29435db
0.13.2 Backports (MarcoFalke) - #9077
1d4c884
Increase wallet-dump RPC timeout (ryanofsky) - #9098
ecd7db5
Handle zombies and cluttered tmpdirs (MarcoFalke) - #8927
387ec9d
Add script tests for FindAndDelete in pre-segwit and segwit scripts (jl2012) - #9200
eebc699
bench: Fix subtle counting issue when rescaling iteration count (laanwj) - #9097
f52b8b6
*[qa] preciousblock: Use assert_equal and BitcoinTestFramework.init (MarcoFalke) - #9329
4fce7fc
*Qt/Test: Check handling of empty arguments in RPC debug console (luke-jr) - #8450
77b324e
*Account wallet feature RPC tests. (phantomcircuit)
- #8838
094848b
Calculate size and weight of block correctly in CreateNewBlock() (jnewbery) - #8920
40169dc
Set minimum required Boost to 1.47.0 (fanquake) - #9251
a710a43
Improvement of documentation of command line parameter 'whitelist' (wodry) - #8932
106da69
Allow bitcoin-tx to create v2 transactions (btcdrak) - #8929
12428b4
add software-properties-common (sigwo) - #9120
08d1c90
bug: Missed one "return false" in recent refactoring in #9067 (UdjinM6) - #9067
f85ee01
Fix exit codes (UdjinM6) - #9340
fb987b3
[0.13] Update secp256k1 subtree (MarcoFalke) - #9229
b172377
Remove calls to getaddrinfo_a (TheBlueMatt) - #8813
377ab84
*bitcoind: Daemonize using daemon(3) (Matthew King) - #8848
7e4b10b
*Store mempool and prioritization data to disk (sipa) - #8936
046e4da
*Report NodeId in misbehaving debug (rebroad)
Thanks to everyone who directly contributed to this release:
- Alex Morcos
- Andrew Chow
- BtcDrak
- Chris Moore
- Cory Fields
- fanquake
- Gregory Maxwell
- Gregory Sanders
- instagibbs
- Ivo van der Sangen
- John Newbery
- Johnson Lau
- Jonas Schnelli
- Luke Dashjr
- maiiz
- MarcoFalke
- Masahiko Hyuga
- Matt Corallo
- Matthew King
- matthias
- mrbandrews
- Patrick Strateman
- Pavel Janík
- Pedro Branco
- Pieter Wuille
- randy-waterhouse
- R E Broadley
- Russell Yanofsky
- S. Matthew English
- Steven
- Suhas Daftuar
- Thomas Kerin
- UdjinM6
- Wladimir J. van der Laan
- wodry
As well as everyone that helped translating on Transifex.