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.