RT 4.2.2 released

RT 4.2.2 – 2014-01-13

We are pleased to announce that RT 4.2.2 is now available.


SHA1 sums

72faa454a02240cf21a94633b880e2158325efa1 rt-4.2.2.tar.gz
e45c6d244cd0b8e5c5cec57f4ceb8207d6a2ed81 rt-4.2.2.tar.gz.asc

This release is primarily a bugfix release; of particular note is that
it contains schema changes for MySQL. Though the changes are limited,
it is especially important to take, and verify you can recover from, a
database backup prior to upgrading.

Also notable is that this release fixes a bug in 4.2.0 and 4.2.1 where
failures of the HTML-to-text conversion would silently cause mail to
fail to be sent. When using the rich text editor, RT will also now
quote the the HTML parts of email, and not simply their text

Other changes include:


  • Wording fixes in Shredder
  • Clean up examples in Lifecycles documentation
  • Document additional indexes that increase performance of Shredder
  • Replace a suggested GnuPG option with one which is not deprecated
  • Note that errors reported from the GnuPG infrastructure may be caused
    by GnuPG not being configured, but having been automatically enabled.


  • Ensure that even disabled scrips get the same id-to-name change that
    other scrips got during the 4.0 → 4.2 upgrade.
  • On MySQL, alter the character set of all columns used to store email
    addresses to UTF-8
  • Ensure that invalid byte sequences that may have snuck into the
    database previously (on earlier versions on MySQL, for instance) are
    not blindly interpreted as UTF-8 when retrieved from the database.
    As a result, invalid bytes will be returned from the API as the four
    characters “\xHH”, where HH is the hexadecimal encoding of the byte.
  • Ensure that all data containing non-ASCII is quoted-printable encoded
    for PostgreSQL, instead of merely all data not claiming to be
  • Additional warnings prevention on Oracle; tests now pass cleanly
  • Allow fully-automated database upgrades using --upgrade-from and
    –upgrade-to options to rt-setup-database
  • Clean out any remaining traces of RTFM that lingered in custom fields
    and custom field values that were disabled at the time of the
    previous upgrade step.
  • Bullet-proof a 3.8 → 4.0 upgrade step for Scrips with no Condition


  • Install rt-serializer and rt-importer into sbin/
  • Ensure that incremental upgrade steps only run on incremental
    serializations, not all exports
  • Fix a runtime error in the incremental upgrade path to 4.2
  • Ensure that inflated Users and Groups are created with the same id as
    their Principal
  • Disable in-memory record caching when serializing and importing to
    improve performance
  • Only search non-Disabled custom fields when looking up BasedOn in
    initialdata files
  • Set up logging properly; warnings are now displayed during
    serialization and importing


  • Don’t die if HTML → text conversion throws an error, which would
    silently prevent outgoing mail from being sent. Instead, fall back
    to just sending text/html with no text/plain
  • Replying to an HTML mail with the rich text editor will now quote the
    HTML part, not the equivalent text version.
  • Set a transfer encoding on outgoing dashboards; this resolves issues
    with long lines when using the Sendmail MTA.
  • Cope with mangled and overly-quoted recipient headers occasionally
    generated by Outlook.

General user UI

  • Stop localizing custom field names, for consistency
  • Show a useful error on “show outgoing mail” if the user has no rights
    to see the page, rather than displaying an empty page.
  • Adjust UI to not block header on “show outgoing email” page
  • Hide the Take and Steal menu items if you already own the ticket,
    closing a regression in 4.2.0 and above.
  • Autocompletion custom fields now properly autocomplete when placed in
    custom field groupings
  • Improve rendering on Internet Explorer 6
  • Fix cascaded custom fields on Internet Explorer 8 and below.
  • Fix third-level cascading custom fields, broken in 4.2.1
  • Minor rendering bugs with Charts placed on homepages and dashboards
  • Whitelist “show outgoing email” and chart results from CSRF
  • RT 4.0.7 introduced a performance regression when building ticket
    searches that query Links; switch back to a much better-indexed
  • Fix “Clone ticket” functionality with Select-multiple custom fields.
  • Show the queue ID for the current queue in the ticket edit page, even
    if the user does not have SeeQueue; this prevents the user from
    accidentally changing the queue.
  • Respect custom field groupings on user preferences page

Query Builder

  • Warnings avoidance for searches with more than 1000 results.
  • Allow IS NULL to search for dates which are unset
  • Properly quote CF names containing non-ASCII characters in query
    builder, broken since 4.2.0
  • Add “UpdatedBy” TicketSQL limit


  • Correct a package load order problem which prevented the web
    installer from working since 4.2.0
  • Report the correct setting name in rt-validate-aliases
  • Fix real-time updating of Theme CSS on Internet Explorer 8 and below
  • Fix a minor display bug in the CF Admin pages, where the queue number
    instead of queue name would be displayed in requests shortly after
    server startup.
  • Add “Extra Info” as a possible field for “More About Requestor”


  • Allow searching for users, queues, and groups in REST
  • Prevent a server error when attempting to guess content-type in the
    REST interface.


  • Allow running tests with an explicit set of plugins enabled.
  • Custom Action and Condition packages (as supplied by extensions;
    these are not the text entry boxes in the UI) are now loaded at
    server startup time, to catch compile-time errors in such classes
    early as well as reducing RT’s memory footprint on mod_perl.
    Previously, these errors would have logged errors only when their
    Scrip failed to fire. This restores the behavior found in RT 3.8,
    which was mistakenly removed in RT 4.0.0.
  • Additional callbacks, including in charts, and on ticket reply pages
  • Remove an unused Makefile target

A complete changelog is available from git by running:
git log rt-4.2.1…rt-4.2.2
or visiting
Comparing rt-4.2.1...rt-4.2.2 · bestpractical/rt · GitHub

rt-announce mailing list