= MediaWiki release notes = Security reminder: MediaWiki does not require PHP's register_globals setting since version 1.2.0. If you have it on, turn it *off* if you can. == MediaWiki 1.9 == THIS IS NOT A RELEASE YET. MediaWiki is now using a "continuous integration" development model with quarterly snapshot releases. The latest development code is always kept "ready to run", and in fact runs our own sites on Wikipedia. Release branches will continue to receive security updates for about a year from first release, but nonessential bugfixes and feature development happen will be made on the development trunk and appear in the next quarterly release. Those wishing to use the latest code instead of a branch release can obtain it from source control: http://www.mediawiki.org/wiki/Download_from_SVN == Configuration changes == == Major new features == == Changes since 1.8 == * (bug 6835) Removing the includes/Parser.php::getTemplateArgs() function, because it seems to be unused. * (bug 7139) Increasing the visual width of the edit summary field on larger screen sizes, for the default monobook skin. * Fix PHP notice and estimates for dumpBackup.php and friends * Improved register_globals paranoia checks * (bug 7545) Fix PHP version check on install * Disable PHP exception backtrace printing unless $wgShowExceptionDetails is set. Backtraces may contain sensitive information in function call parameters. * (bug 6164) Avoid smashing Cite state if message transformation triggers during bad image list check, by skipping message transformation. This isn't a good permanent fix. * (bug 6918) Stopped borders and backgrounds from showing through floated tables in Monobook * (bug 6868) Un-hardcode section edit link style * (bug 3205) Stop right floats from stacking horizontally in non-Monobook skins * Added global $wgStyleVersion to centralize bumping CSS and JS file versions for cache-friendly style and script updating * (bug 7562) Fix non-ASCII namespaces on Windows/XAMPP servers * Friendlier check for PHP 5 in command-line scripts; it's common for parallel PHP 4 and 5 installations to interfere on the command-line. * Fix regression in autoconfirm permission check * (bug 3015) Add CSS ids to subcategory and page sections on category pages * (bug 7587) Fix erroneous id for specialpage tab, enabling informative popup * (bug 7599) Fix thumbnail purging, PHP notices on HTCP image page purge * (bug 7581) Update language name for cbk-zam * (bug 7444) Update namespace translations for Telugu (te), kept old values as alias for compatibility * (bug 4525) Move section links down visually to same level as headings (editsection links are now inside the heading elements) * Workaround for http://bugs.php.net/bug.php?id=31892 , PATH_INFO and hence URLs of the style /index.php/Main_Page were broken on some CGI installations. * (bug 7623) Validate custom HTML id's correctly in Monobook interface * (bug 2241) Fix collision of 'w' and 'd' accesskeys * (bug 5795) CSS class added to body based on page name for page-specific styling * (bug 6276) Stopped search field from getting too large in Cologne Blue * (bug 7644) User creations that are aborted by hooks shouldn't be counted against account creations per day limit * (bug 7636) Show Firefox 2 users correct accesskey prefix * (bug 6427) Block blocked IPs from using the mail password function to allow blocking of flooders * Include common.css from classic-style skins in main HTML with the bump URL * (bug 7607) Add Karakalpak (kaa) to Names.php and stub message file for linktrail * (bug 7582) Add 'tog-nolangconversion' to MessagesEn.php. This key is need for languages with variants (zh, sr, kk) * (bug 7606) MediaWiki messages for "rss" and "atom" missing * (bug 7609) Add some more '*-summary' messages to MessagesEn.php with empty strings to allow better localisation via Special:Allmessages. Mark this new messages as optional for localisation. * Fix user_newpass upgrade for prefixed tables (reported by Fyren) * (bug 7663) Include language variant switcher links on Nostalgia skin * (bug 6531) Fix PHP fatal error on installation page with bad username input. * (bug 6977) Remove 404 link for autogenerated database documentation. * (bug 7369) Allow "Show Changes" without requiring edit token. * (bug 7687) Fix movetalk box checks itself when confirming a delete and move. * (bug 7684) Obey watchcreated preference for Special:Upload watch checkbox * (bug 7686) Include id attribute on delete form confirmation button * Allow compound interwiki prefixes in $wgImportSources * (bug 7304) Added redirect table to store redirect targets. * Added querycachetwo table (similar to querycache but has two titles) * PageArchive can now return a Revision object for more convenient processing of deleted revision data * Added 'UndeleteShowRevision' hook in Special:Undelete * Error message on attempt to view invalid or missing deleted revisions * Remove unsightly "_" from namespace in Special:Allpages, Special:Prefixindex * (bug 3224) Allow minor edits by bots to skip new message notification on user talk pages. This can be disabled by adjusting the 'nominornewtalk' permission. Patch by Werdna. * (bug 7741) MATH: fixed broken syntax of underbrace etc. Fixed arrays * Fix purging for updated SVG files * (bug 7745) Add id attribute to search button in Monobook * (bug 7749) MATH: added some more LaTeX symbols, e.g. parallel, diamond, ast, ... * (bug 7304) Added code in Article.php to keep redirect table up to date. * Made special page names case-insensitive and localisable. Care has been taken to maintain backwards compatibility. * Used special page subpages in a few more places, instead of query parameters. * (bug 7758) Added wrapper span to "templates used" explanation to allow CSS styling (class="mw-templatesUsedExplanation"). * Added {{#special:}} parser function, to give the local default title for special pages * (bug 7766) Remove redundant / from AJAX requests, can break some servers * Add tab links from extensions to classic-based skins (SkinTemplateTab hook) Provides better cross-skin compatibility for extensions using the modern skin hooks, such as Oversight * Moved variant language links on Cologne Blue and Nostalgia to before the login/logout link * Fix for parser tests with MySQL 5 in strict mode * Added block option "enable autoblocks" * Amend Special:Ipblocklist to note when a block has autoblock DISABLED. * (bug 7780) Fix regression in editing redirects * Add whitespace above "templates included on this page" using CSS, not hardcoded line break. * Remove entries from redirect table on article deletion * (bug 7788) Force section headers in new section links for users who have 'prompt for blank edit summaries' on. * (bug 1133) Special:Emailuser: add an option to send yourself a copy of your mail. * (bug 461) Allow "Categories:" link at bottom of pages to be customized via pagecategorieslink message. * Sort the list of skins in "My Preferences" -> Skins by alphabetical order. * (bug 7785) Postgres compatibility for timestamps in RC feeds * (bug 7550) Normalize user parameter normally on Special:Log * (bug 7294) Fix PATH search for diff3 on install * Various fixes related to the blocking change re: autoblocks. On inserting an IP block, the ipb_enable_autoblock field is now automagically blanked, because it doesn't make any sense for an IP. Additionally, IP blocks without the ipb_enable_autoblock option no longer show up as "autoblock disabled" on Special:Ipblocklist. * (bug 7774) MATH: aded more amstex functions * (bug 1182) MATH: fixed inconsistent rendering of upper case Greek letters in TeX * Fix regression in streaming page dump generation * (bug 7801) Add support for parser function hooks in parser tests * checkUsernames.php now uses wfDebugLog instead of hardcoded path to log * (bug 7810) Update talk namespaces for Occitan * Allow case-sensitive URLs to be used for uploading from URLs. * (bug 1109) Correct fix for compressed 304 responses when additional output buffers have been installed within the compression handler * (bug 7819) Move automatic redirect edit summary after pre-save transform to work properly with subst: fun * (bug 7826) Fix typos in two English messages. * (bug 5365) Stop users being prompted to enter an edit summary for null edits, if they have selected that option in preferences. * (bug 5936) Show an 'm' to the left of the edit summary on diff pages for minor edits. * (bug 7820) Improve error reporting for uploads via URL. * (bug 5149) When autoblocks are enabled, retroactively apply an autoblock to the most recently used IP of a user when they are blocked. * Add an index on (rc_user_text,rc_timestamp) on the recentchanges table. This will make CheckUser.php and the new retroactive autoblock functionality faster. * Fix regression in Special:Undelete for revisions deleted under MediaWiki 1.4 with compression or legacy encoding * (bug 6737) Fixes for MySQL 5 schema in strict mode * Approximate height for client-side scaling fallback instead of passing -1 into the HTML output. * Make the DNSBL to check for proxy blocking configurable via $wgSorbsUrl * Add experimental recording/reporting mode to parser tests runner, to compare changes against the previous run. Additional tables 'testrun' and 'testitem' are in maintenance/testRunner.sql, source this and pass --record option to parserTests.php * Make the set of default parser test input files extensible via $wgParserTestFiles. This can now be appended to by extensions or local configuration files so that extension or custom tests can be automatically run along with the main batch. * Run PHP install version checks on update.php so command-line updaters see new version requirements * Do a check for the PHP 5.0.x 64-bit bug, since this is much more disruptive as of MW 1.8 than it used to be. Install or upgrade now aborts with a warning and a request to upgrade. * (bug 6440) Updated indexes to improve backlinking queries (links, templates, images) * Switched 'anon-only' block mode to default for IP blocks * (bug 3687, 7892) Add distinct heading for media files in category display, with count. * (bug 1578) Add different icons for external links to audio, video, or PDF in Monobook. * Made autoblocks block account creation if the user block has that option enabled. * Add auto-summaries to blankings and large removals without summaries. * (bug 7811) Allow preview of edit summaries. * (bug 6839) Wikibits.js minor changes to make JS-lint happier. * (bug 7932) Make sure that edit toolbar clears floats so it appears correctly. * (bug 6873) When viewing old revisions, add link to diff to current version. * (bug 3315) Provide rollback link directly on history page. * Detect CGI configurations where PATH_INFO is set up correctly. PHP config var cgi.fix_pathinfo isn't detectable through ini_get(), but we can find some side-effects. Only tested on lighttpd so far, hopefully right on Apache too! * Replace 'old-revision-navigation' message with 'revision-info' and 'revision-nav' messages, wrapped in divs with appropriate id's. * (bug 4178) MediaWiki:Common.js will now be included for all users if $wgUseSiteJs is enabled, in addition to (if applicable) MediaWiki:Monobook.js and user JS subpages. * (bug 7918) "Templates used on this page" changes during preview to reflect any added or removed templates, and works as expected for section edits. * (bug 7919) "Templates used on this page" is now shown for read-only pages. * (bug 7688) When viewing diff, section anchors in autosummary jump to section on current page instead of loading the latest version. * (bug 7970) Use current connection explicitly on Database::getServerVersion * (bug 2001) Tables with class="sortable" can now be dynamically sorted via JavaScript. * Added autosummary for new pages with 500 or less characters, and refactor the autosummary code so it's all done in one function. doEdit is getting too big! * (bug 7554) The correct MIME type for SVG images is now displayed on the image page (image/svg+xml, not image/svg). * (bug 7883) Added autoblock whitelisting feature, using which specific ranges can be protected from autoblocking. These ranges are specified, in list format, in the autoblock_whitelist system message. * Added placeholders for text injection by hooks to EditPage.php * (bug 8009) Automatic edit summary for redirects is not filled for edits in existing pages * Installer support for experimental MySQL 4.1/5.0 binary-safe schema * Use INSERT IGNORE for db-based BagOStuff add/insert, for more memcache-like behavior when keys already exist on add (instead of dying with an error...) * Add a hook 'UploadForm:initial' before the upload form is generated, and two member variable for text injection into the form, which can be filled by the hooks. * (bug 6295) Add a "revision patching" functionality, where an edit can be undone (with a functionality similar to diff rev1 rev2 | patch -R rev3 -o rev3). This is triggered by including &undo=revid in an edit URL. A link to a URL that will undo a given edit is shown on NEW NON-CURRENT revision headers on diff pages. * Fix display of link in "already rolled back" message for image/category pages * (bug 6016) Left-aligned images should stack vertically, like right-aligned images, not horizontally. == Languages updated == * Bishnupriya Manipuri (bpy) * Cantonese (zh-yue) * Frisian (fy) * German (de) * Hebrew (he) * Indonesian (id) * Italian (it) * Japanese (ja) * Kazakh (kk) * Latin (la) * Lithuanian (lt) * Norwegian (no) * Occitan (oc) * Old Church Slavonic (cu) * Polish (pl) * Portuguese (pt) * Russian (ru) * Slovak (sk) * Swedish (sv) * Upper Sorbian (hsb) * Vietnamese (vi) == Compatibility == MediaWiki 1.9 requires PHP 5 (5.1 recommended). PHP 4 is no longer supported. PHP 5.0.x fails on 64-bit systems due to serious bugs with array processing: http://bugs.php.net/bug.php?id=34879 Upgrade affected systems to PHP 5.1 or higher. MySQL 3.23.x is no longer supported; some older hosts may need to upgrade. At this time we still recommend 4.0, but 4.1/5.0 will work fine in most cases. == Upgrading == Some minor database changes have been made since 1.7: * new fields and indexes on ipblocks * index change on recentchanges Several changes from 1.5 and 1.6 do require updates to be run on upgrade. To ensure that these tables are filled with data, run refreshLinks.php after the upgrade. If you are upgrading from MediaWiki 1.4.x or earlier, some major database changes are made, and there is a slightly higher chance that things could break. Don't forget to always back up your database before upgrading! See the file UPGRADE for more detailed upgrade instructions. === Caveats === Some output, particularly involving user-supplied inline HTML, may not produce 100% valid or well-formed XHTML output. Testers are welcome to set $wgMimeType = "application/xhtml+xml"; to test for remaining problem cases, but this is not recommended on live sites. (This must be set for MathML to display properly in Mozilla.) For notes on 1.5.x and older releases, see HISTORY. === Online documentation === Documentation for both end-users and site administrators is currently being built up on Meta-Wikipedia, and is covered under the GNU Free Documentation License: http://www.mediawiki.org/wiki/Documentation === Mailing list === A MediaWiki-l mailing list has been set up distinct from the Wikipedia wikitech-l list: http://mail.wikimedia.org/mailman/listinfo/mediawiki-l A low-traffic announcements-only list is also available: http://mail.wikimedia.org/mailman/listinfo/mediawiki-announce It's highly recommended that you sign up for one of these lists if you're going to run a public MediaWiki, so you can be notified of security fixes. === IRC help === There's usually someone online in #mediawiki on irc.freenode.net