Release notes

What's new in DChat

Every package refresh is rebuilt from source, run through the automated test suite, and smoke-tested end to end before it reaches the download page.

ZChat self-hosted is now DChat. Same product, same licence, new name - existing installs keep working. Releases up to 2.0.8 shipped under the name ZChat; 2.0.9 is the first release under the name DChat.

Current package

DChat 2.0.9 · October 3, 2026 · 46.2 MB · 2859 automated tests passing · first release under the new name

An AI agent that takes action, visual bot flows, AI triage, and imports from other help desks

Version 2.0.9 turns the AI assistant into an AI agent that works beside your team: it can act in your own systems with the approvals you choose, sort the inbox, and run inside visual bot flows. Bot flows, importing and conversation retention are free. AI actions, AI triage and e-commerce triggers are new in Premium, and the dashboard IP allowlist in Enterprise. Prices do not change: Community is free with unlimited agents, Premium is $19 and Enterprise $49 per agent per month. Nothing that was free in 2.0.8 moves to a paid tier. These changes are in the ASP.NET Core edition. See the AI agent.

New in the free edition

Visual bot flows: draw a flow from ten step types - message, question with buttons, typed input, condition, labels and attributes, assign, handoff, AI answer, AI action and end - on a canvas or in a keyboard-friendly outline. Publishing checks the flow first and keeps every version; a simulator runs the draft without calling anything, and each step shows its reach and drop-off. At handoff, the fields, labels and department the flow collected go to the agent. The AI answer and AI action steps need Premium.
Import your history: bring contacts, conversations with their messages, labels and canned responses from Chatwoot (through its API), from an Intercom conversation export, from a contacts CSV, or from the documented DChat import format. A dry run previews the counts first, and a stopped import resumes without duplicates. Imported conversations arrive as closed history and trigger no webhooks, rules, email, AI or SLA timers, and the Chatwoot token is never stored.
Required two-factor sign-in: require it for administrators or for everyone. People who have not enrolled yet can only enrol, so nobody is locked out, and agents who sign in with single sign-on are exempt.
Conversation retention: delete conversations older than a period you set, off by default, with a preview and a confirm step, and legal holds for conversations that must be kept.
Shop activity: products viewed, cart value and abandoned checkouts, tracked with the widget SDK or from Shopify, shown on a timeline beside the conversation.

New in Premium, $19 per agent per month

AI actions: the AI agent calls your own systems over HTTP while it talks to a visitor - look up an order, check stock, update a booking - with typed inputs checked before every call, only the response fields you list passed on, per-conversation and daily limits, and agent approval or visitor confirmation for actions that change things. Needs a model with tool calling.
AI triage: an automation rule action that has the AI set labels from a list you allow, sentiment, priority, language, and a department or team, or only suggest them in a private note. It never overrides what an agent set, and a sentiment card joins Reports.
E-commerce triggers: proactive messages when a cart passes a value, a checkout is abandoned, a product is viewed, or a returning visitor has an open cart, with an optional discount code and a department to hand the chat to.

New in Enterprise, $49 per agent per month

Dashboard IP allowlist: agents and administrators can use the dashboard, the Windows app and the agent API only from the networks you list; the chat widget stays open to everyone. A list that would lock out the administrator saving it is refused.

Fixed

AI handoff now reaches the agent with the bot conversation. When a visitor moved from the AI to a person, the agent did not receive what the visitor had already told the bot. The bot conversation and notes of any AI actions now arrive with the chat, after a bot handoff and after “Talk to a human”.
Layout: the widget's “Talk to a human” button no longer overflows the panel, long text in dashboard drop-downs no longer runs under the arrow, and the new dashboard pages fit a phone without sideways scrolling.

Version 2.0.8 · October 2, 2026 · 44.8 MB · 2553 automated tests passing

An AI assistant that answers from your own content, an accessible widget, and channels that never stall

Accessibility and the reliability fixes are free. Knowledge sources, the bot test bench and AI resolution metrics are new in the AI assistant, part of Premium. Prices do not change: Community is free with unlimited agents, Premium is $19 and Enterprise $49 per agent per month. Nothing that was free in 2.0.7 moves to a paid tier. Upgrading needs no database script. These changes are in the ASP.NET Core edition. See the AI features.

New in the free edition

Accessibility to WCAG 2.2 AA: the widget and the dashboard work from the keyboard and with screen readers. Focus stays in the open chat and returns when it closes, new messages are announced, form errors are tied to their fields, text on a light brand colour stays readable, and the widget follows reduced-motion settings and reflows at 320 px and 200% zoom. The dashboard has a skip link, landmarks and a keyboard-friendly conversation list. More on the widget.

New in Premium, in the AI assistant

Knowledge sources: crawl your website (same site only, robots.txt respected, sitemap.xml read), upload PDF, Word, CSV, text or Markdown files, or add snippets, and re-sync by hand, daily or weekly. Answers combine keyword and meaning-based search and cite their sources as links in the widget. Meaning-based search uses an embeddings model from OpenAI or a local Ollama server.
Bot test bench: ask the bot as a visitor would, see what it retrieved, save the questions it must get right with the facts the answer should contain, and run them all after every change. A failed case can become a new snippet in one click.
AI resolution metrics: a Reports tab with bot conversations, resolved, handed to a person, containment, resolution rate and bot satisfaction, the knowledge the bot cited and the questions it could not answer. The widget asks “Did that help?” under each bot answer.

Fixed

Visitor messages could be lost on a busy server. The check that cleans chat HTML could time out under load and drop the message. It now runs in linear time and falls back to plain text, so the message always arrives.
One dead webhook no longer holds up the others. A receiver that hangs or refuses connections is probed once and its queue is held, while deliveries to every other endpoint carry on. When it is back, retrying one held delivery sends the rest, in order and exactly once.
Channel replies never stall behind a dead provider. Replies on WhatsApp, Telegram, SMS, Messenger, Instagram, LINE, API and email inboxes are sent per inbox, never twice, and in order within each conversation. When a provider rejects your credentials, the Inboxes page shows it and the held replies go out as soon as you save new ones.
Licence file name: the server finds its licence as ZChat.lic or zchat.lic, also on case-sensitive Linux and Docker hosts.

Version 2.0.7 · September 26, 2026 · 40.6 MB · 2408 automated tests passing

Teams, dashboard apps, Linear, Shopify and campaigns, and a faster, sturdier live chat

Teams and dashboard apps are free. The Linear and Shopify integrations and SMS and WhatsApp campaigns are new in Premium. Prices do not change: Community is free with unlimited agents, Premium is $19 and Enterprise $49 per agent per month. Nothing that was free in 2.0.6 moves to a paid tier. Upgrading needs no database script. These changes are in the ASP.NET Core edition. See the integrations.

New in the free edition

Teams: group agents into teams, hand a conversation to a team from any department or channel, filter the list and saved views by team, and count conversations per team in Reports. Departments still route the widget’s queue.
Dashboard apps: show a web page of yours, such as an order lookup or a CRM record, as a tab beside every conversation. It runs in a sandboxed frame and receives the conversation, the contact and the agent in the same format as Chatwoot’s dashboard apps.

Premium, $19 per agent per month

Linear: create a Linear issue from a conversation, prefilled with the last messages and a link back, or link an existing one, and see each issue’s state beside the conversation.
Shopify: the contact panel lists the customer’s recent orders, matched by email and phone, with totals, payment and fulfilment status and items. Read-only.
SMS and WhatsApp campaigns: send one message to a contact segment through your SMS or WhatsApp inbox, now or at a set time. Only numbers that have written to you are included, STOP opts a customer out, nothing goes out before you review the count, and each recipient gets a delivery status.
Auto-assignment by team: offer waiting chats only to one team’s members.

Faster and more reliable

No lost messages under load: the server now keeps each live chat message until the widget confirms it arrived, and an agent’s first message is no longer lost when it is sent before the visitor’s window has joined.
A much faster inbox on large databases: new indexes make the conversation list about 20 times faster, and the list no longer holds up live chats while it loads. The indexes are built once, at the first start after upgrading.
Quicker widget start-up: the widget’s status and trigger checks now read cached settings, so they stay fast when thousands of visitors arrive at once.
Fixed: when a visitor started a new chat within ten minutes of their last one ending, it was filed on the previous conversation. It is now a new conversation; a page refresh still continues the same chat.

Version 2.0.6 · September 25, 2026 · 40.2 MB · 2240 automated tests passing

AI Copilot, a stronger widget, and faster inbox tools

Most of this release is free. AI Copilot joins the AI assistant in Premium, and agent bots are new in Premium. Prices do not change: Community is free with unlimited agents, Premium is $19 and Enterprise $49 per agent per month. Nothing that was free in 2.0.5 moves to a paid tier. These changes are in the ASP.NET Core edition. See the feature pages.

New in the free edition

Business hours per inbox, with their own time zone, split shifts and holidays, and an automatic away reply on every channel, sent once per closed period.
A safer first run: an account still on the demo password must choose a new one before anything else works, and a getting-started checklist on the dashboard ticks itself off as you set DChat up.
Inbox tools: saved views for yourself or the team, a Participating view, conversation merge, transcript download as text or HTML or by email, a Files panel, snooze by typing “tomorrow 9am”, a command palette on Ctrl+K or Cmd+K, and keyboard shortcuts.
Signatures and template variables: each agent can add a reply signature, and canned responses and away replies can insert the contact’s name, email or attributes. A variable with no value is highlighted, never sent blank.
Reports: a live report of the inbox right now, an SLA report for the first-response target, and charts you can click to open the matching conversations.
The widget: a list of allowed domains, a light, dark or automatic colour scheme, a pop-out window, email collection with replies by email and a link back to the chat, help articles that open inside the widget with suggestions while the visitor types, audio, video and location sharing, and buttons, forms and cards.
The Windows desktop app now handles the shared inbox: every channel with replies and WhatsApp templates, statuses, labels, notes and @mentions, canned responses, the contact panel, attachments and a warning when a colleague has the conversation open. Single sign-on in the app, signatures and template variables need a 2.0.6 server.

Premium, $19 per agent per month

AI Copilot, part of the AI assistant: rewrite, fix, expand, shorten, change the tone of or translate a reply, summarise a conversation, live translation in 44 languages, help-center articles proposed from resolved conversations with a review queue, a content gaps report, a choice of which visitors the bot answers, HTTP tools the bot can call, and an AI usage page.
Agent bots: connect your own bot service by signed webhook. It answers in the widget and on channel inboxes, and hands over to a person when it cannot help.
OR conditions in automation rules: group conditions as “all of” or “any of” and combine up to ten groups. Existing rules keep working unchanged.

Enterprise, $49 per agent per month

Single sign-on in the desktop app, and SLA breaches broken down by policy, agent and department in the new SLA report.

Security

API access tokens can no longer change credentials or reveal secrets. Passwords, two-factor settings, agents and roles, channel and bot secrets, single sign-on, Slack and widget domain settings now need a person who is signed in.
Privacy erase is complete: erasing a person now also removes their contact records and channel identities, not only the text of their messages.
Email senders are checked: DChat uses the SPF, DKIM and DMARC results from your mail gateway, flags a message that fails, and never attaches it to someone else’s conversation.
More rate limits on the public widget, email and bot endpoints, and on AI use per agent and per visitor.

Version 2.0.5 · September 24, 2026 · 38.9 MB · 1740 automated tests passing

Free inbox tools, and Premium and Enterprise tiers

Live chat stays free with unlimited agents, and this release adds a lot to the free edition. It also introduces two paid tiers: Premium at $19 per agent per month and Enterprise at $49, billed only for the agents you choose to cover. Nothing that was free in 2.0.4 moves to a paid tier. Everyone who bought a licence before per-agent pricing keeps Premium for life, and Enterprise and Source Code buyers from the client center keep Enterprise for life, with nothing to do. Licences from our older store can only be recognised as Premium; if you bought Enterprise or Source Code there, ask us for a replacement licence. These changes are in the ASP.NET Core edition. Compare the tiers.

New in the free edition

Inbox tools: conversation statuses, priority, an assignee, labels, private notes with @mentions, and bulk actions across many conversations at once.
Contacts: custom attributes, notes, saved segments, merging duplicates, and CSV import and export.
Help center portal, email inbox and campaigns: publish help articles on a portal of your own, handle email beside web chat, and show proactive campaign messages to chosen visitors.
Browser push notifications for agents, so a new chat or a mention reaches them when the dashboard tab is in the background.
The widget speaks 33 languages, including right-to-left Arabic, Hebrew, Persian and Urdu. Each language is downloaded only by the visitors who need it.
For developers: widget identity verification, a JavaScript SDK, API access tokens and REST API documentation.

Premium, $19 per agent per month

The AI assistant now sits in Premium: the chatbot with human handoff, reply suggestions and summaries, still on the model you choose.
Custom roles: give team leads and editors chosen admin areas without making them administrators.
Automation rules and macros: label, prioritise, assign, reply or notify when conversations change, or run a saved sequence of actions in one click.
Auto-assignment and per-agent chat limits: hand waiting visitors to available agents, round robin or least busy, with each agent's own concurrent-chat limit. Auto-assignment starts switched off after the upgrade, even if an older Settings page saved it as on.
Extra channels: WhatsApp, Facebook Messenger, Instagram, Telegram, LINE, SMS and API inboxes beside web chat and email.
Voice through Twilio: phone calls on your own Twilio number arrive as conversations. Ring agents in the browser or forward to a phone, with voicemail and transcription, click-to-call, and a calls report.
Slack integration: each new conversation appears in a Slack channel as a thread, and replies in the thread reach the customer.
Also in Premium: hiding the “Powered by DChat” link, required conversation attributes before resolving, and CSAT review notes.

Enterprise, $49 per agent per month

Single sign-on: agents sign in through your identity provider over OpenID Connect or SAML 2.0 (Entra ID, Okta, Google, Keycloak, ADFS), with allowed domains, just-in-time accounts and an option to require it.
Advanced SLA policies: next-response and resolution targets per department and priority, with breach alerts and an SLA_BREACHED webhook. The first-response target and the SLA dashboard panel stay free.

If a subscription lapses, the paid features switch off and live chat keeps running with unlimited agents. The settings they created stay stored and come back when you renew.

Version 2.0.4 · September 1, 2026 · 34 MB · 835 automated tests passing

September 2026 security and install release

Visitor addresses can no longer be forged. DChat took the visitor’s address from a request header that the visitor’s own browser can set. Anything keyed to an address was therefore only as trustworthy as the caller: blocked addresses could still reach the widget, the per-address request limits could be stepped around, and audit entries could record an address that was never really there. Sign-in throttling was never affected. The address now comes from the connection itself. If you run DChat behind a reverse proxy — nginx, IIS ARR, Cloudflare — add that proxy under Network.TrustedProxies in appsettings.json, or every visitor will be recorded as the proxy. Everyone else needs to change nothing. Upgrading is recommended for any install that relies on address blocking.
Database setup repairs itself instead of stopping halfway. If anything interrupted the schema script — a name already in use, a permission — it stopped at that point and left the rest of the tables uncreated, and the next launch saw tables already present and reported the database as ready. The result was a server that started, refused every sign-in, and said nothing about why. Each table is now created independently and skipped if it exists, so re-running the installer completes whatever is missing. An existing half-built database is repaired by launching the new build against it; a healthy one is left untouched.
Changing or resetting a password now ends every other session for that account. Previously a signed-in session kept working for its full lifetime — up to eight hours — even after an administrator reset the account’s password or deleted the account. Each session is now tied to the password it was issued against, so a reset or a change takes effect within seconds for anything already signed in. Signing in again after this upgrade is expected once: sessions issued by earlier builds are not accepted.
Webhooks can only be sent to public addresses. The webhook URL could previously point at anything the server itself could reach — services on the same machine, the private network behind it, or on a cloud host the metadata service that hands out instance credentials — and a public address that redirected to one of those was followed. Targets are now checked when saved and again before every send, private and local addresses are refused, and redirects are not followed. If your receiver really is on your private network, set Webhooks.AllowPrivateTargets to true in appsettings.json.
Docker installs no longer expose the database to the network. The bundled docker-compose.yml published SQL Server and the optional AI service on every network interface, so on a cloud host they answered from the public internet — the database with its administrator account, and the AI service with no authentication at all. Both are now reachable only from the machine running Docker; DChat itself talks to them privately as before. The database setup step also stops on the first error rather than continuing past it.

Version 2.0.3 · August 10, 2026 · 34 MB · 747 automated tests passing

August 2026 agent tooling release

Custom pre-chat fields: ask for the details your team actually needs — order numbers, account IDs, a severity dropdown — before a conversation starts. Add them in Settings, mark any of them required, and the answers travel with the conversation and appear to the agent who takes it. A snapshot of the field definitions is kept with each conversation, so renaming a field later never relabels past ones.
The Windows agent console now ships as a download: a self-contained desktop app for agents — unzip and run, with nothing else to install. Previously the package only contained instructions for building it yourself in Visual Studio.

Version 2.0.2 · August 9, 2026 · 34 MB

August 2026 visitor engagement release

Visitor monitoring: see who is on your site before anyone asks for a chat — current page and title, referrer, device, locale, and return-visit count, updating as they move between pages. Off by default; enable it in Settings, choose how often the widget reports, and exclude any page with data-track-visitors="false".
Proactive invitations from the agent console: pick a visitor out of the browsing list and offer them a chat in your own words. They see it in the widget with accept and decline buttons; accepting carries your opening message straight into the conversation. Requires visitor monitoring, and respects department routing.
Queue position for waiting visitors: the widget now tells people where they stand — "You're next in line" or "You are #3 in line" — instead of an open-ended spinner, in all four bundled languages.
Clickable links in chat: a URL an agent types is now a link the visitor can click, so you can send someone straight to the checkout step, form, or article they need. The link always displays the address it goes to.
Dark mode fixed: the widget's dark theme styled its text but not its panels, leaving light grey text on a near-white background for visitors whose device is set to dark. Every surface now flips with the theme, and the contrast is checked automatically on each build.

Version 2.0.1 · August 8, 2026 · 33.98 MB

August 2026 feature release

AI assistant in the widget: when no agent is available, the widget can now offer the AI chatbot directly to visitors — opt-in via a separate setting, per-visitor answer budget, per-IP rate limiting, and every failure path routes to a human instead of a dead chat box. "Talk to a human" now works on the very first message.
First-response SLA tracking: set a response target and the dashboard reports met / at-risk / breached conversations with an attainment rate — business-hours aware, so a chat that arrives after closing is due when the team opens, not overnight.
Agent two-factor authentication: optional TOTP sign-in that works with any standard authenticator app; enabling it requires proving a working code first.
Inbound email channel: a gateway endpoint accepts inbound mail, threads replies onto the right conversation, drops auto-responders, and fires a webhook — so emailed follow-ups land in the same queue as chats.
Smarter proactive triggers: target by referrer, browser language, and returning-visitor count alongside the existing URL and dwell-time rules.
Licensing that explains itself: domain checks now tolerate every reasonable spelling of a licensed domain (www, pasted URLs, ports), multi-domain licenses validate correctly, and a mismatch error names the licensed domain so it can be fixed in one look.
Operations: startup schema migrations now run independently and report per-step results on /health/ready; assemblies are version-stamped 2.0.0; upload filenames are stripped of invisible spoofing characters in both editions.

Version 2.0 · July 14, 2026 · 33.88 MB

July 2026 refresh

Fresh-install fixes: the dashboard home view no longer returns an error after first sign-in on a clean database, and the seeded evaluation accounts (admin / agent1) work immediately after running the install SQL.
Licensing refresh: current license files are issued in the new format, compatible signed legacy licenses are still accepted, and license host checks validate against the real request host.
Reliability: session creation is serialized to prevent duplicate rows during fast visitor and agent reconnects, webhook delivery is bounded so slow receivers cannot stall the outbox, and abrupt agent disconnects are treated as real offline events for presence and notifications.
Security and privacy: live-message HTML is sanitized so only same-server attachment links render, secret-bearing webhook URLs are redacted in admin and audit responses, visitor page URLs and referrers are sanitized before storage, and privileged admin actions are covered by the audit log.
Performance: reduced tracking overhead on read-heavy dashboard queries, bounded background queues during end-session bursts, and long transcripts stay focused on the most recent messages in chronological order.

Version 2.0 · June 2026

June 2026 package refresh

Widget: improved retry recovery on flaky connections, preserved visitor pre-chat drafts during network failures, mobile layout polish, and inline read receipts.
Uploads and exports: uploaded image bytes are validated, attachment downloads are forced, and CSV and privacy exports are hardened against injection.
Operations: health and readiness endpoints for containers and load balancers, durable webhook outbox with automatic retries, and rate limits on public widget endpoints.
Packaging: fresh SQL install scripts, runtime logs and uploads no longer ship in the installer, and generated runtime configuration is safe out of the box.

Get the current package

Live chat is free with unlimited agents, in production. No credit card, no time limit.

Download DChat
Self-hosted customer support software

Deploy live chat on your own terms, not on someone else's pricing model.

DChat gives you the installable server, web dashboard, website widget, and desktop agent tools in one self-hosted product, with live chat free to run, and an AI agent that answers, acts with the approvals you set and hands off to your team when you want one. Run it on infrastructure you trust, on the model you choose.

Deployment

Install on Windows or Linux, behind IIS or Nginx, in a VM, or in Docker if that fits your stack.

Commercial model

Live chat is free with unlimited agents. Premium, with the AI agent, is billed per agent per month, never per conversation.

AI Flexibility

Run the AI agent on a local Ollama model, or connect OpenAI and Anthropic with your own provider accounts.