リリースノート - v0.45.0
v0.45.0
Section titled “v0.45.0”タイトル: ヘッドレス通知、トレイ更新、運用性の改善
バージョン: v0.45.0
比較: v0.44.0…v0.45.0
このリリースには、ヘッドレス通知連携、自動トレイ更新チェック、より明確な設定とフィルタリングの動作、標準化されたイベント名、拡充されたアーキテクチャとガバナンスのドキュメント、より安全な可観測性、信頼性の高いリリース配信が含まれます。
✨ ハイライト
Section titled “✨ ハイライト”-
追加 ヘッドレス通知の出力と検証: Adder は
notify-jsonを通じて、バージョン付き NDJSON のステータスレコードと通知レコードを出力します。adder notifications validateコマンドは、厳密なバージョン付き通知設定と chainsync と設定の整合性を検証し、UI に依存しない通知ディスパッチはガバナンス投票の詳細をより具体的に示します。 -
改善 トレイ更新の管理: Adder は GitHub のリリースを毎週確認し、スキップしたバージョンと更新設定を記憶し、macOS と Windows のインストーラーのチェックサムを検証し、サポート対象外のプラットフォームではリリースページへのリンクを表示します。トレイには正しいアイコンと About の詳細も表示され、WebSocket のレスポンスを整理し、macOS サービスの有効化を改善します。
-
明確化 設定の優先順位と永続保存: 設定の優先順位は CLI の値、YAML の値、環境変数、デフォルト値の順です。明示的な CLI フラグが常に優先され、アトミックな保存が同時書き込み中も設定を保護します。
-
拡張 フィルターとイベントのライフサイクル処理: Adder は CLI から包括的なイベント種別フィルタリングを利用できるようにし、フィルターのライフサイクルをより安全に管理し、競合を想定したテストと、より安全な goroutine のセットアップを使用します。
-
精緻化 Cardano イベントの照合: 専用の照合ロジックが stake credential のない場合を安全に処理し、SPO の投票手続きを通じてプールを照合します。
-
有効化 独立したチェーンロールバック通知:
Chain rollbacks設定とウィザードのチェックボックスで、Blocks minted通知とは別にロールバック通知を制御できるようになりました。 -
文書化 アプリケーションアーキテクチャ: 新しいアーキテクチャガイドでは、パイプラインとプラグインモデル、設定の優先順位、並行処理、シャットダウンの動作、adder-tray 連携について説明します。
-
導入 複数ターゲットのトレイ監視: Adder は Wallet、DRep、Pool、Asset、Policy ターゲットを、レート制限、バッチ処理、接続アラート、UI に依存しないディスパッチ、更新されたウィザード設定によって監視します。
engine.yamlのfilter.cardano設定と従来のTemplateおよびParamの値は通知の照合に使用されなくなったため、照合ルールをトレイのターゲット設定へ移行する必要があります。 -
追加 署名済み macOS パッケージのインストール: Adder は CLI とトレイ向けに、署名および notarization 済みの
.pkgインストーラーを生成します。ネイティブなarm64とamd64パッケージ、インストールスクリプト、Gatekeeper 検証、Makefile ターゲットも利用でき、ローカルビルドではオプションの ad-hoc 署名も引き続き利用できます。 -
拡充 webhook と配信のテストカバレッジ: テストは webhook の配信、シリアライズ、失敗、ライフサイクル、Discord のフォーマット、CLI ファクトリ、sink の動作をカバーします。
-
強化 webhook の信頼性: webhook 出力は不正なイベントペイロード型とコンテキスト型をエラーとして報告し、panic を発生させません。Adder は起動、シャットダウン、チャネルのライフサイクルを安全に連携させ、シャットダウン中は再試行の待機を中断します。
-
導入 トレイのアクセスと起動の制御: トレイの About ダイアログにバージョンと commit のメタデータを表示し、Step 4 で自動起動の制御と状態を確認できます。macOS Login Items も同期され、バンドルメタデータに
VERSIONとCOMMIT_HASHを含め、データを任意で削除できるアンインストールスクリプトを提供します。 -
整備 トラブルシューティングガイド: 新しいガイドは、環境設定、FCM 配信、webhook 動作について、サポート対象の運用確認に焦点を当てます。
-
拡張 マルチアーキテクチャ公開: リリースワークフローは
docker buildx imagetoolsで Docker マニフェストを公開し、認証情報の保持を制限し、実行環境をより安全に管理し、setup-goのキャッシュを無効化し、MSYS2 を固定し、リリースの最終処理を改善します。
⚠️ イベント互換性
Section titled “⚠️ イベント互換性”-
標準化 公開イベント名: DRep の登録、更新、退役イベントは
input.drep-registration、input.drep-update、input.drep-retirementを使用します。以前のchainsync.drep.*名に一致するフィルターを使用するコンシューマーは、フィルターを更新する必要があります。 -
拡張 Telegram Bot API 10.2 互換性: Telegram 連携に Bot API 10.2 のモデルとマーシャリングの修正が含まれます。
-
更新 Telegram の再試行処理: Telegram 連携は HTTP 429 応答の
retry_afterを尊重し、Bot API 10.3 のモデルを含みます。 -
強化 Telegram のリッチメッセージアップロード: ボットクライアントがリッチメッセージの添付ファイルとサムネイルのアップロードを処理し、typed nil 値と重複する
attach://名を早期に拒否し、JSON を正しくエスケープします。 -
改善 Telegram の HTTP/2 回復性: multipart リクエストを HTTP/2
GOAWAY後の再試行用にバッファーし、空の multipart ボディを抑制し、未知の update バリアントを処理します。multipart のバッファーにより、アップロード中のメモリ使用量が増える場合があります。 -
強化 gouroboros v0.204.1 の互換性: メタデータのデコードと深さの処理、シャットダウン動作、プロトコル検証の信頼性が向上しました。DRep deposit の動作が変わり、
localstatequeryインターフェースが強い型付けになったため、これらを使用する連携は更新が必要です。 -
精緻化 gouroboros v0.202.8 の検証: ledger と Shelley stake pool の検証が、サポート対象のプロトコルデータをより正確に処理します。
-
厳格化 gouroboros v0.202.2 の処理: ledger と header のチェック、trust anchor の処理、不正な transaction submit の処理に、より強固な保護を追加します。
-
拡張 gouroboros v0.192.2 の検証: より厳格なデコードと検証、KES 処理、DMQ、ガバナンス、報酬、
MultiAsset、mint の検証によって、プロトコル互換性を改善します。 -
追加 gouroboros v0.189.4 のクエリ互換性: stake address の local state query が、Leios、Conway、
GetCBORの更新されたサポートで動作します。 -
修正 gouroboros v0.186.3 の ledger デコード: 重複した ledger エントリによってデコードが中断されなくなりました。
-
改善 gouroboros v0.186.1 のプロトコル処理: OpCert、Dijkstra redeemer、cost model の処理が修正された動作を使用します。
-
強化 運用上の可観測性: 構造化フィールドとコンポーネント単位のロガーが、起動、chainsync、push、Telegram、webhook の出力を解釈しやすくします。Adder は機密性の高い FCM トークンを秘匿し、webhook の URL とペイロードをサニタイズします。
-
更新 システム互換性ライブラリ: Adder は
golang.org/x/sysv0.46.0 を使用します。 -
改良 lint の自動化:
golangci-lintアクションは v9.3.0 を使用するようになりました。 -
安定化 タグ付きリリースの配信: macOS ランナーを固定し、一部のジョブが失敗しても他のジョブを継続するマトリックスビルドを採用し、macOS のパッケージングと署名を分離し、部分的なビルド失敗後に最終処理を実行することで、タグ付きリリースの信頼性を高めます。
-
保護 コンテナの公開: Docker Hub と GitHub Container Registry への公開で、Docker ログインアクションは v4.5.1 を使用します。
-
整備 コントリビューター向けドキュメントの指針:
AGENTS.mdで、意味のあるインラインコメントと、エクスポートされた識別子に対する正確なドキュメントコメントの書き方を説明します。 -
整合 Cardano 相互運用性: Adder はデコードと相互運用性の修正を含む
github.com/blinklabs-io/gouroborosv0.187.3 を使用するようになりました。 -
強化 リリース成果物の証明: 証明アクションは、リリース成果物とコンテナの証明に v4.2.1 を使用するようになりました。
-
更新 プロトコルシリアライズのサポート: Adder は
google.golang.org/protobufv1.36.12 を使用するようになりました。 -
統合 Cardano プロトコルの改善: Adder は
gouroborosv0.193.0 とplutigov0.3.0 を使用し、Byron 委任署名の検証、validity interval の保持、GetAccountStateのサポート、Leios から Dijkstra への統合パスを追加します。 -
追加 Plutus の検証保護:
plutigov0.6.1 にNormalize、上限付き JSON 構文木、BLS MSM 検証、評価器エラーの保持、コストモデルの分離が含まれます。 -
修正 Plutus の数値処理:
plutigov0.5.1 が bignum magnitude のチャンク分割を修正します。 -
強化 不正な入力の処理:
plutigov0.1.16 とx/cryptov0.53.0 が、不正な入力の処理と評価性能を改善します。 -
厳格化 画像の検証:
golang.org/x/imagev0.43.0 が TIFF、WebP、BMP、SFNT データにより厳格な検証を適用します。 -
拡張 Cardano アカウント状態のサポート:
gouroborosv0.183.0 が検証の正確性を改善し、古い Leios 時代のEnableLeiosEra統合を削除して Dijkstra に移行します。 -
更新 Cardano テストユーティリティ: Adder は
ouroboros-mockv0.19.0 を使用します。 -
明確化 カスタム logger の動作: logger のコンテキストが一貫して伝播し、注入可能な writer によって出力をより細かく制御できます。テストでは JSON 出力とログレベルのフィルタリングをカバーします。
-
導入 Plutus ライブラリの互換性: Adder は
plutigov0.5.0 を使用します。 -
刷新 image と関連するシステムライブラリ: Adder は
golang.org/x/imagev0.45.0 と、関連するgolang.org/x/*の更新を使用します。 -
最新化 システムライブラリのサポート: Adder は
golang.org/x/sysv0.47.0 を使用します。 -
改訂 image とシステムの依存関係: Adder は
golang.org/x/imagev0.46.0、golang.org/x/sysv0.48.0、および関連するgolang.org/x/*の更新を使用します。 -
調整 FreeBSD 成果物: FreeBSD の公開成果物に
adder-trayが含まれなくなりました。
🧪 テスト、CI、ドキュメント、リリースツール
Section titled “🧪 テスト、CI、ドキュメント、リリースツール”-
最新化 Java ワークフローのセットアップ: Java ワークフローのアクションは
actions/setup-javav5.3.0 を使用するようになりました。 -
更新 テストと YAML ライブラリ: Adder は testify v1.12.1 と間接依存の yaml.v3 v3.0.5 を使用するようになりました。
-
整理 プラグインオプションの解析: カンマ区切りのプラグインオプションでは前後の空白を無視するようになり、Cardano、イベント、chainsync のパーサーは YAML 形式のリストとインターセクトポイントをより一貫して処理し、Go ディレクティブはバージョン
1.26.0を対象にします。 -
拡充 ガバナンスのドキュメント:
docs/governance.mdでガバナンスイベントを説明し、README のスキーマと例を実行時に出力される構造に合わせました。 -
改善 Go ワークフローのセットアップ: Go ワークフローは
actions/setup-gov7.0.0 を使用するようになりました。 -
精緻化 テスト依存関係の整理: Adder は testify v1.12.0 を使用し、不要になったテスト依存関係を削除します。
-
強化 成果物の証明ワークフロー: リリースワークフローは
actions/attestv4.2.2 を使用するようになりました。 -
更新 リポジトリチェックアウトのワークフロー: CI とリリースのワークフローは
actions/checkoutv7.0.0 を使用するようになりました。 -
最新化 Windows タグ署名: 署名ワークフローは Java 17 の代わりに Temurin Java 21 をプロビジョニングします。
-
改良 Windows の署名と MSI の Java セットアップ: Windows の署名と MSI ワークフローは
actions/setup-javav5.6.0 を使用します。 -
維持 test-msi ワークフローの Java 21: test-msi ワークフローは
actions/setup-javav6.0.0 を使用し、Java 21 を継続して使用します。 -
改善 Docker イメージメタデータ: Docker の CI と公開ワークフローは
docker/metadata-actionv6.2.0 を使用します。 -
拡張 Docker ビルドのサポート: Docker ワークフローは
docker/setup-buildx-actionv4.2.0 を使用します。 -
強化 MSI 成果物の公開: ワークフローは
actions/upload-artifactv7.0.1 を使用します。MSI ワークフローには、セルフホスト型 Actions Runner バージョン 2.327.1 以降が必要です。 -
追加 Dingo プレビュー検証リソース: Dingo v0.70.9 のプレビューリソースに、N2C UNIX-socket 検証アセット、設定、Docker Compose 対応、macOS Apple およびコンテナ用スクリプト、ドキュメントが含まれます。
-
拡充 API ルーティングのテストカバレッジ: テストが API ルートと hijacker の動作をカバーします。
-
更新 Go ワークフローのセットアップ: 該当する自動化で、Go ワークフローが
actions/setup-gov6.5.0 を使用します。 -
改訂 Docker レジストリ認証: Docker ワークフローが
docker/login-actionv4.4.0 を使用します。 -
更新 リポジトリチェックアウトの自動化: CI とリリースのワークフローが
actions/checkoutv7.0.1 を使用します。 -
保護 成果物の証明: リリース成果物とコンテナの証明ワークフローが
actions/attestv4.2.0 を使用します。 -
刷新 Windows の署名と MSI ワークフロー: これらのワークフローが
actions/setup-javav5.7.0 を使用します。 -
調整 Windows 署名のセットアップ: Windows の署名ワークフローが
actions/setup-javav5.4.0 を使用します。 -
強化 テスト MSI の checkout セキュリティ:
test-msiワークフローが checkout の認証情報を保持しなくなりました。 -
拡張 Docker ビルドツール: Docker ワークフローが
docker/setup-buildx-actionv4.3.0 を使用します。 -
維持 テスト MSI ビルドの Java 21:
test-msiワークフローがactions/setup-javav6.0.1 を使用し、Java 21 を継続します。
🔄 最終バッチの更新
Section titled “🔄 最終バッチの更新”-
提供 署名済み Windows MSI インストール: x64 と arm64 の MSI パッケージに CLI とトレイが含まれ、スタートメニューとプログラムの追加と削除に統合され、Scheduled Task は登録されません。テストワークフローでは署名を任意で使用でき、トレイのログ、単一インスタンス動作、
/events?replay=の処理、通知と explorer link の動作も改善します。 -
構成 トレイ通知ルール: アプリ内エディターで Wallet、DRep、Pool、Asset、Policy のターゲット、カテゴリ設定、即時 hot reload、永続化された設定、重複検証、soft-error の再試行を編集できます。
-
強化 gouroboros v0.190.0 の検証: Byron body-proof の検証を強化し、未知の chainsync または consensus 入力に対して、黙って受け入れる代わりにエラーを返します。
-
拡充 フィルターとガバナンスのガイダンス: README にフィルターとガバナンスの例を追加し、フィルターフラグと環境変数および設定の対応を示し、ガバナンスフィルタリングについて説明します。
-
追加 組み込みライブラリ例: publisher、pool filter、address filter の例で、
CARDANO_NODE_SOCKET_PATHとCARDANO_NODE_MAGICの使用方法を示します。 -
向上 FCM 通知配信: push worker のライフサイクル管理を改善し、FCM エラーを伝播し、サービスアカウントのパスと
project_idを必須にし、FCM のタイムアウトを 10 秒に設定し、不正なイベントを安全に処理します。 -
改善 Cardano フィルターテストのカバレッジ: フィルターテストがより実際に近い
ouroboros-mockの fixture builder を使用し、bech32 バリアントとヘッダー除去を含む CIP-0129 のdrepおよびdrep_script正規化を検証します。CI のシステム依存関係と該当する lint/NilAway ワークフローでCGO_ENABLED=1を有効にします。 -
精緻化 パイプラインとフィルターの連携: 統合テストがプラグインオプションのライフサイクルとエラー伝播をカバーし、パイプライン設定の失敗を検出しやすくします。
-
更新 Cardano のテストとプロトコルライブラリ: Adder が
ouroboros-mockv0.18.0 と、関連するgouroborosおよびplutigoの更新を使用します。 -
刷新 デスクトップトレイのサポート: Adder が
fyne.io/fyne/v2v2.8.1 と更新された systray コンポーネントを使用します。 -
拡張 Telegram bot のサポート: Adder が
go-telegram/botv1.22.0 を使用します。 -
削除 プロジェクト終了日の自動更新: 項目を閉じても、GitHub Projects の Closed Date フィールドを自動入力しなくなりました。
-
改訂 画像処理ライブラリ: Adder が
golang.org/x/imagev0.44.0 と関連するx/*の更新を使用します。 -
保護 リリース成果物の証明: 公開ワークフローが
actions/attestv4.1.1 を使用します。 -
更新 ChainSync テストハーネスのサポート: Adder は
ouroboros-mockv0.16.0 に更新し、テストとユーティリティでハーネスのテスト対象サーバー接続を利用できるようにします。 -
最新化 Windows 署名ワークフロー: Windows の署名と MSI ワークフローが
actions/setup-javav5.5.0 を使用し、Java 21 を継続します。 -
改良 コンテナレジストリ認証: Docker ワークフローが
docker/login-actionv4.6.0 を使用します。 -
刷新 Docker ビルドイメージ: コンテナビルドが
blinklabs-io/goイメージ1.26.7-1を使用します。 -
改善 Docker イメージ公開: Docker ワークフローが
docker/build-push-actionv7.3.0 を使用します。
Docs authored by Doc Holiday