[Feature] Agent roles per department (reader, solver, supervisor, manager)
[Improvement] Improve Google oAuth app to support sending emails from aliases (#18188)
[Improvement] Add option to set up 3 digits number as an external device (#16699)
[Improvement] Update GPT model to latest version (#19169)
[Improvement] New shortcuts for new ticket and call (#19154)
[Improvement] Unread counter with scroll action (#18992)
[Improvement] Improve error message when limits reached on OpenAI assistant (#18777)
[Fix] Localize To solve algorithm setting name (#19266)
[Fix] Broken Plugin configuration (#19280)
[Fix] Impossible to adjust the width of the Views column in KB grid (#19275)
[Fix] Custom roles grid shows wrong count of agents with given custom role (#19272)
[Fix] Problem with index tickets (#19262)(#19247)
[Fix] API key authentication does not work to access files through scripts/file.php (#19258)
[Fix] In department roles there is non-working "change" button available for changing admin role (#19252)
[Fix] Not possible to save any changes in agent profile (role agent) (#19226)
[Fix] "Call not found" on call status change (#19223)
[Fix] Missed call ID in service_params in ticket with call (#19222)
[Fix] Update JsonSerializer::decode() to support legacy error handling (#19221)
[Fix] Error: Failed to deserialize custom form field with id in MysqlFormFieldsRepository.php (#19210)
[Fix] List type custom fields do not save available values (#19196)
[Fix] Convert contact to company button is not restricted for custom roles (#19188)
[Fix] Wrong behavior when fetching Slack channels with 0 members (#19187)
[Fix] POP3 connection fail due to incomplete response received via socket connection (#19178)
[Fix] Broken "To solve" functionality in department settings (#19134)
[Fix] "Answered scheduled" status does not change after sending e-mails (#19103)
[Fix] Postponed ticket in which agent called a customer cannot be postponed again to the same time (#19101)
[Fix] %s is shown instead of agent name in agent creation form success message (#19091)
[Fix] CRITICAL: La_Features_Facebook_EventProcessor_Conversations::createFileMessageFromAttachment(): Return value must be of type Qu_La_Message_NewFileMessage, null returned (#19064)
[Fix] Customer cannot leave an offline message when ticket is already deleted (#19055)
[Fix] Attached file removed from Predefined answer after the template used in ticket note and file removed from note (#19040)
[Fix] Agent displayed in the list of available destination for internal call even if he is on another call (#18925)
[Fix] The "Clone agent" form freezes after clicking "Create" (#18851)
[Fix] Merging of contacts does not finish for bigger data (#18729)
[Fix] CRITICAL: Argument #1 ($request) must be of type FacebookRequest in FacebookBatchResponse.php (#18692)
[Fix] CRITICAL: fopen(): Argument #1 ($filename) must not contain any null bytes in La_ContactWidget_Generator.class.php. (#18234)
[Fix] Loading Slack channels in rule or mass action throws Data error Slim Application Error (#18073)
[Fix] Trying to leave offline message through chat button gives "Permission denied" error (#17787)
[Fix] Error after sending offline message (#17390)
[Fix] Shortcut to open My Account does not work (#17176)
[Fix] Older attachment not possible to download (#16444)
[Performance] "Connection timeout" error on the Tag report (#17085)
[Other] Refactorings and other fixes (#19214)(#19155)(#19142)(#19090)(#19073)(#19069)(#19060)(#19049)(#19002)(#18936)(#18902)(#18882)(#19288)(#19199)(#19281)(#19277)(#19251)(#19102)(#19033)(#19261)