Enhancements
- Compatibility with PHP7 (#2828)
- Share tickets among organization members (#2405)
- Add lock semantics compatible with v1.9 (lock on view) (f826189)
- Staff login backdrop is customizable (#2468)
- Add advanced search for closed date, thread last message, thread last response (#2444)
- Disable auto-claim by department (#2591)
- Properly flag SYSTEM thread postings (#2702)
- Add option to use dept/agent name on replies (#2700)
- Add a preference option to set the sort order of the thread entries in DESC or ASC order (#2700)
- Thread dates can be shown as relative or absolute timestamps (#2700)
- Make Avatars optional on thread view (#2701)
- Make Authentication Tokens Optional (auto-login links in emails) (#2714)
- Use icons for ticket and task actions (#2760)
- role: Add option to use primary role on assignment (#2832)
Improvements
- All improvements cited in v1.9.12 and v1.9.13
- Fix deleting of custom logos (#2433)
- Fix assignment setting on new tasks (#2452)
- Fix subject display of non-short-answer fields on ticket view and ticket queue (#2463)
- Fix advanced search of ticket source (#2479)
- Forbid adding deleted forms via "Manage Forms" (#2483)
- Use horizontal tabs for translatable article content rather than the left tabs in a table (#2484)
- Fix lock expiration time if PHP and database have different time zones (#2533)
- Fix user class and ID matching from email headers (#2549)
- Fix emission of
Content-Language
header in client portal for multiple system languages, thanks @t-oster (#2555) - Fix deployment of fresh git repo or download on PHP 5.6 (#2571)
- Fix handling of abbreviated database timezones like
CDT
(#2570) - Fix incorrect height display of avatars (#2580, #2609)
- Sort help topic names case insensitively, thanks @jdelhome3578 (#2530)
- Fix detection of looped emails (f2cac64)
- Fix crash in ticket preview (popout) if ticket has no thread (bd9e9c5)
- Fix javascript crash adding new ticket filter (d2af0eb)
- Fix crash if the
name
field of a user is a drop-down (ec0b2c5) - Fix incorrect SQL query removing departments (cf6cd81)
- Properly fallback to database file storage if system is misconfigured (1580136)
- Fix crash handling fields with
__
in the name in the VisibilityConstraint class (b3d09b6) - Remove staff-dept records when removing an agent (ecf6931)
- Avoid crashing processing ORM records with NULL select_related models (#2589)
- Fix several full-text search related issues (#2588, #2603)
- Fix crash sending registration link for a guest user (#2552)
- Avoid showing lock icon for expired locks on ticket listing (#2617)
- Fix incorrect redirect from SSO authentication, thanks @kevinoconnor7 (#2641)
- Fix vertical overflow of uploaded image preview (#2616)
- Fix unnecessary dropping of CDATA table on MySQL 5.6 (#2638)
- Fix several issues on user directory ticket listing (#2626)
- Fix encoding of attachment filenames in emails (#2586)
- Fix warning rendering advanced search dialog, thanks @t-oster (#2594)
- Fix bounce message loop for message alert to a bad agent email address (#2639)
- Make fulltext search optional on user lookup (#2657)
- Add the [claim] feature again (#2681)
- Fix agent's Signature & Timezone dropped on update (#2720)
- Fix crash in user CSV import (#2708)
- Fix crash in user ajax lookup (#2600)
- Send Reference and In-Reply-To headers only for thread items pertinent to the receiving user (#2723)
- Properly clean HTML custom fields (#2736)
- Fix changing/saving properties on internal ticket statuses, with the exception of the state (#2767)
- Fix CSV list import (#2738)
- Fix late redirect header for single ticket typeahead result (#2830)
- Add sortable column headers in the ticket and task queues (#2761)
- Fix several issues with the file CLI app (#2808)
- Fix config crash on install (#2827, #2844)
- Set due date based on user's timezone (#2812, #2981)
- Fix crash rendering some email addresses to string (#2844)
- Fix crash rendering thread with invalid timestamps (#2844)
- Log assignment note (comments), if any, when staff created ticket is assigned (#2944)
- Change transient SLA, on transfer, if target department has a valid SLA (#2944)
- Fix typo on task transfer modal dialog (#2944)
- Fix ticket source on ticket edit (#2944)
- Convert user time to database time when querying stats (#2944)
- Fix date picker clearing input on invalid date format (#2944)
- Show topic-specific thank-you page (#2915)
- Department manager can be excluded from the new ticket alert (#2974)
- Do not scrub iframe
@src
attribute (#2940)
Performance and Security
- Use full-text search for quick-search typeahead boxes (#2479)
- Speed up a few slow and noisy queries (5c68eb3, 340fee7, 208fcc3)
- Lower memory requirements processing attachments (#2491, #2492)
- Ensure agent still has access when reopening a ticket (#2768)
- Always perform validation server-side for ajax uploads (#2844)
- Protect access to files shown in the FileUpload field (#2618)
- Decode entities prior to HTML scrubbing (#2940)
Known Issues
- Uploading multiple files simultaneous (via drag and drop) will cause some files to be dropped