Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 7, 2025

🤖 I have created a release beep boop

0.1.0 (2025-12-20)

⚠ BREAKING CHANGES

  • Media buy creation now FAILS when creatives are missing required fields (URL, dimensions) instead of silently skipping them.

Features

  • Add AdCP 2.5 extension to A2A agent card (#783) (a979cb6)
  • add auth_header and timeout columns to creative_agents table (#714) (64eecd8)
  • add background scheduler to auto-transition media buy statuses based on flight dates (4af1343)
  • add background scheduler to auto-transition media buy statuses based on flight dates (d6f8d78)
  • Add brand manifest policy system for flexible product discovery (#663) (1c00e1d)
  • Add brand manifest policy UI dropdown in Admin (#726) (55d2414)
  • add commitizen for automated version management (#666) (4c49051)
  • Add creative format size filtering with inventory-based suggestions (#690) (ced6466)
  • add date range validation and testing for validation (9706fd1)
  • Add hierarchical product picker with search and caching (#707) (6a6c23d)
  • Add inventory profiles for reusable inventory configuration (#722) (ceb2363)
  • Add manual delivery webhook trigger to admin UI (f91d55e)
  • Add manual delivery webhook trigger to admin UI (e95d6f4)
  • Add real-time custom targeting values endpoint and visual selector widget (#678) (ebd89b9)
  • Add signals agent registry with unified MCP client (#621) (9a15431)
  • alphabetize targeting keys/values and show display names (#687) (c6be06d)
  • Auto-download AdCP schemas on workspace startup (#616) (94c3876)
  • calculate clicks and ctr (ebe7d66)
  • enforce strict AdCP v1 spec compliance for Creative model (BREAKING CHANGE) (#706) (ff1cbc4)
  • improve product workflow - always show formats and descriptive targeting values (#688) (4530f25)
  • Publish Docker images on release (#855) (47e88e3)
  • refactor and add integration and e2e tests for delivery metrics webhooks (3df36de)
  • refactor webhook deliveries (f1302ba)
  • Remove Scope3 dependencies - make codebase vendor-neutral (#668) (de503bf)
  • Simplify targeting selector to match existing UI patterns (#679) (ce76f8e)
  • support application level context (#735) (ea6891d)
  • Update budget handling to match AdCP v2.2.0 specification (#635) (0a9dd4a)

Bug Fixes

  • 'Select All' buttons in Create Product page by fixing JS scope (5f5553a)
  • 'Select All' buttons in Create Product page by fixing JS scope (6bcca14)
  • Achieve 100% mypy compliance in src/ directory - 881 errors to 0 (#662) (d7f4711)
  • ad unit format button, targeting selector crash, and service account auth (#723) (83bd497)
  • AdCP responses now exclude None values in JSON serialization (#642) (c3fa69a)
  • AdCP responses now properly omit null/empty optional fields (#638) (ab7c4cd)
  • Add /admin prefix to OAuth redirect URI for nginx routing (#651) (a95a534)
  • Add content hash verification to prevent meta file noise (#659) (20b0a16)
  • add e2e tests for get_media_buy_delivery direct request (1263a81)
  • Add logging + fix targeting browser sync button (#677) (bdf19cc)
  • Add missing /api/tenant/<tenant_id>/products endpoint (9dc4bdc)
  • Add missing activity feed and audit logs to manual approval path (#729) (114778c)
  • Add missing adapter_type to SyncJob creation (fb0fb79)
  • Add null safety checks for audience.type and audience.segment_type (#682) (b8e6e77)
  • add pricing to delivery (78eab1e)
  • Add timeout to discover_ad_units to prevent stuck syncs (56457ad)
  • add type field to audience segments API for filtering (28302f2)
  • add type field to audience segments API for filtering (474df9a)
  • advertiser creation (4e9e32d)
  • advertiser creation (d323477)
  • apply type filter when fetching inventory by IDs (3fc3ded)
  • approval flow (ee2e90a)
  • attempt to fix e2e test in ci (8c269a8)
  • Auto-create default principal and improve setup output (#849) (0c222f3)
  • Auto-create user records for authorized emails on tenant login (#492) (454eb8f)
  • Check super admin status before signup flow redirect (#674) (e5dfb8d)
  • Clean up smoke tests and resolve warnings (#629) (73cbc99)
  • Complete /admin prefix handling for all API calls (#736) (4c20c9c)
  • Convert FormatReference to FormatId in MediaPackage reconstruction (#656) (7c24705)
  • Convert summary dict to JSON string in sync completion (3318ee0)
  • convert to utc (bcb54f0)
  • Correct AdManagerClient signature for service account auth (#571) (bcb1686), closes #570
  • Correct API field name mismatch in targeting selector widget (#681) (9573749)
  • correct creative agent URL typo (creatives → creative) (#844) (f29659b)
  • correct inventory search endpoint and parameters in unified view (201fd4f)
  • correct inventory search endpoint and parameters in unified view (5532adb)
  • Correct tenant context ordering in update_media_buy (#773) (2c2d9b1)
  • Create mock properties only for mock adapters (#854) (efdcfca)
  • creative agent url check; allow to fallback to /mcp when creating mcp client (09bc1ac)
  • creative agent url check; allow to fallback to /mcp when creating mcp client (6bf221f)
  • creative approval/rejection webhook delivery (9062449)
  • Creative management - reject invalid creatives (#460) (1540de3)
  • Default publisher_properties to 'all' when not specified (#759) (690f2b1)
  • display and save custom targeting keys in product inventory (#692) (991656b)
  • Docker test cleanup to prevent 100GB+ resource accumulation (9036cae)
  • Docker test cleanup to prevent 100GB+ resource accumulation (9ed12fd)
  • e2e test context initialization (0c463a1)
  • e2e test for media buy deliveries webhooks (64d9529)
  • edit configuration feature (fb61f20)
  • Enable all 189 integration_v2 tests - achieve 100% coverage goal (#626) (6377462)
  • enforce brand_manifest_policy in get_products (#731) (075e681)
  • Ensure Package objects always have valid status (#755) (757c0d3)
  • ensure User record creation during OAuth tenant selection (#701) (be22ffb)
  • Exclude null values from list_authorized_properties response (#647) (5afb6b5)
  • existing unit tests (60a1961)
  • fetch inventory by IDs to bypass 500-item API limit (c1e197e)
  • fetch specific ad units by ID for placement size extraction (85f792d)
  • file lint error (#625) (2fec26e)
  • flush deleted inventory mappings before recreating (c83e34c)
  • GAM adapter (f4f0df1)
  • GAM adpaters and other logic changes including bumping adcp client to 2.5.5 (8367e0a)
  • GAM advertiser search and pagination with Select2 UI (#710) (792d4ae)
  • GAM product placements not saving when line_item_type absent (#691) (eb66e33)
  • GAM test connection error fix (78e88ae)
  • GAM test error fix (48b07a9)
  • Handle /admin prefix in login redirects and API calls (#733) (15ab582)
  • Handle CreateMediaBuyError response in approval and main flows (#745) (574943b)
  • Handle unrestricted agents in property discovery (no property_ids = all properties) (#750) (136575b)
  • Implement creative assignment in update_media_buy (#560) (99cdcdc)
  • implement missing naming template preview logic (39eafff)
  • implement missing naming template preview logic (66fc55d)
  • Implement missing update_media_buy field persistence (#749) (f67a304)
  • Import get_testing_context in list_authorized_properties (#632) (6612c7d)
  • improve creative status handling and dashboard visibility (#711) (539e1bb)
  • improve inventory browser UX and fix search lag (#709) (0d09f1b)
  • include ALL statuses when fetching inventory names for existing products (2a61600)
  • Include service_account_email in adapter_config dict for template (#517) (c36aef6)
  • increase sync_id length from 50 to 100 (cd89098)
  • increase sync_id length from 50 to 100 (6ae87ff)
  • Integration tests, mypy errors, and AdCP schema compliance (#633) (77c4da6)
  • Integration tests, mypy errors, and deprecation warnings (#628) (be52151)
  • Integration tests, mypy errors, and test infrastructure improvements (#631) (ca4c184)
  • inventory profile save URL and property_mode handling (40f192a)
  • inventory profile save URL and property_mode handling (7440350)
  • inventory sync (d300258)
  • Inventory sync JavaScript errors (0d2ad1f)
  • inventory sync status now checks GAMInventory table instead of Products (#708) (193e87d)
  • lint errors (dff427a)
  • list_tasks query using non-existent WorkflowStep.tenant_id (#822) (c17abcb)
  • Load pricing_options when querying products (#413) (a87c69a)
  • make media_buy_ids optional in get_media_buy_delivery per AdCP spec (#704) (5c69013)
  • media buy tests creation (4045386)
  • media buys & creatives (58c4f45)
  • mypy (77b5ecc)
  • nest inventory picker modal to resolve search input focus issue (a14c47b)
  • nest inventory picker modal to resolve search input focus issue (f888fe9)
  • Normalize agent URL variations for consistent validation (#497) (9bef942)
  • parse and apply custom targeting from product forms to GAM line items (#686) (a1132ae)
  • pass DELIVERY_WEBhOOK_INTERVAL when running e2e tests in ci/cd (07f3eee)
  • persist targeting and placement selections in product editor (#689) (ebbecf0)
  • populate custom targeting keys when editing products (#693) (88f0b9e)
  • prevent duplicate IDs in placement display after removal (#696) (87b0eac)
  • Prevent duplicate tenant display when user has both domain and email access (#660) (92ca049)
  • product editor bugs - JSON parsing, text color, selection preservation (#694) (50765cf)
  • rebase (581b18b)
  • Reduce skipped tests from 323 to ~97 (70% improvement) (#669) (c48f978)
  • rejection (79cb754)
  • remove /a2a suffix from A2A endpoint URLs and add name field to configs (2b036c6)
  • remove /a2a suffix from A2A endpoint URLs and add name field to configs (13914b8)
  • remove 97% of type: ignore comments and fix 169 mypy errors (#820) (#823) (1175c63)
  • Remove auto-restart of delivery simulators on server boot (#646) (52c2378)
  • remove dead API docs link and fix testing docs path (#700) (9fd959e), closes #676
  • Remove fake media_buy_id from pending/async responses in mock adapter (#658) (dc2a2ba)
  • remove inventory sync requirement for mock adapter (#719) (4268b2e)
  • Remove non-existent fields from SyncCreativesResponse (9bf3da7)
  • Remove non-existent fields from SyncCreativesResponse (453c329)
  • Remove non-existent impressions field from AdCPPackageUpdate (#500) (404c653)
  • Remove non-spec tags field from ListAuthorizedPropertiesResponse (#643) (a38b3d7)
  • Remove stale ui-test-assistant MCP server configuration (#851) (0e7cf9a)
  • remove top-level budget requirement from create_media_buy (#725) (4474de3)
  • Replace progress_data with progress in SyncJob (f4008f4)
  • require authentication for sync_creatives and update_media_buy (#721) (defa383)
  • Resolve GAM inventory sync and targeting data loading issues (#675) (ca31c6a)
  • Resolve product creation and format URL issues (#756) (d99a6f8)
  • Restore accidentally deleted commitizen configuration files (c92075c)
  • Restore brand manifest policy migrations and merge with signals agent (e30c106)
  • restore unrelative changes (8c159e6)
  • Return human-readable text in MCP protocol messages (#644) (3bb9bce)
  • Route external domains to tenant login instead of signup (#661) (b194b83)
  • sales agent logic (0a51476)
  • sanitize tenant ID in GCP service account creation (b4c3bbc)
  • sanitize tenant ID in GCP service account creation (6774587)
  • Set session role for super admin OAuth login (#654) (505b24f)
  • set tenant context before fetching delivery metrics (1042274)
  • Set tenant context when x-adcp-tenant header provides direct tenant_id (#467) (20b3f9c)
  • show both name and ID for placements consistently (#695) (52caddd)
  • signals agent test endpoint async handling (#718) (e1c5d72)
  • Support ListCreativesRequest convenience fields with adcp 2.9.0 (#770) (1bd57f0)
  • syntax (af504a6)
  • Targeting browser, product page auth, UI repositioning + format conversion tests (#683) (d363627)
  • targeting keys errors in browser and product pages (#685) (7fc3603)
  • test (62c2fe0)
  • test delivery webhook sends for fresh data (b35457f)
  • test scase in test_format_conversion_approval (3060a24)
  • tests (5d5347c)
  • tests (1b1ce8e)
  • tests (f70f684)
  • tests (c966e43)
  • try to pass delivery interval through docker-compose.override.yml for e2e tests (c830255)
  • types (d545f14)
  • typo in integration test (d09125e)
  • Unskip 3 integration tests and reduce mypy errors by 330 (#627) (37cc165)
  • Update DNS widget to use A record pointing to Approximated proxy IP (#636) (3291ae6)
  • Update tenant selector template to work with dictionary objects (#652) (aa612a3)
  • Use content-based hashing for schema sync to avoid metadata noise (#649) (5625955)
  • use correct field name inventory_metadata in IDs path (4e7d7a2)
  • Use SQLAlchemy event listener for statement_timeout with PgBouncer (#641) (bde8186)
  • wrap service account credentials with GoogleCredentialsClient (#727) (9d21709)

Documentation

  • clarify GAM setup with three clear paths and environment validation (#847) (6a2e951)
  • document PYTHONPATH requirement for Docker hot reload (#846) (03878f4)

This PR was generated with Release Please. See documentation.

@github-actions github-actions bot force-pushed the release-please--branches--main branch 18 times, most recently from f65c592 to 285d306 Compare November 14, 2025 12:40
@github-actions github-actions bot force-pushed the release-please--branches--main branch 10 times, most recently from 3295eb5 to fc7915b Compare November 22, 2025 00:33
@github-actions github-actions bot force-pushed the release-please--branches--main branch from fc7915b to e4bedd6 Compare November 24, 2025 10:40
@github-actions github-actions bot force-pushed the release-please--branches--main branch 6 times, most recently from 6527ec4 to e1c509d Compare December 4, 2025 01:22
@github-actions github-actions bot force-pushed the release-please--branches--main branch 8 times, most recently from 9ead39a to 889b48e Compare December 11, 2025 02:19
@github-actions github-actions bot force-pushed the release-please--branches--main branch 9 times, most recently from 8d29611 to 892992e Compare December 20, 2025 13:00
@github-actions github-actions bot force-pushed the release-please--branches--main branch from 892992e to 42d5c35 Compare December 20, 2025 16:47
@bokelley bokelley merged commit afddc23 into main Dec 20, 2025
1 check passed
@bokelley bokelley deleted the release-please--branches--main branch December 20, 2025 16:51
@github-actions
Copy link
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The README Link to API Documentation is dead

2 participants