rt-4.2.4
RT 4.2.4 -- 2014-05-13
We are happy to announce that RT 4.2.4 is now available.
http://download.bestpractical.com/pub/rt/release/rt-4.2.4.tar.gz
http://download.bestpractical.com/pub/rt/release/rt-4.2.4.tar.gz.asc
SHA1 sums
bcacf4c7669c05ed3e53ac07195abe16164e22f8 rt-4.2.4.tar.gz
b7aed714c51bec81e85d06593ab7a3c859c83c6a rt-4.2.4.tar.gz.asc
This release is primarily a bugfix release; notable changes include:
Database changes
- Add the AutoOpenInactive action for upgrades; clean installs of RT
4.2.0 or higher have this action already - Force Lifecycle and Disabled properties of the internal __Approvals
queue to the values RT needs to function correctly
Notable new features
- If indexed full-text searching is enabled, the simple search will
search in both Content and Subject. - Align headers of collections to their content, by default. This
right-aligns the "#" header of ticket collections, for instance. - Send caching headers for all static content; this fixes a regression
from RT 4.0, which correctly set caching headers on static images
(#28640) - Re-order JS to optimize parallel resource fetching, and decrease load
times - Allow LIKE and NOT LIKE with Status limits (#29654)
Regression fixes
- Resolve a regression in 4.2.3 wherein TITLE information was lost
after parsing on the Advanced page (#29425) - Fix a regression in 4.2.2, which caused "select" custom fields to not
pick up their defaults when cloning tickets (#29751) - Fix a regression in 4.2.2 which caused checkbox CFs to add the same
value multiple times (#29392) - Fix a regression in 4.2.2 when categories were set on a CF without
using the "based on" feature. - Show reminders without due dates if $OnlyOverdue is set; this fixes a
regression from RT 4.0
- Use "white-space: pre-wrap" when inserting plain-text into HTML
templates. This preserves line breaks but allows clients to wrap
lines if need be.
Localization
- Updated localizations from Launchpad; new Persian translation
- Better cluing of pluralization and quantified terms for translators
- Remove untranslatable locstrings (#29798)
- Fix extra/missing numbers in Czech localization (#29741)
- Remove no longer translated right names from PO files
- Disambiguate "M" for "month" vs "megabyte"
General web UI
- Better splitting of phrases with numbers in ticket link
autocompletion - Autocomplete email addresses in Forward page (#28441)
- Allow non-ASCII characters in passwords (#28784)
- Add a "Reset" button to revert homepage portlet formatting to the
system default - Remove uninitialized value warnings for upgrades from RT 3.8 (#17505)
- Allow downloading attachments whose filenames contain a leading dot
(#29700) - Prevent uninitialized value warning on search result pages with no
query (#29699) - Hide user summary links in mobile UI, as there is no user summary
page for mobile (#28788) - Always add the trailing delimiter when autocompleting multiple-entry
objects, such as email addresses - Compress PNG images to decrease initial page load times
- Avoid "That is already the current value" warning when changing
between two queues with differing lifecycles but a same-name mapping - Don't nest tags to User Summaries in queue watcher page
- Require that saved searches have names in order to be created
(#20210) - Give a proper error when attempting to merge a ticket into itself
(#26407) - Searching for "ip version 6" no longer limits to ticket 6; the 6 is
instead searched for in the subject. (#22470) - Give SystemError transactions their own CSS style
- Fix ticket link autocompletion during ticket creation
- Require that one or more addresses be provided to forward (#25308)
- Respect the "color" attribute in HTML mail (#28389)
- Rework the JS that prevented form resubmission; instead of disabling
the submit button (which interacted poorly with the browser's back
button), instead use an attribute on the form (#27489) - Squash warnings triggered by query builder when more than 50
different users had OwnTicket - Serve rich text editor JS with the rest of the compressed JS; this
ensures that it is better cached
Web administration
- Allow external custom fields to have a "based on" category.
- Hide the queue name, lifecycle, and disabled box on the edit page for
the __Approvals queue; these must remain unchanged for Approvals
functionality. - Correctly page user results in User Summary searches
- Prevent warnings on Scrip edit pages if the user did not have global
ShowTemplate rights
Configuration options
- Add a new option ($AllowLoginPasswordAutoComplete) to allow the
browser to remember user passwords on RT's login screen (#29071) - Add new $DefaultSearchResultOrderBy and $DefaultSearchResultOrder
options to control the global default ordering of tickets - When the stylesheet is set to an unknown style, default to rudder,
not aileron (#29132)
Server administration
- Use one fewer database connections per rt-server process; this is
most notable on FastCGI deployments, which spawn a number of
rt-server processes - Default to connecting to sphinx via 127.0.0.1 instead of localhost on
MySQL 5.5, due to http://sphinxsearch.com/bugs/view.php?id=1815 - rt-validator can now detect and fix links to Articles with the wrong
$Organization set - Check that the version in sbin/rt-server matches the version in
lib/RT/Generated.pm during server startup - Follow up to 3 HTTP redirects when POSTing to the mail gateway. This
covers the common case of http: redirecting to https:, but the mail
gateway referencing http: (#14114) - Return a status code 503 if we cannot connect to the database
(#23332)
Installation
- When configuring, pull the primary group of the current user using
perl, instead ofgroups
, which may not list the primary group
first. - Ensure that rt-test-dependencies re-execs itself using its full path,
as module installations may have changed the directory (#29024) - Properly detect an existing database but missing schema in the web
installer - On perl 5.19.3 and above, a more recent version of
Symbol::Global::Name is required, due to core perl changes
Upgrades
- Bulletproof 4.0 Articles upgrade steps by dropping tables before
attempting to create them - Correct documentation path in upgrade warning
- In database upgrades, skip the "BACK UP BEFORE THIS STEP" warning if
the --force option was provided, which gives no change to stop at
that point. - Remove a warning in the optional time-worked-history.pl upgrade step
REST
- Allow arbitrary Content-Disposition in REST uploads (#19770)
Developer
- Add a comment warning about the use of the SetFieldsOnce callback in
BuildFormatString; it will be removed in RT 4.4. - Fix behavior of RT::Date->AddDays when passed 0 days
- Check POD of all files
- Allow RT::Users->WhoBelongToGroups to optionally return unprivileged
users - Provide hooks to implement a cache on MakeClicky
- Document ExtractTicketId and ParseTicketId, as useful methods for
local overrides - Update RT::CustomField->LoadByName, when called with a Queue
argument, to return only ticket CFs; in 4.2, it also began finding
queue CFs. This reverts to the behavior from 4.0. - The Articles URI implementation is now consistent with Ticket URIs;
->LocalURIPrefix does not contain /article/ - Allow @jsfiles to include files not under /static/js/ if they have a
leading / - Add a generic style for reverse-color ticket titlebox tabs
- Allow plugins to wrap the PSGI application in its entirety
- Bulletproof role resolution for single-user roles
- Win32 and IIS are not a supported platform; remove all lingering
references to them - Allow ModifyAll.html's Default callback to change @results, like
Modify.html - Make Widgets/Form/Select honor the Multiple flag (#12447)
- Remove extraneous direct uses of Time::ParseDate (#24498)
- Add a callback after Attachments on ticket display
- Fix SetDisabled's return message on failure (#29802)
- Refactor CSV export to allow its use by non-ticket collections
Documentation
- Updated parts of RT::StyleGuide
- Document the --no-users and --no-groups options to rt-serializer more
clearly - Add documentation for rt-validate-aliases
- Remove misleading comment about "an rt-mailgate user" from
rt-mailgate documentation - Remove ambiguity of direction of $CanonicalizeEmailAddressMatch and
$CanonicalizeEmailAddressReplace - Update schema.dot for the ObjectScrips table, new in 4.2
- List SQLite in documentation as a possible database backend, for
non-production use. - Update suggested backup strategy on MySQL to no longer require LOCK
TABLES privileges (#22893) - Note that changing queue subject tags may require altering
$EmailSubjectTagRegex - Suggest /etc/cron.d instead of root's crontab, for discoverability
A complete changelog is available from git by running:
git log rt-4.2.3..rt-4.2.4
or visiting
rt-4.2.3...rt-4.2.4