[Rt-announce] RT 3.4.5 finally available

Jesse Vincent jesse at bestpractical.com
Thu Jan 12 11:03:18 EST 2006


I'm pleased to announce the immediate availability of RT 3.4.5, the
latest production release of the world's most popular[1] open source
ticketing system. This release's biggest feature is a massive performance
optimization of the internal "RT::User->WhoHaveRight" method, which
should greatly speed up page rendering anywhere there's an "Owner"
dropdown box. On top of that, there are the usual performance
optimizations, documentation improvements, bug fixes and small new
features.

You can download the new release from:

	http://www.bestpractical.com/rt/download.html

Best,

Jesse


  RT 3.4.5 Release Notes:  (r3729-r4307)
  
Core
----
  
  Updated dependencies to require SearchBuilder 1.35
  
  Added a note to the README warning users to clean out the Mason cache on
  upgrades (thanks to Ruslan Zakirov)
  
  General code cleanup and commenting
   
  Ticket #6986   If we didn't generate any SQL, don't pass it to FromSQL,
  which will reset the dirty flag, and then SearchBuilder won't actually run 
  anything.  Also added tests for this.
  
  Made pulling data out of the database more Unicode-aware (thanks to Ruslan 
  Zakirov)
  
  Prevented an infinite loop when removing a member from a group
  
  Gave RSS feeds a default subject
  
  Added information about where in the codebase the faulty caller was when 
  warning about deprecated module use
  
  Reworked our algorithm for finding a fallback for transaction content to try 
  harder (reported by John Gedeon)
  
  Improved performance when sending e-mail using sendmailpipe
     MIME::Entity would bog down in certain cases because of its use of 
     IO::Scalar during stringification.  MIME::Entity will be switching to 
     IO::ScalarArray, which will help, but RT was causing it to store into a 
     temporary string anyway, which was silly.
   
     This change has MIME::Entity write directly to the pipe, which is a lot more
     efficient.  It seems to cut out ~33% of user time because we don't need to 
     have a temporary IO::Scalar thingy around.  It will also reduce peak memory 
     usage.
     (thanks to Robert Spier)
  
  Backported from the 3.5-TESTING branch:
      Fixed searching by owner's fields -- now owner is WATCHERFIELD instead of 
      ENUM
  
      Added backward compatible variant for Owner so next searches should work
          (Owner = '<id>', Owner != '<id>', Owner = '<name>', and 
          Owner != '<name>'; for other operators, or if subfield(subkey) is 
          specified, search works as for other watchers)
  
      Fixed searches like "Cc.Name <> 'SomeBody'" -- it was skipping tickets
      with an empty Cc list.
  
      Got rid of some unint warnings
  
      Updated the test suite for all corner cases
  
      Fixed the ordering of attachments
  
  Fixed attachment ordering when you ask for a transaction's attachments 
  (Postgres doesn't default to ordering by id, so we were getting the wrong 
  transaction content)
  
  Significantly improved performance on Groups->WhoHaveRight (thanks to Ruslan 
  Zakirov)
  
  Ticket #7128   Added option (off by default) to create two transactions when 
  a link is created, one on the source and one on the target.  (If this is 
  enabled, scrips will run twice.)  Also added lots of tests.  (thanks to Todd 
  Chapman)
  
  Ticket #7101   RT::Principal->HasRight shouldn't modify the EquivObjects 
  arrayref (thanks to Todd Chapman)
  
  Ticket #6457   Fixed typo in Ticket_Overlay.pm (thanks to Todd Chapman)
  
  Ticket #6458   Removed extra return argument from _AddLink in RT::Record
  (thanks to Todd Chapman)
  
  Fixed RT::Tickets to show changes without attachments when searching on
  transaction date.
   
Web UI
------
  
  Reworked subs defined in html/Search/Build.html to prevent clashes with subs 
  defined everywhere else
  
  Ticket #6605, 7008   Removed an unused and deprecated code path in 
  html/Search/Elements/BuildFormatString
  
  Ticket #7029   Applied missing limit for AdminCcs in 
  html/Approvals/Elements/PendingMyApproval (thanks to Todd Chapman)
  
  Changed html/Elements/RT__Ticket/ColumnMap to link to the *other* end of the 
  link, not the one that is us
  
  Ticket #7087   Fixed html/Elements/RT__Ticket/ColumnMap to display linked 
  tickets in the correct order
  
  Made $RT::MaxInlineBody work properly in 
  html/Ticket/Elements/ShowTransactionAttachments
  
  Added a default callback to html/User/Elements/Tabs
  
  Eliminated "undefined" warnings:
      html/Elements/Header (index.html passes in 
      $session{'home_refresh_interval'}, which can be null)
  
      html/Ticket/Elements/ShowTransactionAttachments (GetHeader will return 
      undefined when the header doesn't exist, which is good, since that's 
      different from empty, but we need to check for that to avoid the warning.)
  
  Fixed our HTML scrubber to allow <pre> tags in HTML (thanks to Akos Torok)
  
  Ticket #7020   Made html/Elements/CollectionAsTable/Row actually make use of 
  'style' if it is provided (thanks to Kelly F. Hickel)
  
  Ticket #6507   Standardized fonts to "Verdana, Arial, Helvetica, sans-serif"
  (variant of patch from Maxime Henrion)
  
  Fixed html/Elements/Callback to really hide hidden paths from callbacks
  
  Updated html/Elements/QueryString to support arrayrefs, allowing us to handle
  multiple arguments with the same name.  This is consistent with the way 
  HTML::Mason handles arguments.
  
  Added a 'MassageCustomFields' callback to html/Elements/ShowCustomFields and
  html/Ticket/Elements/EditCustomFields to make it easier to hide away a custom 
  field on the ticket display and edit pages
  
  Added a print stylesheet (thanks to Koos van den Hout)
  
  Fixed some bogosity in html/Search/Build.html
  
Sending Email
-------------
  
  Got rid of the "not a number" warning in RT::Action::SendEmail
  
  Improved bounce handling (thanks to Abhijit Menon-Sen)
  
  Ticket #7131   Fixed the $RT::rtname subject-matching regex to be case 
  insensitive (thanks to Phil Smith III for the catch)
  
  Ticket #7010   Treat RT e-mail addresses as case-insensitive
  
  Added a warning in the logs for subjectless e-mail messages
  
Custom Fields
-------------
  
  Switched from ->CustomFields to ->TicketCustomFields in the tab-separated-value
  view to stop using a deprecated API (thanks to T.J. Maciak)
  
  Ticket #7067   If we can't find a custom field that the user is allowed to 
  see on a ticket, don't return any values (when specifying a custom field)
  
  Fixed broken CustomFieldValues API
  
  Ensured that custom fields keep correct fallback values (eg. if "add another
  attachment" is clicked)
  
  Changed the order custom field values are sorted in to SortOrder, then *Name*,
  then id (thanks to Troy Davis)
  
Internationalization
--------------------
 
  Updated German translation (thanks to Dirk Pape)

  Updated Spanish translation (thanks to Carlos Velasco)
  
  Updated Russian translation (thanks to Andrew Kornilov)
  
  Updated Japanese translation (thanks to Daisuke Maki)
  
  Updated French translation (thanks to Jerome Fenal)
  
  Fixed headers in PO files to include the correct RT version number
  
Configuration
-------------
  
  Updated configure script to check for an invalid character (-) in MySQL 
  database names and prevents RT from allowing a database name containing it to
  be configured.
  
  Ticket #7136   Fixed a problem with database setup on Oracle, which 
  prevented tables from being created with RT's database user
  
Regression Testing
------------------
  
  Made minor general test suite improvements to catch bugs we've fixed
  
  Ticket #7121   Made Web-based ACL tests honor RT::WebPath (thanks to Todd
  Chapman)
  
  Ticket #7122   Made mail gateway tests honor a changed $rtname (thanks to 
  Todd Chapman)
  
  Ticket #6559   Added tests for loading a custom field from the wrong queue 
  (thanks to Todd Chapman)
  

[1] The statistic is completely made up. RT is downloaded by nearly 100
new IP addresses every day of the year and everywhere I turn, someone
new is running RT or wants to ask me questions about RT. Of course, that
may just be because of who I am.
-- 



More information about the RT-Announce mailing list