if LANG is not english then tests got confused
Ensure that I18N::LangTags::Detect only finds the "C" locale in tests

The I18N::LangTags::Detect package, which RT uses to auto-detect the
user's language preference in the browser, also looks at several
environment variables which are more commonly set on the command line.
This is only an issue during tests, as we expect the language to always
be English.

Explicitly always remove all of the environment variables which
I18N::LangTags::Detect looks at, and set LANG=C to provide a reference
point.
With the Pg FTS, catch and skip attachments which contain invalid UTF8 bytes
Strengthen wording about our ability (or lack thereof) to FTS index on Pg
If we fail to index on Pg, ensure that we continue indexing past that point

Previously, failure to index (because of invalid bytes, or too-long
content) left the content index NULL.  As our check for where to resume
indexing is based on rows where the index IS NOT NULL, this could lead
to a pessimal condition where a large number of failures to index in a
row would prevent forward progress of the indexer.
When updating "text" fields "text", don't display old and new values

Fields which are stored as "text", such as the content of templates, or
custom actions or conditions on scrips, do not benefit from displaying
"xxx changed from yyy to zzz", as yyy and zzz are generally long
multi-line blocks of text, whose newlines are stripped during HTML
rendering.

Update the message to simply say the more concise "xxx updated", which
is already a locstring in use elsewhere in RT.
Remove the bottom margin that superfish adds to menus

This caused nearby elements, such as column headings in search results,
to not be clickable.

See http://issues.bestpractical.com/Ticket/Display.html?id=19307
Allow non-ExecuteCode users to create Simple templates

Previously, the type was set after creation time; but only users with
ExecuteCode are allowed to create Perl templates, making it effectively
impossible for non-ExecuteCode users to create new templates, even
Simple ones.

Pass the type of the template at Create time, making this into an
operation that such users have permission to do.

Submitted-by: Tim Cutts <tjrc@sanger.ac.uk>
Allow altering template type to Simple and changing Content simultaneously

The order in of the array passed to AttributesRef determines the order
in which updates are applied.  Because Content denies updates if the
current Type is 'Perl' and the user doesn't have ExecuteCode, this means
that it was impossible for such a user to update the Content in the same
submission as the type was changed to Simple.  Reorder the AttributesRef
such that Type comes before Content, thus ensuring that the ACL
surrounding Content will be satisfied by the time we attempt to update
it.
Default the Type according to the permissions of the current user
Encode the interface (Email/Web/Mobile/REST) that content came from

While examining the presence of the Recieved header was often used as a
stand-in for knowing if a transaction was initiated via email or not, it
is simpler to record the interface explicitly.  Store one of four values
in the X-RT-Interface MIME header: Email, Web, Mobile, or REST,
depending on the endpoint of the request that created the MIME object.
simplify Queue Lifecycle column's logic to avoid empty values
test queue's lifecycle change in admin ui
upgrade script to update queue lifecycle column from null to "default"

as we don't allow to set the column empty value any more
upgrade lifecycle to "default" for values like 0 or empty string
Update articles documentation
Improve error message when creating an Article before a Class
Style change to move down Modify search link

Move the Modify search link down so it can be clicked. Changed
style in place since that's where styles are currently applied in
this file. Tested in FF, Safari, Chrome, and IE8.
make "NULL" case insensitive in sql
test for lower cased null