v1.7.0 · 22 October 2026

Invitations and a public case

Help for categories that are still thin.

  • Every member has a personal invite link (dashboard, or the get_invite_link tool). You hear once when someone you invited has a site approved. There are no credits or extras: the benefit is a fuller pool.
  • The dashboard shows which of your categories have fewer than 8 sites, which is where an invitation helps you most.
  • A public case page shows our own site on our own exchange, straight from the database: counts and dates only, never partner domains.

v1.6.0 · 22 October 2026

Replacements, reports and standing

A lost link no longer leaves you waiting, and standing now means something.

  • When a link is gone for good, the swap is closed and a new partner is proposed to the member who lost out straight away.
  • You can report a partner from an agreed swap (inbox or the report_partner tool). Nothing changes until an admin reviews it, and the partner is not told who reported them.
  • Standing now decides pairing. Owing two or more links ("behind"), or two links taken down or two upheld reports in six months ("restricted"), pauses new pairings until it improves.
  • Every admin decision, including report outcomes, is kept in an activity log.

v1.5.0 · 22 October 2026

Plans, redesign, hardening

Swapping stays free. This release adds an optional paid tier, a new look and a few safety measures.

  • New Plan page. Free: 2 sites. Pro: up to 10 sites, earlier pick among comparable candidates, and DR and placement filters in search. Payment and cancellation run on Stripe's own pages.
  • Site redesign: black background, serif headings, floating nav bar, new buttons, footer and sign-in screen.
  • Form validation errors are shown inline in our style instead of the browser's pop-up.
  • Domain Rating lookups are cached for a week, so asking about the same domain twice costs one Ahrefs call. A small batch endpoint can share that cache with other projects.
  • Cookie-carrying write requests from another origin are rejected. API-key requests are not affected.
  • Admins can dry-run the matcher for any site and see the scores, without creating anything.
  • Two operator commands: render every email for review, and send a one-off announcement to members who have not unsubscribed.
  • A new Account page: download everything we hold about you as a JSON file, or delete your account in one step. Deleting cancels any Pro subscription, closes swaps in progress so the other side is told, and removes all of your data.
  • The getting-started checklist now sits in the corner of every dashboard page, and a Connect your agent step ticks on the first real call with your key.

v1.4.0 · 21 October 2026

Pairing by score, quieter follow-up

Candidates are now ranked instead of merely filtered, and reminders got more careful.

  • Ranking uses category, DR distance, shared anchors, what each side offers, past generosity and waiting time. Pairs with a distant DR are never proposed.
  • 38 categories, each with neighbours. Fewer than 8 sites in a category means it looks one neighbour out, and the pairing says so.
  • Sites can declare their offer: a link in an existing article, in a new post, or on a resources page.
  • Emails were redesigned and gained plain-text versions. New notices: link confirmed live (once, to both), link missing, pairing lapsed, partner waiting on you.
  • A missing link is retried for several days and both sides hear if it returns. After six misses we stop and say so.
  • Agreed swaps still waiting on your link prompt you at 3 days, then weekly for a month, then monthly.
  • Per-tool request limits live in the database and apply equally to web and MCP.
  • An optional language model drafts listings without ever seeing domain, URL or brand; its output is scrubbed, and a metadata fallback covers failures.
  • Domain Rating refreshes in batches, and only a real reading replaces a stored value.
  • Unsubscribing now also disables the API key and blocks new listings until you resubscribe.
  • The MCP endpoint moved to the official SDK, serving the 2024-11-05, 2025-03-26 and 2025-06-18 protocol revisions from one URL.

v1.3.0 · 21 October 2026

Digest and opt-out

A periodic email for members still waiting for a partner, plus a way out of every email.

  • Digest of fitting sites: weekly, fortnightly or paused. Never empty, never while a pairing is open.
  • It shows the candidates the matcher would consider, excluding anyone you have already passed on.
  • Each email links to a preferences page that works without JavaScript.
  • Unsubscribing pauses your sites and the digest but deletes nothing; agreed swaps continue, and the same link restores everything.
  • The link is signed, so an email address alone is not enough to pause someone.

v1.2.0 · 21 October 2026

Human review of new sites

Ground rule §01 now involves a person, not only an automatic parked-page check.

  • New sites wait as pending_review and are not paired until approved. You are emailed when one arrives and again with the decision and reason.
  • Declined sites can be fixed and resubmitted. Banned sites leave pairing and their open proposals close.
  • An /admin page for operators: queue, approve, decline with reason, ban, reinstate. Admins are configured by environment variable.
  • Sites show their status, and list_my_sites returns it with any decline reason.

v1.1.0 · 21 October 2026

Conversations in agreed swaps

After both sides accept you can talk inside the pairing.

  • Two-pane Inbox: pairings on the left; details, timeline and message box on the right.
  • Messaging opens only after mutual acceptance so free text cannot leak identities early. Ended exchanges become read-only.
  • Unread counters per pairing and on the Inbox tab; opening marks as read.
  • Reply notifications are throttled to one every few hours per swap and skipped while the thread is open.
  • Two more MCP tools, for reading and sending messages, make fourteen.

v1.0.0 · 21 October 2026

Twelve MCP tools

The toolset now spans the whole swap, from scouting to the ledger.

  • Three tools (rules, categories, partner search) work without a key; the others answer with the command that adds one.
  • submit_site is split into draft and confirm=true. Your brand is stripped from the public text.
  • Added set_matching_preferences (per-site DR minimum, both directions), check_links and get_my_standing.
  • Pairing states are filterable (proposed, a_accepted, b_accepted, agreed, placed, declined, expired). Proposals lapse after 14 days.
  • Withdrawing from an agreed pairing, with a reason, is possible until a link is live.
  • get_link_brief returns a snippet in html, markdown, mdx or jsx; mark_link_placed records position, rel and site-wide use.
  • Unreadable pages are logged as unconfirmed and retried, never as missing.
  • A supplied but invalid key now returns 401 rather than falling back to anonymous.

v0.3.0 · 21 October 2026

Docs, legal and comparisons

The pages around the product.

  • MCP and API docs: setup for four clients, authentication, a reference for each tool and a worked swap.
  • Privacy notice and terms based on what the code does.
  • Eleven comparison pages, each stating where the other product is stronger.
  • A web form for listing a site that carries you through sign-in and back.

v0.2.0 · 21 October 2026

Pairing, verification, local setup

The core loop: pair, place, verify.

  • Pairing inside category and DR range, one neighbouring category only when needed, and flagged.
  • Domain Rating via Ahrefs.
  • Reported links are fetched and classified, then rechecked at 7 days, 30 days and monthly; both sides are emailed if one disappears.
  • Email through Resend for new pairings, acceptances, placements and lost links.
  • Local setup with ./dev.sh: Supabase and the app in Docker on automatically chosen free ports.

v0.1.0 · 21 October 2026

First build

The first working exchange.

  • Sign-in by emailed link, GitHub or Google.
  • Dashboard for listing sites, answering pairings, reporting links and creating an API key (hash stored only).
  • An MCP endpoint with seven tools and a REST API on the same functions.
  • A landing page with an agent demo and the four ground rules.