Skip to content

Releases: adcontextprotocol/adcp

v2.5.1

24 Dec 12:57
9ba8c55

Choose a tag to compare

What's Changed

  • Fix allOf + additionalProperties validation and add oneOf titles (#334)
  • Remove defaults and example URLs from adagents.json (#335)
  • Fix schema versioning to preserve released versions (#337)

See CHANGELOG.md for full details.

v2.5.0

22 Nov 21:46
993ee3c

Choose a tag to compare

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

19 Oct 14:00

Choose a tag to compare

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_id lookup
  • 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: Removed max_wrapper_depth
    • text-asset.json: Removed max_length
    • webhook-asset.json: Removed fallback_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:

  1. Extract format_id from manifest
  2. Fetch format specification
  3. For each asset, look up asset_id in format's assets_required
  4. Validate asset payload against the type defined in format
  5. Validate constraints from format's requirements field

✨ 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


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

15 Oct 14:42
78e8a85

Choose a tag to compare

🎉 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 language
  • create_media_buy - Launch campaigns across platforms
  • sync_creatives - Synchronize creative assets
  • list_creatives - Query creative library
  • update_media_buy - Update campaign settings
  • get_media_buy_delivery - Real-time performance metrics
  • list_authorized_properties - Discover authorized properties
  • provide_performance_feedback - Share performance outcomes
  • list_creative_formats - Discover supported formats

Creative Protocol

  • build_creative - AI-powered creative generation from briefs
  • preview_creative - Generate visual previews
  • list_creative_formats - Full format specifications

Signals Protocol

  • get_signals - Discover available first-party signals
  • activate_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