RT 4.2.3rc1 released

RT 4.2.3rc1 – 2014-02-14

RT 4.2.3rc1 is now available for testing.


SHA1 sums

1348e52bb68cb6e1a805ca90b96e94b4429e9415 rt-4.2.3rc1.tar.gz
a72969bfb9b54965e8bc97fd87209339b7ba607a rt-4.2.3rc1.tar.gz.asc

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

Administrator tasks

  • Avoid starting a FastCGI process manager in the common case of the
    FastCGI process being started by the webserver, and communicating
    over STDIN. This restores the behavior from 4.0, where the process
    name is the full path to rt-server.fcgi, and not the static string
    “perl-fcgi-pm” or “perl-fcgi”.
  • Automatically clean out Mason cache when updated HTML is installed
    during upgrades; this should prevent a common class of errors.
  • Fix paths in rt-importer when importing from a serialized dump which
    was written to an absolute path.
  • Additional optional upgrade script for users upgrading from RT 3.8
    who previously used RT::Extension::CustomField::Checkbox.
  • Pass characters, not bytes, to _EncodeLOB during de-serialization;
    this prevents invalid UTF-8 from a serialized dump from entering the
    new database.
  • Catch and warn of additional common misconfigurations of GPG/SMIME
  • Prevent a possible infinite loop in rt-validator --resolve if
    Principal records were missing; default to forcing their creation.


  • Localization updates from Launchpad.

General user UI

  • Date and DateTime customfields now pass “mandatory” validation if
  • “1970-01-01” is now treated as “unset” for purposes of Date and
    DateTime validation.
  • Add Date and DateTime fields to bulk update.
  • Don’t conduct a user search if no string was entered.
  • Signal if a user is disabled at the top of User Summary pages.
  • Resolve regression in 4.2, which caused warnings during ticket
    creation when transaction custom fields were applied.
  • Respect transaction squelching during GPG/SMIME signing and
    encryption. Lack of public key for a squelched user will no longer
    trigger errors, for instance.
  • Resolve regression in 4.2, where the recipient squelching
    checkboxes did not properly synchronize state between users who
    appeared multiple times.
  • Adjust the bottom edge of rolled-up tabs in ticket pages.
  • Sort data groupings in charts numerically, not ASCIIbetically, if
    they all appear to be numbers.
  • Ensure that Sidebar / Body panes in dashboard configuration display
    in a consistent order on perl 5.18 and above.
  • For strict DOM compliance, move a “name” attribute on
  • Prevent “Can’t call method “DependsOn” on an undefined value” error
    in bulk update if tickets were deleted.
  • Show links to tickets which are not readable by the user as numbers,
    not as blank titles.
  • Add a “ticket-active” class, as well as the current status as a
    class, to ticket links on ticket display page.
  • Fix a regression in 4.2 which caused an error when a user with
    only limited rights (Watch or WatchAsAdminCc) removed themselves as a
    watcher from a ticket or queue.
  • Allow SeeCustomField on a single queue to show its custom fields
    during search if the search is limited to that queue.


  • Remove obsolete wording mentioning CPAN 1.84, which we guaranteed to
    already have a more recent version of, by way of perl 5.10.1.
  • Correct reminders documentation to suggest RT::Action::Notify, not
  • Documentation on writing extensions for RT.

Admin interface

  • Fix “Queue” and “QueueId” columns in admin Scrips listing to emulate
    their display in 4.0.
  • Additional ModifyDropdownLimit in SelectOwnerDropdown to allow sites
    to increase the previously-hardcoded limit of 50 users in the
    drop-down before it switched to autocompletion.
  • Correctly style warnings about Articles needing configuration.
  • Resolve regression in 4.2 in admin interface, where the current group
    and rights tab is not preserved across rights submission.
  • Show static content roots in System Configuration, alongside Mason
    content roots.
  • Catch and warn of template compilation errors, such as unbalanced


  • Improve right-checking query plan (at least on PostgreSQL 9.3) by
    de-duplicating ACL equivalence objects, and using the RT::System’s
  • Upgrade steps from RT 4.0 → 4.2 now DROP IF EXISTS tables and
    sequences before attempting to create them, except on Oracle. This
    resolves the common case of testing an upgrade before re-importing a
    backup atop it for the final upgrade, leaving the new tables still in
  • Fix a regression in 4.2 which caused rt-server to hold extra database
    handles open. For FastCGI processes, this was one extra per FastCGI
    process; for standalone servers, only one overall.


  • MassageDisplayHeaders callback in ShowTransactionAttachments is now
    passed $ShowHeaders.
  • Callbacks in EditTransactionCustomFields are now passed $InTable.
  • MassageCustomFields callback in EditCustomField is now correctly
    passed $CustomFields.
  • Correct a typo in the documentation for MakeClicky callbacks.


  • Provide and use a GetCustomFieldInputName() function to
    programmatically determine form field names from custom field
  • Resolve a bug when associating unknown users with single-user roles;
    this primarily only affects Assets.
  • Allow consumers of /Elements/SimpleSearch to provide the placeholder
  • Default Stage for Scrips to be TransactionCreate; primarily for
    initialdata, but affects all callers of RT::Scrip->AddToObject.
  • Adjust etc/upgrade/shrink_transactions_table.pl to avoid new
    deprecation warnings.
  • Fix precedence errors of “return … or …” found by perl 5.19.
  • Allow consumers of EditCustomField to specify undef $Rows or $Cols to
    omit the respective attributes during form element rendering.
  • Prevent warnings on perl 5.19 and above.
  • Allow members to be added to groups during group creation in
  • Prevent race conditions in 99-policy.t by skipping t/tmp/ and other
    volatile directories.
  • Pass Ticket object to ShowAttachments on Ticket/Forward.html, to
    allow for greater extensibility by providing more context.