Repository navigation
v0.18.0
Changed
-
Google Ads API v25 (#753). mureo now speaks Google Ads API v25 (was
v23): theGOOGLE_ADS_API_VERSIONpin and every
google.ads.googleads.<version>import moved together, so the services the
client calls and the enum / type modulesmappersand_enum_names
import are the same version by construction (policy.learning_rulesonly
cites the enum's reference URL and was updated by hand). The
descriptor-driven sweep was re-run against the v25 protos: every GAQL field
mureo selects and every attribute its mappers read still exists, and nothing
mureo selects or reads was among what v24 and v25 removed.google-ads32.x
is required (already pinned by #751). -
Google Ads no longer requires a developer token; setup moves to the
Google Cloud Console flow (#751). Google sunset Google Ads API developer
tokens on 2026-09-09: the API access level is now a property of the Google
Cloud project that issued the OAuth client, thedeveloper-tokenheader is
optional and ignored by the API servers, and a future major API version
will reject it outright. New users request access in the Cloud Console
(APIs & Services → Google Ads API → Overview, no manager account
needed), sodeveloper_token/GOOGLE_ADS_DEVELOPER_TOKENare optional
everywhere: the credentials loader accepts a file or an environment with no
token (and reads an empty value as absent) as long as the three OAuth
values are there,mureo auth setuplets you press Enter at the prompt and
writes no empty key,mureo configure's Google form keeps the token field (now
last and no longerrequired) and validates only Client ID and Client
Secret, andmureo auth check-googlereports"developer_token": nullwhen there is none. A
legacy token already in~/.mureo/credentials.jsonis still read, still
sent, and is preserved when the wizard is re-run and the prompt skipped —
nothing to migrate. Existing users should confirm the access level on their
project's Google Ads API Overview page (Google migrated every project that
called the API with an approved token in the 90 days before the sunset) and
that their developers hold owner/editor IAM roles on that project. The
google-adsdependency moves to>=32,<33for the SDK release that made
the token optional, and mureo now pins the API version it speaks
explicitly on every client it builds (v23here; #753 above moves the pin
and the imports tov25together), so the library's own default can never
silently desynchronise the services from thegoogle.ads.googleads.<version>
types mureo imports. Thegoogle-ads-official
provider follows upstream and movesGOOGLE_ADS_DEVELOPER_TOKENfrom its
required to its optional env vars — Application Default Credentials alone
now make it credentialed.