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から実行時にウォレットを動的にロード、作成、アンロードすることができるようになりました:

  • 既存のウォレットはloadwallet RPCを呼ぶことでロードすることができます。ウォレットは(walletdirディレクトリ内に配置された)ファイル/ディレクトリのbasenameもしくはファイル/ディレクトリの絶対パスで指定できます。
  • createwallet RPCを呼ぶことで新しいウォレットを作成(そしてロード)することができます。指定する名前は、walletdirディレクトリ内のウォレットファイルや現在ロードされているウォレットの名前と一致してはいけません。
  • ロードされたウォレットはunloadwallet RPCを呼ぶことでアンロードできます。

この機能は現在、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でのみ利用可能でした。
  • ラベルはsetlabel RPCメソッドを使って全てのアドレスに別のラベルを再割り当てすることで削除できます。
  • ラベル から トランザクションを送信したり、トランザクションがどのラベルから送信されたかを判断することはサポートされていません。
  • ラベルは残高を持ちません。

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 パラメータ名 accountlabel に変更しました。-deprecatedrpc=accountsで実行している場合、後方互換性のため、account を受け付けます。
getnewaddress パラメータ名 accountlabel に変更しました。-deprecatedrpc=accountsで実行している場合、後方互換性のため、account を受け付けます。
listunspent 新しい label フィールドを返します。 -deprecatedrpc=accountsで実行している場合、後方互換性のため、account フィールドが返されます。
sendmany パラメータ名 accountdummyに変更されました。 dummy パラメータがセットされている場合、-deprecatedrpc=accountsで実行していない限り、パラメータの値は空文字列でなければなりません (-deprecatedrpc=accountsで実行されている場合、機能に変更はありません)。
listtransactions パラメータ名 accountdummyに変更されました。 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を実行し、続いて fundrawtransactionconverttopsbtを実行することと同じです。
  • 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の変更

  • 新しいRPCscantxoutsetを使って特定のアウトプット記述子に一致するエントリーのUTXOをスキャンできます。 詳細はアウトプット記述子の参照ドキュメントを参照ください。 この呼び出しはlistunspentと似ていますが、ウォレットは使用しません。つまりコンパイル時、実行時にウォレットを 無効にすることができます。この呼び出しは実験的なもので、将来のリリースで変更または削除される可能性があります。

  • createrawtransactionRPCはoutputsパラメータの配列またはディクショナリ(互換性のため)を受け入れるようになりました。これはクライアントがトランザクションアウトプットの順序を指定できることを意味します。
  • fundrawtransactionRPCは以前廃止されたreserveChangeKeyオプションを拒否します。
  • sendmanyはプライバシー向上のためアウトプットをシャッフルするようになったため、以前のアウトプットの順序に関する動作は期待できません。
  • 新しいRPCtestmempoolacceptはメモリプールにトランザクションを追加することなくトランザクションを受け入れ可能かどうかテストできます。
  • トランザクションをJSONにする際にトランザクションの正確なweightを提供するweightフィールドが追加されました。 これはjsonモードでは、RESTの/rest/tx/および/rest/block/エンドポイントに含まれます。 また、(verbosity=2の)getblockおよびlistsinceblocklisttransactionsgetrawtransaction のRPCコマンドにも含まれています。
  • getrawmempoolgetmempoolancestorsgetmempooldescendantsおよびgetmempoolentryに新しくfeesフィールドが導入されました。 verboseオプションをtrueにセットした場合、サブフィールドancestorbasemodifieddescendantにBTC単位で表示されます。 この新しいフィールドにより、feemodifiedfeeancestorfeedescendantfeeなどの手数料フィールドは廃止されます。
  • 新しいRPCgetzmqnotificationsはアクティブなZMQ通知に関する情報を返します。
  • bitcoinが-wallet=<path>オプションで起動されてない場合、getwalletinfolistwallets RPCで返されるデフォルトウォレットの名前は"wallet.dat"ではなく、空文字""になりました。 bitcoinが-wallet=<path>オプションで起動された場合、動作に変化はなく、ウォレットの名前は<path>文字列です。
  • getnewaddressgetrawchangeaddressaddmultisigaddressfundrawtransaction RPCにaddress_typeパラメータとして空の文字列("")を渡すとエラーが発生するようになりました。 以前はデフォルトアドレスタイプを使用していました。デフォルトアドレスタイプを使用するように nullを渡したりパラメータをセットしないことも可能です。

  • ウォレット内の鍵を使った(P2SHではない)素のマルチシグは自動的に入金として扱われなくなりました。 この機能はウォレット内に全ての秘密鍵を持っているマルチシグアウトプットでのみ利用可能であったため、 単一鍵の利用に比べて一般的に使用されていませんでした。さらに、そのようなアウトプットのアドレスは定義されておらず、 ウォレットソフトウェアは簡単にそのアウトプットに送金できません。これらのアウトプットは (hexスクリプト引数でimportaddressimportmultiを使用して)明示的に監視されていないかぎり、 listtransactionslistunspentで表示されなくなり、残高にも含まれません。 signrawtransaction*はまだ動作します。

  • getwalletinfoRPCメソッドはhdseedidの値を返します。この値は常に間違った名前のhdmasterkeyidの値と同じです。hdmasterkeyidはv0.18で削除されます。
  • getaddressinfoRPCメソッドはhdseedidの値を返します。この値は常に間違った名前のhdmasterkeyidの値と同じです。hdmasterkeyidはv0.18で削除されます。

  • validateaddressRPCメソッドの一部は廃止され、getaddressinfoに移動されました。 v0.18にアップグレードする前にクライアントはこの情報にアクセスするためにgetaddressinfoを使うよう 移行しなければなりません。次の廃止されたフィールドはgetaddressinfoに移動され、 -deprecatedrpc=validateaddressを指定した場合のみ表示されます: ismineiswatchonlyscripthexpubkeyssigsrequiredpubkeyaddressesembeddediscompressedaccounttimestamphdkeypathhdmasterkeyid
  • signrawtransactionは廃止され v0.18で完全に削除されます。 v0.17でsignrawtransactionを使用するには、 -deprecatedrpc=signrawtransactionを指定してbitcoindを再起動します。プロジェクトは v0.18にアップグレードする前にsignrawtransactionwithkeysignrawtransactionwithwalletを使用するように 移行すべきです。

他の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のチェンジログ

コンセンサス

ポリシー

マイニング

  • #12693 df529dc Remove unused variable in SortForBlock (drewx2)
  • #12448 84efa9a Interrupt block generation on shutdown request (promag)

ブロックとトランザクションのハンドリング

  • #12225 67447ba Mempool cleanups (sdaftuar)
  • #12356 fd65937 Fix ‘mempool min fee not met’ debug output (Empact)
  • #12287 bf3353d Optimise lock behaviour for GuessVerificationProgress() (jonasschnelli)
  • #11889 47a7666 Drop extra script variable in ProduceSignature (ryanofsky)
  • #11880 d59b8d6 Stop special-casing phashBlock handling in validation for TBV (TheBlueMatt)
  • #12431 947c25e Only call NotifyBlockTip when chainActive changes (jamesob)
  • #12653 534b8fa Allow to optional specify the directory for the blocks storage (jonasschnelli)
  • #12172 3b62a91 Bugfix: RPC: savemempool: Don’t save until LoadMempool() is finished (jtimon)
  • #12167 88430cb Make segwit failure due to CLEANSTACK violation return a SCRIPT_ERR_CLEANSTACK error code (maaku)
  • #12561 24133b1 Check for block corruption in ConnectBlock() (sdaftuar)
  • #11617 1b5723e Avoid lock: Call FlushStateToDisk(…) regardless of fCheckForPruning (practicalswift)
  • #11739 0a8b7b4 Enforce SCRIPT_VERIFY_P2SH and SCRIPT_VERIFY_WITNESS from genesis (sdaftuar)
  • #12885 a49381d Reduce implementation code inside CScript (sipa)
  • #13032 34dd1a6 Output values for “min relay fee not met” error (kristapsk)
  • #13033 a07e8ca Build txindex in parallel with validation (jimpo)
  • #13080 66cc47b Add compile time checking for ::mempool.cs runtime locking assertions (practicalswift)
  • #13185 08c1caf Bugfix: the end of a reorged chain is invalid when connect fails (sipa)
  • #11689 0264836 Fix missing locking in CTxMemPool::check(…) and CTxMemPool::setSanityCheck(…) (practicalswift)
  • #13011 3c2a41a Cache witness hash in CTransaction (MarcoFalke)
  • #13191 0de7cc8 Specialized double-SHA256 with 64 byte inputs with SSE4.1 and AVX2 (sipa)
  • #13243 ea263e1 Make reusable base class for auxiliary indices (jimpo)
  • #13393 a607d23 Enable double-SHA256-for-64-byte code on 32-bit x86 (sipa)
  • #13428 caabdea validation: check the specified number of blocks (off-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 avoid pruning again soon after (luke-jr)
  • #13794 8ce55df chainparams: Update with data from assumed valid chain (MarcoFalke)
  • #13527 e7ea858 Remove promiscuousmempoolflags (MarcoFalke)

P2Pプロトコルとネットワークコード

  • #12342 eaeaa2d Extend #11583 (“Do not make it trivial for inbound peers to generate log entries”) to include “version handshake timeout” message (clemtaylor)
  • #12218 9a32114 Move misbehaving logging to net logging category (laanwj)
  • #10387 5c2aff8 Eventually connect to NODE_NETWORK_LIMITED peers (jonasschnelli)
  • #9037 a36834f Add test-before-evict discipline to addrman (EthanHeilman)
  • #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 adjusting 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 unknown (jnewbery)
  • #13151 7f4db9a Serve blocks directly from disk when possible (laanwj)
  • #13134 70d3541 Add option -enablebip61 to configure sending of BIP61 notifications (laanwj)
  • #13532 7209fec Log warning when deprecated network name ‘tor’ is used (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 connections to hide tx time (naumenkogs)
  • #13672 0d8d6be Modified in_addr6 cast in CConman class to work with msvc (sipsorcery)
  • #11637 c575260 Remove dead service bits code (MarcoFalke)
  • #13212 a6f00ce Fixed a race condition when disabling the network (lmanners)
  • #13656 1211b15 Remove the boost/algorithm/string/predicate.hpp dependency (251Labs)
  • #13423 f58674a Thread safety annotations in net_processing (skeees)
  • #13776 7d36237 Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(…) (practicalswift)
  • #13907 48bf8ff Introduce a maximum size for locators (gmaxwell)
  • #13951 8a9ffec Hardcoded seeds update pre-0.17 branch (laanwj)

ウォレット

  • #12330 2a30e67 Reduce scope of cs_main and cs_wallet locks in listtransactions (promag)
  • #12298 a1ffddb Refactor HaveKeys to early return on false result (promag)
  • #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 (MarcoFalke)
  • #11866 6bb9c13 Do not un-mark fInMempool on wallet txn if ATMP fails (TheBlueMatt)
  • #11882 987a809 Disable default fallbackfee on mainnet (jonasschnelli)
  • #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, Xekyo)
  • #12408 c39dd2e Change output type globals to members (MarcoFalke)
  • #12694 9552dfb Actually disable BnB when there are preset inputs (achow101)
  • #11536 cead84b Rename account to label where appropriate (ryanofsky)
  • #12709 02b7e83 shuffle sendmany recipients ordering (instagibbs)
  • #12699 c948dc8 Shuffle transaction inputs before signing (instagibbs)
  • #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 (practicalswift)
  • #12932 8d651ae Remove redundant lambda function arg in handleTransactionChanged (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 reference (promag)
  • #13017 65d7083 Add wallets management functions (promag)
  • #12953 d1d54ae Deprecate accounts (jnewbery)
  • #12909 476cb35 Make fee settings to be non-static members (MarcoFalke)
  • #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 (ryanofsky)
  • #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 locking assertions (practicalswift)
  • #13127 19a3a9e Add Clang thread safety annotations for variables guarded 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 (jnewbery)
  • #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 CombineSignatures 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::GetDepthInMainChain (Empact)
  • #13566 ad552a5 Fix get balance (jnewbery)
  • #13500 4a3e8c5 Decouple wallet version from client version (achow101)
  • #13712 aba2e66 Fix non-determinism in ParseHDKeypath(…). Avoid 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 select (kallewoof)
  • #13773 89a116d Fix accidental use of the comma operator (practicalswift)
  • #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::GetBlocksToMaturity (Empact)
  • #13812 9d86aad sum ancestors rather than taking max in output groups (kallewoof)
  • #13876 8eb9870 Catch filesystem_error and raise InitError (MarcoFalke)
  • #13808 13d51a2 shuffle coins before grouping, where warranted (kallewoof)
  • #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 (instagibbs)

RPCおよび他のAPI

  • #12336 3843780 Remove deprecated rpc options (jnewbery)
  • #12193 5dc00f6 Consistently use UniValue.pushKV instead of push_back(Pair()) (karel-3d) (MarcoFalke)
  • #12409 0cc45ed Reject deprecated reserveChangeKey in fundrawtransaction (MarcoFalke)
  • #10583 8a98dfe Split part of validateaddress into getaddressinfo (achow101)
  • #10579 ffc6e48 Split signrawtransaction into wallet and non-wallet RPC command (achow101)
  • #12494 e4ffcac Declare CMutableTransaction a struct in rawtransaction.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 output (conscott)
  • #11872 702e8b7 createrawtransaction: Accept sorted outputs (MarcoFalke)
  • #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 mempool (romanz)
  • #12787 cd99e5b Adjust ifdef to avoid unreachable code (practicalswift)
  • #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 version number in the RPC output (251Labs)
  • #12240 6f8b345 Introduced a new fees structure that aggregates all sub-field fee types denominated in BTC (mryandao)
  • #12321 eac067a p2wsh and p2sh-p2wsh address in decodescript (fivepiece)
  • #13090 17266a1 Remove Safe mode (achow101, laanwj)
  • #12639 7eb7076 Reduce cs_main lock in listunspent (promag)
  • #10267 7b966d9 New -includeconf argument for including external configuration files (kallewoof)
  • #10757 b9551d3 Introduce getblockstats to plot things (jtimon)
  • #13288 a589f53 Remove the need to include rpc/blockchain.cpp in order to put GetDifficulty under test (Empact)
  • #13394 e1f8dce cli: Ignore libevent warnings (theuni)
  • #13439 3f398d7 Avoid “duplicate” return value for invalid submitblock (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 (achow101)

GUI

  • #12416 c997f88 Fix Windows build errors introduced in #10498 (practicalswift)
  • #11733 e782099 Remove redundant locks (practicalswift)
  • #12426 bfa3911 Initialize members in WalletModel (MarcoFalke)
  • #12489 e117cfe Bugfix: respect user defined configuration file (-conf) in QT settings (jonasschnelli)
  • #12421 be263fa navigate to transaction history page after send (Sjors)
  • #12580 ce56fdd Show a transaction’s virtual size in its details dialog (dooglus)
  • #12501 c8ea91a Improved “custom fee” explanation in tooltip (randolf)
  • #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 addressbook (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(…) (practicalswift)
  • #12795 68484d6 do not truncate .dat extension for wallets in gui (instagibbs)
  • #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 previously 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 (brandonrninefive)
  • #13275 a315b79 use [default wallet] as name for wallet with no name (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 (jonasschnelli)
  • #13458 dc53f7f Drop qt4 support (laanwj)
  • #13528 b877c39 Move BitcoinGUI initializers to class, fix initializer order warning (laanwj)
  • #13536 baf3a3a coincontrol: Remove unused qt4 workaround (MarcoFalke)
  • #13537 10ffca7 Peer table: Visualize inbound/outbound state for every row (wodry)
  • #13791 2c14c1f Reject dialogs if key escape is pressed (promag)

ビルドシステム

  • #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 (fanquake)
  • #12029 daa84b3 Add a makefile target for Doxygen documentation (Ov3rlo4d)
  • #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(, bool) (luke-jr)
  • #12678 6324c68 Fix a few compilation issues with Clang 7 and -Werror (vasild)
  • #12692 de6bdfd Add configure options for various -fsanitize flags (eklitzke)
  • #12901 7e23972 Show enabled sanitizers in configure output (practicalswift)
  • #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 (practicalswift)
  • #13254 092b366 Remove improper qt/moc_* cleaning glob from the general Makefile (Empact)
  • #13306 f5a7733 split warnings out of CXXFLAGS (theuni)
  • #13385 7c7508c Guard against accidental introduction of new Boost dependencies (practicalswift)
  • #13041 5779dc4 Add linter checking for accidental introduction of locale 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 (ken2812221)
  • #13465 81069a7 Avoid concurrency issue when make multiple target (ken2812221)
  • #13454 45c00f8 Make sure LC_ALL=C 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 gitian 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 (ken2812221)
  • #13604 75bea05 Add depends 32-bit arm support for bitcoin-qt (TheCharlatan)
  • #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 (fanquake)
  • #13732 e8ffec6 Fix Qt’s rcc determinism (Fuzzbawls)
  • #13782 8284f1d Fix osslsigncode compile issue in gitian-build (ken2812221)
  • #13696 2ab7208 Add aarch64 qt depends support for cross compiling bitcoin-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 build (ryanofsky)
  • #13314 a9b6957 Fix FreeBSD build by including utilstrencodings.h (laanwj)

テストとQA

  • #12252 8d57319 Require all tests to follow naming convention (ajtowns)
  • #12295 935eb8d Enable flake8 warnings for all currently non-violated 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 (MarcoFalke)
  • #12443 07090c5 Move common args to bitcoin.conf (MarcoFalke)
  • #12570 39dcac2 Add test cases for HexStr (std::reverse_iterator and corner cases) (kostaz)
  • #12582 6012f1c Fix ListCoins test failure due to unset g_wallet_allow_fallback_fee (ryanofsky)
  • #12516 7f99964 Avoid unintentional unsigned integer wraparounds in tests (practicalswift)
  • #12512 955fd23 Don’t test against the mempool min fee information in mempool_limit.py (Empact)
  • #12600 29088b1 Add a test for large tx output scripts with segwit input (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 BitcoinTestFramework (jnewbery)
  • #12681 1846296 Fix ComputeTimeSmart test failure with -DDEBUG_LOCKORDER (ryanofsky)
  • #12682 9f04c8e travis: Clone depth 1 unless $check_doc (MarcoFalke)
  • #12710 00d1680 Append scripts to new test_list array to fix bad assignment (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_estimates(…) (practicalswift)
  • #12718 185d484 Require exact match in assert_start_raises_init_eror (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 (jnewbery)
  • #12806 18606eb Fix function names in feature_blocksdir (MarcoFalke)
  • #12811 0d8fc8d Make summary row bold-red if any test failed and show failed tests at end of table (laanwj)
  • #12790 490644d Use blockmaxweight where tests previously had blockmaxsize (conscott)
  • #11773 f0f9732 Change feature_block.py to use BitcoinTestFramework (jnewbery)
  • #12839 40f4baf Remove travis checkout depth (laanwj)
  • #11817 2a09a78 Change feature_csv_activation.py to use BitcoinTestFramework (jnewbery)
  • #12284 fa5825d Remove assigned but never used local variables. Enable Travis checking for unused local variables (practicalswift)
  • #12719 9beded5 Add note about test suite naming convention in developer-notes.md (practicalswift)
  • #12861 c564424 Stop feature_block.py from blowing up memory (jnewbery)
  • #12851 648252e travis: Run verify-commits only on cron jobs (MarcoFalke)
  • #12853 2106c4c Match full plain text by default (MarcoFalke)
  • #11818 9a2db3b I accidentally (deliberately) killed it (the ComparisonTestFramework) (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 requirement 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 (practicalswift)
  • #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(…) calls (practicalswift)
  • #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 (ken2812221)
  • #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 (jamesob)
  • #13082 24106a8 don’t test against min relay fee information in mining_prioritisetransaction.py (kristapsk)
  • #13003 8d045a0 Add test for orphan handling (MarcoFalke)
  • #13105 9e9b48d Add –failfast option to functional test runner (jamesob)
  • #13130 3186ad4 Fix race in rpc_deprecated.py (jnewbery)
  • #13136 baf6b4e Fix flake8 warnings in several wallet functional tests (jnewbery)
  • #13094 bf9b03d Add test for 64-bit Windows PE, modify 32-bit test results (ken2812221)
  • #13183 9458b05 travis: New travis job for check_docs steps (glaksmono)
  • #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 (sdaftuar)
  • #13075 cb9bbf7 Remove ‘account’ API from wallet functional tests (jnewbery)
  • #13221 ffa86af travis: Rename the build stage check_doc to lint (practicalswift)
  • #13205 3cbd25f Remove spurious error log in p2p_segwit.py (jnewbery)
  • #13291 536120e Don’t include torcontrol.cpp into the test file (Empact)
  • #13281 2ac6315 Move linters to test/lint, add readme (MarcoFalke)
  • #13215 f8a29ca travis: Build tests on ubuntu 18.04 with docker (ken2812221)
  • #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(…) instead of throwing boost::lexical_cast<double>(…) (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 (MarcoFalke)
  • #13440 5315660 Log as utf-8 (MarcoFalke)
  • #13066 fa4b906 Migrate verify-commits script to python, run in travis (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_connected (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-debug 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 cuckoocache_hit_rate_ok (practicalswift)
  • #13563 b330f3f bench: Simplify coinselection (promag)
  • #13517 a6ed99a Remove need to handle the network thread in tests (MarcoFalke)
  • #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 (AkioNak)
  • #13565 b05ded1 Fix AreInputsStandard test to reference the proper scriptPubKey (Empact)
  • #13145 d3dae3d Use common getPath method to create temp directory in 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 (domob1812)
  • #13687 9d26b69 travis: Check that ~/.bitcoin is never created (MarcoFalke)
  • #13715 e1260a7 fixes mininode’s P2PConnection sending messages on closing 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 available (domob1812)
  • #13650 7a9bca6 travis: Don’t store debug info if –enable-debug is set (ken2812221)
  • #13711 f98d1e0 bench: Add benchmark for unserialize prevector (AkioNak)
  • #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 outputs (scravy)
  • #13822 0fb9c87 bench: Make coinselection output groups pass eligibility filter (achow101)
  • #13247 e83d82a Add tests to SingleThreadedSchedulerClient() and document 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 (MarcoFalke)
  • #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 (conscott)
  • #13924 09ada21 Simplify comparison in rpc_blockchain.py (domob1812)
  • #13913 a08533c Remove redundant checkmempool/checkblockindex extra_args (MarcoFalke)
  • #13915 a04888a Add test for max number of entries in locator (MarcoFalke)
  • #13867 1b04b55 Make extended tests pass on native Windows (MarcoFalke)
  • #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 Python tests scripts. Remove wildcard imports (practicalswift)
  • #14069 cf3d7f9 Use assert not BOOST_CHECK_* from multithreaded tests (skeees)
  • #14071 fab0fbe Stop txindex thread before calling destructor (MarcoFalke)

その他

  • #11909 8897135 contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke)
  • #12394 fe53d5f gitian-builder.sh: fix –setup doc, since lxc is default (Sjors)
  • #12468 294a766 Add missing newline in init.cpp log message (Aesti)
  • #12308 dcfe218 contrib: Add support for out-of-tree builds in gen-manpages.sh (laanwj)
  • #12451 aae64a2 Bump leveldb subtree (MarcoFalke)
  • #12527 d77b4a7 gitian-build.sh: fix signProg being recognized as two 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 (AkioNak)
  • #10694 ae5bcc7 Remove redundant code in MutateTxSign(CMutableTransaction&, 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 bitcoind is not running (practicalswift)
  • #12630 c290508 Provide useful error message if datadir is not writable (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 (sipa)
  • #12891 3190785 logging: Add lint-logs.sh to check for newline termination (jnewbery)
  • #12923 a7cbe38 util: Pass pthread_self() to pthread_setschedparam instead of 0 (laanwj)
  • #12871 fb17fae Add shell script linting: Check for shellcheck warnings in shell scripts (practicalswift)
  • #12970 5df84de logging: Bypass timestamp formatting when not logging (theuni)
  • #12987 fe8fa22 tests/tools: Enable additional Python flake8 rules for automatic linting via Travis (practicalswift)
  • #12972 0782508 Add python3 script shebang lint (ken2812221)
  • #13004 58bbc55 Print to console by default when not run with -daemon (practicalswift)
  • #13039 8b4081a Add logging and error handling for file syncing (laanwj)
  • #13020 4741ca5 Consistently log CValidationState on call failure (Empact)
  • #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 (jimpo)
  • #12769 35eb9d6 Add systemd service to bitcoind in debian package (ghost)
  • #13146 0bc980b rpcauth: Make it possible to provide a custom password (laanwj)
  • #13148 b62b437 logging: Fix potential use-after-free in logprintstr(…) (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 calls (kallewoof)
  • #13176 d9ebb63 Improve CRollingBloomFilter performance: replace modulus with FastMod (martinus)
  • #13228 d792e47 Add script to detect circular dependencies between source modules (sipa)
  • #13320 e08c130 Ensure gitian-build.sh uses bash (jhfrontz)
  • #13301 e4082d5 lint: Add linter to error on #include <*.cpp> (Empact)
  • #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 convention 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 files using UTF-8 encoding in Python (practicalswift)
  • #13494 d67eff8 Follow-up to #13454: Fix broken build by exporting LC_ALL=C (practicalswift)
  • #13510 03f3925 Scripts and tools: Obsolete #!/bin/bash shebang (DesWurstes)
  • #13577 c9eb8d1 logging: Avoid nstart may be used uninitialized in appinitmain warning (mruddy)
  • #13603 453ae5e bitcoin-tx: Stricter check for valid integers (domob1812)
  • #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 (ken2812221)
  • #13764 f8685f4 contrib: Fix test-security-check fail in ubuntu 18.04 (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 (MarcoFalke)
  • #13925 71dec5c Merge leveldb subtree (MarcoFalke)
  • #13939 ef86f26 lint: Make format string linter understand basic template parameter syntax (practicalswift)
  • #14105 eb202ea util: Report parse errors in configuration file (laanwj)
  • #12604 9903537 Add DynamicMemoryUsage() to CDBWrapper to estimate LevelDB memory use (eklitzke)
  • #12495 047865e Increase LevelDB max_open_files (eklitzke)
  • #12784 e80716d Fix bug in memory usage calculation (unintended integer division) (practicalswift)
  • #12618 becd8dd Set SCHED_BATCH priority on the loadblk thread (eklitzke)
  • #12854 5ca1509 Add P2P, Network, and Qt categories to the desktop icon (luke-jr)
  • #11862 4366f61 Network specific conf sections (ajtowns)
  • #13441 4a7e64f Prevent shared conf files from failing with different available options in different binaries (achow101)
  • #13471 5eca4e8 For AVX2 code, also check for AVX, XSAVE, and OS support (sipa)
  • #13503 c655b2c Document FreeBSD quirk. Fix FreeBSD build: Use std::min<int>(…) to allow for compilation under certain FreeBSD versions (practicalswift)
  • #13725 07ce278 Fix bitcoin-cli –version (Empact)

ドキュメンテーション

  • #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 (murrayn)
  • #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 (MCFX2)
  • #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 instructions (dbolser)
  • #12619 8a709fb Give hint about gitian not able to download (kallewoof)
  • #12668 de2fcaa do update before fetching packages in WSL build guide (nvercamm)
  • #12586 e7721e6 Update osx brew install instruction (fanquake)
  • #12760 7466a26 Improve documentation on standard communication channels (jimpo)
  • #12797 0415b1e init: Fix help message for checkblockindex (MarcoFalke)
  • #12800 2d97611 Add note about our preference for scoped enumerations (“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 developer notes (practicalswift)
  • #12850 319991d add qrencode to brew install instructions (buddilla)
  • #12007 cd8e45b Clarify the meaning of fee delta not being a fee rate 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 (ryanofsky)
  • #13026 9b3a67e Fix include comment in src/interfaces/wallet.h (promag)
  • #13012 d1e3c5e Add comments for chainparams.h, validation.cpp (jamesob)
  • #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 (fanquake)
  • #13295 fb77310 Update OpenBSD build instructions for OpenBSD 6.3 (practicalswift)
  • #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.md (steverusso)
  • #13366 861de3b Rename “OS X” to the newer “macOS” convention (giulio92)
  • #13369 f8bcef3 update transifex doc link (mess110)
  • #13312 b22115d Add a note about the source code filename naming convention (practicalswift)
  • #13460 1939536 Remove note to install all boost dev packages (MarcoFalke)
  • #13476 9501938 Fix incorrect shell quoting in FreeBSD build instructions (murrayn)
  • #13402 43fa355 Document validationinterace callback blocking deadlock potential (TheBlueMatt)
  • #13488 d6cf4bd Improve readability of “Squashing commits” (wodry)
  • #13531 ee02deb Clarify that mempool txiter is const_iterator (MarcoFalke)
  • #13418 01f9098 More precise explanation of parameter onlynet (wodry)
  • #13592 1756cb4 Modify policy to not translate command-line help (ken2812221)
  • #13588 b77c38e Improve doc of options addnode, connect, seednode (wodry)
  • #13614 17e9106 Update command line help for -printtoconsole and -debuglogfile (satwo, fanquake)
  • #13605 8cc048e corrected text to reflect new(er) process of specifying fingerprints (jhfrontz)
  • #13481 b641f60 Rewrite some validation docs as lock annotations (MarcoFalke)
  • #13680 30640f8 Remove outdated comment about miner ignoring CPFP (jamesob)
  • #13625 7146672 Add release notes for -printtoconsole and -debuglogfile 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 (MitchellCash)
  • #13775 ef4fac0 Remove newlines from error message (practicalswift)
  • #13803 feb7dd9 add note to contributor docs about warranted PR’s (kallewoof)
  • #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 =0 for non-boolean options (laanwj)
  • #14096 465a583 Add reference documentation for descriptors language (sipa)
  • #12757 0c5f67b Clarify include guard naming convention (practicalswift)
  • #13844 d3325b0 Correct 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での翻訳を手伝ってくれたみなさんもありがとうございます。