BUGFIX Adding SapphireTest->usesDatabase to enforce database schema (re-)build even when no $fixture_file is present (the test might still read/write database records manually)
BUGFIX Don't bother looking up ancestry for classes not found in manifest in ClassInfo::ancestry() (becomes a problem with PHPUnit's getMock() method)
MINOR Added CSSContentParser->getXML()
BUGFIX Don't include *all* classes when doing a coverage report. It's not necessary, and breaks third-party requirements that are included manually.
BUGFIX Remove arbitrary restriction of template processing in Email->parseVariables() to HTML emails: Plaintext emails can also have templated content
MINOR Added transactionStart() and transactionEnd() methods to MySQLDatabase to work with payment module using the old notations
BUGFIX Check that the 'locale' param has a value before assuming a redirection is required
BUGFIX IE will give an "Unknown runetime error" complaining when text wrapped in a paragraph tag can't be inserted (when entering a link for a single word on a line in TinyMCE). The link is correctly inserted however. Workaround this by checking for this error so the alert box doesn't appear.
ENHANCEMENT Event item callbacks for SS_Log
NEW Partially backported prepStringForDB fix

Required to get unicode strings saving properly
in MSSQL database with the native SQLSRV driver
Fixed i18n.js detection of locale by tag rather than meta. Backport from 3.0 core
Init'ing i18n JS at correct time (back port from 3.0)
MINOR Variable init in i18nTextCollector
BUG Correct type checks for CheckboxSetField sources

is_a() returns true when the argument is in fact a string,
just happens to be a defined classname in the current
PHP execution scope. Bug started to occur with changed behaviour
in PHP 5.3.7, see https://bugs.php.net/bug.php?id=55475
BUG Fixed Member::get_title_sql() string concat

Was breaking on first empty column when using ANSI
concatenation operator in MySQL, using CONCAT_WS() instead.
NEW Explicitly remove empty definitions in i18nTextCollector

Allows unsetting of strings via provideI18nEntities overrides,
e.g. the SINGULARNAME/PLURALNAME generated ones.
MINOR Supporting custom error levels in LogErrorFileFormatter and LogErrorEmailFormatter
MINOR Suppress XML formatting in HTML error emails
BUGFIX Using error context for exception emailing if available - otherwise SS_Backtrace::backtrace() will just go back to the point where the exception is thrown, leaving out most of the actually interesting trace info