Changelog
Version numbers match the marketplace package version baked into your deployed plan zip — visible in the dashboard footer.
v1.32 — Origin visibility, performance, hardening — July 2026
New
- Multi-domain origin visibility (customer stack). Sessions record the embedding page’s origin — stamped once at creation, and only when the browser’s
Originheader exactly matches a non-wildcardALLOWED_ORIGINSentry (never under the*default). Shown read-only in the dashboard Top-sessions table and conversation search, onGET /api/sessionsrows, in transcripts, and in the Teams agent session list. See Multi-domain widgets. - Widget-origin reporting (full runtime Teams dashboard). Source domain (🌐) on chat-list rows, the open-chat header, and placeholder states; a live-list domain filter (appears with 2+ domains); a Source domain filter + column in the closed-chats report; a page-URL tooltip; duplicate-primary-domain warning and copyable
frame-ancestorsCSP guidance in Settings → Widgets. - Optional Service Bus processing for “Start with listening for automated trigger” (full runtime). Session-enabled queue with per-conversation FIFO, a stable v1 message contract for automation consumers, idempotent redelivery, and dead-lettering that still posts a visitor-facing failure notice. Zero change when unconfigured — trigger mode keeps behaving like AI-start. See Automated trigger (Service Bus).
- Anonymous-endpoint rate limiting. Chat and visitor-token endpoints are rate-limited per client IP and per session and answer
429with aRetry-Afterheader when exceeded (see API reference).
Improved
- Visitor file security UX. Access-scope banner, signed-in identity chip, agent-consent interstitial and private-files banner, delete confirmations, re-auth state on expired sign-in, and scan-status badges in the widget’s file views.
- Performance. Route-level code splitting (dashboard entry bundle 2.03 MB → 269 kB + per-route chunks), coalesced SignalR streaming broadcasts with cached access tokens, explicit Cosmos projections on session queries, lazy PDF export, and bounded transcript reads + parallelized writes in the customer runtime.
- Dashboard
Referrer-Policytightened tostrict-origin-when-cross-origin.
Docs
- New pages: Prerequisites, How updates reach your stack, Cancel & uninstall, Security & compliance, Multi-domain widgets, Automated trigger (Service Bus).
- Corrected the widget embed snippet, the admin-key bootstrap story (a fresh deploy has no key — the first Rotate admin key creates it), the Managed RG lock description, and the allowed-origins update procedure.
v1.31 — Phase 19-23 — May 2026
The first marketplace-ready release.
New
- Azure Marketplace Managed Application offer with 3 plans (Start / Growth / Professional).
- Per-customer Azure stack deployment via portal wizard.
- Customer admin dashboard with cost projection, top sessions drill-down, plan + seat tile, grace banner.
- Agent surface inside the customer-runtime: claim / close / send-message endpoints with seat-guard enforcement.
- Teams app sideload via per-deployment .zip download.
- AAD app auto-creation during install (with manual fallback script).
- Six transactional email templates via Azure Communication Services (purchase / plan-change / suspend / reinstate / unsubscribe / quota-grace).
- ISV control plane endpoints for Managed App lifecycle (notify, plan PATCH).
Known limitations (v1 → v1.1 roadmap)
- Custom verified email domain (currently uses Azure-managed
*.azurecomm.net). - AAD app secret auto-rotation (currently 90-day manual rotation).
- Custom widget branding (logo / accent color).
- chatStreamPost agent handoff (streaming visitor messages while session is claimed currently fall back to bot).
- Per-customer Marketplace data deletion automation (currently manual via “Delete Managed Application” in the Azure portal).