* 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.
$ matches trailing newline without D set. gmdate whines more about the value passed to it, so for Unix-timestamp-y things it would dump out a notice. Added D to regexes to be a little more anal about valid input.
* Made autoloader work for unserialize()
* Made XmlFunctions.php and HttpFunctions.php autoloadable modules, via Http:: and Xml::
* Made Image class autoloadable, global functions moved to ImageFunctions.php where they can be loaded on every invocation.
* Removed some unnecessary require_once() calls
* Deferred $wgValidSkinNames initialisation
* Fixed a couple of silly construct/initialise splits. My idea from C++ experience, bad practice in PHP.
* Deferred skin initialisation in ParserOptions
* Removed $wgMwRedir during an attempt to make MagicWord autoloadable. Didn't complete that, but removing the global is still the right direction.
* 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.
* Move parameter replacement before brace transformations in most of the
wfMsg() family (except for wfMsgHtml). This allows things like {{plural:}},
{{urlencode:}}, and {{fullurl:}} to be used in most cases correctly.
The content or UI language will be used accordingly for (forContent)?.
* Work around glitch with the above in {{int:}}; skip redundant transformations,
allow the including parser to do it.
* Fix {{int:}} to use content language, so it won't break caches and links
tables and randomly include data from the wrong language.
Uncertain what the cause is of the breakage, I have a hard time duplicating it
and it looks massively wrong (should not be possible). Failure on Parser.php
line 590, claims var not array, but the check two lines above ensures that
it is first...
Avoid splitting table cells on "||" appearing in HTML tag attributes.
Bad tag nesting is still possible, but this should keep things from
being split unexpectedly in the middle of an element, and might
avoid some potential injection points.
See http://mail.wikipedia.org/pipermail/wikitech-l/2006-April/034637.html
options. Not yet ready for production use; Special:Revisiondelete is
incomplete, and the flags are not preserved across page deletion/undeletion.
To try it; add the 'deleterevision' permission to a privileged group.
Also split some functions from GlobalFunctions to XmlFunctions.php, added
some convenience functions for building form controls, some more Linker
conveniences for formatting various types of standard link clusters.