Releases: cesteral/mcp-open-advertising
Releases · cesteral/mcp-open-advertising
Release list
contract-v2.0.0 (contract libraries)
What's Changed
- docs: fix stale tool counts and inaccurate references in root docs by @cesteral in #119
- fix: fail-fast when a tool's account-scoping param is ignored (P1) by @cesteral in #121
- docs: correct search-tool server list + document cross-server naming variants by @cesteral in #122
- docs(meta): fix misleading get_available_metrics level example by @cesteral in #123
- docs(meta,gads): honest client-side wording for get_pacing_status by @cesteral in #124
- docs: document gads_bulk_mutate in cross-server naming variants by @cesteral in #125
- feat(mcp): fail-fast create-payload validation on the execute path by @cesteral in #127
- fix(ttd,linkedin): drop required-but-unused params from two tools by @cesteral in #129
- feat(meta): paginate meta_search_targeting via the
aftercursor by @cesteral in #130 - refactor(pinterest,ttd,dbm): align tool file names with wire names by @cesteral in #126
- feat(mcp): paginate the account-listing tools (pinterest/snapchat/amazon-dsp) by @cesteral in #128
- refactor(sa360)!: rename sa360_search → sa360_gaql_search by @cesteral in #134
- fix(msads): register the env-gated conformance tools like every server by @cesteral in #135
- feat(mcp): add duplicate_entity to snapchat, ttd, msads, gads by @cesteral in #131
- feat(msads): honest search_targeting + add msads_get_targeting_options by @cesteral in #132
- feat(gads): add gads_upload_image (image asset upload) by @cesteral in #133
- fix: unbreak main — README tool counts + pinterest test import + msads flaky-timeout by @cesteral in #136
- test: raise timeout on remaining pagination-conformance cold-import cases by @cesteral in #138
- fix(write): validate update_entity payloads on the execute path (M3) by @cesteral in #139
- fix(audit): thread reason into effect summary / audit log on dv360+ttd writes (M1, M2) by @cesteral in #140
- fix(write): validate bulk-create payloads on the execute path (M4) by @cesteral in #141
- refactor(structural): align snapchat file name to wire name + hoist dbm tool name (M10, M11) by @cesteral in #142
- fix(dv360): schema-validate bulk-create dry-run + validate-entity advertiserId; document cm360 gaps (M5, M6, M7, M9) by @cesteral in #143
- fix(validate): thread tiktok advertiserId + ttd entityId into validation (M6) by @cesteral in #144
- fix(msads): decompress ZIP report bodies and strip quoted metadata rows by @cesteral in #147
- feat(gads): add gads_upload_video; document ttd/amazon-dsp upload gaps (#145) by @cesteral in #148
- feat(pacing): port get_pacing_status to the 9 remaining platforms (M12) by @cesteral in #150
- feat(ttd,amazon-dsp): add upload_video — close the remaining #145 gaps by @cesteral in #149
- fix(dv360): guard update dry-run for out-of-scope kinds; reject read-only types in create/update by @cesteral in #151
- fix(shared): close the auth/session/log findings from the shared-layer security review by @cesteral in #152
- shared: transport-factory auth integration tests + pin JWT verification to HS256 by @cesteral in #153
- harden(shared): constant-time fingerprint compare, tighter session-id validation, truncated fp logs by @cesteral in #154
- test(contract-hash): pin per-decision cross-repo definitionHash golden vectors by @cesteral in #155
- harden: external-write-rail safety — method-aware retry (C3), jti fail-closed posture (P3), DV360 dry-run fidelity (P4) by @cesteral in #156
- fix(contract-hash)!: SECURITY — canonicalization dropped own proto keys (definitionHash collision → attested bypass) by @cesteral in #157
- harden(contract-schema): enforce write-promise fields in the runtime annotation schema (C5) by @cesteral in #158
- harden(security): scope report-csv:// resource listing to the calling session by @cesteral in #159
- C2 (#742) S1 producer: advertise Cloud Run deployment identity on server-card by @cesteral in #160
- feat(linkedin): offset pagination for linkedin_search_targeting (#146) by @cesteral in #161
- docs(contract): document gads_gaql_search as the intended targeting-discovery path (#146) by @cesteral in #162
- docs: note remaining servers lacking a targeting-discovery tool (#146 follow-up to #162) by @cesteral in #163
- feat(targeting): canonical pagination for linkedin/snapchat get_targeting_options (#146) by @cesteral in #164
- fix(governance): harden decision-token verify (jti-store errors, mode conflicts, TTL/boundary) by @cesteral in #168
- Release guard: workspace contract-hash must match the published tarball (F7) by @cesteral in #169
- Governance hardening sweep — MCP auth, session capacity, destructive-write defaults by @cesteral in #170
- Release the contract-library fixes: bump to 2.0.0, and make the parity guard able to see them by @cesteral in #172
- fix(ci): stop style-gating generated code, which turned main red by @cesteral in #173
- Two recurrence guards for the contract libraries: version-bump at PR time, schema parity at release by @cesteral in #174
- feat(governance): wire the distributed jti store, and check the posture at boot (#166, #167) by @cesteral in #178
- fix(dv360): make schema codegen reproducible, and actually run it (#175) by @cesteral in #176
- feat(release): give the contract libraries their own release lane (#165, #171) by @cesteral in #177
- docs(runbook): dev fleet LB recovery, and what is NOT broken about it by @cesteral in #179
- fix(release): stop the contracts-only lane demanding a tool it never uses by @cesteral in #180
Full Changelog: v1.9.0...contract-v2.0.0
v1.9.0
What's Changed
- chore(release): bump @cesteral/dv360-mcp 1.3.0 -> 1.4.0 (publish #114 v4 descriptions) by @cesteral in #118
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's Changed
- feat(governance): drop forced-off override for effect-class writes (Phase 3) by @cesteral in #112
- test(scripts): guard that every effect-class write lands in the release manifest by @cesteral in #113
- fix(dv360): implement DV360 v4 two-step custom bidding script/rules upload by @cesteral in #114
- chore(cleanup): SessionManager cleanup-failure telemetry + stale dv360 doc note by @cesteral in #115
- contract-hash: document cross-repo version-coordination contract (F2) by @cesteral in #116
- contract-schema: export cross-repo annotation parity vector (F1) by @cesteral in #117
Full Changelog: v1.7.0...v1.8.0
v1.7.0
v1.6.1
What's Changed
- terraform: decision-token secret wiring, per-contract enforce staging, API enablement by @cesteral in #82
- deploy: first-apply hardening + first-deploy checklist by @cesteral in #83
- feat(terraform): fleet-side invoker grant (governance-invoker SA) + dev tfvars gitignore fix by @cesteral in #84
- deploy: first Cloud Run rollout of the MCP fleet + the bugs it shook out by @cesteral in #85
- fix(init): grant Cloud Build builder role to the Compute Engine default SA by @cesteral in #86
- feat(terraform): fleet load balancer — one custom domain for all 13 servers by @cesteral in #87
- Lock cross-repo attestation hash parity + release-workflow pin by @cesteral in #88
- docs: document governance wiring in new-server onboarding guide by @cesteral in #89
- docs: correct CLAUDE.md contract-package and SA360 references by @cesteral in #90
- ci(publish): guard against a governed package shipping no attestation manifest by @cesteral in #91
- harden(contract-hash): route computeDefinitionHash through stableStringify guard by @cesteral in #92
- refactor(contract-hash): route computeDefinitionHash through stableStringify by @cesteral in #93
- docs(changelog): ready @cesteral/contract-hash 1.1.1 for release by @cesteral in #98
- docs(contract): clarify schemaVersion number→string boundary in manifest builder by @cesteral in #96
- Validate cesteral annotation at manifest time; exempt create from entityIdArgs by @cesteral in #99
- Pin base image by digest and gate prod deploys by @cesteral in #100
- fix(governance): fail closed for effect-class writes + surface fail-open default + tighten entity dry-run type (#101, #102, #95) by @cesteral in #104
- fix(meta-mcp): align bulk_update_status cesteral.platform to "meta_ads" by @cesteral in #106
- test(scripts): add write-tool mislabel ratchet to detect mutation-named non-writes (#107) by @cesteral in #108
- test(governance): behavior-derived write detection for the coverage ratchet (#107) by @cesteral in #109
Full Changelog: v1.6.0...v1.6.1
v1.6.0
What's Changed
- fix(dv360): drop campaign/IO assigned targeting removed from the v4 API by @cesteral in #79
- chore(deps): migrate pnpm 8.15.0 → 10.34.1 (catalogs, build-script allowlist, lockfile v9) by @cesteral in #78
- dv360-mcp: align hand-written guidance with DV360 API v4 requirements by @cesteral in #80
- feat(publish): single-step pnpm publish --provenance + fleet version bumps for the governed-write fixture release by @cesteral in #81
Full Changelog: v1.5.2...v1.6.0
v1.5.2
What's Changed
- ci(publish): guard attestation manifest presence in governed tarballs by @cesteral in #76
- fix(contract-schema): portable across module systems and zod majors (v1.1.0) by @cesteral in #77
Full Changelog: v1.5.1...v1.5.2
v1.5.1
What's Changed
- Governance: decision-token verification + write-contract foundations (PR 1) by @cesteral in #43
- Governance PR2: warn-enrollment enablement + write-coverage ratchet + first delete contract by @cesteral in #44
- Governance: delete-family contract batch (dv360 + linkedin) by @cesteral in #45
- Governance: govern gads_remove_entity + delete-family roadmap finding by @cesteral in #46
- Governance: delete-entity testkit fixtures + release-gate coverage (meta/dv360/linkedin) by @cesteral in #47
- Governance: create_entity template + meta/gads/linkedin contracts by @cesteral in #48
- docs(readme): document matured server capabilities by @cesteral in #49
- docs(readme): trim redundant positioning sections by @cesteral in #50
- feat(governance): govern create_entity across the remaining 8 platforms by @cesteral in #51
- fix(governance): out-of-scope delete/remove dry_run must not throw by @cesteral in #52
- feat(governance): govern duplicate_entity across all 6 platforms by @cesteral in #53
- docs(governance-plan): record create/delete/duplicate rollout status + open items by @cesteral in #54
- feat(governance): effect-class write contract (Template B) — meta_adjust_bids reference by @cesteral in #55
- feat(governance): effect-class write contract for submit_report (9 platforms) by @cesteral in #56
- feat(governance): effect-class write contract for media uploads (11 tools) by @cesteral in #57
- test(governance): enforce contractId == slug.toolSlug.vN invariant in CI by @cesteral in #58
- feat(governance): effect-class write contract for report-schedule CRUD (7 tools) by @cesteral in #59
- feat(governance): bulk_update_entities effect write contract (10 platforms) by @cesteral in #62
- feat(governance): bulk_update_status + gads_bulk_mutate effect write contract (12 tools) by @cesteral in #63
- feat(governance): effect-class write contract for SA360 conversions + TTD report-template/execution (8 tools) by @cesteral in #61
- feat(governance): effect-class write contract for bulk_create_entities (11 tools) by @cesteral in #60
- feat(governance): effect-class write contract for bulk delete_entity (5 platforms) by @cesteral in #64
- feat(governance): entity/effect write contract for single delete_entity (ttd, cm360) by @cesteral in #65
- fix(governance): honest partial-delete effects + ttd reconciliation argMap by @cesteral in #66
- feat(governance): self-contained readPartner.argMap fleet-wide + release gate (Risk #6) by @cesteral in #67
- feat(governance): effect-class write contract for the TTD long tail (8 tools) by @cesteral in #68
- feat(governance): effect-class write contract for the DV360 long tail (5 tools) by @cesteral in #69
- feat(governance): write contracts for msads/meta/amazon-dsp long tail (5 tools) by @cesteral in #70
- shared: make CesteralWriteOperation a runtime source of truth + cross-repo drift guard by @cesteral in #71
- shared: don't enforce decision tokens for effect-class writes by @cesteral in #72
- Governance hardening: extract @cesteral/contract-schema + default fleet to decision-token warn mode by @cesteral in #73
- fix(release): publish @cesteral/contract-schema before @cesteral/shared by @cesteral in #75
- docs(contract-hash): correct stale actionHash parity note by @cesteral in #74
Full Changelog: v1.5.0...v1.5.1
v1.5.0
v1.4.0
What's Changed
- refactor: remove backward-compat aliases, shims, and dead re-exports by @cesteral in #41
- docs: compact CLAUDE.md (229 → 189 lines, no knowledge loss) by @cesteral in #40
- Amazon DSP v1 commitments: 7 new tools + governed update_commitment by @cesteral in #42
Full Changelog: v1.3.0...v1.4.0