dates in iCal can suffer from conversion to UTC

date only fields in iCal has no timezone information
and it's more correct to present date in user's timezone
rather then in UTC where it get +1 or -1 day hit
The last call site for OCFs->CustomFields was removed in 2eaeeef during admin refactoring

As the method is not useful, simply remove it.
User autocomplete: Add the class autocompletes-user for easier selecting later

This is nice because it means you can select/iterate all user
autocompleters using basic jQuery / CSS.

For the bespoke implementations, I add the class from JS so that if JS
doesn't run, the elements aren't tagged incorrectly.  That really only
matters if you're selecting elements with CSS (since your custom JS
won't be running either).
User autocomplete: Override the item render to conditionally use HTML from the server

Combined with the recent ModifySuggestion callback for
/Helpers/Autocomplete/Users, this lets customizers fully affect
rendering of the autocomplete suggestions.
Quote replies properly when re-wrapping

When re-wrapping text that already has email quoting, the
quoting should be maintained in the newly re-wrapped text.
See:

http://issues.bestpractical.com/Ticket/Display.html?id=16857
When wrapping, keep existing line breaks

When wrapping, honor existing line breaks and only wrap within
a line. This avoids combining intentional multi-line text into
a single paragraph.
Avoid "uninitialized" warnings when parsing empty templates

Empty templates are used to squash outgoing mail on a queue-by-queue
basis.
OverrideOutgoingMailFrom: Use $CorrespondAddress if the queue's isn't set

Otherwise the meaning of the Default key changes depending on the
queue's correspond address being set or not.  Using the global
correspond address for queues with no specific correspond address, as
well as moving the Default check into the else branch, means the Default
key is only used when there's no ticket involved.  This is the
documented behaviour in RT_Config.pm.
SetOutgoingMailFrom: Accept an email address as a value and use it globally

Covers the simple case of sending all bounces to a specific address,
without the only previous solution of resorting to defining all queues
in OverrideOutgoingMailFrom.  Any definitions in the Override option
still take precedence.
re-add attributes to fix IE layout

We still need border, cellspacing and cellpadding attributes to show the
collection list in IE (at least IE7) in the same layout as in other
browsers.

This partly reverts commit f5aa30c9.
Remove the IE-specific need for two <table> attributes on collection lists

The only reason IE padding was wonky without the cellpadding attribute
was because our stylesheet set up different padding for IE.  The blanket
padding is seemingly unnecessary.

The border="0" attribute is unnecessary since a border is set in CSS.

Only cellspacing is out of the reach of CSS in < IE8 because
border-spacing isn't supported.

Less hardcoded attributes in HTML means more flexibility for CSS down the
road.  While this is effectively a no-op commit in terms of rendering,
it's useful to avoid reinstating the two extra <table> attributes.
Remove stray and unnecessary VERSIONs in modules

Some of these are because the module was folded into core, but some are
somehat inexplicable and confusing.
/Ticket/Graphs/ requires the GraphViz module; skip tests if not installed
Remove no-op InitConfig

InitConfig was introduced in bfb7641, with the intent of having the META
information contained along-side the configuration files.  However,
functionality was never completed.

Remove the stub.
Correct casing of MySQL
MySQL 4.0 is not supported on RT 4.0; MySQL 4.1 is the minimum required

Combines two conditionals into one since they can both assume the
MySQL version is >= 4.1.
Check InnoDB support via SHOW ENGINES for MySQL 5.6 compatibility

MySQL 5.6 (still in release candidate stage) drops the 'have_innodb'
variable in favor of SHOW ENGINES.  The latter is supported since 4.1,
so we can safely use it across the board.

In my testing on 5.1, I never saw "disabled" when disabling InnoDB via
'skip-innodb'.  SHOW ENGINES always reported "no" despite the engine
being disabled at runtime not compile time.  Hint at this possibility in
the error message for "no".
adjust Test::Builder's level
Always throw away warnings caused by compilation tests

e551d98 causes tests to unexpectedly pass because the get_ok inherent to
no_warnings_ok (which is additional to the check that the warnings are
empty) now counts as part of the TODO'd block.

As in this case we do not have any particular expectation that
compilation tests will ever be warnings clean, simply switch to clearing
the caught warnings.
Add more Test::Builder::Level bumps where there are tests