← Back to Space Ads OS
Changelog

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.

Current version: v0.9.1Full technical documentation →

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.

  1. v0.9.1LatestSeptember 27, 2026

    Every Google Ads report takes the client

    Google Ads reports now take --slug <client>, like the other channels: the account comes from your client registry, and in bridge mode the right connection is used for that client.

    • Improved

      Every Google Ads report takes --slug <client>; --customer-id keeps working, and when both are given they must match. Reports that cover all clients (digests, alerts) still do so without it, and --slug narrows them to one client.

  2. v0.9.0September 26, 2026

    Google Ads without a developer token or a manager account

    Google retired developer tokens on 9 September 2026. Space Ads OS no longer asks for one: Google Ads connects like GA4 — with one browser consent through the Space Ads OS bridge — or through your own Google Cloud project.

    • Improved

      Google Ads connects without a developer token or a manager account (MCC): through the bridge with one browser consent, or through your own Google Cloud project with your own access level. A manager account is needed only if you reach a client’s account through one.

    • New

      Removing Google Ads campaigns, ad groups, ads and keywords — only through one command that first shows the status and 30-day spend, warns that removal cannot be undone, and needs the ID typed again.

    • Improved

      Clear messages for missing production access, Google’s known authorisation issue, quota and a wrong manager account. spaceads doctor --online shows how each client is connected.

  3. v0.8.0September 25, 2026

    The rest of each platform, and brand rules enforced in code

    Standard Shopping, lead forms, offline conversions and Customer Match on Google Ads; audiences, instant forms, custom conversions and automated rules on Meta; Smart+, lead generation, catalogs and GMV Max on TikTok. And your client’s brand rules are now checked in code on every ad the tool writes.

    • New

      Brand rules enforced, not just suggested: banned words, claims you can’t make, required disclaimers, brand-name spelling and advertising languages — every ad text on Google, Meta and TikTok is checked before it is sent, previews included. Google’s and TikTok’s editorial rules are checked the same way, so fewer ads get disapproved.

    • New

      Google Ads: Standard Shopping campaigns with only the products you choose, lead forms with lead download, offline conversions from your CRM (including Enhanced Conversions for Leads) and Customer Match lists — customer data hashed on your machine.

    • New

      Google Ads: recommendations with a preview of the change, conversion value rules, AI Max controls and report, brand lists, shared negative keyword lists, and image and YouTube uploads.

    • New

      Meta: instant forms, audiences (website visitors, engagers, customer lists, lookalikes), custom conversions, automated rules that start switched off, Advantage+ readiness, and different images per placement.

    • New

      TikTok: Smart+ campaigns, lead generation with lead download, catalogs and Video Shopping, automated rules, GMV Max and offline events — all created paused (TikTok starts GMV Max live, so it needs an explicit go-ahead).

    • New

      The weekly industry pulse tracks the official Google Ads, Meta, TikTok, GA4, Search Central and Merchant Center changelogs.

    • Improved

      Features that need extra platform permissions (such as Meta catalogs and lead download) are ready and check the connection first — when something is missing, they say exactly what and how to add it.

  4. v0.7.0September 24, 2026

    The tool builds campaigns

    Performance Max, Search and Demand Gen on Google Ads, and campaigns, ad sets and ads on Meta, are now created by shipped commands — complete, paused, with the platform checking the preview. Agencies get working team seats, client switching that moves the safety checks with it, and change history per client. And when the tool cannot do something yet, it shows how to do it safely from the platform’s official documentation.

    • New

      Google Ads: Performance Max built in one step — budget, campaign, Merchant Center feed, brand guidelines, images and texts, the “only these products” filter, audience signals and the new-customer goal. Google checks the whole build in the preview, and a failure leaves nothing half-made. Works for e-commerce and lead generation.

    • New

      Google Ads: Search campaigns built complete (every bidding strategy, several countries and languages, assets, schedule, negative lists), Demand Gen with location and language targeting, and experiments started from the tool.

    • New

      Google Ads: EU political advertising declaration. Since April 2026 Google refuses every change on an account where one campaign lacks it — the tool checks this first and lets you declare the missing campaigns. You choose the value.

    • New

      Meta: create campaigns, ad sets and ads from a spec (seven ready-made examples), duplicate them, and upload images and videos. Meta checks every preview, and everything is created paused.

    • New

      TikTok: audiences (lookalike, saved, customer list — hashed on your computer), creative uploads, and reports over any date range.

    • New

      Merchant Center: market reports (suggested prices, best sellers, competitive visibility), single-attribute product edits, promotions, and store and regional inventory.

    • New

      GA4: whole reports, realtime, cohorts, funnels and configuration listings; configuration changes (key events, definitions, retention, the Google Ads link) ready once GA4 is connected with edit permission. Search Console: filters, search appearance, hourly data and sitemap submission.

    • New

      When the tool does not have something yet, it reads the platform’s official documentation for the API version in use and offers a one-off with the same preview, approval and change log.

    • Fixed

      Meta reports work for accounts connected through the wizard, and the full Meta audit runs end to end. Budgets in currencies without cents (such as yen) are no longer multiplied by 100.

    • Fixed

      The cross-channel overview includes Google Ads again. Clients under different Google Ads manager accounts work.

    • Fixed

      Agency team seats work everywhere, switching clients moves the safety checks to that client’s accounts, and change history shows the chosen client’s changes.

    • Improved

      The setup wizard obtains Google Ads access through a browser consent and explains Google’s access levels; onboarding records each ad account ID.

  5. v0.6.7September 23, 2026

    A safety release: one rule for every change to an account

    Every change to an ad account now works the same way: a preview first, checked by the platform itself where it can be, and the change applies only when you run the same command again with --execute and a reason.

    • Fixed

      TikTok: nothing the tool builds can start spending by itself. New campaigns, ad groups and copied ad groups are created switched off, and the tool checks this after creating them. Going live is a separate, approved step.

    • Fixed

      Changes land on the right client’s account. On Google Ads, Meta, TikTok and Merchant Center the account comes from your client registry, and a mismatched account ID on the command line stops the change before anything is sent.

    • Fixed

      Google Ads: no change without a preview. Budgets, targets, negatives, locations, bulk operations and rules show the plan first, and Google checks it before anything is written.

    • Fixed

      Google Ads: search terms that converted recently are protected from negative-keyword suggestions again. 60- and 90-day reports really cover 60 and 90 days.

    • Fixed

      Meta: changes are recorded correctly, with your reason attached, and previews ask Meta whether it would accept the change. New objects are always created paused.

    • Fixed

      Merchant Center: refreshing a custom label can no longer remove it. Each client also uses its own service account.

    • Fixed

      Removing a client’s data covers only that client, and the change safeguard also checks your own template scripts.

    • Improved

      --yes, --dry-run and --apply are gone: running a command without --execute is the preview. A missing TikTok permission is reported as such instead of looking like an empty account.

  6. v0.6.6September 23, 2026

    Meta post boosting is available

    Boosting existing Page and Instagram posts is available. The tool’s guidance now says plainly how to switch it on for a client.

    • Improved

      When a client is missing the Page or Instagram permissions, the tool points to the one step that adds them — reconnecting that client with the boosting option — instead of describing an approval process that is already complete.

  7. v0.6.5September 23, 2026

    Meta post boosting checked against Meta’s documentation

    A tidy-up release: every step of Meta post boosting was compared with the official documentation and corrected where it drifted from it.

    • Fixed

      Facebook Page posts are read the way Meta requires — the tool obtains the Page’s own authorisation for it by itself.

    • Fixed

      Image and carousel posts are not boosted without a destination link. Meta refuses them, so the plan sets them aside up front, with the reason, instead of letting the attempt fail.

    • Improved

      Clearer messages when Meta refuses a call because of how the Meta app itself is set up, instead of a generic “invalid parameter”. A successful account connection is no longer reported as failed because of a momentary error while it is confirmed.

  8. v0.6.4September 23, 2026

    A more dependable way to connect ad platforms, and Meta post boosting as its own option

    A release about the first five minutes with the tool. Connecting Meta, TikTok and GA4 now works the same on a laptop, a remote server and a machine with no browser, and the terminal finds out by itself whether it worked. Post boosting on Meta gets its own opt-in connection, so the standard one stays as narrow as before.

    • Improved

      Connecting Meta, TikTok and GA4 is rebuilt. The approval link is shown as well as opened, so it can be approved on **any device** — a phone included. The terminal learns the outcome by itself — approved, declined or expired — with nothing to paste back. Once connected, the tool confirms the connection actually works before saying so. Nothing lands on disk; the authorisation stays in the encrypted vault tied to the licence.

    • New

      Post boosting on Meta as a **separate, opt-in connection**. It asks for Page and Instagram permissions only when an operator deliberately chooses it — the standard connection stays as narrow as before. When those permissions are missing, the tool names exactly which step closes the gap.

  9. v0.6.3September 22, 2026

    Meta account health, structural review, and the commands for the start and end of a client relationship

    A release about what a performance report cannot show. Metrics report a number moving in the wrong direction; this review reports the things that move no number at all — two ad sets bidding for the same people, a budget too thin to leave the learning phase, a campaign switched on and forgotten. Plus two commands for the edges of a client relationship: removing their data, and bringing an older project up to date.

    • New

      Meta account health in one pass: delivery, pacing, results, frequency, creative age, structural limits and audience size. Every threshold carries the reasoning behind it, so a finding can be argued with rather than simply accepted. Where the account data did not come back in full, the report **says so** instead of drawing a conclusion from a partial picture — a temporarily unreachable account and a dormant one look identical in the data.

    • New

      A review of account STRUCTURE, separate from metrics. It finds what survives months of performance reviews precisely because none of it is a number moving: ad sets with identical targeting competing with each other, conversion ad sets that will never reach 50 events a week at their current cost per result, campaigns switched on and not spending, and budget concentrated in one ad set while the others split the signal.

    • New

      Promoting organic posts on Meta and TikTok. On Meta this is the operation where a small mistake produces something indistinguishable from success: building the ad the obvious way creates a **new unpublished post** rather than promoting the existing one — the likes and comments stay on the original and the ad starts with no social proof. The tool refuses that shape and, after writing, reads the ad back to confirm which post it actually carries. On TikTok, Spark Ads became a repeatable process: per-client policy, a plan that gives a reason for every decision including the ones it skips, and memory of what has already been promoted so rotation does not start over each run.

    • New

      Boosting on Meta needs Page and Instagram permissions beyond those a standard account connection requests. The tool checks this **before** it starts and says what is missing and who can grant it, rather than stopping partway through. When the platform returns no list of granted permissions — and with this connection type it does not — it says "this cannot be read" rather than "you do not have it", because those are different facts and only one of them is a problem.

    • New

      `spaceads purge` — remove one client's data from a workspace when an engagement ends. It shows exactly what it will delete first, and states plainly what it does **not** reach: authorisations held server-side are revoked in the platform's own settings, not here.

    • New

      `spaceads migrate` — bring an existing project up to what later releases added. Updates deliberately never touch your client files, so this is a separate, explicit step rather than something that happens quietly in the background.

    • Improved

      Reports can be rendered in a language other than English without modifying the package — for agencies presenting results to their own clients.

  10. v0.6.2September 15, 2026

    The boundaries of each platform's API, written where the system looks for them

    The system knew what it could do. It did not know what the platform would refuse — and that is the difference between "we have not built it yet" and "it cannot be done", which decides whether someone waits for something that is never coming.

    • New

      The limits, call contracts and quotas for each channel — what decides whether an operation is possible at all, rather than only what is possible in principle.

    • New

      A permissions map: which capability needs which access scope on which platform, and what the failure looks like when it is missing. A missing-permission error very often reads as a bug in the tool.

    • New

      One place stating which API version each channel targets, when that version ends, and why each library version range is the range it is.

    • New

      A capability matrix separating three different answers to "can the tool do X": we have not built it, the platform does not offer it, or current permissions do not cover it. Each calls for a different response, and collapsing them into one "no" costs the operator time.

    • New

      Operational playbooks: experiments, Performance Max asset groups, budgeting, growth frameworks, inheriting an e-commerce account, product rotation and duplication.

    • Improved

      Guidance describing platform behaviour that had since changed was reconciled against current vendor documentation, including two channels whose documented API version was out of date. The knowledge base now flags when its own content is due for review.

  11. v0.6.1September 8, 2026

    Analytics: why the platform and GA4 report different numbers

    Both sides are right — they answer different questions. This release shows exactly where the difference sits and what causes it, instead of averaging two correct figures into one wrong one.

    • New

      Four Google Ads to GA4 comparisons: the gap between clicks and sessions, device, geography and channel mix. Each names the cause of the discrepancy rather than smoothing it away.

    • New

      For GA4: an hour-by-weekday view for setting an ad schedule, product-level revenue, year-on-year comparison, and first-touch versus last-touch. Each answers a question daily totals cannot.

    • New

      More from Search Console: period comparison for diagnosing a traffic drop, access to fresher data than the finalised window, branded versus non-branded splitting from terms you supply, and sitemap discovery that survives compression, redirects and index files.

    • Improved

      Cross-channel views handle accounts billed in different currencies: matching currencies still total as before, mixed ones give you a breakdown instead of a single figure that means nothing. Differing reporting time zones are flagged separately.

    • Fixed

      Quota exhaustion is recognised as quota exhaustion, rather than reported as an indexing problem with the site.

  12. v0.6.0MajorAugust 29, 2026

    TikTok: a channel you can build on, not only manage

    Until now TikTok let you run what already existed. Now it lets you build it.

    • New

      Creating campaigns, ad groups and ads on TikTok — through the same preview-and-confirm path as every other change.

    • New

      TikTok account health, in the same shape as the other channels.

    • New

      Business Center account enumeration — so before diagnosing why something is missing, you can see what the authorisation actually reaches.

    • Fixed

      Several reads behaved differently against a live account than in testing and have been reconciled, including an hourly breakdown requested over too long a period and filters sent in a shape the platform does not accept.

    • Fixed

      Revenue reporting recognises both of the platform's metric families, so an account selling through one of them is no longer shown as having no revenue.

  13. v0.5.9August 18, 2026

    Merchant Center, at the depth the channel requires

    Feed work has two properties that are easy to miss: a write through the API does nothing until you complete the whole sequence, and what you write has a limited life. This release handles both.

    • New

      Call quota checked **before** a run begins rather than discovered halfway through it — with the remaining allowance read from the account rather than assumed.

    • New

      Google's own remediation guidance for disapproved offers, instead of inferring a fix from an error code — including the distinction between a problem you can act on and one waiting on the platform's review.

    • New

      A per-client feed profile, so title and attribute work rests on that account's conventions rather than on guesswork.

    • New

      Visibility into entries approaching expiry. Attributes supplied through the API have a limited life and disappear quietly — now you see the edge before the feed work vanishes.

    • New

      A single audit command with stable finding codes and an exit status suitable for a scheduled run.

    • Improved

      Feed writes now complete the full sequence needed for a change to take effect, and verify the result from the merged catalogue rather than from the write alone. Catalogue reads report when they were truncated instead of presenting a fragment as the whole.

  14. v0.5.8August 7, 2026

    An install that behaves the same on your machine as on ours

    A release about what happens between "works for us" and "works for you". We checked it by installing the package from scratch into a clean environment and running the commands people reach for when something is wrong.

    • Improved

      The files the tool writes on your behalf — active account, change logs, cache, account configuration and generated reports — now live in your project rather than in the install directory. They survive an update and belong to your backups.

    • Improved

      Library version ranges describe what actually installs on your machine. Several were satisfied by releases that no longer carry the API surface this package uses.

    • Improved

      A `.gitignore` is written on first run, so the cache, credentials and reports containing your clients' data do not reach a repository by accident.

    • Fixed

      Credential files are created owner-readable only, including their backups.

    • Fixed

      `spaceads init` and `spaceads doctor` work on an incomplete installation — which is exactly when they are most needed.

    • Fixed

      Changing a bid target on a portfolio strategy now takes effect, rather than reporting success without changing the target.

    • New

      Editable script templates for every channel — starting points to open and adapt, including scripts that run inside the ad account on the platform's own schedule, with nothing running locally.

    • New

      Google Ads query field names validated locally, so a mistake surfaces on your machine rather than against a client's account.

    • New

      A ranked action list. Audits measured waste; they now feed one list ordered by estimated gain, so a report ends in work rather than in a figure.

  15. v0.5.7July 30, 2026

    Campaign creation for Google Ads, and the foundation of account health

    Until now the tool ran campaigns somebody had built by hand. This release closes the other half.

    • New

      Creating Search and Demand Gen campaigns from a specification, with audience decisions made explicitly rather than by default.

    • New

      Experiments, custom audiences and asset automation — run through the same preview-and-confirm path as every other change.

    • New

      Asset linking at account, campaign and Performance Max asset-group level, campaign settings (geography, devices, radius, shared lists), and Responsive Display Ad text edited in place rather than rebuilt.

    • New

      The first two layers of account health: the dated context a decision needs, and the memory of what has already been reported and settled.

  16. v0.5.6July 30, 2026

    Channels work straight after install, the change log lives in your project, knowledge reaches the context

    A delivery release, not a feature release. We audited what someone actually receives after installing rather than what sits in the code — and found two channels described as part of the product that could not start, a knowledge base nothing could reach, and a change log sitting outside the operator's project. Plus `spaceads doctor`, so the next problem of that kind is visible immediately instead of after a support ticket.

    • Improved

      Your change log now lives in your project rather than inside Python's install directory. It used to land in three different places inside the package — so "where is the history of changes on this account" had three answers and none of them was in your repository or your backup. On the first write after updating we **copy** your existing history across, we do not move it: the old location stays untouched, so nothing is lost even if the copy fails.

    • Improved

      The knowledge base now reaches the context at session start. 34 files — channel guides, cross-cutting concepts, vertical playbooks, creative specs — have shipped in the package for a long time, but nothing pointed Claude at them, so in practice it did not use them. Every session now receives an index of what exists and where it is. It reads the specific file when a question needs it, instead of answering from memory.

    • New

      New knowledge on disclosing AI-generated creative — the EU AI Act applies from 2 August 2026. The duty to disclose sits with whoever publishes the ad, and the most common failure is that the person who generated the creative never passes that fact on. The file covers exactly what Google Ads exposes, who is responsible for what, and what the system does **not** do — because a false assurance on a compliance question is worse than silence.

    • New

      New command: `spaceads doctor` — one pass over your whole install. Python version, licence status, whether each channel's library actually loads, how many clients you have configured per channel, registry shape, active client, and where your change log really lives. It changes nothing and prints no key or token, so the entire output is safe to paste into an email to us. It answers "is everything in place on my machine?" without waiting on support.

    • New

      The all-clients roll-up is finally available. The agency-mode commands referenced a digest that was not in the package — so the feature you buy the agency plan for could not be run. It works now, lists clients worst-first, and grades each one against the target ROAS in that client's own brief rather than one fixed threshold for everybody: an account targeting 6.0 sitting at 3.0 shows red, while an account targeting 2.5 at the same number shows green.

    • Improved

      Search Console and Merchant Center can finally be added by talking to Claude. The terminal wizard knew all six channels, but onboarding and add-a-client collected four — so those two quietly dropped out of the registry if you added a client the recommended way. Includes the two traps you would otherwise meet at your first error: the Search Console property URL has to be exact, and Merchant Center needs a one-time registration only someone with the ADMIN role can complete.

    • Fixed

      Search Console and Merchant Center did not start after installing. Their libraries were declared as an optional add-on, and none of our install paths pulled them in — not the installer from the purchase email, not the in-place update. The organic-search command failed on first use. Both channels now install with the system and work with no extra step.

    • Fixed

      The hint we printed alongside that error was a dead end — it had a typo in the package name, so it ended in a second error. Corrected in five places. The same problem affected the hint for the creative safety-zone check: the command looked like it succeeded while installing nothing, so the check kept reporting "skipped". It now actually enables it.

    • Improved

      Contact details from the client brief finally reach the context. Who to talk to, whether that person can approve a budget, and who owns the account on your side were all being saved in the brief and never reaching the recommendations. They do now — but only when you have actually filled someone in.

    • Fixed

      The knowledge base and report templates are finally findable. Those files have always shipped in the package, but the documentation pointed at paths that only existed inside our own repository, so every attempt to open them came back empty. Fixed, with instructions for locating them on your machine.

    • Fixed

      Three corrections in the bundled documentation: the change-log description promised a field we never write; the hint for re-connecting a channel named a command that does not exist; and the change-history review left out a fourth channel — Merchant Center.

  17. v0.5.3July 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.

  18. 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.

  19. 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.

  20. 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.

  21. 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.

  22. 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.

  23. 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".

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.

Space Ads OS changelog — system release history