From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 3D6021478 for ; Wed, 3 Oct 2018 23:53:25 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ot1-f68.google.com (mail-ot1-f68.google.com [209.85.210.68]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id A572B709 for ; Wed, 3 Oct 2018 23:53:20 +0000 (UTC) Received: by mail-ot1-f68.google.com with SMTP id w67so7381322ota.7 for ; Wed, 03 Oct 2018 16:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jtimon-cc.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=XJNJ0OpAbd1qwV1MGCdO72vcs5C4J1swOnk6XSURxgg=; b=tK6+lpn/Gm1dohdR/HB1egV8ogAuByOWvEfViE+VTGLVaijvlXJwbbKi9n1vsWw1Gl c3lK/N2uN88gDJhSk8Krv5vHV1nsue12cGJKzsne7XJ3bIUY2BZImcjxIyUKjel5wWsM yKR0jfICCrw9LzGS5RC3wKlERoxVQhdf6yBTl4zjdKA5Bliy8j0SdTytmSecAW4sLdbc f//Gp0Q4DIcAEnqYuJt3pmFXSawBC9CKZBw6N3xDB8UX7RMIT88jtCB4MfuCDE78zxG8 8TIDYVrHkJcYbJGA24G/xBzkCUK001z+VcniIOMacUbPpYvH3XzCXgnS4Nsm665Y4bqw 2Dnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=XJNJ0OpAbd1qwV1MGCdO72vcs5C4J1swOnk6XSURxgg=; b=M65zoKZEDi8QYWhLYYHEjlbgK5sqm5zyGbq1OKshdBobZPDaRugFlMCidUO0clhySX 5+X5rRXy7BNkbw+FnJ0d6DyOM5mkSg9eGX68h/91xArIVzOm8fk1AnR57SvNQpewVQU0 pYvDDj3uwHxiZMsLRQLAzMAeKn/pltze66t141iJ9KKjg2qrVK+MuHG/oKwxX4Zq2jWz qOp28hxBqME4OilapHIiuIMqsihNdOjk/JsN/tx36fIfjnR0BU//Sb7v0Fpcpi7SDGab P7jKZ4REh55tqEUc/jKID2bVODDCoHJzjm4/YgnA4s/sQCe2/piLE4EMyL4YZD3yPte/ ZKsA== X-Gm-Message-State: ABuFfohhXQsxCixwcsiQPgzvC5KHVwrhfhM9s07LOL2otlzkyg6Esrri wRMNw9zSCkVqMmOkURCbRiXCPcctnRAL02zTGIE+DmDLXlUvMgrN X-Google-Smtp-Source: ACcGV61QgnZjYK+GjDm8pTWJm2ekbpSCBnPRU3TqGuCGVjzBMk7LybTfu/EU3rcIgbnTzQ9bMS02w9WkLZGoP45S5K8= X-Received: by 2002:a9d:2992:: with SMTP id n18-v6mr2350588otb.253.1538610798985; Wed, 03 Oct 2018 16:53:18 -0700 (PDT) MIME-Version: 1.0 References: <20181003102926.2u3554rxovsasg7y@aurora.visucore.com> In-Reply-To: <20181003102926.2u3554rxovsasg7y@aurora.visucore.com> From: =?UTF-8?B?Sm9yZ2UgVGltw7Nu?= Date: Thu, 4 Oct 2018 01:53:07 +0200 Message-ID: To: Wladimir , Bitcoin Dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, FROM_EXCESS_BASE64, RCVD_IN_DNSWL_NONE autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Thu, 04 Oct 2018 03:30:19 +0000 Cc: Matt Corallo , Bitcoin Core Discussion Subject: Re: [bitcoin-dev] Bitcoin Core 0.17.0 released X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Oct 2018 23:53:25 -0000 It seems we forgot https://github.com/bitcoin/bitcoin/issues/12391#issuecomment-413653714 since getblockstats is only mentioned in the commits. On Wed, Oct 3, 2018 at 12:32 PM Wladimir J. van der Laan via bitcoin-dev wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA512 > > Bitcoin Core version 0.17.0 is now available from: > > > > or through BitTorrent: > > magnet:?xt=3Durn:btih:1c72f17bc1667a2ce81860b75135e491f6637d05&dn=3Dbit= coin-core-0.17.0&tr=3Dudp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=3Dudp%= 3A%2F%2Ftracker.opentrackr.org%3A1337&tr=3Dudp%3A%2F%2Ftracker.coppersurfer= .tk%3A6969&tr=3Dudp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=3Dudp%3= A%2F%2Fzer0day.ch%3A1337&tr=3Dudp%3A%2F%2Fexplodie.org%3A6969 > > This is a new major version release, including new features, various bugf= ixes > and performance improvements, as well as updated translations. > > Please report bugs using the issue tracker at GitHub: > > > > To receive security and update notifications, please subscribe to: > > > > How to Upgrade > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > If you are running an older version, shut it down. Wait until it has comp= letely > shut down (which might take a few minutes for older versions), then run t= he > installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on M= ac) > or `bitcoind`/`bitcoin-qt` (on Linux). > > If your node has a txindex, the txindex db will be migrated the first tim= e 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 the= re is no > automatic upgrade code from before version 0.8 to version 0.15.0. Upgradi= ng > directly from 0.7.x and earlier without redownloading the blockchain is n= ot supported. > However, as usual, old wallet versions are still supported. > > Downgrading warning > - ------------------- > > 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-ch= ainstate` > 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. > > Compatibility > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Bitcoin Core is extensively tested on multiple operating systems using > the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is no= t supported). > > Bitcoin 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 buil= t using Qt 5.9.x, which doesn't > support versions of macOS older than 10.10. > > Known issues > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > - - Upgrading from 0.13.0 or older currently results in memory blow-up du= ring 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, b= ut is expected to be resolved in 0.17.1. > > Notable changes > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > Changed configuration options > - ----------------------------- > > - - `-includeconf=3D` can be used to include additional configurati= on files. > Only works inside the `bitcoin.conf` file, not inside included files or= from > command-line. Multiple files may be included. Can be disabled from comm= and- > line via `-noincludeconf`. Note that multi-argument commands like > `-includeconf` will override preceding `-noincludeconf`, i.e. > ``` > noincludeconf=3D1 > includeconf=3Drelative.conf > ``` > > as bitcoin.conf will still include `relative.conf`. > > GUI changes > - ----------- > > - - Block storage can be limited under Preferences, in the Main tab. Undo= ing this setting requires downloading the full blockchain again. This mode = is incompatible with -txindex and -rescan. > > External wallet files > - --------------------- > > The `-wallet=3D` option now accepts full paths instead of requiring= wallets > to be located in the -walletdir directory. > > Newly created wallet format > - --------------------------- > > If `-wallet=3D` is specified with a path that does not exist, it wi= ll 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 j= ust > 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 wi= thout > 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 interprete= d the > same as before. > > Dynamic loading and creation of wallets > - --------------------------------------- > > Previously, wallets could only be loaded or created at startup, by specif= ying `-wallet` parameters on the command line or in the bitcoin.conf file. = It is now possible to load, create and unload wallets dynamically at runtim= e: > > - - Existing wallets can be loaded by calling the `loadwallet` RPC. The w= allet can be specified as file/directory basename (which must be located in= the `walletdir` directory), or as an absolute path to a file/directory. > - - New wallets can be created (and loaded) by calling the `createwallet`= RPC. The provided name must not match a wallet file in the `walletdir` dir= ectory or the name of a wallet that is currently loaded. > - - Loaded wallets can be unloaded by calling the `unloadwallet` RPC. > > This feature is currently only available through the RPC interface. > > Coin selection > - -------------- > > ### Partial spend avoidance > > When an address is paid multiple times the coins from those separate paym= ents can be spent separately which hurts privacy due to linking otherwise s= eparate addresses. A new `-avoidpartialspends` flag has been added (default= =3Dfalse). If enabled, the wallet will always spend existing UTXO to the sa= me address together even if it results in higher fees. If someone were to s= end coins to an address after it was used, those coins will still be includ= ed in future coin selections. > > Configuration sections for testnet and regtest > - ---------------------------------------------- > > 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=3Dbitcoin > test.uacomment=3Dbitcoin-testnet > regtest.uacomment=3Dregtest > [main] > mempoolsize=3D300 > [test] > mempoolsize=3D100 > [regtest] > mempoolsize=3D20 > > If the following options are not in a section, they will only apply to ma= innet: > `addnode=3D`, `connect=3D`, `port=3D`, `bind=3D`, `rpcport=3D`, `rpcbind= =3D` and `wallet=3D`. > The options to choose a network (`regtest=3D` and `testnet=3D`) must be s= pecified > outside of sections. > > 'label' and 'account' APIs for wallet > - ------------------------------------- > > 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 bitcoind with the '-deprecatedrpc=3Daccounts= ' > argument, and will be fully removed in V0.18. > > The label RPC methods mirror the account functionality, with the followin= g 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 `setlabe= l` RPC method. > - - There isn't support for sending transactions _from_ a label, or for d= etermining 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` retu= rns a json object with address information instead of just the name of the = account as a string. | > | `getaccountaddress` | n/a | There is no replaceme= nt for `getaccountaddress` since labels do not have an associated receive a= ddress. | > | `getaddressesbyaccount` | `getaddressesbylabel` | `getaddressesbylabel`= returns a json object with the addresses as keys, instead of a list of str= ings. | > | `getreceivedbyaccount` | `getreceivedbylabel` | _no change in behavio= r_ | > | `listaccounts` | `listlabels` | `listlabels` does not= return a balance or accept `minconf` and `watchonly` arguments. | > | `listreceivedbyaccount` | `listreceivedbylabel` | Both methods return n= ew `label` fields, along with `account` fields for backward compatibility. = | > | `move` | n/a | _no replacement_ | > | `sendfrom` | n/a | _no replacement_ | > | `setaccount` | `setlabel` | Both methods now:
  • allow assigning labels to any address, instead of raising an error if = the address is not receiving address.
  • delete the previous label associat= ed with an address when the final address using that label is reassigned to= a different label, instead of making an implicit `getaccountaddress` call = to ensure the previous label still has a receiving address. | > > | Changed Method | Notes | > | :--------------------- | :------ | > | `addmultisigaddress` | Renamed `account` named parameter to `label`. = Still accepts `account` for backward compatibility if running with '-deprec= atedrpc=3Daccounts'. | > | `getnewaddress` | Renamed `account` named parameter to `label`. = Still accepts `account` for backward compatibility. if running with '-depre= catedrpc=3Daccounts' | > | `listunspent` | Returns new `label` fields. `account` field wi= ll be returned for backward compatibility if running with '-deprecatedrpc= =3Daccounts' | > | `sendmany` | The `account` named parameter has been renamed= to `dummy`. If provided, the `dummy` parameter must be set to the empty st= ring, unless running with the `-deprecatedrpc=3Daccounts` argument (in whic= h 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=3Daccounts` argument (in which = case functionality is unchanged). | > | `getbalance` | `account`, `minconf` and `include_watchonly` p= arameters are deprecated, and can only be used if running with '-deprecated= rpc=3Daccounts' | > > BIP 174 Partially Signed Bitcoin Transactions support > - ----------------------------------------------------- > > [BIP 174 PSBT](https://github.com/bitcoin/bips/blob/master/bip-0174.media= wiki) is an interchange format for Bitcoin transactions that are not fully = signed > yet, together with relevant metadata to help entities work towards signin= g it. > It is intended to simplify workflows where multiple parties need to coope= rate to > produce a transaction. Examples include hardware wallets, multisig setups= , and > [CoinJoin](https://bitcointalk.org/?topic=3D279249) transactions. > > ### Overall workflow > > Overall, the construction of a fully signed Bitcoin transaction goes thro= ugh the > following steps: > > - - A **Creator** proposes a particular transaction to be created. He con= structs > a PSBT that contains certain inputs and outputs, but no additional meta= data. > - - 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 pu= blic keys > involved in each of the inputs (and possibly outputs) of the PSBT. > - - **Signers** inspect the transaction and its metadata to decide whethe= r they > agree with the transaction. They can use amount information from the UT= XOs > 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 signatur= es and > possibly script information into a final `scriptSig` and/or `scriptWitn= ess`. > - - An **Extractor** produces a valid Bitcoin transaction (in network for= mat) > from a PSBT for which all inputs are finalized. > > Generally, each of the above (excluding Creator and Extractor) will simpl= y > add more and more data to a particular PSBT. In a naive workflow, they al= l 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 parall= el > operation, **Combiners** can be employed which merge metadata from differ= ent > PSBTs for the same unsigned transaction. > > The names above in bold are the names of the roles defined in BIP174. The= y're > useful in understanding the underlying steps, but in practice, software a= nd > hardware implementations will typically implement multiple roles simultan= eously. > > ### RPCs > > - - **`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 inpu= ts 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 U= TXO > information present, key and script information will be added which the= wallet > knows about. It is equivalent to running `createrawtransaction`, follow= ed 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 tha= t miss > it, and optionally signs inputs. Where possible it also finalizes the p= artial > signatures. > - - **`finalizepsbt` (Finalizer, Extractor)** is a utility RPC that final= izes any > partial signatures, and if all inputs are finalized, converts the resul= t to a > fully signed transaction which can be broadcast with `sendrawtransactio= n`. > - - **`combinepsbt` (Combiner)** is a utility RPC that implements a Combi= ner. 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 comb= ine the > output of multiple Updaters or Signers. > - - **`decodepsbt`** is a diagnostic utility RPC which will show all info= rmation in > a PSBT in human-readable form, as well as compute its eventual fee if k= nown. > > Upgrading non-HD wallets to HD wallets > - -------------------------------------- > > Since Bitcoin Core 0.13.0, creating new BIP 32 Hierarchical Deterministic= wallets has been supported by Bitcoin Core but old non-HD wallets could no= t be upgraded to HD. Now non-HD wallets can be upgraded to HD using the `-u= pgradewallet` 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 b= ackup must be made when this upgrade is performed.** > > Additionally, `-upgradewallet` can be used to upgraded from a non-split H= D chain (all keys generated with `m/0'/0'/i'`) to a split HD chain (receivi= ng 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 rem= ain in the keypool to be used until all keys from before the upgrade are ex= hausted. 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 key= pool as used and begin using a new keypool generated from the split HD chai= n. > > HD Master key rotation > - ---------------------- > > A new RPC, `sethdseed`, has been introduced which allows users to set a n= ew HD seed or set their own HD seed. This allows for a new HD seed to be us= ed. **A new backup must be made when a new HD seed is set.** > > Low-level RPC changes > - --------------------- > > - - The new RPC `scantxoutset` can be used to scan the UTXO set for entri= es > that match certain output descriptors. Refer to the [output descriptors > reference documentation](doc/descriptors.md) for more details. This cal= l > 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 experimenta= l, > 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 `r= eserveChangeKey` 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 t= ransaction to the mempool without adding it. > - - JSON transaction decomposition now includes a `weight` field which pr= ovides > 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 `get= block` > (with verbosity=3D2), `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 `anc= estor`, `base`, `modified` > and `descendant` denominated in BTC. This new field deprecates previou= s fee fields, such as > `fee`, `modifiedfee`, `ancestorfee` and `descendantfee`. > - - The new RPC `getzmqnotifications` returns information about active ZM= Q > notifications. > - - When bitcoin is not started with any `-wallet=3D` options, the = name of > the default wallet returned by `getwalletinfo` and `listwallets` RPCs i= s > now the empty string `""` instead of `"wallet.dat"`. If bitcoin is star= ted > with any `-wallet=3D` options, there is no change in behavior, an= d the > name of any wallet is just its `` 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 outp= uts for > which you had all private keys in your wallet, there was generally no u= se 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 contrib= ute to > your balance, unless they are explicitly watched (using `importaddress`= or > `importmulti` with hex script argument). `signrawtransaction*` also sti= ll > works for them. > > - - The `getwalletinfo` RPC method now returns an `hdseedid` value, which= is always the same as the incorrectly-named `hdmasterkeyid` value. `hdmast= erkeyid` will be removed in V0.18. > - - The `getaddressinfo` RPC method now returns an `hdseedid` value, whic= h is always the same as the incorrectly-named `hdmasterkeyid` value. `hdmas= terkeyid` will be removed in V0.18. > > - - Parts of the `validateaddress` RPC method have been deprecated and mo= ved to > `getaddressinfo`. Clients must transition to using `getaddressinfo` to = access > this information before upgrading to v0.18. The following deprecated fi= elds > have moved to `getaddressinfo` and will only be shown with > `-deprecatedrpc=3Dvalidateaddress`: `ismine`, `iswatchonly`, `script`, = `hex`, > `pubkeys`, `sigsrequired`, `pubkey`, `addresses`, `embedded`, `iscompre= ssed`, > `account`, `timestamp`, `hdkeypath`, `hdmasterkeyid`. > - - `signrawtransaction` is deprecated and will be fully removed in v0.18= . To use > `signrawtransaction` in v0.17, restart bitcoind with > `-deprecatedrpc=3Dsignrawtransaction`. Projects should transition to us= ing > `signrawtransactionwithkey` and `signrawtransactionwithwallet` before > upgrading to v0.18. > > Other API changes > - ----------------- > > - - The `inactivehdmaster` property in the `dumpwallet` output has been c= orrected to `inactivehdseed` > > ### Logging > > - - The log timestamp format is now ISO 8601 (e.g. "2018-02-28T12:34:56Z"= ). > > - - When running bitcoind with `-debug` but without `-daemon`, logging to= stdout > is now the default behavior. Setting `-printtoconsole=3D1` no longer im= plicitly > disables logging to debug.log. Instead, logging to file can be explicit= ly disabled > by setting `-debuglogfile=3D0`. > > Transaction index changes > - ------------------------- > > The transaction index is now built separately from the main node procedur= e, > meaning the `-txindex` flag can be toggled without a full reindex. If bit= coind > is run with `-txindex` on a node that is already partially or fully synce= d > without one, the transaction index will be built in the background and be= come > available once caught up. When switching from running `-txindex` to runni= ng > 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. > > Miner block size removed > - ------------------------ > > 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= . > > Python Support > - -------------- > > Support for Python 2 has been discontinued for all test files and tools. > > 0.17.0 change log > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > ### Consensus > - - #12204 `3fa24bb` Fix overly eager BIP30 bypass (morcos) > > ### Policy > - - #12568 `ed6ae80` Allow dustrelayfee to be set to zero (luke-jr) > - - #13120 `ca2a233` Treat segwit as always active (MarcoFalke) > - - #13096 `062738c` Fix `MAX_STANDARD_TX_WEIGHT` check (jl2012) > > ### Mining > - - #12693 `df529dc` Remove unused variable in SortForBlock (drewx2) > - - #12448 `84efa9a` Interrupt block generation on shutdown request (prom= ag) > > ### Block and transaction handling > - - #12225 `67447ba` Mempool cleanups (sdaftuar) > - - #12356 `fd65937` Fix 'mempool min fee not met' debug output (Empact) > - - #12287 `bf3353d` Optimise lock behaviour for GuessVerificationProgres= s() (jonasschnelli) > - - #11889 `47a7666` Drop extra script variable in ProduceSignature (ryan= ofsky) > - - #11880 `d59b8d6` Stop special-casing phashBlock handling in validatio= n for TBV (TheBlueMatt) > - - #12431 `947c25e` Only call NotifyBlockTip when chainActive changes (j= amesob) > - - #12653 `534b8fa` Allow to optional specify the directory for the bloc= ks storage (jonasschnelli) > - - #12172 `3b62a91` Bugfix: RPC: savemempool: Don't save until LoadMempo= ol() is finished (jtimon) > - - #12167 `88430cb` Make segwit failure due to `CLEANSTACK` violation re= turn a `SCRIPT_ERR_CLEANSTACK` error code (maaku) > - - #12561 `24133b1` Check for block corruption in ConnectBlock() (sdaftu= ar) > - - #11617 `1b5723e` Avoid lock: Call FlushStateToDisk(=E2=80=A6) regardl= ess of fCheckForPruning (practicalswift) > - - #11739 `0a8b7b4` Enforce `SCRIPT_VERIFY_P2SH` and `SCRIPT_VERIFY_WITN= ESS` from genesis (sdaftuar) > - - #12885 `a49381d` Reduce implementation code inside CScript (sipa) > - - #13032 `34dd1a6` Output values for "min relay fee not met" error (kri= stapsk) > - - #13033 `a07e8ca` Build txindex in parallel with validation (jimpo) > - - #13080 `66cc47b` Add compile time checking for ::mempool.cs runtime l= ocking assertions (practicalswift) > - - #13185 `08c1caf` Bugfix: the end of a reorged chain is invalid when c= onnect fails (sipa) > - - #11689 `0264836` Fix missing locking in CTxMemPool::check(=E2=80=A6) = and CTxMemPool::setSanityCheck(=E2=80=A6) (practicalswift) > - - #13011 `3c2a41a` Cache witness hash in CTransaction (MarcoFalke) > - - #13191 `0de7cc8` Specialized double-SHA256 with 64 byte inputs with S= SE4.1 and AVX2 (sipa) > - - #13243 `ea263e1` Make reusable base class for auxiliary indices (jimp= o) > - - #13393 `a607d23` Enable double-SHA256-for-64-byte code on 32-bit x86 = (sipa) > - - #13428 `caabdea` validation: check the specified number of blocks (of= f-by-one) (kallewoof) > - - #13438 `450055b` Improve coverage of SHA256 SelfTest code (sipa) > - - #13431 `954f4a9` validation: count blocks correctly for check level <= 3 (kallewoof) > - - #13386 `3a3eabe` SHA256 implementations based on Intel SHA Extensions= (sipa) > - - #11658 `9a1ad2c` During IBD, when doing pruning, prune 10% extra to a= void pruning again soon after (luke-jr) > - - #13794 `8ce55df` chainparams: Update with data from assumed valid cha= in (MarcoFalke) > - - #13527 `e7ea858` Remove promiscuousmempoolflags (MarcoFalke) > > ### P2P protocol and network code > - - #12342 `eaeaa2d` Extend #11583 ("Do not make it trivial for inbound p= eers to generate log entries") to include "version handshake timeout" messa= ge (clemtaylor) > - - #12218 `9a32114` Move misbehaving logging to net logging category (la= anwj) > - - #10387 `5c2aff8` Eventually connect to `NODE_NETWORK_LIMITED` peers (= jonasschnelli) > - - #9037 `a36834f` Add test-before-evict discipline to addrman (EthanHei= lman) > - - #12622 `e1d6e2a` Correct addrman logging (laanwj) > - - #11962 `0a01843` add seed.bitcoin.sprovoost.nl to DNS seeds (Sjors) > - - #12569 `23e7fe8` Increase signal-to-noise ratio in debug.log by adjus= ting log level when logging failed non-manual connect():s (practicalswift) > - - #12855 `c199869` Minor accumulated cleanups (tjps) > - - #13153 `ef46c99` Add missing newlines to debug logging (laanwj) > - - #13162 `a174702` Don't incorrectly log that REJECT messages are unkno= wn (jnewbery) > - - #13151 `7f4db9a` Serve blocks directly from disk when possible (laanw= j) > - - #13134 `70d3541` Add option `-enablebip61` to configure sending of BI= P61 notifications (laanwj) > - - #13532 `7209fec` Log warning when deprecated network name 'tor' is us= ed (wodry) > - - #13615 `172f984` Remove unused interrupt from SendMessages (fanquake) > - - #13417 `1e90862` Tighten scope in `net_processing` (skeees) > - - #13298 `f8d470e` Bucketing INV delays (1 bucket) for incoming connect= ions to hide tx time (naumenkogs) > - - #13672 `0d8d6be` Modified `in_addr6` cast in CConman class to work wi= th msvc (sipsorcery) > - - #11637 `c575260` Remove dead service bits code (MarcoFalke) > - - #13212 `a6f00ce` Fixed a race condition when disabling the network (l= manners) > - - #13656 `1211b15` Remove the boost/algorithm/string/predicate.hpp depe= ndency (251Labs) > - - #13423 `f58674a` Thread safety annotations in `net_processing` (skeee= s) > - - #13776 `7d36237` Add missing verification of IPv6 address in CNetAddr= ::GetIn6Addr(=E2=80=A6) (practicalswift) > - - #13907 `48bf8ff` Introduce a maximum size for locators (gmaxwell) > - - #13951 `8a9ffec` Hardcoded seeds update pre-0.17 branch (laanwj) > > ### Wallet > - - #12330 `2a30e67` Reduce scope of `cs_main` and `cs_wallet` locks in l= isttransactions (promag) > - - #12298 `a1ffddb` Refactor HaveKeys to early return on false result (p= romag) > - - #12282 `663911e` Disallow abandon of conflicted txes (MarcoFalke) > - - #12333 `d405bee` Make CWallet::ListCoins atomic (promag) > - - #12296 `8e6f9f4` Only fee-bump non-conflicted/non-confirmed txes (Mar= coFalke) > - - #11866 `6bb9c13` Do not un-mark fInMempool on wallet txn if ATMP fail= s (TheBlueMatt) > - - #11882 `987a809` Disable default fallbackfee on mainnet (jonasschnell= i) > - - #9991 `4ca7c1e` listreceivedbyaddress Filter Address (NicolasDorier) > - - #11687 `98bc27f` External wallet files (ryanofsky) > - - #12658 `af88094` Sanitize some wallet serialization (sipa) > - - #9680 `6acd870` Unify CWalletTx construction (ryanofsky) > - - #10637 `e057589` Coin Selection with Murch's algorithm (achow101, Xek= yo) > - - #12408 `c39dd2e` Change output type globals to members (MarcoFalke) > - - #12694 `9552dfb` Actually disable BnB when there are preset inputs (a= chow101) > - - #11536 `cead84b` Rename account to label where appropriate (ryanofsky= ) > - - #12709 `02b7e83` shuffle sendmany recipients ordering (instagibbs) > - - #12699 `c948dc8` Shuffle transaction inputs before signing (instagibb= s) > - - #10762 `6d53663` Remove Wallet dependencies from init.cpp (jnewbery) > - - #12857 `821980c` Avoid travis lint-include-guards error (ken2812221) > - - #12702 `dab0d68` importprivkey: hint about importmulti (kallewoof) > - - #12836 `9abdb7c` Make WalletInitInterface and DummyWalletInit private= , fix nullptr deref (promag) > - - #12785 `215158a` Initialize `m_last_block_processed` to nullptr (prac= ticalswift) > - - #12932 `8d651ae` Remove redundant lambda function arg in handleTransa= ctionChanged (laanwj) > - - #12749 `a84b056` feebumper: discard change outputs below discard rate= (instagibbs) > - - #12892 `9b3370d` introduce 'label' API for wallet (jnewbery) > - - #12925 `6d3de17` Logprint the start of a rescan (jonasschnelli) > - - #12888 `39439e5` debug log number of unknown wallet records on load (= instagibbs) > - - #12977 `434150a` Refactor `g_wallet_init_interface` to const referenc= e (promag) > - - #13017 `65d7083` Add wallets management functions (promag) > - - #12953 `d1d54ae` Deprecate accounts (jnewbery) > - - #12909 `476cb35` Make fee settings to be non-static members (MarcoFal= ke) > - - #13002 `487dcbe` Do not treat bare multisig outputs as IsMine unless = watched (sipa) > - - #13028 `783bb64` Make vpwallets usage thread safe (promag) > - - #12507 `2afdc29` Interrupt rescan on shutdown request (promag) > - - #12729 `979150b` Get rid of ambiguous OutputType::NONE value (ryanofs= ky) > - - #13079 `5778d44` Fix rescanblockchain rpc to properly report progress= (Empact) > - - #12560 `e03c0db` Upgrade path for non-HD wallets to HD (achow101) > - - #13161 `7cc1bd3` Reset BerkeleyDB handle after connection fails (real= -or-random) > - - #13081 `0dec5b5` Add compile time checking for `cs_wallet` runtime lo= cking assertions (practicalswift) > - - #13127 `19a3a9e` Add Clang thread safety annotations for variables gu= arded by `cs_db` (practicalswift) > - - #10740 `4cfe17c` `loadwallet` RPC - load wallet at runtime (jnewbery) > - - #12924 `6738813` Fix hdmaster-key / seed-key confusion (scripted diff= ) (jnewbery) > - - #13297 `d82c5d1` Fix incorrect comment for DeriveNewSeed (jnewbery) > - - #13063 `6378eef` Use shared pointer to retain wallet instance (promag= ) > - - #13142 `56fe3dc` Separate IsMine from solvability (sipa) > - - #13194 `fd96d54` Remove template matching and pseudo opcodes (sipa) > - - #13252 `c4cc8d9` Refactor ReserveKeyFromKeyPool for safety (Empact) > - - #13058 `343d4e4` `createwallet` RPC - create new wallet at runtime (j= newbery) > - - #13351 `2140f6c` Prevent segfault when sending to unspendable witness= (MarcoFalke) > - - #13060 `3f0f394` Remove getlabeladdress RPC (jnewbery) > - - #13111 `000abbb` Add unloadwallet RPC (promag) > - - #13160 `868cf43` Unlock spent outputs (promag) > - - #13498 `f54f373` Fixups from account API deprecation (jnewbery) > - - #13491 `61a044a` Improve handling of INVALID in IsMine (sipa) > - - #13425 `028b0d9` Moving final scriptSig construction from CombineSign= atures to ProduceSignature (PSBT signer logic) (achow101) > - - #13564 `88a15eb` loadwallet shouldn't create new wallets (jnewbery) > - - #12944 `619cd29` ScanforWalletTransactions should mark input txns as = dirty (instagibbs) > - - #13630 `d6b2235` Drop unused pindexRet arg to CMerkleTx::GetDepthInMa= inChain (Empact) > - - #13566 `ad552a5` Fix get balance (jnewbery) > - - #13500 `4a3e8c5` Decouple wallet version from client version (achow10= 1) > - - #13712 `aba2e66` Fix non-determinism in ParseHDKeypath(=E2=80=A6). Av= oid using an uninitialized variable in path calculation (practicalswift) > - - #9662 `6b6e854` Add createwallet "disableprivatekeys" option: a sane = mode for watchonly-wallets (jonasschnelli) > - - #13683 `e8c7434` Introduce assertion to document the assumption that = cache and cache_used are always set in tandem (practicalswift) > - - #12257 `5f7575e` Use destination groups instead of coins in coin sele= ct (kallewoof) > - - #13773 `89a116d` Fix accidental use of the comma operator (practicals= wift) > - - #13805 `c88529a` Correctly limit output group size (sdaftuar) > - - #12992 `26f59f5` Add wallet name to log messages (PierreRochard) > - - #13667 `b81a8a5` Fix backupwallet for multiwallets (domob1812) > - - #13657 `51c693d` assert to ensure accuracy of CMerkleTx::GetBlocksToM= aturity (Empact) > - - #13812 `9d86aad` sum ancestors rather than taking max in output group= s (kallewoof) > - - #13876 `8eb9870` Catch `filesystem_error` and raise `InitError` (Marc= oFalke) > - - #13808 `13d51a2` shuffle coins before grouping, where warranted (kall= ewoof) > - - #13666 `2115cba` Always create signatures with Low R values (achow101= ) > - - #13917 `0333914` Additional safety checks in PSBT signer (sipa) > - - #13968 `65e7a8b` couple of walletcreatefundedpsbt fixes (instagibbs) > - - #14055 `2307a6e` fix walletcreatefundedpsbt deriv paths, add test (in= stagibbs) > > ### RPC and other APIs > - - #12336 `3843780` Remove deprecated rpc options (jnewbery) > - - #12193 `5dc00f6` Consistently use UniValue.pushKV instead of push_bac= k(Pair()) (karel-3d) (MarcoFalke) > - - #12409 `0cc45ed` Reject deprecated reserveChangeKey in fundrawtransac= tion (MarcoFalke) > - - #10583 `8a98dfe` Split part of validateaddress into getaddressinfo (a= chow101) > - - #10579 `ffc6e48` Split signrawtransaction into wallet and non-wallet = RPC command (achow101) > - - #12494 `e4ffcac` Declare CMutableTransaction a struct in rawtransacti= on.h (Empact) > - - #12503 `0e26591` createmultisig no longer takes addresses (instagibbs= ) > - - #12083 `228b086` Improve getchaintxstats test coverage (promag) > - - #12479 `cd5e438` Add child transactions to getrawmempool verbose outp= ut (conscott) > - - #11872 `702e8b7` createrawtransaction: Accept sorted outputs (MarcoFa= lke) > - - #12700 `ebdf84c` Document RPC method aliasing (ryanofsky) > - - #12727 `8ee5c7b` Remove unreachable help conditions in rpcwallet.cpp = (lutangar) > - - #12778 `b648974` Add username and ip logging for RPC method requests = (GabrielDav) > - - #12717 `ac898b6` rest: Handle utxo retrieval when ignoring the mempoo= l (romanz) > - - #12787 `cd99e5b` Adjust ifdef to avoid unreachable code (practicalswi= ft) > - - #11742 `18815b4` Add testmempoolaccept (MarcoFalke) > - - #12942 `fefb817` Drop redundant testing of signrawtransaction prevtxs= args (Empact) > - - #11200 `5f2a399` Allow for aborting rescans in the GUI (achow101) > - - #12791 `3a8a4dc` Expose a transaction's weight via RPC (TheBlueMatt) > - - #12436 `6e67754` Adds a functional test to validate the transaction v= ersion number in the RPC output (251Labs) > - - #12240 `6f8b345` Introduced a new `fees` structure that aggregates al= l sub-field fee types denominated in BTC (mryandao) > - - #12321 `eac067a` p2wsh and p2sh-p2wsh address in decodescript (fivepi= ece) > - - #13090 `17266a1` Remove Safe mode (achow101, laanwj) > - - #12639 `7eb7076` Reduce `cs_main` lock in listunspent (promag) > - - #10267 `7b966d9` New -includeconf argument for including external con= figuration files (kallewoof) > - - #10757 `b9551d3` Introduce getblockstats to plot things (jtimon) > - - #13288 `a589f53` Remove the need to include rpc/blockchain.cpp in ord= er to put `GetDifficulty` under test (Empact) > - - #13394 `e1f8dce` cli: Ignore libevent warnings (theuni) > - - #13439 `3f398d7` Avoid "duplicate" return value for invalid submitblo= ck (TheBlueMatt) > - - #13570 `a247594` Add new "getzmqnotifications" method (domob1812) > - - #13072 `b25a4c2` Update createmultisig RPC to support segwit (ajtowns= ) > - - #12196 `8fceae0` Add scantxoutset RPC method (jonasschnelli) > - - #13557 `b654723` BIP 174 PSBT Serializations and RPCs (achow101) > - - #13697 `f030410` Support output descriptors in scantxoutset (sipa) > - - #13927 `bced8ea` Use pushKV in some new PSBT RPCs (domob1812) > - - #13918 `a9c56b6` Replace median fee rate with feerate percentiles in = getblockstats (marcinja) > - - #13721 `9f23c16` Bugfixes for BIP 174 combining and deserialization (= achow101) > - - #13960 `517010e` Fix PSBT deserialization of 0-input transactions (ac= how101) > > ### GUI > - - #12416 `c997f88` Fix Windows build errors introduced in #10498 (pract= icalswift) > - - #11733 `e782099` Remove redundant locks (practicalswift) > - - #12426 `bfa3911` Initialize members in WalletModel (MarcoFalke) > - - #12489 `e117cfe` Bugfix: respect user defined configuration file (-co= nf) in QT settings (jonasschnelli) > - - #12421 `be263fa` navigate to transaction history page after send (Sj= ors) > - - #12580 `ce56fdd` Show a transaction's virtual size in its details dia= log (dooglus) > - - #12501 `c8ea91a` Improved "custom fee" explanation in tooltip (randol= f) > - - #12616 `cff95a6` Set modal overlay hide button as default (promag) > - - #12620 `8a43bdc` Remove TransactionTableModel::TxIDRole (promag) > - - #12080 `56cc022` Add support to search the address book (promag) > - - #12621 `2bac3e4` Avoid querying unnecessary model data when filtering= transactions (promag) > - - #12721 `e476826` remove "new" button during receive-mode in addressbo= ok (jonasschnelli) > - - #12723 `310dc61` Qt5: Warning users about invalid-BIP21 URI bitcoin:/= / (krab) > - - #12610 `25cf18f` Multiwallet for the GUI (jonasschnelli) > - - #12779 `f4353da` Remove unused method setupAmountWidget(=E2=80=A6) (p= racticalswift) > - - #12795 `68484d6` do not truncate .dat extension for wallets in gui (i= nstagibbs) > - - #12870 `1d54004` make clean removes `src/qt/moc_` files (Sjors) > - - #13055 `bdda14d` Don't log to console by default (laanwj) > - - #13141 `57c57df` fixes broken link on readme (marcoagner) > - - #12928 `ef006d9` Initialize non-static class members that were previo= usly neither initialized where defined nor in constructor (practicalswift) > - - #13158 `81c533c` Improve sendcoinsdialog readability (marcoagner) > - - #11491 `40c34a0` Add proxy icon in statusbar (mess110) > - - #13264 `2a7c53b` Satoshi unit (GreatSock) > - - #13097 `e545503` Support wallets loaded dynamically (promag) > - - #13284 `f8be434` fix visual "overflow" of amount input (brandonrninef= ive) > - - #13275 `a315b79` use `[default wallet]` as name for wallet with no na= me (jonasschnelli) > - - #13273 `3fd0c23` Qt/Bugfix: fix handling default wallet with no name = (jonasschnelli) > - - #13341 `25d2df2` Stop translating command line options (laanwj) > - - #13043 `6e249e4` OptionsDialog: add prune setting (Sjors) > - - #13506 `6579d80` load wallet in UI after possible init aborts (jonass= chnelli) > - - #13458 `dc53f7f` Drop qt4 support (laanwj) > - - #13528 `b877c39` Move BitcoinGUI initializers to class, fix initializ= er order warning (laanwj) > - - #13536 `baf3a3a` coincontrol: Remove unused qt4 workaround (MarcoFalk= e) > - - #13537 `10ffca7` Peer table: Visualize inbound/outbound state for eve= ry row (wodry) > - - #13791 `2c14c1f` Reject dialogs if key escape is pressed (promag) > > ### Build system > - - #12371 `c9ca4f6` Add gitian PGP key: akx20000 (ghost) > - - #11966 `f4f4f51` clientversion: Use full commit hash for commit-based= version descriptions (luke-jr) > - - #12417 `ae0fbf0` Upgrade `mac_alias` to 2.0.7 (droark) > - - #12444 `1f055ef` gitian: Bump descriptors for (0.)17 (theuni) > - - #12402 `59e032b` expat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (f= anquake) > - - #12029 `daa84b3` Add a makefile target for Doxygen documentation (Ov3= rlo4d) > - - #12466 `6645eaf` Only use `D_DARWIN_C_SOURCE` when building miniupnpc= on darwin (fanquake) > - - #11986 `765a3eb` zeromq 4.2.3 (fanquake) > - - #12373 `f13d756` Add build support for profiling (murrayn) > - - #12631 `a312e20` gitian: Alphabetize signing keys & add kallewoof key= (kallewoof) > - - #12607 `29fad97` Remove ccache (fanquake) > - - #12625 `c4219ff` biplist 1.0.3 (fanquake) > - - #12666 `05042d3` configure: UniValue 1.0.4 is required for pushKV(, b= ool) (luke-jr) > - - #12678 `6324c68` Fix a few compilation issues with Clang 7 and -Werro= r (vasild) > - - #12692 `de6bdfd` Add configure options for various -fsanitize flags (= eklitzke) > - - #12901 `7e23972` Show enabled sanitizers in configure output (practic= alswift) > - - #12899 `3076993` macOS: Prevent Xcode 9.3 build warnings (AkioNak) > - - #12715 `8fd6243` Add 'make clean' rule (hkjn) > - - #13133 `a024a18` Remove python2 from configure.ac (ken2812221) > - - #13005 `cb088b1` Make --enable-debug to pick better options (practica= lswift) > - - #13254 `092b366` Remove improper `qt/moc_*` cleaning glob from the ge= neral Makefile (Empact) > - - #13306 `f5a7733` split warnings out of CXXFLAGS (theuni) > - - #13385 `7c7508c` Guard against accidental introduction of new Boost d= ependencies (practicalswift) > - - #13041 `5779dc4` Add linter checking for accidental introduction of l= ocale dependence (practicalswift) > - - #13408 `70a03c6` crypto: cleanup sha256 build (theuni) > - - #13435 `cf7ca60` When build fails due to lib missing, indicate which = one (Empact) > - - #13445 `8eb76f3` Reset default -g -O2 flags when enable debug (ken281= 2221) > - - #13465 `81069a7` Avoid concurrency issue when make multiple target (k= en2812221) > - - #13454 `45c00f8` Make sure `LC_ALL=3DC` is set in all shell scripts (= practicalswift) > - - #13480 `31145a3` Avoid copies in range-for loops and add a warning to= detect them (theuni) > - - #13486 `66e1a08` Move rpc/util.cpp from libbitcoin-util to libbitcoin= -server (ken2812221) > - - #13580 `40334c7` Detect if char equals `int8_t` (ken2812221) > - - #12788 `287e4ed` Tune wildcards for LIBSECP256K1 target (kallewoof) > - - #13611 `b55f0c3` bugfix: Use `__cpuid_count` for gnu C to avoid gitia= n build fail (ken2812221) > - - #12971 `a6d14b1` Upgrade Qt to 5.9.6 (TheCharlatan) > - - #13543 `6c6a300` Add RISC-V support (laanwj) > - - #13177 `dcb154e` GCC-7 and glibc-2.27 back compat code (ken2812221) > - - #13659 `90b1c7e` add missing leveldb defines (theuni) > - - #13368 `c0f1569` Update gitian-build.sh for docker (achow101) > - - #13171 `19d8ca5` Change gitian-descriptors to use bionic instead (ken= 2812221) > - - #13604 `75bea05` Add depends 32-bit arm support for bitcoin-qt (TheCh= arlatan) > - - #13623 `9cdb19f` Migrate gitian-build.sh to python (ken2812221) > - - #13689 `8c36432` disable Werror when building zmq (greenaddress) > - - #13617 `cf7f9ae` release: Require macos 10.10+ (fanquake) > - - #13750 `c883653` use MacOS friendly sed syntax in qt.mk (Sjors) > - - #13095 `415f2bf` update `ax_boost_chrono`/`unit_test_framework` (fanq= uake) > - - #13732 `e8ffec6` Fix Qt's rcc determinism (Fuzzbawls) > - - #13782 `8284f1d` Fix osslsigncode compile issue in gitian-build (ken2= 812221) > - - #13696 `2ab7208` Add aarch64 qt depends support for cross compiling b= itcoin-qt (TheCharlatan) > - - #13705 `b413ba0` Add format string linter (practicalswift) > - - #14000 `48c8459` fix qt determinism (theuni) > - - #14018 `3e4829a` Bugfix: NSIS: Exclude `Makefile*` from docs (luke-jr= ) > - - #12906 `048ac83` Avoid `interface` keyword to fix windows gitian buil= d (ryanofsky) > - - #13314 `a9b6957` Fix FreeBSD build by including utilstrencodings.h (l= aanwj) > > ### Tests and QA > - - #12252 `8d57319` Require all tests to follow naming convention (ajtow= ns) > - - #12295 `935eb8d` Enable flake8 warnings for all currently non-violate= d rules (practicalswift) > - - #11858 `b4d8549` Prepare tests for Windows (MarcoFalke) > - - #11771 `2dbc4a4` Change invalidtxrequest to use BitcoinTestFramework = (jnewbery) > - - #12200 `d09968f` Bind functional test nodes to 127.0.0.1 (Sjors) > - - #12425 `26dc2da` Add some script tests (richardkiss) > - - #12455 `23481fa` Fix bip68 sequence test to reflect updated rpc error= message (Empact) > - - #12477 `acd1e61` Plug memory leaks and stack-use-after-scope (MarcoFa= lke) > - - #12443 `07090c5` Move common args to bitcoin.conf (MarcoFalke) > - - #12570 `39dcac2` Add test cases for HexStr (`std::reverse_iterator` a= nd corner cases) (kostaz) > - - #12582 `6012f1c` Fix ListCoins test failure due to unset `g_wallet_al= low_fallback_fee` (ryanofsky) > - - #12516 `7f99964` Avoid unintentional unsigned integer wraparounds in = tests (practicalswift) > - - #12512 `955fd23` Don't test against the mempool min fee information i= n mempool_limit.py (Empact) > - - #12600 `29088b1` Add a test for large tx output scripts with segwit i= nput (richardkiss) > - - #12627 `791c3ea` Fix some tests to work on native windows (MarcoFalke= ) > - - #12405 `0f58d7f` travis: Full clone for git subtree check (MarcoFalke= ) > - - #11772 `0630974` Change invalidblockrequest to use BitcoinTestFramewo= rk (jnewbery) > - - #12681 `1846296` Fix ComputeTimeSmart test failure with `-DDEBUG_LOCK= ORDER` (ryanofsky) > - - #12682 `9f04c8e` travis: Clone depth 1 unless `$check_doc` (MarcoFalk= e) > - - #12710 `00d1680` Append scripts to new `test_list` array to fix bad a= ssignment (jeffrade) > - - #12720 `872c921` Avoiding 'file' function name from python2 (jeffrade= ) > - - #12728 `4ba3d4f` rename TestNode to TestP2PConn in tests (jnewbery) > - - #12746 `2405ce1` Remove unused argument `max_invalid` from `check_est= imates(=E2=80=A6)` (practicalswift) > - - #12718 `185d484` Require exact match in `assert_start_raises_init_ero= r` (jnewbery, MarcoFalke) > - - #12076 `6d36f59` Use node.datadir instead of tmpdir in test framework= (MarcoFalke) > - - #12772 `b43aba8` ci: Bump travis timeout for make check to 50m (jnewb= ery) > - - #12806 `18606eb` Fix function names in `feature_blocksdir` (MarcoFalk= e) > - - #12811 `0d8fc8d` Make summary row bold-red if any test failed and sho= w failed tests at end of table (laanwj) > - - #12790 `490644d` Use blockmaxweight where tests previously had blockm= axsize (conscott) > - - #11773 `f0f9732` Change `feature_block.py` to use BitcoinTestFramewor= k (jnewbery) > - - #12839 `40f4baf` Remove travis checkout depth (laanwj) > - - #11817 `2a09a78` Change `feature_csv_activation.py` to use BitcoinTes= tFramework (jnewbery) > - - #12284 `fa5825d` Remove assigned but never used local variables. Enab= le Travis checking for unused local variables (practicalswift) > - - #12719 `9beded5` Add note about test suite naming convention in devel= oper-notes.md (practicalswift) > - - #12861 `c564424` Stop `feature_block.py` from blowing up memory (jnew= bery) > - - #12851 `648252e` travis: Run verify-commits only on cron jobs (MarcoF= alke) > - - #12853 `2106c4c` Match full plain text by default (MarcoFalke) > - - #11818 `9a2db3b` I accidentally (deliberately) killed it (the Compari= sonTestFramework) (jnewbery) > - - #12766 `69310a3` Tidy up REST interface functional tests (romanz) > - - #12849 `83c7533` Add logging in loops in `p2p_sendhears.py` (ccdle12) > - - #12895 `d6f10b2` Add note about test suite name uniqueness requiremen= t to developer notes (practicalswift) > - - #12856 `27278df` Add Metaclass for BitcoinTestFramework (WillAyd) > - - #12918 `6fc5a05` Assert on correct variable (kallewoof) > - - #11878 `a04440f` Add Travis check for duplicate includes (practicalsw= ift) > - - #12917 `cf8073f` Windows fixups for functional tests (MarcoFalke) > - - #12926 `dd1ca9e` Run unit tests in parallel (sipa) > - - #12920 `b1fdfc1` Fix sign for expected values (kallewoof) > - - #12947 `979f598` Wallet hd functional test speedup and clarification = (instagibbs) > - - #12993 `0d69921` Remove compatibility code not needed now when we're = on Python 3 (practicalswift) > - - #12996 `6a278e0` Remove redundant bytes(=E2=80=A6) calls (practicalsw= ift) > - - #12949 `6b46288` Avoid copies of CTransaction (MarcoFalke) > - - #13007 `0d12570` Fix dangling wallet pointer in vpwallets (promag) > - - #13048 `cac6d11` Fix `feature_block` flakiness (jnewbery) > - - #12510 `d5b2e98` Add `rpc_bind` test to default-run tests (laanwj) > - - #13022 `896a9d0` Attach node index to `test_node` AssertionError and = print messages (jamesob) > - - #13024 `018c7e5` Add rpcauth pair that generated by rpcauth.py (ken28= 12221) > - - #13013 `a0079d4` bench: Amend `mempool_eviction` test for witness txs= (MarcoFalke) > - - #13051 `e074097` Normalize executable location (MarcoFalke) > - - #13056 `106d929` Make rpcauth.py testable and add unit tests (nixbox) > - - #13073 `a785bc3` add rpcauth-test to `AC_CONFIG_LINKS` to fix out-of-= tree make check (laanwj) > - - #12830 `25ad2f7` Clarify address book error messages, add tests (jame= sob) > - - #13082 `24106a8` don't test against min relay fee information in `min= ing_prioritisetransaction.py` (kristapsk) > - - #13003 `8d045a0` Add test for orphan handling (MarcoFalke) > - - #13105 `9e9b48d` Add --failfast option to functional test runner (jam= esob) > - - #13130 `3186ad4` Fix race in `rpc_deprecated.py` (jnewbery) > - - #13136 `baf6b4e` Fix flake8 warnings in several wallet functional tes= ts (jnewbery) > - - #13094 `bf9b03d` Add test for 64-bit Windows PE, modify 32-bit test r= esults (ken2812221) > - - #13183 `9458b05` travis: New travis job for `check_docs` steps (glaks= mono) > - - #12265 `1834d4d` fundrawtransaction: lock watch-only shared address (= kallewoof) > - - #13188 `4a50ec0` Remove unused option --srcdir (MarcoFalke) > - - #12755 `612ba35` Better stderr testing (jnewbery) > - - #13198 `196c5a9` Avoid printing to console during cache creation (sda= ftuar) > - - #13075 `cb9bbf7` Remove 'account' API from wallet functional tests (j= newbery) > - - #13221 `ffa86af` travis: Rename the build stage `check_doc` to `lint`= (practicalswift) > - - #13205 `3cbd25f` Remove spurious error log in `p2p_segwit.py` (jnewbe= ry) > - - #13291 `536120e` Don't include torcontrol.cpp into the test file (Emp= act) > - - #13281 `2ac6315` Move linters to test/lint, add readme (MarcoFalke) > - - #13215 `f8a29ca` travis: Build tests on ubuntu 18.04 with docker (ken= 2812221) > - - #13349 `24f7011` bench: Don't return a bool from main (laanwj) > - - #13347 `87a9d03` travis: Skip cache for lint stage (MarcoFalke) > - - #13355 `0b1c0c4` Fix "gmake check" under OpenBSD 6.3 (probably `*BSD`= ): Avoid using GNU grep specific regexp handling (practicalswift) > - - #13353 `d4f6dac` Fixup setting of PATH env var (MarcoFalke) > - - #13352 `e24bf1c` Avoid checking reject code for now (MarcoFalke) > - - #13383 `2722a1f` bench: Use non-throwing parsedouble(=E2=80=A6) inste= ad of throwing boost::lexical_cast(=E2=80=A6) (practicalswift) > - - #13367 `264efdc` Increase includeconf test coverage (MarcoFalke) > - - #13404 `3d3d8ae` speed up of `tx_validationcache_tests` by reusing of= CTransaction (lucash-dev) > - - #13421 `531a033` Remove `portseed_offset` from test runner (MarcoFalk= e) > - - #13440 `5315660` Log as utf-8 (MarcoFalke) > - - #13066 `fa4b906` Migrate verify-commits script to python, run in trav= is (ken2812221) > - - #13447 `4b1edd3` travis: Increase `travis_wait` time while verifying = commits (ken2812221) > - - #13350 `f532d52` Add logging to provide anchor points when debugging = p2p_sendheaders (lmanners) > - - #13406 `4382f19` travis: Change mac goal to all deploy (ken2812221) > - - #13457 `b222138` Drop variadic macro (MarcoFalke) > - - #13512 `3a45493` mininode: Expose connection state through `is_connec= ted` (MarcoFalke) > - - #13496 `9ab4c2a` Harden lint-filenames.sh (wodry) > - - #13219 `08516e0` bench: Add block assemble benchmark (MarcoFalke) > - - #13530 `b1dc39d` bench: Add missing pow.h header (laanwj) > - - #12686 `2643fa5` Add -ftrapv to CFLAGS and CXXFLAGS when --enable-deb= ug is used. Enable -ftrapv in Travis (practicalswift) > - - #12882 `d96bdd7` Make `test_bitcoin` pass under ThreadSanitzer (clang= ). Fix lock-order-inversion (potential deadlock) (practicalswift) > - - #13535 `2328039` `wallet_basic`: Specify minimum required amount for = listunspent (MarcoFalke) > - - #13551 `c93c360` Fix incorrect documentation for test case `cuckoocac= he_hit_rate_ok` (practicalswift) > - - #13563 `b330f3f` bench: Simplify coinselection (promag) > - - #13517 `a6ed99a` Remove need to handle the network thread in tests (M= arcoFalke) > - - #13522 `686e97a` Fix `p2p_sendheaders` race (jnewbery) > - - #13467 `3dc2dcf` Make `p2p_segwit` easier to debug (jnewbery) > - - #13598 `0212187` bench: Fix incorrect behaviour in prevector.cpp (Aki= oNak) > - - #13565 `b05ded1` Fix AreInputsStandard test to reference the proper s= criptPubKey (Empact) > - - #13145 `d3dae3d` Use common getPath method to create temp directory i= n tests (winder) > - - #13645 `2ea7eb6` skip `rpc_zmq` functional test as necessary (jamesob= ) > - - #13626 `8f1106d` Fix some TODOs in `p2p_segwit` (MarcoFalke) > - - #13138 `8803c91` Remove accounts from `wallet_importprunedfunds.py` (= jnewbery) > - - #13663 `cbc9b50` Avoid read/write to default datadir (MarcoFalke) > - - #13682 `f8a32a3` bench: Remove unused variable (practicalswift) > - - #13638 `6fcdb5e` Use `MAX_SCRIPT_ELEMENT_SIZE` from script.py (domob1= 812) > - - #13687 `9d26b69` travis: Check that ~/.bitcoin is never created (Marc= oFalke) > - - #13715 `e1260a7` fixes mininode's P2PConnection sending messages on c= losing transport (marcoagner) > - - #13729 `aa9429a` travis: Avoid unnecessarily setting env variables on= the lint build (Empact) > - - #13747 `ab28b5b` Skip P2PConnection's `is_closing()` check when not a= vailable (domob1812) > - - #13650 `7a9bca6` travis: Don't store debug info if --enable-debug is = set (ken2812221) > - - #13711 `f98d1e0` bench: Add benchmark for unserialize prevector (Akio= Nak) > - - #13771 `365384f` travis: Retry to fetch docker image (MarcoFalke) > - - #13806 `4d550ff` Fix `bench/block_assemble` assert failure (jamesob) > - - #13779 `d25079a` travis: Improve readability of travis.yml and log ou= tputs (scravy) > - - #13822 `0fb9c87` bench: Make coinselection output groups pass eligibi= lity filter (achow101) > - - #13247 `e83d82a` Add tests to SingleThreadedSchedulerClient() and doc= ument the memory model (skeees) > - - #13811 `660abc1` travis: Run `bench_bitcoin` once (MarcoFalke) > - - #13837 `990e182` Extract `rpc_timewait` as test param (MarcoFalke) > - - #13851 `9c4324d` fix locale for lint-shell (scravy) > - - #13823 `489b51b` quote path in authproxy for external multiwallets (M= arcoFalke) > - - #13849 `2b67354` travis: Use only travis jobs: instead of mix of jobs= +matrix (scravy) > - - #13859 `2384323` Add emojis to `test_runner` path and wallet filename= (MarcoFalke) > - - #13916 `8ac7125` `wait_for_verack` by default (MarcoFalke) > - - #13669 `f66e1c7` Cleanup `create_transaction` implementations (consco= tt) > - - #13924 `09ada21` Simplify comparison in `rpc_blockchain.py` (domob181= 2) > - - #13913 `a08533c` Remove redundant checkmempool/checkblockindex `extra= _args` (MarcoFalke) > - - #13915 `a04888a` Add test for max number of entries in locator (Marco= Falke) > - - #13867 `1b04b55` Make extended tests pass on native Windows (MarcoFal= ke) > - - #13944 `0df7a6c` Port usage of deprecated optparse module to argparse= module (Kvaciral) > - - #13928 `b8eb0df` blocktools enforce named args for amount (MarcoFalke= ) > - - #13054 `bffb35f` Enable automatic detection of undefined names in Pyt= hon tests scripts. Remove wildcard imports (practicalswift) > - - #14069 `cf3d7f9` Use assert not `BOOST_CHECK_*` from multithreaded te= sts (skeees) > - - #14071 `fab0fbe` Stop txindex thread before calling destructor (Marco= Falke) > > ### Miscellaneous > - - #11909 `8897135` contrib: Replace developer keys with list of pgp fin= gerprints (MarcoFalke) > - - #12394 `fe53d5f` gitian-builder.sh: fix --setup doc, since lxc is def= ault (Sjors) > - - #12468 `294a766` Add missing newline in init.cpp log message (Aesti) > - - #12308 `dcfe218` contrib: Add support for out-of-tree builds in gen-m= anpages.sh (laanwj) > - - #12451 `aae64a2` Bump leveldb subtree (MarcoFalke) > - - #12527 `d77b4a7` gitian-build.sh: fix signProg being recognized as tw= o parameters (ken2812221) > - - #12588 `d74b01d` utils: Remove deprecated pyzmq call from python zmq = example (kosciej) > - - #10271 `bc67982` Use `std::thread::hardware_concurrency`, instead of = Boost, to determine available cores (fanquake) > - - #12097 `14475e2` scripts: Lint-whitespace: use perl instead of grep -= p (Sjors) > - - #12098 `17c44b2` scripts: Lint-whitespace: add param to check last n = commits (Sjors) > - - #11900 `842f61a` script: Simplify checkminimalpush checks, add safety= assert (instagibbs) > - - #12567 `bb98aec` util: Print timestamp strings in logs using iso 8601= formatting (practicalswift) > - - #12572 `d8d9162` script: Lint-whitespace: find errors more easily (Ak= ioNak) > - - #10694 `ae5bcc7` Remove redundant code in MutateTxSign(CMutableTransa= ction&, const std::string&) (practicalswift) > - - #12659 `3d16f58` Improve Fatal LevelDB Log Messages (eklitzke) > - - #12643 `0f0229d` util: Remove unused `sync_chain` (MarcoFalke) > - - #12102 `7fb8fb4` Apply hardening measures in bitcoind systemd service= file (Flowdalic) > - - #12652 `55f490a` bitcoin-cli: Provide a better error message when bit= coind is not running (practicalswift) > - - #12630 `c290508` Provide useful error message if datadir is not writa= ble (murrayn) > - - #11881 `624bee9` Remove Python2 support (jnewbery) > - - #12821 `082e26c` contrib: Remove unused import string (MarcoFalke) > - - #12829 `252c1b0` Python3 fixup (jnewbery) > - - #12822 `ff48f62` Revert 7deba93bdc76616011a9f493cbc203d60084416f and = fix expired-key-sigs properly (TheBlueMatt) > - - #12820 `5e53b80` contrib: Fix check-doc script regexes (MarcoFalke) > - - #12713 `4490871` Track negated options in the option parser (eklitzke= ) > - - #12708 `b2e5fe8` Make verify-commits.sh test that merges are clean (s= ipa) > - - #12891 `3190785` logging: Add lint-logs.sh to check for newline termi= nation (jnewbery) > - - #12923 `a7cbe38` util: Pass `pthread_self()` to `pthread_setschedpara= m` instead of 0 (laanwj) > - - #12871 `fb17fae` Add shell script linting: Check for shellcheck warni= ngs in shell scripts (practicalswift) > - - #12970 `5df84de` logging: Bypass timestamp formatting when not loggin= g (theuni) > - - #12987 `fe8fa22` tests/tools: Enable additional Python flake8 rules f= or automatic linting via Travis (practicalswift) > - - #12972 `0782508` Add python3 script shebang lint (ken2812221) > - - #13004 `58bbc55` Print to console by default when not run with -daemo= n (practicalswift) > - - #13039 `8b4081a` Add logging and error handling for file syncing (laa= nwj) > - - #13020 `4741ca5` Consistently log CValidationState on call failure (E= mpact) > - - #13031 `826acc9` Fix for utiltime to compile with msvc (sipsorcery) > - - #13119 `81743b5` Remove script to clean up datadirs (MarcoFalke) > - - #12954 `5a66642` util: Refactor logging code into a global object (ji= mpo) > - - #12769 `35eb9d6` Add systemd service to bitcoind in debian package (g= host) > - - #13146 `0bc980b` rpcauth: Make it possible to provide a custom passwo= rd (laanwj) > - - #13148 `b62b437` logging: Fix potential use-after-free in logprintstr= (=E2=80=A6) (practicalswift) > - - #13214 `0612d96` Enable Travis checking for two Python linting rules = we are currently not violating (practicalswift) > - - #13197 `6826989` util: Warn about ignored recursive -includeconf call= s (kallewoof) > - - #13176 `d9ebb63` Improve CRollingBloomFilter performance: replace mod= ulus with FastMod (martinus) > - - #13228 `d792e47` Add script to detect circular dependencies between s= ource modules (sipa) > - - #13320 `e08c130` Ensure gitian-build.sh uses bash (jhfrontz) > - - #13301 `e4082d5` lint: Add linter to error on `#include <*.cpp>` (Emp= act) > - - #13374 `56f6936` utils and libraries: checking for bitcoin address in= translations (kaplanmaxe) > - - #13230 `7c32b41` Simplify include analysis by enforcing the developer= guide's include syntax (practicalswift) > - - #13450 `32bf4c6` Add linter: Enforce the source code file naming conv= ention described in the developer notes (practicalswift) > - - #13479 `fa2ea37` contrib: Fix cve-2018-12356 by hardening the regex (= loganaden) > - - #13448 `a90ca40` Add linter: Make sure we explicitly open all text fi= les using UTF-8 encoding in Python (practicalswift) > - - #13494 `d67eff8` Follow-up to #13454: Fix broken build by exporting `= LC_ALL=3DC` (practicalswift) > - - #13510 `03f3925` Scripts and tools: Obsolete #!/bin/bash shebang (Des= Wurstes) > - - #13577 `c9eb8d1` logging: Avoid nstart may be used uninitialized in a= ppinitmain warning (mruddy) > - - #13603 `453ae5e` bitcoin-tx: Stricter check for valid integers (domob= 1812) > - - #13118 `c05c93c` RPCAuth Detection in Logs (Linrono) > - - #13647 `4027ec1` Scripts and tools: Fix `BIND_NOW` check in security-= check.py (conradoplg) > - - #13692 `f5d166a` contrib: Clone core repo in gitian-build (MarcoFalke= ) > - - #13699 `4c6d1b9` contrib: Correct version check (kallewoof) > - - #13695 `dcc0cff` lint: Add linter for circular dependencies (Empact) > - - #13733 `0d1ebf4` utils: Refactor argsmanager a little (AtsukiTak) > - - #13714 `29b4ee6` contrib: Add lxc network setup for bionic host (ken2= 812221) > - - #13764 `f8685f4` contrib: Fix test-security-check fail in ubuntu 18.0= 4 (ken2812221) > - - #13809 `77168f7` contrib: Remove debian and rpm subfolder (MarcoFalke= ) > - - #13799 `230652c` Ignore unknown config file options; warn instead of = error (sipa) > - - #13894 `df9f712` shutdown: Stop threads before resetting ptrs (MarcoF= alke) > - - #13925 `71dec5c` Merge leveldb subtree (MarcoFalke) > - - #13939 `ef86f26` lint: Make format string linter understand basic tem= plate parameter syntax (practicalswift) > - - #14105 `eb202ea` util: Report parse errors in configuration file (laa= nwj) > - - #12604 `9903537` Add DynamicMemoryUsage() to CDBWrapper to estimate L= evelDB memory use (eklitzke) > - - #12495 `047865e` Increase LevelDB `max_open_files` (eklitzke) > - - #12784 `e80716d` Fix bug in memory usage calculation (unintended inte= ger division) (practicalswift) > - - #12618 `becd8dd` Set `SCHED_BATCH` priority on the loadblk thread (ek= litzke) > - - #12854 `5ca1509` Add P2P, Network, and Qt categories to the desktop i= con (luke-jr) > - - #11862 `4366f61` Network specific conf sections (ajtowns) > - - #13441 `4a7e64f` Prevent shared conf files from failing with differen= t available options in different binaries (achow101) > - - #13471 `5eca4e8` For AVX2 code, also check for AVX, XSAVE, and OS sup= port (sipa) > - - #13503 `c655b2c` Document FreeBSD quirk. Fix FreeBSD build: Use std::= min(=E2=80=A6) to allow for compilation under certain FreeBSD versions= (practicalswift) > - - #13725 `07ce278` Fix bitcoin-cli --version (Empact) > > ### Documentation > - - #12306 `216f9a4` Improvements to UNIX documentation (axvr) > - - #12309 `895fbd7` Explain how to update chainTxData in release process= (laanwj) > - - #12317 `85123be` Document method for reviewers to verify chainTxData = (jnewbery) > - - #12331 `d32528e` Properly alphabetize output of CLI --help option (mu= rrayn) > - - #12322 `c345148` Remove step making cloned repository world-writable = for Windows build (murrayn) > - - #12354 `b264528` add gpg key for fivepiece (fivepiece) > - - #11761 `89005dd` initial QT documentation (Sjors) > - - #12232 `fdc2188` Improve "Turn Windows Features On or Off" step (MCFX= 2) > - - #12487 `4528f74` init: Remove translation for `-blockmaxsize` option = help (laanwj) > - - #12546 `a4a5fc7` Minor improvements to Compatibility Notes (randolf) > - - #12434 `21e2670` dev-notes: Members should be initialized (MarcoFalke= ) > - - #12452 `71f56da` clarified systemd installation instructions in init.= md for Ubuntu users (DaveFromBinary) > - - #12615 `1f93491` allow for SIGNER containing spaces (ken2812221) > - - #12603 `85424d7` PeerLogicValidation interface (jamesob) > - - #12581 `12ac2f0` Mention configure without wallet in FreeBSD instruct= ions (dbolser) > - - #12619 `8a709fb` Give hint about gitian not able to download (kallewo= of) > - - #12668 `de2fcaa` do update before fetching packages in WSL build guid= e (nvercamm) > - - #12586 `e7721e6` Update osx brew install instruction (fanquake) > - - #12760 `7466a26` Improve documentation on standard communication chan= nels (jimpo) > - - #12797 `0415b1e` init: Fix help message for checkblockindex (MarcoFal= ke) > - - #12800 `2d97611` Add note about our preference for scoped enumeration= s ("enum class") (practicalswift) > - - #12798 `174d016` Refer to witness reserved value as spec. in the BIP = (MarcoFalke) > - - #12759 `d3908e2` Improve formatting of developer notes (eklitzke) > - - #12877 `2b54155` Use bitcoind in Tor documentation (knoxcard) > - - #12896 `b15485e` Fix conflicting statements about initialization in d= eveloper notes (practicalswift) > - - #12850 `319991d` add qrencode to brew install instructions (buddilla) > - - #12007 `cd8e45b` Clarify the meaning of fee delta not being a fee rat= e in prioritisetransaction RPC (honzik666) > - - #12927 `06ead15` fixed link, replaced QT with Qt (trulex) > - - #12852 `ebd786b` devtools: Setup ots git integration (MarcoFalke) > - - #12933 `3cf76c2` Refine header include policy (MarcoFalke) > - - #12951 `6df0c6c` Fix comment in FindForkInGlobalIndex (jamesob) > - - #12982 `a63b4e3` Fix inconsistent namespace formatting guidelines (ry= anofsky) > - - #13026 `9b3a67e` Fix include comment in src/interfaces/wallet.h (prom= ag) > - - #13012 `d1e3c5e` Add comments for chainparams.h, validation.cpp (jame= sob) > - - #13064 `569e381` List support for BIP173 in bips.md (sipa) > - - #12997 `646b7f6` build-windows: Switch to Artful, since Zesty is EOL = (MarcoFalke) > - - #12384 `c5f7efe` Add version footnote to tor.md (Willtech) > - - #13165 `627c376` Mention good first issue list in CONTRIBUTING.md (fa= nquake) > - - #13295 `fb77310` Update OpenBSD build instructions for OpenBSD 6.3 (p= racticalswift) > - - #13340 `3a8e3f4` remove leftover check-doc documentation (fanquake) > - - #13346 `60f0358` update bitcoin-dot-org links in release-process.md (= fanquake) > - - #13372 `f014933` split FreeBSD build instructions out of build-unix.m= d (steverusso) > - - #13366 `861de3b` Rename =E2=80=9COS X=E2=80=9D to the newer =E2=80=9C= macOS=E2=80=9D convention (giulio92) > - - #13369 `f8bcef3` update transifex doc link (mess110) > - - #13312 `b22115d` Add a note about the source code filename naming con= vention (practicalswift) > - - #13460 `1939536` Remove note to install all boost dev packages (Marco= Falke) > - - #13476 `9501938` Fix incorrect shell quoting in FreeBSD build instruc= tions (murrayn) > - - #13402 `43fa355` Document validationinterace callback blocking deadlo= ck potential (TheBlueMatt) > - - #13488 `d6cf4bd` Improve readability of "Squashing commits" (wodry) > - - #13531 `ee02deb` Clarify that mempool txiter is `const_iterator` (Mar= coFalke) > - - #13418 `01f9098` More precise explanation of parameter onlynet (wodry= ) > - - #13592 `1756cb4` Modify policy to not translate command-line help (ke= n2812221) > - - #13588 `b77c38e` Improve doc of options addnode, connect, seednode (w= odry) > - - #13614 `17e9106` Update command line help for -printtoconsole and -de= buglogfile (satwo, fanquake) > - - #13605 `8cc048e` corrected text to reflect new(er) process of specify= ing fingerprints (jhfrontz) > - - #13481 `b641f60` Rewrite some validation docs as lock annotations (Ma= rcoFalke) > - - #13680 `30640f8` Remove outdated comment about miner ignoring CPFP (j= amesob) > - - #13625 `7146672` Add release notes for -printtoconsole and -debuglogf= ile changes (satwo) > - - #13718 `f7f574d` Specify preferred Python string formatting technique= (masonicboom) > - - #12764 `10b9a81` Remove field in getblocktemplate help that has never= been used (conscott) > - - #13742 `d2186b3` Adjust bitcoincore.org links (MarcoFalke) > - - #13706 `94dd89e` Minor improvements to release-process.md (MitchellCa= sh) > - - #13775 `ef4fac0` Remove newlines from error message (practicalswift) > - - #13803 `feb7dd9` add note to contributor docs about warranted PR's (k= allewoof) > - - #13814 `67af7ef` Add BIP174 to list of implemented BIPs (sipa) > - - #13835 `c1cba35` Fix memory consistency model in comment (skeees) > - - #13824 `aa30e4b` Remove outdated net comment (MarcoFalke) > - - #13853 `317477a` correct versions in dependencies.md (fanquake) > - - #13872 `37ab117` Reformat -help output for help2man (real-or-random) > - - #13717 `8c3c402` Link to python style guidelines from developer notes= (masonicboom) > - - #13895 `1cd5f2c` fix GetWarnings docs to reflect behavior (Empact) > - - #13911 `3e3a50a` Revert translated string change, clarify wallet log = messages (PierreRochard) > - - #13908 `d6faea4` upgrade rescan time warning from minutes to >1 hour = (masonicboom) > - - #13905 `73a09b4` fixed bitcoin-cli -help output for help2man (hebasto= ) > - - #14100 `2936dbc` Change documentation for =3D0 for non-boolean option= s (laanwj) > - - #14096 `465a583` Add reference documentation for descriptors language= (sipa) > - - #12757 `0c5f67b` Clarify include guard naming convention (practicalsw= ift) > - - #13844 `d3325b0` Correct the help output for `-prune` (hebasto) > > Credits > =3D=3D=3D=3D=3D=3D=3D > > Thanks to everyone who directly contributed to this release: > > - - 251 > - - 532479301 > - - Aaron Clauson > - - Akio Nakamura > - - Akira Takizawa > - - Alex Morcos > - - Alex Vear > - - Alexey Ivanov > - - Alin Rus > - - Andrea Comand > - - Andrew Chow > - - Anthony Towns > - - AtsukiTak > - - Ben Woosley > - - Bernhard M. Wiedemann > - - Brandon Ruggles > - - buddilla > - - ccdle12 > - - Chris Moore > - - Chun Kuan Lee > - - Clem Taylor > - - Conor Scott > - - Conrado Gouvea > - - Cory Fields > - - Cristian Mircea Messel > - - ctp-tsteenholdt > - - Damian Williamson > - - Dan Bolser > - - Daniel Kraft > - - Darko Jankovi=C4=87 > - - DaveFromBinary > - - David A. Harding > - - DesWurstes > - - Dimitris Apostolou > - - donaloconnor > - - Douglas Roark > - - DrahtBot > - - Drew Rasmussen > - - e0 > - - Ernest Hemingway > - - Ethan Heilman > - - Evan Klitzke > - - fanquake > - - Felix Wolfsteller > - - fivepiece > - - Florian Schmaus > - - Fuzzbawls > - - Gabriel Davidian > - - Giulio Lombardo > - - Gleb > - - Grady Laksmono > - - GreatSock > - - Gregory Maxwell > - - Gregory Sanders > - - Hennadii Stepanov > - - Henrik Jonsson > - - Indospace.io > - - James O'Beirne > - - Jan =C4=8Capek > - - Jeff Frontz > - - Jeff Rade > - - Jeremy Rubin > - - JeremyRand > - - Jesse Cohen > - - Jim Posen > - - joemphilips > - - John Bampton > - - John Newbery > - - johnlow95 > - - Johnson Lau > - - Jonas Nick > - - Jonas Schnelli > - - Jo=C3=A3o Barbosa > - - Jorge Tim=C3=B3n > - - Josh Hartshorn > - - Julian Fleischer > - - kallewoof > - - Karel Bilek > - - Karl-Johan Alm > - - Ken Lee > - - Kevin Pan > - - Kosta Zertsekel > - - Kristaps Kaupe > - - Kvaciral > - - Lawrence Nahum > - - Linrono > - - lmanners > - - Loganaden Velvindron > - - Lowell Manners > - - lucash.dev@gmail.com > - - Luke Dashjr > - - lutangar > - - Marcin Jachymiak > - - marcoagner > - - MarcoFalke > - - Mark Erhardt > - - Mark Friedenbach > - - Martin Ankerl > - - Mason Simon > - - Matt Corallo > - - Matteo Sumberaz > - - Max Kaplan > - - MeshCollider > - - Micha=C5=82 Zabielski > - - Mitchell Cash > - - mruddy > - - mryandao > - - murrayn > - - Nick Vercammen > - - Nicolas Dorier > - - Nikolay Mitev > - - okayplanet > - - Pierre Rochard > - - Pieter Wuille > - - practicalswift > - - Qasim Javed > - - Randolf Richardson > - - Richard Kiss > - - Roman Zeyde > - - Russell Yanofsky > - - Samuel B. Atwood > - - Sebastian Kung > - - Sjors Provoost > - - Steve Lee > - - steverusso > - - Suhas Daftuar > - - Tamas Blummer > - - TheCharlatan > - - Thomas Kerin > - - Thomas Snider > - - Tim Ruffing > - - Varunram > - - Vasil Dimov > - - Will Ayd > - - William Robinson > - - winder > - - Wladimir J. van der Laan > - - wodry > > And to those that reported security issues: > > - - awemany (for CVE-2018-17144, previously credited as "anonymous report= er") > > As well as everyone that helped translating on [Transifex](https://www.tr= ansifex.com/projects/p/bitcoin/). > -----BEGIN PGP SIGNATURE----- > > iQEzBAEBCgAdFiEEnerg3HBjJJ+wVHRoHkrtYphs0l0FAlu0mOwACgkQHkrtYphs > 0l16Hwf/ZdGp2MlqTTSNLrFqXJY+8oV2wcSSqw2A6+9TSPFwnycTsQjr1yCZ3BLq > ANyfVex2nivHgGrNsX4m28yemG8QEeoS/u8sUcRMgGz+oaN/0h7kVy2xU/lG6s9o > qjO5NBT0ug0iOpkVnVhouNK5W50+qfTH8tSYyzr3ywtCLmQ8TZtfa/7jti0pKXIY > DVtpmSbfjTsn0vBMHlQMPgf1Qw7Tr25klzP34Hp3YLEjQ+HlUZqm602t2GqgNgC4 > rwfHkE3erAJg+i5IsYgq8F4kJIcAMt3T+EZs21+VmcK5v6v4+G4w4K99VyyJlm/u > hvjEe4Tzp0p5YIcXvnEJkkRc3X4xDg=3D=3D > =3DOmK+ > -----END PGP SIGNATURE----- > > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev