RT: Request Tracker

RT 4.2.4 Release Notes

RT 4.2.4 -- 2014-05-13

We are happy to announce that RT 4.2.4 is now available.


SHA1 sums

bcacf4c7669c05ed3e53ac07195abe16164e22f8  rt-4.2.4.tar.gz
b7aed714c51bec81e85d06593ab7a3c859c83c6a  rt-4.2.4.tar.gz.asc

This release is primarily a bugfix release; notable changes include:

Database changes
 * Add the AutoOpenInactive action for upgrades; clean installs of RT
   4.2.0 or higher have this action already
 * Force Lifecycle and Disabled properties of the internal __Approvals
   queue to the values RT needs to function correctly

Notable new features
 * If indexed full-text searching is enabled, the simple search will
   search in both Content and Subject.
 * Align headers of collections to their content, by default.  This
   right-aligns the "#" header of ticket collections, for instance.
 * Send caching headers for all static content; this fixes a regression
   from RT 4.0, which correctly set caching headers on static images
 * Re-order JS to optimize parallel resource fetching, and decrease load
 * Allow LIKE and NOT LIKE with Status limits (#29654)

Regression fixes
 * Resolve a regression in 4.2.3 wherein TITLE information was lost
   after parsing on the Advanced page (#29425)
 * Fix a regression in 4.2.2, which caused "select" custom fields to not
   pick up their defaults when cloning tickets (#29751)
 * Fix a regression in 4.2.2 which caused checkbox CFs to add the same
   value multiple times (#29392)
 * Fix a regression in 4.2.2 when categories were set on a CF without
   using the "based on" feature.
 * Show reminders without due dates if $OnlyOverdue is set; this fixes a
   regression from RT 4.0

 * Use "white-space: pre-wrap" when inserting plain-text into HTML
   templates.  This preserves line breaks but allows clients to wrap
   lines if need be.

 * Updated localizations from Launchpad; new Persian translation
 * Better cluing of pluralization and quantified terms for translators
 * Remove untranslatable locstrings (#29798)
 * Fix extra/missing numbers in Czech localization (#29741)
 * Remove no longer translated right names from PO files
 * Disambiguate "M" for "month" vs "megabyte"

General web UI
 * Better splitting of phrases with numbers in ticket link
 * Autocomplete email addresses in Forward page (#28441)
 * Allow non-ASCII characters in passwords (#28784)
 * Add a "Reset" button to revert homepage portlet formatting to the
   system default
 * Remove uninitialized value warnings for upgrades from RT 3.8 (#17505)
 * Allow downloading attachments whose filenames contain a leading dot
 * Prevent uninitialized value warning on search result pages with no
   query (#29699)
 * Hide user summary links in mobile UI, as there is no user summary
   page for mobile (#28788)
 * Always add the trailing delimiter when autocompleting multiple-entry
   objects, such as email addresses
 * Compress PNG images to decrease initial page load times
 * Avoid "That is already the current value" warning when changing
   between two queues with differing lifecycles but a same-name mapping
 * Don't nest <a> tags to User Summaries in queue watcher page
 * Require that saved searches have names in order to be created
 * Give a proper error when attempting to merge a ticket into itself
 * Searching for "ip version 6" no longer limits to ticket 6; the 6 is
   instead searched for in the subject. (#22470)
 * Give SystemError transactions their own CSS style
 * Fix ticket link autocompletion during ticket creation
 * Require that one or more addresses be provided to forward (#25308)
 * Respect the "color" attribute in HTML mail (#28389)
 * Rework the JS that prevented form resubmission; instead of disabling
   the submit button (which interacted poorly with the browser's back
   button), instead use an attribute on the form (#27489)
 * Squash warnings triggered by query builder when more than 50
   different users had OwnTicket
 * Serve rich text editor JS with the rest of the compressed JS; this
   ensures that it is better cached

Web administration
 * Allow external custom fields to have a "based on" category.
 * Hide the queue name, lifecycle, and disabled box on the edit page for
   the __Approvals queue; these must remain unchanged for Approvals
 * Correctly page user results in User Summary searches
 * Prevent warnings on Scrip edit pages if the user did not have global
   ShowTemplate rights

Configuration options
 * Add a new option ($AllowLoginPasswordAutoComplete) to allow the
   browser to remember user passwords on RT's login screen (#29071)
 * Add new $DefaultSearchResultOrderBy and $DefaultSearchResultOrder
   options to control the global default ordering of tickets
 * When the stylesheet is set to an unknown style, default to rudder,
   not aileron (#29132)

Server administration
 * Use one fewer database connections per rt-server process; this is
   most notable on FastCGI deployments, which spawn a number of
   rt-server processes
 * Default to connecting to sphinx via instead of localhost on
   MySQL 5.5, due to http://sphinxsearch.com/bugs/view.php?id=1815
 * rt-validator can now detect and fix links to Articles with the wrong
   $Organization set
 * Check that the version in sbin/rt-server matches the version in
   lib/RT/Generated.pm during server startup
 * Follow up to 3 HTTP redirects when POSTing to the mail gateway.  This
   covers the common case of http: redirecting to https:, but the mail
   gateway referencing http: (#14114)
 * Return a status code 503 if we cannot connect to the database

 * When configuring, pull the primary group of the current user using
   perl, instead of `groups`, which may not list the primary group
 * Ensure that rt-test-dependencies re-execs itself using its full path,
   as module installations may have changed the directory (#29024)
 * Properly detect an existing database but missing schema in the web
 * On perl 5.19.3 and above, a more recent version of
   Symbol::Global::Name is required, due to core perl changes

 * Bulletproof 4.0 Articles upgrade steps by dropping tables before
   attempting to create them
 * Correct documentation path in upgrade warning
 * In database upgrades, skip the "BACK UP BEFORE THIS STEP" warning if
   the --force option was provided, which gives no change to stop at
   that point.
 * Remove a warning in the optional time-worked-history.pl upgrade step

 * Allow arbitrary Content-Disposition in REST uploads (#19770)

 * Add a comment warning about the use of the SetFieldsOnce callback in
   BuildFormatString; it will be removed in RT 4.4.
 * Fix behavior of RT::Date->AddDays when passed 0 days
 * Check POD of all files
 * Allow RT::Users->WhoBelongToGroups to optionally return unprivileged
 * Provide hooks to implement a cache on MakeClicky
 * Document ExtractTicketId and ParseTicketId, as useful methods for
   local overrides
 * Update RT::CustomField->LoadByName, when called with a Queue
   argument, to return only ticket CFs; in 4.2, it also began finding
   queue CFs.  This reverts to the behavior from 4.0.
 * The Articles URI implementation is now consistent with Ticket URIs;
   ->LocalURIPrefix does not contain /article/
 * Allow @JSFiles to include files not under /static/js/ if they have a
   leading /
 * Add a generic style for reverse-color ticket titlebox tabs
 * Allow plugins to wrap the PSGI application in its entirety
 * Bulletproof role resolution for single-user roles
 * Win32 and IIS are not a supported platform; remove all lingering
   references to them
 * Allow ModifyAll.html's Default callback to change @results, like
 * Make Widgets/Form/Select honor the Multiple flag (#12447)
 * Remove extraneous direct uses of Time::ParseDate (#24498)
 * Add a callback after Attachments on ticket display
 * Fix SetDisabled's return message on failure (#29802)
 * Refactor CSV export to allow its use by non-ticket collections

 * Updated parts of RT::StyleGuide
 * Document the --no-users and --no-groups options to rt-serializer more
 * Add documentation for rt-validate-aliases
 * Remove misleading comment about "an rt-mailgate user" from
   rt-mailgate documentation
 * Remove ambiguity of direction of $CanonicalizeEmailAddressMatch and
 * Update schema.dot for the ObjectScrips table, new in 4.2
 * List SQLite in documentation as a possible database backend, for
   non-production use.
 * Update suggested backup strategy on MySQL to no longer require LOCK
   TABLES privileges (#22893)
 * Note that changing queue subject tags may require altering
 * Suggest /etc/cron.d instead of root's crontab, for discoverability

A complete changelog is available from git by running:
    git log rt-4.2.3..rt-4.2.4
or visiting