[Rt-devel] RT 3.6.6rc1 now available
Jesse Vincent
jesse at bestpractical.com
Mon Dec 3 16:37:49 EST 2007
I'm pleased to announce the first release candidate of RT 3.6.6.
This release focuses mostly on performance improvements. The _big_
changes are:
* CSS and javascript files should be better cached on the client
* CSS files are now concatenated and squished to cut down on the number
of initial HTTP requests
* ACL queries have been split apart into more small queries, which leads
to more effective caching _and_ has better performance characteristics
on MySQL 5.x
There's also some refactoring work going on to improve our support for
HTML mail. But more on that later.
-jesse
CORE
====
* Applied
http://page.mi.fu-berlin.de/pape/rt3/patches/rt/3.6.5/less_warnings_in_error_log.patch
from
Dirk Pape to quiet some warnings - jesse
* RT.pm.in: Add support for loading RT_Vendor.pm by default before
RT_Local,
for greater consistency. - audreyt
* RT::Record - _DecodeLOB now respects RT::I18N::IsTextualContentType. -
audreyt
* _DecodeLOB: All text/* are treated as UTF-8, not only text/plain. -
audreyt
* Allow Template->ParseContent to not require Ticket and Txn - sartak
* New callbacks from Dirk Pape: http://page.mi.fu-
berlin.de/pape/rt3/patches/rt/3.6.4/add_callbacks_to_admin_us
ers.patch - jesse
* Save the transaction ID of the outgoing message transaction - tla
* get rid of overly verbose debug statement - tla
I18N
====
* Japanese translation updates from Shinji Yamane - jesse
* Updated dutch .po file from Marcel Kolkman - jesse
DOC
===
* We used the wrong variable name in html/Search/Chart (for fonts)
Thanks to
elacour at easter-eggs.com - jesse
INSTALL
=======
* Add new dep: CSS::Squish 0.06 - audreyt
* bump required version of SB so people will get a fix that affect the
latest
change - ruz
MAIL
====
* RT::I18N - Introduce a new utility function, IsTextualContentType($type),
that determines whether $type can be sensibly converted to Unicode text.
Currently it uses this regex (case-insensitively):
^(?:text/(?:plain|html)|message/rfc822)\b The idea is to unify all the
inconsistent uses all over RT's code (some tested for text/*, some for
text/plain|message/rfc822, some for text/plain|text/html|message/*)
to use
this function instead.
* Minor POD glitch - Say "function" when it said "method" but really
wasn't. - audreyt
* RT::Transaction_Overlay: Be saner and allows explicitly calling $txn-
>Content(Type => 'text/html'), instead of relying on action-at-a-distance
$PreferredContentType. - audreyt
* MakeMIMEEntity now takes an optional "Type" field to denote the MIME Type
of the body. (Default to 'text/plain'.)
* CreateTicket() now supports $ARGS{ContentType}, and
ProcessUpdateMessage()
now supports $ARGS{UpdateContentType}. - audreyt
* RFC dictates to encode by chars, so if char is two octets then it MUST be
in one chunk - ruz
* RT::Action::SendEmail - Support for multipart/* emails; we now textualify
all MIME parts, instead of collapsing the whole multipart. - audreyt
* RT::Action::SendEmail: Allow user-specified Content-Type in outgoing
templates. Currently, only text/* is supported for security reasons.
Eventually maybe multipart/* with all textual subparts might be allowed,
too. - audreyt
* RT::Attachment_Overlay - Fix several broken logic in ->OriginalContent:
- When $self->ContentEncoding eq 'quoted-printable', a premature
"return" prevented any encoding conversion from taking place.
- A bogus Encode::_utf8_on($content) later prevented any encoding
conversion from taking place _anyway_.
* $attachment->Quote now respects RT::I18N::IsTextualContentType. - audreyt
* RT::Transaction->ContentObj - Prefer the first part that matches
$PreferredContentType, instead of always 'text/plain'. - audreyt
* RT::Transaction_Overlay - use RT::I18N::IsTextualContentType. - audreyt
* RT::Transaction_Overlay: Signatures in text/html content objects
should be
removed in a way that doesn't depend on whitespace. Also, remove an
unneccessary regex capture. - audreyt
* RT::Transaction_Overlay: Unify the idea of "textual" MIME types to
text/plain, text/html and message/*. (Previously it was defined
differently
for e.g. the first part and the other parts.)
* RT::Transaction_Overlay: Introduce the variable
$RT::Transaction::PreferredContentType to control the context
where ->Content() is evaluated in. If not set, it defaults
to text/plain. - audreyt
MINOR CLEANUP
=============
* HTML Table fixes from Dirk Pape
(http://page.mi.fu-berlin.de/pape/rt3/patches/rt/3.6.4/rt3.6-
xhtml-2.patch) - jesse
* In this case the <ul> was opened inside an IF block, but </ul> closed
outside the IF block. Thanks to Jason Long. - ruz
* The <nobr> opening tag came before the IF statement, and the </nobr>
closing tag was inside the IF statement. Thanks to Jason Long. - ruz
* convert mason comments into css comments - ruz
* delete double width definition
* don't escape html - ruz
* delete unused variable - ruz
* handle spaces in field names when doing rt ls - falcone
* move general if block into <%INIT> - ruz
* pass a reference to @results into a callback, so extensions can fill it -
ruz
* squish our CSS into one big thing use CSS::Squish and dhandler - ruz
PERFORMANCE
===========
* add max-age to HTTP Caching "Expires" header - ruz
* Don't send Last-Modified field in a response when it's not necessary
* Explicitly mark our static files like css and js as publicly
cacheable - ruz
VIEW
====
* A small fix to stop RT from complaining about categories when updating
custom fields via the web ui. Thanks to Brian Gallew - jesse
* add Ticket/Elements/ShowQueue and use it on create and in ShowBasics,
tiny
comp for overriding in extensions - ruz
* add closing tags for elements of lists - ruz
* add handling of arguments with multiple values into
Widgets/SavedSearch - ruz
* add labeling of portlets that are based on components, it doesn't support
localization, but it's better than empty label
* allow to manage many portlets that are based on the same
comp by adding optional 'id' key - ruz
* add missing </li> - ruz
* set the prefix so that CFs can be added during Group Creation - falcone
* switch to /Elements/ShowLink - ruz
* In charts, if there are no tickets found in a search, give an error-
message image instead of silently failing to load. - sartak
* add a callback for SelfService/Elements/Tabs - sunnavy
* added AfterShowHistory Callback in Ticket/History.html - sunnavy
* added current_tab arg for AfterShowHistory Callback in
Ticket/Display.html - sunnavy
* added show_menu arg for Elements/Tabs and Elements/PageLayout, mainly for
RTx-TicketBottomTabs - sunnavy
* When creating or updating a ticket, we shouldn't replace "\n" with
whitespace if it's a multiple-value custom field type - sunnavy
ACL QUERIES
============
* split _HasRight into _HasGroupRight and _HasRoleRight
* use more queries for roles (sounds like a performance lose but is
really a win) - ruz
* split WhoHaveRoleRights into more queries so buggy MySQL's optimizer
can do
the right thing - ruz
* unshift more global objects instead of pushing them, so we'll get them
earlier in an upcoming refactoring
* do all things related to EquivObjects in HasRight and leave only
checks in _HasRight - ruz
More information about the Rt-devel
mailing list