Changelog
What's new
Every release, dated and explained. FanoutFox is built in public by one person, and this page is the record.
Chrome extensions update through the Chrome Web Store, and every update goes through Google's review before it reaches your browser. Entries marked "rolling out" are built, tested and queued; they flip to "live" when the store approves them. Your installed extension updates itself automatically after that. While a fix is stuck in that queue, the download page carries the current build for manual install.
v1.1.8
30 July 2026liveFeatures an engine can't feed now switch off
The runner-up layer is ChatGPT's own data structure; Perplexity's citations are flat markers with no second place. Until now the runner-up ledger and shopping still rendered on a Perplexity view, with empty states that read like findings. Verified on a live capture: the layer simply never arrives there.
- On an engine that never ships the layer, those sections disable in the nav with a "ChatGPT only" tag, the runner-up rate and latest-losses tiles sit out, and the winners-vs-runner-ups card isn't built at all. Where it does render, it carries the same engine badge the Perplexity-only cards got in v1.1.6. Real data always wins: a capture that carries the layer renders it, whatever the engine.
- OpenAI removed the retrieval pipe layer (
result_source) from ChatGPT payloads in July 2026, so the dominant-pipe column and vendor colours are retired where that data is gone, replaced by a plain note linking the research that mapped the pipes. Perplexity keeps its pipe column, and captures saved before the removal keep theirs. - Behind it, a full end-to-end pass: 132 regression assertions, every dashboard section walked on both engine slices, and a live capture on each engine parsed with the shipped adapters against that day's formats.
v1.1.7
25 July 2026liveEngine-only signals reach the popup
The v1.1.6 badge sat inside card bodies, and the popup renders every card as a collapsed row. So on the surface people actually use, nothing said a feature was engine-specific until you expanded it.
- The badge now sits on the collapsed row itself: "query router · 86% · Perplexity only", visible with no click.
- The always-open summary card gains a line whenever an answer carries engine-only extras, pointing at the rows below.
- The preview harnesses hardcoded ChatGPT as the engine label, so Perplexity captures previewed under the wrong name. Fixed.
v1.1.6
25 July 2026liveAn Engine signals section, and badges on engine-only features
After v1.1.5 the router card and trust notes existed, but only inside a single opened capture. They were on no aggregate view and in no nav entry, so you had to know they were there.
- A new Engine signals dashboard section rolls them up across the workspace: which categories the engine filed your prompts under and how confidently, which checks fire and how often, and what it says it trusts each domain for.
- An "only on this engine" badge, in that engine's own colour, marks the router card and the trust summary wherever they render.
- On ChatGPT the section says plainly that the engine exposes none of this, and how to see it, instead of rendering empty.
v1.1.5
25 July 2026liveThe router card and trust notes, captured but never shown
An honest bug for the record: Perplexity's query classifier and its per-domain trust notes had been captured since v1.1.0, and no surface ever rendered them. Found by using the extension, not by the test suite, which is exactly the kind of gap a suite can't catch.
- The query router card: how Perplexity filed your question before it searched, with the label, the confidence, and which checks fired against which thresholds.
- Trust notes on sources: the per-domain sentence saying what Perplexity considers that domain reliable for, shown on the source rows plus a summary line.
- Both appear only on engines that ship them, which set up the badge work in v1.1.6 and v1.1.7.
v1.1.4
25 July 2026liveConversion, not just retrieval
Getting fetched is close to universal. Getting cited is not. Across 57 live conversations the overall cite rate was 3.1%, and per-domain it ran from 16% down to zero, so counting retrievals was measuring the wrong thing.
- Top domains swaps the old "fetched, not cited" column for converts, the share of reads that actually earned a citation. The raw miss was always visible from the two columns either side; the rate is the part you can't eyeball.
- The Overview calls the diagnosis worst case first. Your own pages read five or more times and never cited reads as a content problem, not a crawling one. Converting below the rest of the workspace gets a warning with both rates. At or above par is stated plainly rather than dressed as a scolding.
- A citation-type tripwire. ChatGPT's own client handles seven citation-bearing types but only two have ever appeared on the wire here, so captures now flag it when a rare one fires, including the kind the model predicts rather than traces.
v1.1.1
21 July 2026liveThe personalisation lens
A user asked the right question: ChatGPT personalises answers per account, so how do you trust what you're measuring? By having the tool flag it.
- Captures get a "personalised" flag when the engine pulled from your account's own memory, history or files, or when its searches targeted your own brand or site without your prompt asking. A site: probe on your own domain for a generic question is the classic account-memory tell.
- The verdict row, the plain-English readout, the Library and the Overview all carry it, with the same honesty rule everywhere: your own placement in a personalised answer is a mirror, not the market. Rival and citation data stays honest.
- The practical fix ships with it: have someone neutral run the same prompt, copy the capture as JSON from their popup, import it into your Library and diff. The difference between the two captures is a measurement of what your account changed.
- Under the hood, the representation audit now keeps each engine's stored summaries in separate timelines, so ChatGPT and Perplexity representations of the same page never read as one page "changing".
v1.1.0
21 July 2026livePerplexity goes live, and the dashboard goes multi-engine
The multi-engine promise, delivered. FanoutFox now captures your own Perplexity sessions the same way it reads ChatGPT.
- Perplexity capture: the fan-out, sources, citations and mentions behind a Perplexity answer, plus the Perplexity-only signals: per-source trust notes and the router's classification of your question.
- Per-engine dashboard: a segmented engine selector scopes every section to one engine's captures, with engine chips throughout.
- Compare: the same prompt lined up side by side across engines. Cited in ChatGPT but invisible in Perplexity is an action plan, and now it's a view.
- Chrome asks you to approve access to perplexity.ai when this update reaches your browser. That's the new engine, and the same privacy rules apply to it: read your own session, keep everything local. On Perplexity there's no token to read at all, so it's a lighter touch than ChatGPT.
v1.0.7
22 July 2026liveThe parser catches up with ChatGPT, twice
ChatGPT changed the shape of its answer payloads on 21 July, then changed it again the next day on thinking answers. Every capture was showing the honest fallback card instead of sources. This build reads all three generations of the format, each fixed and verified against live captures the day it broke.
- The 21 July change dropped the old source wrapper and moved citations into grouped items. The 22 July change went further on thinking answers, nesting every source under per-domain result groups and turning the reference id into an object. FanoutFox now keys on the parts of the format that survived all three shapes.
- Runner-up sources moved inside citation items. The ledger finds them in their new home.
- The retrieval-pipe signal is no longer exposed in new payloads at all, so captures say so plainly instead of guessing.
- A regression suite now pins every payload generation seen so far, so the next format change fails loudly in development instead of quietly in your popup.
- Live on the Chrome Web Store since 24 July, approved after review, and it carried the v1.0.1 to v1.0.6 work below to the store with it. It's also always available as a manual install, which is where the next format fix will appear first, before the store update clears.
v1.0.6
21 July 2026liveRepresentation tracking over time
The stored-summary work from v1.0.5 now watches for change. Because the same page can appear across many of your captures, FanoutFox compares the summaries it was handed each time.
- Pages show "summary changed" with the date, and you can read the previous version next to the current one.
- A red flag when a page's summary changed and it hasn't been cited since. That's the regression worth chasing.
- Pages whose summary keeps coming back identical are marked stable across N sightings: evidence the representation is stored, not generated per query.
- The Monday brief gains a Representation gaps section: every page whose summary works against you, with the on-page fix.
- A citation-rate comparison between pages whose summaries name you and pages whose summaries don't. It only appears once you have a real sample, and it's labelled for what it is: correlation from your own captures, not causation.
v1.0.5
21 July 2026liveThe representation audit
ChatGPT doesn't hand the model your page. It hands the model a stored summary of your page. This release shows you that summary and scores it against your brand.
- Top URLs gains a "your pages · representation" view: the full stored summary for each of your pages the engine retrieved, with a verdict.
- Checks per page: does the summary name your brand, does it name your rivals (comparison pages do this constantly), do your numbers survive, is it thin for its retrieval pipe, is the stored version stale. Every failed check comes with the on-page fix.
- The popup calls out the sharpest case in plain words: your page was retrieved, wasn't cited, and its stored summary never names you.
- Everything is read from your own captures. FanoutFox never claims to see the engine's index, only what the model was actually handed in your sessions.
v1.0.4
21 July 2026liveFull stored summaries
- Captures now keep the stored page summary near-full, up to 2,000 characters (previously truncated at 300). Some retrieval pipes hand the model summaries over 1,200 characters long, and the audit needs the real text.
v1.0.3
21 July 2026liveOne-click export from the popup
Asked for in a Chrome Web Store review. Done.
- A share row under the popup verdict: CSV of the answer's sources, copy as Markdown (the full story of the answer, ready to paste into a doc, Slack or an AI chat), and copy as JSON (the raw capture).
v1.0.2
21 July 2026livePick the right workspace, or get told
- The popup's workspace chip is now a proper dropdown: see where the next capture will save, switch in one click.
- A wrong-workspace nudge: every capture is scored against every workspace's own brand. When an answer clearly belongs to a different workspace than the one it saved to, one click moves the capture and switches the active workspace.
v1.0.1
21 July 2026liveWorkspaces made properly self-contained
- Settings now always save to the workspace you're editing, and every open surface (popup, side panel, dashboard tabs) stays in sync when you switch anywhere.
- Deleting is scoped and honest: deleting a workspace removes its captures with it instead of quietly moving them, a new control clears one workspace's captures while its settings survive, and every deletion is double-confirmed.
- Each workspace's library, conversation history and diff baseline are fully independent.
v1.0.0
10 July 2026liveFirst public release
- FanoutFox approved and live on the Chrome Web Store: the fan-out, sources, citations, mentions, the trail, shopping tiers, Reddit intel, workspaces, capture diffing and the Monday brief, all local, all free.