Ondrej Pok
- [Feature] Add Mistral AI (EU provider) as an AI provider (#27775)
- [Feature] Support Gemini models for message content translation (MCT) (#27765)
- [Feature] Add Gemini/Google as a provider for AI Ticket summary (#27536)
- [Feature] Voice: live call transcription with participant attribution (#27078)
- [Feature] Add OpenAI as a provider for AI Ticket summary (#25606)
- [Feature] Message translation — Stage 1: on-demand inbound message translation (MessageContentTranslation module) (#25515)
- [Feature] liveagent-web Phase 2: Build the shared foundation (ui/core/api/i18n/element-kit) (#25371)
- [Feature] Migration plugin - Deskpro (#20734)
- [Security] Security improvements (#27633)
- [Improvement] Message translation: let agents translate messages written by other agents and AI agents (read-only) (#27727)
- [Improvement] Remove OpenAI models shut down on 2026-10-23 and migrate affected accounts (#27699)
- [Improvement] Add copy buttons for Host, User, and Password fields in View SIP phone dialog (#27587)
- [Improvement] Add GPT 6.1 Sol model for OpenAI AI provider (#27469)
- [Improvement] Chat widget: show the customer's sent message immediately instead of waiting for the server reply (#27465)
- [Improvement] Don't show the
Add tag button in tickets with the Deleted status (#27456)
- [Improvement] Render FlowHunt chatbot "open link" buttons as clickable buttons in chat (#27202)
- [Improvement] Implement Event Rules, Time Rules and SLA rules limits (#27223)
- [Fix] FilePrintAuthenticator does not enforce API key IP whitelist/rate limit for V3 keys (#27887)
- [Fix] New chats read old chat 1's messages because their UUID is cast to a number (#27880)
- [Fix] API key access-check 403 (blocked IP) collapses to 401 before reaching the client (#27856)
- [Fix] Email ticket is missing the beginning of long text message (#27854)
- [Fix] SSO/OAuth agent logins are not recorded in qu_g_logins login history (#27825)
- [Fix] Chat transferred to a department is rerouted to the old department after a ringing timeout (#27799)
- [Fix] WhatsApp "Disabled by admin" inactivity reason is never shown (serializer sends
D" instead of D) (#27793)
- [Fix] Chat stays active with no operators when the last operator disconnects while an invite is pending (#27788)
- [Fix] Customer chat widget shows "Start chat again" while a chat runs in a ticket with an active call (#27753)
- [Fix] Chat control buttons are missing in the agent panel for a chat that started while a phone call was running in the same ticket (#27721)
- [Fix] Upgrade the local telephony to OpenSIPS 3.6.9 LTS and verify telephony on dev-ec1 (#27717)
- [Fix] Call transcription stays "in progress" forever when the account's only AI provider is not OpenAI (#27714)
- [Fix] Customer-ended chat is left in running conversations when a call runs on the ticket, ticket then stuck in "Chatting" (#27698)
- [Fix] Message translation of HTML emails fails because the request payload sends non-ASCII as \u escapes (#27684)
- [Fix] Reopened ticket shows stale status in agent panel after its tab was closed (#27646)
- [Fix] fix: WebRTC calls counted twice in agent reports (#27639)
- [Fix] Customer portal file uploads (KB avatar) fail with "Upload failed with error: : undefined" (#27578)
- [Fix] Browser autofills agent's LiveAgent login e-mail/password into SIP trunk "Authentication username"/password fields (#27537)
- [Fix] System emails are sent without a From display name (#27516)
- [Fix] System email templates pad the hidden preheader with invisible U+034F characters (#27515)
- [Fix] Plain-text part of outgoing emails contains raw CSS from
- [Fix] Setting "State of missed chats" is still ignored (#27505)
- [Fix] Local telephony stack pins app IP via extra_hosts, breaks after app restart (worker 500, Asterisk BYE) (#27496)
- [Fix] Chats to which agent joins by an invitation from another agent are not counted under the
Chats column in reports (#27380)
- [Fix] PasswordChangerRpc leaks agent account existence — unauthenticated email enumeration via HTTP 400 vs 200 (#27374)
- [Fix] Agent availability report shows "Data error" when filtered by agent (#27311)
- [Fix] Agent panel shows false "Maintenance mode in progress" popup during normal operation (#27304)
- [Fix] Opening a ticket doesn't automatically scroll to the beginning of the last message (#27288)
- [Fix] Download all attachments from an email message is missing after the email envelope migration (#27186)
- [Fix] Agent edit screens are downloaded in the initial fragment instead of on demand (#27083)
- [Fix] Ticket tab of another agent's chat you were viewing keeps reappearing after the page refresh (#27062)
- [Fix] 360dialog WhatsApp webhook crashes and drops the whole callback batch when a status or message-text field is null (#27038)
- [Fix] Chat handoff from chatbot to human agent leaves ticket permanently stuck in "Chatting" with no chat and no error logged (#26992)
- [Fix] File deletion removes durable content metadata while retaining the S3 object (#26869)
- [Fix] Creating a ticket via API fails when the sending agent's email matches an outgoing account address (#26813)
- [Fix] Reopening postponed ticket manually throws error and doesn't save the note (#26807)
- [Fix] Outgoing call gets permanently stuck when a customer reconnects to a ticket while an earlier visitor identity is still attached (#26516)
- [Fix] asterisk-la makes five HTTP requests without a timeout, two on the call path (#25903)
- [Fix] Bug: race condition in ticket merge creates cyclic MERGED relation, infinite recursion overloads DB master (#23499)
- [Fix] Voice/queue: unanswered PSTN hangup leaks permanent qu_la_conversation_queue row (DDD/legacy dual-writer race) (#23478)
- [Fix] Changing a ticket owner is not possible in some scenarios (#25681)
- [Performance] Inefficient /api/v3/chats status filter query (dominant slowlog entry) (#27550)
- [Other] Refactorings and other fixes (#26733)(#19417)
Ondrej Pok
- [Improvement] Support connecting Google Gemini and OpenAI personal AI agents to the personal MCP server via OAuth (#27058)
- [Fix] Call transcription stays "in progress" forever when the account's only AI provider is not OpenAI (#27714)
- [Fix] SSO/OAuth agent logins are not recorded in qu_g_logins login history (#27825)
- [Fix] Email ticket is missing the beginning of long text message (#27854)
- [Fix] New chats read old chat 1's messages because their UUID is cast to a number (#27880)
Ondrej Pok
- [Fix] Call transcription stays "in progress" forever when the account's only AI provider is not OpenAI (#27714)
- [Fix] New chats read old chat 1's messages because their UUID is cast to a number (#27880)
Ondrej Pok
- [Improvement] Enforce AI Agent limit on creation (#27682)
- [Fix] Reopened ticket shows stale status in agent panel after its tab was closed (#27646)
- [Other] Refactorings and other fixes (#23296)
Ondrej Pok
- [Fix] Chat handoff from chatbot to human agent leaves ticket permanently stuck in "Chatting" with no chat and no error logged (#26992)