September 07, 2026
Ondrej Pok
[Improvement] Serve content-hashed widget assets as immutable: GWT permutations and webpack bundles are capped at 6 hours (#26436)
[Improvement] bus.html is served with no Cache-Control despite a version-busted URL (#26438)
[Improvement] Fonts and SVG have no cache policy; remove dead .eot/.ttf font sources (#26445)
[Improvement] Minimize the static and templated error pages (#26630)
[Improvement] Ticket attachment and inline-image view responses are uncacheable (max-age=0, no validators) (#26645)
[Security] Security improvement (#26692)
[Fix] Chats-list COUNT(*) examines 1.83M rows per poll, saturating qla-prod-ec1-la-db-16-master-2 at 92% CPU (#26423)
[Fix] Stuck chat: rc not cleared, co-occurring with Aurora chat-read "Connection refused" error (#26577)
[Fix] Agent image not displayed on answers due to wrong URL (#26610)
September 07, 2026
Ondrej Pok
[Improvement] Serve content-hashed widget assets as immutable: GWT permutations and webpack bundles are capped at 6 hours (#26436)
[Improvement] bus.html is served with no Cache-Control despite a version-busted URL (#26438)
[Improvement] Fonts and SVG have no cache policy; remove dead .eot/.ttf font sources (#26445)
[Fix] Chats-list COUNT(*) examines 1.83M rows per poll, saturating qla-prod-ec1-la-db-16-master-2 at 92% CPU (#26423)
[Fix] Setting State of missed chats doesn't work (#26485)
[Fix] Stuck chat: rc not cleared, co-occurring with Aurora chat-read "Connection refused" error (#26577)
September 02, 2026
Ondrej Pok
[Improvement] Provide FlowHunt with ticket ID when chat with chatbot starts (#25535)
[Improvement] Widget fonts: no font-display (FOIT) and three dead @font-face overrides (#26442)
[Security] Security improvement (#26372)(#26374)
[Fix] Incoming email lost due to a decoding error in the subject line (#26395)
[Fix] "InvalidCharacterError" error displayed when you activate or deactivate chat buttons (#26401)
[Fix] Private API v4 /api/private/account-usage-stats missing ApiV4Authorization attribute — CRM cannot retrieve usage stats (#26412)
[Fix] Button widget from FlowHunt doesn't work in the LiveAgent chat window (#26422)
[Other] Refactorings and other fixes (#26487)
September 02, 2026
Ondrej Pok
[Improvement] Provide FlowHunt with ticket ID when chat with chatbot starts (#25535)
[Improvement] Widget fonts: no font-display (FOIT) and three dead @font-face overrides (#26442)
[Security] Security improvement (#26372)
[Fix] System shows the name of the first agent in the Chats overview section even after the chat was taken over by a different agent (#26354)
[Fix] Incoming email lost due to a decoding error in the subject line (#26395)
[Fix] "InvalidCharacterError" error displayed when you activate or deactivate chat buttons (#26401)
August 27, 2026
Ondrej Pok
[Feature] Add "Mark as Spam" tool to MCP server (#26102)
[Feature] Add Gemini as an AI provider for AI Agents and Answer Suggestion/Assistant (#25984)
[Feature] TicketAssistant: Anthropic support for answer assistant and answer suggestion (#25504)
[Feature] Option to hide the AI Summary in tickets (#25169)
[Feature] Voice call recording transcription (speech-to-text) (#24154)
[Feature] Option to send automatic reply to tickets from WhatsApp channel (#20183)
[Feature] Prohibit Export to CSV with a custom role (#25489)
[Security] Security improvements (#26250)(#25902)(#25762)(#25759)(#21146)
[Improvement] Agent panel RPCs fire an unconditional la_users status UPDATE on every request (#26289)
[Improvement] Add TCP keepalive to event-router's aiohttp connector for long-running handler requests (#26274)
[Improvement] Cache language metadata reads (RegionalSettingsResolver / LanguageProvider::getByCode) (#26189)
[Improvement] visitor-tracker: crawler pattern list is stale, misses current AI-crawler generation (#25897)
[Improvement] Add agents and knowledgebases count to CRM-facing account-usage-stats endpoint (#25808)
[Improvement] Show device-type icons in the agent voice-status menu (#25758)
[Improvement] AI Agent Run Details dialog window design improvements (#25567)
[Improvement] Add Used and Remaining columns to the AI Budgets screen (#25541)
[Improvement] Add an 8 hour postpone preset (#25473)
[Improvement] Password-reset rate-limit decline should be an in-app event log (admin-visible), not an infra-layer WARN (#25314)
[Improvement] Add new GPT 5.6 models for OpenAI AI provider (#25298)
[Improvement] AI Agents: Indicate if an AI agent is actively used (last used / linked rules) or inactive (#25260)
[Improvement] API v4 docs: show full paths (with module segment) instead of relative ones (#25202)
[Improvement] Make Slack OAuth base URL configurable per environment (#24964)
[Improvement] Answer Suggestion: let the AI fetch ticket context via MCP instead of embedding it in the prompt (#24537)
[Improvement] Voice: Add Recording domain model for call recording segments (#24189)
[Improvement] Remove popup tooltip behavior from note in ticket timeline (#24005)
[Improvement] Implement new display model for email message (#21667)
[Improvement] Update WhatsApp integration to support WhatsApp usernames (#20741)
[Improvement] Add a support of button widget from FlowHunt to LA chat window (#20296)
[Fix] Fix misleading Display method label in "Display external info in ticket" (#26352)
[Fix] Corrected an MCP tool permission scope mismatch (#26194)
[Fix] WhatsApp inbound webhook request crashes when the sender's phone number isn't a valid international format (#26193)
[Fix] Fixed a performance issue when sending mail to large recipient lists (#26191)
[Fix] Fixed unnecessary write amplification in language version sync (#26178)
[Fix] Fixed a write-loop bug in language metadata synchronization (#26177)
[Fix] Contact widget grid fails with SQL syntax error when pagination window no longer fits the current result count (#26091)
[Fix] Duplicate is waiting in queue element (#26069)
[Fix] WhatsApp recipient picker lists non-E.164 phone contacts that ticket creation then rejects (#26068)
[Fix] WhatsApp (360dialog) inbound messages are silently dropped when the sender's phone number is missing from the message data (#26062)
[Fix] Customer portal ticket page returns HTTP 500 when the ticket's assigned agent has no AgentAllocator service record (#26061)
[Fix] Legacy numeric ticket codes rejected by strict TicketCode validation, breaks opening affected tickets in agent panel (#26037)
[Fix] System no longer shows the name of the agent to whom the incoming chat is ringing (#25977)
[Fix] Attachment download fails for WhatsApp media messages sent without a caption (#25969)
[Fix] QuGwtClientCodegenV4 emits primitive int getters for nullable: true integer schema properties (#25948)
[Fix] Agent's MCP integration availability without AI work feature (#25942)
[Fix] Added a missing authorization check in an MCP tool (#25885)
[Fix] get_next_list treats an explicit timestamp of 0 as omitted (#25879)
[Fix] visitor-tracker README documents env vars and routes that do not exist (#25878)
[Fix] visitor-tracker: crawler traffic inflates button impression counters (#25869)
[Fix] Fixed an access-control gap in an MCP tool (#25868)
[Fix] visitor-tracker: crawler detection never fires; missing Es-Cluster-Id header returns 500 (#25865)
[Fix] TicketQueue: NULL due_timestamp on legacy queue rows breaks loadNextTicketFromQueue (#25852)
[Fix] Unbuildable Facebook ticket fails TicketFallbackAuthorProvider and poisons its ReindexTicketsJob batch forever (no dead-letter) (#25826)
[Fix] Fixed a slow-query performance issue in chat lookup (#25825)
[Fix] Pop-out chat returns HTTP 500 when department is offline — PopoutChatController does not handle chat_unavailable response (#25815)
[Fix] UnexpectedValueException: "Failed to create HtmlText" — empty legacy email text makes ticket permanently unopenable (#25814)
[Fix] Chat didn't finished properly (#25804)
[Fix] Gpf_Auth_TwoFactor::getQrCodeImage() throws "already enabled" in prod — client re-requests QR after a verification-token error (#25795)
[Fix] IntelliJ shows "phpstan-modules.neon does not exist" warning on every project open (#25791)
[Fix] Background ticket-search job crashes repeatedly for a tenant due to a missing/deleted message record (#25776)
[Fix] The email template is loaded with a 12 seconds delay in tickets created from a chat button (#25767)
[Fix] CRM plugin - account user login should log in to custom domain if set (#25761)
[Fix] .gitattributes catch-all text eol=lf causes gradle-wrapper.jar and gradlew.bat to always show as modified (#25748)
[Fix] Missing tooltips for customer and ticket sections within the right side panel (#25730)
[Fix] AI Agent Run report doesn't render "Waiting" status (#25707)
[Fix] Finished chats in the Agent report shows only chats closed by the agent (#25704)
[Fix] Cannot create second agent in AppSumo Free account (#25696)
[Fix] Fixed an authentication regression in internal export tooling (#25691)
[Fix] Time Rules page shows "Data error" for a tenant with a corrupted rule order value (#25688)
[Fix] Material theme: "Add device" button missing right margin in Edit profile > Calls (#25687)
[Fix] Weekly scheduler period-edit popup has transparent background (#25686)
[Fix] Forward button fails on email tickets rendered via TicketMessage envelope ("The ticket does not contain forwarded message") (#25685)
[Fix] LiveAgent stopped notifying CRM about changes (#25684)
[Fix] Connecting Microsoft shared mailbox via OAuth as outgoing email account times out (~30s) when tenant has thousands of addresses (#25636)
[Fix] AI Agent Runs report shows two confusing near-duplicate columns "AI Agents" / "AI Agent" for the same single agent (#25565)
[Fix] Shopify plugin never checks HTTP status codes, so error responses are treated as empty data (#25538)
[Fix] Ticket history tab shows incorrect timestamps (#25526)
[Fix] Error about mandatory field not displayed for AI agent and Budget listbox fields in rule configuration (#25506)
[Fix] Zendesk agent import: consistent existing-agent resolution (#25495)
[Fix] Internal notes in chat tickets intermittently render with white background instead of yellow (#25387)
[Fix] HtmlQuoteParser::findGmailQuote() regex fails to match Gmail's "gmail_quote gmail_quote_container" class format (#25322)
[Fix] Contact-widget/KB preview 500s ("Failed to create preview copy") when a widget attribute references a deleted file link (#25319)
[Fix] Mass-delete of Facebook tickets aborts with "Failed to execute mass action." when the FB page is inactive (channel notify on delete not best-effort) (#25318)
[Fix] UnhandledException: "Text cannot be empty" — empty agent-to-agent chat message throws unhandled InvalidArgumentException (#25315)
[Fix] Agent panel shows "network outage" error during version upgrade instead of maintenance notification (#25305)
[Fix] Double arrow icon in listbox in Edit model and Edit chatbot dialog windows (#25304)
[Fix] Error: "Invalid role [] was created" logged at ERROR from client for empty role id (#25297)
[Fix] Bad design of `You've been inactive for a longer period of time…" warning message (#25277)
[Fix] Fixed a performance issue with large page-size requests on the contacts API (#25236)
[Fix] Inactivity time field description update (#25067)
[Fix] TicketTransferError on attended call transfer — TICKET_TRANSFER missing from CallParticipationVoter.PARTICIPATION_PRIVILEGES (#24638)
[Fix] Backend plugin engine lacks isConfigured() guard — extension point handlers invoked for unconfigured plugins (#24603)
[Fix] Inbound mail with a 4-byte (CJK) address: sender dropped / recipient skipped — choose a strategy (followup #23767) (#24483)
[Fix] WhatsApp: "Failed to process content message" when phone number exists without WhatsApp flag (#24099)
[Fix] 500 error when accessing deleted KB article in embedded KB widget view (#23760)
[Fix] Rename Running AI work state to Submitted (#23506)
[Fix] KnowledgeBasePreviewController logs ERROR for missing preview id on /preview type=css (#23338)
[Fix] Email reply fails with generic error when draft is deleted concurrently (#22846)
[Fix] ComputeUserSlotReportsHourlyTask fails with unique constraint on re-execution — not idempotent (#22692)
[Performance] Optimized a full-scan query in the ticket-purge unused-users task (#25250)
[Other] Refactorings and other fixes (#26247)(#26065)(#25957)(#25866)(#25829)(#25770)(#25702)(#25632)(#25609)(#25599)(#25576)(#25560)(#25370)(#25239)(#24564)(#23836)(#25324)