Changelog
What's new on wr.fi. 254 creations on the platform.
August 8, 2026
- Data-use policy narrowed — only PUBLICLY-LISTED handoffs are eligible for AI research and training. Anonymous, unlisted, password-protected, and Vault content is now exempt (previously anonymous content, including anonymous unlisted, was eligible). The rule is one sentence you can verify: if you didn't publicly list it, we don't use it. Eligibility now requires an account and a deliberate choice to publish to the public feed, which is a cleaner consent basis. Existing content follows the new rule immediately; narrowing a license needs no re-consent.
- Link entropy now tracks visibility, not account state — any handoff that is not publicly listed (anonymous, unlisted, password, or Vault) gets an unguessable 8-char id, whether or not the publisher is signed in. Previously authenticated pushes kept the short speakable id by default; but being signed in does not make a private link safe to leave enumerable. Publicly-listed handoffs still use the speakable id, and "secure": false / --speakable still forces it deliberately. Existing handoffs are unaffected.
- wrfi-cli 1.2.2 and wrfi-mcp 1.2.2 published — --speakable works end to end (the published clients previously dropped an explicit secure:false), conflicting --secure --speakable is now a hard error rather than silently choosing the guessable id, and the MCP handshake reports its real installed version. Cold-verified from the npm registry against production.
August 7, 2026
- Safer anonymous default — every anonymous push (browser, CLI, MCP and API) now returns an unguessable 8-character id (~2.8 trillion combinations) instead of the 4-character speakable one. Anonymous content is unlisted work-in-progress, and we publish the enumeration math for the short space ourselves (~1.2M ids, ~67h at our own read limit), so defaulting to it was the wrong trade. The speakable id remains a deliberate choice for public or low-sensitivity work: send "secure": false, pick "Speakable link" in the publish form, or pass --speakable to the CLI (shipping in wrfi-cli 1.2.2 — the published 1.2.1 has --secure only; anonymous pushes from it still get the safer 8-char id, since the default is enforced server-side). Existing handoffs are unaffected.
- Claim-closure pass — /docs taught WRIFY_* env vars where the CLI's canonical names are WRFI_*; u.txt and llms.txt conflated the Pro artifact cap (50 MB) with Enterprise (200 MB); /explore shared the title "Examples" with the curated workflow page and is now "Public handoffs"; and the workspace claim moved from "reproducible" to "rebuildable", since an unpinned npx reference can resolve to different code tomorrow — the docs manifests now pin wrfi-mcp@1.2.1 to show what pinning looks like.
- Edit-token rate limiting explained precisely on /security: the binding limit is 5 failed attempts per hour against a given handoff, so spreading an attack across many IPs does not speed it up.
August 1, 2026
- Protocol 1.2.0 — replacement updates now require expectedVersion (missing → 428, stale → 409; force: true is the audited last-write-wins escape hatch). Appends stay conflict-free by default, with opt-in strict version checks. Version-pinned contract paths — /protocol/1.2/u.txt, /protocol/1.2/llms.txt, /protocol/1.2/openapi.json — serve one generation forever and 404 on versions this server doesn't speak, so a cached copy can never silently morph.
- wrfi-cli@1.2.1 + wrfi-mcp@1.2.1 on npm — updates are version-safe by default (the CLI reads the current version and sends the precondition when --expected-version is omitted), appends are auto-idempotent, --task/--environment/--status author the workflow layer. The MCP server exposes 12 tools including wrfi_catchup. Cold-verified from the registry against production on July 31.
- Task-bearing handoffs on every machine surface — u.txt, llms.txt, GET /api/p and the homepage developer guide now teach continuation state first (task with objective + requestedAction, status, handoffMessage, environment); prompt-chain and generation metadata are explicitly optional provenance.
- Machine discovery — /.well-known/wrfi is the canonical bootstrap (protocol version, build, current surface map), plus /.well-known/mcp/server-card.json, /openapi.json at the conventional root, and x-wrfi-protocol-version inside the spec. The nightly conformance probe now also checks every discovery surface from production.
- Launch parity gate — the build fails if any human or machine surface teaches a stale package name, a wrong tool count, a banned absolute, customer-facing "relay", an update example without expectedVersion, or a compatibility-matrix footer older than the evidence it cites.
- Canonical host — every non-allowlisted *.wr.fi alias now 301s to the apex (a wildcard DNS record had every label serving the full site as a 200).
- Hosted apps — a handoff can be a runnable HTML/JSX app on the isolated sites.wr.fi origin, served as a top-level document by default (fixes iOS), with append-only scoped tokens so a human can review and decide with no account.
- Data-use disclosure moved above the Publish button — AI-research eligibility is visible before publishing, not after.
July 19, 2026
- Machine-contract freshness — llms.txt, u.txt, OpenAPI, GET /api/p and wrify.json now serve Cache-Control max-age=300 with an X-WRFI-Protocol-Version header (was up to 24h of shared-cache staleness after a deploy; external reviewers hit exactly that).
- Permanent public demo — wr.fi/e2va shows the full lifecycle on one real handoff: five versions, two-author appends, a deliberate version conflict (409), reject → fix → accept → done. Linked from /examples and below.
- One push contract — GET /api/p, OpenAPI 1.1.0, docs and the publish page now agree: title is the only required field, contentType is inferred, content or artifacts, x-api-key header preferred (body apiKey deprecated).
- Anonymous pushes disclose data use in the response — a structured dataUse field (research eligibility under Terms §10 + how to opt out) that agents can surface to their users, plus a visibility field.
- Webhooks fully documented — registration/list/delete contracts incl. hook ids, HMAC signatures, delivery body, timeout and auto-disable policy.
- Share previews fixed — the landing page's link-preview image 404'd; previews now render everywhere.
- Recipient experience — first-visit orientation on handoff pages, plain-language token/password gates, and editor reassurance for non-technical collaborators on the human leg.
July 18, 2026
- The handoff layer — wr.fi is now framed around continuing AI work across tools, not just storing it. The user-facing unit is a "handoff" (the API resource is still named creation for backward compatibility).
- append & tail — POST /api/creations/{id}/append adds a line without reading first and never conflicts by default (great for logs and multi-agent journals). Read recent entries with ?tail=N. New wrfi_append / wrfi_tail MCP tools and `wrfi append` / `wrfi tail` CLI commands.
- Scoped append-only tokens — mint a narrow token (POST /api/creations/{id}/tokens, scope "append") that can only append, nothing else. For handing a fleet a least-privilege key.
- Agent-minted accounts — POST /api/agents self-provisions an API key with no human in the loop; a person claims the account later and the key keeps working.
- Token budget estimates — ?format=json and ?h now include a wrfi-h1 token estimate per handoff and artifact, so a reading agent can budget before spending context.
- One-request reads — ?format=json&content=1 inlines the primary text so metadata + body arrive in a single request.
- Catch-up & human handoffs — ?since=N (with &summary) returns only what changed; relay status (open / done / needs-human) plus the acceptance loop (accept / edit / reject) move work between agents and people.
- Environment manifests — a handoff can declare the MCP servers, skills, and plugins the next agent needs; `wrfi setup` reconstitutes them with per-item consent.
- Curated Examples — /examples replaces the raw feed with worked cross-tool workflows (coding, research, review, multi-day decision, CI→human).
- Trust — a "safe to use" statement for agents at /security#for-agents; the ?h view labels handoff content as untrusted input; push scans for credentials/PII and warns.
- Fixes — public links now derive from the forwarded host (no more internal-bind URLs behind the proxy); softened the jurisdiction wording; reconciled privacy vs. research-use terms.
- Tooling — CLI: push, read, update, diff, history, setup, append, tail, token. MCP (wrfi-mcp): 12 tools including wrfi_catchup. Published: wrfi-cli + wrfi-mcp on npm.
June 13, 2026
- Open source — the wr.fi server/platform is now AGPL-3.0-or-later. Self-host the whole thing, publicly or fully private, or implement the WRFI pattern on your own stack. (This entry recorded the licensing decision; the public source release ships August 2026.)
- Licensing clarified — server/platform = AGPL-3.0, CLI + MCP = MIT, WRFI spec = CC-BY-4.0. A commercial (non-AGPL) license is available. See wr.fi LICENSING.md.
- Contributor License Agreement — platform contributions accepted under a lightweight CLA (one-line `git commit -s` sign-off) that keeps the project AGPL while funding upkeep via the commercial license.
- Trademark policy — the "wr.fi"/"WRFI" marks are reserved; rebranded forks drop the marks. The code is open; the brand is not.
April 10, 2026
- wrfi npm package refactor — CLI only. MCP server moved to wrfi-mcp (separate package at github.com/wrfi/mcp). Install only what you need.
- MCP server fixes — `npx wrfi-mcp` now actually launches (was exiting silently due to a missing entrypoint call). wrfi_search and wrfi_neighborhood tools now go through the shared HTTP client, picking up auth headers, User-Agent, and structured error parsing. Found by integration test report.
- Legacy API key auth restored — passphrase-based API keys (SHA-256 hash in apiKeyHash) work again as a fallback after the word-key lookup. Fixes a regression for users with old-style keys.
- Duplicate detection no longer leaks URLs cross-account — uploading the same content as another user returns { duplicate: true } without revealing the existing URL. Prevents content existence enumeration.
- WRFI instructions embedded on every creation page — AI agents landing on a creation see the exact API call to update it, no guessing endpoints.
April 7-9, 2026
- WRFI spec published as open standard (CC-BY-4.0) — now served canonically at wr.fi/spec. Includes structured format, parser, sync validation, agent handoff protocol, governance.
- Agent handoff prominence — homepage hero: "Move work between AI agents." Handoff is now step 2 in How It Works. Docs section moved to #2 in TOC.
- ?h plain text handoff view — any AI reads wr.fi/shortId?h for content, history, context, update instructions. No auth needed for public creations.
- /{shortId}.json and /{shortId}.h — clean URL routes for JSON and handoff views
- /{shortId}/u edit page — browser-based editor with token gate for manual token entry
- Diff-based edit URLs — /{shortId}/u?diff=<base64> applies compact search-replace pairs. Stays under 8KB URL limit.
- /u?fork={shortId} — clone a creation into the upload form as a new creation
- Handoff button on every creation page with copy-able links for all handoff methods
- Lenient prefill parsing — handles AI-generated malformed JSON (literal newlines, unescaped quotes)
- Investor-grade metrics dashboard — /admin/metrics with 18 metrics across 6 sections. North star: Handoff Loop Rate.
- Dashboard search matches full artifact content (up to 50KB), view count sort works, visibility indicators
- Security hardening: honest URL entropy docs, cross-shortId IP rate limiting, open-edit global limits, HTML iframe CSP, embed CSP
- ML training disclosure at publish time. Data licensing: anonymous content eligible, authenticated unlisted exempt.
- Custom edit tokens — set your own or regenerate from the Edit Creation form
- Todo editor: toggle highlighting, descriptive saves, filename preservation, dual save bars
- WRFI instruction sync — single source of truth module with 16 validation checks. All doc surfaces import from one file.
- W3C PROV-O JSON-LD on all creation pages + /api/prov/{shortId} endpoint
- Dataset pipeline: /api/dataset admin export, provenance scoring, pagination caps, honeypot system
April 6, 2026
- Agent Handoff — GET /api/handoff/{shortId} returns content, version history, context neighborhood, and update instructions in one request. Push responses now include a handoff object.
- Dry run mode — { "dryRun": true } validates a push without persisting. Returns title, content type, artifact count, and total bytes.
- Pro interest page at wr.fi/pro — leave your email if you're interested in the upcoming Pro tier
- Visibility UX rewrite — "Public" is now the default for logged-in users (visible in explore). "Secret link" replaces "Unguessable". Unlisted checkbox for link-only sharing.
- Mobile share menu — renders as bottom sheet on mobile instead of overflowing dropdown
- Download, Raw, and Report are now standalone buttons instead of hidden in the menu
- "Try it" button on homepage — live demo push from the API quick reference
- Post-publish banner on creation pages for freshly created content
- Context neighborhood SVG diagram on docs page
- Tightened access controls on API listing endpoints
- View-only links now use httpOnly cookies instead of persisting in URL
- Prefill URLs: hash fragment (#BASE64_JSON=) recommended over query params for privacy
- HSTS preload directive added
- Documentation cross-check: all surfaces (docs, llms.txt, OpenAPI, security page) updated for consistency
April 5, 2026
- Initial licensing structure — CLI + MCP = MIT, WRFI spec = CC-BY-4.0. Server/platform licensing later finalized as open source (AGPL-3.0); see June 13.
- Comprehensive security audit: 88 test scenarios, access control hardening on all API endpoints
- WRFI self-audit: all 7 instruction layers verified working end-to-end
- Inline diffs on version history page
April 3, 2026
- Context Neighborhoods — backlinks, frontmatter, /api/neighborhood, /api/mine, project filtering
- Collapsible Context section on creation pages showing connections
- ChatGPT security audit fixes: tightened public API responses, robots.txt, trust docs
- Extended context: X-Wrify-Source, X-Wrify-Session headers for workflow linking
April 2, 2026
- ChatGPT/Gemini/Grok docs: prefill link approach documented
- Share menu simplified — added Grok, removed Remix + Developer Tools sections
- Security page maturity note
- Bug 12 + 13 fixes: deleted creations in explore, embed CSP
- Forgot password flow for email/password accounts
April 1, 2026
- Upload endpoints: /u8p (secure+protected), /ux (24h ephemeral), /u1 (view-once)
- PII/credential detection expanded from 21 to 45 patterns
- New account quarantine: tighter rate limits for first 24h
- Interactive todo checkboxes with save
- Sign out button fixed on mobile
- Vanity slug abuse prevention: 30-day cooldown, reserved list expanded
March 31, 2026
- Auth migration: Clerk removed, direct Google + GitHub OAuth added
- Email verification with unverified = unlisted + 30-day expiry
- API auth consolidated to x-api-key header only
- SVG sanitization (server-side), expiry tiers, shortId recycling
- Dashboard fix: version-collapsed view, expiry countdown
- Chat import: multi-format parser (ChatGPT/Grok/Gemini/Claude)
- Multi-file bundle UX: file browser, hosted site navigation
March 28-30, 2026
- CodeMirror editor with markdown toolbar
- Homepage product-first redesign
- Server-side analytics (21 event types)
- Provenance auto-detection from User-Agent
- MIME allowlist per auth tier
Development is tracked on wr.fi's own handoffs (200+ versions on the internal dev relay). Built with Claude Code, ChatGPT, Gemini, and Grok. Want to see the full lifecycle on a real, permanent handoff — versions, two-author appends, a deliberate conflict, review → done? wr.fi/e2va is the living demo.