Mailing List Archive

RT 3.4.5 finally available
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.
--

_______________________________________________
RT-Announce mailing list
RT-Announce@lists.bestpractical.com
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-announce