Skip to content

Latest commit

 

History

History
169 lines (138 loc) · 7.28 KB

File metadata and controls

169 lines (138 loc) · 7.28 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[2.3.0] - 2026-05-30

Added

  • client.generated.<module> registry — lazy access to all 78 OpenAPI-generated client modules (client.generated.marketing_stream.create_stream_subscription, etc.)
  • scripts/audit_coverage.py — verifies every active spec module has a generated client and registry entry
  • Unified Ads API GA (unified_ga) — codegen enabled for AmazonAdsAPIALLMerged_prod_3p.json (+50 operations)

Changed

  • Refreshed 14 official Amazon OpenAPI specs from CDN (billing, guidance, recommendations, unified GA, ads data manager, and others)
  • Full regeneration: 699 deduplicated API operations (723 raw across 78 specs), 5978 model classes, 78 client modules
  • billing_legacy, dsp_advertiser, validation_configs specs kept in repo for reference but generate: false — paths covered by billing, dsp_*, and data_provider after conflict resolution
  • reference.stream.subscriptions now delegates to generated MarketingStreamClient with official request/response fields (clientRequestToken, dataSetId, destinationArn / sqsDestination.queueArn)
  • Codegen now emits amazon_ads_api/generated/registry.py on every regenerate

Fixed

  • Hand-written Marketing Stream wrapper drift vs official AmazonMarketingStream_prod_3p.json (wrong field names, missing content-type)

[2.2.1] - 2026-05-30

Fixed

  • client.reference.stream.subscriptions path restored to match migration guide
  • Marketing Stream subscription calls use generated OpenAPI client instead of missing client.stream.subscriptions shim

[2.1.0] - 2026-04-10

Added

  • Code generation system (codegen/) — custom Python generator producing Pydantic v2 models and async clients from OpenAPI specs
    • spec_parser.py — JSON/YAML OpenAPI parser with $ref resolution
    • model_generator.py — Pydantic v2 model generation (StrEnum, Field alias, allOf/oneOf)
    • client_generator.py — Async client method generation inheriting BaseAdsClient
    • conflict_resolver.py — Multi-version spec endpoint conflict resolution
    • spec_config.yaml — Configuration for 86 specs (80 active)
  • 5,018 auto-generated Pydantic model classes in amazon_ads_api/generated/models/
  • 650 auto-generated async API methods in amazon_ads_api/generated/clients/
  • CI/CD workflows:
    • ci.yml — Lint, test, codegen validation on push/PR (Python 3.11-3.13 matrix)
    • check-spec-updates.yml — Daily spec update detection with auto GitHub Issue creation
  • scripts/check_spec_updates.py — Spec freshness checker (HEAD or full hash comparison)
  • scripts/regenerate.sh — One-command regeneration
  • scripts/migrate_inheritance.py — Bulk inheritance migration tool
  • 17 new codegen unit tests (79 total tests, 100% pass rate)

Changed

  • All 88 hand-written API files now inherit from generated clients (was: BaseAdsClient directly)
  • Expanded API spec coverage from 59 to 86 OpenAPI specs (642+ unique endpoints)
  • pyproject.toml — added pydantic>=2.0.0 dependency, pyyaml>=6.0.0 dev dependency

Removed

  • specs/Reporting_prod_3p.json — empty stub (0 paths)
  • Root-level debug JSON/YAML files

[2.0.0] - 2025-01-15

Added

  • Initial release of Amazon Ads API Python SDK
  • Support for 59 official Amazon Ads API endpoints
  • 100% coverage verification against official OpenAPI specs
  • Async/await support with httpx
  • Automatic OAuth2 token refresh
  • Rate limiting and retry mechanisms
  • Comprehensive error handling
  • Unit tests (62 tests, 100% pass rate)
  • Integration tests (6 tests, 100% pass rate)
  • End-to-end tests (5 tests, 100% pass rate)

Core APIs (L1 - OpenAPI Verified)

  • Sponsored Products (SP): Campaigns, Ad Groups, Keywords, Product Ads, Negative Keywords, Campaign Negative Keywords, Targets, Negative Targets, Budget Rules, Budget Recommendations
  • Sponsored Brands (SB): Campaigns, Ad Groups, Keywords, Product Targeting, Brand Video, Creatives, Moderation, Landing Pages
  • Sponsored Display (SD): Campaigns, Ad Groups, Product Ads, Targets, Creative Assets, Budget Rules, Forecast
  • DSP: Advertisers, Audiences, Campaigns, Conversions, Measurement, Target KPI
  • Accounts: Profiles, Portfolios, Budgets, Billing, Advertising Accounts, Test Accounts
  • Audiences: Audience Discovery, Product Selector
  • Exports: Data Exports, Report Exports
  • Eligibility: Campaign Eligibility, Keyword Eligibility
  • Locations: Location Targeting

Reference APIs (L2 - Official Documentation)

  • Amazon Marketing Cloud (AMC): Administration, Reporting, Audiences
  • Attribution: Attribution Tags, Publishers, Reports
  • Data Provider: Data Sets, Uploads
  • Unified API: Amazon Ads API v1 (campaigns, keywords, recommendations, forecasts, etc.)
  • Posts: Sponsored Posts API
  • Retail Ad Service: Orders, Line Items, Creatives
  • Marketing Stream: Real-time data streaming

Service APIs (L3 - Product Level)

  • Reporting: Reports v2, Reports v3, MMM (Marketing Mix Modeling), Offline Reports
  • Recommendations: Campaign Recommendations, Keyword Recommendations, Budget Recommendations
  • Insights: Brand Insights, Product Insights, Audience Insights
  • Common Services: Change History, Creative Asset Library, Stores
  • Media Planning: Reach Forecasting, Media Planning Tools
  • Brand Associations: Brand Safety, Brand Suitability
  • Ads Data Manager: Data Sources, Audiences

Experimental APIs (L4 - Beta)

  • Ad Library: Ad Repository Management
  • Brand Home: Store Pages, Brand Stores
  • Localization: Currency, Keyword, Product, Targeting Expression Localization
  • Moderation: Pre-moderation, Creative Moderation
  • Partner Opportunities: Partner Network
  • Persona Builder: Audience Persona
  • Sponsored TV: TV Campaigns, Formats

Infrastructure

  • Automated coverage verification scripts
  • Deep verification for duplicate detection
  • Comprehensive test suite (unit/integration/e2e)
  • OpenAPI spec synchronization (59 specs)
  • Documentation generation

[0.1.0] - 2025-01-15

Added

  • Initial alpha release
  • Basic API client structure
  • OAuth2 authentication
  • Core SP/SB/SD APIs

Fixed

  • Multiple path errors in AMC APIs
  • Incorrect endpoint implementations in Ad Library, Brand Home, Localization
  • HTTP method mismatches in Unified API
  • Missing endpoints in Advertising Accounts API

Changed

  • Migrated from requests to httpx for async support
  • Restructured project to 4-tier architecture (L1/L2/L3/L4)
  • Improved error handling and retry logic
  • Enhanced token management with automatic refresh

[0.0.1] - 2025-01-01

Added

  • Project initialization
  • Basic project structure
  • Initial README and LICENSE

Version Strategy

  • MAJOR: Breaking API changes
  • MINOR: New features, new API endpoints
  • PATCH: Bug fixes, documentation updates

Links