Releases: adcontextprotocol/adcp
AdCP v3.0.0-beta.3
AdCP 3.0.0-beta.3
Major Changes
- Brand Manifest: Structured tone guidelines (
voice,attributes,dos,donts) and structured logo fields (orientation,background,variant,usage) - Cursor-based pagination: Standardized across all list operations with shared
pagination-request/pagination-responseschemas
Minor Changes
- Account scoping for delivery and artifacts queries (
account_idparam) sync_accountstask,authorized_operators, and account capabilities- Channel fields on property and product schemas
- CPA pricing model for outcome-based campaigns
- Conversion tracking with
log_eventandsync_event_sources - TIME pricing model for sponsorship-based advertising
- Attribution window metadata in delivery responses
- Brand Protocol for discovery and identity resolution
- Commerce attribution metrics (
new_to_brand_rate,roas) - Creative delivery reporting with variant-level data
- Delivery forecasting with budget curves and daypart targeting
- Deprecate FormatCategory enum;
typefield now optional on Format reported_metricson creative formats- Geographic exclusion targeting fields
preview_creativetop-levelformat_idnow optionalproduct_selectorsfor commerce product discovery- Signal Catalog for data providers
- Functional restriction overlays (age, device platform, language)
- Typed asset requirements schemas for all creative format asset types
- Universal macro enum with 54 standard macros
Patch Changes
- Replace real brand examples with fictional names (Acme Corp, Pinnacle Media, Nova Brands)
See PR #961 for full details.
AdCP v3.0.0-beta.1
AdCP 3.0.0-beta.1
This is the first beta release of AdCP 3.0, introducing major protocol enhancements for governance, capability discovery, and media channel taxonomy.
🚀 Highlights
- Media Channel Taxonomy - New standardized channel definitions replacing the previous enum
- Content Standards Protocol - Brand safety and suitability evaluation framework
- Property Governance Protocol - Feature-based property filtering for compliance
- Unified Capability Discovery -
get_adcp_capabilitiestask for cross-protocol discovery - Pricing Option Improvements - Better separation of hard constraints vs soft hints
Breaking Changes
Media Channel Taxonomy
Replaces channel enum values with 19 planning-oriented media channels:
display,olv,social,search,ctv,linear_tv,radio,streaming_audio,podcast,dooh,ooh,print,cinema,email,gaming,retail_media,influencer,affiliate,product_placement
Pricing Options
fixed_rate→fixed_priceprice_guidance.floor→ top-levelfloor_price- Removed
is_fixeddiscriminator
Creative Management
creative_ids→creative_assignmentswith optional weight/placement control
Product Filters
required_featureschanged from string array to object with boolean properties
New Features
Content Standards Protocol
list_content_standards,get_content_standards,create_content_standardscalibrate_content- Collaborative dialogue for policy alignmentvalidate_content_delivery- Batch validate delivery records
Property Governance
- Property list management (
create_property_list,update_property_list, etc.) - Feature-based filtering and validation
Capability Discovery
get_adcp_capabilities- Protocol-level task for cross-protocol discovery- Structured geo targeting with named systems (nielsen_dma, us_zip, etc.)
- Governance capability declarations
Resources
- Schemas: https://adcontextprotocol.org/schemas/v3/
- Documentation: https://docs.adcontextprotocol.org
- Migration Guide: https://docs.adcontextprotocol.org/docs/reference/migrating-to-v3
For full changelog details, see CHANGELOG.md
v2.5.1
v2.5.0
See full release notes at https://github.com/adcontextprotocol/adcp/blob/main/CHANGELOG.md#250
Highlights
- Discriminated Union Types: Improved TypeScript code generation with explicit discriminator fields
- Extension Fields: and fields for custom data across protocol
- Atomic Response Semantics: Success XOR error pattern for safer operations
- Batch Preview Support: Preview 1-50 creatives in one API call
- Full Package Objects: Consistent responses from create/update operations
Full details in CHANGELOG.md
v2.1.0 - Asset Schema Simplification
AdCP v2.1.0 - Asset Schema Simplification
Major architectural improvements that eliminate schema duplication and clarify the separation between asset payloads and format requirements.
🎯 Key Changes
Removed asset_type from Creative Manifest Wire Format
- Asset payloads no longer include redundant type information
- Asset types determined by format specification via
asset_idlookup - Validation is now format-aware
Deleted Duplicate Asset Type Schemas
- Removed 11 duplicate schema files (
/creative/asset-types/*.json) - Eliminated 1,797 lines of duplicate code
- Registry now references
/core/assets/schemas directly - Single source of truth for each asset type
Cleaned Up Core Asset Schemas
- Removed constraint fields that belong in format specifications:
vast-asset.json: Removedmax_wrapper_depthtext-asset.json: Removedmax_lengthwebhook-asset.json: Removedfallback_required
📖 Migration Guide
Schema References
- const schema = await fetch('/schemas/v1/creative/asset-types/image.json')
+ const schema = await fetch('/schemas/v1/core/assets/image-asset.json')Creative Manifest Structure
{
"assets": {
"banner_image": {
- "asset_type": "image",
"url": "https://cdn.example.com/banner.jpg",
"width": 300,
"height": 250
}
}
}Validation Approach
Old: Standalone asset validation
validate(assetPayload, imageAssetSchema)New: Format-aware validation
const format = await fetchFormat(manifest.format_id)
const assetRequirement = format.assets_required.find(a => a.asset_id === assetId)
const assetSchema = await fetchAssetSchema(assetRequirement.asset_type)
validate(assetPayload, assetSchema)🏗️ Architecture
Clear Separation of Concerns:
- Core asset schemas (
/core/assets/) = Payload structure (what you send) - Format specifications = All constraints and requirements
Validation Flow:
- Extract
format_idfrom manifest - Fetch format specification
- For each asset, look up
asset_idin format'sassets_required - Validate asset payload against the type defined in format
- Validate constraints from format's
requirementsfield
✨ Benefits
✅ Single source of truth for each asset type
✅ Eliminated 1,797 lines of duplicate code
✅ Clear separation between payload and requirements
✅ Format-aware validation is more accurate
✅ Simpler maintenance and evolution
✅ No more confusion about which schema to reference
📦 What's Included
- Comprehensive migration guide in CHANGELOG.md
- Updated documentation with validation flow examples
- All tests passing with new architecture
- Backward compatibility guidance
🔗 Resources
👥 Contributors
- @brianokelley
- Claude Code AI Assistant
Note: While this release includes breaking changes to schema structure, we're releasing as v2.1.0 (minor version) rather than v3.0.0 to maintain continuity during early protocol adoption.
AdCP v2.0.0 - Production Release
🎉 AdCP v2.0.0 - Production Release
This is the first production-ready release of the Advertising Context Protocol (AdCP), marking it as stable and ready for real-world implementation.
Highlights
🚀 Complete Protocol Suite
- 9 Media Buy Tasks for full campaign lifecycle management
- 3 Creative Tasks with AI-powered generation
- 2 Signals Tasks for first-party data integration
- Standard Formats Library with industry-standard creative formats
🏠 Enhanced Homepage
- Prominent v2.0.0 release banner
- Comprehensive Key Features section showcasing all capabilities
- Professional design with interactive elements
⚙️ Version Management Infrastructure
- Changesets for automated version management
- Simplified version sync (only 2 files to update!)
- Complete release workflow documentation
What's Included
Media Buy Protocol
get_products- Discover advertising inventory with natural languagecreate_media_buy- Launch campaigns across platformssync_creatives- Synchronize creative assetslist_creatives- Query creative libraryupdate_media_buy- Update campaign settingsget_media_buy_delivery- Real-time performance metricslist_authorized_properties- Discover authorized propertiesprovide_performance_feedback- Share performance outcomeslist_creative_formats- Discover supported formats
Creative Protocol
build_creative- AI-powered creative generation from briefspreview_creative- Generate visual previewslist_creative_formats- Full format specifications
Signals Protocol
get_signals- Discover available first-party signalsactivate_signal- Activate signals for campaigns
Protocol Infrastructure
- MCP (Model Context Protocol) support
- A2A (Agent-to-Agent) protocol support
- Async workflows with webhooks
- Human-in-the-loop approval system
- Comprehensive JSON Schema validation
Technical Details
- Schema Version: 2.0.0
- Standard Formats Version: 1.0.0
- Protocol Support: MCP, A2A
- Node Version: >=18.0
Documentation
Complete documentation is available at https://adcontextprotocol.org including:
- Protocol specification
- Task reference guides
- Integration guides for MCP and A2A
- Standard formats documentation
- Error handling documentation
Version Management
AdCP uses Changesets for version management. See RELEASING.md for the complete release workflow.
What's Next
Future releases will follow semantic versioning:
- Patch versions (2.0.x): Bug fixes and clarifications
- Minor versions (2.x.0): New features (backward compatible)
- Major versions (x.0.0): Breaking changes
Ready to build with AdCP? Start at https://adcontextprotocol.org/docs/intro