Skip to content

Changelog

What shipped in each release

New features, fixes, upgrade steps, and configuration changes, straight from our GitHub releases.

v0.6.6

LatestView on GitHub

This release adds per-article usage counts to Knowledge coverage, starts recording who added each knowledge-base article and how it changed over time, and makes every dashboard stat card link to the tickets behind its number.

⚠️ Upgrade steps

  • Two database migrations run automatically on start: 0059_kb_article_created_by and 0060_kb_article_events. Both are additive and safe to re-run. Existing articles are not backfilled, so an empty "added by" means unknown. (#434, #436)

New

  • Article usage on Knowledge coverage — each article shows how many times it was supplied to the assistant as context, over the retained window (up to 400 days) and the last 30 days. If usage can't be loaded, the page says "Usage unavailable" instead of showing zero. Docs (#441, #459)
  • Clickable dashboard stat cards — Auto-Answered, Needs Review, AI Drafts Pending and SLA Breaches open the tickets page with a matching filter, and Deflection Rate opens Analytics. The tickets page shows a "Filtered by" label and keeps the filter when you press Filter or Load more. Docs (#421, #460)
  • Who added each article — articles written by hand, promoted from a ticket, or approved from the review queue now record the team member who added them. Imports and syncs leave it empty. (#434)
  • Article history — every create, promote, approve, reject, reopen, import, sync and edit is recorded in an append-only history. It stores a fingerprint of the text, not the text itself. Nothing displays it yet. (#435, #436)
  • Blog — new post on turning support answers into a searchable knowledge base, with its own cover art. (#449, #451, #454)

Improved

  • The Deflection Rate card now shows the same figure as Analytics (bug reports and feature requests are left out). (#421)
  • Header and footer Docs links go through a tracked link on hosted builds; self-hosted and local builds keep the in-app /docs route. (#416)
  • Bug, feature, integration and docs issue forms are now available on GitHub. (#418)

Fixed

  • Markdown images in blog posts rendered as broken images. They now display correctly. (#451)
  • A pruning off-by-one kept 401 days of article usage instead of 400. It now keeps exactly 400. (#459)
  • CLOUDFLARE_WEB_ANALYTICS set on the host never reached the Docker build, so the analytics beacon was blocked by the content security policy. (#411)

Configuration changes

VariableRequiredPurpose
CLOUDFLARE_WEB_ANALYTICSnoNow declared as a Docker build argument, so setting it on the host takes effect when you build the image.

Security

This release includes security fixes.

Contributors

Thanks to @Aaqibhafeezkhan (#441), @delusional-whispers (#421) and @NathanTarbert.

New Contributors

Full Changelog: https://github.com/answerLoops/answerLoops/compare/v0.6.5...v0.6.6

v0.6.5

View on GitHub

Knowledge Gaps now groups repeated questions, answerLoops records which articles ground your answers, and connecting Discord leads straight into choosing channels. Tickets also say plainly why they have no AI draft.

Upgrade steps

  • Four database migrations (0055 to 0058) run automatically at boot. They add article usage counts, a sync job lease, retrieval and review limits, and the reason a ticket has no AI draft. Nothing needs to be run by hand.

New

  • Repeated questions on Knowledge Gaps — tickets asking the same question are folded into one row with an "Asked N times" badge, most-asked first. Docs (#388, @NathanTarbert)
  • Article usage tracking — answerLoops now counts how often each article grounds an answer (widget replies, ticket drafts, Discord /ask and Agent API answers). Counts are stored as a number per article per day, with no question, visitor or ticket attached, and are removed with the article or workspace. Docs (#389, @NathanTarbert)
  • Channel selection after connecting Discord — a newly connected server opens its channel picker automatically, shows "Needs channels" until you save at least one, and leaves a "Connect channels" button if you close it. Docs (#385, @NathanTarbert)

Improved

  • Tickets without an AI draft now say why: bug reports and feature requests are left for a person by design, unverified email senders are held for review, and a reached AI limit or missing plan links to the right place. Older tickets get a neutral note. (#407, @NathanTarbert)
  • The OpenAPI spec and the OAuth protected-resource metadata now advertise your public address, taken from APP_URL and then your proxy's forwarded host, instead of the internal one. (#400, #402, @NathanTarbert)
  • Article limits and prompt formatting are applied the same way everywhere articles are added or answers are generated. (#394, @NathanTarbert)
  • Self-hosting sign-in docs now describe Google as the only sign-in method, and the README is a short overview with one-command setup. (#382, #408, @NathanTarbert)

Fixed

  • Connecting Discord, Slack, Gmail or Outlook showed no result: no success message, no channel picker, and a failure looked like nothing had happened. The routes now land on the Integrations page and show the outcome. (#384, @NathanTarbert)
  • The Slack logo on the homepage, sign-in page and blog covers was drawn as scattered shapes. It now shows the real mark. (#409, @NathanTarbert)

Dependency updates

  • The AI SDK moved to v7 with its provider packages at v4, Stripe packages to their new majors, and CopilotKit with the AG-UI client, plus routine minor and patch updates. (#395, #396, #398, #403)

Security

This release includes security fixes.

Contributors

Thanks to @NathanTarbert.

Full Changelog: https://github.com/answerLoops/answerLoops/compare/v0.6.4...v0.6.5

v0.6.4

View on GitHub

Hosted workspaces now get AI usage included, so a new workspace can use answerLoops before connecting its own provider. The knowledge base gains a review queue, an add-knowledge form and a coverage view. Connecting a channel now tells you exactly what happened and what is left to do.

What's New

  • Included AI usage on hosted plans — hosted workspaces run on the platform's models within a usage allowance, with separate budgets for answers and for knowledge-base processing, through the trial and then each month. Connecting your own provider removes the limit, and any supported chat provider works without a separate embedding key. A dashboard banner warns at 80% and when usage runs out. Docs (#373, #381)
  • Knowledge review queue — questions the assistant couldn't answer land in a per-workspace queue on the Knowledge Base page, most-asked first. Owners and admins edit and approve them into published articles, or reject them. Docs (#362)
  • Add knowledge from the dashboard — a form on the Knowledge Base page writes a question and answer straight into the KB. Docs (#367)
  • Knowledge coverage tab — shows what the chat assistant can answer from: article counts by state, grouped by source. Docs (#337)
  • Rich answer cards in the chat widget — step-by-step guides, quick replies, callouts, link cards and contact options, plus a faster first response. Docs (#329)
  • Channels first — after connecting a Discord server, the card says "This server does not have any channels connected", shows a "Needs channels" status, and opens the channel picker straight away. Failed connects now show the reason on screen until dismissed. Docs (#384, #385)
  • Sign-in page redesign — a new two-panel layout. A sign-in method's button appears only when its credentials are set; an install with none sees an explanation and a link to the self-hosting guide. Docs (#371)

Improved

  • Simulation and file uploads stop cleanly when included AI usage runs out part-way, keep what they finished, and say why. (#378)
  • Old manual Discord setups now read "Not receiving" on the hosted product instead of "Connected" and "Active", with a one-click way to switch. (#385)
  • Widget branding removal is a Pro-and-above feature on hosted plans. Self-hosted installs have every feature unlocked. (#340)
  • Dev stack — the development compose file now points live updates at the local Postgres container, and the docs describe the database as managed Postgres with pgvector. (#338)

Fixed

  • Connecting Discord, Slack, Gmail or Outlook gave no confirmation or error, and the Discord channel picker never opened. The result is shown again. (#384)
  • The knowledge-base re-embedding sweep could not reach its route, so it never ran. (#376)
  • Dashboard cards and links went to the wrong place: "view all" tickets, the progress and resolved cards, and the Website link. An unverified sidebar status badge was removed. (#304, #305, #307)
  • Feature requests no longer count against deflection metrics. (#308)
  • The chat widget embed snippet and site headers, alt text and contrast were tidied after a public website audit. (#355)
  • Hosted checkout: more reliable when a stored customer no longer exists, with clearer errors and retries on gateway failures. (#356, #357, #358, #359)

Agent SDK

No changes in this release.

Configuration changes

VariableRequiredPurpose
DISCORD_TOKENyes, for one-click DiscordMust also be set on the app service, not only the bot.
GITHUB_APP_CLIENT_IDyes, for the GitHub AppThe GitHub App's Client ID.
GITHUB_APP_CLIENT_SECRETyes, for the GitHub AppA client secret generated in the GitHub App settings.
TELEGRAM_WEBHOOK_BASE_URLnoOverrides AUTH_URL for the Telegram webhook only.
TELEGRAM_BOT_TOKENremovedSave the token per workspace in Integrations → Telegram.
PLATFORM_AI_CHAT_MODEL, PLATFORM_AI_FAST_MODEL, PLATFORM_AI_EMBEDDING_MODELnoModels used for included usage on hosted deployments.
PLATFORM_AI_TRIAL_*_BUDGET_USD, PLATFORM_AI_PLAN_*_BUDGET_USDnoIncluded-usage budgets for the trial and for paid plans, for chat and embeddings.

See the environment variable reference for defaults and the full list.

Security

This release includes security fixes.

Contributors

Thanks to @NathanTarbert.

Full Changelog: https://github.com/answerLoops/answerLoops/compare/v0.6.3...v0.6.4

v0.6.3

View on GitHub

Faster, bounded ticket lists on the dashboard, a more useful Open card, and a round of dependency updates. The container image, the app and @answerloops/agent-sdk all report 0.6.3.

Upgrade notes

  • Node 22 or newer is required. The engines field moved from >=20.9 to >=22. The Docker image, CI and .nvmrc already ran Node 22, so container users need to do nothing; if you run from source on Node 20, upgrade first. (#250)
  • A new migration (0046) runs automatically on start. It adds two tables used by the in-app feedback widget. The widget is off by default and has no effect on self-hosted deployments. (#323)
  • Extra database tables are created on first start. The AI memory library was updated and now creates a handful of additional tables the app doesn't use. Existing conversations and their history are untouched. The database user needs permission to create tables, which it already needs today. (#320)

New

  • Related articles on blog posts. Posts now carry tags, and each post page ends with up to three related articles ranked by shared tags, falling back to the same category. (#299)
  • In-app feedback widget on the dashboard, available to the hosted deployment. (#323, #324)

Improved

  • Dashboard ticket lists are paginated. The tickets page, its API route and the dashboard's recent-tickets panel used to load an organization's whole ticket history. They now load 50 at a time with a "Load more" button, using the same cursor pagination as the Agent API. Large workspaces will see lighter pages and faster loads. (#295)
  • The Open card on the dashboard is a link. Select it, or tab to it and press Enter, to jump to /tickets?status=open. Docs by @cracthatrock (#298)

Fixed

  • The "View all" link on the Open tickets panel opened an unfiltered list that could include resolved tickets. It now opens the list filtered to Open. by @Soch126 (#306)

Agent SDK

  • No API changes. Published as agent-sdk-v0.6.3 so the npm package version matches the release. (#325)

Dependency updates

  • Updated the widget chat runtime, the AI memory and database libraries, the error-reporting SDK (v11, with request bodies and cookies still excluded from error events) and a batch of patch and minor packages. Removed an unused dependency. (#313, #316, #315, #319, #320)

Security

This release includes security fixes.

Contributors

Thanks to @cracthatrock and @Soch126 for their fixes.

New Contributors

Full Changelog: https://github.com/answerLoops/answerLoops/compare/v0.6.2...v0.6.3

v0.6.2

View on GitHub

This release includes security fixes. No further detail is published here — see internal tracking.

Also removes the pre-launch waitlist feature (unused since launch).

v0.6.1

View on GitHub

Fixes a bug where the website/docs chat widget would complete a run and show nothing back - Mastra's streaming chunks and CopilotKit's runtime expected different shapes, so every answer was silently empty. Widget messages, config errors, and mobile layout got several smaller fixes alongside it.

Settings → AI Model's Model ID field now fetches each provider's current model list live instead of relying on a hardcoded list that went stale between releases, and adds xAI (Grok) as a supported provider.

@answerloops/agent-sdk bumped to 0.6.1 and the Agent API's OpenAPI spec to 1.1.1, both previously held steady since the /v1/ path rename.

v0.6.0

View on GitHub

@answerloops/agent-sdk now ships a CLI: npx @answerloops/agent-sdk setup bootstraps a self-hosted instance without Claude Code, and npx @answerloops/agent-sdk skills installs the Claude Code agent skills. The answerloops-setup skill now delegates its mechanical steps to this CLI instead of duplicating the logic in bash. Dashboard and README updated to match.

v0.5.1

View on GitHub

Agent skills for self-hosted setup and operating a workspace over MCP, a dashboard onboarding card to install them, settings/integrations page split, and README/marketing refresh. See commit history for the full list of changes since v0.5.0.

v0.5.0

View on GitHub

Open-source AI support that lives in your community. AnswerLoops takes the first pass at repeat questions in the channels where people actually ask — and only replies when a second pass says the answer is good enough. Everything else goes to a human with a draft ready to edit.

What's in this release

  • Confidence-gated answering — every draft is scored against the evidence it used; you set the threshold that decides post vs. escalate. Bug reports and feature requests always stay human-led.
  • One pipeline for every channel — Discord, Slack, Discourse and Circle forums, GitHub Issues/Discussions, Telegram, email, an embeddable web widget, and Google Chat all land in the same org-scoped ticket model.
  • Grounded in your content — retrieval across crawled docs, uploaded files, published KB articles, resolved tickets, a synced GitHub repo, and a Notion workspace.
  • Bring your own model — OpenAI, Anthropic, Google Gemini, Groq, Mistral, Ollama, or any OpenAI-compatible endpoint, on your key.
  • Agent access — MCP server (JSON-RPC) and a REST API with an OpenAPI schema expose the same knowledge and workflows.
  • Self-hostable — AGPL-3.0. docker compose up runs the app, the listener, and Postgres on your own infrastructure; tenant data is scoped by org and integration credentials are encrypted at rest.
  • Analytics — deflection rate, hours saved, per-category accuracy, SLA attainment, and a knowledge-gaps view of what the system still can't answer.

Run it

Get started

Try it with the questions your team gets every week

Add a few support articles and connect a channel, then review the replies before deciding what to automate.

Start a 14-day trial

A card is required. Cancel before the trial ends to avoid the subscription charge.

View plans and model costs