What's new in Space Ads OS
The system keeps moving — every new API version, playbook, agent and report template reaches you as long as your subscription is active. This is the record of what shipped.
Always the latest version
Your subscription always runs the latest release — there are no older "editions" to buy into. The system flags an available update at session start and, on your go-ahead, installs it in place. Updates never touch your client data, change logs, or credentials.
- v0.5.3LatestJuly 30, 2026
Google Ads v25, no more orphaned budgets, time zones in the change log
Moved to Google Ads API v25 — checked field by field before anything switched over. On the way there we found a path that could leave a budget sitting on a client account and stop halfway.
- Fixed
Creating a PMax campaign with the "new customers only" option could leave a budget on the account and no campaign. We were setting a field Google does not have on a campaign in any supported API version — the budget was created, then the operation stopped with an error moments later. The option is now refused up front, before anything reaches the API, with a note on where to set that goal instead. Nothing is left behind on the account.
- Improved
Google Ads now runs on API v25. Before switching, we compared it field by field against the previous version: every metric, segment, resource and experiment type the system uses is present. Nothing you were doing goes away — reach-frequency reporting, the iOS/Android split and experiment statistics all behave the same.
- Improved
Change-log entries now carry a time zone. Previously only the machine’s local time was recorded, so if you work from two computers, or across a clock change, events could not be put in order. The time you see is the same as before — what is new is knowing which zone it came from.
- Fixed
The report command listed 7 of the 13 templates. Six finished reports — product feed health and the seasonal calendar among them — shipped in the package but could not be found from the command itself. The list is complete now.
- Fixed
The bundled documentation left out the Search Console and Merchant Center channels and one command. The command list and channel table now match what the system actually does.
- Fixed
- v0.5.2July 29, 2026
TikTok reads its data, GMV Max enters your reports, one change log
The TikTok read path is verified against live accounts. GMV Max campaigns, which report separately, now show up in your numbers. And every change to an account is recorded with a reason, a before-state and an author.
- Fixed
TikTok data reads work at every level. Several field and metric names in our requests were wrong, so reports and campaign listings returned an error instead of numbers. Every read path is now confirmed against live accounts, not only in tests.
- Fixed
ROAS on accounts that record a completed payment rather than a purchase. Revenue arrives in one of two metric families and an account fills only one — we read one of them, so an account with real revenue reported ROAS 0. We now take whichever family the account actually populates, and fall back on the ROAS the platform reports when both are empty.
- New
GMV Max and TikTok Shop campaigns appear in your reports. TikTok reports them through a separate endpoint, so they never showed up in the ordinary campaign listing while the totals still reconciled — on one account that was 29% of spend outside the report. Spend is reconstructed from orders and cost per order; with zero orders we say "unknown", not "zero".
- New
Campaigns with no revenue — followers, reach, views — finally have their own measure: objective result and cost per result. Before, they looked like campaigns with no data at all, which pushed the "what do we switch off" decision onto creative age.
- New
One change log across every channel. Each write now requires a reason and records the state before the change, the author, and a run id — rotating five ads is one operation, not five loose entries. Failed attempts and previewed plans leave a trace too: "the platform rejected the change" used to look exactly like "nobody tried". A new command shows every channel as a single list and reports how many entries actually answer "why".
- New
Meta's own change history alongside yours. Meta records who changed what and when — we now stitch that to our log, so you can see what a person changed in Ads Manager versus what the system did. It also surfaces system writes that never reached the log, meaning they bypassed the safety layer.
- Improved
Smart+ campaigns identified by the right field. The flag the previous read relied on comes back false for campaigns that genuinely are Smart+, so an audit could report "Smart+ unused" on an account whose entire revenue comes from it.
- Improved
On the Agency plan, every team change in the log at /account/audit-log now carries a reason. Previously most entries carried none.
- Fixed
- v0.5.1MajorJuly 28, 2026
Merchant Center on the new API, an organic channel, and the decision core
Google switches off the old Merchant Center API in August — the product module already runs on the new one. Plus Search Console as a read-only channel and 17 modules that work out what is worth doing with an account.
- New
Merchant Center runs on Merchant API v1: accounts and sub-accounts, products, data sources, reports and diagnostics. Google switches off Content API v2.1 on **August 18, 2026** — after that date the old calls stop responding. If you use the product module, this update is required.
- New
Search Console as a new, read-only channel: queries, pages, CTR and average position, plus indexing status checked against your sitemap. Paid and organic sit side by side for the same client.
- New
The Google Ads decision core — 17 modules that compute specific recommendations: budget-limited accounts, scaling candidates, learning phase, marginal cost of sale, search-term n-grams, cannibalization, invalid traffic, PMax placements, conversion goals, bidding strategies, segments and experiments.
- New
Four read-only commands built on that core: scaling candidates, budget-limited triage, invalid-traffic analysis, and PMax placements viewed through brand safety.
- Improved
The system warns you when Google ships an API version newer than the one you are running — previously the version was hard-coded and an install quietly fell behind.
- Fixed
The active client's brief actually reaches Claude. The docs promised every command receives the client's brief and brand voice; nothing was injecting them, so Claude saw a raw placeholder. The brief now arrives once per session and covers free-form questions, not just commands.
- Fixed
Search Console and Merchant Center have a path in the setup wizard, and `spaceads setup` accepts flags instead of rejecting them.
- Fixed
Six commands referenced modules by old paths and failed on launch. All of them run; tests now pin that class of failure.
- New
- v0.4.3June 17, 2026
Connect a platform in one command — and a smoother first run
Connecting an ad platform is now a single focused command, and first-run setup is more reliable across machines and terminals.
- New
Connect one platform at a time: `spaceads-setup --channel meta` (or `tiktok` / `ga4` / `google_ads`) authorizes just that channel for your active client. For the browser-authorized channels it asks nothing in the terminal — it opens a browser, you approve, and you are connected.
- Improved
First-run onboarding now ships the client brief templates with every install, so setting up your first client lands cleanly and consistently.
- Fixed
Setup no longer reports "0 clients" when a client was already saved — your client registry is read the same way no matter how it was written.
- Fixed
Setup runs in more terminals, including Git Bash / mintty on Windows: it falls back to plain text prompts instead of erroring when the terminal is not a full Windows console.
- New
- v0.4.2June 12, 2026
Team audit log now populates
Agency owners now see every confirmed change their team makes, where before the audit log stayed empty.
- Fixed
Confirmed changes on Google, Meta and TikTok now mirror to your account audit log, so an Agency owner's audit trail shows the team's activity instead of staying blank. The mirror is best-effort and can never block or undo an already-applied change.
- Fixed
- v0.4.1June 11, 2026
Updates announce themselves
New releases reach you proactively instead of waiting until you think to ask.
- Improved
The system flags an available update at session start and — once you confirm — installs it itself. The check is non-blocking: being offline or on a slow link never delays Claude Code startup.
- Improved
The update signal refreshes about hourly instead of once a day, so a new release surfaces almost as soon as it goes live.
- Improved
- v0.4.0MajorJune 11, 2026
Build Performance Max campaigns from scratch
The system no longer just analyzes Performance Max — it builds whole tiered campaigns.
- New
Whole-campaign Performance Max creation: budget, campaign, and a separate asset group per tier (Platinum / Gold / Silver / Bronze) with product item_id listing filters. This is the engine behind /spaceads-bucketing — from feed segmentation to a finished campaign structure, fully under the six-layer safety framework and dry-run by default.
- New
A new-campaign tROAS range validator in the safety layer — a new campaign will not launch with a target ROAS outside the safe band.
- Fixed
Geo analysis and the full audit now ship the 110-country location map (with an API fallback), so /spaceads-geo runs cleanly under "python -m".
- New
Start on the latest version
A subscription gives you the current engine, every channel, and each release that follows — for as long as you keep it active.