Request Tracker v5.0.0 Release Notes

Release Date: 2020-07-16 // over 4 years ago
  • 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
    are below.

    You can get the new version here:

    ๐Ÿš€ https://download.bestpractical.com/pub/rt/release/rt-5.0.0.tar.gz
    ๐Ÿš€ https://download.bestpractical.com/pub/rt/release/rt-5.0.0.tar.gz.asc

    SHA-256 sums

    781ac6e21d8e1cf3514ddc6a71418cefde903df241d4e7011e75f90eb62a952e rt-5.0.0.tar.gz
    f3fe75aca612cbd7904877fa2951be691f5451ef11b4048e7906700d42853975 rt-5.0.0.tar.gz.asc

    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
    themes.

    ๐Ÿš€ 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::QuoteSelection
    • RT::Extension::RightsInspector
    • RT::Extension::ConfigInDatabase
    • RT::Extension::CustomRole::Visibility
    • RT::Extension::PriorityAsString
    • ๐Ÿฑ RT::Extension::AssetSQL
    • RT::Extension::LifecycleUI
    • RT::Extension::REST2
    • RT::Authen::Token

    Command-line

    • ๐Ÿšš 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

    Internals

    • 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

    Database

    • โฌ‡๏ธ 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

    Server Administration

    • ๐Ÿ”ง 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

    Developer

    ๐Ÿ— Move RT menu building logic from Mason templates into Perl
    library files

    ๐Ÿ”จ 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
    /Ticket/Forward.html AfterMessageBox
    /Ticket/Forward.html Initial
    /SelfService/Create.html Initial
    /Elements/ShowTransactionAttachments ModifyContent

    A complete changelog is available from git by running:
    ๐ŸŒฒ git log rt-4.4.4..rt-5.0.0
    or visiting
    rt-4.4.4...rt-5.0.0


Previous changes from v4.4.3

  • 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.

    ๐Ÿš€ https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz
    ๐Ÿš€ https://download.bestpractical.com/pub/rt/release/rt-4.4.3.tar.gz.asc

    SHA-256 sums

    738ab43cac902420b3525459e288515d51130d85810659f6c8a7e223c77dadb1 rt-4.4.3.tar.gz
    29e0f9c44e30fb8bb2d23448f1930593aef28e4b3faf5bd22619f52e53229c4f rt-4.4.3.tar.gz.asc

    ๐Ÿ’ป General user UI

    • ๐Ÿ‘‰ Show the Ticket's Subject when modifying the ticket.
    • ๐Ÿ“œ Re-format RT/Config.pm so the # loc comment 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
      ๐Ÿ”– version.
    • 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
      find groups.
    • 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
      ScrollShowHistory (I#32699).
    • ๐Ÿ›  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
      is accessible.
    • ๐Ÿ— 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
      disabled (I#32949).

    Administration

    • 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
      command-line.
    • ๐Ÿ‘Œ 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

    Internals

    • ๐ŸŽ Cache OCFVs to improve performance searching for duplicates when adding
      values.
    • โœ‚ 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.

    Developer

    • 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.

    ๐Ÿ“š Documentation

    • ๐Ÿ“„ Mention the RT-Attach-Message: yes header in template docs.
    • ๐Ÿ›  Fix incorrect path in portlet documentation.
    • ๐Ÿ“œ In $ParseNewMessageForTicketCcs docs, mention the RT::Action::AutoAddWatchers
      extension.
    • 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.

    Internationalization

    • ๐Ÿ”จ 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
    or visiting
    rt-4.4.2...rt-4.4.3