It's important to test different databases. It's important to test
different versions of PHP. But we don't need to test all possible
versions of each tested in a cartesian product.
This patch ensures that there are 4 builds that cover:
- PHP 5.4, 5.5, 5.6
- MySQL, PostgreSQL and SQLite
- PDO and each db-specific connector
- Behat and non
Our build time is an impediment: frequently we're slowed down waiting for
test runs to complete. In this context, running allowed-failure builds
that everyone ignores is just a waste.
I'd love to see HHVM work, but that's going to require that someone
actually gets the build to pass. At that point, we can add it back into
the build matrix.
I'm working on a PHP7 branch that will hopefully also fix our nightly
builds. Once I get that going, I'll add those two back, but not have
'allow failures'
Even if we decide, at some point in the future, that supporting nightly
doesn't make sense, I see the *only* value of Travis is maintaining our
green tick. We either care about builds or we don't: I've never seen a
'grey area' build result in anything other than embarrassment and
technical debt.
Let's decide what matters to us and treat it like it matters to us:
it's part of the build or not.
API CHANGE: Debug::showError(), Debug::showLines(), Debug::log(), and Debug::header() removed
NEW: Logging provided
ZendLog has been removed and monolog introduced instead as a dependency.
The “ErrorLogger” injection point is now the used as the logger that
errors are fed into, and implements PSR-3’s Psr\Log\LoggerInterface.
The SS_ERROR_LOG setting expect a Monolog Logger to be provided as the
ErrorLogger.
DebugView writes straight to STDOUT. It would be much more flexible if
it returns a string instead.
It’s possible that DebugView should be scuttled in favour of a 3rd party
library, but in the meantime, this change makes it more useful for the
logging changes.
TinyMCE strips them by default, but if they're specifically added
to the allowed elements we should respect that setting.
Example PHP config:
$validEls = HtmlEditorConfig::get('cms')->getOption('extended_valid_elements');
$validEls .= ',script[src|type]';
HtmlEditorConfig::get('cms')->setOption('extended_valid_elements', $validEls);
PHP 5.6 doesn't like access to HTTP_RAW_POST_DATA and recommends the use of php://input,
which is already supported by this code. I've just removed the deprecated calls.