プレリリースアップグレードノート
プレリリースバージョンを採用した場合、アップグレード前に下記の該当セクションをレビューしてください。v2 から移行する場合は メイン移行ガイド を参照。rc.3 → 3.0
rc.3 採用者にとって破壊的
Media buy status migration
pending_activation は 2 つの明確な条件をカバーする単一の状態でした。それは分割されました:
変更すべきこと:
- ステータスフィルター —
get_media_buysとget_media_buy_deliveryのstatus_filter配列で、pending_activationをpending_creativesとpending_startの両方に置き換え。 - ステータス比較 — 任意の
if (status === 'pending_activation')は、チェックしている条件で分岐する必要がある。「まだ配信していない」が欲しいならpending_creativesとpending_startの両方をチェック。「準備完了だがフライト日待ち」が欲しいならpending_startのみをチェック。 - ステートマシン遷移 —
rejectedは今やpending_creativesとpending_startの両方から有効(以前はpending_activationからのみ)。pending_creatives→pending_startは、クリエイティブがsync_creatives経由で割り当てられたときに起こる。 - レガシーエイリアス —
pendingは配信レスポンスステータスフィルターでpending_startのエイリアスとして受け入れられ続ける。
Capabilities model simplification
PR #2143 は冗長な boolean ケイパビリティフィールドを削除しました。オブジェクトの存在が今やサポートを示します — オブジェクトがあれば、ケイパビリティがあります。 削除されたフィールドと置き換え:
Before(rc.3):
preview_creative schema flattening
preview_creative リクエストは、oneOf 共用体から request_type 判別子を持つ単一オブジェクトにフラット化されます。3 つのモード:
Before(rc.3):
schemas/creative/preview-creative-request.json
Governance lifecycle migration
media_buy_id はガバナンススキーマから削除されます。governance_context は、sync_plans、check_governance、report_plan_outcome、get_plan_audit_logs にわたる唯一のライフサイクル相関子として機能する不透明な文字列です。
Before(rc.3):
schemas/governance/check-governance-request.json
context and ext fields
ガバナンス、コレクション、プロパティ、sponsored-intelligence、コンテンツ標準プロトコルにわたるすべてのリクエストとレスポンスのスキーマは、今やアプリケーションメタデータとプロトコル拡張のための任意のcontext と ext フィールドを含みます。
Additive changes in 3.0
- RFC 9421 リクエスト署名プロファイル(3.0 では任意、AdCP Verified の下では必須) — 正準化されたカバードコンポーネントリストを持つ Ed25519 HTTP Message Signatures。公開されたテストベクターは
static/compliance/source/test-vectors/request-signing/。ビット同一の正準入力のため sf-binary エンコーディングと URL 正準化がピン留め。keyidcap-before-crypto を持つ 15 ステップの検証チェックリスト。 - RFC 9421 に統一された Webhook 署名 — webhook を発するセラーにベースライン必須。セラーは
jwks_uriの JWKS に署名 JWK を公開。新しい署名者は webhook 配信にadcp_use: "request-signing"を使う一方、非推奨のwebhook-signingキーは互換性ウィンドウ中受け入れられたまま。webhook 専用の鍵素材が欲しい場合は異なるkidを使う。Security ガイド の 14 ステップの webhook 検証者チェックリスト。HMAC-SHA256 は 3.x を通じてレガシーフォールバックのまま(authenticationオブジェクト全体は 4.0 で削除)。 - すべての webhook ペイロードで必須の
idempotency_key— 5 つすべての webhook ペイロードスキーマにわたる送信者生成の UUID v4。脆弱な(task_id, status, timestamp)重複排除を置き換え。プロトコル全体の一貫性のためrevocation-notification.notification_idをidempotency_keyにリネーム。 - すべての spend-commit での
check_governance— ガバナンス呼び出しは、プラン承認時だけでなくコミット時に必須。部分的な支出がガバナンスをスキップできる抜け穴を閉じる。 - 実験的ステータスメカニズム — 本番使用中だがまだ完全な安定性保証下にないフィールドとタスクのための
status: experimentalマーカー。シグナルのcustom価格モデルエスケープハッチ。 create_media_buyのsubmittedブランチ — セラーは処理のためにペイロードを受け入れたがまだオーダーを確認していない。pending_creativesとpending_startとは別。- 時間セマンティクス +
activate_signal冪等性 — プロトコルをまたいで時間フィールドセマンティクスを統一。activate_signalを必須冪等性テーブルに追加。 - 既知の制限 + プライバシー考慮事項のリファレンスページ — 新しい
/docs/reference/known-limitationsと/docs/reference/privacy-considerations。プラットフォーム非依存リントがベンダー固有の言語が仕様に忍び込むのを防ぐ。 - 署名付き JWS
governance_context— ガバナンス決定は今や暗号学的に検証可能。セラーはsync_governance経由でガバナンスエージェントの JWKS を解決し、決定を尊重する前にsub/aud/phase/expを検証する。 - ユニバーサルセキュリティストーリーボード — すべてのエージェントが
/compliance/{version}/universal/security.yamlを実行(未認証拒否、API キー、OAuth/RFC 9728、オーディエンスバインド)。署名を宣言するエージェントはsigned_requestsハーネスも実行。 - クロスインスタンス状態永続性 — アーキテクチャ仕様が、水平スケールされたインスタンスをまたいだ永続状態(タスク、メディアバイ、プラン、署名付きアーティファクト、冪等性キー)を要求。
- セキュリティ実装ガイド — 新しい
docs/building/by-layer/L1/security.mdxが脅威モデル、3 プリンシパルモデル(brand / operator / agent)、検証パスを文書化。曖昧な「principal」用語を廃止。 - スキーマ不変条件としての GDPR 第 22 条 / EU AI Act Annex III — 新しいレジストリポリシー
eu_ai_act_annex_iii。ポリシーとカテゴリーのrequires_human_review。規制されたバーティカルのhuman_review_required: trueのスキーマレベル強制。 - エージェントの運用ガイド — エンジニアリングチームを持たないパブリッシャーのための新しいドキュメント — 3 つのパス: パートナー、セルフホスト、ビルド。
- リリースケイデンスポリシー — 名前付きケイデンス: パッチ月次、マイナー四半期、必要ならメジャー年次。v2 EOL 2026 年 8 月 1 日。
- CHARTER.md — 正式なガバナンス憲章を公開。
- コレクションリスト — クロスパブリッシャーマッチングに配信識別子(IMDb、Gracenote、EIDR)を使うプログラムレベルのブランドセーフティ。新しいターゲティングオーバーレイフィールド(
collection_list、collection_list_exclude)。新しいジャンルタクソノミー enum。 - 放送 TV サポート — Ad-ID 識別子、放送スポットフォーマット(:15、:30、:60)、Agency Estimate Number、測定ウィンドウ(Live、C3、C7)、配信データの完全性(
is_final、measurement_window)。 - オフラインレポート配信 — ケイパビリティの
reporting_delivery_methods、アカウントのreporting_bucket、プロダクトreporting_capabilitiesのsupports_offline_delivery。Avro と ORC をファイルフォーマットオプションとして追加。 - TMPX エクスポージャートラッキング — Trusted Match Protocol 実行層のための国分割アイデンティティとマクロ接続。
- TMP プロバイダー登録 —
provider-registration.jsonスキーマ、GET /healthエンドポイント、デュアルディスカバリーモデル(静的設定と動的 API)、プロバイダーごとのレイテンシー予算セマンティクス。 - TMP マルチアイデンティティ Identity Match —
identity-match-requestが単一のuser_token+uid_typeをidentities配列(minItems 1、maxItems 3)に置き換え。ルーターはプロバイダーごとにフィルターし RFC 8785 JCS 正準化で再署名。キャッシュキーはconsent_hashを追加。uid-typeenum にrampid_derivedを追加。以前のプレリリース TMP ドラフトに対してのみ破壊的。TMP は 3.0 でプレリリースのままで 3.1.0 で安定化。 - GOVERNANCE_DENIED エラー — ガバナンス拒否された操作のための新しい correctable エラーコード。
- context/ext フィールド — ガバナンス、コレクション、プロパティ、SI、コンテンツ標準プロトコルにわたるすべてのリクエスト/レスポンススキーマで任意の
contextとext。 - コンプライアンステストケイパビリティ — エージェントは、サポートする
comply_test_controllerシナリオを宣言するcompliance_testing: { scenarios: [...] }ブロックをget_adcp_capabilitiesに含める。ブロックの存在がシグナル — コンプライアンステストはsupported_protocolsの値では ない。ストーリーボードランナーは、決定的テストステップが検証できるかを判断するためにこのブロックを使う。 - 専門分野 + コンプライアンスカタログ — ストーリーボードは
/compliance/{version}/(universal + protocols + specialisms + test-kits)でプロトコルに出荷。6 プロトコルにわたる 19 値の新しいspecialismsフィールドをget_adcp_capabilitiesに追加。/protocol/{version}.tgzのバージョンごとのプロトコル tarball。Compliance Catalog を参照。 - 構造化された測定条件 — 課金ベンダー、IVT しきい値、ビューアビリティフロアの交渉のためのプロダクトとメディアバイの
measurement_terms。保証プロダクトのcancellation_policy。viewability-standardenum。TERMS_REJECTEDエラーコード。 - 統一されたベンダー価格 —
list_creatives、build_creative、get_creative_features、property-listのpricing_options[]。共有のvendor-pricing-option.jsonスキーマ。 - リクエストごとのバージョン宣言 — すべての v3 リクエストスキーマの
adcp_major_version。VERSION_UNSUPPORTEDエラーコード。v2 クライアントをサポートするマルチバージョンセラーは、このフィールドではなく構造的な手がかりで v2 ペイロードを検出しなければならない(v2 スキーマにはそれがない)。 - 放送予測スキーマ —
DeliveryForecastのmeasurement_source、packages、guaranteed_impressions。新しいforecast-range-unitとforecastable-metricenum。 - 放送局識別子 —
station_idとfacility_id識別子タイプ。linear_tvプロパティタイプ。 - ブランドスキーマ拡張 —
brand.jsonの汎用agents配列。ビジュアルトークン(border_radius、elevation、spacing、拡張カラーロール)。構造化フォント定義。 - アイテムごとのエラースキーマ —
sync_creatives、sync_catalogs、sync_event_sourcesのレスポンスエラーは今やerror.jsonref を使う。 - プロパティ関係フィールド —
adagents.json委譲タイプとの双方向検証のための brand.json プロパティ定義のrelationship(owned、direct、delegated、ad_network)。 salesエージェントタイプの復活 —salesがbrand-agent-typeenum に復活。セールスエージェント(SSP、パブリッシャー)は購買エージェント(DSP、バイヤープラットフォーム)とは別。- 必須タスクリファレンス — エージェントロールごとにすべての AdCP プロトコルにわたる必須、条件付き、任意タスクを統合する新しいリファレンスページ。
- ストーリーボード検証の修正 — 11 のストーリーボードファイルにわたる 20 以上の検証バグを修正: フィールドパスを訂正(
creatives[0].action、media_buy_deliveries、renders[0].preview_url)、field_valueチェックに欠けていたvalue:を追加、ストーリーボード検証スキーマにvalueプロパティを追加。
rc.1 → rc.2
rc.1 採用者にとって潜在的に破壊的
Additive changes in rc.2
- クリエイティブ生成とプレビュー —
build_creativeがinclude_preview、preview_inputs、preview_quality、preview_output_format、quality、item_limit、マルチフォーマットtarget_format_idsを追加。バイヤーは今やインラインでプレビューし、ドラフト対本番生成を選び、1 回の呼び出しで複数の出力フォーマットをリクエストできる。 - クリエイティブライブラリ取得 —
build_creativeはcreative_id、任意のconcept_id、media_buy_id、package_id、macro_valuesを使ったライブラリ取得もサポートし、アドサーバーとクリエイティブプラットフォームが保存されたクリエイティブを配信可能なマニフェストに解決できる。 - クリエイティブケイパビリティディスカバリー — クリエイティブエージェントは
supports_generation、supports_transformation、has_creative_libraryを宣言できる。list_creativesは今やinclude_snapshot、has_served、itemsのようなライブラリ指向のフィールドを使う。 - プロダクトディスカバリーとプランニング —
get_productsがexclusivity、preferred_delivery_types、time_budgetを追加、レスポンスにincomplete。プロダクトはdelivery_measurementを省略でき、パッケージは今やパッケージごとのstart_time/end_timeを運べる。 - コンプライアンスとガバナンス — クリエイティブ開示が永続性セマンティクスを追加、キャンペーンガバナンスが
sync_plans、check_governance、report_plan_outcome、get_plan_audit_logsを導入。 - アカウントとサンドボックスの人間工学 —
sync_accountsがpayment_termsを追加、サンドボックスが今やバイヤー宣言アカウント参照の自然アカウントキーに参加。
ヘルプが必要ですか?
- コミュニティ: Slack — 他の実装者への手早い質問に最適
- Issues: GitHub Issues — バグ、仕様の質問、移行のエッジケース
- 完全な v2 → v3 移行: 移行ガイド