RT: Request Tracker

RT 3.8.3 Release Notes

We are happy to announce that RT 3.8.3 is now available.

You can download it from:


SHA1 sums

6fe0187408104e9a5a9f0832f1f11ed24b6df10a  rt-3.8.3.tar.gz
e87623b4a958b13d5ce1474ca6d8d4024fa13920  rt-3.8.3.tar.gz.sig

A longer changelog is available at the bottom of this announcement.
Some highlighted changes include:

* Bug fixes for IE support with the RichText editor
* Improvements in parsing and validating gpg-signed messages
* Improved config loading,  errors and improved messages
  about where Config overrides originated.
* Fix for rewriting Ticket subjects when using Queue Subject tags
* Fixes to searching for NULL Custom Fields
* New User level config options for HomePage and Search Result Refresh
* Multiple new callbacks
* Updated Scrip descriptions to mention that a Notify All includes 
  the Owner
* Dashboard improvements, including the ability to nest Dashboards,
  new access links for dashboards, callbacks and a new Mon-Fri 

Changelog for RT 3.8.3, generated 2009-05-27T19:42:52

 * Indent cleanup.
 * doc updates for mysql upgrades from jmoseley
 * Tell explicitely that $DayBeforeMonth is only for parsing, not for displaying
 * Remove blank Values since the magic field will take care of this. Sometimes
   the browser gives you a blank value which causes CFs to be processed twice
   Thanks to Philip Kime
 * better support situations when CF's LookupType is not complex,
   for example 'RT::Queue'. Thanks to Philip Kime and Emmanuel Lacour
 * Factor out a ShowParents template
 * Show the correct side of the link
 * RT/Config.pm
minor pod changes
delete empty functions
 * store extension name in META{Option}{Source}{Extension}
     instead of boolean value
 * Fix incorrect Queue->SetDisabled introduced in r17674.
 * Don't leave attachments in session after ProcessUpdateMessage to remove them
   from WebUI for next update.
 * Formatting cleanup (thanks to Richard Hartmann, closes: #12457)
 * Fix WebFallbackToInternalAuth (thanks to David Chandek-Stark, closes: #12478)
 * RT::Test sets ENV{RT_SITE_CONFIG} to a tempfile that doesn't
   look like SiteConfig.pm so we need to force _LoadConfig to
   treat it as a SiteConfig, otherwise it won't let you override
   DatabaseName or MailCommand and running tests will drop your
   real database.
 * use a little bit proper fix for site config thing
 * Reduce list of owners from SelectOwner in Search to queues the current user can
   see (or see tickets in).
 * Reduce the list of owners from SelectOwner in bulk update to queues where
   current user can create or modify tickets.
 * update ru.po
   reuse some loc strings that we have already
 * Revert commits that tried to fix the count of Owners displayed in Build.html/Bulk.html as it needs more discuss.
 * in RT we use [_1] instead of %1
 * use WebPath when invoking the Autocompleter
 * upgrade scriptaculous from 1.8.0 to 1.8.2
   upgrade prototype from 1.6.0 to
   mainly bugfixes and browser compatibility nits
 * local modification to avoid browser jumping when you try to use 
      the keyboard to move up and down in an autocompleted list
 * fix reporting by owner, created by and last updated by
 * tiny html fix: an extra </form> in Dashboards/Queries.html
 * make words consistent in Install pages
 * handle mails with nested inline signatures in old-style gpg format
 * Correct test count for gnupg-reverification
 * Rename schema.mysql to schema.mysql-4.0 to avoid confusion without reading
   Handle.pm (closes: #12665)
 * Use friendly name for customfields in title of chart page (closes: #13144).
 * add tests for validator
 * schema.mysql was renamed
 * use RT->Config instead of direct option variable access
 * {Add,Del}Watcher references principals as a group can be added as watchers
 * fix checking and recovering CGMs
 * Grammar nit
 * RT-Ticket: 13047
   Hide transaction custom fields from users who can't edit them
 * quiet test warnings
 * if you say JOIN you need to say ON or Pg will bail
 * RT-Ticket: 13174
   There's a small typo in RT::Interface::Email that causes emails to be sent to   
   the first To address only, ignoring the other recipients such as Cc.            
   Requestors: eynat.nirmishor@algosec.com                                       
 * When we open a div, we should close a div, not a span
 * Comboboxes weren't rendering properly on IE7. This appears to fix it
 * LoadByValues returns detailed message on errors
 * don't check right in GrantRight as ACE->Create does better job
 * Pg 8.3 requires explicit casting of date types to text
     for substring and other functions
 * Don't rewrite sub language name in preference if the variant is already
   enclosed by parenthesis.
 * post check only when we're not in install mode
 * localize $@ as we don't rethrow it
 * on some systems gpg --version exits with code 2 even when it's 100% functional
 * don't detect and decrypt blocks which contains GPG header
   in the middle of a string instead of the beginning
 * use a local function to render attachments
   make difference between large text and not text
   show additional information when displaying named texts is disabled
   loc strings have been changed
 * fix verifying of old style signed attachments: we must decode bodies first
 * do better job at detecting attachments with signatures for them in another MIME part
 * if we load all attachments then update %ARGS as we pass it through
 * don't show GPG status for top most record, we'll handle it per attachment
 * store status on the message by default on decrypt/verify and only on related parts
 * we have status on all parts
 * show gpg status per attachment
 * adjust tests
 * there is no $Config but RT->Config
 * move WebDomain and WebPort above WebPath, these
   three are only options you usually need to setup paths
   calculate scheme in WebBaseURL using WebPort value
   don't add port to WebBaseURL if it's standard
 * fix debug message
 * add new option --skip-user
   use over/item/back for options in pod so usage actually outputs them
 * Removed doc for a nonexistent option in testdeps
 * RT-Ticket: 13125
   exit with positive code on errors, not all errors are handled,
   but this is beginning
 * update es.po, thanks to Margarita Manterola
 * not sure why, but on some systems without explicit status change mason doesn't
   set status to 302, but 200 instead and people see blank pages
 * Set a default text color (closes: #13197)
 * Add a test for the "On Reject" scrip condition (closes: #13181)
 * add a bunch of tests, searches by CFs
 * LoadByNameAndQueue should treat numbers the same way other methods do
 * treat number specially in _CustomFieldDecipher, the way we treat it other places around
 * wrap things we usually do with operations into a method
 * fix searches by CFs
 * Give verbose output when --debug is specified
 * Log::Dispatch 2.22 began implicitly requiring Sys::Syslog 0.16
   If you're installing on a RH box, you probably only have Sys::Syslog 0.13
 * Take care of RT-Attach-Message value so we don't add attachments if the value
   is "no" for example (closes: #13259).
   Thanks to Paul Vlaar.
 * Add checks for user email address syntax, and cover bad syntaxes by tests
   (closes: #12726).
   Reported by Richard Hartmann.
 * Don't assume that people were using "yes" for RT-Attach-Message until now,
   rather don't attach if it's set to n|no|0|off|false.
 * Make syntax check of user email addresses configurable with a default of "no"
   to avoid breaking existing setups.
 * Fix test so it uses our new 'ValidateUserEmailAddresses' option.
 * make ExtractSubjectTag.pm aware of queue Subject Tags so it doesn't
   assume a Queue Subject Tag is a remote RT's subject tag
 * Localize system groups
 * Make approval passed rule close other approvals in the same level.
 * remove an obsolete comment
 * Test ticket creation with REST using non ascii subject.
 * return 0 in a bunch of places so we exit with 0 rather than
   having warnings when we exit(undef)
 * return 0 rather than undef to signal succesful completion
   to avoid warnings about calling exit(undef)
 * clean up a warning when you have empty OCFVs 
 * use tmp dir as mason data_dir in rt-email-dashboards
 * notify action with argument equal to 'All' sends notifications
   to owner as well, let's clear descriptions 
 * Linkify the dashboard portlet header
 * Mason whines about getting an object argument; it won't stringify
 *  Set default DBA based on databvase type
 * fix UseSQLForACLChecks: if user is direct watcher of a queue,
   however right is granted to global role then he didn't get that
   permission there is no global watchers, only queues and tickes, if at
   some point we will add global roles then it's gonna blow
   the idea here is that if the right is set globaly for a role
   and user plays this role for a queue directly not a ticket
   then we have to check in advance
 * better recovery for corrupt owner groups on ticket owner change
 * minor bin/rt doc fixes
 * check ordering of custom fields
 * we should not only check cache indicator, but also update it :)
 * revert plural/single forms magic for rights, it's too unstable for 3.8
 * Remove now-unneeded dependency on Lingua::EN::Inflect::Number
 * cfs -> custom fields
 * Make the path of the homepage index.html
 * Factor out ListOfDashboards
 * Add a callback for munging the list of dashboards
 * Limit to seven dashboards
 * Use the localized More instead of more
 * Surround dashboard names with quotes
 * Add a tab to go back to the homepage
 * Factor out building a list of dashboard tabs
 * Pass along $actions in Tools/Elements/Tabs
 * Display other dashboards as tabs, basics/queries/subscription as actions
 * Use the old interface for tempdir
 * clean a bit
 * t/shredder/utils.pl
 * Fixing mistaken siteconfig commit, adding example of second item in list
 * Fix failing dashboard tests
 * Quieting an uninitialized warning
 * Remove duplicate dependency in same group.
 * error message typo fix
 * Remove the quotes from dashboard names in the tabs
 * Add missing DashboardTabs file
 * Don't expect quotes in dashboard names
 * Follow the *second* link since the first is the menubar link to the edit page
 * Close fold
 * Refactor Dashboard's Tabs so that it highlights the right tabs etc
 * Always include the current dashboard in the tabs, even if it's not in the initial seven
 * Really confused as to why this wasn't already fixed
 * Remove duplicate template
 * Move DashboardTabs from /Dashboard/Elements to /Elements
 * Menu structure changed back :)
 * Minor cleanup
 * Factor out $portlet->{portlet_type}
 * Improve clarity
 * Pass Pane to the portlet renderer
 * Factor out rendering of a dashboard's elements into its own ShowPortlet template
 * If things get too crazy, bail out
 * Asking for "all" dashboards is probably common enough to make it the default
 * Return a flattenned list of dashboards if requested
 * Remove needless line
 * No need to retrieve SearchType
 * Allow users to add dashboards to dashboards :)
 * Display "Dashboard:" and "Saved Search:" in the queries for a dashboard
 * Load the dashboard from its frozen state
 * Add some callbacks to the dashboard query selector
 * Add some render callbacks
 * Don't allow users to add a dashboard to itself
 * Handle missing portlets a little more loudly
 * Handle empty @searches in HiddenSearches
 * Add a template for displaying what dashboard portlets have been deleted
 * Attempt to remove deleted dashboard queries
 * Remove deleted warnings about the pane we just updated
 * Display description instead of name where able
 * Dashboard->Dashboards
 * Check dashboards in the "is possibly invisible to other users" method
 * Dashboards were exploding with "Can't call method AddRights on an undef value"
 * pass additional arguments into callback
 * Prefer non-disabled CFs when loading by name
 * Fix lexical redeclaration
 * Avoid "200 Ok" not numeric warnings by using a regex instead of !=
 * When doing Date = '2009-04-22', we want to check < the end of the day, not <=, soas to not include midnight
 * we can get away with combining the DEFAULT CHARSET alter table statement with the
   column changes and save one more copy of data.
 * Avoid undef warnings in Format rewriting
 * Fold fix
 * Avoid undef warning in EditCustomFieldText
 * Avoid undef warnings in filling in CustomField URLs
 * Factor GetAuthenticationLevel into its own function
 * Lower level of SimpleSearch query debug log from crit
 * Remove duplicate "if id is a number.." from Simple Search
 * Sort users in the add-members-to-group select box by how they'll be rendered
 * add pod tests
 * pod fixes
 * warning fix
 * remove a bunch of buttons that you shouldn't want/need when writing email
 * fix test
 * Do not attempt to update LastUpdated in the REST interface
 * More informative comment
 * Throw an error if the template the user provided cannot be loaded
 * Silence undef warnings in Admin/Users/Modify
 * Avoid undef warnings in RT::User_Overlay::_Value
 * Add $Class argument to /Widgets/ComboBox
 * fix rest-non-ascii-subject.t
 * previous patch is wrong
 * Add Vendor/Local loading to a bunch of files
 * Patch by Jo Rhett to improve Edit People's display
 * Apply another Jo Rhett display patch
 * Move the custom onload hook above FCK textarea replace
 * fix t/web/rest-non-ascii-subject.t
 * if you're running trunk, which is 3.x.HEAD, be helpful
   find all the lower versions 
 * remove unused variable
 * RT-Ticket: 13261
   detect if you're missing ExtractSubjectTag actions/scrip and add them
   They were missing from the 3.8.0 upgrade scrips, so if you upgraded
   from earlier RTs you won't have them
 * Only display "check box to delete" if there are reminders
 * In group member edit page, sort current members in the same way new members are
 * Typo fix from wes
   Use the correct variable when quoting the QueueObj's Name
   RT-Ticket: 13444
 * update to FCKEdtor 2.6.4 for bug fixes
 * add required trailing ';'
 * show requested help even if there is no current user,
     then whin about current user then about missing arguments
 * Make reminders actually be sorted (by Due date)
 * Fix the %Negate table which has been broken since 3.3
 * Make Reminder sorting consistent
   Sorting by Due descending made reminders due today appear at
   the bottom of the list, which isn't helpful.  This way it matches
   with the display on the ticket page.
 * merge in updates from rosetta
 * re-extract maketext strings before updating rosetta
 * don't wrap textareas when using the RichText editor
   hlb discovered that wrap="" causes some really incredible
   IE bugs on all versions (6-8) when reloading a page (such
   as adding an additional attachment or using RTFM) or when
   creating a ticket with a user that has a signature.
 * Minor fixes for OCFV->LinkValueTo
 * URI-escape placeholders for OCFV->FillInTemplateURL
 * Simplify and clarify filling in template params
 * Force some widgets to fit at max parent box.

 * Insert a transaction on queues creation and allow users to consult transaction
   history for queues (consistent with what is done for groups/users).
 * Add transactions when enabling/disabling users/groups/queues so admins can
   tracks those changes through "history" links.
 * Elements/ShowUser expects lowercase options
 * Drop Text::Template down to 1.44 as 1.45 had no functional changes
 * Dynamically localize each DateTime preferences so we are sure to present the
   correct string to user preferences.
 * Add a new optional date output formatters using DateTime::Locale: RT::Date::LocalizedDateTime
   - lib/RT/Date.pm: add method "LocalizedDateTime" which output date using
     DateTime and DateTime::Locale
   - lib/RT/Date.pm: add a method "Formatters" which returns the list of available
     Formatters (using a new @FORMATTERS constant)
   - lib/RT/Config.pm: use RT::Date::Formatters to get available formatters for
     Locale preference
   - t/api/date.t: add optional tests for the new LocalizedDateTime formatter
 * allow caller to avoid sorting by sortorder and falback
   to name based sorting, useful for site configuration screen
   where most options has no defined sort order as they are
   not overridable
 * prepare for refactoring
 * show where option came from
 * allow main configs override options that came from other main configs
 * allow site configs to override options that came from its main config
 * warn about skipped options
 * Add alt and title to images attachments in ticket display.
 * Add support for multiple attachments in jumbo view (closes: #4172).
 * Add support for multiple attachments on bulk update (closes: #7192).
 * Add the ability to hide Seconds in the DefaultFormat date display
 * RTFM needs to modify $actions in a callback
 * make gnupg mails rejecting optional and configurable in the config
 * Note that stack traces may include sensitive information in logs
 * First cut of linking the "(pending N other tickets)" display to a search; still needs to limit to active statuses
 * Limit the pending searches to active tickets only
 * install validator
 * talk about other useful things AddressRegexp does (since it doesn't just apply to ParsenewMessageForTicketCcs
 * allow developers to define ACLEquivalenceObjects on any record not only tickets
 * add new queue rights
 * add methods to deal with context objects on CFs
 * add ACL equivalence for CFs via context
 * pass context object from a collection of CFs to CF records
 * set context for CFs in variouse places
 * ticket->QueueObj->TicketCustomFields is incorrect, proper way is to use ticket->CustomFields
 * set context object when viewing a ticket on txn
 * cover new custom fields' rights with tests
 * post check compatibility in standalone server
 * on queue we have SeeCustomFields right
 * test DB compatibility in webmux.pl
 * add simple priority input handler
 * use priority widget instead of custom input everywhere
 * Add an RT Size section to system config that counts: Tickets Queues Transactions Users and Groups
 * Distinguish between privileged and unprivileged users
 * use SelectPriority in query builder
 * show priority in a comp
 * use show ShowPriority
 * add an upgrade script that canonicalizes rights in DB
 * add index GroupMembers(GroupId, MemberId)
 * Add 'On reject" scrip condition.
 * Factor out edit transaction custom fields into a new template with a massage callback
 * New preference $DefaultTimeUnitsToHours for setting the default time units
 * When defaulting to hours, convert minutes into hours
 * Refactor time-input + select-time-units into a new template, EditTimeValue
 * add support for quoting in simple search to allow search
   for numbers, strings with spaces in subject or content
 * Added an id to <textarea> in MessageBox, added a callback AfterTextArea
   (closes: #13160).
   Thanks to Drew Taylor.
 * add useful callback points that mirror the callbacks in Ticket/
 * RT-Ticket: 13165
   Added callback
 * contributed patch to add two new config options that
   allow Homepage Refresh and Ticket Search Refresh to
   persist outside sessions.  

   If you change the refresh rate using the portlet or
   dropdown on search results, you only change it for the
   duration of the session.  Permanate change happens in
   user or global preferences
 * add a callback so you can add content after the Owner dropdown
 * Add Respond and Comment as possible links in search results
 * Add Resolve as a search link too
 * when you hit Enter in the editor, don't make a new paragraph
 * Add a callback for TimeTaken
 * Allow absolute paths in dashboard portlets, don't always just prepend /Elements/
 * Include dashboards in the top navigation
 * Make rejected approval send notes to the requestors by default,
   with an option to turn it off.
 * Generate compound ALTER TABLE statements so that mysql does less
      'copying to tmp table' and can finish this conversion faster.
 * Add a callback to use before you start inputting watchers in SelfService create
 * Add an AddRights helper method
 * Add ->AddRights method to other right-enabled models
 * More self-service callbacks
 * Add a BeforeCreate callback to SelfService Create
 * Add monday through friday subscriptions
 * contributed patch to allow upgrade-mysql-schema.pl to connect
      to mysql on a remote server
 * Add callbacks to MyRT
 * Add CF-###-Edit class to each EditCustomField field
 * add --log argument to the crontool

 * Let the left menu stay open and display current tabs on top menu when current tab has no subtabs.
   (example: Admin/Global/Scrips.html vs Admin/Global/UserRights.html)
 * Small fix for long transactions descriptions in ticket history.
 * Try to fit transaction images to parent div in ticket history.
   Works for Ie7/Firefox2/Firefox3/Safari. For Ie6, we set a fixed maximum of
 * Use float instead of absolute css for quick-personal.
 * Remove "Search" button and replace it by grey text in text input field to save
   space in topactions.
 * Add title="localized right description" in SelectRight options so it's possible
   to see the description when the cursor is other the option :)
 * float SelfService's GotoTicket similar to the way we handle the search box
 * Fix downloadattachment overlapping with messagebody in ticket history (closes: #13316).
 * the overflow: auto causes things to get wrapped far short of where they should, resulting in insane display
   This fix causes things that would overflow horribly to overflow, but it's a less-common scenario