4.2.4rc1 released

RT 4.2.4rc1 – 2014-05-06

RT 4.2.4rc1 is now available for testing.


SHA1 sums

8f8490e0d57681ea839f0a3676bc29441e6423dd rt-4.2.4rc1.tar.gz
4cab8a7ba7c569e43c5ec4715804638dc41b458d rt-4.2.4rc1.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 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.4rc1
or visiting