リリースノート - v0.195.0
v0.195.0(2026年8月24日)
Section titled “v0.195.0(2026年8月24日)”タイトル: ガバナンス、ブロック取得、トランザクション検証を改善
日付: 2026年8月24日
バージョン: v0.195.0
このリリースでは、Conway ガバナンスの検証を強化し、BlockFetch のリクエストを任意でパイプライン処理できるようにし、トランザクション検証を改善します。また、コンセンサスの動作と依存関係を更新します。
-
改善 Conway ガバナンス検証: ハードフォークの継承関係と提案の祖先関係を検証し、不正な関係を拒否するようになりました。同じトランザクション内の propose と vote のアクションを正しく解決し、DRep、憲法委員会、ステークプールオペレーター、Bootstrap の制限に解決済みアクションの内容を使用します。ステークプールオペレーターは、セキュリティグループ外の
ParameterChangeアクションに投票できなくなりました。オプションのガバナンスアクション内容、purpose root の状態、SecurityGroupFields()により、これらの検証に必要な状態を取得できます。 詳細を見る。 -
追加 BlockFetch リクエストのパイプライン処理:
Client.RequestRange(ctx, RangeRequest)とConfig.RequestPipeliningにより、クライアントで範囲リクエストの同時処理を有効にできます。FIFO のリクエストは順番どおりにレスポンスを受け取り、それぞれ 1 回のConfig.RangeDoneFuncコールバックが実行されます。コンテキスト対応の受付制御は、予想されるシリアライズ後のバイト数でリクエスト量を制限します。Config.MaxInFlightBytesのデフォルトは9,011,200バイト(100 x 88 KiB)です。パイプライン処理を無効にした場合は、従来どおり同時に 1 件だけリクエストします。バッチにブロックがない場合、GetBlockは公開されたblockfetch.ErrNoBlocksエラーを返します。また、Protocol.SendMessageContextとAllowPipelinedSendにより、コンテキスト対応のパイプライン送信を利用できます。 詳細を見る。 -
集約 Plutus スクリプト検証: 共有のトランザクション入力および Plutus スクリプト用ヘルパーが Conway と Dijkstra の検証で利用できるようになりました。ネイティブおよび非 Plutus の参照スクリプトは利用可能な Plutus スクリプトに含まれなくなり、Dijkstra のフォールバックでは解決済み入力を再利用して不要な検索を減らします。 詳細を見る。
互換性のない変更
Section titled “互換性のない変更”- 変更 Praos の深いフォーク選択: 深いフォークでは、設定された Genesis ウィンドウ内の整数ブロック数を比較し、正規の Genesis density-first 動作に従って選択するようになりました。浅いフォークでは通常の選択を継続します。
ChainTipインターフェースは density の代わりにBlocksInWindowを公開し、selector API はForkPointとブロック単位のロールバック値を使用します。ComputeGenesisWindowは切り上げ除算を使用し、不正な係数を検出します。ChainTipを提供する実装と selector API の呼び出し側は、アップグレード前に新しいフィールドとロールバック値へ移行する必要があります。 詳細を見る。
-
修正 Babbage の Plutus V1 inline datum 検証: トランザクションの用途が必要とするスクリプトに限って inline datum の制限を適用するようになりました。解決済みの消費入力、参照入力、生成出力を調べ、Plutus V4 の witness も含めます。入力解決エラーの重複報告も防ぎます。 詳細を見る。
-
許容 レガシー入力の重複: Shelley から Babbage までのタグなし入力セットでは、重複するメンバーをまとめつつ元の CBOR バイト列を保持するようになりました。タグ
258の Alonzo および Babbage フィールドでは引き続き重複を拒否し、明示的にタグ付けされたセットの検証を維持します。 詳細を見る。
メンテナンス
Section titled “メンテナンス”-
更新 CBOR デコード: ルートモジュールと 8 つのサンプルモジュールが
github.com/fxamacker/cbor/v2v2.9.3を使用するようになりました。特定の CBOR 値をtime.Timeにデコードする際に発生する可能性のあるパニックを緩和します。プロダクションコードは変更していません。 詳細を見る。 -
統一 Go フォーマット: フォーマットが
golangci-lintv2.13.0の要求するgofumptルールに一致するようになりました。実行時の動作に変更はありません。 詳細を見る。 -
刷新 サンプルのテスト依存関係:
examples/pingモジュールがgithub.com/stretchr/testifyv1.12.1とgo.yaml.in/yaml/v3v3.0.5を使用するようになりました。ソースと API の動作に変更はありません。 詳細を見る。 -
整合 protobuf 依存関係: ルートモジュールと 8 つのサンプルモジュールが
google.golang.org/protobufv1.36.12を使用するようになり、置換を使用するサンプルのビルドで依存関係が一貫して解決されます。API の動作に変更はありません。 詳細を見る。 -
更新 ルートのテスト依存関係: ルートモジュールが
github.com/stretchr/testifyv1.12.1と更新された間接 YAML および推移的依存関係を使用するようになりました。プロジェクト API に変更はありません。 詳細を見る。
Docs authored by Doc Holiday