# GHAN changelog

> What shipped, when. Every entry corresponds to something a partner could in principle verify, and the feed is available as RSS at /feed.xml for agents and readers who would rather be told than check.

Source: https://ghan.io/changelog/  
Published: 2026-09-22 · Updated: 2026-09-22  
Publisher: GHAN — the audited cross-promotion network for desktop apps (https://ghan.io)

---

## 2026-09-22 — Machine-readable site

The whole of ghan.io rebuilt as server-rendered static pages with a markdown twin for every URL, a connected JSON-LD graph, `llms.txt` and `llms-full.txt`, an OpenAPI document, and the agent-discovery files at `/.well-known/`. Content negotiation returns `text/markdown` to any agent that asks for it.

Affects: [docs](/docs/), [llms.txt](/llms.txt).

## 2026-09-22 — Supabase live, ledger proven on the real database

Core schema and the append-only ledger triggers applied to a production Postgres instance. A test suite runs the migration against a real Postgres 16 and proves `UPDATE`, `DELETE` and `TRUNCATE` on `ledger` all fail. Row-level security enabled everywhere and the public API roles revoked, closing a PostgREST exposure found during the same session.

Affects: [transparency](/transparency/), [how it works](/how-it-works/).

## 2026-09-22 — Stripe sandbox wired

Connect Express onboarding and platform payment configuration in sandbox, with a statement descriptor suffix so a charge from GHAN is recognisable on a partner's statement.

Affects: [pricing](/pricing/).

## 2026-09-21 — Offline geo and datacenter detection

Geo and ASN lookups moved to an offline MaxMind-format database, so no partner IP address leaves GHAN's infrastructure on the hot path. Datacenter detection is approximated from the autonomous system owner with a deliberately conservative allowlist, because a false positive silently discards a real install and costs a partner money.

Affects: [fraud prevention](/fraud-prevention/), [attribution](/attribution/).

## 2026-09-21 — Signing and rate card

ed25519 signing with canonical JSON serialisation, and the rate card as versioned code published through `get_rate_card`.

Affects: [pricing](/pricing/), [docs/mcp](/docs/mcp/).

## 2026-09-20 — Monorepo scaffold

API, MCP server, jobs and dashboard applications scaffolded; shared package for schemas, event types, signing and the rate card; forward-only SQL migrations with a runner that refuses to proceed if an applied migration's checksum changed.

Affects: [status](/status/).

## Questions people ask about this

### Is there an RSS feed?

Yes, at /feed.xml, declared in the head of every page on this site so an agent or a reader can discover it without being told. It carries changelog entries and articles.

### How often is this updated?

Whenever something ships. GHAN is pre-launch and moving quickly, so entries are currently weekly or more often.

