* Made lines from initialiseMessages() appear as list items during installation
* Moved the bulk of the localisation data from the Language*.php files to the Messages*.php files. Deleted most of the Languages*.php files.
* Introduced "stub global" framework to provide deferred initialisation of core modules.
* Removed placeholder values for $wgTitle and $wgArticle, these variables will now be null during the initialisation process, until they are set by index.php or another entry point.
* Added DBA cache type, for BDB-style caches.
* Removed custom date format functions, replacing them with a format string in the style of PHP's date(). Used string identifiers instead of integer identifiers, in both the language files and user preferences. Migration should be transparent in most cases.
* Simplified the initialisation API for LoadBalancer objects.
* Removed the broken altencoding feature.
* Moved default user options and toggles from Language to User. Language objects are still able to define default preference overrides and extra user toggles, via a slightly different interface.
* Don't include the date option in the parser cache rendering hash unless $wgUseDynamicDates is enabled.
* Merged LanguageUtf8 with Language. Removed LanguageUtf8.php.
* Removed inclusion of language files from the bottom of Language.php. This is now consistently done from Language::factory().
* Add the name of the executing maintenance script to the debug log. Start the profiler during maintenance scripts.
* Added "serialized" directory, for storing precompiled data in serialized form.
* Removing "whitelistreadtitle" and "whitelistreadtext", which seem to be unused.
* Removing the self login link in the create account not allowed screen, as it is not useful.
* Fixing "loginreqlink" in Hebrew.
* Fixing various small bugs about these error pages.
* No longer spews "uninitialized variable" notice all over output during category preview
* Don't alter global configuration variables when there's no reason to
Note that __NOGALLERY__ still isn't respected on preview (was this even tested?)
* remove require_once() throughout whole code, yet left in few places
* move global functions in HttpUtils, ProxyTools, Credits to class methods
* php5 only: __autoload() now used, combined with class->file map and require()
* move initialization of $wgValidSkinNames to Skin::getSkinNames()
* few more changes that will surely break stuff.
Inserting a newline into some improperly filtered option strings could be used to overwrite other pref values, bypassing their input validation. Any newlines now get filtered out at User::setOption as a final line of defence.
There were a few HTML injection bugs, but none appear to be exploitable, as prefs can only be set if you already control the account.
Bug found by gmaxwell.
to debugging issues. (Keep this?)
* Use __FILE__ to form path in new LocalSettings.php, so it stays accurate
when the directory is relocated for typical usage.
* Auto-update $wgCacheEpoch when LocalSettings.php changes on new installs.
For typical usage this will be a light burden and should reduce confusion
when the configuration is edited.
* Fix $wgCacheEpoch's effect on client-side caching.
Further testing indicates the problem was probably an incomplete sync or bad caching of
OutputPage.php on some servers, so the broken version of the function was called
on old page views, incorrectly storing old text items into the parser cache.
* (bug 4104) 'OutputPageBeforeHTML' hook to postprocess article HTML on
page view (comes after parser cache, if used). Patch by ThomasV.
Something still bugged in this; was saving bogus history entries to parser cache.