Skip to content

v0.18.0

Choose a tag to compare

@hyoshi hyoshi released this 16 Sep 21:53
000bb62

Changed

  • Google Ads API v25 (#753). mureo now speaks Google Ads API v25 (was
    v23): the GOOGLE_ADS_API_VERSION pin and every
    google.ads.googleads.<version> import moved together, so the services the
    client calls and the enum / type modules mappers and _enum_names
    import are the same version by construction (policy.learning_rules only
    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-ads 32.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, the developer-token header 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), so developer_token / GOOGLE_ADS_DEVELOPER_TOKEN are 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 setup lets you press Enter at the prompt and
    writes no empty key, mureo configure's Google form keeps the token field (now
    last and no longer required) and validates only Client ID and Client
    Secret, and mureo auth check-google reports "developer_token": null when there is none. A
    legacy token already in ~/.mureo/credentials.json is 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-ads dependency moves to >=32,<33 for the SDK release that made
    the token optional, and mureo now pins the API version it speaks
    explicitly on every client it builds (v23 here; #753 above moves the pin
    and the imports to v25 together), so the library's own default can never
    silently desynchronise the services from the google.ads.googleads.<version>
    types mureo imports. The google-ads-official
    provider follows upstream and moves GOOGLE_ADS_DEVELOPER_TOKEN from its
    required to its optional env vars — Application Default Credentials alone
    now make it credentialed.