Bitcoin Core 22.0
Bitcoin Core installation binaries can be downloaded from bitcoincore.org and the source-code is available from the Bitcoin Core source repository.
22.0 リリースノート
Bitcoin Core バージョン 22.0 は以下から入手可能です:
https://bitcoincore.org/bin/bitcoin-core-22.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
を上書きしてください。
EOLに達したBitcoin Coreのバージョンから直接アップグレードすることは可能ですが、 データディレクトリを移行する必要がある場合は時間がかかる可能性があります。 Bitcoin Coreの旧ウォレットバージョンが一般的にサポートされます。
互換性
Bitcoin CoreはLinuxカーネルやmacOS 10.14以降、Windows 7以降を使用している オペレーティングシステムでサポートされ、広範囲にテストされています。 Bitcoin Coreは他のほとんどのUNIXライクなシステムでも動作するはずですが、 それらの環境では頻繁にテストされていません。 サポートされていないシステムでBitcoin Coreを使用するのはお勧めできません。
Bitcoin Core 22.0以降では、10.14より前のバージョンのmacOSはサポートされなくなりました。
主な変更点
P2Pおよびネットワークの変更
-
Bitcoin CoreをI2P (Invisible Internet Project)サービスとして実行し、 そのようなサービスに接続するためのサポートを追加しました。 詳細はi2p.mdを参照してください。(#20685)
-
このリリースでは、TorネットワークがTorのバージョン0.4.6のリリースで Tor v2のサポートを廃止したため、 TorのHidden Service version 2のサポートを削除し、Tor v3のみをサポートします。 これ以降Bitcoin CoreはTor v2アドレスを無視し、ネットワークを介して他のピアに伝えたり、 メモリや
peers.dat
に保存したりしません。(#22050)
新規および更新されたRPC
-
BIP 350が実装されたことにより、 アドレスを受け取るすべてのRPCで、native witness version 1(またはそれ以上)が渡された場合の動作が変更されました。 これらはBech32ではなく、Bech32mエンコーディングを必要とするようになり、 RPCの出力でもそのようなアドレスにはBech32mエンコーディングが使用されます。 version 1のアドレスは、それに対するコンセンサスルールが採用されるまで (BIP 341で実現されます)、 mainnetでは作成してはいけません。 採用されるとBech32mが使用されることになるため、本番システムには影響しませんが、 そのようなアドレスが既に意味を持つ他のネットワーク(signetのような)では観測されるかもしれません。(#20861)
-
getpeerinfo
RPCは、bip152_hb_to
とbip152_hb_from
という2つの新しいブール型のフィールドを返します。 このフィールドは、それぞれCompact Blockの高帯域幅モードのピアを選択したかどうか、 あるいは、ピアが我々を高帯域幅モードのピアとして選択したかどうかを示します。 高帯域幅ピアは、通常のinv/headers通知ではなく、cmpctblock
メッセージで新しいブロック通知を送信します。 詳細はBIP 152を参照ください。(#19776) -
getpeerinfo
は、0.21で非推奨となったaddnode
、banscore
、whitelisted
フィールドを返さなくなりました。addnode
の代わりにconnection_type
フィールドがマニュアルを返すようになりました。whitelisted
の代わりに、permissions
フィールドがピアが特別な権限を持っているかどうかを示します。banscore
は単に削除されました。(#20755) -
次のRPC:
gettxout
、getrawtransaction
、decoderawtransaction
、decodescript
、gettransaction
およびRESTエンドポイント:/rest/tx
、/rest/getutxos
、/rest/block
で、addresses
フィールドとreqSigs
フィールドが非推奨になりました(デフォルトでレスポンスで返されなくなりました)。 これらのフィールドをRPCのレスポンスに含めるには、-deprecatedrpc=addresses
フラグを渡す必要があります。 このフラグ/オプションは、このメジャーリリースでのみ使用可能で、その後は、非推奨なフィールドは完全に削除されます。 これらのフィールドはRPCのレスポンスで返されるscriptPubKey
オブジェクトの属性であることに注意してください。 しかし、decodescript
のレスポンスでは、これらのフィールドはトップレベルの属性であり、scriptPubKey
オブジェクトの属性として再び含まれます。(#20286) -
-json
オプションをセットしてbitcoin-tx
ユーティリティを使用してhexエンコードされたBitcoinトランザクションを作成した場合、 レスポンスのtxのアウトプットでaddresses
フィールドとreqSigs
フィールドが返されなくなりました。(#20286) -
listbanned
RPCは、ban_duration
とtime_remaining
という2つの新しい数値フィールドを返すようになりました。 これらの新しいフィールドはそれぞれ禁止期間と禁止期限までの残り時間を秒単位で示すものです。 また、ban_created
フィールドの位置が、banned_until
の前に変更されました。(#21602) -
setban
RPCはオニオンアドレスを再び禁止できるようになりました。 これはバージョン0.21.0で導入されたリグレッションの修正です。(#20852) -
getnodeaddresses
RPCが、 各アドレスのネットワークタイプ(ipv4、ipv6、onion、i2p)を示す”network”フィールドを返すようになりました。(#21594) -
getnodeaddresses
は、”network”引数(ipv4、ipv6、onion、i2p)を受け付け、 指定されたネットワークのアドレスのみを返すようになりました。(#21843) -
testmempoolaccept
RPCが、複数のトランザクションを受け付けるようになりました (現時点ではまた実験的でAPIは不安定な可能性があります)。 これは、依存関係のあるトランザクションパッケージをテストするためのもので、 独立したトランザクションを一括で検証する場合には推奨されません。 mempoolのポリシーに加えて、パッケージポリシーが適用されます。 リストには25個以上のトランザクションを含めることはできず、 合計サイズが101K virtual byteを超えることもできません。 また、有効なBIP125 replace-by-feeとなる場合でも、互いにまたはmempoolと競合する(同じインプットを使用する)ことはできません。 テストの受け入れの精度にはいくつかの既知の制限がありあます。testmempoolaccept
がトランザクションのグループに対して”allowed”=Trueを返したとしても、 実際に送信された場合に”too-long-mempool-chain”を返すことがあります。(#20833) -
addmultisigaddress
とcreatemultisig
は、Segwitアドレスに対して最大20個の鍵をサポートするようになりました。(#20867)
ウォレットやGUI関連のRPCの変更は、以下のGUIまたはウォレットのセクションにあります。
ビルドシステム
- リリースバイナリは、新しい
guix
ベースのビルドシステムを使って作成されるようになりました。 /doc/release-process.mdは、 それに応じて更新されています。
ファイル
- (
setban
RPCによって)禁止されたホストとネットワークのリストは、banlist.dat
ではなくbanlist.json
というJSON形式でディスクに保存されるようになりました。banlist.dat
は、banlist.json
が存在しない場合にのみ、起動時に読み込まれます。 変更は、新しいbanlist.json
にのみ書き込まれます。 Bitcoin Coreの将来のバージョンでは、banlist.dat
を完全に無視するかもしれません。(#20966)
新しい設定
- NAT-PMPを使ってリスニングポートをマッピングするため
-natpmp
オプションが追加されました。 UPnPとNAT-PMPが両方有効になっている場合、UPnPからの正常な割り当てがNAT-PMPからの割り当てよりも優先されます。(#18077)
更新された設定
ウォレットやGUI関連の変更は、以下のGUIまたはウォレットのセクションにあります。
- 無効な
-rpcauth
引数を渡すと、bitcoindの開始に失敗するようになりました。(#20461)
ツールとユーティリティ
-
新しい
-addrinfo
CLIコマンドは、ネットワークタイプごと(Tor v2とv3を含む)にノードに知られているアドレスの数と合計を返します。 これはノードが-onlynet=<network>
のようなオプションを使用するのに十分なネットワーク内のアドレスを知っているかどうかを確認したり、 Tor v3のみをサポートするBitcoin Core 22.0のこのリリースにアップグレードするのに役立ちます。(#21595) -
bitcoin-cli
の新しい-rpcwaittimeout
引数は、-rpcwait
で使用するタイムアウトを秒単位で設定します。 タイムアウトが過ぎると、bitcoin-cli
は失敗を報告します。(#21056)
ウォレット
-
ハードウェアウォレットなどの外部署名者を、新しいRPCメソッド
enumeratesigners
およびdisplayaddress
で利用できるようになりました。 またsend
RPC呼び出しにも対応しました。この機能は実験的なものです。 詳細は、external-signer.mdを参照ください。(#16546) -
新しい
listdescriptors
RPCは、descriptorを有効にしたウォレットのコンテンツを検査するために利用できます。 RPCは、インポートされたすべてのdescriptorの公開バージョンを、タイムスタンプとフラグを含めて返します。 範囲指定されたdescriptorについては、範囲の境界とアドレスを生成するための次のインデックスも返します。(#20226) -
bumpfee
RPCは、秘密鍵を無効にしているウォレットでは利用できまんせん。 代わりにpsbtbumpfee
が利用できます。(#20891) -
fundrawtransaction
、send
、walletcreatefundedpsbt
RPCは、include_unsafe
オプションをサポートし、true
の場合は安全でないインプットを使ってトランザクションに資金を供給できるようになりました。 安全でないインプットの1つがなくなった場合、結果のトランザクションは無効になる可能性があることに注意してください。 この場合、トランザクションは別のインプットから資金を調達し、再公開する必要があります。(#21359) -
wsh()
のmulti()
とsortedmulti()
descriptorで、最大20個の鍵をサポートするようになりました。(#20867) -
Taprootのdescriptorは、使用中のネットワーク(mainnet、testnet、signetなど)でアクティベーションされた後でのみ、 ウォレットにインポートできるようになりました。サポートされるdescriptorについては、 descriptors.mdを参照ください。
GUIの変更
- ハードウェアウォレットなどの外部署名者が使用できるようになりました。 この場合、HWIのような外部ツールをインストールし、 Options -> Walletで設定する必要があります。新しいウォレットを作成する際、 ダイアログに「External signer」という新しいオプションが表示されます。 デバイスが検出されると、その名前がウォレット名として提案されます。 監視用の鍵は自動的にインポートされます。受信アドレスはデバイス上で確認できます。 送信ダイアログでは、自動的に接続されたデバイスが使用されます。 この機能は実験的なもので、これらのアクションを実行する際にUIが数秒間フリーズすることがあります。
低レベルの変更
RPC
-
RPCサーバーが処理できる同時RPCリクエストの数には制限があります。 これまでは、この制限を超えるとRPCサーバーは ステータスコード500 (
HTTP_INTERNAL_SERVER_ERROR
) で応答していました。現在は、ステータスコード503 (HTTP_SERVICE_UNAVAILABLE
)を返します。(#18335) -
以下のエラーケースについて、エラーコードをより正確なものに更新しました(#18466):
signmessage
は、渡されたアドレスが無効な場合、RPC_INVALID_ADDRESS_OR_KEY (-5)を返すようになりました。 これまでは、RPC_TYPE_ERROR (-3)を返していました。verifymessage
は、渡されたアドレスが無効な場合、RPC_INVALID_ADDRESS_OR_KEY (-5)を返すようになりました。 これまでは、RPC_TYPE_ERROR (-3)を返していました。verifymessage
は、渡された署名が不正な場合、PC_TYPE_ERROR (-3)を返すようになりました。 これまでは、RPC_INVALID_ADDRESS_OR_KEY (-5)を返していました。
テスト
22.0のチェンジログ
このバージョンの変更点の詳細なリストは次のとおりです。リストを管理可能な長さに保つため、 小さなリファクタリングやタイプミスの修正は含まれていません。同様の変更が1行にまとめられることもあります。
コンセンサス
- #19438 Introduce deploymentstatus (ajtowns)
- #20207 Follow-up extra comments on taproot code and tests (sipa)
- #21330 Deal with missing data in signature hashes more consistently (sipa)
ポリシー
- #18766 Disable fee estimation in blocksonly mode (by removing the fee estimates global) (darosior)
- #20497 Add
MAX_STANDARD_SCRIPTSIG_SIZE
to policy (sanket1729) - #20611 Move
TX_MAX_STANDARD_VERSION
to policy (MarcoFalke)
マイニング
- #19937, bitcoin/bitcoin#20923 Signet mining utility (ajtowns)
ブロックとトランザクションのハンドリング
- #14501 Fix possible data race when committing block files (luke-jr)
- #15946 Allow maintaining the blockfilterindex when using prune (jonasschnelli)
- #18710 Add local thread pool to CCheckQueue (hebasto)
- #19521 Coinstats Index (fjahr)
- #19806 UTXO snapshot activation (jamesob)
- #19905 Remove dead CheckForkWarningConditionsOnNewFork (MarcoFalke)
- #19935 Move SaltedHashers to separate file and add some new ones (achow101)
- #20054 Remove confusing and useless “unexpected version” warning (MarcoFalke)
- #20519 Handle rename failure in
DumpMempool(…)
by using theRenameOver(…)
return value (practicalswift) - #20749, bitcoin/bitcoin#20750, bitcoin/bitcoin#21055, bitcoin/bitcoin#21270, bitcoin/bitcoin#21525, bitcoin/bitcoin#21391, bitcoin/bitcoin#21767, bitcoin/bitcoin#21866 Prune
g_chainman
usage (dongcarl) - #20833 rpc/validation: enable packages through testmempoolaccept (glozow)
- #20834 Locks and docs in ATMP and CheckInputsFromMempoolAndCache (glozow)
- #20854 Remove unnecessary try-block (amitiuttarwar)
- #20868 Remove redundant check on pindex (jarolrod)
- #20921 Don’t try to invalidate genesis block in CChainState::InvalidateBlock (theStack)
- #20972 Locks: Annotate CTxMemPool::check to require
cs_main
(dongcarl) - #21009 Remove RewindBlockIndex logic (dhruv)
- #21025 Guard chainman chainstates with
cs_main
(dongcarl) - #21202 Two small clang lock annotation improvements (amitiuttarwar)
- #21523 Run VerifyDB on all chainstates (jamesob)
- #21573 Update libsecp256k1 subtree to latest master (sipa)
- #21582, bitcoin/bitcoin#21584, bitcoin/bitcoin#21585 Fix assumeutxo crashes (MarcoFalke)
- #21681 Fix ActivateSnapshot to use hardcoded nChainTx (jamesob)
- #21796 index: Avoid async shutdown on init error (MarcoFalke)
- #21946 Document and test lack of inherited signaling in RBF policy (ariard)
- #22084 Package testmempoolaccept followups (glozow)
- #22102 Remove
Warning:
from warning message printed for unknown new rules (prayank23) - #22112 Force port 0 in I2P (vasild)
- #22135 CRegTestParams: Use
args
instead ofgArgs
(kiminuo) - #22146 Reject invalid coin height and output index when loading assumeutxo (MarcoFalke)
- #22253 Distinguish between same tx and same-nonwitness-data tx in mempool (glozow)
- #22261 Two small fixes to node broadcast logic (jnewbery)
- #22415 Make
m_mempool
optional in CChainState (jamesob) - #22499 Update assumed chain params (sriramdvt)
- #22589 net, doc: update I2P hardcoded seeds and docs for 22.0 (jonatack)
P2Pプロトコルとネットワークコード
- #18077 Add NAT-PMP port forwarding support (hebasto)
- #18722 addrman: improve performance by using more suitable containers (vasild)
- #18819 Replace
cs_feeFilter
with simple std::atomic (MarcoFalke) - #19203 Add regression fuzz harness for CVE-2017-18350. Add FuzzedSocket (practicalswift)
- #19288 fuzz: Add fuzzing harness for TorController (practicalswift)
- #19415 Make DNS lookup mockable, add fuzzing harness (practicalswift)
- #19509 Per-Peer Message Capture (troygiorshev)
- #19763 Don’t try to relay to the address’ originator (vasild)
- #19771 Replace enum CConnMan::NumConnections with enum class ConnectionDirection (luke-jr)
- #19776 net, rpc: expose high bandwidth mode state via getpeerinfo (theStack)
- #19832 Put disconnecting logs into BCLog::NET category (hebasto)
- #19858 Periodically make block-relay connections and sync headers (sdaftuar)
- #19884 No delay in adding fixed seeds if -dnsseed=0 and peers.dat is empty (dhruv)
- #20079 Treat handshake misbehavior like unknown message (MarcoFalke)
- #20138 Assume that SetCommonVersion is called at most once per peer (MarcoFalke)
- #20162 p2p: declare Announcement::m_state as uint8_t, add getter/setter (jonatack)
- #20197 Protect onions in AttemptToEvictConnection(), add eviction protection test coverage (jonatack)
- #20210 assert
CNode::m_inbound_onion
is inbound in ctor, add getter, unit tests (jonatack) - #20228 addrman: Make addrman a top-level component (jnewbery)
- #20234 Don’t bind on 0.0.0.0 if binds are restricted to Tor (vasild)
- #20477 Add unit testing of node eviction logic (practicalswift)
- #20516 Well-defined CAddress disk serialization, and addrv2 anchors.dat (sipa)
- #20557 addrman: Fix new table bucketing during unserialization (jnewbery)
- #20561 Periodically clear
m_addr_known
(sdaftuar) - #20599 net processing: Tolerate sendheaders and sendcmpct messages before verack (jnewbery)
- #20616 Check CJDNS address is valid (lontivero)
- #20617 Remove
m_is_manual_connection
from CNodeState (ariard) - #20624 net processing: Remove nStartingHeight check from block relay (jnewbery)
- #20651 Make p2p recv buffer timeout 20 minutes for all peers (jnewbery)
- #20661 Only select from addrv2-capable peers for torv3 address relay (sipa)
- #20685 Add I2P support using I2P SAM (vasild)
- #20690 Clean up logging of outbound connection type (sdaftuar)
- #20721 Move ping data to
net_processing
(jnewbery) - #20724 Cleanup of -debug=net log messages (ajtowns)
- #20747 net processing: Remove dropmessagestest (jnewbery)
- #20764 cli -netinfo peer connections dashboard updates 🎄 ✨ (jonatack)
- #20788 add RAII socket and use it instead of bare SOCKET (vasild)
- #20791 remove unused legacyWhitelisted in AcceptConnection() (jonatack)
- #20816 Move RecordBytesSent() call out of
cs_vSend
lock (jnewbery) - #20845 Log to net debug in MaybeDiscourageAndDisconnect except for noban and manual peers (MarcoFalke)
- #20864 Move SocketSendData lock annotation to header (MarcoFalke)
- #20965 net, rpc: return
NET_UNROUTABLE
asnot_publicly_routable
, automate helps (jonatack) - #20966 banman: save the banlist in a JSON format on disk (vasild)
- #21015 Make all of
net_processing
(and some of net) use std::chrono types (dhruv) - #21029 bitcoin-cli: Correct docs (no “generatenewaddress” exists) (luke-jr)
- #21148 Split orphan handling from
net_processing
into txorphanage (ajtowns) - #21162 Net Processing: Move RelayTransaction() into PeerManager (jnewbery)
- #21167 make
CNode::m_inbound_onion
public, initialize explicitly (jonatack) - #21186 net/net processing: Move addr data into
net_processing
(jnewbery) - #21187 Net processing: Only call PushAddress() from
net_processing
(jnewbery) - #21198 Address outstanding review comments from PR20721 (jnewbery)
- #21222 log: Clarify log message when file does not exist (MarcoFalke)
- #21235 Clarify disconnect log message in ProcessGetBlockData, remove send bool (MarcoFalke)
- #21236 Net processing: Extract
addr
send functionality into MaybeSendAddr() (jnewbery) - #21261 update inbound eviction protection for multiple networks, add I2P peers (jonatack)
- #21328 net, refactor: pass uint16 CService::port as uint16 (jonatack)
- #21387 Refactor sock to add I2P fuzz and unit tests (vasild)
- #21395 Net processing: Remove unused CNodeState.address member (jnewbery)
- #21407 i2p: limit the size of incoming messages (vasild)
- #21506 p2p, refactor: make NetPermissionFlags an enum class (jonatack)
- #21509 Don’t send FEEFILTER in blocksonly mode (mzumsande)
- #21560 Add Tor v3 hardcoded seeds (laanwj)
- #21563 Restrict period when
cs_vNodes
mutex is locked (hebasto) - #21564 Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP (practicalswift)
- #21631 i2p: always check the return value of Sock::Wait() (vasild)
- #21644 p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind() (jonatack)
- #21659 flag relevant Sock methods with [[nodiscard]] (vasild)
- #21750 remove unnecessary check of
CNode::cs_vSend
(vasild) - #21756 Avoid calling
getnameinfo
when formatting IPv6 addresses inCNetAddr::ToStringIP
(practicalswift) - #21775 Limit
m_block_inv_mutex
(MarcoFalke) - #21825 Add I2P hardcoded seeds (jonatack)
- #21843 p2p, rpc: enable GetAddr, GetAddresses, and getnodeaddresses by network (jonatack)
- #21845 net processing: Don’t require locking
cs_main
before calling RelayTransactions() (jnewbery) - #21872 Sanitize message type for logging (laanwj)
- #21914 Use stronger AddLocal() for our I2P address (vasild)
- #21985 Return IPv6 scope id in
CNetAddr::ToStringIP()
(laanwj) - #21992 Remove -feefilter option (amadeuszpawlik)
- #21996 Pass strings to NetPermissions::TryParse functions by const ref (jonatack)
- #22013 ignore block-relay-only peers when skipping DNS seed (ajtowns)
- #22050 Remove tor v2 support (jonatack)
- #22096 AddrFetch - don’t disconnect on self-announcements (mzumsande)
- #22141 net processing: Remove hash and fValidatedHeaders from QueuedBlock (jnewbery)
- #22144 Randomize message processing peer order (sipa)
- #22147 Protect last outbound HB compact block peer (sdaftuar)
- #22179 Torv2 removal followups (vasild)
- #22211 Relay I2P addresses even if not reachable (by us) (vasild)
- #22284 Performance improvements to ProtectEvictionCandidatesByRatio() (jonatack)
- #22387 Rate limit the processing of rumoured addresses (sipa)
- #22455 addrman: detect on-disk corrupted nNew and nTried during unserialization (vasild)
ウォレット
- #15710 Catch
ios_base::failure
specifically (Bushstar) - #16546 External signer support - Wallet Box edition (Sjors)
- #17331 Use effective values throughout coin selection (achow101)
- #18418 Increase
OUTPUT_GROUP_MAX_ENTRIES
to 100 (fjahr) - #18842 Mark replaced tx to not be in the mempool anymore (MarcoFalke)
- #19136 Add
parent_desc
togetaddressinfo
(achow101) - #19137 wallettool: Add dump and createfromdump commands (achow101)
- #19651
importdescriptor
s update existing (S3RK) - #20040 Refactor OutputGroups to handle fees and spending eligibility on grouping (achow101)
- #20202 Make BDB support optional (achow101)
- #20226, bitcoin/bitcoin#21277, - #21063 Add
listdescriptors
command (S3RK) - #20267 Disable and fix tests for when BDB is not compiled (achow101)
- #20275 List all wallets in non-SQLite and non-BDB builds (ryanofsky)
- #20365 wallettool: Add parameter to create descriptors wallet (S3RK)
- #20403
upgradewallet
fixes, improvements, test coverage (jonatack) - #20448
unloadwallet
: Allow specifyingwallet_name
param matching RPC endpoint wallet (luke-jr) - #20536 Error with “Transaction too large” if the funded tx will end up being too large after signing (achow101)
- #20687 Add missing check for -descriptors wallet tool option (MarcoFalke)
- #20952 Add BerkeleyDB version sanity check at init time (laanwj)
- #21127 Load flags before everything else (Sjors)
- #21141 Add new format string placeholders for walletnotify (maayank)
- #21238 A few descriptor improvements to prepare for Taproot support (sipa)
- #21302
createwallet
examples for descriptor wallets (S3RK) - #21329 descriptor wallet: Cache last hardened xpub and use in normalized descriptors (achow101)
- #21365 Basic Taproot signing support for descriptor wallets (sipa)
- #21417 Misc external signer improvement and HWI 2 support (Sjors)
- #21467 Move external signer out of wallet module (Sjors)
- #21572 Fix wrong wallet RPC context set after #21366 (ryanofsky)
- #21574 Drop JSONRPCRequest constructors after #21366 (ryanofsky)
- #21666 Miscellaneous external signer changes (fanquake)
- #21759 Document coin selection code (glozow)
- #21786 Ensure sat/vB feerates are in range (mantissa of 3) (jonatack)
- #21944 Fix issues when
walletdir
is root directory (prayank23) - #22042 Replace size/weight estimate tuple with struct for named fields (instagibbs)
- #22051 Basic Taproot derivation support for descriptors (sipa)
- #22154 Add OutputType::BECH32M and related wallet support for fetching bech32m addresses (achow101)
- #22156 Allow tr() import only when Taproot is active (achow101)
- #22166 Add support for inferring tr() descriptors (sipa)
- #22173 Do not load external signers wallets when unsupported (achow101)
- #22308 Add missing BlockUntilSyncedToCurrentChain (MarcoFalke)
- #22334 Do not spam about non-existent spk managers (S3RK)
- #22379 Erase spkmans rather than setting to nullptr (achow101)
- #22421 Make IsSegWitOutput return true for taproot outputs (sipa)
- #22461 Change ScriptPubKeyMan::Upgrade default to True (achow101)
- #22492 Reorder locks in dumpwallet to avoid lock order assertion (achow101)
- #22686 Use GetSelectionAmount in ApproximateBestSubset (achow101)
RPCとその他のAPI
- #18335, bitcoin/bitcoin#21484 cli: Print useful error if bitcoind rpc work queue exceeded (LarryRuane)
- #18466 Fix invalid parameter error codes for
{sign,verify}message
RPCs (theStack) - #18772 Calculate fees in
getblock
using BlockUndo data (robot-visions) - #19033 http: Release work queue after event base finish (promag)
- #19055 Add MuHash3072 implementation (fjahr)
- #19145 Add
hash_type
MUHASH for gettxoutsetinfo (fjahr) - #19847 Avoid duplicate set lookup in
gettxoutproof
(promag) - #20286 Deprecate
addresses
andreqSigs
from RPC outputs (mjdietzx) - #20459 Fail to return undocumented return values (MarcoFalke)
- #20461 Validate
-rpcauth
arguments (promag) - #20556 Properly document return values (
submitblock
,gettxout
,getblocktemplate
,scantxoutset
) (MarcoFalke) - #20755 Remove deprecated fields from
getpeerinfo
(amitiuttarwar) - #20832 Better error messages for invalid addresses (eilx2)
- #20867 Support up to 20 keys for multisig under Segwit context (darosior)
- #20877 cli:
-netinfo
user help and argument parsing improvements (jonatack) - #20891 Remove deprecated bumpfee behavior (achow101)
- #20916 Return wtxid from
testmempoolaccept
(MarcoFalke) - #20917 Add missing signet mentions in network name lists (theStack)
- #20941 Document
RPC_TRANSACTION_ALREADY_IN_CHAIN
exception (jarolrod) - #20944 Return total fee in
getmempoolinfo
(MarcoFalke) - #20964 Add specific error code for “wallet already loaded” (laanwj)
- #21053 Document {previous,next}blockhash as optional (theStack)
- #21056 Add a
-rpcwaittimeout
parameter to limit time spent waiting (cdecker) - #21192 cli: Treat high detail levels as maximum in
-netinfo
(laanwj) - #21311 Document optional fields for
getchaintxstats
result (theStack) - #21359
include_unsafe
option for fundrawtransaction (t-bast) - #21426 Remove
scantxoutset
EXPERIMENTAL warning (jonatack) - #21544 Missing doc updates for bumpfee psbt update (MarcoFalke)
- #21594 Add
network
field togetnodeaddresses
(jonatack) - #21595, bitcoin/bitcoin#21753 cli: Create
-addrinfo
(jonatack) - #21602 Add additional ban time fields to
listbanned
(jarolrod) - #21679 Keep default argument value in correct type (promag)
- #21718 Improve error message for
getblock
invalid datatype (klementtan) - #21913 RPCHelpMan fixes (kallewoof)
- #22021
bumpfee
/psbtbumpfee
fixes and updates (jonatack) - #22043
addpeeraddress
test coverage, code simplify/constness (jonatack) - #22327 cli: Avoid truncating
-rpcwaittimeout
(MarcoFalke)
GUI
- #18948 Call setParent() in the parent’s context (hebasto)
- #20482 Add depends qt fix for ARM macs (jonasschnelli)
- #21836 scripted-diff: Replace three dots with ellipsis in the ui strings (hebasto)
- #21935 Enable external signer support for GUI builds (Sjors)
- #22133 Make QWindowsVistaStylePlugin available again (regression) (hebasto)
- gui#4 UI external signer support (e.g. hardware wallet) (Sjors)
- gui#13 Hide peer detail view if multiple are selected (promag)
- gui#18 Add peertablesortproxy module (hebasto)
- gui#21 Improve pruning tooltip (fluffypony, BitcoinErrorLog)
- gui#72 Log static plugins meta data and used style (hebasto)
- gui#79 Embed monospaced font (hebasto)
- gui#85 Remove unused “What’s This” button in dialogs on Windows OS (hebasto)
- gui#115 Replace “Hide tray icon” option with positive “Show tray icon” one (hebasto)
- gui#118 Remove BDB version from the Information tab (hebasto)
- gui#121 Early subscribe core signals in transaction table model (promag)
- gui#123 Do not accept command while executing another one (hebasto)
- gui#125 Enable changing the autoprune block space size in intro dialog (luke-jr)
- gui#138 Unlock encrypted wallet “OK” button bugfix (mjdietzx)
- gui#139 doc: Improve gui/src/qt README.md (jarolrod)
- gui#154 Support macOS Dark mode (goums, Uplab)
- gui#162 Add network to peers window and peer details (jonatack)
- gui#163, bitcoin-core/gui#180 Peer details: replace Direction with Connection Type (jonatack)
- gui#164 Handle peer addition/removal in a right way (hebasto)
- gui#165 Save QSplitter state in QSettings (hebasto)
- gui#173 Follow Qt docs when implementing rowCount and columnCount (hebasto)
- gui#179 Add Type column to peers window, update peer details name/tooltip (jonatack)
- gui#186 Add information to “Confirm fee bump” window (prayank23)
- gui#189 Drop workaround for QTBUG-42503 which was fixed in Qt 5.5.0 (prusnak)
- gui#194 Save/restore RPCConsole geometry only for window (hebasto)
- gui#202 Fix right panel toggle in peers tab (RandyMcMillan)
- gui#203 Display plain “Inbound” in peer details (jonatack)
- gui#204 Drop buggy TableViewLastColumnResizingFixer class (hebasto)
- gui#205, bitcoin-core/gui#229 Save/restore TransactionView and recentRequestsView tables column sizes (hebasto)
- gui#206 Display fRelayTxes and
bip152_highbandwidth_{to, from}
in peer details (jonatack) - gui#213 Add Copy Address Action to Payment Requests (jarolrod)
- gui#214 Disable requests context menu actions when appropriate (jarolrod)
- gui#217 Make warning label look clickable (jarolrod)
- gui#219 Prevent the main window popup menu (hebasto)
- gui#220 Do not translate file extensions (hebasto)
- gui#221 RPCConsole translatable string fixes and improvements (jonatack)
- gui#226 Add “Last Block” and “Last Tx” rows to peer details area (jonatack)
- gui#233 qt test: Don’t bind to regtest port (achow101)
- gui#243 Fix issue when disabling the auto-enabled blank wallet checkbox (jarolrod)
- gui#246 Revert “qt: Use “fusion” style on macOS Big Sur with old Qt” (hebasto)
- gui#248 For values of “Bytes transferred” and “Bytes/s” with 1000-based prefix names use 1000-based divisor instead of 1024-based (wodry)
- gui#251 Improve URI/file handling message (hebasto)
- gui#256 Save/restore column sizes of the tables in the Peers tab (hebasto)
- gui#260 Handle exceptions isntead of crash (hebasto)
- gui#263 Revamp context menus (hebasto)
- gui#271 Don’t clear console prompt when font resizing (jarolrod)
- gui#275 Support runtime appearance adjustment on macOS (hebasto)
- gui#276 Elide long strings in their middle in the Peers tab (hebasto)
- gui#281 Set shortcuts for console’s resize buttons (jarolrod)
- gui#293 Enable wordWrap for Services (RandyMcMillan)
- gui#296 Do not use QObject::tr plural syntax for numbers with a unit symbol (hebasto)
- gui#297 Avoid unnecessary translations (hebasto)
- gui#298 Peertableview alternating row colors (RandyMcMillan)
- gui#300 Remove progress bar on modal overlay (brunoerg)
- gui#309 Add access to the Peers tab from the network icon (hebasto)
- gui#311 Peers Window rename ‘Peer id’ to ‘Peer’ (jarolrod)
- gui#313 Optimize string concatenation by default (hebasto)
- gui#325 Align numbers in the “Peer Id” column to the right (hebasto)
- gui#329 Make console buttons look clickable (jarolrod)
- gui#330 Allow prompt icon to be colorized (jarolrod)
- gui#331 Make RPC console welcome message translation-friendly (hebasto)
- gui#332 Replace disambiguation strings with translator comments (hebasto)
- gui#335 test: Use QSignalSpy instead of QEventLoop (jarolrod)
- gui#343 Improve the GUI responsiveness when progress dialogs are used (hebasto)
- gui#361 Fix GUI segfault caused by bitcoin/bitcoin#22216 (ryanofsky)
- gui#362 Add keyboard shortcuts to context menus (luke-jr)
- gui#366 Dark Mode fixes/portability (luke-jr)
- gui#375 Emit dataChanged signal to dynamically re-sort Peers table (hebasto)
- gui#393 Fix regression in “Encrypt Wallet” menu item (hebasto)
- gui#396 Ensure external signer option remains disabled without signers (achow101)
- gui#406 Handle new added plurals in
bitcoin_en.ts
(hebasto)
ビルドシステム
- #17227 Add Android packaging support (icota)
- #17920 guix: Build support for macOS (dongcarl)
- #18298 Fix Qt processing of configure script for depends with DEBUG=1 (hebasto)
- #19160 multiprocess: Add basic spawn and IPC support (ryanofsky)
- #19504 Bump minimum python version to 3.6 (ajtowns)
- #19522 fix building libconsensus with reduced exports for Darwin targets (fanquake)
- #19683 Pin clang search paths for darwin host (dongcarl)
- #19764 Split boost into build/host packages + bump + cleanup (dongcarl)
- #19817 libtapi 1100.0.11 (fanquake)
- #19846 enable unused member function diagnostic (Zero-1729)
- #19867 Document and cleanup Qt hacks (fanquake)
- #20046 Set
CMAKE_INSTALL_RPATH
for native packages (ryanofsky) - #20223 Drop the leading 0 from the version number (achow101)
- #20333 Remove
native_biplist
dependency (fanquake) - #20353 configure: Support -fdebug-prefix-map and -fmacro-prefix-map (ajtowns)
- #20359 Various config.site.in improvements and linting (dongcarl)
- #20413 Require C++17 compiler (MarcoFalke)
- #20419 Set minimum supported macOS to 10.14 (fanquake)
- #20421 miniupnpc 2.2.2 (fanquake)
- #20422 Mac deployment unification (fanquake)
- #20424 Update univalue subtree (MarcoFalke)
- #20449 Fix Windows installer build (achow101)
- #20468 Warn when generating man pages for binaries built from a dirty branch (tylerchambers)
- #20469 Avoid secp256k1.h include from system (dergoegge)
- #20470 Replace genisoimage with xorriso (dongcarl)
- #20471 Use C++17 in depends (fanquake)
- #20496 Drop unneeded macOS framework dependencies (hebasto)
- #20520 Do not force Precompiled Headers (PCH) for building Qt on Linux (hebasto)
- #20549 Support make src/bitcoin-node and src/bitcoin-gui (promag)
- #20565 Ensure PIC build for bdb on Android (BlockMechanic)
- #20594 Fix getauxval calls in randomenv.cpp (jonasschnelli)
- #20603 Update crc32c subtree (MarcoFalke)
- #20609 configure: output notice that test binary is disabled by fuzzing (apoelstra)
- #20619 guix: Quality of life improvements (dongcarl)
- #20629 Improve id string robustness (dongcarl)
- #20641 Use Qt top-level build facilities (hebasto)
- #20650 Drop workaround for a fixed bug in Qt build system (hebasto)
- #20673 Use more legible qmake commands in qt package (hebasto)
- #20684 Define .INTERMEDIATE target once only (hebasto)
- #20720 more robustly check for fcf-protection support (fanquake)
- #20734 Make platform-specific targets available for proper platform builds only (hebasto)
- #20936 build fuzz tests by default (danben)
- #20937 guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCH (dongcarl)
- #20938 fix linking against -latomic when building for riscv (fanquake)
- #20939 fix
RELOC_SECTION
security check for bitcoin-util (fanquake) - #20963 gitian-linux: Build binaries for 64-bit POWER (continued) (laanwj)
- #21036 gitian: Bump descriptors to focal for 22.0 (fanquake)
- #21045 Adds switch to enable/disable randomized base address in MSVC builds (EthanHeilman)
- #21065 make macOS HOST in download-osx generic (fanquake)
- #21078 guix: only download sources for hosts being built (fanquake)
- #21116 Disable –disable-fuzz-binary for gitian/guix builds (hebasto)
- #21182 remove mostly pointless
BOOST_PROCESS
macro (fanquake) - #21205 actually fail when Boost is missing (fanquake)
- #21209 use newer source for libnatpmp (fanquake)
- #21226 Fix fuzz binary compilation under windows (danben)
- #21231 Add /opt/homebrew to path to look for boost libraries (fyquah)
- #21239 guix: Add codesignature attachment support for osx+win (dongcarl)
- #21250 Make
HAVE_O_CLOEXEC
available outside LevelDB (bugfix) (theStack) - #21272 guix: Passthrough
SDK_PATH
into container (dongcarl) - #21274 assumptions: Assume C++17 (fanquake)
- #21286 Bump minimum Qt version to 5.9.5 (hebasto)
- #21298 guix: Bump time-machine, glibc, and linux-headers (dongcarl)
- #21304 guix: Add guix-clean script + establish gc-root for container profiles (dongcarl)
- #21320 fix libnatpmp macos cross compile (fanquake)
- #21321 guix: Add curl to required tool list (hebasto)
- #21333 set Unicode true for NSIS installer (fanquake)
- #21339 Make
AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER])
unconditional (hebasto) - #21349 Fix fuzz-cuckoocache cross-compiling with DEBUG=1 (hebasto)
- #21354 build, doc: Drop no longer required packages from macOS cross-compiling dependencies (hebasto)
- #21363 build, qt: Improve Qt static plugins/libs check code (hebasto)
- #21375 guix: Misc feedback-based fixes + hier restructuring (dongcarl)
- #21376 Qt 5.12.10 (fanquake)
- #21382 Clean remnants of QTBUG-34748 fix (hebasto)
- #21400 Fix regression introduced in #21363 (hebasto)
- #21403 set –build when configuring packages in depends (fanquake)
- #21421 don’t try and use -fstack-clash-protection on Windows (fanquake)
- #21423 Cleanups and follow ups after bumping Qt to 5.12.10 (hebasto)
- #21427 Fix
id_string
invocations (dongcarl) - #21430 Add -Werror=implicit-fallthrough compile flag (hebasto)
- #21457 Split libtapi and clang out of
native_cctools
(fanquake) - #21462 guix: Add guix-{attest,verify} scripts (dongcarl)
- #21495 build, qt: Fix static builds on macOS Big Sur (hebasto)
- #21497 Do not opt-in unused CoreWLAN stuff in depends for macOS (hebasto)
- #21543 Enable safe warnings for msvc builds (hebasto)
- #21565 Make
bitcoin_qt.m4
more generic (fanquake) - #21610 remove -Wdeprecated-register from NOWARN flags (fanquake)
- #21613 enable -Wdocumentation (fanquake)
- #21629 Fix configuring when building depends with
NO_BDB=1
(fanquake) - #21654 build, qt: Make Qt rcc output always deterministic (hebasto)
- #21655 build, qt: No longer need to set
QT_RCC_TEST=1
for determinism (hebasto) - #21658 fix make deploy for arm64-darwin (sgulls)
- #21694 Use XLIFF file to provide more context to Transifex translators (hebasto)
- #21708, bitcoin/bitcoin#21593 Drop pointless sed commands (hebasto)
- #21731 Update msvc build to use Qt5.12.10 binaries (sipsorcery)
- #21733 Re-add command to install vcpkg (dplusplus1024)
- #21793 Use
-isysroot
over--sysroot
on macOS (fanquake) - #21869 Add missing
-D_LIBCPP_DEBUG=1
to debug flags (MarcoFalke) - #21889 macho: check for control flow instrumentation (fanquake)
- #21920 Improve macro for testing -latomic requirement (MarcoFalke)
- #21991 libevent 2.1.12-stable (fanquake)
- #22054 Bump Qt version to 5.12.11 (hebasto)
- #22063 Use Qt archive of the same version as the compiled binaries (hebasto)
- #22070 Don’t use cf-protection when targeting arm-apple-darwin (fanquake)
- #22071 Latest config.guess and config.sub (fanquake)
- #22075 guix: Misc leftover usability improvements (dongcarl)
- #22123 Fix qt.mk for mac arm64 (promag)
- #22174 build, qt: Fix libraries linking order for Linux hosts (hebasto)
- #22182 guix: Overhaul how guix-{attest,verify} works and hierarchy (dongcarl)
- #22186 build, qt: Fix compiling qt package in depends with GCC 11 (hebasto)
- #22199 macdeploy: minor fixups and simplifications (fanquake)
- #22230 Fix MSVC linker /SubSystem option for bitcoin-qt.exe (hebasto)
- #22234 Mark print-% target as phony (dgoncharov)
- #22238 improve detection of eBPF support (fanquake)
- #22258 Disable deprecated-copy warning only when external warnings are enabled (MarcoFalke)
- #22320 set minimum required Boost to 1.64.0 (fanquake)
- #22348 Fix cross build for Windows with Boost Process (hebasto)
- #22365 guix: Avoid relying on newer symbols by rebasing our cross toolchains on older glibcs (dongcarl)
- #22381 guix: Test security-check sanity before performing them (with macOS) (fanquake)
- #22405 Remove –enable-glibc-back-compat from Guix build (fanquake)
- #22406 Remove –enable-determinism configure option (fanquake)
- #22410 Avoid GCC 7.1 ABI change warning in guix build (sipa)
- #22436 use aarch64 Clang if cross-compiling for darwin on aarch64 (fanquake)
- #22465 guix: Pin kernel-header version, time-machine to upstream 1.3.0 commit (dongcarl)
- #22511 guix: Silence
getent(1)
invocation, doc fixups (dongcarl) - #22531 guix: Fixes to guix-{attest,verify} (achow101)
- #22642 release: Release with separate sha256sums and sig files (dongcarl)
- #22685 clientversion: No suffix
#if CLIENT_VERSION_IS_RELEASE
(dongcarl) - #22713 Fix build with Boost 1.77.0 (sizeofvoid)
テストとQA
- #14604 Add test and refactor
feature_block.py
(sanket1729) - #17556 Change
feature_config_args.py
not to rely on strange regtest=0 behavior (ryanofsky) - #18795 wallet issue with orphaned rewards (domob1812)
- #18847 compressor: Use a prevector in CompressScript serialization (jb55)
- #19259 fuzz: Add fuzzing harness for LoadMempool(…) and DumpMempool(…) (practicalswift)
- #19315 Allow outbound & block-relay-only connections in functional tests. (amitiuttarwar)
- #19698 Apply strict verification flags for transaction tests and assert backwards compatibility (glozow)
- #19801 Check for all possible
OP_CLTV
fail reasons infeature_cltv.py
(BIP 65) (theStack) - #19893 Remove or explain syncwithvalidationinterfacequeue (MarcoFalke)
- #19972 fuzz: Add fuzzing harness for node eviction logic (practicalswift)
- #19982 Fix inconsistent lock order in
wallet_tests/CreateWallet
(hebasto) - #20000 Fix creation of “std::string”s with \0s (vasild)
- #20047 Use
wait_for_{block,header}
helpers inp2p_fingerprint.py
(theStack) - #20171 Add functional test
test_txid_inv_delay
(ariard) - #20189 Switch to BIP341’s suggested scheme for outputs without script (sipa)
- #20248 Fix length of R check in
key_signature_tests
(dgpv) - #20276, bitcoin/bitcoin#20385, bitcoin/bitcoin#20688, bitcoin/bitcoin#20692 Run various mempool tests even with wallet disabled (mjdietzx)
- #20323 Create or use existing properly initialized NodeContexts (dongcarl)
- #20354 Add
feature_taproot.py --previous_release
(MarcoFalke) - #20370 fuzz: Version handshake (MarcoFalke)
- #20377 fuzz: Fill various small fuzzing gaps (practicalswift)
- #20425 fuzz: Make CAddrMan fuzzing harness deterministic (practicalswift)
- #20430 Sanitizers: Add suppression for unsigned-integer-overflow in libstdc++ (jonasschnelli)
- #20437 fuzz: Avoid time-based “non-determinism” in fuzzing harnesses by using mocked GetTime() (practicalswift)
- #20458 Add
is_bdb_compiled
helper (Sjors) - #20466 Fix intermittent
p2p_fingerprint
issue (MarcoFalke) - #20472 Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s (practicalswift)
- #20507 sync: print proper lock order location when double lock is detected (vasild)
- #20522 Fix sync issue in
disconnect_p2ps
(amitiuttarwar) - #20524 Move
MIN_VERSION_SUPPORTED
to p2p.py (jnewbery) - #20540 Fix
wallet_multiwallet
issue on windows (MarcoFalke) - #20560 fuzz: Link all targets once (MarcoFalke)
- #20567 Add option to git-subtree-check to do full check, add help (laanwj)
- #20569 Fix intermittent
wallet_multiwallet
issue withgot_loading_error
(MarcoFalke) - #20613 Use Popen.wait instead of RPC in
assert_start_raises_init_error
(MarcoFalke) - #20663 fuzz: Hide
script_assets_test_minimizer
(MarcoFalke) - #20674 fuzz: Call SendMessages after ProcessMessage to increase coverage (MarcoFalke)
- #20683 Fix restart node race (MarcoFalke)
- #20686 fuzz: replace CNode code with fuzz/util.h::ConsumeNode() (jonatack)
- #20733 Inline non-member functions with body in fuzzing headers (pstratem)
- #20737 Add missing assignment in
mempool_resurrect.py
(MarcoFalke) - #20745 Correct
epoll_ctl
data race suppression (hebasto) - #20748 Add race:SendZmqMessage tsan suppression (MarcoFalke)
- #20760 Set correct nValue for multi-op-return policy check (MarcoFalke)
- #20761 fuzz: Check that
NULL_DATA
is unspendable (MarcoFalke) - #20765 fuzz: Check that certain script TxoutType are nonstandard (mjdietzx)
- #20772 fuzz: Bolster ExtractDestination(s) checks (mjdietzx)
- #20789 fuzz: Rework strong and weak net enum fuzzing (MarcoFalke)
- #20828 fuzz: Introduce CallOneOf helper to replace switch-case (MarcoFalke)
- #20839 fuzz: Avoid extraneous copy of input data, using Span<> (MarcoFalke)
- #20844 Add sanitizer suppressions for AMD EPYC CPUs (MarcoFalke)
- #20857 Update documentation in
feature_csv_activation.py
(PiRK) - #20876 Replace getmempoolentry with testmempoolaccept in MiniWallet (MarcoFalke)
- #20881 fuzz: net permission flags in net processing (MarcoFalke)
- #20882 fuzz: Add missing muhash registration (MarcoFalke)
- #20908 fuzz: Use mocktime in
process_message*
fuzz targets (MarcoFalke) - #20915 fuzz: Fail if message type is not fuzzed (MarcoFalke)
- #20946 fuzz: Consolidate fuzzing TestingSetup initialization (dongcarl)
- #20954 Declare
nodes
typein test_framework.py
(kiminuo) - #20955 Fix
get_previous_releases.py
for aarch64 (MarcoFalke) - #20969 check that getblockfilter RPC fails without block filter index (theStack)
- #20971 Work around libFuzzer deadlock (MarcoFalke)
- #20993 Store subversion (user agent) as string in
msg_version
(theStack) - #20995 fuzz: Avoid initializing version to less than
MIN_PEER_PROTO_VERSION
(MarcoFalke) - #20998 Fix BlockToJsonVerbose benchmark (martinus)
- #21003 Move MakeNoLogFileContext to
libtest_util
, and use it in bench (MarcoFalke) - #21008 Fix zmq test flakiness, improve speed (theStack)
- #21023 fuzz: Disable shuffle when merge=1 (MarcoFalke)
- #21037 fuzz: Avoid designated initialization (C++20) in fuzz tests (practicalswift)
- #21042 doc, test: Improve
setup_clean_chain
documentation (fjahr) - #21080 fuzz: Configure check for main function (take 2) (MarcoFalke)
- #21084 Fix timeout decrease in
feature_assumevalid
(brunoerg) - #21096 Re-add dead code detection (flack)
- #21100 Remove unused function
xor_bytes
(theStack) - #21115 Fix Windows cross build (hebasto)
- #21117 Remove
assert_blockchain_height
(MarcoFalke) - #21121 Small unit test improvements, including helper to make mempool transaction (amitiuttarwar)
- #21124 Remove unnecessary assignment in bdb (brunoerg)
- #21125 Change
BOOST_CHECK
toBOOST_CHECK_EQUAL
for paths (kiminuo) - #21142, bitcoin/bitcoin#21512 fuzz: Add
tx_pool
fuzz target (MarcoFalke) - #21165 Use mocktime in
test_seed_peers
(dhruv) - #21169 fuzz: Add RPC interface fuzzing. Increase fuzzing coverage from 65% to 70% (practicalswift)
- #21170 bench: Add benchmark to write json into a string (martinus)
- #21178 Run
mempool_reorg.py
even with wallet disabled (DariusParvin) - #21185 fuzz: Remove expensive and redundant muhash from crypto fuzz target (MarcoFalke)
- #21200 Speed up
rpc_blockchain.py
by removing miniwallet.generate() (MarcoFalke) - #21211 Move
P2WSH_OP_TRUE
to shared test library (MarcoFalke) - #21228 Avoid comparision of integers with different signs (jonasschnelli)
- #21230 Fix
NODE_NETWORK_LIMITED_MIN_BLOCKS
disconnection (MarcoFalke) - #21252 Add missing wait for sync to
feature_blockfilterindex_prune
(MarcoFalke) - #21254 Avoid connecting to real network when running tests (MarcoFalke)
- #21264 fuzz: Two scripted diff renames (MarcoFalke)
- #21280 Bug fix in
transaction_tests
(glozow) - #21293 Replace accidentally placed bit-OR with logical-OR (hebasto)
- #21297
feature_blockfilterindex_prune.py
improvements (jonatack) - #21310 zmq test: fix sync-up by matching notification to generated block (theStack)
- #21334 Additional BIP9 tests (Sjors)
- #21338 Add functional test for anchors.dat (brunoerg)
- #21345 Bring
p2p_leak.py
up to date (mzumsande) - #21357 Unconditionally check for fRelay field in test framework (jarolrod)
- #21358 fuzz: Add missing include (
test/util/setup_common.h
) (MarcoFalke) - #21371 fuzz: fix gcc Woverloaded-virtual build warnings (jonatack)
- #21373 Generate fewer blocks in
feature_nulldummy
to fix timeouts, speed up (jonatack) - #21390 Test improvements for UTXO set hash tests (fjahr)
- #21410 increase
rpc_timeout
for fundrawtxtest_transaction_too_large
(jonatack) - #21411 add logging, reduce blocks, move
sync_all
inwallet_
groups (jonatack) - #21438 Add ParseUInt8() test coverage (jonatack)
- #21443 fuzz: Implement
fuzzed_dns_lookup_function
as a lambda (practicalswift) - #21445 cirrus: Use SSD cluster for speedup (MarcoFalke)
- #21477 Add test for CNetAddr::ToString IPv6 address formatting (RFC 5952) (practicalswift)
- #21487 fuzz: Use ConsumeWeakEnum in addrman for service flags (MarcoFalke)
- #21488 Add ParseUInt16() unit test and fuzz coverage (jonatack)
- #21491 test: remove duplicate assertions in util_tests (jonatack)
- #21522 fuzz: Use PickValue where possible (MarcoFalke)
- #21531 remove qt byteswap compattests (fanquake)
- #21557 small cleanup in RPCNestedTests tests (fanquake)
- #21586 Add missing suppression for signed-integer-overflow:txmempool.cpp (MarcoFalke)
- #21592 Remove option to make TestChain100Setup non-deterministic (MarcoFalke)
- #21597 Document
race:validation_chainstatemanager_tests
suppression (MarcoFalke) - #21599 Replace file level integer overflow suppression with function level suppression (practicalswift)
- #21604 Document why no symbol names can be used for suppressions (MarcoFalke)
- #21606 fuzz: Extend psbt fuzz target a bit (MarcoFalke)
- #21617 fuzz: Fix uninitialized read in i2p test (MarcoFalke)
- #21630 fuzz: split FuzzedSock interface and implementation (vasild)
- #21634 Skip SQLite fsyncs while testing (achow101)
- #21669 Remove spurious double lock tsan suppressions by bumping to clang-12 (MarcoFalke)
- #21676 Use mocktime to avoid intermittent failure in
rpc_tests
(MarcoFalke) - #21677 fuzz: Avoid use of low file descriptor ids (which may be in use) in FuzzedSock (practicalswift)
- #21678 Fix TestPotentialDeadLockDetected suppression (hebasto)
- #21689 Remove intermittently failing and not very meaningful
BOOST_CHECK
incnetaddr_basic
(practicalswift) - #21691 Check that no versionbits are re-used (MarcoFalke)
- #21707 Extend functional tests for addr relay (mzumsande)
- #21712 Test default
include_mempool
value of gettxout (promag) - #21738 Use clang-12 for ASAN, Add missing suppression (MarcoFalke)
- #21740 add new python linter to check file names and permissions (windsok)
- #21749 Bump shellcheck version (hebasto)
- #21754 Run
feature_cltv
with MiniWallet (MarcoFalke) - #21762 Speed up
mempool_spend_coinbase.py
(MarcoFalke) - #21773 fuzz: Ensure prevout is consensus-valid (MarcoFalke)
- #21777 Fix
feature_notifications.py
intermittent issue (MarcoFalke) - #21785 Fix intermittent issue in
p2p_addr_relay.py
(MarcoFalke) - #21787 Fix off-by-ones in
rpc_fundrawtransaction
assertions (jonatack) - #21792 Fix intermittent issue in
p2p_segwit.py
(MarcoFalke) - #21795 fuzz: Terminate immediately if a fuzzing harness tries to perform a DNS lookup (belt and suspenders) (practicalswift)
- #21798 fuzz: Create a block template in
tx_pool
targets (MarcoFalke) - #21804 Speed up
p2p_segwit.py
(jnewbery) - #21810 fuzz: Various RPC fuzzer follow-ups (practicalswift)
- #21814 Fix
feature_config_args.py
intermittent issue (MarcoFalke) - #21821 Add missing test for empty P2WSH redeem (MarcoFalke)
- #21822 Resolve bug in
interface_bitcoin_cli.py
(klementtan) - #21846 fuzz: Add
-fsanitize=integer
suppression needed for RPC fuzzer (generateblock
) (practicalswift) - #21849 fuzz: Limit toxic test globals to their respective scope (MarcoFalke)
- #21867 use MiniWallet for
p2p_blocksonly.py
(theStack) - #21873 minor fixes & improvements for files linter test (windsok)
- #21874 fuzz: Add
WRITE_ALL_FUZZ_TARGETS_AND_ABORT
(MarcoFalke) - #21884 fuzz: Remove unused –enable-danger-fuzz-link-all option (MarcoFalke)
- #21890 fuzz: Limit ParseISO8601DateTime fuzzing to 32-bit (MarcoFalke)
- #21891 fuzz: Remove strprintf test cases that are known to fail (MarcoFalke)
- #21892 fuzz: Avoid excessively large min fee rate in
tx_pool
(MarcoFalke) - #21895 Add TSA annotations to the WorkQueue class members (hebasto)
- #21900 use MiniWallet for
feature_csv_activation.py
(theStack) - #21909 fuzz: Limit max insertions in timedata fuzz test (MarcoFalke)
- #21922 fuzz: Avoid timeout in EncodeBase58 (MarcoFalke)
- #21927 fuzz: Run const CScript member functions only once (MarcoFalke)
- #21929 fuzz: Remove incorrect float round-trip serialization test (MarcoFalke)
- #21936 fuzz: Terminate immediately if a fuzzing harness tries to create a TCP socket (belt and suspenders) (practicalswift)
- #21941 fuzz: Call const member functions in addrman fuzz test only once (MarcoFalke)
- #21945 add P2PK support to MiniWallet (theStack)
- #21948 Fix off-by-one in mockscheduler test RPC (MarcoFalke)
- #21953 fuzz: Add
utxo_snapshot
target (MarcoFalke) - #21970 fuzz: Add missing CheckTransaction before CheckTxInputs (MarcoFalke)
- #21989 Use
COINBASE_MATURITY
in functional tests (kiminuo) - #22003 Add thread safety annotations (ajtowns)
- #22004 fuzz: Speed up transaction fuzz target (MarcoFalke)
- #22005 fuzz: Speed up banman fuzz target (MarcoFalke)
- #22029 [fuzz] Improve transport deserialization fuzz test coverage (dhruv)
- #22048 MiniWallet: introduce enum type for output mode (theStack)
- #22057 use MiniWallet (P2PK mode) for
feature_dersig.py
(theStack) - #22065 Mark
CheckTxInputs
[[nodiscard]]
. Avoid UUM in fuzzing harnesscoins_view
(practicalswift) - #22069 fuzz: don’t try and use fopencookie() when building for Android (fanquake)
- #22082 update nanobench from release 4.0.0 to 4.3.4 (martinus)
- #22086 remove BasicTestingSetup from unit tests that don’t need it (fanquake)
- #22089 MiniWallet: fix fee calculation for P2PK and check tx vsize (theStack)
- #21107, bitcoin/bitcoin#22092 Convert documentation into type annotations (fanquake)
- #22095 Additional BIP32 test vector for hardened derivation with leading zeros (kristapsk)
- #22103 Fix IPv6 check on BSD systems (n-thumann)
- #22118 check anchors.dat when node starts for the first time (brunoerg)
- #22120
p2p_invalid_block
: Check that a block rejected due to too-new tim… (willcl-ark) - #22153 Fix
p2p_leak.py
intermittent failure (mzumsande) - #22169 p2p, rpc, fuzz: various tiny follow-ups (jonatack)
- #22176 Correct outstanding -Werror=sign-compare errors (Empact)
- #22180 fuzz: Increase branch coverage of the float fuzz target (MarcoFalke)
- #22187 Add
sync_blocks
inwallet_orphanedreward.py
(domob1812) - #22201 Fix TestShell to allow running in Jupyter Notebook (josibake)
- #22202 Add temporary coinstats suppressions (MarcoFalke)
- #22203 Use ConnmanTestMsg from test lib in
denialofservice_tests
(MarcoFalke) - #22210 Use MiniWallet in
test_no_inherited_signaling
RBF test (MarcoFalke) - #22224 Update msvc and appveyor builds to use Qt5.12.11 binaries (sipsorcery)
- #22249 Kill process group to avoid dangling processes when using
--failfast
(S3RK) - #22267 fuzz: Speed up crypto fuzz target (MarcoFalke)
- #22270 Add bitcoin-util tests (+refactors) (MarcoFalke)
- #22271 fuzz: Assert roundtrip equality for
CPubKey
(theStack) - #22279 fuzz: add missing ECCVerifyHandle to
base_encode_decode
(apoelstra) - #22292 bench, doc: benchmarking updates and fixups (jonatack)
- #22306 Improvements to
p2p_addr_relay.py
(amitiuttarwar) - #22310 Add functional test for replacement relay fee check (ariard)
- #22311 Add missing syncwithvalidationinterfacequeue in
p2p_blockfilters
(MarcoFalke) - #22313 Add missing
sync_all
tofeature_coinstatsindex
(MarcoFalke) - #22322 fuzz: Check banman roundtrip (MarcoFalke)
- #22363 Use
script_util
helpers for creating P2{PKH,SH,WPKH,WSH} scripts (theStack) - #22399 fuzz: Rework CTxDestination fuzzing (MarcoFalke)
- #22408 add tests for
bad-txns-prevout-null
reject reason (theStack) - #22445 fuzz: Move implementations of non-template fuzz helpers from util.h to util.cpp (sriramdvt)
- #22446 Fix
wallet_listdescriptors.py
if bdb is not compiled (hebasto) - #22447 Whitelist
rpc_rawtransaction
peers to speed up tests (jonatack) - #22742 Use proper target in
do_fund_send
(S3RK)
その他
- #19337 sync: Detect double lock from the same thread (vasild)
- #19809 log: Prefix log messages with function name and source code location if -logsourcelocations is set (practicalswift)
- #19866 eBPF Linux tracepoints (jb55)
- #20024 init: Fix incorrect warning “Reducing -maxconnections from N to N-1, because of system limitations” (practicalswift)
- #20145 contrib: Add getcoins.py script to get coins from (signet) faucet (kallewoof)
- #20255 util: Add assume() identity function (MarcoFalke)
- #20288 script, doc: Contrib/seeds updates (jonatack)
- #20358 src/randomenv.cpp: Fix build on uclibc (ffontaine)
- #20406 util: Avoid invalid integer negation in formatmoney and valuefromamount (practicalswift)
- #20434 contrib: Parse elf directly for symbol and security checks (laanwj)
- #20451 lint: Run mypy over contrib/devtools (fanquake)
- #20476 contrib: Add test for elf symbol-check (laanwj)
- #20530 lint: Update cppcheck linter to c++17 and improve explicit usage (fjahr)
- #20589 log: Clarify that failure to read/write
fee_estimates.dat
is non-fatal (MarcoFalke) - #20602 util: Allow use of c++14 chrono literals (MarcoFalke)
- #20605 init: Signal-safe instant shutdown (laanwj)
- #20608 contrib: Add symbol check test for PE binaries (fanquake)
- #20689 contrib: Replace binary verification script verify.sh with python rewrite (theStack)
- #20715 util: Add argsmanager::getcommand() and use it in bitcoin-wallet (MarcoFalke)
- #20735 script: Remove outdated extract-osx-sdk.sh (hebasto)
- #20817 lint: Update list of spelling linter false positives, bump to codespell 2.0.0 (theStack)
- #20884 script: Improve robustness of bitcoind.service on startup (hebasto)
- #20906 contrib: Embed c++11 patch in
install_db4.sh
(gruve-p) - #21004 contrib: Fix docker args conditional in gitian-build (setpill)
- #21007 bitcoind: Add -daemonwait option to wait for initialization (laanwj)
- #21041 log: Move “Pre-allocating up to position 0x[…] in […].dat” log message to debug category (practicalswift)
- #21059 Drop boost/preprocessor dependencies (hebasto)
- #21087 guix: Passthrough
BASE_CACHE
into container (dongcarl) - #21088 guix: Jump forwards in time-machine and adapt (dongcarl)
- #21089 guix: Add support for powerpc64{,le} (dongcarl)
- #21110 util: Remove boost
posix_time
usage fromgettime*
(fanquake) - #21111 Improve OpenRC initscript (parazyd)
- #21123 code style: Add EditorConfig file (kiminuo)
- #21173 util: Faster hexstr => 13% faster blocktojson (martinus)
- #21221 tools: Allow argument/parameter bin packing in clang-format (jnewbery)
- #21244 Move GetDataDir to ArgsManager (kiminuo)
- #21255 contrib: Run test-symbol-check for risc-v (fanquake)
- #21271 guix: Explicitly set umask in build container (dongcarl)
- #21300 script: Add explanatory comment to tc.sh (dscotese)
- #21317 util: Make assume() usable as unary expression (MarcoFalke)
- #21336 Make .gitignore ignore src/test/fuzz/fuzz.exe (hebasto)
- #21337 guix: Update darwin native packages dependencies (hebasto)
- #21405 compat: remove memcpy -> memmove backwards compatibility alias (fanquake)
- #21418 contrib: Make systemd invoke dependencies only when ready (laanwj)
- #21447 Always add -daemonwait to known command line arguments (hebasto)
- #21471 bugfix: Fix
bech32_encode
calls ingen_key_io_test_vectors.py
(sipa) - #21615 script: Add trusted key for hebasto (hebasto)
- #21664 contrib: Use lief for macos and windows symbol & security checks (fanquake)
- #21695 contrib: Remove no longer used contrib/bitcoin-qt.pro (hebasto)
- #21711 guix: Add full installation and usage documentation (dongcarl)
- #21799 guix: Use
gcc-8
across the board (dongcarl) - #21802 Avoid UB in util/asmap (advance a dereferenceable iterator outside its valid range) (MarcoFalke)
- #21823 script: Update reviewers (jonatack)
- #21850 Remove
GetDataDir(net_specific)
function (kiminuo) - #21871 scripts: Add checks for minimum required os versions (fanquake)
- #21966 Remove double serialization; use software encoder for fee estimation (sipa)
- #22060 contrib: Add torv3 seed nodes for testnet, drop v2 ones (laanwj)
- #22244 devtools: Correctly extract symbol versions in symbol-check (laanwj)
- #22533 guix/build: Remove vestigial SKIPATTEST.TAG (dongcarl)
- #22643 guix-verify: Non-zero exit code when anything fails (dongcarl)
- #22654 guix: Don’t include directory name in SHA256SUMS (achow101)
ドキュメンテーション
- #15451 clarify getdata limit after #14897 (HashUnlimited)
- #15545 Explain why CheckBlock() is called before AcceptBlock (Sjors)
- #17350 Add developer documentation to isminetype (HAOYUatHZ)
- #17934 Use
CONFIG_SITE
variable instead of –prefix option (hebasto) - #18030 Coin::IsSpent() can also mean never existed (Sjors)
- #18096 IsFinalTx comment about nSequence &
OP_CLTV
(nothingmuch) - #18568 Clarify developer notes about constant naming (ryanofsky)
- #19961 doc: tor.md updates (jonatack)
- #19968 Clarify CRollingBloomFilter size estimate (robot-dreams)
- #20200 Rename CODEOWNERS to REVIEWERS (adamjonas)
- #20329 docs/descriptors.md: Remove hardened marker in the path after xpub (dgpv)
- #20380 Add instructions on how to fuzz the P2P layer using Honggfuzz NetDriver (practicalswift)
- #20414 Remove generated manual pages from master branch (laanwj)
- #20473 Document current boost dependency as 1.71.0 (laanwj)
- #20512 Add bash as an OpenBSD dependency (emilengler)
- #20568 Use FeeModes doc helper in estimatesmartfee (MarcoFalke)
- #20577 libconsensus: add missing error code description, fix NBitcoin link (theStack)
- #20587 Tidy up Tor doc (more stringent) (wodry)
- #20592 Update wtxidrelay documentation per BIP339 (jonatack)
- #20601 Update for FreeBSD 12.2, add GUI Build Instructions (jarolrod)
- #20635 fix misleading comment about call to non-existing function (pox)
- #20646 Refer to BIPs 339/155 in feature negotiation (jonatack)
- #20653 Move addr relay comment in net to correct place (MarcoFalke)
- #20677 Remove shouty enums in
net_processing
comments (sdaftuar) - #20741 Update ‘Secure string handling’ (prayank23)
- #20757 tor.md and -onlynet help updates (jonatack)
- #20829 Add -netinfo help (jonatack)
- #20830 Update developer notes with signet (jonatack)
- #20890 Add explicit macdeployqtplus dependencies install step (hebasto)
- #20913 Add manual page generation for bitcoin-util (laanwj)
- #20985 Add xorriso to macOS depends packages (fanquake)
- #20986 Update developer notes to discourage very long lines (jnewbery)
- #20987 Add instructions for generating RPC docs (ben-kaufman)
- #21026 Document use of make-tag script to make tags (laanwj)
- #21028 doc/bips: Add BIPs 43, 44, 49, and 84 (luke-jr)
- #21049 Add release notes for listdescriptors RPC (S3RK)
- #21060 More precise -debug and -debugexclude doc (wodry)
- #21077 Clarify -timeout and -peertimeout config options (glozow)
- #21105 Correctly identify script type (niftynei)
- #21163 Guix is shipped in Debian and Ubuntu (MarcoFalke)
- #21210 Rework internal and external links (MarcoFalke)
- #21246 Correction for VerifyTaprootCommitment comments (roconnor-blockstream)
- #21263 Clarify that squashing should happen before review (MarcoFalke)
- #21323 guix, doc: Update default HOSTS value (hebasto)
- #21324 Update build instructions for Fedora (hebasto)
- #21343 Revamp macOS build doc (jarolrod)
- #21346 install qt5 when building on macOS (fanquake)
- #21384 doc: add signet to bitcoin.conf documentation (jonatack)
- #21394 Improve comment about protected peers (amitiuttarwar)
- #21398 Update fuzzing docs for afl-clang-lto (MarcoFalke)
- #21444 net, doc: Doxygen updates and fixes in netbase.{h,cpp} (jonatack)
- #21481 Tell howto install clang-format on Debian/Ubuntu (wodry)
- #21567 Fix various misleading comments (glozow)
- #21661 Fix name of script guix-build (Emzy)
- #21672 Remove boostrap info from
GUIX_COMMON_FLAGS
doc (fanquake) - #21688 Note on SDK for macOS depends cross-compile (jarolrod)
- #21709 Update reduce-memory.md and bitcoin.conf -maxconnections info (jonatack)
- #21710 update helps for addnode rpc and -addnode/-maxconnections config options (jonatack)
- #21752 Clarify that feerates are per virtual size (MarcoFalke)
- #21811 Remove Visual Studio 2017 reference from readme (sipsorcery)
- #21818 Fixup -coinstatsindex help, update bitcoin.conf and files.md (jonatack)
- #21856 add OSS-Fuzz section to fuzzing.md doc (adamjonas)
- #21912 Remove mention of priority estimation (MarcoFalke)
- #21925 Update bips.md for 0.21.1 (MarcoFalke)
- #21942 improve make with parallel jobs description (klementtan)
- #21947 Fix OSS-Fuzz links (MarcoFalke)
- #21988 note that brew installed qt is not supported (jarolrod)
- #22056 describe in fuzzing.md how to reproduce a CI crash (jonatack)
- #22080 add maxuploadtarget to bitcoin.conf example (jarolrod)
- #22088 Improve note on choosing posix mingw32 (jarolrod)
- #22109 Fix external links (IRC, …) (MarcoFalke)
- #22121 Various validation doc fixups (MarcoFalke)
- #22172 Update tor.md, release notes with removal of tor v2 support (jonatack)
- #22204 Remove obsolete
okSafeMode
RPC guideline from developer notes (theStack) - #22208 Update
REVIEWERS
(practicalswift) - #22250 add basic I2P documentation (vasild)
- #22296 Final merge of release notes snippets, mv to wiki (MarcoFalke)
- #22335 recommend
--disable-external-signer
in OpenBSD build guide (theStack) - #22339 Document minimum required libc++ version (hebasto)
- #22349 Repository IRC updates (jonatack)
- #22360 Remove unused section from release process (MarcoFalke)
- #22369 Add steps for Transifex to release process (jonatack)
- #22393 Added info to bitcoin.conf doc (bliotti)
- #22402 Install Rosetta on M1-macOS for qt in depends (hebasto)
- #22432 Fix incorrect
testmempoolaccept
doc (glozow) - #22648 doc, test: improve i2p/tor docs and i2p reachable unit tests (jonatack)
クレジット
このリリースに直接貢献されたみなさん、ありがとうございます:
- Aaron Clauson
- Adam Jonas
- amadeuszpawlik
- Amiti Uttarwar
- Andrew Chow
- Andrew Poelstra
- Anthony Towns
- Antoine Poinsot
- Antoine Riard
- apawlik
- apitko
- Ben Carman
- Ben Woosley
- benk10
- Bezdrighin
- Block Mechanic
- Brian Liotti
- Bruno Garcia
- Carl Dong
- Christian Decker
- coinforensics
- Cory Fields
- Dan Benjamin
- Daniel Kraft
- Darius Parvin
- Dhruv Mehta
- Dmitry Goncharov
- Dmitry Petukhov
- dplusplus1024
- dscotese
- Duncan Dean
- Elle Mouton
- Elliott Jin
- Emil Engler
- Ethan Heilman
- eugene
- Evan Klitzke
- Fabian Jahr
- Fabrice Fontaine
- fanquake
- fdov
- flack
- Fotis Koutoupas
- Fu Yong Quah
- fyquah
- glozow
- Gregory Sanders
- Guido Vranken
- Gunar C. Gessner
- h
- HAOYUatHZ
- Hennadii Stepanov
- Igor Cota
- Ikko Ashimine
- Ivan Metlushko
- jackielove4u
- James O’Beirne
- Jarol Rodriguez
- Joel Klabo
- John Newbery
- Jon Atack
- Jonas Schnelli
- João Barbosa
- Josiah Baker
- Karl-Johan Alm
- Kiminuo
- Klement Tan
- Kristaps Kaupe
- Larry Ruane
- lisa neigut
- Lucas Ontivero
- Luke Dashjr
- Maayan Keshet
- MarcoFalke
- Martin Ankerl
- Martin Zumsande
- Michael Dietz
- Michael Polzer
- Michael Tidwell
- Niklas Gögge
- nthumann
- Oliver Gugger
- parazyd
- Patrick Strateman
- Pavol Rusnak
- Peter Bushnell
- Pierre K
- Pieter Wuille
- PiRK
- pox
- practicalswift
- Prayank
- R E Broadley
- Rafael Sadowski
- randymcmillan
- Raul Siles
- Riccardo Spagni
- Russell O’Connor
- Russell Yanofsky
- S3RK
- saibato
- Samuel Dobson
- sanket1729
- Sawyer Billings
- Sebastian Falbesoner
- setpill
- sgulls
- sinetek
- Sjors Provoost
- Sriram
- Stephan Oeste
- Suhas Daftuar
- Sylvain Goumy
- t-bast
- Troy Giorshev
- Tushar Singla
- Tyler Chambers
- Uplab
- Vasil Dimov
- W. J. van der Laan
- willcl-ark
- William Bright
- William Casarin
- windsok
- wodry
- Yerzhan Mazhkenov
- Yuval Kogman
- Zero
Transifexでの翻訳を手伝ってくれたみなさんもありがとうございます。