お知らせ
Tapyrus Core v0.7.0リリース
主な変更点
■C++20サポート
Tapyrus v0.7.0のコードベースはC++20標準をサポートするようになりました。 これにより、より新しいC++の機能を活用した開発が可能になります。
■CMakeビルドシステムへの移行
ビルドシステムがAutotoolsからCMakeに完全に移行しました(#331、#335、#336、#337)。
- Linux、macOS、Windowsの各プラットフォームでCMakeビルドをサポート
- Dockerコンテナ(
tapyrusd、tapyrus-builder)もCMakeを使用 - dependsディレクトリ内のすべての依存関係もCMake対応
■Qt6へのアップグレードtapyrus-qtのGUIフレームワークがQt5からQt6にアップグレードされました(#368、#381、#382)。
- CMakeとNinjaを使用したビルド
- macOSおよびWindowsでのGUIの問題を修正(#386)
■GUIXビルドシステムの導入
リリースディストリビューションの生成にGUIXビルドが使用されるようになりました(#366)。 これにより、再現可能なビルドが可能になり、リリースバイナリの信頼性が向上します。
■セキュリティ修正Bitcoin Coreから継承された以下の脆弱性に対応しました:
- CVE-2024-52919 – addrメッセージスパムによるリモートクラッシュの修正(#353)
- reindex時のブロックファイルサイズ計算の誤りを修正(#356)
■バグ修正
gettransactionRPCで手数料が正しく出力されない問題の修正(#328)- ネットワークでXField最大ブロックサイズが変更された場合のreindex失敗を修正(#357)
- ワーカースレッドが作業を完了したことをマスタースレッドが認識できないチェックキューのデッドロックを修正(#349)
- ウォレットインポート時のタイムゾーン変換を修正(#363)
- ロケール依存関数の使用を削除(#365)
- getblocktxn脆弱性修正時に導入されたクラッシュを修正(#369)
■テストの改善
- CMake CIにスケジュールされたデイリーテストとコミットごとのスモークテストを追加(#342)
- CChainState、CChain、CBlockIndexクラスの包括的なエッジケーステストを追加(#372)
- 機能テストのタイムアウト間隔を標準化(#334)
アップグレード方法
既存のノードを最新リリースにアップグレードすることを推奨します。
- Testnetノード: getting_startedの手順に従って新しいv0.7.0ノードを起動してください
- プライベートネットワーク: 古いノードをシャットダウンし、完全に停止したことを確認してから新しいノードを起動してください
■互換性
- v0.5.0、v0.5.1、v0.5.2、v0.6.1で作成されたブロックチェーンはv0.7.0と互換性があります
- v0.5.0より前のバージョンで作成されたブロックチェーンは、ブロックヘッダーにxfieldがないため互換性がありません
- サポートプラットフォーム: Linux、macOS、Windows(x86_64およびarm64/aarch64)
■ダウングレードについてv0.7.0からv0.6.1へのダウングレードは問題ありません。ただし、v0.5.*へのダウングレードは、ネットワークでxfieldの変更が行われていない場合に限り可能です。
すべての変更点については、リリースノートを参照ください。


