- hide plain text password display when a new user or customer is successfully created.
- modified color selector to allow manual modification (typing in, deleting) of HEX color codes.
- during upgrade, detect if the users table already has a column named "active" and convert it to 3.7.x.
- fix: creating customers in the admin panel "submit a ticket" form not working in 3.7.x when emails are optional.
- fix: adding new users broken after upgrading from a pre-3.7.0 version if "Staff nicknames" are turned off
- fix: issues with customer to ticket mapping when importing from 3.4.x and earlier versions
- fix: public side not working on PHP 5.6 anymore
- staff permission groups for easier application of permission combinations
- option to allow staff to use nicknames instead of their real names for customer interactions
- you can now deactivate help desk users (staff/administrators) instead of deleting them
- select which columns to display in the customer (public) side ticket list
- you can now modify customer (public) side colors from the admin panel
- improved handling of customer names when customer accounts are disabled
- improved detection of replying customer when multiple customers are copied on a ticket
- mute email addresses (accept tickets, but don't send any email notifications)
- in email to ticket functions, copied contacts (To and Cc) can be included as ticket followers
- automatically order categories by name or ID
- link selected tickets in bulk
- link tickets using ticket number or tracking ID
- merge customer accounts
- download or delete selected attachments
- work-around for PHP 8.5 depreciated functions
- show customer name in ticket history log instead of "Customer"
- option to show full email addresses in the staff tickets table
- you can now force extending staff and customer sessions using an iframe trick
- added a tool for clearing Hesk cache
- edit head/header/footer files from admin panel
- choose multiple categories in the "Show tickets" and "Find tickets" forms
- additional settings for browser autocomplete and remembering custom field data
- additional data included in ticket exports (number of replies, reply messages)
- fix: "Download all" ignoring files with duplicate names
- fix: processing incoming emails fails if the stream starts with a UTF-8 BOM
- fix: don't change the ticket last updated timestamp when a blank customer IP is updated
- fix: missing ticket customer data in an expired session with auto-login case
- fix: don't pass a non-string to password_verify
- fix: hard-coded admin path in email settings
- fix: the "Bookmarks" quick link is not colored when selected
- fix: priority drop-down selects are missing colored flag icons
- fix: SQL error when re-sending emails of an unassigned ticket without collaborators
- fix: a public article in a private sub-category appears on the knowledgebase.php page.
- fix: possible incorrect count of valid MFA backup codes shown in admin panel.
- fix: PHP 8.4 deprecates implicitly nullable types (MFA module).
- fix: don't pass a null value to setcookie().
- fix: cannot translate "Unlink" button text.
- fix: hard-coded database table prefix in Manage customers.
- fix: SQL error when adding a note to a ticket assigned to someone else with no collaborators.
- fix: remove collaborators from tickets when their category access is revoked.
- fix: linking tickets not working with some custom date formats.
- fix: cannot create multiple customers with no email in admin panel.
- minor UI changes.
- fix: improper customer handling when emails are not required
- fix: time worked not updated when submitting notes in a special case
- fix: passing null instead of a string to some functions is depreciated
- updated TinyMCE to 7.7.1 for better mobile performance
- you can now copy the customer email and IP address when viewing details from admin ticket
- when submitting a ticket from admin panel, the category assign settings are now used to select default owner
- added ticket subject tag for use in canned responses
- provide a way for customers to change their preferred default language
- fix: query searches by customer in replies can take a long time
- fix: SQL error when retrieving existing ticket IDs in MySQL strict mode
- fix: the "View all customers (but not manage them)" permission not showing customers
- fix: suppress admin panel submit a ticket PHP notices when Debug mode is activated
- fix: very long email IDs can be truncated when inserted into the database
- fix: allow additional characters in MySQL password
- fix: customer emails sent in default, not selected language
- fix: customer auto-login not working correctly in a specific case
- fix: preserve selected language when closing the email template edit modal
- fix: customer not always logged out automatically after password change
- fix: cannot delete customers from the database when customer accounts are disabled
- fix: link to the wrong download_attachment.php file in customer emails
- fix: "Submit as" button not working with Ticket Formatting set to Rich Text
- fix: required custom field errors from category-specific fields when editing a ticket
- fix: file attachments not working on PHP 8.3+ when Debug mode is ON
- added "status-" selectors to the list of tickets table to make customization by status easier
- fix: list of tickets should have links HTML formatted in HTML emails
- fix: when changing a ticket category, category-specific custom fields should not be cleared of data
- fix: when printing a ticket, print also the sequential ID if enabled
- fix: possible duplicate custom field ID generated
- fix: use rename instead of copy to move temporary attachments
- fix: don't load the users page without the edit or view users permission
- fix: Uncaught TypeError when submitting a note with disabled attachments
- fix: allow Dynamic Properties in secimg class to avoid PHP 8.2/PHP 9 depreciation errors
- fix: private KB sub-category shows no articles if only private articles are inside
- fix: when parsing emails, check if attachments have attachments
- fix: when detecting first name, valid short first names are ignored
- fix: undefined $hesklang in an OAuth function
- fix: allow blob images in TinyMCE
- fix: reply drafts not deleted on slower requests
- fix: in grouped ticket lists, apply select all check marks on the selected grouping only
- fix: wrong status displayed of a resolved ticket to staff who cannot resolve tickets
- fix: time worked not updated when submitting notes in some cases
- fix: IMAP not respecting custom port setting
- updated third-party libraries