RT 3.4.2 now available

I’m pleased to announce RT 3.4.2, a new release in the RT 3.4 stable
release series. This version of RT is a bit delayed and as such features
more than the usual complement of improvements. The biggies are:

* standalone_httpd improvements
* Significant refactoring of custom fields to make them easier
  to extend
* Mail sending improvements including fixes to a bug that 
  caused yahoo to eat mail from RT and new headers to enable message
* Significant bugfixes for searching based on custom field

A full changelog follows.

You can download this new release from:

a50158055fff423a557d43335ae1dc81  rt-3.4.2.tar.gz
707b779f05621e845b8b74853ff93b51  rt-3.4.2.tar.gz.sig





  • Updated Attachment import code to take database-specific lob encoding into account – Tom Yu


  • Overhauled README to be more correct, friendly and a bit cleaner

  • Added a bit of documentation to RT_SiteConfig.pm – Thanks to David Glasser

  • Robert added new functionality to support autodetection of RT and Web users in ./configure

  • Correct comments in config file. “RTLogoURL” is actually LogoURL. --Allison Randal

  • Removed second FHS layout

  • Bumped SearchBuilder dependency to new version

  • Canonicalized => to , in the configuration file
    They mean the same thing, but consistency is good.

  • Bumped the Postgres dependency to 1.41 to get around the
    broken 1.40 release

  • Added “make depends” as an alias for “make fixdeps” for Autrijus


  • Fixed typo in initialdata related to approval rejection

Custom Fields

  • Upgraded a private _LookupTypes method to a public CustomFieldUpdateTypes method to make it easier to add custom fields to other objects
  • Added Wikitext custom field type
    Custom Field API extension and cleanup to allow new objects to use custom fields. (No backwards-incompat changes)
  • Refactored Custom Field admin UI for extensibility
  • Newlines in CustomFields are now displayed in TicketList results
  • Better support for loading custom fields by name
  • Better transaction UpdateCustomFields API
  • Adding support for selecting custom fields for RTFM objects
  • Overhaul of custom field editing code to make it easier to add custom fields for new object types
  • Fixes so that custom fields will pay attention to defaults, when the defaults are specified.
  • Patch from Tom Yu to allow negative CF searching and better multi-CF search.

Web UI

  • A bunch of minor search query builder cleanup and loc improvements

  • Slightly better introductory text on user and queue listings

  • Checkbox fields need a “value” or they are ignored by some modern browsers

  • Search “Order By” needed a more greedy matching operation; too many values were selected

  • resorting the search by clicking on a header no longer resets the format string

  • Added ALT text for BPS corporate logo – Suggested by Jedi during YAPC.TW 2005

  • Explicitly give the login box an id/name so passwords are not saved on user edit pages

  • Removed an extra tag. Thanks to Steve Turner

  • Refactored the top-level admin menu to make it easier to add and remove options

  • Hilighted menu options are now the right size

  • Slight style cleanup to page actions.

  • The attribute “align” in COLUMN_MAP wasn’t usable, because it could not be
    used for a complete column, so I added a /ALIGN:… section in
    CollectionAsTable/ParseFormat and use it in Row.
    There also was a minor error to be corrected, since the old variant of
    ParseFormat did not allow more than one /ANYTHING:… to be use (in my
    example /TITLE:…/ALIGN:…) --Dirk Pape

  • Better error message when the sessions table or sessions dir isn’t writable

  • CanonicalizeUserInfo didn’t work right from RT’s WebUI.
    Fixed by Dave Rolsky.

  • Minor stylistic cleanups for web components

  • RT used to report an improper total number of pages if the number of
    results found was evenly divisible by the number of rows per page


  • Record Message-Id when creating attachment records
  • Content-Transfer-Encoding should have been ‘8bit’ not ‘8-bit’
  • Enabled proper message threading with RT


  • Fix support for uploading attachmends in selfservice. – HC Chien


  • Force UTF8 content type on replies from RT’s REST interface (Thanks to Dirk Pape)
  • Patch to SelfService UI to not display a preferences page unless the current user (ie all unprivileged users) has the right to do so.
  • Hungarian translation had an incorrect Content-Type. Reported upstream from
  • New French translation from robitail@iro.umontreal.ca
  • Polish Translation from Piotr Sliwa
  • New Russian translation from Andrew Kornilov
  • Updated Danish translation from Jonas Nielsen


  • Removed some spurious use lib lines from the test suite. Thanks to Dave Rolsky.
  • Much better test coverage of delegation revocation when users’ group memberships are changed - Mike Whitson (BPS)
  • Split apart some of the web tests for better isolation
  • Updated RT::User regression tests to not expect a pristine database
  • Fixing tests to not depend on a deprecated API


  • Added a new HasPassword method to the RT user object
  • Users and groups can have transactions; ShowTicket isn’t needed to see these
  • Now when running scrips on a disabled queue, run global scrips as well as per-queue scrips.
  • Sanity fixes for _AddLink’s API from Todd Chapman
  • When we can’t load a user by email address, make sure we can’t load that user by name before returning an error
  • Users who had “DeleteTicket” but not “ModifyTicket” could not delete tickets.
  • Added a flag to allow tools to use the RT API to search for deleted tickets. (Ruslan)
  • Fixed incorrect loop exit test in RT::ACE::_Delete such that multiply delegated ACEs are all cleaned up when the parent ACE is revoked.
  • Correct inaccurate POD for RT::Group::MembersObj and DeepMembersObj.
  • ‘LimitLinkedFrom’ in RT::Tickets didn’t work due to a typo. Fixed.
  • RT::Transaction->Delete implemented. (for RTFM)
  • Ticket Searches on AdminCc would fail on non-mysql databases due to a case error
  • Quieted a deprecation warning – Dmitry Sivachenko mitya@cavia.pp.ru
  • User_Overlay: added OwnGroups method to get a collection of groups of which
    the user is a member.
  • Add a simple sub to return the object class with the RT::Lib:: prefix
    stripped off. Useful for displaying, e.g., “Ticket #35” or “Article #3”.
  • added URI scheme which allows “t:123” URIs, for ticket specification.
  • More graceful handling for historical $rtname tags – From seph
  • Updated RT::Transaction to return better Foo changed from “bar” to “baz” messages
  • Updated RT::Ticket->_Set to return more appropriate status messages
  • Updated RT::User->_Set to return more apropriate results messages (no more listing the actor)
  • Bugfixes to CachedGroupMember->SetDisabled unmasked by the RT::Record fixes
  • Explicit transaction description for changed passwords
  • Improved generic messages returned by RT::Record->_Set()
  • Corrected RT::Record->_Set to return a Class::ReturnValue, rather than butchering it into an array. (This means that RT::Ticket->SetPriority can now be evaluated in boolean or list context, like it was supposed to be)

Web Server

  • Fixed Module::Refresh handling for standalone_httpd
  • standalone_httpd no longer chokes on utf8 data.
  • Refactored standalone_httpd to use HTTP::Server::Simple::Mason
  • Moved some configuration from webmux.pl to RT::Interface::Web::Handler
  • Properly set binmode for the standalone_httpd server. This makes
    UTF8 text that could be misinterpreted as Latin1 behave correctly.

RT-Announce mailing list