Skip to content

Latest commit

 

History

History
223 lines (136 loc) · 11.2 KB

File metadata and controls

223 lines (136 loc) · 11.2 KB

Changelog

All notable changes to the AIACTA reference implementation are documented here.

Every time you merge something to main, the release-please workflow reads your commit messages and opens (or updates) a "Release PR" automatically. The PR contains the updated CHANGELOG.md and bumped version numbers. When you're ready to release, merge that PR. It creates the git tag, which triggers your existing release.yml, which publishes to npm and PyPI. Commit message format matters. See CONTRIBUTING.md(§5.2) for details.


1.0.14 (2026-04-21)

Bug Fixes

  • lint: CLI output with per-field OK/WARN/ERROR findings (#87) (4f895ae)

1.0.13 (2026-04-14)

Bug Fixes

  • providers: added more providers as example (#82) (1ca083c)

1.0.12 (2026-04-14)

Bug Fixes

  • tests: sync test env var and header names (#80) (d66af70)

1.0.11 (2026-04-13)

Bug Fixes

  • headers: standardize all custom HTTP headers to X-AIACTA- prefix (#78) (7646a4c)

1.0.10 (2026-04-11)

Bug Fixes

  • webhook: provenance SQL columns, INSERT OR IGNORE transparency, auth middleware, gateway webhook resolution, fail-closed signing keys (#76) (62b252a)

1.0.9 (2026-04-11)

Bug Fixes

  • ci: changed from npm install to npm ci for faster workflow (#74) (c1e539f)

1.0.8 (2026-04-11)

Bug Fixes

  • ct: replace HTTP_CODE grep separator with separate curl calls to fix exit code 2 (#60) (fae570e)
  • query: provenance and cleaner citation routes (#64) (43c5e41)
  • stale: not_planned instead of 'non planned' (#62) (00f2505)

1.0.7 (2026-04-09)

Bug Fixes

  • release: aac dashboard released as asset artifact in Actions run, with release notes updated (#56) (ef08b2d)

1.0.6 (2026-04-08)

Bug Fixes

  • release: delete immutable release and recreate with asset, bypasses HTTP 422 permanently (#54) (46919df)

1.0.5 (2026-04-08)

Bug Fixes

  • release: create draft releases so dashboard asset can be uploaded before publishing (#52) (9c9374d)

1.0.4 (2026-04-08)

Bug Fixes

  • release: inject version from release tag into setup.py and package.json at build time — eliminates race condition with version-sync workflow (#50) (7bd636d)

1.0.3 (2026-04-08)

Bug Fixes

  • release: upload dashboard asset to existing release using gh CLI instead of softprops (#48) (96dca3d)

1.0.2 (2026-04-08)

Bug Fixes

1.0.1 (2026-04-07)

Bug Fixes

  • ci: dashboard vitest --passWithNoTests, jest --forceExit for Express packages; update READMEs to scoped names (#28) (6322e10)
  • npm: add keywords, homepage, repository, and bugs fields to published packages (#30) (830bb80)
  • release: linked versioning — release-please now syncs all package versions together (#32) (193fe3b)
  • release: point Python test step at crawl-manifest-client where tests actually exist (#29) (849b69d)
  • release: scope npm packages to @aiacta-org, fix release.yml trigger (#26) (49662b6)
  • release: sync all package.json versions from root before test (#35) (7a037b7)

1.0.0 (2026-04-05)

Bug Fixes

  • resolve 10 bugs blocking CI and production release (#18) (981cc01)
  • updated versions for package for successful CI workflow (#19) (3eb65a2)

1.0.0 (2026-04-03)

Added

  • Complete reference implementation of all five AIACTA proposals
  • ai-attribution-lint CLI validator (§5.7)
  • ai-citation-sdk for Node.js, Python, and Go (§3.4)
  • crawl-manifest-client for Node.js and Python (§2.2)
  • AAC reference server with SQLite (§7.3–7.5)
  • VWP gateway with HMAC and Ed25519 signature verification (§3.4A–D)
  • Honeypot verification node (§2.4.1)
  • Referrer-Policy middleware for Node.js and Python (§4.2–4.4)
  • Attribution test harness with Docker (§12.1)
  • Complete specification documents for all five proposals
  • Implementation guide for AI providers
  • Creator guide for publishers
  • AAC governance documentation
  • GitHub Actions CI/CD pipeline
  • Security policy

1.0.0 (2026-03-29)

Added

Core packages (§12.1)

  • ai-attribution-lint — CLI validator for ai-attribution.txt files. Validates field syntax, SPDX licence IDs, webhook reachability, robots.txt conflicts, purpose enum values, and reward tier values.
  • ai-citation-sdk — Webhook receiver SDK in Node.js, Python, and Go. HMAC-SHA256 signature verification, idempotency handling, 6-attempt retry schedule, and Express middleware.
  • crawl-manifest-client — Pull client for the Crawl Manifest API (§2.2) in Node.js and Python. Cursor pagination, 90-day range validation, rate-limit backoff, and in-memory caching.
  • aac-dashboard-lite — Self-hosted React analytics dashboard. Aggregates citation events from multiple AI providers; visualises distribution weights per §7.5 formula.
  • attribution-test-harness — Docker sandbox with a mock AI provider server, publisher fixtures, and E2E scenario tests for all four technical proposals.

Additional packages

  • aac-server — AAC Reference Server with provider/publisher enrollment, citation ingestion, distribution engine, query classifier, velocity throttling, FPA fraud detection engine, and Provenance Query API (§9.5.1).
  • vwp-gateway — Verifiable Webhook Protocol gateway (§3.4A-D): Ed25519 + HMAC-SHA256 provider verification, Proof-of-Inference spot-audit, anti-Sybil velocity throttle, and webhook forwarder.
  • referrer-middleware — Express and WSGI middleware enforcing Referrer-Policy: origin and opt-in UTM parameter appending (§4.2-4.4).
  • honeypot-verifier — Verification Node server (§2.4.1): canary URL registration, crawler header logging, and model completion probing to detect crawl-purpose misreporting.

Shared

  • JSON Schema definitions for all three AIACTA wire formats (crawl manifest, citation webhook, ai-attribution.txt parsed model).
  • TypeScript type definitions shared across Node.js packages.

Content hash utility (§2.3)

  • computeContentHash / verifyContentHash in both Node.js and Python. Implements "SHA-256 of UTF-8 normalised body text (HTML stripped, whitespace collapsed)" as specified.

Query classification (§7.4)

  • classifyQuery heuristic classifier distinguishing Content-Dependent Queries from Logical/Utility Queries for PCF fee calculation.
  • calculatePcfFee returns 0 for logical/utility queries per spec.

Documentation

  • docs/getting-started.md — Quick-start for publishers and AI providers.
  • docs/compliance-tiers.md — Bronze → Platinum implementation guide.
  • docs/proposals/ — One deep-dive doc per proposal.
  • docs/governance/aac-governance.md — Working group composition and specification change process.
  • docs/integration/ — C2PA and schema.org integration guides.

Roadmap

[1.1.0] — Planned

  • Canonical-URL field in ai-attribution.txt (§6.5)
  • C2PA-Endpoint field for cryptographic provenance (§10.1)
  • PostgreSQL adapter for aac-server
  • Full OAuth 2.0 authentication on AAC server endpoints
  • Squarespace and Medium CMS integrations

[1.2.0] — Planned

  • MAJOR version schema change process per §5.6
  • W3C REP working group liaison submission
  • ML-based query classifier (replaces heuristic in query-classifier.js)