0.6.1 Stable Release

Published April 29, 2011

0.6.1 is released with some major fixes since 0.6.0.

Get it from the usual place (where we now have some actual packages, not just the github generated archives).

The biggest fixes are related to PCRE problems. On the older PHP/PCRE releases, everything is fine, but I upgraded my box to the Kubuntu 11.04 release yesterday (from 10.04 -- fresh install rather than update), and the version of PHP it ships with introduces some huge issues in PCRE (version string: PHP 5.3.5-1ubuntu7 with Suhosin-Patch (cli) built: Apr 17 2011 13:58:11 with PCRE Library Version => 8.12 2011-01-1). The problem is in the backtracking behaviour of PCRE, even straightforward regexes suddenly started hitting the backtracking limit on fairly short strings.

Anyway, despite the apparent unlikeliness of the PHP/PCRE projects pushing an update that breaks *a lot* of my regular expressions, and presumably a lot of other people's as well, I also reproduced this under PHP5.3.5 from Xampp (5.3.1 is fine though), so it looks like this is now standard. As such, most/all the vulnerable regexes have been rewritten to explicitly prevent PCRE from doing any unnecessary backtracking. This is a major issue if it affects you, and the main reason to update.

We also have much better error handling now. If you had run across the backtracking problem, it would have thrown an exception and killed your page, which isn't exactly optimal. There's been some focus on properly catching exceptions and error cases gracefully in production code (the debug/production toggle is in src/debug.php, it's set to debug in Git but packaged versions will have it on production), to the point where if there's an unhandled exception anywhere in Luminous you'll at least get back your original source wrapped in a pre tag. Obviously, this shouldn't happen, but if it does, your page is still going to load and show something vaguely sensible.

There are also various other improvements as well: a few small language fixes/additions, support for the Go language and some htaccesses are present to prevent bots crawling your luminous directory.

Full changelog.