RTIR 4.0.0rc1 released

Hash: SHA1,SHA256

RTIR 4.0.0rc1 - 2016-05-27

We’re very excited to announce the availability of RTIR 4.0.0rc1: the first
release candidate for the next major version of RTIR. We have completely
rearchitected RTIR queues in order to significantly improve RTIR’s
flexibility and performance. As this is a new major version number, with
many changes throughout the entire system, we urge you to carefully test
your configuration and customizations. Additionally, RTIR 4.0.0 is the
first release of RTIR compatible with RT 4.4.

A quick note on the version number: while this next version of RTIR was
under development, we had naturally labelled it RTIR 3.4. However, to
reflect the significant architectural changes we made for constituencies and
multiple queues, we decided to give this release a new major version number.
If you’re looking for the version of RTIR compatible with RT 4.4, RTIR 4.0
is it!

We would be thrilled to hear your experiences installing or upgrading to
this release; the more feedback we get, the sooner the official release of
RTIR 4.0.0 can occur. Please be sure to review the upgrading documentation
available in docs/UPGRADING-4.0, as there are a number of
backward-incompatible changes that come along with the new version number.
Upgrading documentation is also available here:

If you are also upgrading to RT 4.4, be sure to also read its
documentation, available at


82864ceb285f42be6f1a0208a224d00da488817b RT-IR-4.0.0rc1.tar.gz
69b2eefa2d76dc0f820af6a9f40b91aed528c868 RT-IR-4.0.0rc1.tar.gz.asc

A list of the major new features in RTIR 4.0.0 is included below. We’ll be
describing and demoing these new features in a series of blog posts on
Blog — Best Practical Solutions in the coming weeks.

  • Shawn M Moore, for Best Practical
  • The constituency system has been completely redesigned from the ground
    up. Don’t worry, your existing constituencies will be migrated as part
    of the upgrade. Now constituencies get a full-fledged queue for each
    stage of the incident response workflow (one for each of reports,
    incidents, investigations, and countermeasures). This lets constituency
    queues tap into much more of RT’s flexibility around custom fields,
    watchers, scrips, etc. This addresses many longstanding limitations
    around the previous constituency queue design, and significantly
    improves performance as well.

  • You may now have multiple queues for each type of RTIR queue:
    multiple Incident Report queues, multiple Incident queues, etc. Each of
    these queues may have its own custom fields, watchers, permissions,
    scrips, templates, and so on. We’re excited to hear about how you make
    use of this new flexibility.

  • If a user has permissions to work with multiple constituencies, it is
    now possible to limit RTIR’s web interface to a single constituency
    by clicking a link from the new “Work with constituency” box on the RTIR

  • Blocks have been renamed to Countermeasures to reflect their more
    generic use case.

There were many, many changes throughout RTIR to support these major new
features. Here is an abbreviated list of additional changes:

General user UI

  • The main navigation menu for RTIR has been rearranged; RT’s menus have
    been moved to underneath the RT heading.
  • Maintain message format when launching an Investigation (I#30786)
  • IPs, email addresses, etc which are annotated with buttons in messages
    now look like buttons (I#31259)
  • Clean up the visual design of the Lookup tool page
  • Make the blue header bar darker to hint you’re within RTIR (I#31297)
  • It is currently no longer possible to simultaneously launch an
    Investigation on the Incident creation page due to the new architecture


  • add_constituency now produces less output in the ordinary case, but if
    you want to see every change it makes, you can pass the new --verbose flag


  • X-RT-Mail-Extension no longer sets constituency; instead you can now use
    ordinary RT features to filter incoming mail into the correct queue

Web Administration

  • DutyTeams now have the ForwardMessage right by default
  • Different queues may now have a different default whois server,
    controlled by the “RTIR default WHOIS server” custom field

Server Administration

  • $MaxInlineBody’s default has changed from unlimited, which can cause
    performance issues, to 25kb
  • Bail out from make initdb early if RT::IR isn’t in Plugins (I#31961)


  • Many of the methods in RTIR’s codebase now produce explicit return
  • RT::IR::FlushCustomFieldsCache is now a supported API
  • RT::IR::Test::Web’s unused merge_ticket method has been removed
  • The guts of bin/add_constituency have been factored out into an
    RT::IR::ConstituencyManager which makes it much easier to create
    constituencies programmatically
  • Added a RT::IR->HREFTo helper function which maintains the user’s
    currently-selected constituency
  • Innumerable API changes were made to support RTIR’s constituency queues
  • The Lookup tool page now has four callbacks (BeforeCurrent,
    AfterCurrent, BeforeTools, AfterTools)
  • The body HTML tag now has an “rtir” class to aid in styling

A complete changelog is available from git by running:
git log 3.2.0…4.0.0rc1
or visiting
Comparing 3.2.0...4.0.0rc1 · bestpractical/rtir · GitHub