Skip to content

Releases: arcbaslow/meta-ads-agents

Release list

v1.0.2

Choose a tag to compare

@arcbaslow arcbaslow released this 08 Sep 12:15

Meta Ads Agents v1.0.2

Release date: 2026-09-08

This release makes installation, supported workflows and example output easier to verify from the repository front page.

Included

  • Rewritten GitHub README with a clear capability table, source installation, quick start, tested commands and links to related tools.
  • Project-specific SVG banner and icon, plus a real output screenshot generated from synthetic fixtures.
  • Reproducible offline examples, an explicit test section and maintainer release instructions.
  • Clarified that the full audit runs through an agent skill, while individual adapters run directly from Python.
  • Documented the assembled report-input schema, report formats, account IDs and caching.
  • Fixed distribution packaging: the wheel now includes all eight Python adapters instead of metadata only.

Validation

124 tests passed. Ruff passed.

Local validation used Windows and Python 3.12.14 (Node 24 for GTM Diff). The verification record lists the checks and their scope. The repository's CI matrix provides the other supported runtime/OS checks. No live ad account, analytics property, Figma file, AI call or external account write was used for the examples.

Downloads

Use the source archive for the complete toolkit, including scripts, skills, configuration, documentation and demo fixtures. SHA256SUMS.txt records the attached artifact hashes. GitHub's automatically generated source downloads are also available.

Package-registry publishing is separate from this GitHub release and remains controlled by the existing opt-in repository settings. No claim is made that this version is published on PyPI or npm.

v1.0.1

Choose a tag to compare

@arcbaslow arcbaslow released this 14 Aug 08:08

Fixed

  • The OAuth callback listener on localhost:8477 accepted any code
    it was handed. There was no state parameter, so while the listener
    was open any local page could drive it into exchanging an
    attacker-supplied code and bind the toolkit to someone else's ad
    account. The flow now generates a 32-byte state, sends it, and
    rejects a callback whose state doesn't match under hmac.compare_digest.
  • read_cache used age > ttl_seconds, so ttl_seconds=0 — the way
    callers force a fresh fetch — could still return a cache hit when the
    entry was written in the same clock tick, or when the filesystem
    reported an mtime marginally ahead of the wall clock. Non-positive
    TTLs now short-circuit to a miss and age is clamped at zero. This was
    reproducible as an intermittent test failure roughly one run in three.

Changed

  • Package, plugin, and marketplace names aligned to meta-ads-agents.
    They previously read claude-meta-ads, which pointed the plugin
    homepage and repository URLs at a repo that does not exist.
  • README rewritten: badges, accurate CLI examples verified against the
    adapters' argparse definitions, caching and rate-limit behaviour
    documented.

Added

  • MIT LICENSE file. The license was declared in metadata but the file
    was missing.
  • CI on Python 3.10 / 3.11 / 3.12 / 3.13 running ruff and pytest.
  • CONTRIBUTING.md, SECURITY.md, issue and pull-request templates,
    Dependabot config.
  • Ruff and pytest configuration in pyproject.toml, plus trove
    classifiers and project URLs. The lint rule set is selected
    explicitly rather than inherited from ruff's implicit default, which
    changes between releases and would otherwise turn a ruff upgrade into
    a red CI run.
  • scripts/conftest.py, which makes the adapters importable no matter
    where pytest is invoked from and redirects the credentials path and
    response cache to a temp directory for every test.
  • Release workflow with a tag-versus-pyproject version guard, sdist
    and wheel build, and a twine check gate.