Litecoin Core version 0.17.1 is now available from:
https://download.litecoin.org/litecoin-0.17.1/
This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations.
Please report bugs using the issue tracker at GitHub:
https://github.com/litecoin-project/litecoin/issues
To receive security and update notifications, please subscribe to:
https://groups.google.com/forum/#!forum/litecoin-dev
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/Litecoin-Qt
(on Mac)
or litecoind
/litecoin-qt
(on Linux).
If your node has a txindex, the txindex db will be migrated the first time you run 0.17.0 or newer, which may take up to a few hours. Your node will not be functional until this migration completes.
The first time you run version 0.15.0 or newer, your chainstate database will be converted to a new format, which will take anywhere from a few minutes to half an hour, depending on the speed of your machine.
Note that the block database format also changed in version 0.8.0 and there is no automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading directly from 0.7.x and earlier without redownloading the blockchain is not supported. However, as usual, old wallet versions are still supported.
The chainstate database for this release is not compatible with previous
releases, so if you run 0.15 and then decide to switch back to any
older version, you will need to run the old release with the -reindex-chainstate
option to rebuild the chainstate data structures in the old format.
If your node has pruning enabled, this will entail re-downloading and processing the entire blockchain.
Litecoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not supported).
Litecoin Core should also work on most other Unix-like systems but is not frequently tested on them.
From 0.17.0 onwards macOS <10.10 is no longer supported. 0.17.0 is built using Qt 5.9.x, which doesn't support versions of macOS older than 10.10.
Upgrading from 0.13.0 or older currently results in memory blow-up during the roll-back of blocks to the SegWit activation point. In these cases, a full -reindex
is necessary.
The GUI suffers from visual glitches in the new MacOS dark mode. This has to do with our Qt theme handling and is not a new problem in 0.17.0, but is expected to be resolved in 0.17.1.
listtransactions
label supportThe listtransactions
RPC account
parameter which was deprecated in 0.17.0
and renamed to dummy
has been un-deprecated and renamed again to label
.
When litecoin 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.
-includeconf=<file>
can be used to include additional configuration files.
Only works inside the litecoin.conf
file, 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
-includeconf
will override preceding -noincludeconf
, i.e.
noincludeconf=1
includeconf=relative.conf
as litecoin.conf will still include relative.conf
.
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 litecoin.conf file. It is now possible to load, create and unload wallets dynamically at runtime:
loadwallet
RPC. The wallet can be specified as file/directory basename (which must be located in the walletdir
directory), or as an absolute path to a file/directory.createwallet
RPC. The provided name must not match a wallet file in the walletdir
directory or the name of a wallet that is currently loaded.unloadwallet
RPC.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.
The default minimum transaction fee -mintxfee
has been lowered to 0.0001 LTC/kB after relaxing the minimum relay and dust relay fee rates in prior releases.
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=litecoin
test.uacomment=litecoin-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.
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 litecoind 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:
setlabel
RPC method.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 |
The account named parameter has been renamed to dummy . If provided, the dummy parameter must be set to the string * , unless running with the -deprecatedrpc=accounts argument (in which case functionality is unchanged). |
getbalance |
account , minconf and include_watchonly parameters are deprecated, and can only be used if running with '-deprecatedrpc=accounts' |
BIP 174 PSBT is an interchange format for Litecoin 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.
For backend RPC convenience, the Litecoin devs have supported to keep the acronym PSBT
instead of PSLT
to make crosschain application support easier.
Overall, the construction of a fully signed Litecoin transaction goes through the following steps:
scriptSig
and/or scriptWitness
.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 calling createrawtransaction
followed by converttopsbt
.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 running createrawtransaction
, followed by
fundrawtransaction
, and converttopsbt
.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 with sendrawtransaction
.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.decodepsbt
is 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.Since Litecoin Core 0.13.0, creating new BIP 32 Hierarchical Deterministic wallets has been supported by Litecoin 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.
The new RPC scantxoutset
can 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 to listunspent
but 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 createrawtransaction
RPC will now accept an array or dictionary (kept for compatibility) for the outputs
parameter. This means the order of transaction outputs can be specified by the client.
The fundrawtransaction
RPC will reject the previously deprecated reserveChangeKey
option.
sendmany
now shuffles outputs to improve privacy, so any previously expected behavior with regards to output ordering can no longer be relied upon.
The new RPC testmempoolaccept
can be used to test acceptance of a transaction to the mempool without adding it.
JSON transaction decomposition now includes a weight
field 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 in getblock
(with verbosity=2), listsinceblock
, listtransactions
, and
getrawtransaction
RPC commands.
New fees
field introduced in getrawmempool
, getmempoolancestors
, getmempooldescendants
and
getmempoolentry
when verbosity is set to true
with sub-fields ancestor
, base
, modified
and descendant
denominated in LTC. This new field deprecates previous fee fields, such as
fee
, modifiedfee
, ancestorfee
and descendantfee
.
The new RPC getzmqnotifications
returns information about active ZMQ
notifications.
When litecoin is not started with any -wallet=<path>
options, the name of
the default wallet returned by getwalletinfo
and listwallets
RPCs is
now the empty string ""
instead of "wallet.dat"
. If litecoin 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 the address_type
parameter to
getnewaddress
, getrawchangeaddress
, addmultisigaddress
,
fundrawtransaction
RPCs 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 (using importaddress
or
importmulti
with hex script argument). signrawtransaction*
also still
works for them.
The getwalletinfo
RPC method now returns an hdseedid
value, which is always the same as the incorrectly-named hdmasterkeyid
value. hdmasterkeyid
will be removed in V0.18.
The getaddressinfo
RPC method now returns an hdseedid
value, which is always the same as the incorrectly-named hdmasterkeyid
value. hdmasterkeyid
will be removed in V0.18.
Parts of the validateaddress
RPC method have been deprecated and moved to
getaddressinfo
. Clients must transition to using getaddressinfo
to access
this information before upgrading to v0.18. The following deprecated fields
have moved to getaddressinfo
and will only be shown with
-deprecatedrpc=validateaddress
: ismine
, iswatchonly
, script
, hex
,
pubkeys
, sigsrequired
, pubkey
, addresses
, embedded
, iscompressed
,
account
, timestamp
, hdkeypath
, hdmasterkeyid
.
signrawtransaction
is deprecated and will be fully removed in v0.18. To use
signrawtransaction
in v0.17, restart litecoind with
-deprecatedrpc=signrawtransaction
. Projects should transition to using
signrawtransactionwithkey
and signrawtransactionwithwallet
before
upgrading to v0.18.
inactivehdmaster
property in the dumpwallet
output has been corrected to inactivehdseed
The log timestamp format is now ISO 8601 (e.g. "2018-02-28T12:34:56Z").
When running litecoind with -debug
but without -daemon
, logging to stdout
is now the default behavior. Setting -printtoconsole=1
no 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 litecoind
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.
Support for Python 2 has been discontinued for all test files and tools.
3fa24bb
Fix overly eager BIP30 bypass (morcos)ed6ae80
Allow dustrelayfee to be set to zero (luke-jr)ca2a233
Treat segwit as always active (MarcoFalke)062738c
Fix MAX_STANDARD_TX_WEIGHT
check (jl2012)df529dc
Remove unused variable in SortForBlock (drewx2)84efa9a
Interrupt block generation on shutdown request (promag)67447ba
Mempool cleanups (sdaftuar)fd65937
Fix 'mempool min fee not met' debug output (Empact)bf3353d
Optimise lock behaviour for GuessVerificationProgress() (jonasschnelli)47a7666
Drop extra script variable in ProduceSignature (ryanofsky)d59b8d6
Stop special-casing phashBlock handling in validation for TBV (TheBlueMatt)947c25e
Only call NotifyBlockTip when chainActive changes (jamesob)534b8fa
Allow to optional specify the directory for the blocks storage (jonasschnelli)3b62a91
Bugfix: RPC: savemempool: Don't save until LoadMempool() is finished (jtimon)88430cb
Make segwit failure due to CLEANSTACK
violation return a SCRIPT_ERR_CLEANSTACK
error code (maaku)24133b1
Check for block corruption in ConnectBlock() (sdaftuar)1b5723e
Avoid lock: Call FlushStateToDisk(…) regardless of fCheckForPruning (practicalswift)0a8b7b4
Enforce SCRIPT_VERIFY_P2SH
and SCRIPT_VERIFY_WITNESS
from genesis (sdaftuar)a49381d
Reduce implementation code inside CScript (sipa)34dd1a6
Output values for "min relay fee not met" error (kristapsk)a07e8ca
Build txindex in parallel with validation (jimpo)66cc47b
Add compile time checking for ::mempool.cs runtime locking assertions (practicalswift)08c1caf
Bugfix: the end of a reorged chain is invalid when connect fails (sipa)0264836
Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) (practicalswift)3c2a41a
Cache witness hash in CTransaction (MarcoFalke)0de7cc8
Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2 (sipa)ea263e1
Make reusable base class for auxiliary indices (jimpo)a607d23
Enable double-SHA256-for-64-byte code on 32-bit x86 (sipa)caabdea
validation: check the specified number of blocks (off-by-one) (kallewoof)450055b
Improve coverage of SHA256 SelfTest code (sipa)954f4a9
validation: count blocks correctly for check level < 3 (kallewoof)3a3eabe
SHA256 implementations based on Intel SHA Extensions (sipa)9a1ad2c
During IBD, when doing pruning, prune 10% extra to avoid pruning again soon after (luke-jr)8ce55df
chainparams: Update with data from assumed valid chain (MarcoFalke)e7ea858
Remove promiscuousmempoolflags (MarcoFalke)eaeaa2d
Extend #11583 ("Do not make it trivial for inbound peers to generate log entries") to include "version handshake timeout" message (clemtaylor)9a32114
Move misbehaving logging to net logging category (laanwj)5c2aff8
Eventually connect to NODE_NETWORK_LIMITED
peers (jonasschnelli)a36834f
Add test-before-evict discipline to addrman (EthanHeilman)e1d6e2a
Correct addrman logging (laanwj)0a01843
add seed.bitcoin.sprovoost.nl to DNS seeds (Sjors)23e7fe8
Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s (practicalswift)c199869
Minor accumulated cleanups (tjps)ef46c99
Add missing newlines to debug logging (laanwj)a174702
Don't incorrectly log that REJECT messages are unknown (jnewbery)7f4db9a
Serve blocks directly from disk when possible (laanwj)70d3541
Add option -enablebip61
to configure sending of BIP61 notifications (laanwj)7209fec
Log warning when deprecated network name 'tor' is used (wodry)172f984
Remove unused interrupt from SendMessages (fanquake)1e90862
Tighten scope in net_processing
(skeees)f8d470e
Bucketing INV delays (1 bucket) for incoming connections to hide tx time (naumenkogs)0d8d6be
Modified in_addr6
cast in CConman class to work with msvc (sipsorcery)c575260
Remove dead service bits code (MarcoFalke)a6f00ce
Fixed a race condition when disabling the network (lmanners)1211b15
Remove the boost/algorithm/string/predicate.hpp dependency (251Labs)f58674a
Thread safety annotations in net_processing
(skeees)7d36237
Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(…) (practicalswift)48bf8ff
Introduce a maximum size for locators (gmaxwell)8a9ffec
Hardcoded seeds update pre-0.17 branch (laanwj)9406502
Fix a deserialization overflow edge case (kazcw)b901578
Fix uninitialized read when stringifying an addrLocal (kazcw)2a30e67
Reduce scope of cs_main
and cs_wallet
locks in listtransactions (promag)a1ffddb
Refactor HaveKeys to early return on false result (promag)663911e
Disallow abandon of conflicted txes (MarcoFalke)d405bee
Make CWallet::ListCoins atomic (promag)8e6f9f4
Only fee-bump non-conflicted/non-confirmed txes (MarcoFalke)6bb9c13
Do not un-mark fInMempool on wallet txn if ATMP fails (TheBlueMatt)987a809
Disable default fallbackfee on mainnet (jonasschnelli)4ca7c1e
listreceivedbyaddress Filter Address (NicolasDorier)98bc27f
External wallet files (ryanofsky)af88094
Sanitize some wallet serialization (sipa)6acd870
Unify CWalletTx construction (ryanofsky)e057589
Coin Selection with Murch's algorithm (achow101, Xekyo)c39dd2e
Change output type globals to members (MarcoFalke)9552dfb
Actually disable BnB when there are preset inputs (achow101)cead84b
Rename account to label where appropriate (ryanofsky)02b7e83
shuffle sendmany recipients ordering (instagibbs)c948dc8
Shuffle transaction inputs before signing (instagibbs)6d53663
Remove Wallet dependencies from init.cpp (jnewbery)821980c
Avoid travis lint-include-guards error (ken2812221)dab0d68
importprivkey: hint about importmulti (kallewoof)9abdb7c
Make WalletInitInterface and DummyWalletInit private, fix nullptr deref (promag)215158a
Initialize m_last_block_processed
to nullptr (practicalswift)8d651ae
Remove redundant lambda function arg in handleTransactionChanged (laanwj)a84b056
feebumper: discard change outputs below discard rate (instagibbs)9b3370d
introduce 'label' API for wallet (jnewbery)6d3de17
Logprint the start of a rescan (jonasschnelli)39439e5
debug log number of unknown wallet records on load (instagibbs)434150a
Refactor g_wallet_init_interface
to const reference (promag)65d7083
Add wallets management functions (promag)d1d54ae
Deprecate accounts (jnewbery)476cb35
Make fee settings to be non-static members (MarcoFalke)487dcbe
Do not treat bare multisig outputs as IsMine unless watched (sipa)783bb64
Make vpwallets usage thread safe (promag)2afdc29
Interrupt rescan on shutdown request (promag)979150b
Get rid of ambiguous OutputType::NONE value (ryanofsky)5778d44
Fix rescanblockchain rpc to properly report progress (Empact)e03c0db
Upgrade path for non-HD wallets to HD (achow101)7cc1bd3
Reset BerkeleyDB handle after connection fails (real-or-random)0dec5b5
Add compile time checking for cs_wallet
runtime locking assertions (practicalswift)19a3a9e
Add Clang thread safety annotations for variables guarded by cs_db
(practicalswift)4cfe17c
loadwallet
RPC - load wallet at runtime (jnewbery)6738813
Fix hdmaster-key / seed-key confusion (scripted diff) (jnewbery)d82c5d1
Fix incorrect comment for DeriveNewSeed (jnewbery)6378eef
Use shared pointer to retain wallet instance (promag)56fe3dc
Separate IsMine from solvability (sipa)fd96d54
Remove template matching and pseudo opcodes (sipa)c4cc8d9
Refactor ReserveKeyFromKeyPool for safety (Empact)343d4e4
createwallet
RPC - create new wallet at runtime (jnewbery)2140f6c
Prevent segfault when sending to unspendable witness (MarcoFalke)3f0f394
Remove getlabeladdress RPC (jnewbery)000abbb
Add unloadwallet RPC (promag)868cf43
Unlock spent outputs (promag)f54f373
Fixups from account API deprecation (jnewbery)61a044a
Improve handling of INVALID in IsMine (sipa)028b0d9
Moving final scriptSig construction from CombineSignatures to ProduceSignature (PSBT signer logic) (achow101)88a15eb
loadwallet shouldn't create new wallets (jnewbery)619cd29
ScanforWalletTransactions should mark input txns as dirty (instagibbs)d6b2235
Drop unused pindexRet arg to CMerkleTx::GetDepthInMainChain (Empact)ad552a5
Fix get balance (jnewbery)4a3e8c5
Decouple wallet version from client version (achow101)aba2e66
Fix non-determinism in ParseHDKeypath(…). Avoid using an uninitialized variable in path calculation (practicalswift)6b6e854
Add createwallet "disableprivatekeys" option: a sane mode for watchonly-wallets (jonasschnelli)e8c7434
Introduce assertion to document the assumption that cache and cache_used are always set in tandem (practicalswift)5f7575e
Use destination groups instead of coins in coin select (kallewoof)89a116d
Fix accidental use of the comma operator (practicalswift)c88529a
Correctly limit output group size (sdaftuar)26f59f5
Add wallet name to log messages (PierreRochard)b81a8a5
Fix backupwallet for multiwallets (domob1812)51c693d
assert to ensure accuracy of CMerkleTx::GetBlocksToMaturity (Empact)9d86aad
sum ancestors rather than taking max in output groups (kallewoof)8eb9870
Catch filesystem_error
and raise InitError
(MarcoFalke)13d51a2
shuffle coins before grouping, where warranted (kallewoof)2115cba
Always create signatures with Low R values (achow101)0333914
Additional safety checks in PSBT signer (sipa)65e7a8b
couple of walletcreatefundedpsbt fixes (instagibbs)2307a6e
fix walletcreatefundedpsbt deriv paths, add test (instagibbs)5150acc
Restore ability to list incoming transactions by label (jnewbery)91fa15a
Fix use of uninitialized value bnb_used
in CWallet::CreateTransaction(…) (practicalswift)bb90695
Ensure wallet is unlocked before signing (gustavonalle)5782fdc
Throw error if CPubKey is invalid during PSBT keypath serialization (instagibbs)2528443
backport: [tests] Add wallet_balance.py
(MarcoFalke)3362a95
psbt: always drop the unnecessary utxo and convert non-witness utxo to witness when necessary (achow101)70ee1f8
Refactor PSBT signing logic to enforce invariant and fix signing bug (gwillen)89a9a9d
Stop requiring imported pubkey to sign non-PKH schemes (sipa, MeshCollider)3843780
Remove deprecated rpc options (jnewbery)5dc00f6
Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (MarcoFalke)0cc45ed
Reject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke)8a98dfe
Split part of validateaddress into getaddressinfo (achow101)ffc6e48
Split signrawtransaction into wallet and non-wallet RPC command (achow101)e4ffcac
Declare CMutableTransaction a struct in rawtransaction.h (Empact)0e26591
createmultisig no longer takes addresses (instagibbs)228b086
Improve getchaintxstats test coverage (promag)cd5e438
Add child transactions to getrawmempool verbose output (conscott)702e8b7
createrawtransaction: Accept sorted outputs (MarcoFalke)ebdf84c
Document RPC method aliasing (ryanofsky)8ee5c7b
Remove unreachable help conditions in rpcwallet.cpp (lutangar)b648974
Add username and ip logging for RPC method requests (GabrielDav)ac898b6
rest: Handle utxo retrieval when ignoring the mempool (romanz)cd99e5b
Adjust ifdef to avoid unreachable code (practicalswift)18815b4
Add testmempoolaccept (MarcoFalke)fefb817
Drop redundant testing of signrawtransaction prevtxs args (Empact)5f2a399
Allow for aborting rescans in the GUI (achow101)3a8a4dc
Expose a transaction's weight via RPC (TheBlueMatt)6e67754
Adds a functional test to validate the transaction version number in the RPC output (251Labs)6f8b345
Introduced a new fees
structure that aggregates all sub-field fee types denominated in BTC (mryandao)eac067a
p2wsh and p2sh-p2wsh address in decodescript (fivepiece)17266a1
Remove Safe mode (achow101, laanwj)7eb7076
Reduce cs_main
lock in listunspent (promag)7b966d9
New -includeconf argument for including external configuration files (kallewoof)b9551d3
Introduce getblockstats to plot things (jtimon)a589f53
Remove the need to include rpc/blockchain.cpp in order to put GetDifficulty
under test (Empact)e1f8dce
cli: Ignore libevent warnings (theuni)3f398d7
Avoid "duplicate" return value for invalid submitblock (TheBlueMatt)a247594
Add new "getzmqnotifications" method (domob1812)b25a4c2
Update createmultisig RPC to support segwit (ajtowns)8fceae0
Add scantxoutset RPC method (jonasschnelli)b654723
BIP 174 PSBT Serializations and RPCs (achow101)f030410
Support output descriptors in scantxoutset (sipa)bced8ea
Use pushKV in some new PSBT RPCs (domob1812)a9c56b6
Replace median fee rate with feerate percentiles in getblockstats (marcinja)9f23c16
Bugfixes for BIP 174 combining and deserialization (achow101)517010e
Fix PSBT deserialization of 0-input transactions (achow101)fb9ad04
Fix listreceivedbyaddress not taking address as a string (etscrivner)de5e48a
Bugfix: RPC: Add address_type
named param for createmultisig (luke-jr)9666dba
Make HTTP RPC debug logging more informative (practicalswift)7bee414
[psbt] Convert non-witness UTXOs to witness if witness sig created (achow101)a3fe125
Check that a separator is found for psbt inputs, outputs, and global map (achow101)7a590d8
Fix converttopsbt permitsigdata arg, add basic test (instagibbs)75b5d8c
Fix wallet unload during walletpassphrase timeout (promag)c997f88
Fix Windows build errors introduced in #10498 (practicalswift)e782099
Remove redundant locks (practicalswift)bfa3911
Initialize members in WalletModel (MarcoFalke)e117cfe
Bugfix: respect user defined configuration file (-conf) in QT settings (jonasschnelli)be263fa
navigate to transaction history page after send (Sjors)ce56fdd
Show a transaction's virtual size in its details dialog (dooglus)c8ea91a
Improved "custom fee" explanation in tooltip (randolf)cff95a6
Set modal overlay hide button as default (promag)8a43bdc
Remove TransactionTableModel::TxIDRole (promag)56cc022
Add support to search the address book (promag)2bac3e4
Avoid querying unnecessary model data when filtering transactions (promag)e476826
remove "new" button during receive-mode in addressbook (jonasschnelli)310dc61
Qt5: Warning users about invalid-BIP21 URI bitcoin:// (krab)25cf18f
Multiwallet for the GUI (jonasschnelli)f4353da
Remove unused method setupAmountWidget(…) (practicalswift)68484d6
do not truncate .dat extension for wallets in gui (instagibbs)1d54004
make clean removes src/qt/moc_
files (Sjors)bdda14d
Don't log to console by default (laanwj)57c57df
fixes broken link on readme (marcoagner)ef006d9
Initialize non-static class members that were previously neither initialized where defined nor in constructor (practicalswift)81c533c
Improve sendcoinsdialog readability (marcoagner)40c34a0
Add proxy icon in statusbar (mess110)2a7c53b
Satoshi unit (GreatSock)e545503
Support wallets loaded dynamically (promag)f8be434
fix visual "overflow" of amount input (brandonrninefive)a315b79
use [default wallet]
as name for wallet with no name (jonasschnelli)3fd0c23
Qt/Bugfix: fix handling default wallet with no name (jonasschnelli)25d2df2
Stop translating command line options (laanwj)6e249e4
OptionsDialog: add prune setting (Sjors)6579d80
load wallet in UI after possible init aborts (jonasschnelli)dc53f7f
Drop qt4 support (laanwj)b877c39
Move BitcoinGUI initializers to class, fix initializer order warning (laanwj)baf3a3a
coincontrol: Remove unused qt4 workaround (MarcoFalke)10ffca7
Peer table: Visualize inbound/outbound state for every row (wodry)2c14c1f
Reject dialogs if key escape is pressed (promag)0242b5a
Revert "Force TLS1.0+ for SSL connections" (real-or-random)df5131b
Explicitly disable "Dark Mode" appearance on macOS (fanquake)c9ca4f6
Add gitian PGP key: akx20000 (ghost)f4f4f51
clientversion: Use full commit hash for commit-based version descriptions (luke-jr)ae0fbf0
Upgrade mac_alias
to 2.0.7 (droark)1f055ef
gitian: Bump descriptors for (0.)17 (theuni)59e032b
expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (fanquake)daa84b3
Add a makefile target for Doxygen documentation (Ov3rlo4d)6645eaf
Only use D_DARWIN_C_SOURCE
when building miniupnpc on darwin (fanquake)765a3eb
zeromq 4.2.3 (fanquake)f13d756
Add build support for profiling (murrayn)a312e20
gitian: Alphabetize signing keys & add kallewoof key (kallewoof)29fad97
Remove ccache (fanquake)c4219ff
biplist 1.0.3 (fanquake)05042d3
configure: UniValue 1.0.4 is required for pushKV(, bool) (luke-jr)6324c68
Fix a few compilation issues with Clang 7 and -Werror (vasild)de6bdfd
Add configure options for various -fsanitize flags (eklitzke)7e23972
Show enabled sanitizers in configure output (practicalswift)3076993
macOS: Prevent Xcode 9.3 build warnings (AkioNak)8fd6243
Add 'make clean' rule (hkjn)a024a18
Remove python2 from configure.ac (ken2812221)cb088b1
Make --enable-debug to pick better options (practicalswift)092b366
Remove improper qt/moc_*
cleaning glob from the general Makefile (Empact)f5a7733
split warnings out of CXXFLAGS (theuni)7c7508c
Guard against accidental introduction of new Boost dependencies (practicalswift)5779dc4
Add linter checking for accidental introduction of locale dependence (practicalswift)70a03c6
crypto: cleanup sha256 build (theuni)cf7ca60
When build fails due to lib missing, indicate which one (Empact)8eb76f3
Reset default -g -O2 flags when enable debug (ken2812221)81069a7
Avoid concurrency issue when make multiple target (ken2812221)45c00f8
Make sure LC_ALL=C
is set in all shell scripts (practicalswift)31145a3
Avoid copies in range-for loops and add a warning to detect them (theuni)66e1a08
Move rpc/util.cpp from libbitcoin-util to libbitcoin-server (ken2812221)40334c7
Detect if char equals int8_t
(ken2812221)287e4ed
Tune wildcards for LIBSECP256K1 target (kallewoof)b55f0c3
bugfix: Use __cpuid_count
for gnu C to avoid gitian build fail (ken2812221)a6d14b1
Upgrade Qt to 5.9.6 (TheCharlatan)6c6a300
Add RISC-V support (laanwj)dcb154e
GCC-7 and glibc-2.27 back compat code (ken2812221)90b1c7e
add missing leveldb defines (theuni)c0f1569
Update gitian-build.sh for docker (achow101)19d8ca5
Change gitian-descriptors to use bionic instead (ken2812221)75bea05
Add depends 32-bit arm support for bitcoin-qt (TheCharlatan)9cdb19f
Migrate gitian-build.sh to python (ken2812221)8c36432
disable Werror when building zmq (greenaddress)cf7f9ae
release: Require macos 10.10+ (fanquake)c883653
use MacOS friendly sed syntax in qt.mk (Sjors)415f2bf
update ax_boost_chrono
/unit_test_framework
(fanquake)e8ffec6
Fix Qt's rcc determinism (Fuzzbawls)8284f1d
Fix osslsigncode compile issue in gitian-build (ken2812221)2ab7208
Add aarch64 qt depends support for cross compiling bitcoin-qt (TheCharlatan)b413ba0
Add format string linter (practicalswift)48c8459
fix qt determinism (theuni)3e4829a
Bugfix: NSIS: Exclude Makefile*
from docs (luke-jr)048ac83
Avoid interface
keyword to fix windows gitian build (ryanofsky)a9b6957
Fix FreeBSD build by including utilstrencodings.h (laanwj)eb2cc84
Fix OSX dmg issue (10.12 to 10.14) (jonasschnelli)7edebed
Remove illegal spacing in darwin.mk (ch4ot1c)ec71f06
Add bitcoin-tx.exe into Windows installer (ken2812221)8d57319
Require all tests to follow naming convention (ajtowns)935eb8d
Enable flake8 warnings for all currently non-violated rules (practicalswift)b4d8549
Prepare tests for Windows (MarcoFalke)2dbc4a4
Change invalidtxrequest to use BitcoinTestFramework (jnewbery)d09968f
Bind functional test nodes to 127.0.0.1 (Sjors)26dc2da
Add some script tests (richardkiss)23481fa
Fix bip68 sequence test to reflect updated rpc error message (Empact)acd1e61
Plug memory leaks and stack-use-after-scope (MarcoFalke)07090c5
Move common args to bitcoin.conf (MarcoFalke)39dcac2
Add test cases for HexStr (std::reverse_iterator
and corner cases) (kostaz)6012f1c
Fix ListCoins test failure due to unset g_wallet_allow_fallback_fee
(ryanofsky)7f99964
Avoid unintentional unsigned integer wraparounds in tests (practicalswift)955fd23
Don't test against the mempool min fee information in mempool_limit.py (Empact)29088b1
Add a test for large tx output scripts with segwit input (richardkiss)791c3ea
Fix some tests to work on native windows (MarcoFalke)0f58d7f
travis: Full clone for git subtree check (MarcoFalke)0630974
Change invalidblockrequest to use BitcoinTestFramework (jnewbery)1846296
Fix ComputeTimeSmart test failure with -DDEBUG_LOCKORDER
(ryanofsky)9f04c8e
travis: Clone depth 1 unless $check_doc
(MarcoFalke)00d1680
Append scripts to new test_list
array to fix bad assignment (jeffrade)872c921
Avoiding 'file' function name from python2 (jeffrade)4ba3d4f
rename TestNode to TestP2PConn in tests (jnewbery)2405ce1
Remove unused argument max_invalid
from check_estimates(…)
(practicalswift)185d484
Require exact match in assert_start_raises_init_eror
(jnewbery, MarcoFalke)6d36f59
Use node.datadir instead of tmpdir in test framework (MarcoFalke)b43aba8
ci: Bump travis timeout for make check to 50m (jnewbery)18606eb
Fix function names in feature_blocksdir
(MarcoFalke)0d8fc8d
Make summary row bold-red if any test failed and show failed tests at end of table (laanwj)490644d
Use blockmaxweight where tests previously had blockmaxsize (conscott)f0f9732
Change feature_block.py
to use BitcoinTestFramework (jnewbery)40f4baf
Remove travis checkout depth (laanwj)2a09a78
Change feature_csv_activation.py
to use BitcoinTestFramework (jnewbery)fa5825d
Remove assigned but never used local variables. Enable Travis checking for unused local variables (practicalswift)9beded5
Add note about test suite naming convention in developer-notes.md (practicalswift)c564424
Stop feature_block.py
from blowing up memory (jnewbery)648252e
travis: Run verify-commits only on cron jobs (MarcoFalke)2106c4c
Match full plain text by default (MarcoFalke)9a2db3b
I accidentally (deliberately) killed it (the ComparisonTestFramework) (jnewbery)69310a3
Tidy up REST interface functional tests (romanz)83c7533
Add logging in loops in p2p_sendhears.py
(ccdle12)d6f10b2
Add note about test suite name uniqueness requirement to developer notes (practicalswift)27278df
Add Metaclass for BitcoinTestFramework (WillAyd)6fc5a05
Assert on correct variable (kallewoof)a04440f
Add Travis check for duplicate includes (practicalswift)cf8073f
Windows fixups for functional tests (MarcoFalke)dd1ca9e
Run unit tests in parallel (sipa)b1fdfc1
Fix sign for expected values (kallewoof)979f598
Wallet hd functional test speedup and clarification (instagibbs)0d69921
Remove compatibility code not needed now when we're on Python 3 (practicalswift)6a278e0
Remove redundant bytes(…) calls (practicalswift)6b46288
Avoid copies of CTransaction (MarcoFalke)0d12570
Fix dangling wallet pointer in vpwallets (promag)cac6d11
Fix feature_block
flakiness (jnewbery)d5b2e98
Add rpc_bind
test to default-run tests (laanwj)896a9d0
Attach node index to test_node
AssertionError and print messages (jamesob)018c7e5
Add rpcauth pair that generated by rpcauth.py (ken2812221)a0079d4
bench: Amend mempool_eviction
test for witness txs (MarcoFalke)e074097
Normalize executable location (MarcoFalke)106d929
Make rpcauth.py testable and add unit tests (nixbox)a785bc3
add rpcauth-test to AC_CONFIG_LINKS
to fix out-of-tree make check (laanwj)25ad2f7
Clarify address book error messages, add tests (jamesob)24106a8
don't test against min relay fee information in mining_prioritisetransaction.py
(kristapsk)8d045a0
Add test for orphan handling (MarcoFalke)9e9b48d
Add --failfast option to functional test runner (jamesob)3186ad4
Fix race in rpc_deprecated.py
(jnewbery)baf6b4e
Fix flake8 warnings in several wallet functional tests (jnewbery)bf9b03d
Add test for 64-bit Windows PE, modify 32-bit test results (ken2812221)9458b05
travis: New travis job for check_docs
steps (glaksmono)1834d4d
fundrawtransaction: lock watch-only shared address (kallewoof)4a50ec0
Remove unused option --srcdir (MarcoFalke)612ba35
Better stderr testing (jnewbery)196c5a9
Avoid printing to console during cache creation (sdaftuar)cb9bbf7
Remove 'account' API from wallet functional tests (jnewbery)ffa86af
travis: Rename the build stage check_doc
to lint
(practicalswift)3cbd25f
Remove spurious error log in p2p_segwit.py
(jnewbery)536120e
Don't include torcontrol.cpp into the test file (Empact)2ac6315
Move linters to test/lint, add readme (MarcoFalke)f8a29ca
travis: Build tests on ubuntu 18.04 with docker (ken2812221)24f7011
bench: Don't return a bool from main (laanwj)87a9d03
travis: Skip cache for lint stage (MarcoFalke)0b1c0c4
Fix "gmake check" under OpenBSD 6.3 (probably *BSD
): Avoid using GNU grep specific regexp handling (practicalswift)d4f6dac
Fixup setting of PATH env var (MarcoFalke)e24bf1c
Avoid checking reject code for now (MarcoFalke)2722a1f
bench: Use non-throwing parsedouble(…) instead of throwing boost::lexical_cast(…) (practicalswift)
264efdc
Increase includeconf test coverage (MarcoFalke)3d3d8ae
speed up of tx_validationcache_tests
by reusing of CTransaction (lucash-dev)531a033
Remove portseed_offset
from test runner (MarcoFalke)5315660
Log as utf-8 (MarcoFalke)fa4b906
Migrate verify-commits script to python, run in travis (ken2812221)4b1edd3
travis: Increase travis_wait
time while verifying commits (ken2812221)f532d52
Add logging to provide anchor points when debugging p2p_sendheaders (lmanners)4382f19
travis: Change mac goal to all deploy (ken2812221)b222138
Drop variadic macro (MarcoFalke)3a45493
mininode: Expose connection state through is_connected
(MarcoFalke)9ab4c2a
Harden lint-filenames.sh (wodry)08516e0
bench: Add block assemble benchmark (MarcoFalke)b1dc39d
bench: Add missing pow.h header (laanwj)2643fa5
Add -ftrapv to CFLAGS and CXXFLAGS when --enable-debug is used. Enable -ftrapv in Travis (practicalswift)d96bdd7
Make test_bitcoin
pass under ThreadSanitzer (clang). Fix lock-order-inversion (potential deadlock) (practicalswift)2328039
wallet_basic
: Specify minimum required amount for listunspent (MarcoFalke)c93c360
Fix incorrect documentation for test case cuckoocache_hit_rate_ok
(practicalswift)b330f3f
bench: Simplify coinselection (promag)a6ed99a
Remove need to handle the network thread in tests (MarcoFalke)686e97a
Fix p2p_sendheaders
race (jnewbery)3dc2dcf
Make p2p_segwit
easier to debug (jnewbery)0212187
bench: Fix incorrect behaviour in prevector.cpp (AkioNak)b05ded1
Fix AreInputsStandard test to reference the proper scriptPubKey (Empact)d3dae3d
Use common getPath method to create temp directory in tests (winder)2ea7eb6
skip rpc_zmq
functional test as necessary (jamesob)8f1106d
Fix some TODOs in p2p_segwit
(MarcoFalke)8803c91
Remove accounts from wallet_importprunedfunds.py
(jnewbery)cbc9b50
Avoid read/write to default datadir (MarcoFalke)f8a32a3
bench: Remove unused variable (practicalswift)6fcdb5e
Use MAX_SCRIPT_ELEMENT_SIZE
from script.py (domob1812)9d26b69
travis: Check that ~/.bitcoin is never created (MarcoFalke)e1260a7
fixes mininode's P2PConnection sending messages on closing transport (marcoagner)aa9429a
travis: Avoid unnecessarily setting env variables on the lint build (Empact)ab28b5b
Skip P2PConnection's is_closing()
check when not available (domob1812)7a9bca6
travis: Don't store debug info if --enable-debug is set (ken2812221)f98d1e0
bench: Add benchmark for unserialize prevector (AkioNak)365384f
travis: Retry to fetch docker image (MarcoFalke)4d550ff
Fix bench/block_assemble
assert failure (jamesob)d25079a
travis: Improve readability of travis.yml and log outputs (scravy)0fb9c87
bench: Make coinselection output groups pass eligibility filter (achow101)e83d82a
Add tests to SingleThreadedSchedulerClient() and document the memory model (skeees)660abc1
travis: Run bench_bitcoin
once (MarcoFalke)990e182
Extract rpc_timewait
as test param (MarcoFalke)9c4324d
fix locale for lint-shell (scravy)489b51b
quote path in authproxy for external multiwallets (MarcoFalke)2b67354
travis: Use only travis jobs: instead of mix of jobs+matrix (scravy)2384323
Add emojis to test_runner
path and wallet filename (MarcoFalke)8ac7125
wait_for_verack
by default (MarcoFalke)f66e1c7
Cleanup create_transaction
implementations (conscott)09ada21
Simplify comparison in rpc_blockchain.py
(domob1812)a08533c
Remove redundant checkmempool/checkblockindex extra_args
(MarcoFalke)a04888a
Add test for max number of entries in locator (MarcoFalke)1b04b55
Make extended tests pass on native Windows (MarcoFalke)0df7a6c
Port usage of deprecated optparse module to argparse module (Kvaciral)b8eb0df
blocktools enforce named args for amount (MarcoFalke)bffb35f
Enable automatic detection of undefined names in Python tests scripts. Remove wildcard imports (practicalswift)cf3d7f9
Use assert not BOOST_CHECK_*
from multithreaded tests (skeees)fab0fbe
Stop txindex thread before calling destructor (MarcoFalke)29899ec
Fix extended functional tests fail (ken2812221)9461f98
Disable wallet and address book Qt tests on macOS minimal platform (ryanofsky)86fadee
Run all tests even if wallet is not compiled (MarcoFalke)8bc1bad
Test rpc_help.py
failed: Check whether ZMQ is enabled or not (Kvaciral)96dc936
Use named args in validation acceptance tests (MarcoFalke)24d796a
Add tests for RPC help (promag)7ff32a6
Add some actual witness in rpc_rawtransaction
(MarcoFalke)b72fbab
Use correct python index slices in example test (sdaftuar)06544fa
Add TestNode::assert_debug_log
(MarcoFalke)60f7a97
Add test to ensure node can generate all rpc help texts at runtime (MarcoFalke)96f15e8
Fix a comment (fridokus)f9db08e
Avoid race in p2p_invalid_block
by waiting for the block request (MarcoFalke)67225e2
Add wallet_balance.py
(jnewbery)8897135
contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke)fe53d5f
gitian-builder.sh: fix --setup doc, since lxc is default (Sjors)294a766
Add missing newline in init.cpp log message (Aesti)dcfe218
contrib: Add support for out-of-tree builds in gen-manpages.sh (laanwj)aae64a2
Bump leveldb subtree (MarcoFalke)d77b4a7
gitian-build.sh: fix signProg being recognized as two parameters (ken2812221)d74b01d
utils: Remove deprecated pyzmq call from python zmq example (kosciej)bc67982
Use std::thread::hardware_concurrency
, instead of Boost, to determine available cores (fanquake)14475e2
scripts: Lint-whitespace: use perl instead of grep -p (Sjors)17c44b2
scripts: Lint-whitespace: add param to check last n commits (Sjors)842f61a
script: Simplify checkminimalpush checks, add safety assert (instagibbs)bb98aec
util: Print timestamp strings in logs using iso 8601 formatting (practicalswift)d8d9162
script: Lint-whitespace: find errors more easily (AkioNak)ae5bcc7
Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) (practicalswift)3d16f58
Improve Fatal LevelDB Log Messages (eklitzke)0f0229d
util: Remove unused sync_chain
(MarcoFalke)7fb8fb4
Apply hardening measures in bitcoind systemd service file (Flowdalic)55f490a
bitcoin-cli: Provide a better error message when bitcoind is not running (practicalswift)c290508
Provide useful error message if datadir is not writable (murrayn)624bee9
Remove Python2 support (jnewbery)082e26c
contrib: Remove unused import string (MarcoFalke)252c1b0
Python3 fixup (jnewbery)ff48f62
Revert 7deba93bdc
and fix expired-key-sigs properly (TheBlueMatt)5e53b80
contrib: Fix check-doc script regexes (MarcoFalke)4490871
Track negated options in the option parser (eklitzke)b2e5fe8
Make verify-commits.sh test that merges are clean (sipa)3190785
logging: Add lint-logs.sh to check for newline termination (jnewbery)a7cbe38
util: Pass pthread_self()
to pthread_setschedparam
instead of 0 (laanwj)fb17fae
Add shell script linting: Check for shellcheck warnings in shell scripts (practicalswift)5df84de
logging: Bypass timestamp formatting when not logging (theuni)fe8fa22
tests/tools: Enable additional Python flake8 rules for automatic linting via Travis (practicalswift)0782508
Add python3 script shebang lint (ken2812221)58bbc55
Print to console by default when not run with -daemon (practicalswift)8b4081a
Add logging and error handling for file syncing (laanwj)4741ca5
Consistently log CValidationState on call failure (Empact)826acc9
Fix for utiltime to compile with msvc (sipsorcery)81743b5
Remove script to clean up datadirs (MarcoFalke)5a66642
util: Refactor logging code into a global object (jimpo)35eb9d6
Add systemd service to bitcoind in debian package (ghost)0bc980b
rpcauth: Make it possible to provide a custom password (laanwj)b62b437
logging: Fix potential use-after-free in logprintstr(…) (practicalswift)0612d96
Enable Travis checking for two Python linting rules we are currently not violating (practicalswift)6826989
util: Warn about ignored recursive -includeconf calls (kallewoof)d9ebb63
Improve CRollingBloomFilter performance: replace modulus with FastMod (martinus)d792e47
Add script to detect circular dependencies between source modules (sipa)e08c130
Ensure gitian-build.sh uses bash (jhfrontz)e4082d5
lint: Add linter to error on #include <*.cpp>
(Empact)56f6936
utils and libraries: checking for bitcoin address in translations (kaplanmaxe)7c32b41
Simplify include analysis by enforcing the developer guide's include syntax (practicalswift)32bf4c6
Add linter: Enforce the source code file naming convention described in the developer notes (practicalswift)fa2ea37
contrib: Fix cve-2018-12356 by hardening the regex (loganaden)a90ca40
Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python (practicalswift)d67eff8
Follow-up to #13454: Fix broken build by exporting LC_ALL=C
(practicalswift)03f3925
Scripts and tools: Obsolete #!/bin/bash shebang (DesWurstes)c9eb8d1
logging: Avoid nstart may be used uninitialized in appinitmain warning (mruddy)453ae5e
bitcoin-tx: Stricter check for valid integers (domob1812)c05c93c
RPCAuth Detection in Logs (Linrono)4027ec1
Scripts and tools: Fix BIND_NOW
check in security-check.py (conradoplg)f5d166a
contrib: Clone core repo in gitian-build (MarcoFalke)4c6d1b9
contrib: Correct version check (kallewoof)dcc0cff
lint: Add linter for circular dependencies (Empact)0d1ebf4
utils: Refactor argsmanager a little (AtsukiTak)29b4ee6
contrib: Add lxc network setup for bionic host (ken2812221)f8685f4
contrib: Fix test-security-check fail in ubuntu 18.04 (ken2812221)77168f7
contrib: Remove debian and rpm subfolder (MarcoFalke)230652c
Ignore unknown config file options; warn instead of error (sipa)df9f712
shutdown: Stop threads before resetting ptrs (MarcoFalke)71dec5c
Merge leveldb subtree (MarcoFalke)ef86f26
lint: Make format string linter understand basic template parameter syntax (practicalswift)eb202ea
util: Report parse errors in configuration file (laanwj)9903537
Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use (eklitzke)047865e
Increase LevelDB max_open_files
(eklitzke)e80716d
Fix bug in memory usage calculation (unintended integer division) (practicalswift)becd8dd
Set SCHED_BATCH
priority on the loadblk thread (eklitzke)5ca1509
Add P2P, Network, and Qt categories to the desktop icon (luke-jr)4366f61
Network specific conf sections (ajtowns)4a7e64f
Prevent shared conf files from failing with different available options in different binaries (achow101)5eca4e8
For AVX2 code, also check for AVX, XSAVE, and OS support (sipa)c655b2c
Document FreeBSD quirk. Fix FreeBSD build: Use std::min(…) to allow for compilation under certain FreeBSD versions (practicalswift)
07ce278
Fix bitcoin-cli --version (Empact)d711c62
Update zmq to 4.3.1 (rex4539)216f9a4
Improvements to UNIX documentation (axvr)895fbd7
Explain how to update chainTxData in release process (laanwj)85123be
Document method for reviewers to verify chainTxData (jnewbery)d32528e
Properly alphabetize output of CLI --help option (murrayn)c345148
Remove step making cloned repository world-writable for Windows build (murrayn)b264528
add gpg key for fivepiece (fivepiece)89005dd
initial QT documentation (Sjors)fdc2188
Improve "Turn Windows Features On or Off" step (MCFX2)4528f74
init: Remove translation for -blockmaxsize
option help (laanwj)a4a5fc7
Minor improvements to Compatibility Notes (randolf)21e2670
dev-notes: Members should be initialized (MarcoFalke)71f56da
clarified systemd installation instructions in init.md for Ubuntu users (DaveFromBinary)1f93491
allow for SIGNER containing spaces (ken2812221)85424d7
PeerLogicValidation interface (jamesob)12ac2f0
Mention configure without wallet in FreeBSD instructions (dbolser)8a709fb
Give hint about gitian not able to download (kallewoof)de2fcaa
do update before fetching packages in WSL build guide (nvercamm)e7721e6
Update osx brew install instruction (fanquake)7466a26
Improve documentation on standard communication channels (jimpo)0415b1e
init: Fix help message for checkblockindex (MarcoFalke)2d97611
Add note about our preference for scoped enumerations ("enum class") (practicalswift)174d016
Refer to witness reserved value as spec. in the BIP (MarcoFalke)d3908e2
Improve formatting of developer notes (eklitzke)2b54155
Use bitcoind in Tor documentation (knoxcard)b15485e
Fix conflicting statements about initialization in developer notes (practicalswift)319991d
add qrencode to brew install instructions (buddilla)cd8e45b
Clarify the meaning of fee delta not being a fee rate in prioritisetransaction RPC (honzik666)06ead15
fixed link, replaced QT with Qt (trulex)ebd786b
devtools: Setup ots git integration (MarcoFalke)3cf76c2
Refine header include policy (MarcoFalke)6df0c6c
Fix comment in FindForkInGlobalIndex (jamesob)a63b4e3
Fix inconsistent namespace formatting guidelines (ryanofsky)9b3a67e
Fix include comment in src/interfaces/wallet.h (promag)d1e3c5e
Add comments for chainparams.h, validation.cpp (jamesob)569e381
List support for BIP173 in bips.md (sipa)646b7f6
build-windows: Switch to Artful, since Zesty is EOL (MarcoFalke)c5f7efe
Add version footnote to tor.md (Willtech)627c376
Mention good first issue list in CONTRIBUTING.md (fanquake)fb77310
Update OpenBSD build instructions for OpenBSD 6.3 (practicalswift)3a8e3f4
remove leftover check-doc documentation (fanquake)60f0358
update bitcoin-dot-org links in release-process.md (fanquake)f014933
split FreeBSD build instructions out of build-unix.md (steverusso)861de3b
Rename “OS X” to the newer “macOS” convention (giulio92)f8bcef3
update transifex doc link (mess110)b22115d
Add a note about the source code filename naming convention (practicalswift)1939536
Remove note to install all boost dev packages (MarcoFalke)9501938
Fix incorrect shell quoting in FreeBSD build instructions (murrayn)43fa355
Document validationinterace callback blocking deadlock potential (TheBlueMatt)d6cf4bd
Improve readability of "Squashing commits" (wodry)ee02deb
Clarify that mempool txiter is const_iterator
(MarcoFalke)01f9098
More precise explanation of parameter onlynet (wodry)1756cb4
Modify policy to not translate command-line help (ken2812221)b77c38e
Improve doc of options addnode, connect, seednode (wodry)17e9106
Update command line help for -printtoconsole and -debuglogfile (satwo, fanquake)8cc048e
corrected text to reflect new(er) process of specifying fingerprints (jhfrontz)b641f60
Rewrite some validation docs as lock annotations (MarcoFalke)30640f8
Remove outdated comment about miner ignoring CPFP (jamesob)7146672
Add release notes for -printtoconsole and -debuglogfile changes (satwo)f7f574d
Specify preferred Python string formatting technique (masonicboom)10b9a81
Remove field in getblocktemplate help that has never been used (conscott)d2186b3
Adjust bitcoincore.org links (MarcoFalke)94dd89e
Minor improvements to release-process.md (MitchellCash)ef4fac0
Remove newlines from error message (practicalswift)feb7dd9
add note to contributor docs about warranted PR's (kallewoof)67af7ef
Add BIP174 to list of implemented BIPs (sipa)c1cba35
Fix memory consistency model in comment (skeees)aa30e4b
Remove outdated net comment (MarcoFalke)317477a
correct versions in dependencies.md (fanquake)37ab117
Reformat -help output for help2man (real-or-random)8c3c402
Link to python style guidelines from developer notes (masonicboom)1cd5f2c
fix GetWarnings docs to reflect behavior (Empact)3e3a50a
Revert translated string change, clarify wallet log messages (PierreRochard)d6faea4
upgrade rescan time warning from minutes to >1 hour (masonicboom)73a09b4
fixed bitcoin-cli -help output for help2man (hebasto)2936dbc
Change documentation for =0 for non-boolean options (laanwj)465a583
Add reference documentation for descriptors language (sipa)0c5f67b
Clarify include guard naming convention (practicalswift)d3325b0
Correct the help output for -prune
(hebasto)1b5af2c
[0.17] doc: use SegWit in getblocktemplate example (Sjors)5f51fd6
doc/descriptors.md tweaks (ryanofsky)85aacc4
Add autogen.sh in ARM Cross-compilation (walterwhite81)Thanks to everyone who directly contributed to this release:
And to those that reported security issues: