1. 1.0.29

    Dernière
    • Security: attachments are checked by their real content and only the allowed types are accepted: HTML, SVG, XML and scripts are always refused
    • Security: attachments (tickets, replies, drafts, custom fields) are stored on a private disk and served only to the ticket's customer and to staff, through a link that checks who is asking. This update moves the attachments already uploaded to the private disk
    • Security: only images and PDF files are previewed in the browser, every other attachment is downloaded
    • Improved: a department blocked by a product disabled on its marketplace is now greyed out in the new ticket form, with the reason below the list, instead of being refused only after the form is sent
    • Security: the mailbox password and the token of the inbound webhook URL are now stored encrypted, also the ones already saved. The webhook URL does not change
    • Fixed: saving the settings with the mailbox password field left blank could erase the saved password
    • Improvements & Bugs fixed.
    • New "Always Public (even when login is required)" choice in the "Visibility" list of knowledge base articles: such an article stays readable by visitors who are not logged in when the "Require Authentication" setting is on, e.g. a guide that customers need before they have an account
    • A visitor who is not logged in and opens an "Always Public" article of a knowledge base that requires a login only sees the other "Always Public" articles in its sidebar and related articles; every other page of the knowledge base still asks them to log in
    • Ticket references are now random (e.g. HD-7KQ4M9XP2R) instead of sequential (HD-00001), so nobody can open the confirmation page of other tickets or attach an e-mail to them by trying the next number
    • Existing tickets get a new random reference on update. Their old reference no longer works: links and e-mails that carry it lead nowhere, and replies to older notification e-mails are still matched to their ticket by the e-mail headers
    • New "Ticket Filters" page (HelpDesk > Ticket Filters) to build rules from conditions on the customer (account, e-mail, guest or registered, badge), the products they own (licenses add-on) and the ticket (department, assigned agent, status, priority, channel, subject, message, IP address, age, inactivity)
    • Filter actions: set the status (e.g. close), set the priority, assign a department, assign an agent, assign a customer badge, reply with a canned response, add an internal note, e-mail an alert to chosen addresses, send the whole ticket (messages and attachments) to chosen addresses, mute the agents' new-ticket alert, or move the ticket to the trash
    • Tickets can now be assigned to an agent: from the new agent picker in the ticket header (shown in the ticket details too) or by a ticket filter; the agent is notified by e-mail and in the admin notifications
    • The ticket lists show an "Agent" column and have an Agent filter (a specific agent, unassigned tickets, or "My tickets"), with a one-click "My tickets" toggle
    • The ticket count and the list tools (Delete older than, Trash) moved to their own line below the filters, which now have the full width
    • Active filters run automatically on every new ticket, in the list order, with an optional "Stop here" to skip the filters below; a trashed ticket sends no notification
    • Any filter can be applied to the existing tickets, after previewing how many match; the form also previews the matching tickets before saving
    • Filters can be reordered, duplicated, enabled or disabled, and show how many tickets they were applied to
    • New permissions: helpdesk.ticket_filters.view, .create, .edit and .delete (granted to the admin role)
    • New notification types (can be turned off in the notification settings): Ticket Assigned, Ticket Filter Alert and Ticket Forwarded by a Filter
    • New "Tickets Order" setting (Settings > Display & Behavior) to order the admin ticket lists by priority then date, or by date only (the default)
    • The admin ticket lists and the ticket page now show the previous status of each ticket, and a "New" marker on the tickets that have no reply and whose status never changed. Existing tickets get their previous status from the activity log on update
    • Customer badges were removed: the "Customer Badges" page, the badges settings tab, the badge chips and the "Badge" filter of the ticket lists, the badge card of the ticket page, the nightly badge sync and the "Badge Assigned" e-mail. To answer some customers first, set their ticket priority with a ticket filter and order the lists by priority
    • Ticket filters: the "Customer badge" condition and the "Assign a customer badge" action were removed; a filter that used the condition, or whose only action assigned a badge, is disabled so you can review it
    • The helpdesk_badges and helpdesk_user_badges tables, the badge_priority ticket column, the badge settings and the helpdesk.badges.* permissions are removed on update
    • New "Show Sub-collection Articles" option in the knowledge base display settings: when enabled, a collection page also lists the articles of all its sub-collections (at any depth), not only its own articles
    • The option is off by default, so collection pages look the same until it is enabled
    • Articles listed from a sub-collection link to their own collection's URL, and sub-collections that are inactive (or nested under an inactive one) are left out
    • New "On Hold" ticket status for open tickets that don't need an urgent reply: agents set it from the ticket status selector
    • On-hold tickets leave the "Open" list (and the sidebar "Tickets" badge) and get their own "On Hold" list in the ticket list switcher, with its own counter
    • Customers never see the "On Hold" status: their ticket list and ticket page keep showing the ticket as "Open"
    • A customer message on an on-hold ticket keeps it on hold, and so does an internal note; a public agent reply moves it to "In Progress"
    • The automatic "No Response" flagging skips on-hold tickets, so they stay in the "On Hold" list until an agent handles them