Bitcoin Core 0.17.0
Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.
Bitcoin Core バージョン0.17.0は以下から入手可能です。
https://bitcoincore.org/bin/bitcoin-core-0.17.0/
これは新しいメジャーバージョンリリースで、新しい機能や様々なバグ修正とパフォーマンス改善、更新された翻訳を含みます。
バグを発見した場合はGitHubのIssue Trackerを使用して報告してください。
https://github.com/bitcoin/bitcoin/issues
セキュリティやアップデートの通知を受け取りたい場合は、以下に登録してください。
https://bitcoincore.org/en/list/announcements/join/
アップグレード方法
旧バージョンを起動している場合はシャットダウンしてください。
完全にシャットダウンするのを待ってから(旧バージョンでは数分かかるかもしれません)、
Windowsの場合はインストーラーを実行、Macの場合は/Applications/Bitcoin-Qtを上書き、
Linuxの場合はbitcoind/bitcoin-qtを上書きしてください。
ノードにtxindexがある場合、最初に0.17.0以降を実行する際、txindex DBがマイグレーションされ、これには数時間かかります。このマイグレーションが完了するまでノードは機能しません。
初めて0.15.0以降のバージョンを実行すると、chainstateデータベースが新しいフォーマットに変換されます。 これにはマシンの速度に応じて、数分から30分かかります。
blockデータベースのフォーマットも0.8.0から変更されており、0.8より前のバージョンから バージョン0.15.0以降に自動アップグレードするコードはありません。 0.7.xやそれより前のバージョンからブロックチェーンを再ダウンロードすることなく直接アップグレードすることはサポートされていません。 しかし、いつものように、旧ウォレットバージョンは引き続きサポートされています。
ダウングレードの警告
このリリースのchainstateデータベースは前のリリースと互換性がありません。そのため、
0.15を実行していて、古いバージョンに戻す場合は、-reindex-chainstateオプションを指定して
古いリリースを実行し、 旧フォーマットでchainstateデータ構造を再構築する必要があります。
ノードでプルーニングが有効になっている場合は、ブロックチェーン全体を再ダウンロードして処理する必要があります。
互換性
Bitcoin CoreはLinuxカーネルやmacOS 10.10以降、Windows 7以降などの複数のオペレーティングシステムで幅広くテストされています (Windows XPはサポートされていません)。
Bitcoin Coreは他のほとんどのUnixライクなシステムで動作するはずですが、それらで頻繁にテストはされていません。
0.17.0以降、macOS 10.10未満はサポートされなくなりました。0.17.0はQt 5.9.xを使ってビルドされますが、 10.10より古いmacOSではそのバージョンをサポートしていません。
既知の問題
- 
    0.13.0以前のバージョンからアップグレードするとSegWitのアクティベーションポイントにブロックをロールバックする際にメモリが壊れることがあります。この場合、完全な -reindexが必要です。
- 
    新しいMacOSのダークモードでGUIの視覚的な不具合が発生します。これはQtのテーマ処理と関係しており、0.17.0における新しい問題ではありませんが、0.17.1で解決される予定です。 
主な変更点
設定オプションの変更
- 
    -includeconf=<file>が追加の設定ファイルをインクルードするのに使用できます。bitcoin.confのファイル内でのみ動作し、インクルードされたファイル内やコマンドラインからは 動作しません。複数のファイルをインクルードすることが可能です。-noincludeconfを介して コマンドラインから無効にすることが可能です。-includeconfのように複数の引数を持つコマンドは 先行する-noincludeconfをオーバーライドすることに注意してください。例えばnoincludeconf=1 includeconf=relative.confとbitcoin.confに記載されていると、 relative.confはインクルードされます。
GUIの変更
- ブロックのストレージがPreferencesのメインタブので制限できます。この設定を元に戻すには完全なブロックチェーンを再度ダウンロードする必要があります。このモードは-txindexおよび-rescanと互換性がありません。
外部ウォレットファイル
-wallet=<path>オプションが、ウォレットが置かれている場所を-walletdirでディレクトリ指定するのではなく、
フルパスで指定できるようになりました。
新しく作成されたウォレットのフォーマット
-wallet=<path>に存在しないパスを指定すると、パスにデータファイルを作成しログファイルを
親ディレクトリに保存するのではなく、指定された場所に(wallet.datデータファイル、db.logファイル、
database/log.??????????ファイルを含む)ウォレットディレクトリを作成します。
これによりトランザクションログファイルの親ディレクトリを調べなくても、指定したウォレットパスを
直接アーカイブすることができるため、以前より直接的にウォレットをバックアップすることができます。
後方互換性のため、-walletdirディレクトリ内の既存のデータファイルの名前であるウォレットパスは
引き続き受け入れられ、以前と同じように解釈されます。
ウォレットの動的ローディングと作成
以前は、コマンドラインやbitcoin.confファイル内で-walletパラメータを指定するだけで、起動時にウォレットをロードまたは作成することができました。0.17.0から実行時にウォレットを動的にロード、作成、アンロードすることができるようになりました:
- 既存のウォレットはloadwalletRPCを呼ぶことでロードすることができます。ウォレットは(walletdirディレクトリ内に配置された)ファイル/ディレクトリのbasenameもしくはファイル/ディレクトリの絶対パスで指定できます。
- createwalletRPCを呼ぶことで新しいウォレットを作成(そしてロード)することができます。指定する名前は、- walletdirディレクトリ内のウォレットファイルや現在ロードされているウォレットの名前と一致してはいけません。
- ロードされたウォレットはunloadwalletRPCを呼ぶことでアンロードできます。
この機能は現在、RPCインターフェースを介してのみ利用可能です。
コインの選択
部分的なコイン使用の回避
1つのアドレスが複数回支払いに使われると、それら別々の支払いのコインは別々に使用することができ、別々のアドレスを使用した場合と異なり、リンクされプライバシーを傷つけます。このため新しく-avoidpartialspendsフラグが追加されました(デフォルトはfalse)。このフラグを有効にすると、ウォレットは手数料が高額になったとしても、アドレスが複数のUTXOを持つ場合、それらのUTXOを一緒に使用します。誰かが使用済みのアドレスにコインを送った場合、それらのコインは将来のコイン選択の際に一緒に選択されます。
testnetとregtest用の設定セクション
1つの設定ファイルで異なるネットワーク用の異なるオプションをセットできるようになりました。 これは、以下のようにセクションを使用するか、オプションにネットワークを付加することでセットできます:
main.uacomment=bitcoin
test.uacomment=bitcoin-testnet
regtest.uacomment=regtest
[main]
mempoolsize=300
[test]
mempoolsize=100
[regtest]
mempoolsize=20
以下のオプションがセクションにない場合、mainnetのみに適用されます:
addnode=, connect=, port=, bind=, rpcport=, rpcbind= および wallet=。
ネットワークを選択するオプション(regtest= および testnet=)は必ずセクションの外側で指定する
必要があります。
ウォレットの ‘label’ と ‘account’ API
新しい’label’ APIがウォレットに導入されました。これは廃止予定の’account’ APIの代わりになるものです。 ‘account’ APIは’-deprecatedrpc=accounts’引数を付けてbitcoindを起動することで、 v0.17で引き続き使用でき、v0.18で完全に削除されます。
label RPCのメソッドは次の機能上の相違点を伴い、アカウントの機能を反映しています:
- 受信用のアドレスだけでなく、どのアドレスにもラベルをセットできます。この機能は以前はGUIでのみ利用可能でした。
- ラベルはsetlabelRPCメソッドを使って全てのアドレスに別のラベルを再割り当てすることで削除できます。
- ラベル から トランザクションを送信したり、トランザクションがどのラベルから送信されたかを判断することはサポートされていません。
- ラベルは残高を持ちません。
RPCメソッドの変更点は以下の通り:
| 廃止されたメソッド | 新しいメソッド | 注釈 | 
|---|---|---|
| getaccount | getaddressinfo | getaddressinfoはアカウント名の代わりにアドレス情報を持つオブジェクトを返します。 | 
| getaccountaddress | n/a | ラベルには関連するアドレスが無いので、 getaccountaddressの代わりはありません。 | 
| getaddressesbyaccount | getaddressesbylabel | getaddressesbylabelは文字列のリストの代わりにアドレスをキーとするjsonオブジェクトを返します。 | 
| getreceivedbyaccount | getreceivedbylabel | 振る舞いの変更なし | 
| listaccounts | listlabels | listlabelsは残高を返さず、minconf引数とwatchonly引数を受け付けません。 | 
| listreceivedbyaccount | listreceivedbylabel | 両方のメソッドとも、後方互換性のため、 accountフィールドと共に新しいlabelフィールドを返します。 | 
| move | n/a | 置き換えはなし | 
| sendfrom | n/a | 置き換えはなし | 
| setaccount | setlabel | 両方のメソッドとも: • アドレスが受信アドレスでない場合にエラーを発生させるのではなく、任意のアドレスにラベルを割りあてることができます。 • あるラベルを使用する最後のアドレスが別のラベルを再割り当てした際、前のラベルにまだ受信アドレスがあることを保証するために暗黙的に getaccountaddressを呼ぶ代わりに、そのアドレスに関連付けられた前のラベルを削除します。 | 
| 変更されたメソッド | 注釈 | 
|---|---|
| addmultisigaddress | パラメータ名 accountをlabelに変更しました。-deprecatedrpc=accountsで実行している場合、後方互換性のため、accountを受け付けます。 | 
| getnewaddress | パラメータ名 accountをlabelに変更しました。-deprecatedrpc=accountsで実行している場合、後方互換性のため、accountを受け付けます。 | 
| listunspent | 新しい labelフィールドを返します。-deprecatedrpc=accountsで実行している場合、後方互換性のため、accountフィールドが返されます。 | 
| sendmany | パラメータ名 accountはdummyに変更されました。dummyパラメータがセットされている場合、-deprecatedrpc=accountsで実行していない限り、パラメータの値は空文字列でなければなりません (-deprecatedrpc=accountsで実行されている場合、機能に変更はありません)。 | 
| listtransactions | パラメータ名 accountはdummyに変更されました。dummyパラメータがセットされている場合、-deprecatedrpc=accountsで実行していない限り、パラメータの値は*でなければなりません (-deprecatedrpc=accountsで実行されている場合、機能に変更はありません)。 | 
| getbalance | account,minconfおよびinclude_watchonlyパラメータは廃止され、-deprecatedrpc=accountsで実行している場合のみ使用できます。 | 
BIP 174 Partially Signed Bitcoin Transactionのサポート
BIP 174 PSBT はまだ完全に署名されていないBitcoinトランザクションの交換フォーマットで、エンティティの署名作業に役に立つ関連メタデータと一緒に使われます。 PSBTは複数の参加者が協力してトランザクションを生成する必要があるワークフローを簡単にすることを目指しています。 例としては、ハードウェアウォレットやマルチシグのセットアップ、CoinJoin トランザクションなどが挙げられます。
全体のワークフロー
全体的に、完全に署名されたトランザクションの構築は以下の手順で行われます:
- Creatorは作成すべき特定のトランザクションを提案します。特定のインプットとアウトプットを 含むPSBTを作成しますが、追加のメタデータは含まれません。
- Updaterは各インプットに対して、トランザクションによって使用されるUTXOに関する 情報をPSBTに追加します。
- 潜在的に他のUpdaterはPSBTの各インプット(および場合によってはアウトプット)に含まれる スクリプトや公開鍵に関する情報を追加します。
- Signerはトランザクションとそのメタデータを見て、トランザクションに同意するかどうか判断します。 彼らはUTXOから量の情報を使って、トランザクションに含まれる量と手数料を評価することができます。 同意する場合、関連する鍵を持つインプットの部分的な署名を生成します。
- Finalizerは各インプットに対して部分的な署名とスクリプト情報を最終的なscriptSigおよび/またはscriptWitnessに変換します。
- ExtractorはすべてのインプットがファイナライズされたPSBTから有効な(ネットワークフォーマットの) Bitcoinトランザクションを生成します。
通常、上記(CreatorとExtractorを除く)それぞれは、単純に特定のPSBTに多くのデータを追加していきます。 単純なワークフローでは、彼らはPSBTを順番に渡して、Extractorが実際のトランザクションに変換できるようになるまで、 全て順番に操作する必要があります。並行して作業できるように、同じ未署名のトランザクションの異なるPSBTからの メタデータをマージするCombinersを使うことができます。
上記の太字の名前はBIP174で定義されているロールの名前です。これらは基本的な手順を理解するのに便利ですが、 ソフトウェアやハードウェアの実装では、通常複数の役割を一緒に実装します。
RPCs
- converttopsbt(Creator) は未署名のRAWトランザクションをPSBTフォーマットに変換する ユーティリティRPCです。既存の署名は無視されます。
- createpsbt(Creator) はインプットとアウトプットのリストを追加情報の無いPSBTに変換する ユーティリティRPCです。これは、- createrawtransactionを呼び出してから- converttopsbtを呼び出すのと同じです。
- walletcreatefundedpsbt(Creator, Updater) は指定されたインプットとアウトプットを 持つPSBTを作成し、追加のインプットやお釣りの追加および関連するメタデータを追加するウォレットRPCです。 特に、ウォレットが知っている(通常のもしくはwatch-onlyの残高を持つ)インプットに関しては、 UTXOの情報が追加されます。UTXO情報があるアウトプットとインプットについては、ウォレットが知っている 鍵とスクリプトの情報が追加されます。これは- createrawtransactionを実行し、続いて- fundrawtransactionと- converttopsbtを実行することと同じです。
- walletprocesspsbt(Updater, Signer, Finalizer) はPSBTを入力として受け取るウォレットRPCで、 UTXOや鍵、スクリプトデータを欠落しているインプットやアウトプットに追加し、オプションでインプットに 署名します。可能であれば部分的な署名をファイナライズします。
- finalizepsbt(Finalizer, Extractor) は部分的な署名を全てファイナライズするRPCで、 全てのインプットがファイナライズされた場合、結果を- sendrawtransactionでブロードキャスト可能な 完全に署名されたトランザクションに変換します。
- combinepsbt(Combiner) はCombinerを実装するユーティリティRPCです。 ワークフローのどの時点でも、同じPSBTの異なるバージョンに追加された情報をマージするために使用できます。 特に、複数のUpdaterやSignerのアウトプットを結合するのに便利です。
- decodepsbtは診断ユーティリティRPCで、PSBTの全ての情報を人間が読める形式で表示し、 既知の場合は最終的な手数料を計算します。
非HDウォレットからHDウォレットへのアップグレード
Bitcoin Core 0.13.0から新しいBIP 32の階層的決定性ウォレットの作成がサポートされてきましたが、古い非HDウォレットはHDウォレットにアップグレードできませんでした。今回、非HDウォレットが-upgradewalletコマンドラインプションを使ってHDウォレットにアップグレードできるようになりました。このアップグレードによりキープール内の全ての鍵が使用済みとしてマークされ、新しいキープールが生成されます。このアップグレードが実行されたら、新しいバックアップを作成する必要があります。
さらに、-upgradewalletを使って(全ての鍵がm/0'/0'/i'から生成される)非分岐HDチェーンから(受信用の鍵は'm/0'/0'/i'から生成され、お釣り用の鍵はm'/0'/1'/i'から生成される)分岐HDチェーンにアップグレードすることができます。このアップグレードが実行されると、既にキープールにある全ての鍵は、アップグレード前の全ての鍵が使われるまで、キープールに残ります。これは一部の鍵がお釣り用のキープールからくる場合の、バックアップおよびダウングレードに関する問題を回避するためです。ユーザーはnewkeypoolRPCを使ってキープール内の全ての鍵を使用済みとしてマークし、分岐HDチェーンから生成された新しいキープールを使って新しい分岐HDチェーンキープールの使用を開始できます。
HDマスター鍵のローテーション
ユーザーが新しいHDシードを設定したり独自のHDシードを設定できるようにする新しいRPC sethdseed が導入されました。これにより新しいHDシードを使用することができます。新しいHDシードが設定されたら、新しいバックアップを作成する必要があります。
低レベルRPCの変更
- 
    新しいRPC scantxoutsetを使って特定のアウトプット記述子に一致するエントリーのUTXOをスキャンできます。 詳細はアウトプット記述子の参照ドキュメントを参照ください。 この呼び出しはlistunspentと似ていますが、ウォレットは使用しません。つまりコンパイル時、実行時にウォレットを 無効にすることができます。この呼び出しは実験的なもので、将来のリリースで変更または削除される可能性があります。
- createrawtransactionRPCは- outputsパラメータの配列またはディクショナリ(互換性のため)を受け入れるようになりました。これはクライアントがトランザクションアウトプットの順序を指定できることを意味します。
- fundrawtransactionRPCは以前廃止された- reserveChangeKeyオプションを拒否します。
- sendmanyはプライバシー向上のためアウトプットをシャッフルするようになったため、以前のアウトプットの順序に関する動作は期待できません。
- 新しいRPCtestmempoolacceptはメモリプールにトランザクションを追加することなくトランザクションを受け入れ可能かどうかテストできます。
- トランザクションをJSONにする際にトランザクションの正確なweightを提供するweightフィールドが追加されました。 これはjsonモードでは、RESTの/rest/tx/および/rest/block/エンドポイントに含まれます。 また、(verbosity=2の)getblockおよびlistsinceblock、listtransactions、getrawtransactionのRPCコマンドにも含まれています。
- getrawmempool、- getmempoolancestors、- getmempooldescendantsおよび- getmempoolentryに新しく- feesフィールドが導入されました。 verboseオプションを- trueにセットした場合、サブフィールド- ancestor、- base、- modified、- descendantにBTC単位で表示されます。 この新しいフィールドにより、- fee、- modifiedfee、- ancestorfee、- descendantfeeなどの手数料フィールドは廃止されます。
- 新しいRPCgetzmqnotificationsはアクティブなZMQ通知に関する情報を返します。
- bitcoinが-wallet=<path>オプションで起動されてない場合、getwalletinfoやlistwalletsRPCで返されるデフォルトウォレットの名前は"wallet.dat"ではなく、空文字""になりました。 bitcoinが-wallet=<path>オプションで起動された場合、動作に変化はなく、ウォレットの名前は<path>文字列です。
- 
    getnewaddress、getrawchangeaddress、addmultisigaddress、fundrawtransactionRPCにaddress_typeパラメータとして空の文字列("")を渡すとエラーが発生するようになりました。 以前はデフォルトアドレスタイプを使用していました。デフォルトアドレスタイプを使用するように nullを渡したりパラメータをセットしないことも可能です。
- 
    ウォレット内の鍵を使った(P2SHではない)素のマルチシグは自動的に入金として扱われなくなりました。 この機能はウォレット内に全ての秘密鍵を持っているマルチシグアウトプットでのみ利用可能であったため、 単一鍵の利用に比べて一般的に使用されていませんでした。さらに、そのようなアウトプットのアドレスは定義されておらず、 ウォレットソフトウェアは簡単にそのアウトプットに送金できません。これらのアウトプットは (hexスクリプト引数で importaddressやimportmultiを使用して)明示的に監視されていないかぎり、listtransactionsやlistunspentで表示されなくなり、残高にも含まれません。signrawtransaction*はまだ動作します。
- getwalletinfoRPCメソッドは- hdseedidの値を返します。この値は常に間違った名前の- hdmasterkeyidの値と同じです。- hdmasterkeyidはv0.18で削除されます。
- 
    getaddressinfoRPCメソッドはhdseedidの値を返します。この値は常に間違った名前のhdmasterkeyidの値と同じです。hdmasterkeyidはv0.18で削除されます。
- validateaddressRPCメソッドの一部は廃止され、- getaddressinfoに移動されました。 v0.18にアップグレードする前にクライアントはこの情報にアクセスするために- getaddressinfoを使うよう 移行しなければなりません。次の廃止されたフィールドは- getaddressinfoに移動され、- -deprecatedrpc=validateaddressを指定した場合のみ表示されます:- ismine、- iswatchonly、- script、- hex、- pubkeys、- sigsrequired、- pubkey、- addresses、- embedded、- iscompressed、- account、- timestamp、- hdkeypath、- hdmasterkeyid。
- signrawtransactionは廃止され v0.18で完全に削除されます。 v0.17で- signrawtransactionを使用するには、- -deprecatedrpc=signrawtransactionを指定してbitcoindを再起動します。プロジェクトは v0.18にアップグレードする前に- signrawtransactionwithkeyと- signrawtransactionwithwalletを使用するように 移行すべきです。
他のAPIの変更
- dumpwalletの出力の- inactivehdmasterプロパティが- inactivehdseedに修正されました。
ロギング
- 
    ログのタイムスタンプフォーマットがISO 8601(例:”2018-02-28T12:34:56Z”)になりました。 
- 
    -debugを付与し-daemonを付与せずにbitcoindを実行すると、stdoutへ ロギングするのがデフォルトの動作になりました。-printtoconsole=1を設定すると暗黙的に debug.logへのロギングが無効化されることはなくなりました。代わりに、-debuglogfile=0をセットすることで明示的にファイルへのロギングを無効にできます。
トランザクションインデックスの変更
トランザクションインデックスはメインノードのプロシージャとは別に構築されるようになりました。
つまり、-txindexフラグは完全な再インデックスなしで切り替えることができます。
既に部分的もしくは完全に同期されたノードで-txindexを付与してbitcoindを実行すると、
トランザクションインデックスはバックグラウンドで構築され、最新のトランザクションまで追いつくと
利用可能になります。-txindexフラグを付けて起動した状態からフラグ無しで実行するよう切り替えると、
トランザクションインデックスのデータベースは自動的に削除されません。つまり、後で完全な
再同期を行わずに有効にすることができます。
マイナーのブロックサイズの削除
ブロックサイズを制限するマイナー向けの-blockmaxsizeオプションはv0.15.1で廃止され、
今回のバージョンで削除されました。マイナーはブロックのweightを制限する場合、
-blockmaxweightオプションを使用する必要があります。
Pythonのサポート
Python 2のサポートが全てのテストファイルとツールで廃止されました。
0.17.0のチェンジログ
コンセンサス
ポリシー
- #12568 ed6ae80Allow dustrelayfee to be set to zero (luke-jr)
- #13120 ca2a233Treat segwit as always active (MarcoFalke)
- #13096 062738cFixMAX_STANDARD_TX_WEIGHTcheck (jl2012)
マイニング
- #12693 df529dcRemove unused variable in SortForBlock (drewx2)
- #12448 84efa9aInterrupt block generation on shutdown request (promag)
ブロックとトランザクションのハンドリング
- #12225 67447baMempool cleanups (sdaftuar)
- #12356 fd65937Fix ‘mempool min fee not met’ debug output (Empact)
- #12287 bf3353dOptimise lock behaviour for GuessVerificationProgress() (jonasschnelli)
- #11889 47a7666Drop extra script variable in ProduceSignature (ryanofsky)
- #11880 d59b8d6Stop special-casing phashBlock handling in validation for TBV (TheBlueMatt)
- #12431 947c25eOnly call NotifyBlockTip when chainActive changes (jamesob)
- #12653 534b8faAllow to optional specify the directory for the blocks storage (jonasschnelli)
- #12172 3b62a91Bugfix: RPC: savemempool: Don’t save until LoadMempool() is finished (jtimon)
- #12167 88430cbMake segwit failure due toCLEANSTACKviolation return aSCRIPT_ERR_CLEANSTACKerror code (maaku)
- #12561 24133b1Check for block corruption in ConnectBlock() (sdaftuar)
- #11617 1b5723eAvoid lock: Call FlushStateToDisk(…) regardless of fCheckForPruning (practicalswift)
- #11739 0a8b7b4EnforceSCRIPT_VERIFY_P2SHandSCRIPT_VERIFY_WITNESSfrom genesis (sdaftuar)
- #12885 a49381dReduce implementation code inside CScript (sipa)
- #13032 34dd1a6Output values for “min relay fee not met” error (kristapsk)
- #13033 a07e8caBuild txindex in parallel with validation (jimpo)
- #13080 66cc47bAdd compile time checking for ::mempool.cs runtime locking assertions (practicalswift)
- #13185 08c1cafBugfix: the end of a reorged chain is invalid when connect fails (sipa)
- #11689 0264836Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) (practicalswift)
- #13011 3c2a41aCache witness hash in CTransaction (MarcoFalke)
- #13191 0de7cc8Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2 (sipa)
- #13243 ea263e1Make reusable base class for auxiliary indices (jimpo)
- #13393 a607d23Enable double-SHA256-for-64-byte code on 32-bit x86 (sipa)
- #13428 caabdeavalidation: check the specified number of blocks (off-by-one) (kallewoof)
- #13438 450055bImprove coverage of SHA256 SelfTest code (sipa)
- #13431 954f4a9validation: count blocks correctly for check level < 3 (kallewoof)
- #13386 3a3eabeSHA256 implementations based on Intel SHA Extensions (sipa)
- #11658 9a1ad2cDuring IBD, when doing pruning, prune 10% extra to avoid pruning again soon after (luke-jr)
- #13794 8ce55dfchainparams: Update with data from assumed valid chain (MarcoFalke)
- #13527 e7ea858Remove promiscuousmempoolflags (MarcoFalke)
P2Pプロトコルとネットワークコード
- #12342 eaeaa2dExtend #11583 (“Do not make it trivial for inbound peers to generate log entries”) to include “version handshake timeout” message (clemtaylor)
- #12218 9a32114Move misbehaving logging to net logging category (laanwj)
- #10387 5c2aff8Eventually connect toNODE_NETWORK_LIMITEDpeers (jonasschnelli)
- #9037 a36834fAdd test-before-evict discipline to addrman (EthanHeilman)
- #12622 e1d6e2aCorrect addrman logging (laanwj)
- #11962 0a01843add seed.bitcoin.sprovoost.nl to DNS seeds (Sjors)
- #12569 23e7fe8Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s (practicalswift)
- #12855 c199869Minor accumulated cleanups (tjps)
- #13153 ef46c99Add missing newlines to debug logging (laanwj)
- #13162 a174702Don’t incorrectly log that REJECT messages are unknown (jnewbery)
- #13151 7f4db9aServe blocks directly from disk when possible (laanwj)
- #13134 70d3541Add option-enablebip61to configure sending of BIP61 notifications (laanwj)
- #13532 7209fecLog warning when deprecated network name ‘tor’ is used (wodry)
- #13615 172f984Remove unused interrupt from SendMessages (fanquake)
- #13417 1e90862Tighten scope innet_processing(skeees)
- #13298 f8d470eBucketing INV delays (1 bucket) for incoming connections to hide tx time (naumenkogs)
- #13672 0d8d6beModifiedin_addr6cast in CConman class to work with msvc (sipsorcery)
- #11637 c575260Remove dead service bits code (MarcoFalke)
- #13212 a6f00ceFixed a race condition when disabling the network (lmanners)
- #13656 1211b15Remove the boost/algorithm/string/predicate.hpp dependency (251Labs)
- #13423 f58674aThread safety annotations innet_processing(skeees)
- #13776 7d36237Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(…) (practicalswift)
- #13907 48bf8ffIntroduce a maximum size for locators (gmaxwell)
- #13951 8a9ffecHardcoded seeds update pre-0.17 branch (laanwj)
ウォレット
- #12330 2a30e67Reduce scope ofcs_mainandcs_walletlocks in listtransactions (promag)
- #12298 a1ffddbRefactor HaveKeys to early return on false result (promag)
- #12282 663911eDisallow abandon of conflicted txes (MarcoFalke)
- #12333 d405beeMake CWallet::ListCoins atomic (promag)
- #12296 8e6f9f4Only fee-bump non-conflicted/non-confirmed txes (MarcoFalke)
- #11866 6bb9c13Do not un-mark fInMempool on wallet txn if ATMP fails (TheBlueMatt)
- #11882 987a809Disable default fallbackfee on mainnet (jonasschnelli)
- #9991 4ca7c1elistreceivedbyaddress Filter Address (NicolasDorier)
- #11687 98bc27fExternal wallet files (ryanofsky)
- #12658 af88094Sanitize some wallet serialization (sipa)
- #9680 6acd870Unify CWalletTx construction (ryanofsky)
- #10637 e057589Coin Selection with Murch’s algorithm (achow101, Xekyo)
- #12408 c39dd2eChange output type globals to members (MarcoFalke)
- #12694 9552dfbActually disable BnB when there are preset inputs (achow101)
- #11536 cead84bRename account to label where appropriate (ryanofsky)
- #12709 02b7e83shuffle sendmany recipients ordering (instagibbs)
- #12699 c948dc8Shuffle transaction inputs before signing (instagibbs)
- #10762 6d53663Remove Wallet dependencies from init.cpp (jnewbery)
- #12857 821980cAvoid travis lint-include-guards error (ken2812221)
- #12702 dab0d68importprivkey: hint about importmulti (kallewoof)
- #12836 9abdb7cMake WalletInitInterface and DummyWalletInit private, fix nullptr deref (promag)
- #12785 215158aInitializem_last_block_processedto nullptr (practicalswift)
- #12932 8d651aeRemove redundant lambda function arg in handleTransactionChanged (laanwj)
- #12749 a84b056feebumper: discard change outputs below discard rate (instagibbs)
- #12892 9b3370dintroduce ‘label’ API for wallet (jnewbery)
- #12925 6d3de17Logprint the start of a rescan (jonasschnelli)
- #12888 39439e5debug log number of unknown wallet records on load (instagibbs)
- #12977 434150aRefactorg_wallet_init_interfaceto const reference (promag)
- #13017 65d7083Add wallets management functions (promag)
- #12953 d1d54aeDeprecate accounts (jnewbery)
- #12909 476cb35Make fee settings to be non-static members (MarcoFalke)
- #13002 487dcbeDo not treat bare multisig outputs as IsMine unless watched (sipa)
- #13028 783bb64Make vpwallets usage thread safe (promag)
- #12507 2afdc29Interrupt rescan on shutdown request (promag)
- #12729 979150bGet rid of ambiguous OutputType::NONE value (ryanofsky)
- #13079 5778d44Fix rescanblockchain rpc to properly report progress (Empact)
- #12560 e03c0dbUpgrade path for non-HD wallets to HD (achow101)
- #13161 7cc1bd3Reset BerkeleyDB handle after connection fails (real-or-random)
- #13081 0dec5b5Add compile time checking forcs_walletruntime locking assertions (practicalswift)
- #13127 19a3a9eAdd Clang thread safety annotations for variables guarded bycs_db(practicalswift)
- #10740 4cfe17cloadwalletRPC - load wallet at runtime (jnewbery)
- #12924 6738813Fix hdmaster-key / seed-key confusion (scripted diff) (jnewbery)
- #13297 d82c5d1Fix incorrect comment for DeriveNewSeed (jnewbery)
- #13063 6378eefUse shared pointer to retain wallet instance (promag)
- #13142 56fe3dcSeparate IsMine from solvability (sipa)
- #13194 fd96d54Remove template matching and pseudo opcodes (sipa)
- #13252 c4cc8d9Refactor ReserveKeyFromKeyPool for safety (Empact)
- #13058 343d4e4createwalletRPC - create new wallet at runtime (jnewbery)
- #13351 2140f6cPrevent segfault when sending to unspendable witness (MarcoFalke)
- #13060 3f0f394Remove getlabeladdress RPC (jnewbery)
- #13111 000abbbAdd unloadwallet RPC (promag)
- #13160 868cf43Unlock spent outputs (promag)
- #13498 f54f373Fixups from account API deprecation (jnewbery)
- #13491 61a044aImprove handling of INVALID in IsMine (sipa)
- #13425 028b0d9Moving final scriptSig construction from CombineSignatures to ProduceSignature (PSBT signer logic) (achow101)
- #13564 88a15ebloadwallet shouldn’t create new wallets (jnewbery)
- #12944 619cd29ScanforWalletTransactions should mark input txns as dirty (instagibbs)
- #13630 d6b2235Drop unused pindexRet arg to CMerkleTx::GetDepthInMainChain (Empact)
- #13566 ad552a5Fix get balance (jnewbery)
- #13500 4a3e8c5Decouple wallet version from client version (achow101)
- #13712 aba2e66Fix non-determinism in ParseHDKeypath(…). Avoid using an uninitialized variable in path calculation (practicalswift)
- #9662 6b6e854Add createwallet “disableprivatekeys” option: a sane mode for watchonly-wallets (jonasschnelli)
- #13683 e8c7434Introduce assertion to document the assumption that cache and cache_used are always set in tandem (practicalswift)
- #12257 5f7575eUse destination groups instead of coins in coin select (kallewoof)
- #13773 89a116dFix accidental use of the comma operator (practicalswift)
- #13805 c88529aCorrectly limit output group size (sdaftuar)
- #12992 26f59f5Add wallet name to log messages (PierreRochard)
- #13667 b81a8a5Fix backupwallet for multiwallets (domob1812)
- #13657 51c693dassert to ensure accuracy of CMerkleTx::GetBlocksToMaturity (Empact)
- #13812 9d86aadsum ancestors rather than taking max in output groups (kallewoof)
- #13876 8eb9870Catchfilesystem_errorand raiseInitError(MarcoFalke)
- #13808 13d51a2shuffle coins before grouping, where warranted (kallewoof)
- #13666 2115cbaAlways create signatures with Low R values (achow101)
- #13917 0333914Additional safety checks in PSBT signer (sipa)
- #13968 65e7a8bcouple of walletcreatefundedpsbt fixes (instagibbs)
- #14055 2307a6efix walletcreatefundedpsbt deriv paths, add test (instagibbs)
RPCおよび他のAPI
- #12336 3843780Remove deprecated rpc options (jnewbery)
- #12193 5dc00f6Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (MarcoFalke)
- #12409 0cc45edReject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke)
- #10583 8a98dfeSplit part of validateaddress into getaddressinfo (achow101)
- #10579 ffc6e48Split signrawtransaction into wallet and non-wallet RPC command (achow101)
- #12494 e4ffcacDeclare CMutableTransaction a struct in rawtransaction.h (Empact)
- #12503 0e26591createmultisig no longer takes addresses (instagibbs)
- #12083 228b086Improve getchaintxstats test coverage (promag)
- #12479 cd5e438Add child transactions to getrawmempool verbose output (conscott)
- #11872 702e8b7createrawtransaction: Accept sorted outputs (MarcoFalke)
- #12700 ebdf84cDocument RPC method aliasing (ryanofsky)
- #12727 8ee5c7bRemove unreachable help conditions in rpcwallet.cpp (lutangar)
- #12778 b648974Add username and ip logging for RPC method requests (GabrielDav)
- #12717 ac898b6rest: Handle utxo retrieval when ignoring the mempool (romanz)
- #12787 cd99e5bAdjust ifdef to avoid unreachable code (practicalswift)
- #11742 18815b4Add testmempoolaccept (MarcoFalke)
- #12942 fefb817Drop redundant testing of signrawtransaction prevtxs args (Empact)
- #11200 5f2a399Allow for aborting rescans in the GUI (achow101)
- #12791 3a8a4dcExpose a transaction’s weight via RPC (TheBlueMatt)
- #12436 6e67754Adds a functional test to validate the transaction version number in the RPC output (251Labs)
- #12240 6f8b345Introduced a newfeesstructure that aggregates all sub-field fee types denominated in BTC (mryandao)
- #12321 eac067ap2wsh and p2sh-p2wsh address in decodescript (fivepiece)
- #13090 17266a1Remove Safe mode (achow101, laanwj)
- #12639 7eb7076Reducecs_mainlock in listunspent (promag)
- #10267 7b966d9New -includeconf argument for including external configuration files (kallewoof)
- #10757 b9551d3Introduce getblockstats to plot things (jtimon)
- #13288 a589f53Remove the need to include rpc/blockchain.cpp in order to putGetDifficultyunder test (Empact)
- #13394 e1f8dcecli: Ignore libevent warnings (theuni)
- #13439 3f398d7Avoid “duplicate” return value for invalid submitblock (TheBlueMatt)
- #13570 a247594Add new “getzmqnotifications” method (domob1812)
- #13072 b25a4c2Update createmultisig RPC to support segwit (ajtowns)
- #12196 8fceae0Add scantxoutset RPC method (jonasschnelli)
- #13557 b654723BIP 174 PSBT Serializations and RPCs (achow101)
- #13697 f030410Support output descriptors in scantxoutset (sipa)
- #13927 bced8eaUse pushKV in some new PSBT RPCs (domob1812)
- #13918 a9c56b6Replace median fee rate with feerate percentiles in getblockstats (marcinja)
- #13721 9f23c16Bugfixes for BIP 174 combining and deserialization (achow101)
- #13960 517010eFix PSBT deserialization of 0-input transactions (achow101)
GUI
- #12416 c997f88Fix Windows build errors introduced in #10498 (practicalswift)
- #11733 e782099Remove redundant locks (practicalswift)
- #12426 bfa3911Initialize members in WalletModel (MarcoFalke)
- #12489 e117cfeBugfix: respect user defined configuration file (-conf) in QT settings (jonasschnelli)
- #12421 be263fanavigate to transaction history page after send (Sjors)
- #12580 ce56fddShow a transaction’s virtual size in its details dialog (dooglus)
- #12501 c8ea91aImproved “custom fee” explanation in tooltip (randolf)
- #12616 cff95a6Set modal overlay hide button as default (promag)
- #12620 8a43bdcRemove TransactionTableModel::TxIDRole (promag)
- #12080 56cc022Add support to search the address book (promag)
- #12621 2bac3e4Avoid querying unnecessary model data when filtering transactions (promag)
- #12721 e476826remove “new” button during receive-mode in addressbook (jonasschnelli)
- #12723 310dc61Qt5: Warning users about invalid-BIP21 URI bitcoin:// (krab)
- #12610 25cf18fMultiwallet for the GUI (jonasschnelli)
- #12779 f4353daRemove unused method setupAmountWidget(…) (practicalswift)
- #12795 68484d6do not truncate .dat extension for wallets in gui (instagibbs)
- #12870 1d54004make clean removessrc/qt/moc_files (Sjors)
- #13055 bdda14dDon’t log to console by default (laanwj)
- #13141 57c57dffixes broken link on readme (marcoagner)
- #12928 ef006d9Initialize non-static class members that were previously neither initialized where defined nor in constructor (practicalswift)
- #13158 81c533cImprove sendcoinsdialog readability (marcoagner)
- #11491 40c34a0Add proxy icon in statusbar (mess110)
- #13264 2a7c53bSatoshi unit (GreatSock)
- #13097 e545503Support wallets loaded dynamically (promag)
- #13284 f8be434fix visual “overflow” of amount input (brandonrninefive)
- #13275 a315b79use[default wallet]as name for wallet with no name (jonasschnelli)
- #13273 3fd0c23Qt/Bugfix: fix handling default wallet with no name (jonasschnelli)
- #13341 25d2df2Stop translating command line options (laanwj)
- #13043 6e249e4OptionsDialog: add prune setting (Sjors)
- #13506 6579d80load wallet in UI after possible init aborts (jonasschnelli)
- #13458 dc53f7fDrop qt4 support (laanwj)
- #13528 b877c39Move BitcoinGUI initializers to class, fix initializer order warning (laanwj)
- #13536 baf3a3acoincontrol: Remove unused qt4 workaround (MarcoFalke)
- #13537 10ffca7Peer table: Visualize inbound/outbound state for every row (wodry)
- #13791 2c14c1fReject dialogs if key escape is pressed (promag)
ビルドシステム
- #12371 c9ca4f6Add gitian PGP key: akx20000 (ghost)
- #11966 f4f4f51clientversion: Use full commit hash for commit-based version descriptions (luke-jr)
- #12417 ae0fbf0Upgrademac_aliasto 2.0.7 (droark)
- #12444 1f055efgitian: Bump descriptors for (0.)17 (theuni)
- #12402 59e032bexpat 2.2.5, ccache 3.4.1, miniupnpc 2.0.20180203 (fanquake)
- #12029 daa84b3Add a makefile target for Doxygen documentation (Ov3rlo4d)
- #12466 6645eafOnly useD_DARWIN_C_SOURCEwhen building miniupnpc on darwin (fanquake)
- #11986 765a3ebzeromq 4.2.3 (fanquake)
- #12373 f13d756Add build support for profiling (murrayn)
- #12631 a312e20gitian: Alphabetize signing keys & add kallewoof key (kallewoof)
- #12607 29fad97Remove ccache (fanquake)
- #12625 c4219ffbiplist 1.0.3 (fanquake)
- #12666 05042d3configure: UniValue 1.0.4 is required for pushKV(, bool) (luke-jr)
- #12678 6324c68Fix a few compilation issues with Clang 7 and -Werror (vasild)
- #12692 de6bdfdAdd configure options for various -fsanitize flags (eklitzke)
- #12901 7e23972Show enabled sanitizers in configure output (practicalswift)
- #12899 3076993macOS: Prevent Xcode 9.3 build warnings (AkioNak)
- #12715 8fd6243Add ‘make clean’ rule (hkjn)
- #13133 a024a18Remove python2 from configure.ac (ken2812221)
- #13005 cb088b1Make –enable-debug to pick better options (practicalswift)
- #13254 092b366Remove improperqt/moc_*cleaning glob from the general Makefile (Empact)
- #13306 f5a7733split warnings out of CXXFLAGS (theuni)
- #13385 7c7508cGuard against accidental introduction of new Boost dependencies (practicalswift)
- #13041 5779dc4Add linter checking for accidental introduction of locale dependence (practicalswift)
- #13408 70a03c6crypto: cleanup sha256 build (theuni)
- #13435 cf7ca60When build fails due to lib missing, indicate which one (Empact)
- #13445 8eb76f3Reset default -g -O2 flags when enable debug (ken2812221)
- #13465 81069a7Avoid concurrency issue when make multiple target (ken2812221)
- #13454 45c00f8Make sureLC_ALL=Cis set in all shell scripts (practicalswift)
- #13480 31145a3Avoid copies in range-for loops and add a warning to detect them (theuni)
- #13486 66e1a08Move rpc/util.cpp from libbitcoin-util to libbitcoin-server (ken2812221)
- #13580 40334c7Detect if char equalsint8_t(ken2812221)
- #12788 287e4edTune wildcards for LIBSECP256K1 target (kallewoof)
- #13611 b55f0c3bugfix: Use__cpuid_countfor gnu C to avoid gitian build fail (ken2812221)
- #12971 a6d14b1Upgrade Qt to 5.9.6 (TheCharlatan)
- #13543 6c6a300Add RISC-V support (laanwj)
- #13177 dcb154eGCC-7 and glibc-2.27 back compat code (ken2812221)
- #13659 90b1c7eadd missing leveldb defines (theuni)
- #13368 c0f1569Update gitian-build.sh for docker (achow101)
- #13171 19d8ca5Change gitian-descriptors to use bionic instead (ken2812221)
- #13604 75bea05Add depends 32-bit arm support for bitcoin-qt (TheCharlatan)
- #13623 9cdb19fMigrate gitian-build.sh to python (ken2812221)
- #13689 8c36432disable Werror when building zmq (greenaddress)
- #13617 cf7f9aerelease: Require macos 10.10+ (fanquake)
- #13750 c883653use MacOS friendly sed syntax in qt.mk (Sjors)
- #13095 415f2bfupdateax_boost_chrono/unit_test_framework(fanquake)
- #13732 e8ffec6Fix Qt’s rcc determinism (Fuzzbawls)
- #13782 8284f1dFix osslsigncode compile issue in gitian-build (ken2812221)
- #13696 2ab7208Add aarch64 qt depends support for cross compiling bitcoin-qt (TheCharlatan)
- #13705 b413ba0Add format string linter (practicalswift)
- #14000 48c8459fix qt determinism (theuni)
- #14018 3e4829aBugfix: NSIS: ExcludeMakefile*from docs (luke-jr)
- #12906 048ac83Avoidinterfacekeyword to fix windows gitian build (ryanofsky)
- #13314 a9b6957Fix FreeBSD build by including utilstrencodings.h (laanwj)
テストとQA
- #12252 8d57319Require all tests to follow naming convention (ajtowns)
- #12295 935eb8dEnable flake8 warnings for all currently non-violated rules (practicalswift)
- #11858 b4d8549Prepare tests for Windows (MarcoFalke)
- #11771 2dbc4a4Change invalidtxrequest to use BitcoinTestFramework (jnewbery)
- #12200 d09968fBind functional test nodes to 127.0.0.1 (Sjors)
- #12425 26dc2daAdd some script tests (richardkiss)
- #12455 23481faFix bip68 sequence test to reflect updated rpc error message (Empact)
- #12477 acd1e61Plug memory leaks and stack-use-after-scope (MarcoFalke)
- #12443 07090c5Move common args to bitcoin.conf (MarcoFalke)
- #12570 39dcac2Add test cases for HexStr (std::reverse_iteratorand corner cases) (kostaz)
- #12582 6012f1cFix ListCoins test failure due to unsetg_wallet_allow_fallback_fee(ryanofsky)
- #12516 7f99964Avoid unintentional unsigned integer wraparounds in tests (practicalswift)
- #12512 955fd23Don’t test against the mempool min fee information in mempool_limit.py (Empact)
- #12600 29088b1Add a test for large tx output scripts with segwit input (richardkiss)
- #12627 791c3eaFix some tests to work on native windows (MarcoFalke)
- #12405 0f58d7ftravis: Full clone for git subtree check (MarcoFalke)
- #11772 0630974Change invalidblockrequest to use BitcoinTestFramework (jnewbery)
- #12681 1846296Fix ComputeTimeSmart test failure with-DDEBUG_LOCKORDER(ryanofsky)
- #12682 9f04c8etravis: Clone depth 1 unless$check_doc(MarcoFalke)
- #12710 00d1680Append scripts to newtest_listarray to fix bad assignment (jeffrade)
- #12720 872c921Avoiding ‘file’ function name from python2 (jeffrade)
- #12728 4ba3d4frename TestNode to TestP2PConn in tests (jnewbery)
- #12746 2405ce1Remove unused argumentmax_invalidfromcheck_estimates(…)(practicalswift)
- #12718 185d484Require exact match inassert_start_raises_init_eror(jnewbery, MarcoFalke)
- #12076 6d36f59Use node.datadir instead of tmpdir in test framework (MarcoFalke)
- #12772 b43aba8ci: Bump travis timeout for make check to 50m (jnewbery)
- #12806 18606ebFix function names infeature_blocksdir(MarcoFalke)
- #12811 0d8fc8dMake summary row bold-red if any test failed and show failed tests at end of table (laanwj)
- #12790 490644dUse blockmaxweight where tests previously had blockmaxsize (conscott)
- #11773 f0f9732Changefeature_block.pyto use BitcoinTestFramework (jnewbery)
- #12839 40f4bafRemove travis checkout depth (laanwj)
- #11817 2a09a78Changefeature_csv_activation.pyto use BitcoinTestFramework (jnewbery)
- #12284 fa5825dRemove assigned but never used local variables. Enable Travis checking for unused local variables (practicalswift)
- #12719 9beded5Add note about test suite naming convention in developer-notes.md (practicalswift)
- #12861 c564424Stopfeature_block.pyfrom blowing up memory (jnewbery)
- #12851 648252etravis: Run verify-commits only on cron jobs (MarcoFalke)
- #12853 2106c4cMatch full plain text by default (MarcoFalke)
- #11818 9a2db3bI accidentally (deliberately) killed it (the ComparisonTestFramework) (jnewbery)
- #12766 69310a3Tidy up REST interface functional tests (romanz)
- #12849 83c7533Add logging in loops inp2p_sendhears.py(ccdle12)
- #12895 d6f10b2Add note about test suite name uniqueness requirement to developer notes (practicalswift)
- #12856 27278dfAdd Metaclass for BitcoinTestFramework (WillAyd)
- #12918 6fc5a05Assert on correct variable (kallewoof)
- #11878 a04440fAdd Travis check for duplicate includes (practicalswift)
- #12917 cf8073fWindows fixups for functional tests (MarcoFalke)
- #12926 dd1ca9eRun unit tests in parallel (sipa)
- #12920 b1fdfc1Fix sign for expected values (kallewoof)
- #12947 979f598Wallet hd functional test speedup and clarification (instagibbs)
- #12993 0d69921Remove compatibility code not needed now when we’re on Python 3 (practicalswift)
- #12996 6a278e0Remove redundant bytes(…) calls (practicalswift)
- #12949 6b46288Avoid copies of CTransaction (MarcoFalke)
- #13007 0d12570Fix dangling wallet pointer in vpwallets (promag)
- #13048 cac6d11Fixfeature_blockflakiness (jnewbery)
- #12510 d5b2e98Addrpc_bindtest to default-run tests (laanwj)
- #13022 896a9d0Attach node index totest_nodeAssertionError and print messages (jamesob)
- #13024 018c7e5Add rpcauth pair that generated by rpcauth.py (ken2812221)
- #13013 a0079d4bench: Amendmempool_evictiontest for witness txs (MarcoFalke)
- #13051 e074097Normalize executable location (MarcoFalke)
- #13056 106d929Make rpcauth.py testable and add unit tests (nixbox)
- #13073 a785bc3add rpcauth-test toAC_CONFIG_LINKSto fix out-of-tree make check (laanwj)
- #12830 25ad2f7Clarify address book error messages, add tests (jamesob)
- #13082 24106a8don’t test against min relay fee information inmining_prioritisetransaction.py(kristapsk)
- #13003 8d045a0Add test for orphan handling (MarcoFalke)
- #13105 9e9b48dAdd –failfast option to functional test runner (jamesob)
- #13130 3186ad4Fix race inrpc_deprecated.py(jnewbery)
- #13136 baf6b4eFix flake8 warnings in several wallet functional tests (jnewbery)
- #13094 bf9b03dAdd test for 64-bit Windows PE, modify 32-bit test results (ken2812221)
- #13183 9458b05travis: New travis job forcheck_docssteps (glaksmono)
- #12265 1834d4dfundrawtransaction: lock watch-only shared address (kallewoof)
- #13188 4a50ec0Remove unused option –srcdir (MarcoFalke)
- #12755 612ba35Better stderr testing (jnewbery)
- #13198 196c5a9Avoid printing to console during cache creation (sdaftuar)
- #13075 cb9bbf7Remove ‘account’ API from wallet functional tests (jnewbery)
- #13221 ffa86aftravis: Rename the build stagecheck_doctolint(practicalswift)
- #13205 3cbd25fRemove spurious error log inp2p_segwit.py(jnewbery)
- #13291 536120eDon’t include torcontrol.cpp into the test file (Empact)
- #13281 2ac6315Move linters to test/lint, add readme (MarcoFalke)
- #13215 f8a29catravis: Build tests on ubuntu 18.04 with docker (ken2812221)
- #13349 24f7011bench: Don’t return a bool from main (laanwj)
- #13347 87a9d03travis: Skip cache for lint stage (MarcoFalke)
- #13355 0b1c0c4Fix “gmake check” under OpenBSD 6.3 (probably*BSD): Avoid using GNU grep specific regexp handling (practicalswift)
- #13353 d4f6dacFixup setting of PATH env var (MarcoFalke)
- #13352 e24bf1cAvoid checking reject code for now (MarcoFalke)
- #13383 2722a1fbench: Use non-throwingparsedouble(…)instead of throwingboost::lexical_cast<double>(…)(practicalswift)
- #13367 264efdcIncrease includeconf test coverage (MarcoFalke)
- #13404 3d3d8aespeed up oftx_validationcache_testsby reusing of CTransaction (lucash-dev)
- #13421 531a033Removeportseed_offsetfrom test runner (MarcoFalke)
- #13440 5315660Log as utf-8 (MarcoFalke)
- #13066 fa4b906Migrate verify-commits script to python, run in travis (ken2812221)
- #13447 4b1edd3travis: Increasetravis_waittime while verifying commits (ken2812221)
- #13350 f532d52Add logging to provide anchor points when debugging p2p_sendheaders (lmanners)
- #13406 4382f19travis: Change mac goal to all deploy (ken2812221)
- #13457 b222138Drop variadic macro (MarcoFalke)
- #13512 3a45493mininode: Expose connection state throughis_connected(MarcoFalke)
- #13496 9ab4c2aHarden lint-filenames.sh (wodry)
- #13219 08516e0bench: Add block assemble benchmark (MarcoFalke)
- #13530 b1dc39dbench: Add missing pow.h header (laanwj)
- #12686 2643fa5Add -ftrapv to CFLAGS and CXXFLAGS when –enable-debug is used. Enable -ftrapv in Travis (practicalswift)
- #12882 d96bdd7Maketest_bitcoinpass under ThreadSanitzer (clang). Fix lock-order-inversion (potential deadlock) (practicalswift)
- #13535 2328039wallet_basic: Specify minimum required amount for listunspent (MarcoFalke)
- #13551 c93c360Fix incorrect documentation for test casecuckoocache_hit_rate_ok(practicalswift)
- #13563 b330f3fbench: Simplify coinselection (promag)
- #13517 a6ed99aRemove need to handle the network thread in tests (MarcoFalke)
- #13522 686e97aFixp2p_sendheadersrace (jnewbery)
- #13467 3dc2dcfMakep2p_segwiteasier to debug (jnewbery)
- #13598 0212187bench: Fix incorrect behaviour in prevector.cpp (AkioNak)
- #13565 b05ded1Fix AreInputsStandard test to reference the proper scriptPubKey (Empact)
- #13145 d3dae3dUse common getPath method to create temp directory in tests (winder)
- #13645 2ea7eb6skiprpc_zmqfunctional test as necessary (jamesob)
- #13626 8f1106dFix some TODOs inp2p_segwit(MarcoFalke)
- #13138 8803c91Remove accounts fromwallet_importprunedfunds.py(jnewbery)
- #13663 cbc9b50Avoid read/write to default datadir (MarcoFalke)
- #13682 f8a32a3bench: Remove unused variable (practicalswift)
- #13638 6fcdb5eUseMAX_SCRIPT_ELEMENT_SIZEfrom script.py (domob1812)
- #13687 9d26b69travis: Check that ~/.bitcoin is never created (MarcoFalke)
- #13715 e1260a7fixes mininode’s P2PConnection sending messages on closing transport (marcoagner)
- #13729 aa9429atravis: Avoid unnecessarily setting env variables on the lint build (Empact)
- #13747 ab28b5bSkip P2PConnection’sis_closing()check when not available (domob1812)
- #13650 7a9bca6travis: Don’t store debug info if –enable-debug is set (ken2812221)
- #13711 f98d1e0bench: Add benchmark for unserialize prevector (AkioNak)
- #13771 365384ftravis: Retry to fetch docker image (MarcoFalke)
- #13806 4d550ffFixbench/block_assembleassert failure (jamesob)
- #13779 d25079atravis: Improve readability of travis.yml and log outputs (scravy)
- #13822 0fb9c87bench: Make coinselection output groups pass eligibility filter (achow101)
- #13247 e83d82aAdd tests to SingleThreadedSchedulerClient() and document the memory model (skeees)
- #13811 660abc1travis: Runbench_bitcoinonce (MarcoFalke)
- #13837 990e182Extractrpc_timewaitas test param (MarcoFalke)
- #13851 9c4324dfix locale for lint-shell (scravy)
- #13823 489b51bquote path in authproxy for external multiwallets (MarcoFalke)
- #13849 2b67354travis: Use only travis jobs: instead of mix of jobs+matrix (scravy)
- #13859 2384323Add emojis totest_runnerpath and wallet filename (MarcoFalke)
- #13916 8ac7125wait_for_verackby default (MarcoFalke)
- #13669 f66e1c7Cleanupcreate_transactionimplementations (conscott)
- #13924 09ada21Simplify comparison inrpc_blockchain.py(domob1812)
- #13913 a08533cRemove redundant checkmempool/checkblockindexextra_args(MarcoFalke)
- #13915 a04888aAdd test for max number of entries in locator (MarcoFalke)
- #13867 1b04b55Make extended tests pass on native Windows (MarcoFalke)
- #13944 0df7a6cPort usage of deprecated optparse module to argparse module (Kvaciral)
- #13928 b8eb0dfblocktools enforce named args for amount (MarcoFalke)
- #13054 bffb35fEnable automatic detection of undefined names in Python tests scripts. Remove wildcard imports (practicalswift)
- #14069 cf3d7f9Use assert notBOOST_CHECK_*from multithreaded tests (skeees)
- #14071 fab0fbeStop txindex thread before calling destructor (MarcoFalke)
その他
- #11909 8897135contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke)
- #12394 fe53d5fgitian-builder.sh: fix –setup doc, since lxc is default (Sjors)
- #12468 294a766Add missing newline in init.cpp log message (Aesti)
- #12308 dcfe218contrib: Add support for out-of-tree builds in gen-manpages.sh (laanwj)
- #12451 aae64a2Bump leveldb subtree (MarcoFalke)
- #12527 d77b4a7gitian-build.sh: fix signProg being recognized as two parameters (ken2812221)
- #12588 d74b01dutils: Remove deprecated pyzmq call from python zmq example (kosciej)
- #10271 bc67982Usestd::thread::hardware_concurrency, instead of Boost, to determine available cores (fanquake)
- #12097 14475e2scripts: Lint-whitespace: use perl instead of grep -p (Sjors)
- #12098 17c44b2scripts: Lint-whitespace: add param to check last n commits (Sjors)
- #11900 842f61ascript: Simplify checkminimalpush checks, add safety assert (instagibbs)
- #12567 bb98aecutil: Print timestamp strings in logs using iso 8601 formatting (practicalswift)
- #12572 d8d9162script: Lint-whitespace: find errors more easily (AkioNak)
- #10694 ae5bcc7Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) (practicalswift)
- #12659 3d16f58Improve Fatal LevelDB Log Messages (eklitzke)
- #12643 0f0229dutil: Remove unusedsync_chain(MarcoFalke)
- #12102 7fb8fb4Apply hardening measures in bitcoind systemd service file (Flowdalic)
- #12652 55f490abitcoin-cli: Provide a better error message when bitcoind is not running (practicalswift)
- #12630 c290508Provide useful error message if datadir is not writable (murrayn)
- #11881 624bee9Remove Python2 support (jnewbery)
- #12821 082e26ccontrib: Remove unused import string (MarcoFalke)
- #12829 252c1b0Python3 fixup (jnewbery)
- #12822 ff48f62Revert 7deba93bdc76616011a9f493cbc203d60084416f and fix expired-key-sigs properly (TheBlueMatt)
- #12820 5e53b80contrib: Fix check-doc script regexes (MarcoFalke)
- #12713 4490871Track negated options in the option parser (eklitzke)
- #12708 b2e5fe8Make verify-commits.sh test that merges are clean (sipa)
- #12891 3190785logging: Add lint-logs.sh to check for newline termination (jnewbery)
- #12923 a7cbe38util: Passpthread_self()topthread_setschedparaminstead of 0 (laanwj)
- #12871 fb17faeAdd shell script linting: Check for shellcheck warnings in shell scripts (practicalswift)
- #12970 5df84delogging: Bypass timestamp formatting when not logging (theuni)
- #12987 fe8fa22tests/tools: Enable additional Python flake8 rules for automatic linting via Travis (practicalswift)
- #12972 0782508Add python3 script shebang lint (ken2812221)
- #13004 58bbc55Print to console by default when not run with -daemon (practicalswift)
- #13039 8b4081aAdd logging and error handling for file syncing (laanwj)
- #13020 4741ca5Consistently log CValidationState on call failure (Empact)
- #13031 826acc9Fix for utiltime to compile with msvc (sipsorcery)
- #13119 81743b5Remove script to clean up datadirs (MarcoFalke)
- #12954 5a66642util: Refactor logging code into a global object (jimpo)
- #12769 35eb9d6Add systemd service to bitcoind in debian package (ghost)
- #13146 0bc980brpcauth: Make it possible to provide a custom password (laanwj)
- #13148 b62b437logging: Fix potential use-after-free in logprintstr(…) (practicalswift)
- #13214 0612d96Enable Travis checking for two Python linting rules we are currently not violating (practicalswift)
- #13197 6826989util: Warn about ignored recursive -includeconf calls (kallewoof)
- #13176 d9ebb63Improve CRollingBloomFilter performance: replace modulus with FastMod (martinus)
- #13228 d792e47Add script to detect circular dependencies between source modules (sipa)
- #13320 e08c130Ensure gitian-build.sh uses bash (jhfrontz)
- #13301 e4082d5lint: Add linter to error on#include <*.cpp>(Empact)
- #13374 56f6936utils and libraries: checking for bitcoin address in translations (kaplanmaxe)
- #13230 7c32b41Simplify include analysis by enforcing the developer guide’s include syntax (practicalswift)
- #13450 32bf4c6Add linter: Enforce the source code file naming convention described in the developer notes (practicalswift)
- #13479 fa2ea37contrib: Fix cve-2018-12356 by hardening the regex (loganaden)
- #13448 a90ca40Add linter: Make sure we explicitly open all text files using UTF-8 encoding in Python (practicalswift)
- #13494 d67eff8Follow-up to #13454: Fix broken build by exportingLC_ALL=C(practicalswift)
- #13510 03f3925Scripts and tools: Obsolete #!/bin/bash shebang (DesWurstes)
- #13577 c9eb8d1logging: Avoid nstart may be used uninitialized in appinitmain warning (mruddy)
- #13603 453ae5ebitcoin-tx: Stricter check for valid integers (domob1812)
- #13118 c05c93cRPCAuth Detection in Logs (Linrono)
- #13647 4027ec1Scripts and tools: FixBIND_NOWcheck in security-check.py (conradoplg)
- #13692 f5d166acontrib: Clone core repo in gitian-build (MarcoFalke)
- #13699 4c6d1b9contrib: Correct version check (kallewoof)
- #13695 dcc0cfflint: Add linter for circular dependencies (Empact)
- #13733 0d1ebf4utils: Refactor argsmanager a little (AtsukiTak)
- #13714 29b4ee6contrib: Add lxc network setup for bionic host (ken2812221)
- #13764 f8685f4contrib: Fix test-security-check fail in ubuntu 18.04 (ken2812221)
- #13809 77168f7contrib: Remove debian and rpm subfolder (MarcoFalke)
- #13799 230652cIgnore unknown config file options; warn instead of error (sipa)
- #13894 df9f712shutdown: Stop threads before resetting ptrs (MarcoFalke)
- #13925 71dec5cMerge leveldb subtree (MarcoFalke)
- #13939 ef86f26lint: Make format string linter understand basic template parameter syntax (practicalswift)
- #14105 eb202eautil: Report parse errors in configuration file (laanwj)
- #12604 9903537Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use (eklitzke)
- #12495 047865eIncrease LevelDBmax_open_files(eklitzke)
- #12784 e80716dFix bug in memory usage calculation (unintended integer division) (practicalswift)
- #12618 becd8ddSetSCHED_BATCHpriority on the loadblk thread (eklitzke)
- #12854 5ca1509Add P2P, Network, and Qt categories to the desktop icon (luke-jr)
- #11862 4366f61Network specific conf sections (ajtowns)
- #13441 4a7e64fPrevent shared conf files from failing with different available options in different binaries (achow101)
- #13471 5eca4e8For AVX2 code, also check for AVX, XSAVE, and OS support (sipa)
- #13503 c655b2cDocument FreeBSD quirk. Fix FreeBSD build: Usestd::min<int>(…)to allow for compilation under certain FreeBSD versions (practicalswift)
- #13725 07ce278Fix bitcoin-cli –version (Empact)
ドキュメンテーション
- #12306 216f9a4Improvements to UNIX documentation (axvr)
- #12309 895fbd7Explain how to update chainTxData in release process (laanwj)
- #12317 85123beDocument method for reviewers to verify chainTxData (jnewbery)
- #12331 d32528eProperly alphabetize output of CLI –help option (murrayn)
- #12322 c345148Remove step making cloned repository world-writable for Windows build (murrayn)
- #12354 b264528add gpg key for fivepiece (fivepiece)
- #11761 89005ddinitial QT documentation (Sjors)
- #12232 fdc2188Improve “Turn Windows Features On or Off” step (MCFX2)
- #12487 4528f74init: Remove translation for-blockmaxsizeoption help (laanwj)
- #12546 a4a5fc7Minor improvements to Compatibility Notes (randolf)
- #12434 21e2670dev-notes: Members should be initialized (MarcoFalke)
- #12452 71f56daclarified systemd installation instructions in init.md for Ubuntu users (DaveFromBinary)
- #12615 1f93491allow for SIGNER containing spaces (ken2812221)
- #12603 85424d7PeerLogicValidation interface (jamesob)
- #12581 12ac2f0Mention configure without wallet in FreeBSD instructions (dbolser)
- #12619 8a709fbGive hint about gitian not able to download (kallewoof)
- #12668 de2fcaado update before fetching packages in WSL build guide (nvercamm)
- #12586 e7721e6Update osx brew install instruction (fanquake)
- #12760 7466a26Improve documentation on standard communication channels (jimpo)
- #12797 0415b1einit: Fix help message for checkblockindex (MarcoFalke)
- #12800 2d97611Add note about our preference for scoped enumerations (“enum class”) (practicalswift)
- #12798 174d016Refer to witness reserved value as spec. in the BIP (MarcoFalke)
- #12759 d3908e2Improve formatting of developer notes (eklitzke)
- #12877 2b54155Use bitcoind in Tor documentation (knoxcard)
- #12896 b15485eFix conflicting statements about initialization in developer notes (practicalswift)
- #12850 319991dadd qrencode to brew install instructions (buddilla)
- #12007 cd8e45bClarify the meaning of fee delta not being a fee rate in prioritisetransaction RPC (honzik666)
- #12927 06ead15fixed link, replaced QT with Qt (trulex)
- #12852 ebd786bdevtools: Setup ots git integration (MarcoFalke)
- #12933 3cf76c2Refine header include policy (MarcoFalke)
- #12951 6df0c6cFix comment in FindForkInGlobalIndex (jamesob)
- #12982 a63b4e3Fix inconsistent namespace formatting guidelines (ryanofsky)
- #13026 9b3a67eFix include comment in src/interfaces/wallet.h (promag)
- #13012 d1e3c5eAdd comments for chainparams.h, validation.cpp (jamesob)
- #13064 569e381List support for BIP173 in bips.md (sipa)
- #12997 646b7f6build-windows: Switch to Artful, since Zesty is EOL (MarcoFalke)
- #12384 c5f7efeAdd version footnote to tor.md (Willtech)
- #13165 627c376Mention good first issue list in CONTRIBUTING.md (fanquake)
- #13295 fb77310Update OpenBSD build instructions for OpenBSD 6.3 (practicalswift)
- #13340 3a8e3f4remove leftover check-doc documentation (fanquake)
- #13346 60f0358update bitcoin-dot-org links in release-process.md (fanquake)
- #13372 f014933split FreeBSD build instructions out of build-unix.md (steverusso)
- #13366 861de3bRename “OS X” to the newer “macOS” convention (giulio92)
- #13369 f8bcef3update transifex doc link (mess110)
- #13312 b22115dAdd a note about the source code filename naming convention (practicalswift)
- #13460 1939536Remove note to install all boost dev packages (MarcoFalke)
- #13476 9501938Fix incorrect shell quoting in FreeBSD build instructions (murrayn)
- #13402 43fa355Document validationinterace callback blocking deadlock potential (TheBlueMatt)
- #13488 d6cf4bdImprove readability of “Squashing commits” (wodry)
- #13531 ee02debClarify that mempool txiter isconst_iterator(MarcoFalke)
- #13418 01f9098More precise explanation of parameter onlynet (wodry)
- #13592 1756cb4Modify policy to not translate command-line help (ken2812221)
- #13588 b77c38eImprove doc of options addnode, connect, seednode (wodry)
- #13614 17e9106Update command line help for -printtoconsole and -debuglogfile (satwo, fanquake)
- #13605 8cc048ecorrected text to reflect new(er) process of specifying fingerprints (jhfrontz)
- #13481 b641f60Rewrite some validation docs as lock annotations (MarcoFalke)
- #13680 30640f8Remove outdated comment about miner ignoring CPFP (jamesob)
- #13625 7146672Add release notes for -printtoconsole and -debuglogfile changes (satwo)
- #13718 f7f574dSpecify preferred Python string formatting technique (masonicboom)
- #12764 10b9a81Remove field in getblocktemplate help that has never been used (conscott)
- #13742 d2186b3Adjust bitcoincore.org links (MarcoFalke)
- #13706 94dd89eMinor improvements to release-process.md (MitchellCash)
- #13775 ef4fac0Remove newlines from error message (practicalswift)
- #13803 feb7dd9add note to contributor docs about warranted PR’s (kallewoof)
- #13814 67af7efAdd BIP174 to list of implemented BIPs (sipa)
- #13835 c1cba35Fix memory consistency model in comment (skeees)
- #13824 aa30e4bRemove outdated net comment (MarcoFalke)
- #13853 317477acorrect versions in dependencies.md (fanquake)
- #13872 37ab117Reformat -help output for help2man (real-or-random)
- #13717 8c3c402Link to python style guidelines from developer notes (masonicboom)
- #13895 1cd5f2cfix GetWarnings docs to reflect behavior (Empact)
- #13911 3e3a50aRevert translated string change, clarify wallet log messages (PierreRochard)
- #13908 d6faea4upgrade rescan time warning from minutes to >1 hour (masonicboom)
- #13905 73a09b4fixed bitcoin-cli -help output for help2man (hebasto)
- #14100 2936dbcChange documentation for =0 for non-boolean options (laanwj)
- #14096 465a583Add reference documentation for descriptors language (sipa)
- #12757 0c5f67bClarify include guard naming convention (practicalswift)
- #13844 d3325b0Correct the help output for-prune(hebasto)
Credits
このリリースに直接貢献されたみなさん、ありがとうございます:
- 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ć
- 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 Čapek
- Jeff Frontz
- Jeff Rade
- Jeremy Rubin
- JeremyRand
- Jesse Cohen
- Jim Posen
- joemphilips
- John Bampton
- John Newbery
- johnlow95
- Johnson Lau
- Jonas Nick
- Jonas Schnelli
- João Barbosa
- Jorge Timón
- 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ł 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
そしてセキュリティ問題を報告してくれた方:
- awemany (for CVE-2018-17144, previously credited as “anonymous reporter”)
Transifexでの翻訳を手伝ってくれたみなさんもありがとうございます。
