RT 5.0.0 -- 2020-07-17
We're pleased to announce the general availability of RT 5.0.0. This
🚀 release introduces a major update of the web UI as RT now uses
the popular open source Bootstrap front-end toolkit. This brings
📱 to RT a modern, responsive layout with all of the power and familiar
🔋 features of RT. Details on this and other changes and new features
You can get the new version here:
Although only noted in a few items in the list below, the Bootstrap
⚡️ update alone accounted for hundreds of commits and thousands of lines
⚡️ of code updates. We hope the update to a very popular web framework
will make it even easier for users to create (and share!) new
🚀 In addition to that major UI update, this release also contains many
other big new features including a new charting library, a graphical
⚡️ lifecycle builder, and new web access for admins to update RT's
🔧 many configuration options. This new version of RT contains changes
and improvements from over 1,500 git commits.
🔧 We have also added configuration to run RT's 35,000+ tests using
👀 TravisCI, so you can now see our test runs from GitHub.
🚀 A list of changes included in this release is below.
🆕 New features
- 🌐 Convert to Bootstrap as base web design framework
- ✂ Remove table-based page layout and make design responsive
- Create new elevator-light and elevator-dark themes
- Convert many on-screen hints/help to tooltips
- ➕ Add Fontawesome and update all icons to svg
- 👍 Allow CustomDateRanges to be defined in configuration for
👉 use in ticket search results
- 👌 Support BusinessHours times in CustomDateRanges
- 👌 Support default dates when not defined for CustomDateRanges
- ➕ Add linking support to groups
- 🆕 New Group Summary page (similar to User Summary)
- ➕ Add group-scoped options for default ticket listings on
Self Service pages
- 🆕 New transaction query builder for searching transactions
- 🆕 New asset query builder for searching assets, support for AssetSQL
- 🔧 RT configuration is now available to SuperUsers in the web interface
- 💅 CKEditor updated to 4.13, re-styled for new themes
- ⚡️ Update chart UI to use chart.js
- ➕ Add CustomDateRanges and BusinessHours support to charts
- ➕ Add line charts to chart options
- Inline edit is now available on ticket display and in ticket
listings (search results, saved searches, etc.)
- ➕ Add jGrowl for pop-up style result messages
- Ticket priority can now be set and managed using text priority
🔧 options like Low, Medium, High (configurable)
- 🆕 New graphical UI for building and editing lifecycles (workflow)
and lifecycle settings
- 🔗 LinkedQueuePortlets allows you to add a section to ticket display
with linked tickets from another queue
💻 General user UI
- ➕ Add asset display menu actions to ShowAssets template
- Relabel 'Password' box on /Prefs/AboutMe to 'Access control'
- 0️⃣ Default search result count display to on
- ➕ Add default value for Articles in Queues
- ➕ Add autocomplete for articles
- 🔨 Refactor ticket create and update to use new SelectArticle, merging
previous 3 form controls for articles to one
- ⚡️ Update article select to automatically show dropdown or autocomplete
box based on DropdownMenuLimit
- ✂ Remove article hotlist configuration since all articles in a class
are available to associated queues
- Queue can now be selected directly on the ticket create page and changed
before creating a ticket
- Catalog can now be selected on the asset create page and changed
before creating an asset
- 💻 Re-designed listing and selection UI for RT at a glance edit page and
dashboard edit pages
- 🆕 New Selectize "bubbles" when entering users in Requestors, Cc, etc. on
⚡️ ticket create and update pages
- ➕ Add configuration to hide custom roles from some pages like the ticket
create page, etc.
- 0️⃣ Select one value custom fields now default to Dropdown
- Content selected on ticket display is quoted on reply/comment
- ➕ Add unread message count as an option for unread messages on RT at a glance
- ⚡️ Display current queue on ticket update page (reply/comment)
- ➕ Add Create Ticket option to Home menu so it is available when in assets, articles, etc.
- 🆕 New page option to reverse transaction sort on current ticket while viewing
- Convert logos and images to svg
- ➕ Adding/deleting values for custom fields now uses ajax to update
in-page without a full page refresh
- 🚚 Move user-generated dashboards from the Home menu to Reports menu
- 🔧 Make Reports menu configurable, including removing default reports and
➕ adding/removing dashboards (like previous functionality in Home)
- 👌 Support for filtering by lifecycle in ticket query builder
- 📱 Default mobile devices to full (now responsive) RT web UI. Mobile
⚡️ optimized UI still available by setting $ShowMobileSite
- 🛠 Fix table wrapping error in Ticket/Update.html
- Don't double-escape queue name in title generation stage
- ⚡️ On ticket update, defer AJAX recipients update briefly to get form's latest status
- 👌 Improve UI of unread messages notification
- Omit groups in saved search privacy menu if user doesn't have rights
to save searches for that group
- ⚡️ Sync one time inputs back to checkboxes on ticket update page
- 👌 Support searches on NULL(unset) values on user/group admin pages
- Fill up cells of record's last row in search results
- ➕ Add a display only Owner column as an alternative to OwnerName
- 🛠 Fix mobile home navigation for iOS
Extensions Added to Core
- 🍱 RT::Extension::AssetSQL
- 🚚 Move perl dependencies to cpanfile
- ✅ Many improvements to information and output of rt-test-dependencies (make testdeps)
- ⚡️ Many updates to module dependency lists, versions, etc.
- ➕ Add support for JSON-formatted initialdata
- 👌 Support assets and catalogs in initialdata
- 👌 Support ObjectCustomFieldValues in initialdata
- 👌 Support Articles in initialdata
- 🆕 New rt-dump-initialdata script to export RT objects to initialdata files
- ➕ Add documentation for serializer/importer process
- Clear Subject header from auto-generated text email part
- 💻 Respect AllowUserAutocompleteForUnprivileged for email inputs in self service UI
- 🍱 Convert summary page asset searches to use AssetSQL
- 🏗 Multiple changes to RT query builder to allow for customization
in extensions (specifically RTIR)
- Migrate owner autocomplete to the general autocomplete
- 👌 Support gpg 2.2 for email encryption
- 👍 Allow extensions to add custom field groupings to queue defaults
- 👍 Allow a Limit value to be passed to tickets autocomplete
- ➕ Add ExternalAuth support for attribute mappings to user CFs
- ➕ Add ExternalAuth support for coderefs in attr_map
- ➕ Add DisplayTotalTimeWorked to RT_Config.pm
- ➕ Add $QuoteWrapWidth option for wrap length when quoting on ticket reply
- Fix uninitialized warning in ticket searches with active and inactive items
- 👉 Use system user to get custom field objects to inspect in searches
- 0️⃣ Set a default for $AttachmentListCount
- 🌲 Clarify external auth logging when users are not found
- 0️⃣ Default lifecyle type to ticket on SelectStatus
- 🚚 Move SignatureAboveQuote to Message box properties
- ➕ Add support for setting user CFs on create
- ➕ Add sort for external custom field values
- 🛠 Fix removal of scrips when shredding queues
- 🌐 Restore mistakenly translated quant function in German translation
- 🛠 Handle subject tags prefixed with http:// by email clients
- ✂ Remove duplicated closing tag for attachment delete links
- Correctly handle custom field MaxValues
- ⚡️ Update default rights check to false to correctly handle custom
role edit rights checks on tickets
- ➕ Add multipart/form-data encoding to EditAboutMe form
- 🛠 Fix removal of custom fields when shredding queues
- ✂ Remove search string including numbers in ticket autocomplete search on select
- ⚡️ Update RecentlyViewedTickets to deal with shredded/merged tickets
- 🛠 Fix bug that kept 11 tickets in the "recently visited" list instead of 10
- Filter queues by checking "CreateTicket" right on ticket create page
- ⬇️ Drop HotList column for Classes
- ⚡️ Update to utf8mb4 charset on MySQL/MariaDB
- ⚡️ Update id size to BigInt for some tables that get large in big RTs
- 🔧 Make RT logout link configurable
- ➕ Add %ThemeJSFiles config to serve different js for different themes
- ✂ Remove references to end-of-life versions and software
- Document a fix for perl module permissions problem
- ⬆️ Avoid upgrade warning of "no such table: Configurations" before it's created
- 🌲 Document and log information on external HTML formatters
🏗 Move RT menu building logic from Mason templates into Perl
🔨 Refactor asset menu logic into separate functions
🗄 Deprecate RT::Article::LoadByInclude that was for old article selection UI
Pass ShowHints via a callback to provide a way to hide hints
Document additional plackup options via rt-server
✅ Load Test::MockTime earlier to fully replace time functions in core
👍 Allow RT_HOST to be set via environment variable for testing
➕ Add docker and travis configuration to run RT tests on TravisCI
✅ Avoid running multiple rt-externalize-attachments simultaneously in tests
🆕 New callbacks:
🏗 /Search/Build.html BeforeDisplay
A complete changelog is available from git by running:
🌲 git log rt-4.4.4..rt-5.0.0
v5.0.0.beta2June 16, 2020
v5.0.0.beta1May 20, 2020
v5.0.0.alpha1February 14, 2020
v4.6.0December 03, 2018
v4.6.0-pre1December 03, 2018
v4.4.4beta2February 01, 2019
v4.4.4.beta2February 01, 2019
v4.4.4.beta1January 11, 2019
RT 4.4.3 -- 2018-06-26
We're pleased to announce the general availability of RT 4.4.3. This
🛠 release introduces several new features and also bugfixes.
💻 General user UI
- 👉 Show the Ticket's Subject when modifying the ticket.
- 📜 Re-format RT/Config.pm so the
# loccomment parses correctly.
- Sort saved searches alphabetically by name rather than by id.
- 🚚 In Self Service, provide a path to remove attachments from the session
when they are deleted from dropzone by the user (I#32663).
- 🛠 Fix evaluation of set vs. unset custom fields on display for correct hiding.
- 🔧 Set dropzone attachment size based on RT's MaxAttachmentSize configuration.
- ➕ Add a configuration option TreatAttachedEmailAsFiles to treat attached email
📜 as a file attachment instead of parsing as regular email.
- ⏪ Restore email header parsing for items like email addresses when
TreatAttachedEmailAsFiles is not set. This was disabled in a previous
- 0️⃣ Respect default queue settings in Create linked ticket dropdown (I#32884).
- ⚡️ More fixes for recipient checkboxes on update. This version removes previous
⚡️ problematic fixes and gives a visual indication (shading) when RT is updating
recipients in the background and checkboxes should not be changed (I#33027).
- Provide a way to reset personal search preferences back to the RT system
0️⃣ default (I#32854).
- ➕ Add an Untake action to the Actions tab.
- ➕ Add active and inactive status to query builder.
- 🏗 Re-add Queue to 'Order by' dropdown in Search Builder.
- 👉 Make admin searches for queue and group case insensitive making it easier to
- 0️⃣ When editing ticket basics, always add valid default value to queue selection,
👀 taking into account SeeQueue rights.
- Set dropzone parallelUploads to 1 to avoid losing attachments. Also
set parallelUploads when the dropzone object is created.
- 💻 Correct error messages on user rights for CF admin UI.
- In ticket history, respect ShowHeaders option from request for
- 🛠 Fix ExtraArgs of callback ExtraShowHistoryArguments in ScrollShowHistory.
- In the ticket history with scroll set, continue to get transactions until all
have been shown, even if a block has been hidden for some reason (rights, etc.).
- ➕ Add PreferDropzone config/pref option for users. Dropzone is not accessible
to screen readers and this enables the previous attachments interface which
- 🏗 In the query builder, set operator to "IS" or "IS NOT" for NULL values.
🛠 This fixes a regression from pre-4.4 RT behavior.
- Don't create ticket if user clicks "Go" buttons of "Include Article".
- 🛠 Fix CF name escape for asset search's spreadsheet download.
- 👉 Show the user in single member custom roles even if the user is
- Stop wrapping ShowUser in tags to avoid unnecessary nested links.
- When listing group members, sort by text-only representation of the
👉 user, not HTML (I#30771)
- In the group admin page, stop pre-computing ShowUser.
- In shredder, check for both id and name mismatches when loading objects.
- ➕ Add a new rt-passwd command to make it easy to reset passwords on the
- 👌 Support custom roles in RT serializer/importer tools.
- 👌 Support catalogs and assets in RT serializer/importer tools.
- ⚡️ Update RT's module dependencies for SSL (https) to align with updates
to the CPAN module ecosystem.
- ➕ Add age, batchsize, and dry-run options to rt-externalize-attachments.
- Set proper HTTP Status codes on Abort.
- The value for converting the owner dropdown to an autocomplete textbox can
⚡️ now be updated in configuration with DropdownMenuLimit.
- 👯 Switch to Clone::clone to copy config structures in Obfuscate callbacks. This
🔧 restores support for REGEXP and CODE configuration on the System Configuration page.
- 🔧 Provide a way to pass more options to Net::LDAP from LDAPImport configuration.
- Provide more debug output on connection failures in LDAPImport.
- 🌲 Store log messages until RT::Logger is initialized. This means messages logged
before the logger is available, like "Change of config option..." can now
🔧 respect the configured log level.
- In shredder, check for both id and name mismatches when loading objects
- Retain scrip sort order in pagination links
- 🐎 Cache OCFVs to improve performance searching for duplicates when adding
- ✂ Remove unused dependencies on File::Copy and Carp.
- On Oracle, return the empty string instead of undef for Subject when it
has no value on a ticket.
- 🍱 When linking, load assets by id to confirm the asset exists. This makes
asset link handling consistent with ticket handling.
- 🛠 Various fixes for compatibility with perl 5.26.
- 👌 Support unicode characters in constant time comparison function
- 👍 Allow merge for tickets only, not other types like reminders (I#32700).
- Preload Encode with UTF-8 to avoid masking other errors (I#32648).
- 🖨 Process multiple links via the REST 1.0 interface.
- ➕ Add SLA field support on REST 1.0.
- 🏗 Build table attributes for RT::Asset. This is needed to allow assets to work
properly with REST 2.0.
- Avoid uninitialized value warnings with CustomField.
- Call DoAuth only if ExternalAuthPriority is not empty, allowing use of
ExternalAuthInfo without ExternalAuthPriority set.
- 0️⃣ Use "id asc" as the default sort order of GroupMembers for consistent ordering.
- 🐎 Cache OCFVs to improve performance searching for duplicates on add.
- ⚠ In CollectionAsTable, fix the uninitialized warning in case @order is empty.
- ⚡️ In rt-validator, update link checking regex to match asset links.
- ✂ Remove trailing "/" from RT::URI::asset::LocalURIPrefix for consistency.
- ⚠ Use RT::Logger for EmailInputEncodings config warnings.
- "Die" properly when receiving an invalid query via to FromSQL.
- Avoid using $id in /Ticket/Display.html so callbacks can modify id in ARGS.
- 📜 Pass the MIME entity to ParseTicketId in addition to subject.
- ✂ Remove a 'This is scary' comment from code that has been running fine for
over 10 years.
- 👌 Improve warning tracking for automated tests.
- ➕ Add an Initial callback to Bulk.html.
- ✅ Don't fail externalauth/auth_config.t tests if Net::LDAP is missing.
- ✅ Find an idle port for LDAP test server to avoid tests hanging when running
in parallel mode.
- ✅ When testing, make sure DevelMode is on to catch compilation errors.
- ⚠ Avoid uninitialized warnings of empty ticket subjects on Oracle.
- 0️⃣ In the MessageBox template, default callback, pass $message by reference in
MessageRef, as the variable name implies. This will break previous use of
MessageRef as a scalar.
- ➕ Add support for a NeverNotifyActor argument to Notify actions.
- 📄 Mention the RT-Attach-Message: yes header in template docs.
- 🛠 Fix incorrect path in portlet documentation.
- 📜 In $ParseNewMessageForTicketCcs docs, mention the RT::Action::AutoAddWatchers
- Document queue-level template overrides.
- ✅ Document using prove and RT_TEST_PARALLEL for tests.
- ⬆️ Note in UPGRADING that RT::Extension::AdminConditionsAndActions is now in core.
- ✂ Remove unnecessary AUTHORS sections from docs.
- 📚 Update rt-static-docs documentation processing to fix broken links.
- ➕ Add MariaDB support to documentation and rt-setup-fulltext-index.
- 🔨 Many changes to refactor sections of RT's internationalization code.
A complete changelog is available from git by running:
🌲 git log rt-4.4.2..rt-4.4.3