Skip to content

Latest commit

 

History

History
74 lines (50 loc) · 5.1 KB

CHANGELOG.md

File metadata and controls

74 lines (50 loc) · 5.1 KB

Changelog

1.3.0 (2026-09-04)

Features

  • bidding: add update_ad_group_cpc_bid with a bid precondition guard (#12) (26013cb)

1.2.0 (2026-09-03)

Features

  • read shared-list contents and campaign associations (#9) (d7313f3)

Bug Fixes

  • correct REST mutation URLs that 404ed on all three write tools (#8) (ca43dd4)
  • reports: campaign_ids filter was silently ignored (#10) (ac0b4ba)
  • zero-row reports (Success with no ReportDownloadUrl) hang until timeout (#6) (e4bb325)

1.1.1 (2026-07-09)

Bug Fixes

  • budget validation, GAQL mutation blocking, future date checks, limit caps (da8d128)
  • critical: require account_id on write operations (59a072e)
  • critical: use TimeoutStrategy.Aggressive to actually abort hung requests (db52390)
  • drop unused file:../mcp-updatenotifier dependency (#3) (fc4a84c)
  • error server prefix, isError consistency, validateCredentials, CHANGELOG (6c07766)
  • error size limits, safeResponse mutation, budget docs, CHANGELOG, security warnings (48f1a23)
  • ID validation, path resolution, health tools, descriptions (15c7392)
  • Node 18.18 minimum, env var trimming, unhandledRejection, TTY guard (9c3433f)
  • README accuracy, env var docs, dependency cleanup (440f2ff)
  • resolve import and export issues from cascade failure (39d4003)
  • startup checks, credential redaction, schema hardening, format validation (eed8c3b)
  • stderr logging, Linux/Docker compat, SIGPIPE, version fallback (60add35)
  • version field, safeResponse loop, auth retry, SIGTERM handling (26e5811)

[1.1.0] - 2026-04-18

Added

  • Read-only by default: mutating tools (bing_ads_pause_keywords, bing_ads_update_campaign_budget, bing_ads_add_shared_negatives) are now hidden from the tool list and refused at call time unless BING_ADS_MCP_WRITE=true is set in the server environment.
  • New writeGate.ts module with isWriteTool, isWriteEnabled, filterTools, assertWriteAllowed, and WRITE_TOOLS set.
  • Startup log line reports current write-mode status.
  • Drift-alarm test asserts every registered tool in tools.ts is classified as either a write or a read tool, so adding a new tool without classifying it fails CI.

Security

  • Foot-gun mitigation: prevents casual write actions (pausing keywords, editing budgets) from a passing chat request. Writes are now opt-in per server instance.

[1.0.12] - 2026-04-04

Security

  • Error responses now pass through safeResponse to prevent oversized error payloads
  • safeResponse deep-clones before truncation to avoid mutating original data

Fixed

  • Budget unit documentation clarified in tool descriptions

[1.0.8] - 2026-04-09

Added

  • Published to npm
  • CLI flags (--help, --version)
  • SIGTERM/SIGINT graceful shutdown
  • Env var trimming and validation

Security

  • Shell injection fix in token rotation
  • All logging to stderr (stdout reserved for MCP protocol)
  • Auth errors not retried (fail fast on 401/403)