-
Notifications
You must be signed in to change notification settings - Fork 350
Release Notes v0.17.1
Signed binaries and source code available from:
<https://github.com/BTCGPU/BTCGPU/releases/tag/v0.17.1>
This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations. It is based on Bitcoin Core 0.17.1. https://github.com/bitcoin/bitcoin/releases/tag/v0.17.1
Please report bugs using the issue tracker at GitHub:
https://github.com/BTCGPU/BTCGPU/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/Bitcoin-Qt (on Mac) or bitcoind/bitcoin-qt (on Linux).
If your node has a txindex, the txindex db will be migrated the first time you run 0.17.1 or newer, which may take up to a few hours. Your node will not be functional until this migration completes.
Wallets created in 0.17.1 and later are not compatible with versions prior to 0.17.1 and will not work if you try to use newly created wallets in older versions. Existing wallets that were created with older versions are not affected by this.
BTG Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.8+, and Windows 10. Windows Vista and later should work, while Windows XP is not supported.
BTG Core should also work on most other Unix-like systems but is not frequently tested on them.
From 0.17.1 onwards macOS <10.10 is no longer supported. 0.17.1 is built using Qt 5.9.x, which doesn't support versions of macOS older than 10.10.
This release pulls in updates, bugfixes, and new features to BTG Core from Bitcoin Core version 0.16.0 through 0.17.1. The following is a compiled list of all applicable changes for the v0.17.1 BTG release.
Support for block relay using the Compact Blocks protocol has been implemented for BTG.
The primary goal is reducing the bandwidth spikes at relay time, though in many cases it also reduces propagation delay. It is automatically enabled between compatible peers. BIP 152
As a side-effect, ordinary non-mining nodes will download and upload blocks faster if those blocks were produced by miners using similar transaction filtering policies. This means that a miner who produces a block with many transactions discouraged by your node will be relayed slower than one with only transactions already in your memory pool. The overall effect of such relay differences on the network may result in blocks which include widely-discouraged transactions losing a stale block race, and therefore miners may wish to configure their node to take common relay policies into consideration.
- Block storage can be limited under Preferences, in the Main tab. Undoing this setting requires downloading the full blockchain again. This mode is incompatible with -txindex and -rescan.
- Uses of "µBTC" in the GUI now also show the more colloquial term "bits", specified in BIP176.
- The option to reuse a previous address has now been removed. This was justified by the need to "resend" an invoice, but now that we have the request history, that need should be gone.
- Support for searching by TXID has been added, rather than just address and label.
- A "Use available balance" option has been added to the send coins dialog, to add the remaining available wallet balance to a transaction output.
- A toggle for unblinding the password fields on the password dialog has been added.
BTG Core 0.17.1 introduces full support for segwit in the wallet and user interfaces. A new -addresstype argument has been added, which supports legacy, p2sh-segwit (default), and bech32 addresses. It controls what kind of addresses are produced by getnewaddress, getaccountaddress, and createmultisigaddress. A -changetype argument has also been added, with the same options, and by default equal to -addresstype, to control which kind of change is used.
A new address_type parameter has been added to the getnewaddress and addmultisigaddress RPCs to specify which type of address to generate.
A change_type argument has been added to the fundrawtransaction RPC to override the -changetype argument for specific transactions.
- All segwit addresses created through
getnewaddressor*multisigRPCs explicitly get their redeemscripts added to the wallet file. This means that downgrading after creating a segwit address will work, as long as the wallet file is up to date. - All segwit keys in the wallet get an implicit redeemscript added, without it being written to the file. This means recovery of an old backup will work, as long as you use new software.
- All keypool keys that are seen used in transactions explicitly get their redeemscripts added to the wallet files. This means that downgrading after recovering from a backup that includes a segwit address will work
Note that some RPCs do not yet support segwit addresses. Notably, signmessage/verifymessage doesn't support segwit addresses, nor does importmulti at this time. Support for segwit in those RPCs will continue to be added in future versions.
P2WPKH change outputs are now used by default if any destination in the transaction is a P2WPKH or P2WSH output. This is done to ensure the change output is as indistinguishable from the other outputs as possible in either case.
Full support for native segwit addresses (BIP173 / Bech32) has now been added. This includes the ability to send to BIP173 addresses (including non-v0 ones), and generating these addresses (including as default new addresses, see above).
A checkbox has been added to the GUI to select whether a Bech32 address or P2SH-wrapped address should be generated when using segwit addresses. When launched with -addresstype=bech32 it is checked by default. When launched with -addresstype=legacy it is unchecked and disabled.
Since BTG Core 0.15, creating new BIP 32 Hierarchical Deterministic wallets has been supported by BTG Core but old non-HD wallets could not be upgraded to HD. Now non-HD wallets can be upgraded to HD using the -upgradewallet command line option. This upgrade will result in the all keys in the keypool being marked as used and a new keypool generated. A new backup must be made when this upgrade is performed.
Additionally, -upgradewallet can be used to upgraded from a non-split HD chain (all keys generated with m/0'/0'/i') to a split HD chain (receiving keys generated with 'm/0'/0'/i' and change keys generated with m'/0'/1'/i'). When this upgrade occurs, all keys already in the keypool will remain in the keypool to be used until all keys from before the upgrade are exhausted. This is to avoid issues with backups and downgrades when some keys may come from the change key keypool. Users can begin using the new split HD chain keypools by using the newkeypool RPC to mark all keys in the keypool as used and begin using a new keypool generated from the split HD chain.
A new RPC, sethdseed, has been introduced which allows users to set a new HD seed or set their own HD seed. This allows for a new HD seed to be used. A new backup must be made when a new HD seed is set.
Due to a backward-incompatible change in the wallet database, wallets created with version 0.17.1 will be rejected by previous versions. Also, version 0.17.1 will only create hierarchical deterministic (HD) wallets. Note that this only applies to new wallets; wallets made with previous versions will not be upgraded to be HD.
The send screen now uses BIP125 RBF by default, regardless of -walletrbf.
There is a checkbox to mark the transaction as final.
The RPC default remains unchanged: to use RBF, launch with -walletrbf=1 or
use the replaceable argument for individual transactions.
BTG Core now has more flexibility in where the wallets directory can be located. Previously wallet database files were stored at the top level of the bitcoin data directory. The behavior is now:
- For new installations (where the data directory doesn't already exist),
wallets will now be stored in a new
wallets/subdirectory inside the data directory by default. - For existing nodes (where the data directory already exists), wallets will be
stored in the data directory root by default. If a
wallets/subdirectory already exists in the data directory root, then wallets will be stored in thewallets/subdirectory by default. - The location of the wallets directory can be overridden by specifying a
-walletdir=<path>option where<path>can be an absolute path to a directory or directory symlink.
Care should be taken when choosing the wallets directory location, as if it becomes unavailable during operation, funds may be lost.
The -wallet=<path> option now accepts full paths instead of requiring wallets
to be located in the -walletdir directory.
If -wallet=<path> is specified with a path that does not exist, it will now
create a wallet directory at the specified location (containing a wallet.dat
data file, a db.log file, and database/log.?????????? files) instead of just
creating a data file at the path and storing log files in the parent
directory. This should make backing up wallets more straightforward than
before because the specified wallet path can just be directly archived without
having to look in the parent directory for transaction log files.
For backwards compatibility, wallet paths that are names of existing data files
in the -walletdir directory will continue to be accepted and interpreted the
same as before.
Previously, wallets could only be loaded or created at startup, by specifying -wallet parameters on the command line or in the bitcoingold.conf file. It is now possible to load, create and unload wallets dynamically at runtime:
- Existing wallets can be loaded by calling the
loadwalletRPC. The wallet can be specified as file/directory basename (which must be located in thewalletdirdirectory), or as an absolute path to a file/directory. - New wallets can be created (and loaded) by calling the
createwalletRPC. The provided name must not match a wallet file in thewalletdirdirectory or the name of a wallet that is currently loaded. - Loaded wallets can be unloaded by calling the
unloadwalletRPC.
This feature is currently only available through the RPC interface.
When an address is paid multiple times the coins from those separate payments can be spent separately which hurts privacy due to linking otherwise separate addresses. A new -avoidpartialspends flag has been added (default=false). If enabled, the wallet will always spend existing UTXO to the same address together even if it results in higher fees. If someone were to send coins to an address after it was used, those coins will still be included in future coin selections.
It is now possible for a single configuration file to set different options for different networks. This is done by using sections or by prefixing the option with the network, such as:
main.uacomment=bitcoin
test.uacomment=bitcoin-testnet
regtest.uacomment=regtest
[main]
mempoolsize=300
[test]
mempoolsize=100
[regtest]
mempoolsize=20
If the following options are not in a section, they will only apply to mainnet:
addnode=, connect=, port=, bind=, rpcport=, rpcbind= and wallet=.
The options to choose a network (regtest= and testnet=) must be specified
outside of sections.
-
-includeconf=<file>can be used to include additional configuration files. Only works inside thebitcoingold.conffile, not inside included files or from command-line. Multiple files may be included. Can be disabled from command- line via-noincludeconf. Note that multi-argument commands like-includeconfwill override preceding-noincludeconf, i.e.noincludeconf=1 includeconf=relative.confas bitcoingold.conf will still include
relative.conf.
A new 'label' API has been introduced for the wallet. This is intended as a replacement for the deprecated 'account' API. The 'account' can continue to be used in V0.17 by starting bgoldd with the '-deprecatedrpc=accounts' argument, and will be fully removed in V0.18.
The label RPC methods mirror the account functionality, with the following functional differences:
- Labels can be set on any address, not just receiving addresses. This functionality was previously only available through the GUI.
- Labels can be deleted by reassigning all addresses using the
setlabelRPC method. - There isn't support for sending transactions from a label, or for determining which label a transaction was sent from.
- Labels do not have a balance.
Here are the changes to RPC methods:
| Deprecated Method | New Method | Notes |
|---|---|---|
getaccount |
getaddressinfo |
getaddressinfo returns a json object with address information instead of just the name of the account as a string. |
getaccountaddress |
n/a | There is no replacement for getaccountaddress since labels do not have an associated receive address. |
getaddressesbyaccount |
getaddressesbylabel |
getaddressesbylabel returns a json object with the addresses as keys, instead of a list of strings. |
getreceivedbyaccount |
getreceivedbylabel |
no change in behavior |
listaccounts |
listlabels |
listlabels does not return a balance or accept minconf and watchonly arguments. |
listreceivedbyaccount |
listreceivedbylabel |
Both methods return new label fields, along with account fields for backward compatibility. |
move |
n/a | no replacement |
sendfrom |
n/a | no replacement |
setaccount |
setlabel |
Both methods now:
|
| Changed Method | Notes |
|---|---|
addmultisigaddress |
Renamed account named parameter to label. Still accepts account for backward compatibility if running with '-deprecatedrpc=accounts'. |
getnewaddress |
Renamed account named parameter to label. Still accepts account for backward compatibility. if running with '-deprecatedrpc=accounts' |
listunspent |
Returns new label fields. account field will be returned for backward compatibility if running with '-deprecatedrpc=accounts' |
sendmany |
The account named parameter has been renamed to dummy. If provided, the dummy parameter must be set to the empty string, unless running with the -deprecatedrpc=accounts argument (in which case functionality is unchanged). |
listtransactions |
Renamed account named parameter to label. Still accepts account for backward compatibility if running with '-deprecatedrpc=accounts' |
getbalance |
account, minconf and include_watchonly parameters are deprecated, and can only be used if running with '-deprecatedrpc=accounts' |
When bitcoin is configured with the -deprecatedrpc=accounts setting, specifying
a label/account/dummy argument will return both outgoing and incoming
transactions. Without the -deprecatedrpc=accounts setting, it will only return
incoming transactions (because it used to be possible to create transactions
spending from specific accounts, but this is no longer possible with labels).
When -deprecatedrpc=accounts is set, it's possible to pass the empty string ""
to list transactions that don't have any label. Without
-deprecatedrpc=accounts, passing the empty string is an error because returning
only non-labeled transactions is not generally useful behavior and can cause
confusion.
BIP 174 PSBT is an interchange format for Bitcoin transactions that are not fully signed yet, together with relevant metadata to help entities work towards signing it. It is intended to simplify workflows where multiple parties need to cooperate to produce a transaction. Examples include hardware wallets, multisig setups, and CoinJoin transactions.
Overall, the construction of a fully signed Bitcoin transaction goes through the following steps:
- A Creator proposes a particular transaction to be created. He constructs a PSBT that contains certain inputs and outputs, but no additional metadata.
- For each input, an Updater adds information about the UTXOs being spent by the transaction to the PSBT.
- A potentially other Updater adds information about the scripts and public keys involved in each of the inputs (and possibly outputs) of the PSBT.
- Signers inspect the transaction and its metadata to decide whether they agree with the transaction. They can use amount information from the UTXOs to assess the values and fees involved. If they agree, they produce a partial signature for the inputs for which they have relevant key(s).
- A Finalizer is run for each input to convert the partial signatures and
possibly script information into a final
scriptSigand/orscriptWitness. - An Extractor produces a valid Bitcoin transaction (in network format) from a PSBT for which all inputs are finalized.
Generally, each of the above (excluding Creator and Extractor) will simply add more and more data to a particular PSBT. In a naive workflow, they all have to operate sequentially, passing the PSBT from one to the next, until the Extractor can convert it to a real transaction. In order to permit parallel operation, Combiners can be employed which merge metadata from different PSBTs for the same unsigned transaction.
The names above in bold are the names of the roles defined in BIP174. They're useful in understanding the underlying steps, but in practice, software and hardware implementations will typically implement multiple roles simultaneously.
-
converttopsbt(Creator) is a utility RPC that converts an unsigned raw transaction to PSBT format. It ignores existing signatures. -
createpsbt(Creator) is a utility RPC that takes a list of inputs and outputs and converts them to a PSBT with no additional information. It is equivalent to callingcreaterawtransactionfollowed byconverttopsbt. -
walletcreatefundedpsbt(Creator, Updater) is a wallet RPC that creates a PSBT with the specified inputs and outputs, adds additional inputs and change to it to balance it out, and adds relevant metadata. In particular, for inputs that the wallet knows about (counting towards its normal or watch-only balance), UTXO information will be added. For outputs and inputs with UTXO information present, key and script information will be added which the wallet knows about. It is equivalent to runningcreaterawtransaction, followed byfundrawtransaction, andconverttopsbt. -
walletprocesspsbt(Updater, Signer, Finalizer) is a wallet RPC that takes as input a PSBT, adds UTXO, key, and script data to inputs and outputs that miss it, and optionally signs inputs. Where possible it also finalizes the partial signatures. -
finalizepsbt(Finalizer, Extractor) is a utility RPC that finalizes any partial signatures, and if all inputs are finalized, converts the result to a fully signed transaction which can be broadcast withsendrawtransaction. -
combinepsbt(Combiner) is a utility RPC that implements a Combiner. It can be used at any point in the workflow to merge information added to different versions of the same PSBT. In particular it is useful to combine the output of multiple Updaters or Signers. -
decodepsbtis a diagnostic utility RPC which will show all information in a PSBT in human-readable form, as well as compute its eventual fee if known.
- The
inactivehdmasterproperty in thedumpwalletoutput has been corrected toinactivehdseed
-
The log timestamp format is now ISO 8601 (e.g. "2018-02-28T12:34:56Z").
-
When running bgoldd with
-debugbut without-daemon, logging to stdout is now the default behavior. Setting-printtoconsole=1no longer implicitly disables logging to debug.log. Instead, logging to file can be explicitly disabled by setting-debuglogfile=0.
The transaction index is now built separately from the main node procedure,
meaning the -txindex flag can be toggled without a full reindex. If bgoldd
is run with -txindex on a node that is already partially or fully synced
without one, the transaction index will be built in the background and become
available once caught up. When switching from running -txindex to running
without the flag, the transaction index database will not be deleted
automatically, meaning it could be turned back on at a later time without a full
resync.
The -blockmaxsize option for miners to limit their blocks' sizes was
deprecated in V0.15.1, and has now been removed. Miners should use the
-blockmaxweight option if they want to limit the weight of their blocks.
Pruned nodes can now signal BIP159's NODE_NETWORK_LIMITED using service bits, in preparation for full BIP159 support in later versions. This would allow pruned nodes to serve the most recent blocks. However, the current change does not yet include support for connecting to these pruned peers.
The SHA256 hashing optimizations for architectures supporting SSE4, which lead to ~50% speedups in SHA256 on supported hardware (~5% faster synchronization and block validation), have now been enabled by default. In previous versions they were enabled using the --enable-experimental-asm flag when building, but are now the default and no longer deemed experimental.
A new RPC rescanblockchain has been added to manually invoke a blockchain rescan.
The RPC supports start and end-height arguments for the rescan, and can be used in a
multiwallet environment to rescan the blockchain at runtime.
A new savemempool RPC has been added which allows the current mempool to be saved to
disk at any time to avoid it being lost due to crashes / power loss.
Safe mode is now disabled by default and must be manually enabled (with -disablesafemode=0) if you wish to use it. Safe mode is a feature that disables a subset of RPC calls - mostly related to the wallet and sending - automatically in case certain problem conditions with the network are detected. However, developers have come to regard these checks as not reliable enough to act on automatically. Even with safe mode disabled, they will still cause warnings in the warnings field of the getneworkinfo RPC and launch the -alertnotify command.
The share/rpcuser/rpcuser.py script was renamed to share/rpcauth/rpcauth.py. This script can be
used to create rpcauth credentials for a JSON-RPC user.
The validateaddress RPC output has been extended with a few new fields, and support for segwit addresses (both P2SH and Bech32). Specifically:
- A new field
iswitnessis True for P2WPKH and P2WSH addresses ("bc1..." addresses), but not for P2SH-wrapped segwit addresses (see below). - The existing field
isscriptwill now also report True for P2WSH addresses. - A new field
embeddedis present for all script addresses where the script is known and matches something that can be interpreted as a known address. This is particularly true for P2SH-P2WPKH and P2SH-P2WSH addresses. The value forembeddedincludes much of the informationvalidateaddresswould report if invoked directly on the embedded address. - For multisig scripts a new
pubkeysfield was added that reports the full public keys involved in the script (if known). This is a replacement for the existingaddressesfield (which reports the same information but encoded as P2PKH addresses), represented in a more useful and less confusing way. Theaddressesfield remains present for non-segwit addresses for backward compatibility. - For all single-key addresses with known key (even when wrapped in P2SH or P2WSH), the
pubkeyfield will be present. In particular, this means that invokingvalidateaddresson the output ofgetnewaddresswill always report thepubkey, even when the address type is P2SH-P2WPKH.
-
The new RPC
scantxoutsetcan be used to scan the UTXO set for entries that match certain output descriptors. Refer to the output descriptors reference documentation for more details. This call is similar tolistunspentbut does not use a wallet, meaning that the wallet can be disabled at compile or run time. This call is experimental, as such, is subject to changes or removal in future releases. -
The
createrawtransactionRPC will now accept an array or dictionary (kept for compatibility) for theoutputsparameter. This means the order of transaction outputs can be specified by the client. -
The
fundrawtransactionRPC will reject the previously deprecatedreserveChangeKeyoption. -
sendmanynow shuffles outputs to improve privacy, so any previously expected behavior with regards to output ordering can no longer be relied upon. -
The new RPC
testmempoolacceptcan be used to test acceptance of a transaction to the mempool without adding it. -
JSON transaction decomposition now includes a
weightfield which provides the transaction's exact weight. This is included in REST /rest/tx/ and /rest/block/ endpoints when in json mode. This is also included ingetblock(with verbosity=2),listsinceblock,listtransactions, andgetrawtransactionRPC commands. -
New
feesfield introduced ingetrawmempool,getmempoolancestors,getmempooldescendantsandgetmempoolentrywhen verbosity is set totruewith sub-fieldsancestor,base,modifiedanddescendantdenominated in BTC. This new field deprecates previous fee fields, such asfee,modifiedfee,ancestorfeeanddescendantfee. -
The new RPC
getzmqnotificationsreturns information about active ZMQ notifications. -
When bitcoin is not started with any
-wallet=<path>options, the name of the default wallet returned bygetwalletinfoandlistwalletsRPCs is now the empty string""instead of"wallet.dat". If bitcoin is started with any-wallet=<path>options, there is no change in behavior, and the name of any wallet is just its<path>string. -
Passing an empty string (
"") as theaddress_typeparameter togetnewaddress,getrawchangeaddress,addmultisigaddress,fundrawtransactionRPCs is now an error. Previously, this would fall back to using the default address type. It is still possible to pass null or leave the parameter unset to use the default address type. -
Bare multisig outputs to our keys are no longer automatically treated as incoming payments. As this feature was only available for multisig outputs for which you had all private keys in your wallet, there was generally no use for them compared to single-key schemes. Furthermore, no address format for such outputs is defined, and wallet software can't easily send to it. These outputs will no longer show up in
listtransactions,listunspent, or contribute to your balance, unless they are explicitly watched (usingimportaddressorimportmultiwith hex script argument).signrawtransaction*also still works for them. -
The
getwalletinfoRPC method now returns anhdseedidvalue, which is always the same as the incorrectly-namedhdmasterkeyidvalue.hdmasterkeyidwill be removed in V0.18. -
The
getaddressinfoRPC method now returns anhdseedidvalue, which is always the same as the incorrectly-namedhdmasterkeyidvalue.hdmasterkeyidwill be removed in V0.18. -
Parts of the
validateaddressRPC method have been deprecated and moved togetaddressinfo. Clients must transition to usinggetaddressinfoto access this information before upgrading to v0.18. The following deprecated fields have moved togetaddressinfoand will only be shown with-deprecatedrpc=validateaddress:ismine,iswatchonly,script,hex,pubkeys,sigsrequired,pubkey,addresses,embedded,iscompressed,account,timestamp,hdkeypath,hdmasterkeyid. -
signrawtransactionis deprecated and will be fully removed in v0.18. To usesignrawtransactionin v0.17, restart bgoldd with-deprecatedrpc=signrawtransaction. Projects should transition to usingsignrawtransactionwithkeyandsignrawtransactionwithwalletbefore upgrading to v0.18. -
The deprecated RPC
getinfowas removed. It is recommended that the more specific RPCs are used:getblockchaininfogetnetworkinfogetwalletinfogetmininginfo
-
The wallet RPC
getreceivedbyaddresswill return an error if called with an address not in the wallet. -
The wallet RPC
addwitnessaddresswas deprecated and will be removed in version 0.17, set theaddress_typeargument ofgetnewaddress, or option-addresstype=[bech32|p2sh-segwit]instead. -
dumpwalletnow includes hex-encoded scripts from the wallet in the dumpfile, andimportwalletnow imports these scripts, but corresponding addresses may not be added correctly or a manual rescan may be required to find relevant transactions. -
The RPC
getblockchaininfonow includes anerrorsfield. -
A new
blockhashparameter has been added to thegetrawtransactionRPC which allows for a raw transaction to be fetched from a specific block if known, even without-txindexenabled. -
The
decoderawtransactionandfundrawtransactionRPCs now have optionaliswitnessparameters to override the heuristic witness checks if necessary. -
The
walletpassphrasetimeout is now clamped to 2^30 seconds. -
Using addresses with the
createmultisigRPC is now deprecated, and will be removed in a later version. Public keys should be used instead. -
Blockchain rescans now no longer lock the wallet for the entire rescan process, so other RPCs can now be used at the same time (although results of balances / transactions may be incorrect or incomplete until the rescan is complete).
-
The
loggingRPC has now been made public rather than hidden. -
An
initialblockdownloadboolean has been added to thegetblockchaininfoRPC to indicate whether the node is currently in IBD or not. -
minrelaytxfeeis now included in the output ofgetmempoolinfo
-
-debuglogfile=<file>can be used to specify an alternative debug logging file. - bgold-cli now has an
-stdinrpcpassoption to allow the RPC password to be read from standard input. - The
-usehdoption has been removed. - bgold-cli now supports a new
-getinfoflag which returns an output like that of the now-removedgetinfoRPC.
- The default regtest JSON-RPC port has been changed to 18443 to avoid conflict with testnet's default of 18332.
- Segwit is now always active in regtest mode by default. Thus, if you upgrade a regtest node you will need to either -reindex or use the old rules by adding
vbparams=segwit:0:999999999999to your regtest bitcoingold.conf. Failure to do this will result in a CheckBlockIndex() assertion failure that will look like: Assertion `(pindexFirstNeverProcessed != nullptr) == (pindex->nChainTx == 0)' failed.
Support for Python 2 has been discontinued for all test files and tools.
The minimum version of the GCC compiler required to compile BTG Core is now 4.8. No effort will be
made to support older versions of GCC. See discussion in issue #11732 for more information.
The minimum version for the Clang compiler is still 3.3. Other minimum dependency versions can be found in doc/dependencies.md in the repository.
- #12568
ed6ae80Allow dustrelayfee to be set to zero (luke-jr) - #13120
ca2a233Treat segwit as always active (MarcoFalke) - #13096
062738cFixMAX_STANDARD_TX_WEIGHTcheck (jl2012) - #11423
d353dd1[Policy] Several transaction standardness rules (jl2012)
- #12693
df529dcRemove unused variable in SortForBlock (drewx2) - #12448
84efa9aInterrupt block generation on shutdown request (promag) - #12756
e802c22[config] Remove blockmaxsize option (jnewbery)
- #12204
3fa24bbFix overly eager BIP30 bypass (morcos) - #14249
696b936Fix crash bug with duplicate inputs within a transaction (TheBlueMatt, sdaftuar)
- #12225
67447baMempool cleanups (sdaftuar) - #12356
fd65937Fix 'mempool min fee not met' debug output (Empact) - #12287
bf3353dOptimise lock behaviour for GuessVerificationProgress() (jonasschnelli) - #11889
47a7666Drop extra script variable in ProduceSignature (ryanofsky) - #11880
d59b8d6Stop special-casing phashBlock handling in validation for TBV (TheBlueMatt) - #12431
947c25eOnly call NotifyBlockTip when chainActive changes (jamesob) - #12653
534b8faAllow to optional specify the directory for the blocks storage (jonasschnelli) - #12172
3b62a91Bugfix: RPC: savemempool: Don't save until LoadMempool() is finished (jtimon) - #12167
88430cbMake segwit failure due toCLEANSTACKviolation return aSCRIPT_ERR_CLEANSTACKerror code (maaku) - #12561
24133b1Check for block corruption in ConnectBlock() (sdaftuar) - #11617
1b5723eAvoid lock: Call FlushStateToDisk(…) regardless of fCheckForPruning (practicalswift) - #11739
0a8b7b4EnforceSCRIPT_VERIFY_P2SHandSCRIPT_VERIFY_WITNESSfrom genesis (sdaftuar) - #12885
a49381dReduce implementation code inside CScript (sipa) - #13032
34dd1a6Output values for "min relay fee not met" error (kristapsk) - #13033
a07e8caBuild txindex in parallel with validation (jimpo) - #13080
66cc47bAdd compile time checking for ::mempool.cs runtime locking assertions (practicalswift) - #13185
08c1cafBugfix: the end of a reorged chain is invalid when connect fails (sipa) - #11689
0264836Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) (practicalswift) - #13011
3c2a41aCache witness hash in CTransaction (MarcoFalke) - #13191
0de7cc8Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2 (sipa) - #13243
ea263e1Make reusable base class for auxiliary indices (jimpo) - #13393
a607d23Enable double-SHA256-for-64-byte code on 32-bit x86 (sipa) - #13428
caabdeavalidation: check the specified number of blocks (off-by-one) (kallewoof) - #13438
450055bImprove coverage of SHA256 SelfTest code (sipa) - #13431
954f4a9validation: count blocks correctly for check level < 3 (kallewoof) - #13386
3a3eabeSHA256 implementations based on Intel SHA Extensions (sipa) - #11658
9a1ad2cDuring IBD, when doing pruning, prune 10% extra to avoid pruning again soon after (luke-jr) - #13794
8ce55dfchainparams: Update with data from assumed valid chain (MarcoFalke) - #13527
e7ea858Remove promiscuousmempoolflags (MarcoFalke) - #13199
c71e535Bugfix: ensure consistency of m_failed_blocks after reconsiderblock (sdaftuar) - #13023
bb79aafFix some concurrency issues in ActivateBestChain() (skeees) - #10953
aeed345Combine scriptPubKey and amount as CTxOut in CScriptCheck (jl2012) - #11309
93d20a7Minor cleanups for AcceptToMemoryPool (morcos) - #11418
38c201fAdd error string for CLEANSTACK script violation (maaku) - #11411
339da9cChange SignatureHash input index check to an assert (jimpo) - #11406
e12522dAdd state message print to AcceptBlock failure message (TheBlueMatt) - #11062
26fee4fMark mempool import fails that were found in mempool as 'already there' (kallewoof) - #11269
61fb806CTxMemPoolEntry::UpdateAncestorState: modifySiagOps param type (donaloconnor) - #11747
e970396Fix: Open files read only if requested (Elbandi) - #11737
46d1ebfDocument partial validation in ConnectBlock() (sdaftuar) - #10699
c090262Make all script validation flags backward compatible (sipa) - #10279
214046fAdd a CChainState class to validation.cpp to take another step towards clarifying internal interfaces (TheBlueMatt) - #11824
d9fdac1Block ActivateBestChain to empty validationinterface queue (TheBlueMatt) - #12127
9501dc2Remove unused mempool index (sdaftuar) - #12118
44080a9Sort mempool by min(feerate, ancestor_feerate) (sdaftuar) - #8498
0e3a411Minimize the number of times it is checked that no money... (jtimon) - #12368
3f5012bHold mempool.cs for the duration of ATMP (TheBlueMatt) - #12401
d44cd7eReset pblocktree before deleting LevelDB file (Sjors) - #12415
f893824Interrupt loading thread after shutdown request (promag)
- #14685
9406502Fix a deserialization overflow edge case (kazcw) - #14728
b901578Fix uninitialized read when stringifying an addrLocal (kazcw) - #12342
eaeaa2dExtend #11583 ("Do not make it trivial for inbound peers to generate log entries") to include "version handshake timeout" message (clemtaylor) - #12218
9a32114Move misbehaving logging to net logging category (laanwj) - #10387
5c2aff8Eventually connect toNODE_NETWORK_LIMITEDpeers (jonasschnelli) - #9037
a36834fAdd test-before-evict discipline to addrman (EthanHeilman) - #12622
e1d6e2aCorrect addrman logging (laanwj) - #11962
0a01843add seed.bitcoin.sprovoost.nl to DNS seeds (Sjors) - #12569
23e7fe8Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s (practicalswift) - #12855
c199869Minor accumulated cleanups (tjps) - #13153
ef46c99Add missing newlines to debug logging (laanwj) - #13162
a174702Don't incorrectly log that REJECT messages are unknown (jnewbery) - #13151
7f4db9aServe blocks directly from disk when possible (laanwj) - #13134
70d3541Add option-enablebip61to configure sending of BIP61 notifications (laanwj) - #13532
7209fecLog warning when deprecated network name 'tor' is used (wodry) - #13615
172f984Remove unused interrupt from SendMessages (fanquake) - #13417
1e90862Tighten scope innet_processing(skeees) - #13298
f8d470eBucketing INV delays (1 bucket) for incoming connections to hide tx time (naumenkogs) - #13672
0d8d6beModifiedin_addr6cast in CConman class to work with msvc (sipsorcery) - #11637
c575260Remove dead service bits code (MarcoFalke) - #13212
a6f00ceFixed a race condition when disabling the network (lmanners) - #13656
1211b15Remove the boost/algorithm/string/predicate.hpp dependency (251Labs) - #13423
f58674aThread safety annotations innet_processing(skeees) - #13776
7d36237Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(…) (practicalswift) - #13907
48bf8ffIntroduce a maximum size for locators (gmaxwell) - #13951
8a9ffecHardcoded seeds update pre-0.17 branch (laanwj) - #12626
f60e84dLimit the number of IPs addrman learns from each DNS seeder (EthanHeilman) - #10596
6866b49Add vConnect to CConnman::Options (benma) - #10663
9d31ed2Split resolve out of connect (theuni) - #11113
fef65c4Ignore getheaders requests for very old side blocks (jimpo) - #11585
5aeaa9caddrman: Add missing lock in Clear() (CAddrMan) (practicalswift) - #11524
5ef3b69De-duplicate connection eviction logic (tjps) - #11580
1f4375fDo not send (potentially) invalid headers in response to getheaders (TheBlueMatt) - #11655
aca77a4Assert state.m_chain_sync.m_work_header in ConsiderEviction (practicalswift) - #11744
3ff6ff5Add missing locks in net.{cpp,h} (practicalswift) - #11740
59d3dc8Implement BIP159 NODE_NETWORK_LIMITED (pruned peers) signaling only (jonasschnelli) - #11583
37ffa16Do not make it trivial for inbound peers to generate log entries (TheBlueMatt) - #11363
ba2f195Split socket create/connect (theuni) - #11917
bc66765Add testnet DNS seed: seed.testnet.bitcoin.sprovoost.nl (Sjors) - #11512
6e89de5Use GetDesireableServiceFlags in seeds, dnsseeds, fixing static seed adding (TheBlueMatt) - #12262
16bac24Hardcoded seed update (laanwj) - #12270
9cf6393Update chainTxData for 0.16 (laanwj) - #12392
0f61651Fix ignoring tx data requests when fPauseSend is set on a peer (TheBlueMatt)
- #12330
2a30e67Reduce scope ofcs_mainandcs_walletlocks in listtransactions (promag) - #12298
a1ffddbRefactor HaveKeys to early return on false result (promag) - #12282
663911eDisallow abandon of conflicted txes (MarcoFalke) - #12333
d405beeMake CWallet::ListCoins atomic (promag) - #12296
8e6f9f4Only fee-bump non-conflicted/non-confirmed txes (MarcoFalke) - #11866
6bb9c13Do not un-mark fInMempool on wallet txn if ATMP fails (TheBlueMatt) - #11882
987a809Disable default fallbackfee on mainnet (jonasschnelli) - #9991
4ca7c1elistreceivedbyaddress Filter Address (NicolasDorier) - #11687
98bc27fExternal wallet files (ryanofsky) - #12658
af88094Sanitize some wallet serialization (sipa) - #9680
6acd870Unify CWalletTx construction (ryanofsky) - #10637
e057589Coin Selection with Murch's algorithm (achow101, Xekyo) - #12408
c39dd2eChange output type globals to members (MarcoFalke) - #12694
9552dfbActually disable BnB when there are preset inputs (achow101) - #11536
cead84bRename account to label where appropriate (ryanofsky) - #12709
02b7e83shuffle sendmany recipients ordering (instagibbs) - #12699
c948dc8Shuffle transaction inputs before signing (instagibbs) - #10762
6d53663Remove Wallet dependencies from init.cpp (jnewbery) - #12857
821980cAvoid travis lint-include-guards error (ken2812221) - #12702
dab0d68importprivkey: hint about importmulti (kallewoof) - #12836
9abdb7cMake WalletInitInterface and DummyWalletInit private, fix nullptr deref (promag) - #12785
215158aInitializem_last_block_processedto nullptr (practicalswift) - #12932
8d651aeRemove redundant lambda function arg in handleTransactionChanged (laanwj) - #12749
a84b056feebumper: discard change outputs below discard rate (instagibbs) - #12892
9b3370dintroduce 'label' API for wallet (jnewbery) - #12925
6d3de17Logprint the start of a rescan (jonasschnelli) - #12888
39439e5debug log number of unknown wallet records on load (instagibbs) - #12977
434150aRefactorg_wallet_init_interfaceto const reference (promag) - #13017
65d7083Add wallets management functions (promag) - #12953
d1d54aeDeprecate accounts (jnewbery) - #12909
476cb35Make fee settings to be non-static members (MarcoFalke) - #13002
487dcbeDo not treat bare multisig outputs as IsMine unless watched (sipa) - #13028
783bb64Make vpwallets usage thread safe (promag) - #12507
2afdc29Interrupt rescan on shutdown request (promag) - #12729
979150bGet rid of ambiguous OutputType::NONE value (ryanofsky) - #13079
5778d44Fix rescanblockchain rpc to properly report progress (Empact) - #12560
e03c0dbUpgrade path for non-HD wallets to HD (achow101) - #13161
7cc1bd3Reset BerkeleyDB handle after connection fails (real-or-random) - #13081
0dec5b5Add compile time checking forcs_walletruntime locking assertions (practicalswift) - #13127
19a3a9eAdd Clang thread safety annotations for variables guarded bycs_db(practicalswift) - #10740
4cfe17cloadwalletRPC - load wallet at runtime (jnewbery) - #12924
6738813Fix hdmaster-key / seed-key confusion (scripted diff) (jnewbery) - #13297
d82c5d1Fix incorrect comment for DeriveNewSeed (jnewbery) - #13063
6378eefUse shared pointer to retain wallet instance (promag) - #13142
56fe3dcSeparate IsMine from solvability (sipa) - #13194
fd96d54Remove template matching and pseudo opcodes (sipa) - #13252
c4cc8d9Refactor ReserveKeyFromKeyPool for safety (Empact) - #13058
343d4e4createwalletRPC - create new wallet at runtime (jnewbery) - #13351
2140f6cPrevent segfault when sending to unspendable witness (MarcoFalke) - #13060
3f0f394Remove getlabeladdress RPC (jnewbery) - #13111
000abbbAdd unloadwallet RPC (promag) - #13160
868cf43Unlock spent outputs (promag) - #13498
f54f373Fixups from account API deprecation (jnewbery) - #13491
61a044aImprove handling of INVALID in IsMine (sipa) - #13425
028b0d9Moving final scriptSig construction from CombineSignatures to ProduceSignature (PSBT signer logic) (achow101) - #13564
88a15ebloadwallet shouldn't create new wallets (jnewbery) - #12944
619cd29ScanforWalletTransactions should mark input txns as dirty (instagibbs) - #13630
d6b2235Drop unused pindexRet arg to CMerkleTx::GetDepthInMainChain (Empact) - #13566
ad552a5Fix get balance (jnewbery) - #13500
4a3e8c5Decouple wallet version from client version (achow101) - #13712
aba2e66Fix non-determinism in ParseHDKeypath(…). Avoid using an uninitialized variable in path calculation (practicalswift) - #9662
6b6e854Add createwallet "disableprivatekeys" option: a sane mode for watchonly-wallets (jonasschnelli) - #13683
e8c7434Introduce assertion to document the assumption that cache and cache_used are always set in tandem (practicalswift) - #12257
5f7575eUse destination groups instead of coins in coin select (kallewoof) - #13773
89a116dFix accidental use of the comma operator (practicalswift) - #13805
c88529aCorrectly limit output group size (sdaftuar) - #12992
26f59f5Add wallet name to log messages (PierreRochard) - #13667
b81a8a5Fix backupwallet for multiwallets (domob1812) - #13657
51c693dassert to ensure accuracy of CMerkleTx::GetBlocksToMaturity (Empact) - #13812
9d86aadsum ancestors rather than taking max in output groups (kallewoof) - #13876
8eb9870Catchfilesystem_errorand raiseInitError(MarcoFalke) - #13808
13d51a2shuffle coins before grouping, where warranted (kallewoof) - #13666
2115cbaAlways create signatures with Low R values (achow101) - #13917
0333914Additional safety checks in PSBT signer (sipa) - #13968
65e7a8bcouple of walletcreatefundedpsbt fixes (instagibbs) - #14055
2307a6efix walletcreatefundedpsbt deriv paths, add test (instagibbs) - #14441
5150accRestore ability to list incoming transactions by label (jnewbery) - #13546
91fa15aFix use of uninitialized valuebnb_usedin CWallet::CreateTransaction(…) (practicalswift) - #14310
bb90695Ensure wallet is unlocked before signing (gustavonalle) - #14690
5782fdcThrow error if CPubKey is invalid during PSBT keypath serialization (instagibbs) - #14852
2528443backport: [tests] Addwallet_balance.py(MarcoFalke) - #14196
3362a95psbt: always drop the unnecessary utxo and convert non-witness utxo to witness when necessary (achow101) - #14588
70ee1f8Refactor PSBT signing logic to enforce invariant and fix signing bug (gwillen) - #14424
89a9a9dStop requiring imported pubkey to sign non-PKH schemes (sipa, MeshCollider) - #13265
5d8de76Exit SyncMetaData if there are no transactions to sync (laanwj) - #13030
5ff571eFix zapwallettxes/multiwallet interaction. (jnewbery) - #11039
fc51565Avoid second mapWallet lookup (promag) - #10952
2621673Remove vchDefaultKey and have better first run detection (achow101) - #11007
fc5c237Fix potential memory leak when loading a corrupted wallet file (practicalswift) - #10976
07c92b9Move some static functions out of wallet.h/cpp (ryanofsky) - #11117
961901fPrepare for non-Base58 addresses (sipa) - #10916
e6ab88aadd missing lock to crypter GetKeys() (benma) - #10767
791a0e6Clarify wallet initialization / destruction interface (jnewbery) - #11250
c22a53cBump wallet version to 159900 and remove theusehdoption (achow101) - #11307
4f7e37eDisplay non-HD error on first run (MarcoFalke) - #11408
69c7eceFix parameter name typo in ErasePurpose walletdb method (PierreRochard) - #11167
aa624b6Full BIP173 (Bech32) support (sipa) - #11594
0ecc630Improve -disablewallet parameter interaction (promag) - #10368
77ba4bfRemove helper conversion operator from wallet (kallewoof) - #11074
99ec126Assert that CWallet::SyncMetaData finds oldest transaction (BitonicEelis) - #11272
e6e3fc3CKeystore/CCrypter: move relevant implementation out of the header (jonasschnelli) - #10286
927a1d7Call wallet notify callbacks in scheduler thread (without cs_main) (TheBlueMatt) - #10600
4ed8180Make feebumper class stateless (ryanofsky) - #11466
d080a7dSpecify custom wallet directory with -walletdir param (MeshCollider) - #11839
8ab6c0bDon't attempt mempool entry for wallet transactions on startup (instagibbs) - #11854
2214954Split up key and script metadata for better type safety (ryanofsky) - #11870
ef8ba7dRemove unnecessary mempool lock in ReacceptWalletTransactions (promag) - #11864
2ae58d5Make CWallet::FundTransaction atomic (promag) - #11886
df71819Clarify getbalance meaning a tiny bit in response to questions (TheBlueMatt) - #11923
81c89e9Remove unused fNoncriticalErrors variable from CWalletDB::FindWalletTx (PierreRochard) - #11726
604e08cCleanups + nit fixes for walletdir PR (MeshCollider) - #11403
d889c03Segwit wallet support (sipa) - #11970
b7450cdAdd test coverage for bgold-cli multiwallet calls (ryanofsky) - #11904
66e3af7Add a lock to the wallet directory (MeshCollider) - #12101
c7978beClamp walletpassphrase timeout to 2^30 seconds and check its bounds (achow101) - #12210
17180faDeprecate addwitnessaddress (laanwj) - #12220
f4c942eError if relative -walletdir is specified (ryanofsky) - #11281
8470e64Avoid permanent cs_main/cs_wallet lock during RescanFromTime (jonasschnelli) - #12119
9594139Use P2WPKH change output if any destination is P2WPKH or P2WSH (Sjors) - #12213
eadb2daAdd address type option to addmultisigaddress (promag) - #12276
7936446Remove duplicate mapWallet lookups (promag) - #13622
c04a4a5Remove mapRequest tracking that just effects Qt display. (TheBlueMatt) - #12905
cfc6f74[rpcwallet] Clamp walletpassphrase value at 100M seconds (sdaftuar) - #13437
ed82e71wallet: Erase wtxOrderd wtx pointer on removeprunedfunds (MarcoFalke)
- #14417
fb9ad04Fix listreceivedbyaddress not taking address as a string (etscrivner) - #14596
de5e48aBugfix: RPC: Addaddress_typenamed param for createmultisig (luke-jr) - #14618
9666dbaMake HTTP RPC debug logging more informative (practicalswift) - #14197
7bee414[psbt] Convert non-witness UTXOs to witness if witness sig created (achow101) - #14377
a3fe125Check that a separator is found for psbt inputs, outputs, and global map (achow101) - #14356
7a590d8Fix converttopsbt permitsigdata arg, add basic test (instagibbs) - #14453
75b5d8cFix wallet unload during walletpassphrase timeout (promag) - #13547
212ef1fMakesignrawtransaction*give an error when amount is needed but missing (ajtowns) - #11008
3841aafEnable disablesafemode by default (gmaxwell) - #11050
7ed57d3Avoid treating null RPC arguments different from missing arguments (ryanofsky) - #10997
affe927Add option -stdinrpcpass to bgold-cli to allow RPC password to be read from standard input (jharvell) - #11179
e0e3cbbPush down safe mode checks (laanwj) - #11203
d745b4cadd wtxid to mempool entry output (sdaftuar) - #11099
bc561b4Add savemempool RPC (greenaddress) - #10838
66a5b41(finally) remove getinfo (TheBlueMatt) - #10753
7fcd61btest: Check RPC argument mapping (laanwj) - #11288
0f8e095More user-friendly error message when partially signing (MeshCollider) - #11031
ef8340ddeprecate estimatefee (jnewbery) - #10858
9a8e916Add "errors" field to getblockchaininfo and unify "errors" field in get*info RPCs (achow101) - #11021
90926dbFix getchaintxstats() (AkioNak) - #11367
3a93270getblockchaininfo: Add disk_size, prune_target_size (esotericnonsense) - #11006
a1d78b5Improve shutdown process (promag) - #11529
ff92fbfAvoid slow transaction search with txindex enabled (promag) - #11618
87d90efLock cs_main in blockToJSON/blockheaderToJSON (practicalswift) - #11626
998c304MakeloggingRPC public (laanwj) - #11258
033c786Add initialblockdownload to getblockchaininfo (jnewbery) - #11087
99bc0b4Diagnose unsuitable outputs in lockunspent() (BitonicEelis) - #11710
9388639cli: Reject arguments to -getinfo (laanwj) - #11738
d4267a3Fix sendrawtransaction hang when sending a tx already in mempool (TheBlueMatt) - #11753
32c9b57clarify abortrescan rpc use (instagibbs) - #11191
ef14f2eImprove help text and behavior of RPC-logging (AkioNak) - #10874
9e38d35getblockchaininfo: Loop through the bip9 soft fork deployments instead of hard coding (achow101) - #10275
497d0e0Allow fetching tx directly from specified block in getrawtransaction (kallewoof) - #11178
fee0370Add iswitness parameter to decode- and fundrawtransaction RPCs (MeshCollider) - #11667
711d16cAdd scripts to dumpwallet RPC (MeshCollider) - #11475
9bad8d6mempoolinfo should take ::minRelayTxFee into account (mess110) - #12001
a9a49e6Adding ::minRelayTxFee amount to getmempoolinfo and updating help (jeffrade) - #12198
adce1deAdd deprecation error forgetinfo(laanwj) - #11415
69ec021Disallow using addresses in createmultisig (achow101) - #12278
288deacAdd special error for genesis coinbase to getrawtransaction (MeshCollider) - #11362
c6223b3Remove nBlockMaxSize from miner opt struct as it is no longer used (gmaxwell) - #10825
28485c7Set regtest JSON-RPC port to 18443 to avoid conflict with testnet 18332 (fametrano) - #11303
e542728Fix estimatesmartfee rounding display issue (TheBlueMatt) - #7061
8c2de82Add RPC call "rescanblockchain " (jonasschnelli) - #11055
95e14dcRPC getreceivedbyaddress should return error if called with address not owned by the wallet (jnewbery) - #12366
93de37ahttp: Join worker threads before deleting work queue (laanwj) - #12315
758a41eBech32 addresses in dumpwallet (fivepiece) - #12427
3762ac1Make signrawtransaction accept P2SH-P2WSH redeemscripts (sipa) - #13451
cbd2f70rpc: expose CBlockIndex::nTx in getblock(header) (instagibbs) - #13507
f7401c8RPC: Fix parameter count check for importpubkey (kristapsk) - #13452
6b9dc8crpc: have verifytxoutproof check the number of txns in proof structure (instagibbs) - #12837
bf1f150rpc: fix type mistmatch inlistreceivedbyaddress(joemphilips) - #12743
657dfc5Fix csBestBlock/cvBlockChange waiting in rpc/mining (sipa) - #12336
3843780Remove deprecated rpc options (jnewbery) - #12193
5dc00f6Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (MarcoFalke) - #12409
0cc45edReject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke) - #10583
8a98dfeSplit part of validateaddress into getaddressinfo (achow101) - #10579
ffc6e48Split signrawtransaction into wallet and non-wallet RPC command (achow101) - #12494
e4ffcacDeclare CMutableTransaction a struct in rawtransaction.h (Empact) - #12503
0e26591createmultisig no longer takes addresses (instagibbs) - #12083
228b086Improve getchaintxstats test coverage (promag) - #12479
cd5e438Add child transactions to getrawmempool verbose output (conscott) - #11872
702e8b7createrawtransaction: Accept sorted outputs (MarcoFalke) - #12700
ebdf84cDocument RPC method aliasing (ryanofsky) - #12727
8ee5c7bRemove unreachable help conditions in rpcwallet.cpp (lutangar) - #12778
b648974Add username and ip logging for RPC method requests (GabrielDav) - #12717
ac898b6rest: Handle utxo retrieval when ignoring the mempool (romanz) - #12787
cd99e5bAdjust ifdef to avoid unreachable code (practicalswift) - #11742
18815b4Add testmempoolaccept (MarcoFalke) - #12942
fefb817Drop redundant testing of signrawtransaction prevtxs args (Empact) - #11200
5f2a399Allow for aborting rescans in the GUI (achow101) - #12791
3a8a4dcExpose a transaction's weight via RPC (TheBlueMatt) - #12436
6e67754Adds a functional test to validate the transaction version number in the RPC output (251Labs) - #12240
6f8b345Introduced a newfeesstructure that aggregates all sub-field fee types denominated in BTC (mryandao) - #12321
eac067ap2wsh and p2sh-p2wsh address in decodescript (fivepiece) - #13090
17266a1Remove Safe mode (achow101, laanwj) - #12639
7eb7076Reducecs_mainlock in listunspent (promag) - #10267
7b966d9New -includeconf argument for including external configuration files (kallewoof) - #10757
b9551d3Introduce getblockstats to plot things (jtimon) - #13288
a589f53Remove the need to include rpc/blockchain.cpp in order to putGetDifficultyunder test (Empact) - #13394
e1f8dcecli: Ignore libevent warnings (theuni) - #13439
3f398d7Avoid "duplicate" return value for invalid submitblock (TheBlueMatt) - #13570
a247594Add new "getzmqnotifications" method (domob1812) - #13072
b25a4c2Update createmultisig RPC to support segwit (ajtowns) - #12196
8fceae0Add scantxoutset RPC method (jonasschnelli) - #13557
b654723BIP 174 PSBT Serializations and RPCs (achow101) - #13697
f030410Support output descriptors in scantxoutset (sipa) - #13927
bced8eaUse pushKV in some new PSBT RPCs (domob1812) - #13918
a9c56b6Replace median fee rate with feerate percentiles in getblockstats (marcinja) - #13721
9f23c16Bugfixes for BIP 174 combining and deserialization (achow101) - #13960
517010eFix PSBT deserialization of 0-input transactions (achow101)
- #14403
0242b5aRevert "Force TLS1.0+ for SSL connections" (real-or-random) - #14593
df5131bExplicitly disable "Dark Mode" appearance on macOS (fanquake) - #10964
64e66bbPass SendCoinsRecipient (208 bytes) by reference (practicalswift) - #11169
5b8af7bMake tabs toolbar no longer have a context menu (achow101) - #10911
9c8f365Fix typo and access key in optionsdialog.ui (keystrike) - #10770
ea729d5Drop upgrade-cancel callback registration for a generic "cancelable" (TheBlueMatt) - #11156
a3624ddFix memory leaks in qt/guiutil.cpp (danra) - #11268
31e72b2[macOS] remove Growl support, remove unused code (jonasschnelli) - #11193
c5c77bdTerminate string *pszExePath after readlink and without using memset (practicalswift) - #11508
ffa5159Fix crash via division by zero assertion (jonasschnelli) - #11499
6157e8cAdd upload and download info to the peerlist (debug menu) (aarongolliver) - #11480
ffc0b11Add toggle for unblinding password fields (tjps) - #11316
22cdf93Add use available balance in send coins dialog (CryptAxe, promag) - #3716
13e352dReceive: Remove option to reuse a previous address (luke-jr) - #11690
f0c1f8aFix the StartupWMClass for bitoin-qt, so gnome-shell can recognize it (eklitzke) - #10920
f6f8d54Fix potential memory leak in newPossibleKey(ChangeCWallet *wallet) (practicalswift) - #11698
7293d06RPC-Console nested commands documentation (lmlsna) - #11395
38d31f9Enable searching by transaction id (luke-jr) - #11556
91eeaa0Improved copy for RBF checkbox and tooltip (Sjors) - #11809
80f9dadFix proxy setting options dialog crash (laanwj) - #11616
8585bb8Update ban-state in case of dirty-state during periodic sweep (jonasschnelli) - #11605
f19ca12Enable RBF by default in QT (Sjors) - #12074
a1136f0Optimizes boolean expression model && model->haveWatchOnly() (251Labs) - #12035
eeb6d52Change µBTC to bits (jb55) - #12092
fd4ca17Replaces numbered place marker %2 with %1 (251Labs) - #12173
bbc91b7Use flexible font size for QRCode image address (jonasschnelli) - #12211
10d10d7Avoid potential null dereference in ReceiveCoinsDialog constructor (ryanofsky) - #12261
f359afcBump BLOCK_CHAIN_SIZE to 200GB (laanwj) - #11991
062c8b6Receive: checkbox for bech32 address (Sjors) - #11644
045a809Fix qt build broken by 5a5e4e9 (TheBlueMatt) - #11448
d473e6dreset addrProxy/addrSeparateProxyTor if colon char missing (mess110) - #12377
604f289qt: Poll ShutdownTimer after init is done (MarcoFalke) - #12374
daaae36qt: Make sure splash screen is freed on AppInitMain fail (laanwj) - #12349
ad10b90shutdown: fix crash on shutdown with reindex-chainstate (theuni) - #12432
f78e7f6[qt] send: Clear All also resets coin control options (Sjors) - #12617
21dd512gui: Show messages as text not html (laanwj) - #12793
cf6feb7qt: Avoid reseting on resetguisettigs=0 (MarcoFalke) - #12416
c997f88Fix Windows build errors introduced in #10498 (practicalswift) - #11733
e782099Remove redundant locks (practicalswift) - #12426
bfa3911Initialize members in WalletModel (MarcoFalke) - #12489
e117cfeBugfix: respect user defined configuration file (-conf) in QT settings (jonasschnelli) - #12421
be263fanavigate to transaction history page after send (Sjors) - #12580
ce56fddShow a transaction's virtual size in its details dialog (dooglus) - #12501
c8ea91aImproved "custom fee" explanation in tooltip (randolf) - #12616
cff95a6Set modal overlay hide button as default (promag) - #12620
8a43bdcRemove TransactionTableModel::TxIDRole (promag) - #12080
56cc022Add support to search the address book (promag) - #12621
2bac3e4Avoid querying unnecessary model data when filtering transactions (promag) - #12721
e476826remove "new" button during receive-mode in addressbook (jonasschnelli) - #12723
310dc61Qt5: Warning users about invalid-BIP21 URI bitcoin:// (krab) - #12610
25cf18fMultiwallet for the GUI (jonasschnelli) - #12779
f4353daRemove unused method setupAmountWidget(…) (practicalswift) - #12795
68484d6do not truncate .dat extension for wallets in gui (instagibbs) - #12870
1d54004make clean removessrc/qt/moc_files (Sjors) - #13055
bdda14dDon't log to console by default (laanwj) - #13141
57c57dffixes broken link on readme (marcoagner) - #12928
ef006d9Initialize non-static class members that were previously neither initialized where defined nor in constructor (practicalswift) - #13158
81c533cImprove sendcoinsdialog readability (marcoagner) - #11491
40c34a0Add proxy icon in statusbar (mess110) - #13264
2a7c53bSatoshi unit (GreatSock) - #13097
e545503Support wallets loaded dynamically (promag) - #13284
f8be434fix visual "overflow" of amount input (brandonrninefive) - #13275
a315b79use[default wallet]as name for wallet with no name (jonasschnelli) - #13273
3fd0c23Qt/Bugfix: fix handling default wallet with no name (jonasschnelli) - #13341
25d2df2Stop translating command line options (laanwj) - #13043
6e249e4OptionsDialog: add prune setting (Sjors) - #13506
6579d80load wallet in UI after possible init aborts (jonasschnelli) - #13458
dc53f7fDrop qt4 support (laanwj) - #13528
b877c39Move BitcoinGUI initializers to class, fix initializer order warning (laanwj) - #13536
baf3a3acoincontrol: Remove unused qt4 workaround (MarcoFalke) - #13537
10ffca7Peer table: Visualize inbound/outbound state for every row (wodry) - #13791
2c14c1fReject dialogs if key escape is pressed (promag) - #12999
1720eb3Show the Window when double clicking the taskbar icon (ken2812221) - #12650
f118a7aFix issue: "default port not shown correctly in settings dialog" (251Labs) - #13251
ea487f9Rephrase Bech32 checkbox texts, and enable it with legacy address default (fanquake)
- #10923
2c9f5ectravis: Build with --enable-werror under OS X (practicalswift) - #11176
df8c722build: Rename --enable-experimental-asm to --enable-asm and enable by default (laanwj) - #11286
11dacc6[depends] Don't build libevent sample code (fanquake) - #7142
801dd40Travis: Test build against system libs (& Qt4) (luke-jr) - #11380
390771bRemove outdated share/certs/ directory (MeshCollider) - #11391
7632310Remove lxcbr0 lines from gitian-build.sh (MeshCollider) - #11435
167cef8build: Make "make clean" remove all files created when running "make check" (practicalswift) - #11460
e022463[depends] mac_alias 2.0.6, ds_store 1.1.2 (fanquake) - #11541
bb9ab0fBuild: Fix Automake warnings when running autogen.sh (fanquake) - #11611
0e70791[build] Don't fail when passed --disable-lcov and lcov isn't available (fanquake) - #11651
3c098a8refactor: Make all #includes relative to project root (laanwj, MeshCollider, ryanofsky) - #11621
1f7695b[build] Add temp_bitcoin_locale_qrc to CLEAN_QT to fix make distcheck (fanquake) - #11755
84fa645[Docs] Bump minimum required version of GCC to 4.8 (fanquake) - #9254
6d3dc52[depends] ZeroMQ 4.2.2 (fanquake) - #11842
3c8f0a3[build] Add missing stuff to clean-local (kallewoof) - #11936
483bb67[build] Warn that only libconsensus can be built without Boost (fanquake) - #11945
7a11ba7Improve BSD compatibility of contrib/install_db4.sh (laanwj) - #11981
180a255Fix gitian build after libzmq bump (theuni) - #11903
8f68fd2[trivial] Add required package dependencies for depends cross compilation (jonasschnelli) - #12168
45cf8a0#include sys/fcntl.h to just fcntl.h (without sys/) (jsarenik) - #12095
3fa1ab4Use BDB_LIBS/CFLAGS and pass --disable-replication (fanquake) - #11711
6378e5cbitcoin_qt.m4: Minor fixes and clean-ups (fanquake) - #11989
90d4104.gitignore: add QT Creator artifacts (Sjors) - #11577
c0ae864Fix warnings (-Wsign-compare) when building with DEBUG_ADDRMAN (practicalswift) - #13544
9fd3e00depends: Update Qt download url (fanquake) - #12573
88d1a64Fix compilation when compiler do not support__builtin_clz*(532479301) - #14647
7edebedRemove illegal spacing in darwin.mk (ch4ot1c) - #14698
ec71f06Add bitcoin-tx.exe into Windows installer (ken2812221) - #12474
b0f692fAllow depends system to support armv7l (hkjn) - #12585
72a3290depends: Switch to downloading expat from GitHub (fanquake) - #12648
46ca8f3test: Update trusted git root (MarcoFalke) - #11995
686cb86depends: Fix Qt build with Xcode 9 (fanquake) - #12636
845838cbackport: #11995 Fix Qt build with Xcode 9 (fanquake) - #12946
e055bc0depends: Fix Qt build with XCode 9.3 (fanquake) - #12998
7847b92Default to defining endian-conversion DECLs in compat w/o config (TheBlueMatt) - #12371
c9ca4f6Add gitian PGP key: akx20000 (ghost) - #11966
f4f4f51clientversion: Use full commit hash for commit-based version descriptions (luke-jr) - #12417
ae0fbf0Upgrademac_aliasto 2.0.7 (droark) - #12444
1f055efgitian: Bump descriptors for (0.)17 (theuni) - #12402
59e032bexpat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (fanquake) - #12029
daa84b3Add a makefile target for Doxygen documentation (Ov3rlo4d) - #12466
6645eafOnly useD_DARWIN_C_SOURCEwhen building miniupnpc on darwin (fanquake) - #11986
765a3ebzeromq 4.2.3 (fanquake) - #12373
f13d756Add build support for profiling (murrayn) - #12631
a312e20gitian: Alphabetize signing keys & add kallewoof key (kallewoof) - #12607
29fad97Remove ccache (fanquake) - #12625
c4219ffbiplist 1.0.3 (fanquake) - #12666
05042d3configure: UniValue 1.0.4 is required for pushKV(, bool) (luke-jr) - #12678
6324c68Fix a few compilation issues with Clang 7 and -Werror (vasild) - #12692
de6bdfdAdd configure options for various -fsanitize flags (eklitzke) - #12901
7e23972Show enabled sanitizers in configure output (practicalswift) - #12899
3076993macOS: Prevent Xcode 9.3 build warnings (AkioNak) - #12715
8fd6243Add 'make clean' rule (hkjn) - #13133
a024a18Remove python2 from configure.ac (ken2812221) - #13005
cb088b1Make --enable-debug to pick better options (practicalswift) - #13254
092b366Remove improperqt/moc_*cleaning glob from the general Makefile (Empact) - #13306
f5a7733split warnings out of CXXFLAGS (theuni) - #13385
7c7508cGuard against accidental introduction of new Boost dependencies (practicalswift) - #13041
5779dc4Add linter checking for accidental introduction of locale dependence (practicalswift) - #13408
70a03c6crypto: cleanup sha256 build (theuni) - #13435
cf7ca60When build fails due to lib missing, indicate which one (Empact) - #13445
8eb76f3Reset default -g -O2 flags when enable debug (ken2812221) - #13465
81069a7Avoid concurrency issue when make multiple target (ken2812221) - #13454
45c00f8Make sureLC_ALL=Cis set in all shell scripts (practicalswift) - #13480
31145a3Avoid copies in range-for loops and add a warning to detect them (theuni) - #13486
66e1a08Move rpc/util.cpp from libbitcoin-util to libbitcoin-server (ken2812221) - #13580
40334c7Detect if char equalsint8_t(ken2812221) - #12788
287e4edTune wildcards for LIBSECP256K1 target (kallewoof) - #13611
b55f0c3bugfix: Use__cpuid_countfor gnu C to avoid gitian build fail (ken2812221) - #12971
a6d14b1Upgrade Qt to 5.9.6 (TheCharlatan) - #13543
6c6a300Add RISC-V support (laanwj) - #13177
dcb154eGCC-7 and glibc-2.27 back compat code (ken2812221) - #13659
90b1c7eadd missing leveldb defines (theuni) - #13368
c0f1569Update gitian-build.sh for docker (achow101) - #13171
19d8ca5Change gitian-descriptors to use bionic instead (ken2812221) - #13604
75bea05Add depends 32-bit arm support for bitcoin-qt (TheCharlatan) - #13623
9cdb19fMigrate gitian-build.sh to python (ken2812221) - #13689
8c36432disable Werror when building zmq (greenaddress) - #13617
cf7f9aerelease: Require macos 10.10+ (fanquake) - #13750
c883653use MacOS friendly sed syntax in qt.mk (Sjors) - #13095
415f2bfupdateax_boost_chrono/unit_test_framework(fanquake) - #13732
e8ffec6Fix Qt's rcc determinism (Fuzzbawls) - #13782
8284f1dFix osslsigncode compile issue in gitian-build (ken2812221) - #13696
2ab7208Add aarch64 qt depends support for cross compiling bitcoin-qt (TheCharlatan) - #13705
b413ba0Add format string linter (practicalswift) - #14000
48c8459fix qt determinism (theuni) - #14018
3e4829aBugfix: NSIS: ExcludeMakefile*from docs (luke-jr) - #12906
048ac83Avoidinterfacekeyword to fix windows gitian build (ryanofsky) - #13314
a9b6957Fix FreeBSD build by including utilstrencodings.h (laanwj)
- #13965
29899ecFix extended functional tests fail (ken2812221) - #14011
9461f98Disable wallet and address book Qt tests on macOS minimal platform (ryanofsky) - #14180
86fadeeRun all tests even if wallet is not compiled (MarcoFalke) - #14122
8bc1badTestrpc_help.pyfailed: Check whether ZMQ is enabled or not (Kvaciral) - #14101
96dc936Use named args in validation acceptance tests (MarcoFalke) - #14020
24d796aAdd tests for RPC help (promag) - #14052
7ff32a6Add some actual witness inrpc_rawtransaction(MarcoFalke) - #14215
b72fbabUse correct python index slices in example test (sdaftuar) - #14024
06544faAddTestNode::assert_debug_log(MarcoFalke) - #14658
60f7a97Add test to ensure node can generate all rpc help texts at runtime (MarcoFalke) - #14632
96f15e8Fix a comment (fridokus) - #14700
f9db08eAvoid race inp2p_invalid_blockby waiting for the block request (MarcoFalke) - #14845
67225e2Addwallet_balance.py(jnewbery) - #12447
01f931bAdd missing signal.h header (laanwj) - #12545
1286f3eUse wait_until to ensure ping goes out (Empact) - #12804
4bdb0ceFix intermittent rpc_net.py failure. (jnewbery) - #12553
0e98f96Prefer wait_until over polling with time.sleep (Empact) - #12486
cfebd40Round target fee to 8 decimals in assert_fee_amount (kallewoof) - #12843
df38b13Test starting bgoldd with -h and -version (jnewbery) - #12475
41c29f6Fix python TypeError in script.py (MarcoFalke) - #12638
0a76ed2Cache only chain and wallet for regtest datadir (MarcoFalke) - #12902
7460945Handle potential cookie race when starting node (sdaftuar) - #12904
6c26df0Ensure bgoldd processes are cleaned up when tests end (sdaftuar) - #13049
9ea62a3Backports (MarcoFalke) - #13201
b8aacd6Handle disconnect_node race (sdaftuar)- #110243e55f13Remove OldSetKeyFromPassphrase/OldEncrypt/OldDecrypt (practicalswift) - #10679
31b2612Document the non-DER-conformance of one test in tx_valid.json (schildbach) - #11160
ede386cImprove versionbits_computeblockversion test code consistency (danra) - #10303
f088a1bInclude ms/blk stats in Connect* benchmarks (kallewoof) - #10777
d81dccfAvoid redundant assignments. Remove unused variables (practicalswift) - #11260
52f8877travis: Assert default datadir isn't created, Run scripted diff only once (MarcoFalke) - #11271
638e6c5travis: filter out pyenv (theuni) - #11285
3255d63Add -usehd to excluded args in check-doc.py (MeshCollider) - #11297
16e4184Make sure ~/.bitcoin doesn't exist before build (MeshCollider) - #11311
cce94c5travis: Revert default datadir check (MarcoFalke) - #11300
f4ed44aAdd a lint check for trailing whitespace (MeshCollider) - #11323
4ce2f3dmininode: add an optimistic write and disable nagle (theuni) - #11370
2d85899Add getblockchaininfo functional test (promag) - #11365
f199b8aAdd Qt GUI tests to Overview and ReceiveCoin Page (anditto) - #11293
dbc4ae0Deduplicate CMerkleBlock construction code, add test coverage (jamesob) - #10440
9e8ef9dAdd libFuzzer support (practicalswift) - #10941
364da2cAdd blocknotify and walletnotify functional tests (promag) - #11420
8928093Bump univalue subtree and fix json formatting in tests (MarcoFalke) - #10099
424be03Slightly Improve Unit Tests for Checkqueue (JeremyRubin) - #11513
14b860bA few Python3 tidy ups (jnewbery) - #11486
2ca518dAdd uacomment tests (mess110) - #11452
02ac8c8Improve ZMQ functional test (promag) - #10409
b5545d8Add fuzz testing for BlockTransactions and BlockTransactionsRequest (practicalswift) - #11389
dd56166Support having segwit always active in regtest (sipa, ajtowns, jnewbery) - #11562
5776582bench: use std::chrono rather than gettimeofday (theuni) - #11182
f7388e9Add P2P interface to TestNode (jnewbery) - #11552
b5f9f02Improve wallet-accounts test (ryanofsky) - #11638
5e3f5e4Dead mininode code (jnewbery) - #11646
fe503e1Require a steady clock for bench with at least micro precision (TheBlueMatt) - #11468
76b3349Make comp test framework more debuggable (jnewbery) - #11623
ee92243Add missing locks to tests (practicalswift) - #11035
927e528[contrib] Add Valgrind suppressions file (practicalswift) - #11641
7adeea3Only allow disconnecting all NodeConns (MarcoFalke) - #11677
3bdf242Remove unused NodeConn members (MarcoFalke) - #11699
66d46c7[travis-ci] Only run linters on Pull Requests (jnewbery) - #11654
084f52fInitialize recently introduced non-static class member lastCycles to zero in constructor (practicalswift) - #11648
ccc70a2Add messages.py (jnewbery) - #11713
49667a7Fix for mismatched extern definition in wallet tests (sipsorcery) - #11707
0d89fa0Fix sendheaders (jnewbery) - #11718
9cdd2bcMove pwalletMain to wallet test fixture (laanwj) - #11714
901ba3eTest that mempool rejects coinbase transactions (jamesob) - #11743
3d6ad40Add multiwallet prefix test (MarcoFalke) - #11683
a892218Remove unused mininode functions {ser,deser}_int_vector(...). Remove unused imports (practicalswift) - #11712
9f2c2dbSplit NodeConn from NodeConnCB (jnewbery) - #11791
13e31ddRename NodeConn and NodeConnCB (jnewbery) - #11835
f60b4adAdd Travis check for unused Python imports (practicalswift) - #11849
ad1820cAssert that only one NetworkThread exists (jnewbery) - #11877
d4991c0Improve createrawtransaction functional tests (promag) - #11220
2971fd0Check specific validation error in miner tests (Sjors) - #11947
797441eFix rawtransactions test (laanwj) - #11946
8049241Remove unused variable (firstAddrnServices) (practicalswift) - #11867
18a1bbaImprove node network test (jnewbery) - #11883
cfd99ddAdd configuration file/argument testing (MeshCollider) - #11879
d4e404aRemove redundant univalue_tests.cpp (jnewbery) - #11748
20166f8Adding unit tests for GetDifficulty in blockchain.cpp (merehap) - #11517
5180a86Improve benchmark precision (martinus) - #11291
a332a7dFix string concatenation to os.path.join and add exception case (dongsam) - #11965
d38d1a3Note on test order in test_runner (MarcoFalke) - #11997
ddff344util_tests.cpp: actually check ignored args (ajtowns) - #12079
45173faImprove prioritisetransaction test coverage (promag) - #12150
92a810dFix ListCoins test failure due to unset g_address_type, g_change_type (ryanofsky) - #12133
1d2eabaFix rare failure in p2p-segwit.py (sdaftuar) - #12082
0910cbeAdding test case for SINGLE|ANYONECANPAY hash type in tx_valid.json (Christewart) - #11796
4db16ecFunctional test naming convention (ajtowns) - #12227
b987ca4test_runner: Readable output if create_cache.py fails (ryanofsky) - #12089
126000bMake TestNodeCLI command optional in send_cli (MarcoFalke) - #11774
6970b30Rename functional tests (ajtowns) - #12264
598a9c4Fix versionbits warning test (jnewbery) - #12217
1213be6Add missing syncwithvalidationinterfacequeue to tests (MarcoFalke) - #12292
eebe458Fix names of excluded extended tests for travis (ajtowns) - #11789
60d739e[travis-ci] Combine logs on failure (jnewbery) - #11838
3e50024Add getrawtransaction in_active_chain=False test (MarcoFalke) - #12206
898f560Sync with validationinterface queue in sync_mempools (MarcoFalke) - #12424
ff44101Fix rescan test failure due to unset g_address_type, g_change_type (ryanofsky) - #12388
e2431d1travis: Full clone for git subtree check (MarcoFalke) - #13061
170b309Make tests pass after 2020 (bmwiedemann) - #13192
79c4fff[tests] Fixed intermittent failure inp2p_sendheaders.py(lmanners) - #13300
d9c5630qa: Initialize lockstack to prevent null pointer deref (MarcoFalke) - #13545
e15e3a9tests: Fix test casestreams_serializedata_xorRemove Boost dependency. (practicalswift) - #13304
cbdabefqa: Fixwallet_listreceivedbyrace (MarcoFalke) - #12252
8d57319Require all tests to follow naming convention (ajtowns) - #12295
935eb8dEnable flake8 warnings for all currently non-violated rules (practicalswift) - #11858
b4d8549Prepare tests for Windows (MarcoFalke) - #11771
2dbc4a4Change invalidtxrequest to use BitcoinTestFramework (jnewbery) - #12200
d09968fBind functional test nodes to 127.0.0.1 (Sjors) - #12425
26dc2daAdd some script tests (richardkiss) - #12455
23481faFix bip68 sequence test to reflect updated rpc error message (Empact) - #12477
acd1e61Plug memory leaks and stack-use-after-scope (MarcoFalke) - #12443
07090c5Move common args to bitcoingold.conf (MarcoFalke) - #12570
39dcac2Add test cases for HexStr (std::reverse_iteratorand corner cases) (kostaz) - #12582
6012f1cFix ListCoins test failure due to unsetg_wallet_allow_fallback_fee(ryanofsky) - #12516
7f99964Avoid unintentional unsigned integer wraparounds in tests (practicalswift) - #12512
955fd23Don't test against the mempool min fee information in mempool_limit.py (Empact) - #12600
29088b1Add a test for large tx output scripts with segwit input (richardkiss) - #12627
791c3eaFix some tests to work on native windows (MarcoFalke) - #12405
0f58d7ftravis: Full clone for git subtree check (MarcoFalke) - #11772
0630974Change invalidblockrequest to use BitcoinTestFramework (jnewbery) - #12681
1846296Fix ComputeTimeSmart test failure with-DDEBUG_LOCKORDER(ryanofsky) - #12682
9f04c8etravis: Clone depth 1 unless$check_doc(MarcoFalke) - #12710
00d1680Append scripts to newtest_listarray to fix bad assignment (jeffrade) - #12720
872c921Avoiding 'file' function name from python2 (jeffrade) - #12728
4ba3d4frename TestNode to TestP2PConn in tests (jnewbery) - #12746
2405ce1Remove unused argumentmax_invalidfromcheck_estimates(…)(practicalswift) - #12718
185d484Require exact match inassert_start_raises_init_eror(jnewbery, MarcoFalke) - #12076
6d36f59Use node.datadir instead of tmpdir in test framework (MarcoFalke) - #12772
b43aba8ci: Bump travis timeout for make check to 50m (jnewbery) - #12806
18606ebFix function names infeature_blocksdir(MarcoFalke) - #12811
0d8fc8dMake summary row bold-red if any test failed and show failed tests at end of table (laanwj) - #12790
490644dUse blockmaxweight where tests previously had blockmaxsize (conscott) - #11773
f0f9732Changefeature_block.pyto use BitcoinTestFramework (jnewbery) - #12839
40f4bafRemove travis checkout depth (laanwj) - #11817
2a09a78Changefeature_csv_activation.pyto use BitcoinTestFramework (jnewbery) - #12284
fa5825dRemove assigned but never used local variables. Enable Travis checking for unused local variables (practicalswift) - #12719
9beded5Add note about test suite naming convention in developer-notes.md (practicalswift) - #12861
c564424Stopfeature_block.pyfrom blowing up memory (jnewbery) - #12851
648252etravis: Run verify-commits only on cron jobs (MarcoFalke) - #12853
2106c4cMatch full plain text by default (MarcoFalke) - #11818
9a2db3bI accidentally (deliberately) killed it (the ComparisonTestFramework) (jnewbery) - #12766
69310a3Tidy up REST interface functional tests (romanz) - #12849
83c7533Add logging in loops inp2p_sendhears.py(ccdle12) - #12895
d6f10b2Add note about test suite name uniqueness requirement to developer notes (practicalswift) - #12856
27278dfAdd Metaclass for BitcoinTestFramework (WillAyd) - #12918
6fc5a05Assert on correct variable (kallewoof) - #11878
a04440fAdd Travis check for duplicate includes (practicalswift) - #12917
cf8073fWindows fixups for functional tests (MarcoFalke) - #12926
dd1ca9eRun unit tests in parallel (sipa) - #12920
b1fdfc1Fix sign for expected values (kallewoof) - #12947
979f598Wallet hd functional test speedup and clarification (instagibbs) - #12993
0d69921Remove compatibility code not needed now when we're on Python 3 (practicalswift) - #12996
6a278e0Remove redundant bytes(…) calls (practicalswift) - #12949
6b46288Avoid copies of CTransaction (MarcoFalke) - #13007
0d12570Fix dangling wallet pointer in vpwallets (promag) - #13048
cac6d11Fixfeature_blockflakiness (jnewbery) - #12510
d5b2e98Addrpc_bindtest to default-run tests (laanwj) - #13022
896a9d0Attach node index totest_nodeAssertionError and print messages (jamesob) - #13024
018c7e5Add rpcauth pair that generated by rpcauth.py (ken2812221) - #13013
a0079d4bench: Amendmempool_evictiontest for witness txs (MarcoFalke) - #13051
e074097Normalize executable location (MarcoFalke) - #13056
106d929Make rpcauth.py testable and add unit tests (nixbox) - #13073
a785bc3add rpcauth-test toAC_CONFIG_LINKSto fix out-of-tree make check (laanwj) - #12830
25ad2f7Clarify address book error messages, add tests (jamesob) - #13082
24106a8don't test against min relay fee information inmining_prioritisetransaction.py(kristapsk) - #13003
8d045a0Add test for orphan handling (MarcoFalke) - #13105
9e9b48dAdd --failfast option to functional test runner (jamesob) - #13130
3186ad4Fix race inrpc_deprecated.py(jnewbery) - #13136
baf6b4eFix flake8 warnings in several wallet functional tests (jnewbery) - #13094
bf9b03dAdd test for 64-bit Windows PE, modify 32-bit test results (ken2812221) - #13183
9458b05travis: New travis job forcheck_docssteps (glaksmono) - #12265
1834d4dfundrawtransaction: lock watch-only shared address (kallewoof) - #13188
4a50ec0Remove unused option --srcdir (MarcoFalke) - #12755
612ba35Better stderr testing (jnewbery) - #13198
196c5a9Avoid printing to console during cache creation (sdaftuar) - #13075
cb9bbf7Remove 'account' API from wallet functional tests (jnewbery) - #13221
ffa86aftravis: Rename the build stagecheck_doctolint(practicalswift) - #13205
3cbd25fRemove spurious error log inp2p_segwit.py(jnewbery) - #13291
536120eDon't include torcontrol.cpp into the test file (Empact) - #13281
2ac6315Move linters to test/lint, add readme (MarcoFalke) - #13215
f8a29catravis: Build tests on ubuntu 18.04 with docker (ken2812221) - #13349
24f7011bench: Don't return a bool from main (laanwj) - #13347
87a9d03travis: Skip cache for lint stage (MarcoFalke) - #13355
0b1c0c4Fix "gmake check" under OpenBSD 6.3 (probably*BSD): Avoid using GNU grep specific regexp handling (practicalswift) - #13353
d4f6dacFixup setting of PATH env var (MarcoFalke) - #13352
e24bf1cAvoid checking reject code for now (MarcoFalke) - #13383
2722a1fbench: Use non-throwing parsedouble(…) instead of throwing boost::lexical_cast(…) (practicalswift) - #13367
264efdcIncrease includeconf test coverage (MarcoFalke) - #13404
3d3d8aespeed up oftx_validationcache_testsby reusing of CTransaction (lucash-dev) - #13421
531a033Removeportseed_offsetfrom test runner (MarcoFalke) - #13440
5315660Log as utf-8 (MarcoFalke) - #13066
fa4b906Migrate verify-commits script to python, run in travis (ken2812221) - #13447
4b1edd3travis: Increasetravis_waittime while verifying commits (ken2812221) - #13350
f532d52Add logging to provide anchor points when debugging p2p_sendheaders (lmanners) - #13406
4382f19travis: Change mac goal to all deploy (ken2812221) - #13457
b222138Drop variadic macro (MarcoFalke) - #13512
3a45493mininode: Expose connection state throughis_connected(MarcoFalke) - #13496
9ab4c2aHarden lint-filenames.sh (wodry) - #13219
08516e0bench: Add block assemble benchmark (MarcoFalke) - #13530
b1dc39dbench: Add missing pow.h header (laanwj) - #12686
2643fa5Add -ftrapv to CFLAGS and CXXFLAGS when --enable-debug is used. Enable -ftrapv in Travis (practicalswift) - #12882
d96bdd7Maketest_bitcoinpass under ThreadSanitzer (clang). Fix lock-order-inversion (potential deadlock) (practicalswift) - #13535
2328039wallet_basic: Specify minimum required amount for listunspent (MarcoFalke) - #13551
c93c360Fix incorrect documentation for test casecuckoocache_hit_rate_ok(practicalswift) - #13563
b330f3fbench: Simplify coinselection (promag) - #13517
a6ed99aRemove need to handle the network thread in tests (MarcoFalke) - #13522
686e97aFixp2p_sendheadersrace (jnewbery) - #13467
3dc2dcfMakep2p_segwiteasier to debug (jnewbery) - #13598
0212187bench: Fix incorrect behaviour in prevector.cpp (AkioNak) - #13565
b05ded1Fix AreInputsStandard test to reference the proper scriptPubKey (Empact) - #13145
d3dae3dUse common getPath method to create temp directory in tests (winder) - #13645
2ea7eb6skiprpc_zmqfunctional test as necessary (jamesob) - #13626
8f1106dFix some TODOs inp2p_segwit(MarcoFalke) - #13138
8803c91Remove accounts fromwallet_importprunedfunds.py(jnewbery) - #13663
cbc9b50Avoid read/write to default datadir (MarcoFalke) - #13682
f8a32a3bench: Remove unused variable (practicalswift) - #13638
6fcdb5eUseMAX_SCRIPT_ELEMENT_SIZEfrom script.py (domob1812) - #13687
9d26b69travis: Check that ~/.bitcoin is never created (MarcoFalke) - #13715
e1260a7fixes mininode's P2PConnection sending messages on closing transport (marcoagner) - #13729
aa9429atravis: Avoid unnecessarily setting env variables on the lint build (Empact) - #13747
ab28b5bSkip P2PConnection'sis_closing()check when not available (domob1812) - #13650
7a9bca6travis: Don't store debug info if --enable-debug is set (ken2812221) - #13711
f98d1e0bench: Add benchmark for unserialize prevector (AkioNak) - #13771
365384ftravis: Retry to fetch docker image (MarcoFalke) - #13806
4d550ffFixbench/block_assembleassert failure (jamesob) - #13779
d25079atravis: Improve readability of travis.yml and log outputs (scravy) - #13822
0fb9c87bench: Make coinselection output groups pass eligibility filter (achow101) - #13247
e83d82aAdd tests to SingleThreadedSchedulerClient() and document the memory model (skeees) - #13811
660abc1travis: Runbench_bitcoinonce (MarcoFalke) - #13837
990e182Extractrpc_timewaitas test param (MarcoFalke) - #13851
9c4324dfix locale for lint-shell (scravy) - #13823
489b51bquote path in authproxy for external multiwallets (MarcoFalke) - #13849
2b67354travis: Use only travis jobs: instead of mix of jobs+matrix (scravy) - #13859
2384323Add emojis totest_runnerpath and wallet filename (MarcoFalke) - #13916
8ac7125wait_for_verackby default (MarcoFalke) - #13669
f66e1c7Cleanupcreate_transactionimplementations (conscott) - #13924
09ada21Simplify comparison inrpc_blockchain.py(domob1812) - #13913
a08533cRemove redundant checkmempool/checkblockindexextra_args(MarcoFalke) - #13915
a04888aAdd test for max number of entries in locator (MarcoFalke) - #13867
1b04b55Make extended tests pass on native Windows (MarcoFalke) - #13944
0df7a6cPort usage of deprecated optparse module to argparse module (Kvaciral) - #13928
b8eb0dfblocktools enforce named args for amount (MarcoFalke) - #13054
bffb35fEnable automatic detection of undefined names in Python tests scripts. Remove wildcard imports (practicalswift) - #14069
cf3d7f9Use assert notBOOST_CHECK_*from multithreaded tests (skeees) - #14071
fab0fbeStop txindex thread before calling destructor (MarcoFalke)
- #10680
6366941Fix inconsistencies and grammar in various files (MeshCollider) - #11011
7db65c3Add a comment on the use of prevector in script (gmaxwell) - #10878
c58128fFix Markdown formatting issues in init.md (dongcarl) - #11066
9e00a62Document the preference of nullptr over NULL or (void*)0 (practicalswift) - #11094
271e40aHash in ZMQ hash is raw bytes, not hex (runn1ng) - #11026
ea3ac59Bugfix: Use testnet RequireStandard for -acceptnonstdtxn default (luke-jr) - #11058
4b65fa5Comments: More comments on functions/globals in standard.h (jimpo) - #11112
3f726c9[developer-notes] By default, declare single-argument constructors "explicit" (practicalswift) - #11155
a084767Trivial: Documentation fixes for CVectorWriter ctors (danra) - #11136
108222bDocs: Add python3 to list of dependencies on some platforms (danra) - #11216
81f8c03Update hmac_sha256.h (utsavgupta) - #11236
ba05971Add note on translations to CONTRIBUTING.md (MeshCollider) - #11173
4eb1f39RPC: Fix currency unit string in the help text (AkioNak) - #11135
21e2f2fUpdate developer notes with RPC response guidelines (promag) - #11219
bcc8a62explain how to recompile a modified unit test (Sjors) - #10779
f656147Create dependencies.md (flack) - #10682
2a56bafMove the AreInputsStandard documentation next to its implementation (esneider) - #11276
ee50c9eUpdate CONTRIBUTING.md to reduce unnecessary review workload (jonasschnelli) - #11264
b148803Fix broken Markdown table in dependencies.md (practicalswift) - #10691
ce82985Properly comment about shutdown process in init.cpp file (wraith7) - #11330
ae233c4Fix comments for DEFAULT_WHITELIST[FORCE]RELAY (danra) - #11340
d6d2c85Fix validation comments (danra) - #11305
2847480Update release notes and manpages for 0.16 (MarcoFalke) - #11132
551d7bfDocument assumptions that are being made to avoid NULL pointer dereferences (practicalswift) - #11390
12ed800Document scripted-diff (jnewbery) - #11392
a3b4c59Fix stale link in gitian-building.md (shooterman) - #11401
4202273Move gitian building to external repo (MarcoFalke) - #11414
bbc901dRemove partial gitian build instructions from descriptors dir (fanquake) - #11571
c95832dFixed a couple small grammatical errors (BitsInMyBlood) - #11624
f9b74efChange formatting for sequence of steps (vivganes) - #11597
6f01dcfFix error messages in CFeeBumper (kallewoof) - #11438
7fbf3c6Updated Windows build doc for WSL/Xenial workaround (sipsorcery) - #11663
41aa9c4Add getreceivedbyaddress release notes (MarcoFalke) - #11533
cbb54e7Update WSL installation notes for Fall Creators update (Thoragh) - #11680
4db82b7Add instructions for lcov report generation (jamesob) - #11686
54aedc0Make ISSUE_TEMPLATE a bit shorter, mention hardware tests (TheBlueMatt) - #11704
ea68190Windows build doc update (sipsorcery) - #11706
5197100Make default issue text all comments to make issues more readable (TheBlueMatt) - #11140
1429132Improve #endif comments (danra) - #11729
7a43fbblinks to code style guides (Sjors) - #11793
8879d50Bump OS X version to 10.13 (Varunram) - #11783
16fff80Fix shutdown in case of errors during initialization (laanwj) - #11804
00d25e9Fixed outdated link with archive.is (TimothyShimmin) - #11960
4307062Fix link to installation script (laudaa) - #12027
63a4dc1Remove boost --c++ flag from osx build instructions (fernandezpablo85) - #12062
5961b23Increment MIT Licence copyright header year on files modified in 2017 (akx20000a) - #12063
36a5a44Update license year range to 2018 (akx20000a) - #12093
5691028Fix incorrect Markdown link (practicalswift) - #12143
b0d626dFix link for BIP159 pull request (azuchi) - #12112
3c62868Remove the ending slashes from RPC URI format (jackycjh) - #12166
e839d65Clarify -walletdir usage (jnewbery) - #12241
b030133Fix incorrect link in /test/ README.md (fanquake) - #12187
b5e4b9bUpdating benchmarkmarking.md with an updated sample output (jeffrade) - #12294
7cf1aeaCreate NetBSD build instructions and fix compilation (fanquake) - #12251
cc5870ainitwallet: Do not translate highly technical addresstype help (MarcoFalke) - #11984
efae366Update OpenBSD build instructions for 6.2 (cont'd) (laanwj) - #12293
9d9c418Mention that HD is enabled if hdmasterkeyid is present in getwalletinfo RPC help (fanquake) - #12077
c04cb48Correctsendmanycurl example (251Labs) - #10677
b3ecb7bDocument that addmultisigaddress is intended for non-watchonly addresses (instagibbs) - #12177
cad504bFix address_type help text of getnewaddress and getrawchangeaddress (mruddy) - #12306
216f9a4Improvements to UNIX documentation (axvr) - #12309
895fbd7Explain how to update chainTxData in release process (laanwj) - #12317
85123beDocument method for reviewers to verify chainTxData (jnewbery) - #12331
d32528eProperly alphabetize output of CLI --help option (murrayn) - #12322
c345148Remove step making cloned repository world-writable for Windows build (murrayn) - #12354
b264528add gpg key for fivepiece (fivepiece) - #11761
89005ddinitial QT documentation (Sjors) - #12232
fdc2188Improve "Turn Windows Features On or Off" step (MCFX2) - #12487
4528f74init: Remove translation for-blockmaxsizeoption help (laanwj) - #12546
a4a5fc7Minor improvements to Compatibility Notes (randolf) - #12434
21e2670dev-notes: Members should be initialized (MarcoFalke) - #12452
71f56daclarified systemd installation instructions in init.md for Ubuntu users (DaveFromBinary) - #12615
1f93491allow for SIGNER containing spaces (ken2812221) - #12603
85424d7PeerLogicValidation interface (jamesob) - #12581
12ac2f0Mention configure without wallet in FreeBSD instructions (dbolser) - #12619
8a709fbGive hint about gitian not able to download (kallewoof) - #12668
de2fcaado update before fetching packages in WSL build guide (nvercamm) - #12586
e7721e6Update osx brew install instruction (fanquake) - #12760
7466a26Improve documentation on standard communication channels (jimpo) - #12797
0415b1einit: Fix help message for checkblockindex (MarcoFalke) - #12800
2d97611Add note about our preference for scoped enumerations ("enum class") (practicalswift) - #12798
174d016Refer to witness reserved value as spec. in the BIP (MarcoFalke) - #12759
d3908e2Improve formatting of developer notes (eklitzke) - #12877
2b54155Use bgoldd in Tor documentation (knoxcard) - #12896
b15485eFix conflicting statements about initialization in developer notes (practicalswift) - #12850
319991dadd qrencode to brew install instructions (buddilla) - #12007
cd8e45bClarify the meaning of fee delta not being a fee rate in prioritisetransaction RPC (honzik666) - #12927
06ead15fixed link, replaced QT with Qt (trulex) - #12852
ebd786bdevtools: Setup ots git integration (MarcoFalke) - #12933
3cf76c2Refine header include policy (MarcoFalke) - #12951
6df0c6cFix comment in FindForkInGlobalIndex (jamesob) - #12982
a63b4e3Fix inconsistent namespace formatting guidelines (ryanofsky) - #13026
9b3a67eFix include comment in src/interfaces/wallet.h (promag) - #13012
d1e3c5eAdd comments for chainparams.h, validation.cpp (jamesob) - #13064
569e381List support for BIP173 in bips.md (sipa) - #12997
646b7f6build-windows: Switch to Artful, since Zesty is EOL (MarcoFalke) - #12384
c5f7efeAdd version footnote to tor.md (Willtech) - #13165
627c376Mention good first issue list in CONTRIBUTING.md (fanquake) - #13295
fb77310Update OpenBSD build instructions for OpenBSD 6.3 (practicalswift) - #13340
3a8e3f4remove leftover check-doc documentation (fanquake) - #13346
60f0358update bitcoin-dot-org links in release-process.md (fanquake) - #13372
f014933split FreeBSD build instructions out of build-unix.md (steverusso) - #13366
861de3bRename “OS X” to the newer “macOS” convention (giulio92) - #13369
f8bcef3update transifex doc link (mess110) - #13312
b22115dAdd a note about the source code filename naming convention (practicalswift) - #13460
1939536Remove note to install all boost dev packages (MarcoFalke) - #13476
9501938Fix incorrect shell quoting in FreeBSD build instructions (murrayn) - #13402
43fa355Document validationinterace callback blocking deadlock potential (TheBlueMatt) - #13488
d6cf4bdImprove readability of "Squashing commits" (wodry) - #13531
ee02debClarify that mempool txiter isconst_iterator(MarcoFalke) - #13418
01f9098More precise explanation of parameter onlynet (wodry) - #13592
1756cb4Modify policy to not translate command-line help (ken2812221) - #13588
b77c38eImprove doc of options addnode, connect, seednode (wodry) - #13614
17e9106Update command line help for -printtoconsole and -debuglogfile (satwo, fanquake) - #13605
8cc048ecorrected text to reflect new(er) process of specifying fingerprints (jhfrontz) - #13481
b641f60Rewrite some validation docs as lock annotations (MarcoFalke) - #13680
30640f8Remove outdated comment about miner ignoring CPFP (jamesob) - #13625
7146672Add release notes for -printtoconsole and -debuglogfile changes (satwo) - #13718
f7f574dSpecify preferred Python string formatting technique (masonicboom) - #12764
10b9a81Remove field in getblocktemplate help that has never been used (conscott) - #13742
d2186b3Adjust bitcoincore.org links (MarcoFalke) - #13706
94dd89eMinor improvements to release-process.md (MitchellCash) - #13775
ef4fac0Remove newlines from error message (practicalswift) - #13803
feb7dd9add note to contributor docs about warranted PR's (kallewoof) - #13814
67af7efAdd BIP174 to list of implemented BIPs (sipa) - #13835
c1cba35Fix memory consistency model in comment (skeees) - #13824
aa30e4bRemove outdated net comment (MarcoFalke) - #13853
317477acorrect versions in dependencies.md (fanquake) - #13872
37ab117Reformat -help output for help2man (real-or-random) - #13717
8c3c402Link to python style guidelines from developer notes (masonicboom) - #13895
1cd5f2cfix GetWarnings docs to reflect behavior (Empact) - #13911
3e3a50aRevert translated string change, clarify wallet log messages (PierreRochard) - #13908
d6faea4upgrade rescan time warning from minutes to >1 hour (masonicboom) - #13905
73a09b4fixed bgold-cli -help output for help2man (hebasto) - #14100
2936dbcChange documentation for =0 for non-boolean options (laanwj) - #14096
465a583Add reference documentation for descriptors language (sipa) - #12757
0c5f67bClarify include guard naming convention (practicalswift) - #13844
d3325b0Correct the help output for-prune(hebasto)
- #9964
b6a4891Add const to methods that do not modify the object for which it is called (practicalswift) - #10965
655970dReplace deprecated throw() with noexcept specifier (C++11) (practicalswift) - #10645
c484ec6Use nullptr (C++11) instead of zero (0) as the null pointer constant (practicalswift) - #10901
22e301aFix constness of ArgsManager methods (promag) - #10969
4afb5aaDeclare single-argument (non-converting) constructors "explicit" (practicalswift) - #11071
dbf6bd6Use static_assert(…, …) (C++11) instead of assert(…) where appropriate (practicalswift) - #10809
c559884optim: mark a few classes final (theuni) - #10843
2ab7c63Add attribute noreturn (C++11) to functions that will not return (practicalswift) - #11151
7fd49d0Fix header guards using reserved identifiers (danra) - #11138
2982511Compat: Simplify bswap_16 implementation (danra) - #11161
745bbdcRemove redundant explicitly defined copy ctors (danra) - #11144
cee4fe1Move local include to before system includes (danra) - #10781
60dd9ccPython cleanups (practicalswift) - #10701
50fae68Remove the virtual specifier for functions with the override specifier (practicalswift) - #11164
38a54a5Fix boost headers included as user instead of system headers (danra) - #11143
3aa60b7Fix include path for bitcoin-config.h (danra) - #8330
59e1789Structure Packing Optimizations in C{,Mutable}Transaction (JeremyRubin) - #10845
39ae413Remove unreachable code (practicalswift) - #11238
6acdb1fAdd assertions before potential null deferences (MeshCollider) - #11259
089b742Remove duplicate destination decoding (promag) - #11232
2f0d3e6Ensure that data types are consistent (jjz) - #10793
efb4383Changing &var[0] to var.data() (MeshCollider) - #11196
e278f86Switch memory_cleanse implementation to BoringSSL's to ensure memory clearing even with -lto (maaku) - #10888
9821274range-based loops and const qualifications in net.cpp (benma) - #11351
6c4fecfRefactor: Modernize disallowed copy constructors/assignment (danra) - #11385
94c9015Remove some unused functions and methods (sipa) - #11301
8776787add m_added_nodes to connman options (benma) - #11432
058c0f9Remove unused fTry from push_lock (promag) - #11107
e93fff1Fix races in AppInitMain and others with lock and atomic bools (MeshCollider) - #9572
17f2aceSkip witness sighash cache for non-segwit transactions (jl2012) - #10961
da0478eImprove readability of DecodeBase58Check(...) (practicalswift) - #11133
a865b38Document assumptions that are being made to avoid division by zero (practicalswift) - #11073
3bb77ebRemove dead store in ecdsa_signature_parse_der_lax (BitonicEelis) - #10898
470c730Fix invalid checks (NULL checks after dereference, redundant checks, etc.) (practicalswift) - #11495
50d72b3[trivial] Make namespace explicit for is_regular_file (jnewbery) - #11511
db2f83e[Init] Remove redundant exit(EXIT_FAILURE) instances and replace with return false (donaloconnor) - #10866
ef8a634Fix -Wthread-safety-analysis warnings. Compile with -Wthread-safety-analysis if available (practicalswift) - #11221
0dec4ccRefactor: simpler read (gnuser) - #10696
ef3758dRemove redundant nullptr checks before deallocation (practicalswift) - #11043
5e9be16Use std::unique_ptr (C++11) where possible (practicalswift) - #11353
05a7619Small refactor of CCoinsViewCache::BatchWrite() (danra) - #10749
2adbddbUse compile-time constants instead of unnamed enumerations (remove "enum hack") (practicalswift) - #11603
a933cb1Move RPC registration out of AppInitParameterInteraction (ryanofsky) - #11722
26efc22Switched sync.{cpp,h} to std threading primitives (tjps) - #10493
fbce66aUse range-based for loops (C++11) when looping over map elements (practicalswift) - #11337
0d7e0a3Fix code constness in CBlockIndex::GetAncestor() overloads (danra) - #11516
0e722e8crypto: Add test cases covering the relevant HMAC-SHA{256,512} key length boundaries (practicalswift) - #10574
5d132e8Remove includes in .cpp files for things the corresponding .h file already included (practicalswift) - #11884
66479c0Remove unused include in hash.cpp (kallewoof) - #10839
c66adb2Don't use pass by reference to const for cheaply-copied types (bool, char, etc.) (practicalswift) - #10657
79399c8Utils: Improvements to ECDSA key-handling code (str4d) - #12250
e37ca2bMake CKey::Load references const (ryanofsky) - #12108
9220426Remove unused fQuit var from checkqueue.h (donaloconnor) - #12159
f3c7062Use the character based overload for std::string::find (kekimusmaximus) - #12266
3448907Move scheduler/threadGroup into common-init instead of per-app (TheBlueMatt)
- #12518
a17fecfBump leveldb subtree (MarcoFalke) - #12442
f3b8d85devtools: Exclude patches from lint-whitespace (MarcoFalke) - #12988
acdf433Hold cs_main while calling UpdatedBlockTip() signal (skeees) - #12985
0684cf9Windows: Avoid launching as admin when NSIS installer ends. (JeremyRand) - #13655
1cdbea7bitcoinconsensus: invalid flags error should be set tobitcoinconsensus_err(afk11) - #11246
777519bgithub-merge: Coalesce git fetches (laanwj) - #10871
c9a4aa8Handle getinfo in bgold-cli w/ -getinfo (revival of #8843) (achow101) - #11419
093074bUtils: Fix launchctl not being able to stop bgoldd (OmeGak) - #11394
6e4e98ePerform a weaker subtree check in Travis (sipa) - #11702
4122112[build] Add a script for installing db4 (jamesob) - #11794
dd49862Prefix leveldb debug logging (laanwj) - #11781
24df9afAdd-debuglogfileoption (laanwj) - #10773
c17f11fShell script cleanups (practicalswift) - #11829
7630a1fTest datadir specified in conf file exists (MeshCollider) - #11836
d44535dRename rpcuser.py to rpcauth.py (hkjn) - #11831
d48ab83Always return true if AppInitMain got to the end (TheBlueMatt) - #11943
1808660contrib: fix typo in install_db4.sh help message (laanwj) - #12075
c991b30[scripts] Add missing univalue file to copyright_header.py (fanquake) - #12197
000ac4fLog debug build status and warn when running benchmarks (laanwj) - #10672
6ab0e4cAvoid division by zero in the case of a corrupt estimates file (practicalswift) - #11273
cdd6bbfIgnore old format estimation file (Xekyo) - #11951
1fb34e0Remove dead feeest-file read code for old versions (TheBlueMatt) - #11421
9ccafb1Merge current secp256k1 subtree (MarcoFalke) - #11573
2631d55[Util] Update tinyformat.h (fanquake) - #10529
331352fImprove bgoldd systemd service file (Flowdalic) - #11620
70fec9e[build] .gitignore: add background.tiff (Sjors) - #11558
68e021eMinimal code changes to allow msvc compilation (sipsorcery) - #11284
10bee0dFix invalid memory access in CScript::operator+= (guidovranken, ajtowns) - #10939
a1f7f18[init] Check non-emptiness of -blocknotify command prior to executing (practicalswift) - #11467
937613dFix typos. Use nullptr instead of NULL (practicalswift) - #11834
5bea05b[verify-commits] Fix gpg.sh's echoing for commits with '\n' (TheBlueMatt) - #11830
a13e443rpcuser.py: Use 'python' not 'python2' (hkjn) - #12194
7abb0f0Add change type option to fundrawtransaction (promag) - #12269
2ae7cf8Update defaultAssumeValid to block 506067 (gmaxwell) - #11952
9ab9963univalue: Bump subtree (MarcoFalke) - #12367
09fc859Fix two fast-shutdown bugs (TheBlueMatt) - #12422
4d54e7autil: Make LockDirectory thread-safe, consistent, and fix OpenBSD 6.2 build (laanwj) - #12887
2291774Add newlines to end of log messages (jnewbery) - #12859
18b0c69Bugfix: Include forstd::unique_ptr(luke-jr) - #13131
ce8aa54Add Windows shutdown handler (ken2812221) - #13652
20461fcrpc: Fix that CWallet::AbandonTransaction would leave the grandchildren, etc. active (Empact) - #11909
8897135contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke) - #12394
fe53d5fgitian-builder.sh: fix --setup doc, since lxc is default (Sjors) - #12468
294a766Add missing newline in init.cpp log message (Aesti) - #12308
dcfe218contrib: Add support for out-of-tree builds in gen-manpages.sh (laanwj) - #12451
aae64a2Bump leveldb subtree (MarcoFalke) - #12527
d77b4a7gitian-build.sh: fix signProg being recognized as two parameters (ken2812221) - #12588
d74b01dutils: Remove deprecated pyzmq call from python zmq example (kosciej) - #10271
bc67982Usestd::thread::hardware_concurrency, instead of Boost, to determine available cores (fanquake) - #12097
14475e2scripts: Lint-whitespace: use perl instead of grep -p (Sjors) - #12098
17c44b2scripts: Lint-whitespace: add param to check last n commits (Sjors) - #11900
842f61ascript: Simplify checkminimalpush checks, add safety assert (instagibbs) - #12567
bb98aecutil: Print timestamp strings in logs using iso 8601 formatting (practicalswift) - #12572
d8d9162script: Lint-whitespace: find errors more easily (AkioNak) - #10694
ae5bcc7Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) (practicalswift) - #12659
3d16f58Improve Fatal LevelDB Log Messages (eklitzke) - #12643
0f0229dutil: Remove unusedsync_chain(MarcoFalke) - #12102
7fb8fb4Apply hardening measures in bgoldd systemd service file (Flowdalic) - #12652
55f490abgold-cli: Provide a better error message when bgoldd is not running (practicalswift) - #12630
c290508Provide useful error message if datadir is not writable (murrayn) - #11881
624bee9Remove Python2 support (jnewbery) - #12821
082e26ccontrib: Remove unused import string (MarcoFalke) - #12829
252c1b0Python3 fixup (jnewbery) - #12822
ff48f62Revert 7deba93bdc76616011a9f493cbc203d60084416f and fix expired-key-sigs properly (TheBlueMatt) - #12820
5e53b80contrib: Fix check-doc script regexes (MarcoFalke) - #12713
4490871Track negated options in the option parser (eklitzke) - #12708
b2e5fe8Make verify-commits.sh test that merges are clean (sipa) - #12891
3190785logging: Add lint-logs.sh to check for newline termination (jnewbery) - #12923
a7cbe38util: Passpthread_self()topthread_setschedparaminstead of 0 (laanwj) - #12871
fb17faeAdd shell script linting: Check for shellcheck warnings in shell scripts (practicalswift) - #12970
5df84delogging: Bypass timestamp formatting when not logging (theuni) - #12987
fe8fa22tests/tools: Enable additional Python flake8 rules for automatic linting via Travis (practicalswift) - #12972
0782508Add python3 script shebang lint (ken2812221) - #13004
58bbc55Print to console by default when not run with -daemon (practicalswift) - #13039
8b4081aAdd logging and error handling for file syncing (laanwj) - #13020
4741ca5Consistently log CValidationState on call failure (Empact) - #13031
826acc9Fix for utiltime to compile with msvc (sipsorcery) - #13119
81743b5Remove script to clean up datadirs (MarcoFalke) - #12954
5a66642util: Refactor logging code into a global object (jimpo) - #12769
35eb9d6Add systemd service to bgoldd in debian package (ghost) - #13146
0bc980brpcauth: Make it possible to provide a custom password (laanwj) - #13148
b62b437logging: Fix potential use-after-free in logprintstr(…) (practicalswift) - #13214
0612d96Enable Travis checking for two Python linting rules we are currently not violating (practicalswift) - #13197
6826989util: Warn about ignored recursive -includeconf calls (kallewoof) - #13176
d9ebb63Improve CRollingBloomFilter performance: replace modulus with FastMod (martinus) - #13228
d792e47Add script to detect circular dependencies between source modules (sipa) - #13320
e08c130Ensure gitian-build.sh uses bash (jhfrontz) - #13301
e4082d5lint: Add linter to error on#include <*.cpp>(Empact) - #13374
56f6936utils and libraries: checking for bitcoin address in translations (kaplanmaxe) - #13230
7c32b41Simplify include analysis by enforcing the developer guide's include syntax (practicalswift) - #13450
32bf4c6Add linter: Enforce the source code file naming convention described in the developer notes (practicalswift) - #13479
fa2ea37contrib: Fix cve-2018-12356 by hardening the regex (loganaden) - #13448
a90ca40Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python (practicalswift) - #13494
d67eff8Follow-up to #13454: Fix broken build by exportingLC_ALL=C(practicalswift) - #13510
03f3925Scripts and tools: Obsolete #!/bin/bash shebang (DesWurstes) - #13577
c9eb8d1logging: Avoid nstart may be used uninitialized in appinitmain warning (mruddy) - #13603
453ae5ebitcoin-tx: Stricter check for valid integers (domob1812) - #13118
c05c93cRPCAuth Detection in Logs (Linrono) - #13647
4027ec1Scripts and tools: FixBIND_NOWcheck in security-check.py (conradoplg) - #13692
f5d166acontrib: Clone core repo in gitian-build (MarcoFalke) - #13699
4c6d1b9contrib: Correct version check (kallewoof) - #13695
dcc0cfflint: Add linter for circular dependencies (Empact) - #13733
0d1ebf4utils: Refactor argsmanager a little (AtsukiTak) - #13714
29b4ee6contrib: Add lxc network setup for bionic host (ken2812221) - #13764
f8685f4contrib: Fix test-security-check fail in ubuntu 18.04 (ken2812221) - #13809
77168f7contrib: Remove debian and rpm subfolder (MarcoFalke) - #13799
230652cIgnore unknown config file options; warn instead of error (sipa) - #13894
df9f712shutdown: Stop threads before resetting ptrs (MarcoFalke) - #13925
71dec5cMerge leveldb subtree (MarcoFalke) - #13939
ef86f26lint: Make format string linter understand basic template parameter syntax (practicalswift) - #14105
eb202eautil: Report parse errors in configuration file (laanwj) - #12604
9903537Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use (eklitzke) - #12495
047865eIncrease LevelDBmax_open_files(eklitzke) - #12784
e80716dFix bug in memory usage calculation (unintended integer division) (practicalswift) - #12618
becd8ddSetSCHED_BATCHpriority on the loadblk thread (eklitzke) - #12854
5ca1509Add P2P, Network, and Qt categories to the desktop icon (luke-jr) - #11862
4366f61Network specific conf sections (ajtowns) - #13441
4a7e64fPrevent shared conf files from failing with different available options in different binaries (achow101) - #13471
5eca4e8For AVX2 code, also check for AVX, XSAVE, and OS support (sipa) - #13503
c655b2cDocument FreeBSD quirk. Fix FreeBSD build: Use std::min(…) to allow for compilation under certain FreeBSD versions (practicalswift) - #13725
07ce278Fix bgold-cli --version (Empact)
Thanks to everyone who directly contributed to this release:
- 251
- 532479301
- Aaron Clauson
- Aaron Golliver
- aaron-hanson
- Adam Langley
- Akio Nakamura
- Akira Takizawa
- Alejandro Avilés
- Alex Morcos
- Alex Vear
- Alexey Ivanov
- Alin Rus
- Anditto Heristyo
- Andras Elso
- Andrea Comand
- Andreas Schildbach
- Andrew Chow
- Anthony Towns
- AtsukiTak
- azuchi
- Ben Woosley
- Bernhard M. Wiedemann
- Brandon Ruggles
- buddilla
- Carl Dong
- ccdle12
- Chris Moore
- Chris Stewart
- Christian Gentry
- Chun Kuan Lee
- Clem Taylor
- Conor Scott
- Conrado Gouvea
- Cory Fields
- Cristian Mircea Messel
- CryptAxe
- ctp-tsteenholdt
- Damian Williamson
- Dan Bolser
- Dan Raviv
- Daniel Edgecumbe
- Daniel Kraft
- danra
- Darko Janković
- DaveFromBinary
- David A. Harding
- david60
- DesWurstes
- Dimitris Apostolou
- Donal O'Connor
- donaloconnor
- dongsamb
- Douglas Roark
- DrahtBot
- Drew Rasmussen
- Dusty Williams
- e0
- Eelis
- Eric Scrivner
- Ernest Hemingway
- esneider
- Ethan Heilman
- Evan Klitzke
- fanquake
- Felix Wolfsteller
- Ferdinando M. Ametrano
- fivepiece
- flack
- Florian Schmaus
- fridokus
- Fuzzbawls
- Gabriel Davidian
- Georgi Kostadinov
- Giulio Lombardo
- Gleb
- Glenn Willen
- gnuser
- Grady Laksmono
- GreatSock
- Gregory Maxwell
- Gregory Sanders
- gustavonalle
- Hang Yin
- Hennadii Stepanov
- Henrik Jonsson
- Indospace.io
- Jack Grigg
- Jacky C
- James Evans
- James O'Beirne
- Jan Čapek
- Jan Sarenik
- Jeff Frontz
- Jeff Rade
- Jeremiah Buddenhagen
- Jeremy Rubin
- JeremyRand
- Jesse Cohen
- Jim Posen
- jjz
- João Barbosa
- Joe Harvell
- joemphilips
- Johannes Kanig
- John Bampton
- John Newbery
- johnlow95
- Johnson Lau
- Jon Layton
- Jonas Nick
- Jonas Schnelli
- Jorge Timón
- Josh Hartshorn
- Julian Fleischer
- kallewoof
- Karel Bilek
- Karel Bílek
- Karl-Johan Alm
- Kaz Wesley
- Ken Lee
- Kevin Pan
- klemens
- Kosta Zertsekel
- Kristaps Kaupe
- Kvaciral
- Kyuntae Ethan Kim
- laudaa
- Lawrence Nahum
- Linrono
- lmanners
- Loganaden Velvindron
- Lowell Manners
- Lucas Betschart
- lucash.dev@gmail.com
- Luke Dashjr
- Luke Mlsna
- lutangar
- Marcin Jachymiak
- marcoagner
- MarcoFalke
- Mark Erhardt
- Mark Friedenbach
- Marko Bencun
- Martin Ankerl
- Mason Simon
- Matt Corallo
- Matteo Sumberaz
- Max Kaplan
- MeshCollider
- Michał Zabielski
- Mitchell Cash
- mruddy
- mryandao
- Murch
- murrayn
- Nick Vercammen
- Nicolas Dorier
- NicolasDorier
- Nikolay Mitev
- okayplanet
- Pablo Fernandez
- Paul Berg
- Pedro Branco
- Pierre Rochard
- Pieter Wuille
- practicalswift
- Qasim Javed
- Randolf Richardson
- Richard Kiss
- Roman Zeyde
- Russell Yanofsky
- Samuel B. Atwood
- Samuel Dobson
- Sean Erle Johnson
- Sebastian Kung
- Shooter
- Sjors Provoost
- Steve Lee
- steverusso
- Suhas Daftuar
- Tamas Blummer
- TheCharlatan
- Thomas Kerin
- Thomas Snider
- Thoragh
- Tim Ruffing
- Tim Shimmin
- Tomas van der Wansem
- Utsav Gupta
- Varunram
- Varunram Ganesh
- Vasil Dimov
- Vivek Ganesan
- Walter
- Werner Lemberg
- Will Ayd
- William Casarin
- William Robinson
- Willy Ko
- winder
- Wladimir J. van der Laan
- wodry
And to those that reported security issues:
- awemany (for CVE-2018-17144)
- Braydon Fuller
- Himanshu Mehta