Quiver

Changelog

What shipped in Quiver, newest first. Every entry is drafted from merged pull requests, reviewed by a human and published from the Quiver workspace itself.

Subscribe via RSS

September 2026

Tessa Kriesel

A new competitor is profiled as soon as you add it

Adding a competitor used to find its pages and stop there — the first real profile waited for the next scheduled run, so a competitor added in the morning could sit empty until the following day.

  • Adding a competitor now runs its baseline scan straight away, in the background. You can leave the page; the profile fills itself in.
  • After that, scanning follows the cadence you chose, weekly or monthly, and nothing else starts one. The “Scan now” button is gone.
  • Asking an agent to scan a competitor that is not due gets a plain answer saying when the next scan runs, rather than an error.
  • Adding is limited to five competitors a day per workspace, since each add now includes a full scan. Editing and deleting a competitor are never limited.
  • With competitive intel switched off, adding a competitor still creates it, from its homepage alone, and nothing is read until you turn scanning on.
Competitors
Tessa Kriesel

Decide whether agents can publish

Content written by an agent over MCP could become publicly readable the moment it was written. Whether that happens is now your workspace's choice, and by default it does not.

  • With the setting off, an agent that asks to publish gets a draft, and the reply tells it the workspace wants a person to publish and that the draft is waiting. Nothing the agent wrote is thrown away.
  • Anything already published stays published. The setting decides what becomes newly visible, not what is already out.
  • Publishing from inside Quiver is unaffected — a person clicking publish is the approval this is about.
  • Admins turn it on under Agent publishing in Settings → API tokens.
Content
Agents
Tessa Kriesel

Content and artifacts show who changed them

Publishing a post used to leave nothing behind about who published it, or what they used to do it. Content and artifact pages now have an Activity section.

  • Each line says what happened, who did it, whether it was a person, an agent or Quiver itself, whether it came from the app or over MCP, and when.
  • A write from an agent is marked as one, and names the person the agent is signed in as when it knows them.
  • Beyond content and artifacts, the record covers new context versions, accepted and dismissed proposals, competitor changes, provider key changes, and API tokens granted and revoked.
  • Entries describe, they never copy. A line records what happened and to which item, never the text of a post, a prompt or a context value.
  • The record starts now — nothing from before it is reconstructed — and entries are kept for a year.
Activity
Content
Artifacts
Tessa Kriesel

Competitor scans keep a steadier pace

Two changes to how competitor scans behave when you trigger one yourself.

  • “Scan now” runs at most once every 30 minutes for a given competitor, and tells you how long is left if you ask sooner. Your weekly or monthly scans are unaffected.
  • Adding a competitor while competitive intel is switched off creates it watching its homepage only. Turn scanning on before you add one and its other pages are found for you.
Competitors
Tessa Kriesel

Competitor pages that could not be read now get read

Change detection reads competitor pages directly now, which is faster, and a page that refuses a direct read is retrieved another way.

  • Review sites and company profile pages — the surfaces most likely to sit behind bot protection — previously could not be read at all. They are covered now.
  • A page that still cannot be read is recorded as “could not read” and keeps its last successful reading, instead of being counted as a change.
  • Pages a site's robots.txt asks us not to read are left alone.
  • The first scan after this change re-reads each competitor as a fresh baseline, so expect one run with no change report before comparisons pick up again.
Competitors
Tessa Kriesel

The Content API tells you when a token is wrong

An invalid, revoked or expired API token now returns 401 instead of 404, so a broken integration is distinguishable from a wrong URL.

  • A bearer token that does not authenticate returns 401 with a WWW-Authenticate: Bearer header and a plain message saying the token is invalid or expired.
  • A bad token is refused outright. It no longer falls through to the workspace named in the address or in the query string.
  • 404 now means only what it should: no credential was presented and no workspace could be worked out from the request.
Content API
Developers
Tessa Kriesel

Sessions name themselves

A session gets a short title of its own once there is enough of an exchange to summarize, instead of staying “Untitled session” until you rename it by hand.

  • The title appears in the header as soon as it is ready, without a reload.
  • It is written with your own provider key, on whichever model you have set for utility work. A workspace with no utility model keeps its sessions untitled.
  • A session that already has a name is never renamed, including one you typed yourself.
  • Naming runs after the reply has landed, so it never holds up an answer, and if it fails nothing else about the session is affected.
Sessions
Tessa Kriesel

Artifacts keep every version, and you can restore one

Editing an artifact used to overwrite it for good. Every edit now saves the version it replaced, and you can put any of them back.

  • The artifact page lists its history newest first, with who made each change and whether it came from the app or from an agent.
  • Restoring keeps the artifact's ID and its status, so the campaign, the published content and the reminder to log results all stay attached to it.
  • A restore is saved as a version too, so restoring the wrong one is undone the same way.
  • Only a change to the title or the content saves a version. Retagging an artifact or moving it between campaigns does not.
  • Editing an artifact from your agent now edits it in place. It used to create a second artifact with a new ID, which left the original's reminder and anything published from it pointing at a copy that no longer changed.
Artifacts
Version history
Tessa Kriesel

Session replies render as formatted text

The session transcript was printing raw markdown: literal hash marks for headings, asterisks around bold text and stray horizontal rules.

The models write structured markdown by design, and the artifact and content pages already rendered it. Now the session view does too.

Headings, lists, tables, bold, links and code blocks all render properly, while you are streaming and after the reply lands. Your own messages stay exactly as you typed them.

Sessions
UI
Tessa Kriesel

AI sessions now tell you when a provider call fails

When your model provider rejected a request, the session showed an empty reply and nothing else. The response looked like the model had simply said nothing.

The Vercel AI SDK's text stream drops error events by design, so a rejected key, a wrong model id or a rate limit ended the stream cleanly with no text and no exception. We now read those errors explicitly and surface them.

  • A failed turn shows the provider's actual reason, not a blank bubble.
  • A turn that fails after producing some text keeps that text.
  • A failed turn no longer leaves an empty assistant message in the transcript, so your session history stays clean and is not replayed back to the model.

API keys are redacted from every message we show.

Sessions
Reliability
AI Providers