This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+11 more
ReleasePort's take
Light signalRelease v0.9.7 adds optional `account_credential_fields` support to mureo.core.providers and updates built‑in adapters accordingly.
Why it matters: If you author or maintain provider plugins, update implementations to declare credential fields; otherwise treat as FYI.
Summary
AI summaryAdded optional account_credential_fields for provider plugins enabling introspection and validation.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Adds optional account_credential_fields for self-describing providers in mureo.core.providers. Adds optional account_credential_fields for self-describing providers in mureo.core.providers. Source: llm_adapter@2026-05-22 Confidence: high |
— |
| Feature | Medium |
Introduces optional `account_credential_fields` on provider plugins. Introduces optional `account_credential_fields` on provider plugins. Source: granite4.1:30b@2026-05-22-audit Confidence: high |
— |
| Feature | Low |
Adds public `AccountCredentialField` dataclass to `mureo.core.providers`. Adds public `AccountCredentialField` dataclass to `mureo.core.providers`. Source: granite4.1:30b@2026-05-22-audit Confidence: high |
— |
| Feature | Low |
Provides `get_account_credential_fields(provider)` accessor for safe retrieval. Provides `get_account_credential_fields(provider)` accessor for safe retrieval. Source: granite4.1:30b@2026-05-22-audit Confidence: high |
— |
| Feature | Low |
Extends plugin authoring documentation with guidance on declaring credential fields. Extends plugin authoring documentation with guidance on declaring credential fields. Source: granite4.1:30b@2026-05-22-audit Confidence: high |
— |
| Refactor | Low |
Updates built-in adapters (`GoogleAdsAdapter`, `MetaAdsAdapter`) to declare account credential fields. Updates built-in adapters (`GoogleAdsAdapter`, `MetaAdsAdapter`) to declare account credential fields. Source: granite4.1:30b@2026-05-22-audit Confidence: high |
— |
Full changelog
Added — Optional account_credential_fields for self-describing providers (#131)
Provider plugins (built-in google_ads / meta_ads, and third-party plugins discovered via the mureo.providers entry-point group) can now declare an optional account_credential_fields: tuple[AccountCredentialField, ...] class attribute so introspection tooling — the mureo providers … CLI, configuration wizards, plugin authoring guides — can render setup prompts, validate config, and document plugins without hardcoding per-provider knowledge.
from mureo.core.providers import AccountCredentialField
class MyAdsProvider:
name = "my_ads"
display_name = "My Ads"
capabilities = frozenset({...})
account_credential_fields = (
AccountCredentialField(
key="advertiser_id",
display_name="Advertiser ID",
placeholder="adv-12345",
required=True,
description="From the MyAds dashboard.",
),
)
- New public surface in
mureo.core.providers:AccountCredentialField(frozen dataclass —key,display_name,placeholder="",required=False,description="") andget_account_credential_fields(provider) -> tuple[AccountCredentialField, ...]accessor. The accessor reads the optional attribute defensively (returns()when absent) and validates the shape (tupleofAccountCredentialFieldonly) — malformed declarations raiseTypeErrorat introspection time, not deep inside the consuming UI. BaseProviderProtocol is unchanged. The new attribute is documented as optional in theBaseProviderdocstring; the Protocol body itself stays stable so every pre-feature plugin keeps loading without modification.- Built-in adapters updated:
mureo.adapters.google_ads.GoogleAdsAdapterdeclarescustomer_id;mureo.adapters.meta_ads.MetaAdsAdapterdeclaresad_account_id. Operator-shared credentials (developer token, app secret, refresh token, MCClogin_customer_id) intentionally do NOT appear — those belong to a separate operator-level layer. - Plugin author guide:
docs/plugin-authoring.md§3 (BaseProvider) gains a Declaring per-account credential fields (optional) subsection covering the dataclass shape, defaults, and the accessor's defensive-read / strict-validation semantics.
Backward compatibility: providers that do not declare account_credential_fields continue to load unchanged; get_account_credential_fields() returns (), which downstream tooling treats as "no per-account configuration needed."
Install
pip install --upgrade mureo
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About logly/mureo
Framework for AI agents (Claude Code, Cursor, Codex, Gemini) to operate Google Ads, Meta Ads, and Search Console. Grounded in a local STRATEGY.md — not metric-chasing. Defense-in-depth security, local-first. Apache 2.0.
Related context
Related tools
Beta — feedback welcome: [email protected]