Change notes from older releases. For current info see RELEASE-NOTES.

= 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.


== Changes since 1.8 ==

* (bug 8200) Make category lists sorted by name when using Postgres.
* (bug 7841) Support 'IGNORE' inserts for Postgres, fixes watchlist
  adding problem.
* (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.
* 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 revision headers on diff pages.
  The link leads to a "Show Changes" page showing what will be done to undo the
  edit.
* 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.
* Patch from LeonWP: added UploadForm:BeforeProcessing hook in SpecialUpload.php
* Add AuthPluginSetup hook to override $wgAuth after configuration
* Fix regression in authentication hook auto-creation on login
* (bug 8110) Allow spaces in ISBNs
* (bug 8024) Introduce "send me copies of emails I send to others" preference
* Added 'EditPage::attemptSave' hook before an article is saved.
* (bug 8083) Applied patch for sk localisation
* Add a backslash character to the edit token, to prevent edits via certain
  broken proxies that mangle such characters in form submissions
* (bug 7461) Allow overwriting pages using importTextFile.php
* (bug 7946) importTextFile.php doesn't perform pre-save transform
* (bug 8117) {{REVISIONTIMESTAMP}} showed weird default if $wgLocalTZoffset set;
  now uses current time for previews and if timestamp can't be loaded from DB
* {{REVISIONTIMESTAMP}} now uses site local timezone instead of user timezone
  to ensure consistent behavior
* {{REVISIONTIMESTAMP}} and friends should now work on non-MySQL backends
* (bug 7671) Observe canonical media namespace prefix in Linker::formatComment
* Added js variable wgCurRevisionId to the output
* (bug 8141) Cleanup of Parser::doTableStuff, patch by AzaTht
* (bug 8042) Make miser mode caching limits settable via $wgQueryCacheLimit
  instead of hardcoding to 1000
* Enable QueryPage classes to override list formatting
* (bug 5485) Show number of intervening revisions in diff view
* (bug 8100) Fix XHTML validity in Taiwanese localization
* Added redirect to section feature. Use it wisely.
* Added a configuration variable allowing the "break out of framesets" feature
  to be switched on and off ($wgBreakFrames). Off by default.
* Allow Xml::check() $attribs parameter to override 'value' attribute
* DB schema change: added two columns (rc_old_len and rc_new_len) to the recentchanges table to store
  the text lengths before and after the edit
* (bug 1085) Made Special:Recentchanges show the character difference between the changed revisions
* Removed a redundant <strong> tag from diff pages that was causing display issues for some users
* (bug 8203) The keyboard shortcut for "log out" was removed, because users were pressing it
  when they intended to press the shortcut for "preview".
* (bug 8148) Handle non-removable output buffers gracefully when cleaning
  buffers for HTTP 304 responses, StreamFile, and Special:Export.
  Duplicated code merged into wfResetOutputBuffers() and wfClearOutputBuffers()
* Special:AllPages : 'next page' link now point to the first title of the next
  chunk instead of pointing to the last title of current chunk.
* (bug 4673) Special:AllPages : add a 'previous' link (new message 'prevpage')
* (bug 8121) wfRandom() was not between 0 and 1
* Add static method Parser::createAssocArgs($args), so parser functions can
  use the same code to parse arguments as the templates do.
* Change behavior of logins using the temporary e-mailed password (as stored
  in user_newpassword hash field). Instead of just logging in silently and
  leaving the previous user_password field in place indefinitely, the user
  is now prompted to set a new password.

  The password-changing form is at Special:Resetpass; currently it's only
  usable for changing from the temporary password during login, but it
  could perhaps be generalized, replacing the subform in preferences.

  Once the new password is set successfully, the temporary password is wiped
  so it cannot be used to login a second time, and the login process
  is completed.
* Suppress 'mail new password' button on login form if $wgAuth forbids
  changing user passwords; it wouldn't work very well...
* Consolidate password length checks and $wgAuth manipulation into
  User::setPassword() to avoid duplicate code in different places
  that set passwords.
* User::setPassword() now throws PasswordError exceptions if the password
  is illegal or cannot be set via $wgAuth. These can be caught and a human-
  readable error message displayed by UI code.
* Added Title::isSubpage()
* (bug 8241) Don't consider user pages of User:Foo.css to be CSS subpages
* Set an explicit class on framed thumbnail inner divs and images, changed some
  CSS to use these instead of using descendent selectors.
* Accept null parameter to User::setPassword() as indicating the password
  field should be cleared to an unusable state. Login will only be possible
  after the password is reset, for instance by e-mail.
* (bug 6394) Invalidate the password set for "by e-mail" account creations
  to avoid accidental empty password creations.
* Made the show change size function work on page moves, page creations, and
  log entries. Also fixed it in the javascript recentchanges.
* (bug 8239) correctly get 50 new contributions when clicking '(50 next)'
* (bug 2259) Fix old regression where e-mail addresses were no longer
  confirmed on login with mailed password.
* Add a notification about the confirmation mail sent during account
  creation, so people don't immediately go off to request a second one.
* Add a warning on Special:Confirmemail if a code was already sent and has
  not yet expired.
* Add user_editcount field to provide data for heuristics on account use.
  Incremented on edit, with lazy initialization from past revision data.
  Can batch-initialize with maintenance/initEditCount.php (not yet friendly
  to replication environments, this will do all accounts in one query).
* Allow raw SQL subsections in Database::update() SET portion as well as
  for WHERE portion. Handy for increments and such.
* User::getOption now accept a default value to override default user values
  this makes it consistent with WebRequest::get* methods. Corrected code in
  various places accordingly.
* (bug 8264) Fix JavaScript global vars for XHTML mode
* Make $wgSiteNotice value wikitext again, for consistency with editable
  MediaWiki:Sitenotice and MediaWiki:Anonnotice.
* (bug 8044) When redirecting from the canonical name of the special page
  to the localised one, parameters/subpages are omitted
* (bug 8164) Special:Booksources should use GET for form submission
* Rewrite Special:Booksources to clean up interface and remove redundant code
* (bug 7925) Change Special:Allmessages message name filter javascript to be
  a bit more responsive and easier on the CPU
* (bug 4488) Support watching pages on deletion; introduces new user preference
* Minor restructuring of Special:Preferences; "watch pages I edit" and "watch
  pages I create" options now accessible under "Watchlist" options
* (bug 8153) <nowiki> doesn't work in site notice
* (bug 6690) wfMsgNoTrans() transforms messages
* (bug 8274) Wrap edit tools in a <div> with a specified class
* Detect PHP 5.0.x 64-bit bug and abort in WebStart.php; too many things break
  mysteriously otherwise (detection code copied from install-utils.inc)
* (bug 8295) Change handling of <center> tags in doBlockLevels() to match that
  of <div>
* (bug 8110) Make magic ISBN linking stricter: only match ten-digit sequences
  (plus optional ISBN-13 prefix) with no immediately following alphanumeric
  character, disallow multiple consecutive internal redirects
* (bug 2785) Accept optional colon prefix in links when formatting comments
* Don't show "you can view and copy the source of this page" message for
  pages which don't exist
* (bug 8310) Blank line added to top of 'post' when page is blank
* (bug 8109) Template parameters ignored in "recentchangestext"
* Gracefully skip redirect-to-fragment on WebKit versions less than 420;
  it messes up on current versions of Safari but is ok in the latest
  nightlies. Checking the version number will allow it to automatically
  work when new releases of Safari appear.
* Fix regression in thumb styles; size and padding didn't match with
  new arrangement.
* (bug 8333) Fix quick user data update on login password change on
  replication database setups. User data is now pulled from master
  instead of slave in User::loadFromDatabase, ensuring that it is
  fresh and accurate when read and then saved back into cache.
  This was breaking with the Special:Rename operation which
  automatically logs the user in with the new password after changing
  it; pulling from slave meant the record was often not the updated
  one.
* (bug 8335) Set image width to the first valid parameter found.
* (bug 8350) Fix watchlist viewing bug when using Postgres.
* (bug 6603) When warning about invalid file extensions, output the bit
  of the extension we actually checked
* (bug 7669) Drop defaults on BLOB/TEXT columns for better compatibility
  with MySQL's strict mode, often enabled by the Windows installer.
  The defaults are ignored anyway when strict mode is off...
* (bug 7685) Use explicit values for ar_text and ar_flags when deleting,
  for better compatibility with MySQL's strict mode
* Update default interwiki values to reflect changed location of ursine:
* (bug 5411) Remove autopatrol preference
* Users who have the "autopatrol" permission will have their edits marked as
  patrolled automatically
* Users who do not have the "autopatrol" permission will no longer be able
  to mark their own edits as patrolled
* Introduce 'PingLimiter' hook; see docs/hooks.txt for more information
* (bug 532) Tweaked alt text for some interface messages
* (bug 8231) Gave useful alt text to the main <img> on image pages
* (bug 371) Remove alt text for "Enlarge" icon on thumbnails
* Initialize user_editcount to 0 instead of NULL for newly created accounts
* (bug 3696) Strip LRM and RLM characters from titles to work around the
  problem some people have where titles cut-and-pasted from lists include
  the bidi override characters appended to the lists.
  A more thorough blacklist for forbidden and translatable characters would
  be wise, though, as might a cleaner method for the lists in the first place.
* Fix regression in email password resets on read-restricted sites
* Set tabindex on fields in deletion form so you don't have to tab through
  the links in the sitenotice
* (bug 8271) Show full time and date on viewer for individual deleted
  revisions
* (bug 8214) Output file size limit and actual file size in appropriate units
  on Special:Upload
* (bug 8016) Purge objectcache table during upgrade processes - use the --nopurge
  option to prevent this when running maintenance/update.php
* (bug 7612) Remove superfluous link to Special:Categories from result items
  on Special:Mostcategories
* {{PLURAL:}} now handles formatted numbers correctly
* (bug 8331) Added the change size value to watchlists; therefore made
  watchlists use RecentChange::newFromRow() instead of newFromCurRow()
* (bug 8351) Fix undo for simple reverts
* (bug 6856) User::clearNotification() does not respect read-only mode
* (bug 6853) Use a checkbox on the installer form to indicate that a superuser
  account should be used; this is clearer than the old check which relied on
  the password never being an obscure value
* Remove old unused watchlist cache, which was a leftover from the old schema
  where watchlists were more expensive to generate
* Minor cosmetic changes to Special:Userrights
* Added wgCanonicalSpecialPageName to JavaScript variables
* Fix image deleting when using Postgres.
* Output both source and destination titles in maintenance/moveBatch.php
* Added basic parser tests for language variants
* Enable selflinks and categories to be written in some of the language variants
* Prevent conversion of JavaScript code in language variants
* Output software version number in maintenance/parserTests.php
* (bug 7169) Use Ajax to watch/unwatch articles if enabled
* Make variant table caching a little more robust, using main language code
  in cache key. Probably this is still a bit wonky, though. Was breaking
  parser tests when Chinese tables were getting loaded into Serbian code.
* (bug 8380) Be nicer about blank lines in deleteBatch.php
* (bug 8401) Fix regression in SORBS lookup for some DNS setups
* Use raw file descriptor in posix_isatty() check to avoid warning on
  Linux systems with at least some versions of PHP
* (bug 5908) Allow overriding the default category sort key for all items on
  a page using {{DEFAULTSORT}}
* (bug 6449) Throw a more definitive error message when installation fails
  due to an invalid database name
* (bug 5827) Use full text for option link labels on Special:Watchlist
* (bug 8018) Allow hiding minor edits from the watchlist
* (bug 8427) MonoBook RTL IE 7.0 tweaks failed when sidebar's navigation
  section is renamed; no longer relies on first section name
* Stabilize client-side table sorting even if the underlying Javascript sort()
  implementation is unstable
* Add hook for extensions to add user information to the panel in preferences,
  next to the user name and ID.
* (bug 8392) Display protection status of transcluded pages in the edit page
  template list. Patch by Fyren, with i18n naming tweak.
* Fix for interwiki transclusion where target wiki uses query string for title
* Resolve namespaces on interwiki Title objects using canonical namespace names
  if possible (should not happen, though, outside interwiki transclusion... and
  maybe not even then, but it does)
* (bug 8447) Fix SQL typo breaking non-default $wgHitcounterUpdateFreq
* Do not allow previews of deleted images to be cached
* Add global variable $wgDefaultLanguageVariant used to set the default language
  variant of a wiki to something different than the main language code
* Add 'variant' option to parserTests - runs test with the given variant as
  preferred, utilize it for more parser tests of language variants code
* (bug 6503) Fix bug that stopped certain irrelevant links from being hidden
  for printing
* Avoid PHP warning in Creative Commons metadata when a creative commons
  license is not actually set up
* (bug 8463) Don't print external link icons for Monobook
* (bug 8461) Support watching pages on move
* (bug 8041) Work around bug with debug_backtrace when Zend Optimizer is
  loaded by skipping the function. Use wfDebugBacktrace() wrapper function.
* Reduce config file clutter by setting various script and upload paths
  based on $IP or $wgScriptPath in Setup.php. They can still be explicitly
  overridden in LocalSettings.php if desired...
* Attempt to detect redirect loops for the canonical title redirect, and
  give some hints to the poor confused administrator.
* Introduce new flag 'R' - raw output for language variant escape tags
* Advise users when updates for a query page have been disabled using
  $wgDisableQueryPageUpdate
* (bug 8413) Improve comments for $wgNamespaceRobotPolicies
* (bug 8330) Show "bytes" suffix on recent changes diff counter
  optionally... if set in rc-changes-size message (default empty for now)
* (bug 8489) Support basic links in <gallery> caption attribute
* (bug 8485) Correct Lingala number formatting
* The MediaWiki namespace is no longer pre-filled with default messages on
  install. All default messages will be removed from the MediaWiki namespace
  on upgrade.
* Recentchanges RSS/Atom feeds now use a separate message for the description
  to avoid cluttering it with useless wiki formatting
* (bug 8417) Handle EXIF unknown dates
* (bug 8372) Return nothing on empty <math> tags.
* New maintenance script to show the cached statistics : showStats.php.
* Count deleted edits when regenerating total edits in maintenance/initStats.php
* (bug 3706) Allow users to be exempted from IP blocks. The ipblock-exempt permission
  key has been added to enable this behaviour, by default assigned to sysops.
* (bug 7948) importDump.php now warn that Recentchanges need to be rebuild.
* (bug 7667) allow XHTML namespaces customization
* (bug 8531) Correct local name of Lingála (patch by Raymond)
* Fix regression with default lock file and cache directories; threw visible
  warning with open_basedir


== 1.8 Compatibility changes ==

=== Zend Optimizer ===

A bug in some versions of PHP 5 and Zend Optimizer which was triggered under
MediaWiki 1.8.x has been worked around by disabling some internal debugging
features when Zend Optimizer is loaded. This should solve some common
"blank page" problems.

=== PHP 5.0 64-bit ===

MediaWiki now checks for a condition where PHP 5.0.x corrupts array data
on 64-bit systems and warns you to upgrade PHP to solve the problem. This
bug causes Special: pages to fail on affected systems under MediaWiki 1.8
and higher, and subtler data corruption on earlier versions.

The only known workaround is to upgrade PHP to 5.1 or later, which you
probably should do anyway for security reasons!

=== MySQL 5 ===

MediaWiki should now install and run correctly on MySQL 5.0 and higher when
MySQL's "strict mode" is enabled. (This is now the default for many Windows
installations, though it seems to remain off by default on Unix.)

This fixes errors about "cannot default default value for BLOB/TEXT fields".

=== ImageMagick ===

Note that ImageMagick older than 6.x may no longer work for image resizing
due to use of the -thumbnail option.


== 1.8 Behavior changes ==

=== Localized special pages ===

The names of Special: pages can now be localized, so links and URLs to them
are more legible in languages that aren't English.

Not all languages have included localized names yet.

=== E-mail password ===

Users are now required to set a new password for themselves when they first
log in with a newly generated e-mailed password.

Requesting passwords frequently is prevented to reduce abusive mailbombing.

=== Undo revision ===

An "undo" link now appears in diff view for easier reverting of older edits.
When GNU diff3 is available for edit conflict merging, this can make it much
easier to "undo" the changes of an older edit when there are surrounding
changes elsewhere in the page.

The changes must be manually reviewed and approved, as with conventional
full-revision reverts.

=== Blocking ===

User blocks can be set to disable the automatic blocking of IP addresses the
account logs in with.


== 1.8 Database changes ==

* new 'redirect' table stores data on page redirects
* new 'querycachetwo' table used for some cached special pages
* 'ipblocks' table adds 'ipb_enable_autoblock'
* 'recentchanges' table adds 'rc_old_len', 'rc_new_len' for size tracking
* 'user' table has added 'user_newpass_time' and 'user_editcount' fields
* some indexes have been updated on 'recentchanges'

== 1.8 Configuration changes ==

Several configuration options have changed since 1.8:

=== $wgEnableAPI ===

The experimental machine API interface is now enabled by default, read-only.
You can disable it by setting $wgEnableAPI = false; in LocalSettings.php.

=== $wgPathInfo ===

The use of PATH_INFO (the text after the script name in 'index.php/Blah')
is controlled by the $wgUsePathInfo setting. This is now explicitly disabled
for CGI, apache2filter, and ISAPI configurations of PHP, for more consistency
with the autodetection from the installer.

In some rarer configurations you may have to switch $wgUsePathInfo from false
to true or, perhaps, from true to false to make things work properly if bad
PATH_INFO data comes through the server.

The wiki now tries to detect this condition and should show you an error
message describing what to change instead of sending the browser into an
infinite redirect loop.

=== $wgScript and other path settings ===

The following configuration variables are now automatically set in Setup.php
if they are not overridden in LocalSettings.php:

from $wgScriptPath:
 + $wgScript
 |  \- $wgArticlePath
 + $wgRedirectScript
 + $wgStylePath
 + $wgUploadPath
    \- $wgLogo
     + $wgMathPath

from $IP:
 - $wgStyleDirectory
 + $wgUploadDirectory
   \- $wgMathDirectory
    + $wgTmpDirectory

Newly generated configuration files will by default include only $wgScriptPath
(hardcoded from the installer) and $IP (detected at runtime).

Old configuration files which specify all these values explicitly should
continue to work just fine, but if you use the defaults you can remove them
to reduce clutter.

=== $wgGroupPermissions ===

The sysop group now holds the "autopatrol" and "ipblock-exempt" rights by
default.

"autopatrol" replaces the preference for marking ones own edits patrolled
by default; users holding this permission will automatically have their
edits patrolled, while others cannot mark their own edits as patrolled
even if they have patrolling rights.

"ipblock-exempt" excludes the user from IP blocks; accounts which are blocked
explicitly by name will still be blocked, however. This is given to sysops
to minimize annoyance from accidental "collateral damage"; remember that a
sysop will be able to lift the block if they desire.

The bot group now holds the "nominornewtalk" right. A user with this right
will not trigger new message notifications when making minor edits to user
talk pages. This is meant to minimize annoyance from maintenance bot
processes.

=== $wgUseWatchlistCache ===

Watchlist caching has been removed. The feature was not maintained, and has
been unnecessary since switching to the 'recentchanges' database table
reduced server pressure for Wikipedia's watchlists.

=== $wgBreakFrames ===

MediaWiki in the past attempted to detect when it was embedded in a frameset
and "break out" of it, assuming it to be hostile.

This behavior is now disabled by default, but can be reenabled by setting
$wgBreakFrames to true in LocalSettings.php.


== 1.8 New settings ==

=== $wgVariantArticlePath ===

For languages with script variant support (Chinese, Serbian, and others),
it's possible to use alternate URL paths to select the variant for article
display, setting $wgVariantArticlePath.

Documentation for this setting would be useful.

=== $wgMaxMsgCacheEntrySize ===

The message cache can now skip items larger than a given size; this allows
it to better handle the primary caching case when large CSS and JS blobs are
present.

=== $wgStyleVersion ===

When making significant changes to skin stylesheets and JavaScript files,
you can append a string to this variable to tweak the generated URLs,
forcing newly rendered pages to bring in a fresh version despite server-
or browser-side caching.

Normally this will be set in the course of MediaWiki development, but
if doing development on a custom skin you may wish to poke it as well.

=== $wgRCShowChangedSize ===

Special:Recentchanges and Special:Watchlist now show the number of bytes
added or removed to an article to give an idea of the size of the edit.
This information was previously available only in the IRC update feeds.

To disable this site-wide, set $wgRCShowChangedSize to false.
(Individual users can suppress the data in custom CSS.)

Adjust $wgRCChangedSizeThreshold to trigger highlighting of particularly
large changes.

The formatting of the size figure can be adjusted through the
[[MediaWiki:Rc-change-size]] message.

=== $wgQueryCacheLimit ===

The number of rows stored for "expensive" special pages in miser mode
can now be adjusted up or down from the default 1000.

=== $wgDisableQueryPageUpdate ===

Individual "expensive" special pages can be skipped in processing by
updateSpecialPages if added to this list.

=== $wgSorbsUrl ===

The base hostname for the DNS-based proxy blacklist can now be overridden
when $wgEnableSorbs is set, to use a different blacklist instead of SORBS.
The blacklist would need to respond the same was as SORBS; any positive
response will be taken as a proxy.

=== $wgAjaxWatch ===

Experimental AJAX mode for the watch/unwatch tabs to execute inline.
Does not include the UI messages describing how to reach the watchlist,
so you may not want it on a general-audience site just yet.

=== $wgParserTestFiles ===

MediaWiki's parser test suite can now be expanded with additional test
files. Custom extensions can add their test files to this array, and
they will be run along with the main tests by maintenance/parserTests.php


== Changes since 1.7 ==

* Introduced AjaxResponse object, superceding AjaxCachePolicy
* Changes to sajax_do_call: optionally accept an element to fill instead of a
  callback function; take the target function or element as a third parameter;
  pass the full XMLHttpRequest object to the handler function, instead of just
  the resultText value; use HTTP response codes to report errors.
* (bug 6562) Removed unmaintained ParserXml.php for now
* History paging overlap bug fixed
* (bug 6586) Regression in "unblocked" subtitle
* Don't put empty-page message into view-source when page text is blank
* (bug 6587) Remove redundant "allnonarticles" message
* Block improvements: Allow blocks on anonymous users only. Optionally allow 
  or disallow account creation from blocked IP addresses. Prevent duplicate
  blocks. Fixed the problem of expiry and unblocking erroneously affecting
  multiple blocks. Fixed confusing lack of error message when a blocked user
  attempts to create an account. Fixed inefficiency of Special:Ipblocklist in 
  the presence of large numbers of blocks; added indexes and implemented an 
  indexed pager.
* (bug 6448) Allow filtering of Special:Newpages according to username
* (bug 6618) Improve permissions/error detection in Special:Lockdb
* Quick hack for extension testing: parser test doesn't create new message
  cache object.
* (bug 6299) Maintain parser's revision ID across recursive calls to fix
  {{REVISIONID}} when Cite extension is used
* (bug 6622) Removed deprecated function Image::newFromTitle
* (bug 6627) Fix regression in Special:Ipblocklist with table prefix
* Removed forced dereferencements (new() returns a reference in PHP5)
* Note about $wgUploadSizeWarning using byte
* (bug 6592) Add most viewed pages summary to Special:Statistics
* Pre-strip characters ignored in IDNs from URLs so they can't be used
  to break the blacklists for regular URLs
* Fix regression in blocking of user accounts
* (bug 6635) Fix regression searching for range blocks on Ipblocklist
* Fix regression searching Ipblocklist with ugly URLs
* (bug 6639) Use a consistent default for upload directories
* Preserve entered reason when reporting unconfirmed lock on Special:Lockdb
* (bug 6642) Don't offer to unlock the database when it isn't locked
* cleanupTitles.php changed from --dry-run option to --fix, so default
  behavior is now a non-invasive check as with namespaceDupes.php
* (bug 6660) Fix behaviour of EditPage::blockedPage() when the article does
  not exist; now doesn't show the source box if the user hasn't provided it
  (blocked mid-edit) and the page doesn't exist
* Improve default value of "blockedtext"
* (bug 6680) Added localisation for Dutch bookstore list (nl)
* Renamed maintainace script redundanttrans.php to unusedMessages.php - clearer usage
* Fix regression which allowed some blocked users to create additional accounts
* (bug 6657) Fix Hungarian linktrail
* (bug 6751) Fix preview of blanked section with edit on first preview option
* (bug 5456) Separate MediaWiki:Search into messages for both noun and verb,
  introduced 'MediaWiki:Searchbutton'
* 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.
* Fix regression in auto-set NS_PROJECT_TALK namespace
* Fix regression in ordering of namespaces
* (bug 6806, 6030) Added several global JS variables for article path, user name,
  page title, etc. 
* hooks registered with addOnloadHook are now called at the one of the html body
  by all skins.
* Split ajax aided search from core ajax framework. Use wgUseAjax to enable the
  framework and wgAjaxSearch to enable the suggest feature for the search box.
* Added experimental installer for extensions. 
  See maintenance/installExtension.php
* Added Tajic (tg) language file.
* (bug 6903) Added Cantonese localisation (zh-yue)
* Fix regression in Korean and Japanese date formatting (day of week)
* (bug 6919) Add English alias magic words for Tatar (tt) language file.
* (bug 6753) Fixed broken Kazakh linktrail (kk)
* (bug 6700) Added Kazakh language variants to Names.php
* (bug 6827) some i18n specific maintenance scripts fails after merge of localisation-work branch
* Throwed an exception for the deprecated functions OutputPage::sysopRequired and
  OutputPage::developerRequired - use OutputPage::permissionRequired instead.
* Removed the deprecated functions User::isSysop, User::isBureaucrat and User::isDeveloper -
  use User::isAllowed instead.
* (bug 769) OutputPage::permissionRequired() should suggest groups with the needed permission
* (bug 6971) Fix regression in Special:Export history view
* Revamped Special:Imagelist
* (bug 7000) updated MessagesPl.php
* (bug 6946) Fix unexpected behavior change with GET hits to Special:Export
* (bug 1866) Improve navigation on Special:Listusers; user now a starting
  point as with Special:Allpages, rather than a pure limit.
* Clean up tab order on Special:Blockip
* (bug 5969) Clean up tab order on Special:Userlogin forms
* (bug 3512) namespaceDupes now handles spaces and initial caps properly
* (bug 7037) Fix regression in login tab order
* (bug 7031) Report missing email on 'email password' instead of false success
* (bug 7010) Don't send email notifications for watched talk pages when user
  has selected to receive only updates for their own talk page
* Added {{CURRENTHOUR}}
* Added [[:Image:Foo.png]] style links to the pagelinks table
* Avoid duplicate revision imports with Special:Import
* (bug 7054) Validate email address before sending email confirmation message
* (bug 7061) Format title on "from (page)" links on Special:Allpages
* (bug 7044) Introduce "padleft" and "padright" colon functions
* Pass page title as parameters to "linkshere" and "nolinkshere" and update
  default message text
* Allows to upload from publicy accessible URL. Set $wgAllowCopyUploads = true ; in LocalSettings.php
  Limited to $wgMaxUploadSize (default:100MB); URL upload is limited to sysops by default, and displayed as a second line if appropriate
* (bug 832) Return to user page after emailing a user
* (bug 366) Add local-system-timezone equivalents for date/time variables
* (bug 7109) Fix Atom feed version number in header links
* (bug 7075) List registered parser function hooks on Special:Version
* (bug 7059) Introduce "anchorencode" colon function
* Include SVN revision number in {{CURRENTVERSION}} output, where applicable
* Fix bug in wfRunHooks which caused corruption of objects in the hook list
* (bug 4979) Use simplified email addresses when running on Windows
* (bug 4434) Show block log fragment on Special:Blockip
* [[MediaWiki:Disambiguationspage]] may optionally contain wiki links to any number 
  of disambiguation templates.
* [[Special:Disambiguations]] now shows pages in NS:0 that link to any pages that embed
  any of the templates listed at [[MediaWiki:Disambiguationspage]].
* Fix formatting of titles on Special:Undelete
* (bug 7026) Fix action=raw&templates=expand
* (bug 6976) Add namespace and direction classes to classic skins
* (bug 7144) Don't "return to main" from OutputPage::loginToUse() if the the user can't
  read the main page in the first place
* (bug 7188) Fix minor borkage in HTMLForm
* (bug 6675) Replaced message 'watchthis' with new message 'watchthisupload in Special:Upload
* Add a quickie script dumpSisterSites.php for generating a page list in the
  format for WSR-1 SisterSites support
* (bug 7223) Monobook.js is used for site content, should not be localized
* Set default disabled values for DjVu render options
* Added Xml::option() for generating <option>s easily
* Localized page numbers in drop-down for DjVu page selection
* Fixed linktrail for vi
* (bug 6893) "Call to a member function exists() on a non-object" on trackback.php with bad input
* (bug 6886) PHP undefined offset on bad input to Special:Revisiondelete
* (bug 6887) PHP error for call to getId() on bad input to Special:Revisiondelete
* (bug 6888) PHP error for call to getTimestamp() on bad input to Special:Revisiondelete
* (bug 7252) Use dvipng support in texvc math rastrization. dvipng is required if texvc is rebuilt.
* (bug 7279) Use wfBaseName in place of basename() in more places
* Clear newtalk marker on diff links with explicit current revision number
* (bug 7064) Replace hard-coded empty message checks with wfEmptyMsg calls
* (bug 6777) Remove some PHP 4 compat cruft
* Add --user, --comment, and --license options to importImages.php
* (bug 6216) The immobile namespace message does not mention the source page
* (bug 7299) Normalize username filter on Special:Newpages
* (bug 7306) RTL text in an LTR wiki breaks appearance of Special:Recentchanges
* (bug 7312) Don't emit SET NAMES utf8 if connection failed
* (bug 7305) Proper compare for bot check on RC notify, should fix overrides
  that force edits by non-bot users to bot mode
* Set Vary: Cookie on action=raw generated CSS and JS, to ensure that user
  preferences don't get stuck in proxy caches for other people
* (bug 7324) Fix error message for failure of Database::sourceFile()
* (bug 7309) Plurals: use singular form for zero in French and Brazilian Portuguese
* Add page_no_title_convert field to support language variant conversion
  for page titles which shouldn't be converted on display/linking
* Lazy extraction of text chunks in Revision objects, may reduce hits to
  external storage when actual text content is not used
* Added experimental $wgRevisionCacheExpiry to cache extracted revision text
  in $wgMemc, to further reduce hits to external storage.
  Set to 0 (disabled) by default.
* Minor changes to the installer. 
* Remove ":" for 'youremail' and 'yourrealname' in includes/templates/Userlogin.php
  so that ":" could be used in i18n for Special:Preferences (like 'username' and 'uid').
* Fix layout for Special:Preferences->Date and Time (position for 'timezonetext').
* Updates to language variant code for Serbian et al
* (bug 6756) Enabling RTL direction for kk-cn
* (bug 6701) Kazakh language variants in MessagesEn.php
* (bug 7335) SVN revision check in Special:Version fails on SVN 1.4 working copy
* (bug 6518) Replaced 'lastmodified' with 'lastmodifiedat' and 'lastmodifiedby' with 'lastmodifiedatby'
  with seperated parameters for date and time to allow better localisation. Updated all message files
  to display the old format for compatibility.
* (bug 7357) Make supposedly static methods of Skin actually static
* Added info text to Special:Deadendpages and Special:Lonelypages
* Fix regression in cachability of generated CSS and JS for MonoBook skin,
  while avoiding clobbering of different users' cached data
* (bug 6849) Block @ from usernames; interferes with multi-database tools and
  was meant to be banned years ago... For now existing accounts will not be
  prevented fromm login.
* (bug 6092) Introduce magic words {{REVISIONDAY}}, {{REVISIONDAY2}, {{REVISIONMONTH}},
  {{REVISIONYEAR}} and {{REVISIONTIMESTAMP}} 
* (bug 7425) Preceeding whitespace in [[...]] breaks subpages
* Try to reconnect after transitory database errors in dumpTextPass.php
* (bug 6023) Fixed mismatch of 0/NULL for wl_notificationtimestamp; now notification
  mails are working after 'Mark all pages visited' button on Special:Watchlist is clicked
* Made {{INT:}} a core parser function instead of a special case. The syntax 
  and behaviour is largely unchanged. 
* (bug 7448) Fixing the native name for Ewe (ee)
* (bug 6864) Replace message 'editing' with new message 'editinguser' in Special:Userrights
  to allow better localisation
* Add '*-summary' for special pages to MessagesEn.php to allow customizing/translation
  directly through Special:Allmessages
* (bug 6130, bug 5818) Replaced message 'go'  with the new message 'searcharticle' in skins
  to allow better localisation
* Add + to $wgLegalTitleChars by default. Some sites may have occasional
  problems with hard-to-reach pages, but it should be less trouble than
  "I can't import dumps from Wikipedia" complaints
* (bug 7460) Revert broken patch for bug 7226 which slows down
  Special:Allmessages by a factor of 16
* Committed a bunch of live hacks from Wikimedia servers
* (bug 6889) PHP notices in thumb.php with missing params
* Cleaner error behavior on thumb.php with invalid page selection
* (bug 6617) Validate timestamps on Special:Undelete
* Do fewer unnecessary full writes of user rows; only update user_touched
  for watch/unwatch, group membership change, and login operations
* Restructured the languages directory, to avoid problems when people 
  untar MW 1.8 over the top of a 1.7 installation.  
* (bug 6890) SQL query error on bad input to Pager lists 
  due to negative LIMIT clause, caused by integer wraparound.
* Fixed various bugs related to table prefixes, especially the interaction
  between table prefixes and memcached, which was formerly completely broken.
* (bug 7004) PHP iconv() notice on bad password input to Special:Userlogin.
* (bug 6826) Extend pre-save transform context link ("pipe trick")
  syntax to pages with commas in title
* Use ImageMagick -thumbnail option instead of -resize to avoid including
  excessive metadata in thumbs (requires ImageMagick 6.0.0 or newer).
* (bug 7499) Corrections to Swedish talk namespace names
* (bug 7508) Added option to compress HTML pages by dumpHTML.php
* (bug 7519) Add plural in SpecialWatchlist
* (bug 7459) Magic word variables are always case sensitive
* Replaced {{SERVER}}{{localurl:xxx}} with {{fullurl:xxx}} in localisation files
* Fix regression in Special:Watchlist text header
* (bug 7510) Update article counts etc on undelete
* (bug 7520) Update article counts on XML import
* (bug 7526) Make $wgDefaultUserOptions work again
* (bug 7472) Localize Help namespace for Basque
* (bug 7529) Including a non-existent category in an article places that article in the category
* (bug 4528) Lack of important LaTeX functions stackrel, rightleftharpoon
* (bug 6721) missing symbols ulcorner, urcorner, llcorner, lrcorner, twoheadrightarrow, twoheadleftarrow
* (bug 7367) Hyphens sometimes erroneously appended to equations when not converted to PNG
* Add "title" to the opensearch link to allow automatic adding of the search engine in Firefox 2
* (bug 7537) Add php5 to $wgFileBlacklist
* (bug 6929) Restore AutoAuthenticate hook


== Changes since 1.6 ==

* (bug 5458) Fix double-URL encoding in block log link in contribs and contribs
  link in block log
* (bug 5462) Bogus missing patch warning in updater
* (bug 5461) Use of deprecated "showhideminor" in Special:Recentchangeslinked
* PHP warning when allow_call_time_pass_reference is off
* Update to Finnish localization
* (bug 5467) Link to page histories in watchlist edit mode
* Further additions to Hebrew localisation
* (bug 5476) Invalid xhtml in German localization
* (bug 5479) Id translation for preferences tabs caption
* (bug 5493) Id translation for special pages
* Added skinname and style path parameters to CBT version of MonoBook
* Include subversion revision number in Special:Version if available
* (bug 5344) Fix regression that broke slashes in extension tag parameters
* Improve Special:Log performance on big log sets
* (bug 5507) Changed mediawiki:logouttext from plain to wikitext
* (bug 4760) Prevent creation of entries in protection log when protection
  levels haven't changed
* (bug 861) Show page protection/unprotection events in histories
* (bug 5499) Don't clear the tag strip state when asked not to clear state.
  Fixes regression with use of <ref> in a template breaking <nowiki> etc.
* Minor improvements to English language files
* Display the anon talk page info message on anon talk pages again
  (moved outside the parser cache)
* Optional {{DISPLAYTITLE|title with markup}} magic word
  Deactivated by default, set "$wgAllowDisplayTitle = true" in LocalSettings.php
  to activate
* Cleaned SpecialContributions a bit
* Added a table to track interlanguage links
* (bug 5544) Fix redirect arrow in Special:Listredirects for right-to-left
  languages
* Replace "doubleredirectsarrow" with a content language check that picks the
  appropriate arrow
* (bug 5537) Add stub language file for Samogitian (bat-smg); inherits
  Lithuanian (lt)
* Don't force edit summaries when a user is editing their own user/talk page
* (bug 5510) Warning produced when using {{SUBPAGENAME}} in some namespaces
* (bug 385) Installer support for PostgreSQL, fixes for PG compatibility
* PersistentObject removed; it doesn't do anything and was broken besides.
  All extensions using it have been corrected.
* Propagate ISBN number for Booksources in LanguageNo.php
* (bug 5548) Improvements to Indonesian localisation [patch: Ivan Lanin]
* Add TALKSPACE, SUBJECTSPACE, TALKPAGENAME, SUBJECTPAGENAME (and encoded forms
  for all) magic words
* (bug 5403) Fix Special:Newpages RSS/Atom feeds
* Reject malformed addresses in X-Forwarded-For entries
* (bug 3359) Add hooks on completion of file upload
* (bug 5559) Improve detection of ImageMagick [patch: Greg Turnquist]
* (bug 5475) New pages feeds ignore "limit" argument
* (bug 5184) CSS misapplied to elements in Special:Allmessages due to
  conflicting anchor identifiers
* (bug 5519) Allow sidebar cache to be disabled; disable it by default.
* Maintenance script to import the contents of a text file into a wiki page
* Add $wgReservedUsernames configuration directive to block account creation/use
* (bug 5576) Remove debugging hack in session check
* (bug 5426) Lowercase treatment of titles in rights log leads to broken links
  on Special:Log
* Minor improvements to French localisation files
* (bug 5181) Update "nogomatch" for Slovak
* (bug 5594) Id translation up to # Login and logout pages section
* (bug 5536) Use content language for editing help link
* Improvements to German localisation files
* (bug 5570) Problems using <special page>/parameter link form for long titles
* (bug 3884) Add $user parameter to AddNewUser hook, call it for by-email 
  registrations as well as self-registrations.
* (bug 4327) Report age of cached data sets in query pages
* (bug 4662) Fix Safari check in wikibits.js
* (bug 4663) Edit toolbar enabled in compatible versions of Safari
* (bug 5572) Edit toolbar enabled in compatible versions of Konqueror (3.5+)
* (bug 5235) Edit toolbar tooltips no longer show JavaScript junk in Opera
* Edit toolbar now works in pure XHTML mode (application/xhtml+xml)
* Add watchlist clear function to allow quick purging of all items
* (bug 5625) Additional namespace translations for Welsh
* Add meta tag and JavaScript variables to cached special pages which provides
  the timestamp of the last update, in YYYYMMDDHHMMSS format.
* (bug 5628) More translations for MessagesHr.php
* (bug 5595) Localisation for Bosnian language (bs)
* (bug 2910) Default view preferences for watchlists
* Add "hide bot edits from the watchlist" user preference
* (bug 5250) Introduce Special:Unusedtemplates
* Add user preference setting for an extended watchlist, showing all recent 
  edits up to a certain edit, and not just the latest edit..
* Made MessageRo.php more general
* (bug 5640) Indonesian localisation improvements
* (bug 5592) Actions are logged with the default language for the
   wiki, not the language of the user performing the operation.
* (bug 5644) Error in LanguageBs.php file
* (bug 5646) Compare for identical types in wfElement()
* (bug 5472) Language::userAdjust()->minDiff not initialized on else condition
* (bug 5386) LanguageMk.php: updated namespaces translations
* (bug 5422) Stub for Romani (rmy) language which extends ro
* Fix linktrail for LanguageSr
* (bug 5664) Fix Bosnian linktrail
* (bug 3825) Namespace filtering on Special:Newpages
* (bug 1922) When Special:Wantedpages is cached, mark links to pages
  which have since been created
* (bug 5659) Change grammar hacks for Bosnian Wikimedia namespaces.
  This sort of special casing should be removed and fixed properly.
* Remove useless whitespace from Special:Brokenredirects header
* Treat "allmessagesnotsupporteddb" as wikitext when echoing; change default
  text
* (bug 5497) Regression in HTML normalization in 1.6 (unclosed <li>,<dd>,<dt>)
* (bug 5709) Allow customisation of separator for categories
* (bug 5684) Introduce Special:Randomredirect
* (bug 5611) Add a name attribute to the text box containing source text in
  read-only pages
* Indicate when a protected page is an interface message ("protectedinterface")
* (bug 4259) Indicate when a protected page being edited is an interface message
  ("editinginterface")
* (bug 4834) Fix XHTML output when using $wgMaxTocLevel
* Pass login link to "whitelistedittext" containing 'returnto' parameter
* (bug 5728): mVersion missing from User::__sleep() leading to constant cache
  miss
* Updated maintenance/transstat.php so it can show duplicate messages
* Improvements to update scripts; print out the version, check for superuser
  credentials before attempting a connection, and produce a friendlier error if
  the connection fails
* (bug 5005) Fix XHTML <gallery> output.
* (bug 5315) "Expires: -1" HTTP header made strictly valid (using 1970 date).
* (bug 4825) note in DefaultSettings.php about 'profiling' table creation
* Remove unneeded extra whitespace at top of Special:Categories
* (bug 5679) time units are now using local numerals
* (bug 5751) Updates to Portuguese localisation files
* (bug 5741) Introduce {{NUMBEROFUSERS}} magic word
* (bug 93) <nowiki> tags and tildes in templates
* The returnto parameter is now actually used by SpecialUserlogin.php
* Parser can now know that it is parsing an interface message
* (bug 4737) MediaWiki:Viewcount supports {{PLURAL}} now
* Fix bug in wfMsgExt under PHP 5.1.2
* (bug 5761) Project talk namespace broken in Xal, Os, Udm and Cv
* Rewrite reassignEdits script to be more efficient; support optional updates to
  recent changes table; add reporting and silent modes
* Cleaned up formatNum usage in langfiles
* (bug 5716) Warn when a user tries to upload a file which was previously
  deleted
* (bug 5565) Add a class attribute to the table on Special:Allpages
* "lang=xx" option for parser test cases to set content language
* (bug 5764) Friulian translation updated
* (bug 5757) Fix premature cutoff in LanguageConverter with extra end markers
* (bug 5516) Show appropriate "return to" link on blocked page
* (bug 5377) Do not auto-login when creating an account as another user
* (bug 5284) Special redirect pages should remember parameters
* Suppress 7za output on dumpBackup
* (bug 5338) Reject extra initial colons in title
* (bug 5487) Escape self-closed HTML pair tags
* Add "raw suffix" magic word for some magic words, e.g. {{NUMBEROFUSERS|R}}
  will produce a count minus formatting
* Fix Parser::cleanSig() to use Parser::startExternalParse() and choose an
  appropriate output format given the scope of the clean
* (bug 5593) Change "bureaucrat log" to "rights log"
* Show a boilerplate "(none)" in place of a blank within the log action text for
  user rights
* (bug 137) Commented out translations for copyrightwarning which mention GNU FDL
* (bug 5723) Don't count pages linked to from the MediaWiki namespace as "wanted"
* (bug 5696) Add a third parameter, $3, to "rcnote", passing the current time
  formatted according to the current user's settings
* (bug 5780) Thousands and decimal separators for Norwegian
* Updated initStats maintenance script
* (bug 5767) Fix date formats in Vietnamese locale
* (bug 361) URL in URL, they were almost fixed. Now they are.
* (bug 4876) Add __NEWSECTIONLINK__ magic word to force the "new section" link/tab to
  show up on specific pages on demand
* Bidi-aid on list pages
* (bug 5782) Allow entries in the bad image list to use canonical namespace names
* (bug 5789) Treat "loginreqpagetext" as wikitext
* Sanitizer: now handles nested <li> in <ul> or <ol>
* (bug 5796) We require MySQL >=4.0.14
* Add 'EmailConfirmed' hook
* New findhooks.php script to find undocumented hooks.
* Silently ignore errors on profiling table update.
* (bug 5801) Correct handling of underscores in Special:Listusers
* Clean up Special:Listusers; add an "(all)" label to the group selection box
* (bug 5812) Use appropriate link colour in Special:Mostlinked
* (bug 5802) {{CURRENTMONTHNAME}} variable broken in Vietnamese locale
* (bug 5817) Appropriate handling for Special:Recentchangeslinked where the target
  page doesn't exist
* Special:Randompage now additionally accepts English namespace name as parameter
* (bug 2981) Really fixed linktrail for Tamil (ta)
* Disallow substituting Special pages when included into a page
* (bug 5587) Clean up the languages from references to the Groups special page
* Added new group-X and group-X-member messages
* Rewritten removeUnusedAccounts to be more efficient, print names of inactive
  accounts
* Redirect Special:Userlist to Special:Listusers
* Introduce $wgAllowTitlesInSVG, which allows the <title> attribute in uploaded files
  bearing the image/svg MIME type. Disabled by default due to the vast majority of
  web servers being hideously misconfigured. See DefaultSettings.php for more details.
* Changed default LocalSettings.php to append the previous include path when setting it
* (bug 5837) Use "members" for the value descriptor in Special:Categories,
  Special:Wantedcategories and Special:Mostlinkedcategories.
* (bug 3309) Allow comments when undeleting pages
* Clean up Special:Undelete a bit
* (bug 5805) messages nbytes, ncategories can now use {{plural:}}
* Clean up Special:Imagelist a bit
* (bug 5838) Namespace names for Nds-NL
* (bug 5749) Added Tyvan language files
* (bug 5791) Fix SQL syntax in Special:BrokenRedirects, was causing incorrect data to show
* (bug 5839) Prevent access to Special:Confirmemail for logged-out users
* (bug 5853) Update for Portuguese messages (pt)
* (bug 5851) Use Cyrillic for Kirghiz language name
* (bug 5841) Allow the 'EditFilter' hook to return a non-fatal error message
* (bug 5846) Link to individual group description pages in Special:Listusers
* (bug 5857) Update for German localisation (de)
* (bug 5858) Update for Russian language (ru)
* (bug 5860) Update for Indonesian language (id)
* (bug 1120) Update for Czech language (Cs)
* Added many missing formatNum calls
* Added grammar function to Belarusian (be)
* (bug 5819) Add 'PersonalUrls' hook
* (bug 5862) Update of Belarusian language (be)
* (bug 5886) Update for Portuguese messages (pt)
* (bug 5586) <gallery> treated text as links
* (bug 5878) Update for Indonesian language (id)
* (bug 5697) Update for Malay language (ms)
* (bug 5890) Update for German language (de)
* (bug 5889) Name for Sindhi language should appear as سنڌي
* --force-normal parameter on dump scripts to force check for ICU extension
* (bug 5895) Update for Dutch language (nl)
* (bug 5891) Linktrail for Polish language (pl)
* User::isBureaucrat , User::isDeveloper , User::isSysop deprecated in
  v1.6 now die with a backtrace. They will be removed in v1.8
* dumpTextPass now skips goes to database for entries that were blank in the
  previous dump, as this may indicate a broken dump.
* dumpTextPass progress includes percentage of items prefetched
* dumpTextPass can now use 7zip files for prefetch
* (bug 5915) Update to Indonesian localisation (id)
* (bug 5913) Update for German localisation (de)
* (bug 5905) Plural support for Bosnian localisation (bs)
* Groups which won't hit the rate limiter now configurable with
  $wgRateLimitsExcludedGroups
* (bug 5806) {{plural:}} support instead of "twin" MediaWiki messages
* (bug 5931) Update for Polish language (pl)
* Ignore the user and user talk namespaces on Special:Wantedpages
* Introduce NUMBEROFPAGES magic word
* (bug 5833) Introduce CURRENTVERSION magic word
* (bug 5370) Allow throttling of password reminder requests with the rate limiter
* (bug 5683) Respect parser output marked as uncacheable when saving
* (bug 5918) Links autonumbering now work for all defined protocols
* (bug 5935) Improvement to German localisation (de)
* (bug 5937) Register links from gallery captions with the parent parser output
  object so that link tables receive those updates too
* (bug 5845) Introduce BASEPAGENAME and BASEPAGENAMEE magic words
* (bug 5941) Use content language when getting the administrator page title for
  Special:Statistics
* (bug 5949) Update to Indonesian localisation (id)
* (bug 5862) Update of Belarusian translation (be)
* (bug 5950) Improvements to French localisation
* (bug 5805) {{plural:}} support for counters in some special pages
* (bug 5952) Improvement to German localisation (de)
* Rename conflicting metadata help message to "metadata_help" (was "metadata")
  and treat it as wiki text
* Improve preferences input filtering
* Maintenance script to import multiple files into the wiki
* (bug 5957) Update for Hebrew language (he)
* (bug 5962) Update for Italian language (it)
* (bug 5961) Update for Portuguese localisation (pt)
* (bug 5849) Remove some hard-coded references to "Wikipedia" in messages
* (bug 5967) Improvement to German localisation (de)
* (bug 5962) Update for Italian language (it)
* Suppress images in galleries which appear on the bad image list (when rendering
  for a wiki page; galleries in special pages and categories are unaffected)
* Maintenance script to remove orphaned revisions from the database
* (bug 5991) Update for Russian language (ru)
* (bug 6001) PAGENAMEE and FULLPAGENAMEE don't work in FULLURL and LOCALURL magic
  words
* (bug 5958) Switch Uzbek language name to use latin script
* (bug 839) Add URLENCODE magic word
* (bug 6004) Update for Polish language (pl)
* (bug 5971) Improvement to German localisation (de)
* (bug 4873) Don't overwrite the subtitle navigation when viewing a redirect page
  that isn't current
* (bug 2203) Namespace updates for Thai
* Fix breakage in parser test suite which caused incorrect reporting of the failure of
  {{NUMBEROFFILES}}. Now initialises the site_stats table with some dumb data. Updated
  the expected output for {{NUMBEROFARTICLES}} to reflect this.
* (bug 6009) Use {{ns:project}} in messages where appropriate
* (bug 6012) Update to Indonesian localisation (id)
* (bug 6017) Update list of bookstores in German localisation files
* (bug 5187) Allow programmatically bypassing username validation, for scripts
* (bug 6025) SpecialImport: wrong message when no file selected
* (bug 6015) EditPage: add spacing in the boxes "edit is minor" and "watch this"
* (bug 6018) Userrights: new message when no user specified ('nouserspecified')
* (bug 2015) Add "\sim" to ~ conversion for HTML rendering
* (bug 6029) Improvement to German localisation (de)
* (bug 5015) Update be: magic words
* (bug 3974) Add parameter for site URL to "passwordremindertext"
* (bug 6039) Update for Portuguese localisation (pt)
* (bug 764) Add CREATE TEMPORARY TABLES to default database permissions
* Big update to Swedish localisation (sv)
* Use appropriate HTML functions to create the tool links on image pages, so they don't
  look garbled when tidy isn't on
* (bug 5511) Fix URL-encoding of usernames in links on Special:Ipblocklist
* (bug 6046) Update to Indonesian localisation (id) #15
* (bug 5523) $wgNoFollowNsExceptions to allow disabling rel="nofollow" in
  specially-selected namespaces.
* (bug 6055) Fix for HTML/JS injection bug in variable handler (found by Nick Jenkins)
* Reordered wiki table handling and __TOC__ extraction in the parser to better
  handle some overlapping tag cases.
* Only the first __TOC__ is now turned into a TOC
* (bug 4610) Indicate patrolled status on watchlists and allow users to mark
  changes as patrolled using the diff links there
* Add 'DiffViewHeader' hook called before diff page output
* (bug 6051) Improvement to German localisation (de)
* (bug 6054) Update to Indonesian localisation (id) #16
* Add {{CURRENTTIMESTAMP}} magic word
* (bug 6061) Improper escaping in some html forms
* (bug 6065) Remove underscore when using NAMESPACE and TALKSPACE magics.
* (bug 6074) Correct squid purging of offsite upload URLs
* To simplify the lives of extension developers, the logging type arrays
  can now be appended to directly by an extension setup function. It is
  no longer necessary to write four separate functions just to add a
  custom log type.
* (bug 6057) Count "licenses" as a message (and show it in Special:Allmessages)
* Added $wgGrammarForms global
* Fixed hardcoded 'done.' when removing watchlist entries.
* (bug 5962) Update for Italian language (it)
* (bug 6086) Remove vestigial attempt to call Article::validate()
* wfHostname() function for consistent server hostname use in debug messages
* Send thumbnailing error messages to 'thumbnail' log group
* wfShellexec() now accepts an optional parameter to receive the exit code
* Failed, but not zero-length, thumbnail renderings are now removed.
  Should help clean up when rsvg fails in weird ways.
* (bug 6081) Change description for Turkmen language
* Increase robustness of parser placeholders; fixes some glitches when
  adjacent to identifier-ish constructs such as URLs.
* Shut up the parser test whining about files in a temp directory.
* (bug 6098) Add Aragonese language support (an)
* (bug 6101) Update for Russian language (ru)
* Add $wgIgnoreImageErrors to suppress error messages for thumbnail rendering
  problems. If errors are transitory, this should reduce annoying messages
  making it into cached display.
* (bug 6103) Wrap self-links in a CSS class ("selflink")
* (bug 6102) For consistency with other markup, normalize all HTML-encoded
  character entities in URLs, not just ampersands. This allows use of eg
  &#61; when making URLs for template parameters.
* Markup anality: escape </ as <\/ in toolbar javascript for pure correctness
  under HTML-compatible browsers.
* (bug 5077) Added hook 'BeforePageDisplay' to SkinTemplate::outputPage
* Replace fatally changed 'uploadnewversion' with 'uploadnewversion-linktext'
* (bug 472) Syndication feeds for the last few edits of page history
* Format edit comments in Recent Changes feed
* Switch incorrectly ordered column headers on Recent Changes feed diffs
* (bug 6117) Use message for history feed description, add German localization
* (bug 1017) fixed thumbnails of animated gifs.
* Add APC as object caching option
* Update to Albanian localization (sq)
* (bug 6099) Introduce {{DIRECTIONMARK}} magic word (with {{DIRMARK}} as an alias)
* Use optimized php5-only microtime()
* Add possibility to store local message cache as PHP executable script
* Fix profiling table definition
* (bug 6040) Run pre-save transform before calculating the diff. when doing a
  "show changes" operation in the editor
* (bug 4033) Respect $wgStyleDirectory when checking available skins
* Remove hideous backslashes from MessagesBr.php
* Fix APC object cache issues, add functionality to installer
* (bug 6133) Update strip state as we work. This mostly fixes extensions
  used in Cite.php <ref> tags when Tidy is on.
* (bug 6139) Workaround for transclusion oddities in Vietnamese upload text
* (bug 6136) Update to Catalan language (ca)
* Update to Japanese localization (ja)
* Add /usr/local/bin to the diff3 search paths in the installer
* (bug 6106) Update to Indonesian localisation (id) #17
* (bug 6125) Add links to edit old versions to diff views
* (bug 5127) Auto edit summary when creating/editing redirect page
* (bug 3926) Introduce {{#language:}} magic word
* Fix section links from edit comments for [[:Image:Bla.jpg]] in section titles
* (bug 6126) Allow fallback to customized primary language when user language
  message contains '-'; fixes licenses selector on Commons configuration after
  recent addition of the message to Messages.php
* (bug 5527) Batch up job queue insertions for, hopefully, better survivability
  of lock contention etc. Duplicates are now removed at pop time instead of
  at insert time.
* When showing the "blah has been undeleted" page, make sure it's a blue link
* parserTests.php accepts a --file parameter to run an alternate test sutie
* parser tests can now test extensions using !!hooks sections
* Fix oddity with open tag parameters getting stuck on </li>
* (bug 5384) Fix <!-- comments --> in <ref> extension
* Nesting of different tag extensions and comments should now work more
  consistently and more safely. A cleaner, one-pass tag strip lets the
  'outer' tag either take source (<nowiki>-style) or pass it down to
  further parsing (<ref>-style). There should no longer be surprise
  expansion of foreign extensions inside HTML output, or differences
  in behavior based on the order tags are loaded.
* (bug 885) Pre-save transform no longer silently appends close tags
* Pre-save transform no longer changes the case of close tags
* (bug 6164) Fix regression with <gallery> resetting <ref> state
* Hackaround for IE 7 wrapping bug in MonoBook footer
* New message sp-newimages-showfrom replaces rclistfrom on special:newimages
* Improve handling of ;: definition list construct with overlapping or
  nested HTML tags
* (bug 6171) Fix sanitizing of HTML-elements with an optional closing
  tag. The sanitizer still needs to learn how to make well-formed XML
  in this case.
* Fix fatal error when specifying illegal name for manual thumbnail
* (bug 6184) Use shinier Linker::userLink() to make user links in
  Special:Undelete
* (bug 6170) Update for Kashubian translation (csb)
* (bug 6191) Update to Indonesian translation (id) #18
* (bug 6114) Update to Walloon localization (wa)
* Added $wgNamespaceRobotPolicies to allow customisation of robot policies on a 
  per-namespace basis.
* Add <ol> to the list of block elements for doBlockLevels; avoids <p>s being
  interspersed into your ordered lists.
* (bug 5021) Transcluding the same special page twice now works
* Add 'SiteNoticeBefore' and 'SiteNoticeAfter' hooks
* (bug 6182) Date passed in "sp-newimages-showfrom" not adjusted to user time
  preferences
* (bug 2587) Fix for section editing with comment prefix
* (bug 2607) Fix for section editing with mix of wiki and HTML headings
* (bug 3342) Fix for section editing with headings wrapped in <noinclude>
* (bug 3476) Fix for section editing with faux headings in extensions
* (bug 5272) Fix for section editing with HTML-heading subsections
* Fix for bogus wiki headings improperly detected with following text
* Fix for HTML headings improperly not detected with preceding/following text
* Section extraction and replacement functions merged into one implementation
  on the Parser object, so they can't get out of sync with each other.
* Edit security precautions in raw HTML mode, etc
* (bug 6197) Update to Indonesian translation (id) #19
* (bug 6175) Improvement to German translation (de)
* Redirect Special:Logs to Special:Log
* (bug 6206) Linktrail for Swedish localization (se)
* (bug 3202) Attributes now allowed on <pre> tags
* Sanitizer::validateTagAttributes now available to discard illegal/unsafe
  attribute values from an array.
* (bug 3837) Leave <center> as is instead of doing an unsafe text replacement
  to <div class="center">. <center> is perfectly valid in the target doctype
  (XHTML 1.0 Transitional), while the replacement didn't catch all cases and
  could even result in invalid output from valid input. 
* (bug 4280) Use 'noindex,nofollow' instead of 'noindex,follow' for default
  meta robots tag on diff view and special pages. Should reduce impact of
  robots on scrolling special pages, diffs etc on sites where robots.txt
  doesn't forbid access.
* Regression fix: suppress warning about session failure when clicking to
  edit with 'preview on first edit' enabled.
* (bug 6230) Regression fix: <nowiki> in [URL link text]
* Added AutoLoader.php, which loads classes without need of require_once()
* (bug 5981) Add plural function Slovenian (sl)
* (bug 5945) Introduce {{CONTENTLANGUAGE}} magic word
* {{PLURAL}} can now take up to five forms
* (bug 6243) Fix email for usernames containing dots when using PEAR::Mail
* Remove a number of needless {{ns:project}}-type transforms from messages files. These
  usages already have separate label text. Such transforms are wasteful on each page view.
* Update to Yiddish localization (yi)
* (bug 6254) Update to Indonesian translation (id) #20
* (bug 6255) Fix transclusions starting with "#" or "*" in HTML attributes
* Whitespace now normalized more or less properly in HTML attributes
* Fix regression(?) in behavior of initial-whitespace-pre in <center>
* (bug 6260) Update to Interlingua localization (ia)
* Update to Vlax Romany localization (rmy)
* Update to Latin translation (la)
* Update to Dutch translation (nl)
* Avoid some notices in page history with bad input
* Use double quoted consistently on attributes in linker output; preparing
  for new normalization code when tidy not in use
* Replace "nogomatch" with "noexactmatch" and place the magic colon in the messages
  themselves. Some minor tweaks to the actual message content.
* Introduce $wgContentNamespaces which allows for articles to exist in namespaces other
  than the main namespace, and still be counted as valid content in the site statistics.
* (bug 5932) Introduce {{PAGESINNAMESPACE}} magic word
* Disable $wgAllowExternalImages by default.
* (bug 2700) Nice things like link completion and signatures now work in <gallery> tags.
* Cancel output buffering in StreamFile; when used inside gzip buffering this
  could cause funny timeout behavior as the Content-Length was wrong.
* Return correct content-type header with 304 responses for StreamFile;
  it confuses Safari if you let it return "text/html".
* (bug 6280) Correct GRAMMAR for Slovenian localisation (sl)
* (bug 6162) Change date format for Dutch Low Saxon (nds-nl)
* (bug 6296) Update to Indonesian localisation (id) #21
* Introduce EditFormPreloadText hook, see docs/hooks.txt for more information
* (bug 4054) Add "boteditletter" to recent changes flags
* Update to Catalan localization (ca)
* (bug 2099) Deleted image files can now be archived and undeleted.
  Set $wgSaveDeletedFiles on and an appropriate directory path in
  $wgFileStore['deleted']['directory']
* (bug 6324) Fix regression in enhanced RC alignment
* Introduce {{NUMBEROFADMINS}} magic word
* Update to Slovak translation (sk)
* Update to Alemannic localization (gsw)
* (bug 6300) Bug fixes for sr: variants
* namespaceDupes.php can now accept an arbitrary prefix, for checking rogue
  interwikis and such. Not yet fully automated.
* (bug 6344) Add Special:Uncategorizedimages page
* (bug 6357) Update to Russian translation (ru)
* Workaround possible bug in Firefox nightlies by properly removing the
  Content-Encoding header instead of sending explicit 'identity' value
  in StreamFile
* (bug 6304) Show timestamp for current revision in diff pages
* Vertically align current version with old version header in diff display
* (bug 6174) Remove redundant "emailforlost" message 
* (bug 6189) Show an error to an unprivilleged user trying to create account
* (bug 6365) Show user information in the "old revision" navigation links
* Introduce 'FetchChangesList' hook; see docs/hooks.txt for more information
* (bug 6345) Update to Indonesian localisation (id) #22
* (bug 6279) Add genitive month names to Slovenian localisation
* (bug 6351) Update to German translation (de)
* Respect language directionality when displaying arrow in Special:Brokenredirects
* Remove unused "validation" table definitions from the schema files
* (bug 6398) Work around apparent PCRE bug breaking section editing when
  massively-indented preformatted text immediately followed a header
* (bug 6392) Fix misbehaving <br /> in preferences form
* Add translated magic words to Hebrew localization
* (bug 6396) Change name for Chuvash language
* Introduce optional (off by default) language selector bar for user login
  and registration. Customisable via the "loginlanguagelinks" message, the
  links will preserve "returnto" values. If the user creates an account while
  using such a link, then the language in use will be saved as their language
  preference.
* Make sure '~~~' '~~~~' '~~~~~' are removed in Nickname preference.
* Rename "ipusuccess" to "unblocked", change the format (now wiki text)
* (bug 2316) Add "caption" attribute to <gallery> tag
* Allow setting the skin object that ImageGallery will use; needed during parse
  operations (the skin must come from the ParserOptions, not $wgUser)
* Fix notice in MacBinary detection debug data for files of certain lengths
* (bug 6131) Add type detection for DjVu files, allowing them to be uploaded
  with validity checking and size detection. No inline thumbnailing yet,
  but could be added in the future.
* (bug 6423) Don't update newtalk flag if page content didn't change (null edits
  were causing the newtalk flag to trigger inappropriately)
* Parser functions are now set using magic words.
* (bug 6428) Incorrect form action URL on Special:Newimages with hidebots = 0 set
* (bug 4990) Show page source to blocked users on edits, or their modified version
  if blocked during an edit
* (bug 5903) When requesting the raw source of a non-existent message page,
  return blank content (as opposed to the message key)
* Improve default blank content of MediaWiki:Common.css and MediaWiki:Monobook.css
* (bug 6434) Allow customisation of submit button text on Special:Export
* (bug 6314) Add user tool links on page histories
* Fix display of file-type icons in galleries when $wgIgnoreImageErrors is off
* (bug 6438) Update to Indonesian translation (id) #23
* Adding the language code parameter to the hook "LanguageGetMagic", to allow
  localizble extensions magic words.
* Update to Romanian translation (ro)
* Update to Esperanto translation (eo)
* Check for preg_match() existence when installing and die out whining about PCRE
  if it's not there, instead of throwing a fatal error
* (bug 672) Add MathAfterTexvc hook
* Update to Piedmontese localization (pms)
* dumpBackup can optionally compress via dbzip2
* (bug 2483) Run link updates on change via XML import
* (bug 2481) List imported pages during Special:Import
* (bug 2482) Log and RC entries for Special:Import events
* Allow fetching all revisions from transwiki Special:Import
* Allow fetching all revisions from Special:Export GET request
* Disable output buffering on Special:Export; should help with streaming
  large numbers of history items.
* Allow setting a maximum number of revisions for history Special:Export;
  pages with more than $wgExportMaxHistory revisions are excluded from
  export when history is requested.
* Fix transwiki import of pages with space in name
* Save null edit when importing pages through Special:Import
* Update to Korean translation (ko)
* Show a more specific message when an anonymous user tries to access Special:Watchlist
* (bug 3278) Paging links in Special:Prefixindex
* Added Latvian localization (lv)
* (bug 6472) Fix regression in Special:Export with multiple pages
* Update to Macedonian translation (mk)
* Allow page moves over historyless self-redirects. Such are usually created
  as part of namespace rearrangements, and it's easier to clean them up if
  we can move over them.
* Show some error results in moveBatch.php
* (bug 6479) Allow specification of the skin to use during HTML dumps
* (bug 6461) Link to page histories in Special:Newpages
* (bug 6484) Don't do message transformations when preloading messages for editing
* (bug 6201) Treat spaces as underscores in parameters to {{ns:}}
* (bug 6006) Allow hiding the password change fields using an authentication plugin
* (bug 6489) Use appropriate link colour on Special:Shortpages
* Added formatnum magic word
* Added Javanese localization (jv)
* (bug 6491) Apply bad image list in category galleries
* (bug 6488) Show relevant log fragment in Special:Movepage
* Fix potential PHP notice in Special:Blockme when $wgBlockOpenProxies is true
* Use mysql_real_escape_string instead of addslashes for string escaping in
  the MySQL Database class. This may fix some rare breakage with binary fields.
  Note that MediaWiki does not support the multibyte character sets where a
  "dumb" byte replacement can be actively dangerous; UTF-8 is always safe
  in this regard due to the bit patterns which make head and tail bytes
  distinct.
* (bug 6497) Use $wgMetaNamespaceTalk for Esperanto if set
* (bug 6498) Use localized forms for image size in Special:Undelete
* (bug 6485) Update to Indonesian translation (id) #24
* Extension messages translation is now possible.
* Add target namespace override selector for transwiki imports.
  $wgImportTargetNamespace specifies the default, to be used for
  Wiktionary's 'Transwiki:' namespace etc.
* (bug 6506) Update to German localisation (de)
* (bug 502) Avoid silly tabs on bad title by using virtual special page
* (bug 6511) Add diff links to old revision navigation bar
* (bug 6511) Replace 'oldrevisionnavigation' message with 'old-revision-navigation'
* Fix regression in Polish genitive month forms
* (bug 4037) Make input handling in Special:Allpages and Special:Prefixindex
  more consistent: Accept just a namespace prefix and a colon, reject input
  with interwiki prefixes, otherwise do what Title::makeTitleSafe() does.
* (bug 6516) Update to Russian translation
* New 'allpagesbadtitle' message for Special:Allpages, based on 'badtitletext'.
* Rename "searchquery" to "searchsubtitle" and support wiki text in it
* Introduce updateArticleCount maintenance script which uses a better check that
  reflects what Article::isCountable() tests for
* Introduce 'BadImage' hook; see docs/hooks.txt for more information
* Add "searchsubtitleinvalid" message for searches that are not valid titles.
* (bug 5962) Update to Italian localisation
* (bug 6530) Update to Indonesian localisation (id) #25
* (bug 6523) Fix SVG issue in rebuildImages.php
* (bug 6512) Link to page-specific logs on page histories
* (bug 6504) Allow configuring session name with $wgSessionName
* (bug 6185) Add standard user tool links to log page views
* Update to Venetian translation (vec)
* Update to Slovenian translation (sl)
* Add standard user tool links to deleted revision list
* Separate out EditPage's getContent bits from regular Article getContent.
  Cleans up read-only-mode warning on empty pages and neats up some code.
* (bug 6565) Strict JavaScript writing
* (bug 6570) Update to Indonesian localisation (id) #26
* Added Telugu translation (te)
* Update to Catalan translation (ca)
* (bug 6560) Avoid PHP notice when trimming ISBN whitespace
* Added namespace translation to Kannada (ka)
* (bug 6566) Improve input validation on timestamp conversion
* Implicit group "emailconfirmed" for all users whose email addresses are confirmed
* (bug 6577) Avoid multiline parser breakage on <pre> with newline in attribute
* (bug 6771) Make old revisions of MediaWiki pages available with action=raw

== Changes since 1.5 ==

* (bug 2885) More PHP 5.1 fixes: skin, search, log, undelete

Code quality:
* Use strval() to make sure we don't accidentally get null on bad revision
  text loads or other fields mucking up XML export output
* Clean up duplicate code for selection of changeslist style
* Correct blob caching to reduce redundant blob loads on backups
* (bug 3182) Clear link cache during import to prevent memory leak
* Fixed possible infinite loop in formatComment
* Wrap message page insertions in a transaction to speed up installation
* Avoid notice warning on edit with no User-Agent header
* (bug 3649) Remove obsolete, broken moveCustomMessages script
* Avoid numerous redundant latest-revision lookups in history
* Require PHP 4.3.2 or higher strictly now.
* Tweak infinite-template-handling loop for PHP 5.1.1 string handling change
* Remove unused OutputPage::addCookie()
* Fix for short_open_tag off again; please don't break this, guys
* (bug 4507) Adjust FULLPAGENAMEE escaping to standard form
* (bug 5302) Merge the two #p-search .pBody statements in monobook css.

Database:
* Finally dropped MySQL 3.23.x support
* Oracle support
* (bug 3056) MySQL 3 compatibility fix: USE INDEX instead of FORCE INDEX
* Update all stats fields on recount.sql
* (bug 3227) Fix SQL injection introduced in experimental code
* Fix table prefix usage in Block::enumBlocks
* (bug 3448) Set page_len on undelete
* (bug 3506) Avoid MySQL error when Listusers returns no results
* Skip update of disused 'rc_cur_time' field (todo: discard the field)
* (bug 3735) Fix to run under MySQL 5's strict mode
* (bug 3786) Experimental support for MySQL 4.1/5.0 utf8 charset mode
  NOTE: Enabling this may break existing wikis, and still doesn't
  work for all Unicode characters due to MySQL limitations.
* MySQL 5.0 strict mode fix for moving unwatched pages
* Ability to set the table name for external storage servers
* Update ipblocks table in MySQL 5 table defs
* Removed FulltextStoplist.php, no longer used (was for MySQL 3.x workaround)
* Added templatelinks table, to track template inclusions. User-visible effects
  will be:
  * (inclusion) tag for inclusions in Special:Whatlinkshere
  * More accurate list of used templates on the edit page
  * More reliable cache invalidation when templates outside the template
    namespace are changed
* Respect database prefix in dumpHTML.inc
* Removed read-only check from Database::query()
* Added externallinks table, to track links to arbitrary URLs
* Added job table, for deferred processing of jobs. The immediate application is 
  to complete the link table refresh operation when templates are changed.
* Don't change the password of the MySQL root user.

Documentation:
* (bug 3306) Document $wgLocalTZoffset

Hooks:
(list not complete)
* Move ArticleSave hook execution into Article insert/update functions,
  so they get called on non-EditPage actions that use these functions
  to create or update pages.
* Added EditFilter hook, and output callback on EditPage::showEditForm()
  for a place to add in captcha-type extensions in the edit flow
* (bug 3684) Fix typo in fatal error backtraces in Hooks.php
* Fix for hook callbacks on objects containing no fields
* Add a hook for additional user creation throttle / limiter extensions
* Use $wgOut->parse() in wfGetSiteNotice() instead of creating a new parser
  instance. This allows use of extension hooks if required.
* Added AutoAuthenticate hook for external User object suppliers
* Added 'PageRenderingHash' hook for changing the parser cache hash key
  from an extension that changes rendering based on nonstandard options.
* Add 'GetInternalURL' hook to match the GetFullURL and GetLocalURL ones
* (bug 4456) Add hook for marking article patrolled
* Add UserRights hook, fires after a user's group memberships are changed

Images:
* Support SVG rendering with rsvg
* Cap arbitrary SVG renders to given image size or $wgSVGMaxSize pixels wide
* (bug 3127) Render large SVGs at image page size correctly
* Fix scaling of non-integer SVG unit sizes
* (bug 2800) Don't scale up small images on |thumb| without explicit size
* Use the real file link instead of the default-size rasterized version for
  large SVG images on image description page
* Include the file name/type/size line for non-resized images
* (bug 3489) PHP 5.1 compat problem with captioned images
* (bug 3643) Fix image page display of large images with resizing disabled
* Added a limit to the size of image files which can be thumbnailed
* (bug 3806) Gracefully fall back to client-side scaling on |thumb| image
  that passes $wgMaxImageArea
* (bug 153) Adjust thumbnail size calculations to match consistently;
  patch by David Benbennick
* (bug 4162) Add $wgThumbnailEpoch timestamp to force old thumbs to
  be rerendered on demand, sitewide
* (bug 1850) Additional fixes so existing local and remote images
  get a blue link even if there's no local description page
* Avoid FATAL ERROR when creating thumbnail of non-existing image
* (bug 4207) Wrong image size when using 100x200px syntax to scale image up
  patch by David Benbennick
* Don't delete thumbnails when refreshing exif metadata. This caused thumbs
  to vanish mysteriously from time to time for files that didn't have metadata.
* (bug 4426) Add link to user_talk page on image pages
* Support a custom convert command for thumbnailing. See DefaultSettings.php
  and the comments for $wgCustomConvertCommand, for more information.
* UserCan hook now allows advisory return values, rather than mandatory ones.

Installer:
* (bug 3782) Throw fatal installation warning if mbstring.func_overload on.
  Why do people invent these crazy options that change language semantics?
* Fixed installer bugs 921 and 3914 (issues with using root and so forth)
* (bug 4258) Use ugly urls for ISAPI by default
  patch by Rob Church
* Improve installer 
	* Use a superuser account (such as root), if specifed, to create tables
	* Don't overwrite conservative permissions on the mySQL user with ALL
	  permissions, if said user exists
	* Changes to some of the wording of explanations for fields
* (bug 1734) granting db permissions failed with db usernames containg '-'
* Add basic check for session support in PHP and die if not present

Maintenance:
* Fix problem reported on mailing list where re-initialising stats didn't work (can't insert
  duplicate rows with the same id field)
* Added --conf option to command line scripts, allowing the user to specify a 
  different LocalSettings.php.
* Maintenance script to delete unused text records
* Maintenance script to delete non-current revisions
* Maintenance script to wipe a page and all revisions from the database
* Maintenance script to reassign edits from one user to another
* Maintenance script to find and remove links to a given domain (cleanupSpam.php)
* Fix --report interval option for dumpTextPass

i18n / Languages:
* Partial support for Basque language (from wikipedia and meta)
* (bug 3141) Partial support for Breton language (thanks Fulup).
* Support for venitian language
* (bug 1334) LanguageGa.php update
* Finnish date format was hardcoded, now implemented properly
* (bug 3190) Added some date format choices for language sr
* (bug 2753) Some namespaces were not translated in LanguageTa.php (Tamil)
* (bug 3204) Fix typo breaking special pages in fy localization
* (bug 3177) Estonian date formats not implemented in LanguageEt.php
* (bug 1020) Changing user interface language does not work immediately
* (bug 3271) Updated LanguageNn.php for HEAD
* Experimental feature to allow translation of block expiry times
  Implementation only for Finnish currently
* (bug 3304) Language file for Croatian (LanguageHr.php)
* (bug 2143) Update Vietnamese interface
* (bug 3063) Remove some hardcodings from Hebrew localisation
* (bug 3408) Bulgarian formatNum corrected
* (bug 1512) Disable x-code interp on Esperanto URLs for now, it does more
  harm than good under current system by breaking incoming URLs with "ux".
  (Editing is not affected, just URLs.)
* (bug 1423) LanguageJa.php update
* Fix language name for dv
* (bug 3503) Update LanguageSq.php from sq.wikipedia.org messages
* (bug 3629) Fix date & time format for Frisian
* (bug 3334) Namespace changes for Polish
* (bug 3580) Change default Dutch language file to more neutral
* (bug 3656) LanguageHr.php - added convertPlural
* (bug 3414) LanguageBe.php - added convertPlural
* (bug 3163) Full translation of LanguageBr
* (bug 3617) Update for portuguese language (pt)
* Namespaces hacks on LanguagePl
* (bug 3682) LanguageSr.php - added convertPlural
* (bug 3694) LanguageTr.php update
* (bug 3711) Removed invisible unicode characters from LanguageHu
* (bug 2981) Linktrail for Tamil (ta)
* (bug 3722) Update of Arabic language (ar) Namespace changes
* Removed hardcoded Norwegian (no) project namespaces
* (bug 2324) image for redirects should be without text and oriented according to content language
* (bug 3666) Don't spew PHP warnings in prefs on unrecognized site language
* (bug 3817) Use localized date formats in preferences; 'no preference' option
  localizable as 'datedefault' message. Tweaked lots of languages files...
* (bug 2721) Regression: Use European number separators for vi: wikis
* (bug 3961) minor languageDe changes
* (bug 1984) LanguageKo.php (Korean) update
* (bug 3804) update of LanguageWa.php file
* (bug 3886) Update for Portuguese language (pt)
* (bug 4020) Update namespaces for ms
* (bug 3922) bidi embedding overrides on category links
* (bug 4061) Update of Slovene namespace names (LanguageSl.php)
* (bug 4064) LanguageDe comma changes
* (bug 3922) Further tweaks to bidi overrides in category list for old
  versions of Safari and Konqueror
* Fix custom namespaces on wikis set for Portuguese
* (bug 4153) Fix block length localizations in Greek
* (bug 3844) ab: av: ba: ce: & kv: now inherit from LanguageRu.php
             ii: & za: now inherit from LanguageZn_cn.php
* (bug 4165) Correct validation for user language selection (data taint)
* (bug 4192) Remove silly 'The Free Encyclopedia' default sitesubtitle
* Use content-lang for sitenotice
* (bug 4233) Update LanguageJa.php
* (bug 4279) Small correction to LanguageDa.php
* (bug 4108, 4336) Remove trailing whitespace from various messages, which
  mucks up message updating to create dupe entries
* (bug 4389) Fix math options on zh-hk and zh-tw (but not localized)
* (bug 4392) Update of LanguageSr.php
* (bug 4382) Frisian numeric format
* (bug 4424) Update for Spanish language (es) 100% messages translated
* (bug 4425) Typos in Polish translation
* (bug 4436) Update for Turkish language (tr)
* (bug 4413) Update of Farsi language file (LanguageFa.php)
* Update for LanguageSr (Serbian): magic words
* (bug 137) MediaWiki:Copyrightwarning hardcoding
* (bug 4457) Update for Portuguese language (pt)
* convertPlural breakage fixed a little
* (bug 4144) Support for Sudanese language (Basa Sunda)
* Big cleanup:
 - Removed obsolote, badly or untranslated messages
 - Removed references to wikipedia/wikimedia etc in messages
 - Other cleanup, like removing html and javascript and extension calls
 - Removed hardcoded namespaces: Tt, Ms, Ia, Ga, Fo, Bn, Csb, He, Nv, Oc, Tlh
 - Removed some useless backwards compatibility hacks
 - Fixed formatnum on many languages
* wgAmericanDates check produced incorrect results in languages that don't have
  a such distinction
* (bug 4548) Update for Portuguese language (pt): time format
* (bug 4530) Use consistent name for Kurdish
* Tweak default "upload disabled" text
* (bug 4504) Use site language for namespace name resolution
* (bug 4510) Correct Barnes & Noble bookstore URLs
* (bug 3991) Allow the operation of wikicode on Protect move only text
* (bug 4267) Switch dv sd ug ks arc languages to RTL
* Default main page content improved per bug 4690
* (bug 4615) Update for Portuguese language (pt)
* Separated MessagesSl.php as the other languages.
* (bug 4960) Add additional namespaces variants to Yiddish for compatibility
* (bug 4805) Removed more wikipedia-references from MessagesUk.php
* (bug 5015) Update magic words translation in LanguageBe.php
* (bug 4859) Update for Portuguese messages (pt)
* (bug 4788) One string for MessagesPl
* Restriction types now use restriction-* messages instead of ui messages
* (bug 4685) Slovenian LanguageSl.php hardcodes project namespace
* (bug 5097) Fix Hungarian language (hu): thousands separator
* (bug 5098) Update for Portuguese messages (pt)
* (bug 5113) Spelling error in French language file
* (bug 5105) Magic words for LanguageAr.php
* (bug 3993) Variants for Serbian language
* Typo in English messages file
* (bug 4114) Spacing in watchlist rows (in editing mode)
* Update default "exporttext" to reflect that Special:Import exists
* (bug 4960) Add additional namespaces variants to Yi projects: Yiddish Wikinews fix
* (bug 5357) Add the icon near the user name also in RTL interfaces
* (bug 5156) Update for Hebrew language (he)
* (bug 4497,4704,5010) Added some new language codes.
* (bug 5362) Piedmontese added
* (bug 5349) Update for Portuguese messages (pt)
* (bug 3573) Finished full Greek translation: namespaces
* (bug 5288) Initial localisation for Az
* (bug 4361) Fix "allmessagesnotsupportedui" so it doesn't refer to nonexisting
  page
* Tweak wording of "allmessagesnotsupporteddb"

Parser:
* (bug 2522) {{CURRENTDAY2}} now shows the current day number with two digits
* (bug 3210) Fix Media: links with remote image URL path
* (bug 3405) Don't use raw letters as aliases of MSGNW: and SUBST:
* (bug 3412) Clean up date format handling so ~~~~-sigs work with default
  format as designed. Documentation comments updated.
* Fix Parser::unstrip on PHP 5.1.0RC4
* (bug 3797) Don't expand variables and sigs in comments
* Allow parser cache on redirect targets
* Run wikitext-escaping on plaintext sigs (no wiki markup, just name)
* Check for unbalanced HTML tags on raw sigs (markup allowed, but show
  a warning in prefs and use default sig if not balanced)
* Respect <noinclude> and <includeonly> during {{subst:}} expansion as well as
  ordinary templates.
* Support <includeonly> in templates loaded through preload= parameter
* (bug 3979) Save correct {{REVISIONID}} into parser cache on edit
* Substitute {{REVISIONID}} correctly in diff display
* (bug 1850) Allow red-links on image pages linked with [[:image:foo]]
* Fix XML validity checks in parser tests on PHP 5.1
* (bug 4377) "[" is not valid in URLs
* (bug 4453) fix for __TOC__ dollar-number breakage
* Convert unnecessary URL escape codes in external links to their equivalent
  character before doing anything with them. This prevents certain kinds of
  spam filter evasion.
* (bug 4783) : Fix for "{{ns:0}} does not render"
* Improved support for interwiki transclusion
* (bug 1850) Image link to nonexistent file fixed.
* (bug 5167) Add {{SUBPAGENAME}} and {{SUBPAGENAMEE}} variables
* (bug 4949) Missing : in "addedwatchtext" for English and Spanish
* Allow user-defined functions, which work in a similar way to {{GRAMMAR:}} 
  etc. Registered via an interface similar to tag hooks.

Upload:
* (bug 2527) Always set destination filename when new file is selected
* (bug 3076) Support MacBinary-encoded uploads from IE/Mac
* (bug 2554) Tell users they are uploading too large file
* Support for a license selection box on Special:Upload, configurable from MediaWiki:Licenses
* Add 'reupload' and 'reupload-shared' permission keys to restrict new uploads
  overwriting existing files; default is the old behavior (allowed).

Security:
* (bug 3244) Fix remote image loading hack, JavaScript injection on MSIE
* (bug 3280) Respect 'move' group permission on page moves
* (bug 2613) Clear saved passwords from the form
* IP privacy fix for blocklist search on autoblocks
* Security fix for <math>
* Security fix for tables
* Security fix for Special:Upload license selection list
* Add UploadVerification hook for custom file upload validation/security checks
* Blacklist additional MSIE CSS safety tricks
* Fix meta robots tag on Special:Version again to avoid listing vulnerable
  versions for convenient harvesting by automated worms
* Sanitizer CSS comment processing order fix
* Forbid usernames that can be interpreted as titles with namespaces, as that
  leads to hard-to-manage names.
* (bug 4071) Generate passwords long enough for $wgMinimalPasswordLength
* Add createpage and createtalk permission keys, allowing a quick
  switch to disable page creation for anonymous users.
* (bug 675) Add page protection level for unregistered/new accounts
* User::isNewbie now uses the registration date and $wgAutoconfirmAge
* Add 'deletedhistory' permission key for ability to view deleted history
  list via Special:Undelete. Default is off, replicating the 1.5 behavior,
  but it can be turned back on for random users to replicate the previous
  1.6 dev behavior.
* Set cookies to secure mode based on use of HTTPS or $wgCookieSecure
* (bug 4371) Disallow tilde character in signatures
* Removed broken wgAllowAnonymousMinor and added new group right minoredit
* Added detection for WMF files (application/x-msmetafile), added this 
  MIME type to the default blacklist. Prevented inline display of images
  which are not of known image types. This is in response to
  http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability
* Blocked users can no longer roll back, change the protection of, or delete/undelete pages
* Protect against spoofing of X-Forwarded-For header
* XSS issue : now sanitize search query input (fixed in 1.5rc3)
* Remove deprecated $wgOnlySysopsCanPatrol references; use User::isAllowed( 'patrol' )
  per bug 5282. Patch by Alan Harder.
* Prevent registration/login with the username "MediaWiki default"

Special Pages:
* Rearranged Special:Movepage form to reduce confusion between destination
  title and reason input boxes
* (bug 1956) Hide bot uploads from Special:Newimages
* (bug 3220) Fix escaping of block URLs in Recentchanges
* (bug 3284) Ipblocklist paging, substring search
* Allow filtering of robot edits in Special:Watchlist by stting 
  $wgFilterRobotsWL = true.
* Fix interlanguage links on special pages when extra namespaces configured
* (bug 3475) anon contrib links on Special:Newpages
* Special:Import/importDump fixes: report XML parse errors, accept <minor/>
* (bug 2369) Add separate message for input box on Special:Prefixindex
* (bug 3798) DoubleRedirects no longer has hard coded arrows
* (bug 3803) Fix links on Special:Wantedcategories with miser mode off
* Fix Special:BrokenRedirects on MySQL 5.0
* (bug 3807) Fix 'all' in namespaces drop-down on contribs, rc
* Fail gracefully on invalid namespace in Special:Newpages
* (bug 3762) Define missing Special:Import UI messages
* (bug 3761) Avoid deprecation warnings in Special:Import
* (bug 2894) Enhanced Recent Changes link fixes
* (bug 4059) fix 'hide minor edits' on Recentchangeslinked
* (bug 146) List number of category members in Special:Categories
  (patch by Joel Nothman)
* (bug 4090) Fix diff links in Special:Recentchangeslinked
* (bug 4093) '&bot=1' in Special:Contributions now propagate to other links
* Fix display of old recentchanges records for page moves
* (bug 360) Let Whatlinkshere track [[:image:foo]] links
* (bug 3073) Keep search parameter on paging in Special:Newimages
* Removed Special:Validate, it's been superseded by the Review extension
* (bug 4359) red [[user:#id]] links generated in [[special:Log]]
* (bug 1996) Special page to list redirects
* (bug 4334) Add "watch" links to Special:Unwatchedpages
* Generate target user page links in Special:Ipblocklist where appropriate
  (i.e. not an autoblock)
* Generate link to talk page of the blocker in Special:Ipblocklist, move
  contribs. link of the target next to their name
* (bug 2714) Backlink from special:whatlinkshere was hard set as 'existing'
* Move parentheses out of <a> link in Special:Contributions
* (bug 3192): properly check 'limit' parameter on Special:Contributions
* (bug 3187) watchlist text refer to unexistent "Stop watching" action
* Add block, block log and general log links to Special:Contributions
* Add contributions link to block log items
* Added optional "hide own edits" feature to Special:Recentchanges
* (bug 5018) Anchors for each message in Special:Allmessages
* Introduce $wgWantedPagesThreshold per bug 5011; Special:Wantedpages will not
  list pages with less than this number of links. Defaults to 1.
* (bug 4319) Don't show a "create account" link on the login form when
  account creation is disabled.
* JavaScript filter for Special:Allmessages
* (bug 3047) Don't mention talk pages on Special:Movepage when there isn't one
* Show links to user page, talk page and contributions page on Special:Newpages
* Special:Export can now export a list of all contributors to an article (off by default)
* (bug 5372) Add number of files to Special:Statistics
* (bug 2871) Links to talk pages in watchlist editing view
* (bug 5385) Allow hiding anonymous edits on Special:Recentchanges
* (bug 2544) Illogical error reporting order in Special:Userlogin
* (bug 5409) Hide "show/hide patrolled edits" in Special:Recentchanges if patrolling
  is disabled
* (bug 5447) Convert first letter of username to uppercase before searching in Special:Listusers
* (bug 759) Wrap redirects on the watchlist editing page in a span, class "watchlistredir"
* (bug 1862) Namespace filtering in watchlists

Misc.:
* PHP 4.1 compatibility fix: don't use new_link parameter to mysql_connect
  if running prior to 4.2.0 as it causes the call to fail
* (bug 3117) Fix display of upload size and type with tidy on
* (bug 2323) Remove "last" tabindex from history page
* (bug 3116) Division by zero on [[Image:Foo.png|123x123px|]]
* Fix display of read-only lockfile message
* Include software-visible client IP address in Special:Version comment
  as a proxy debugging aid
* (bug 3170) Page Title failed to obey MediaWiki:Pagetitle.
  wikititlesuffix was removed
* Add ability to break off certain debug topics into additional log files;
  use $wgDebugLogGroups to configure and wfDebugLog() to log.
* Edit conflict on recreation of deleted page
* (bug 3216) Don't show empty warning page when no warnings.
* (bug 3218) Use proper quoting on history Compare Revisions button
* Fix upgrade from 1.4 due to version number check breakage [for rc future]
* Fix upgrade from 1.4 with no old revisions
* Remove "info" editing toolbar that was shown in browsers which do not
fully support the editing toolbar, but was found to be too confusing.
* Don't override edit conflict suppression on section edits; section merging
  should provide the expected transparency here and fits usage patterns better.
* (bug 3292) Fix move-over-redirect test when current entries are not plaintext
* (bug 2078) Don't hide watch tab on preview
* Fix regressions in ChangesList traditional layout
* Fix edit on double-click for move-protected pages in Classic skin
* (bug 3485) Fix bogus warning about filename capitalization when off
* (bug 2570) Add 'watch this page' checkbox on uploads, watch uploads
  by default when 'watchdefault' option is on
* Add options to dumpBackup.php for making split/partial dumps by page id
* Added filter options, compression piping, and multiple output streams for
  dumpBackup.php
* (bug 3595) Warn and abort if importDump.php called in read-only mode.
* (bug 3598) Update message cache on message page deletion, patch by Tietew
* Added separate noarticletext and newarticletext messages for logged in and anon users.
* (bug 3332) Installation now uses Monobook, validates, plus usability improvements.
* (bug 3660) Update diff3 detection to work with Windows/Cygwin
* (bug 2330) Don't do funny thinks with "links" in MediaWiki:Undeletedtext
* Two-pass data dump for friendliness to the DB (--stub, then dumpTextPass.php)
* Data dump 'prefetch' mode to read normalized text from a prior dump
  (requires PHP 5, XMLReader extension)
* (bug 2773) Print style sheet no longer overrides RTL text direction
* (bug 2938) Update MediaWiki:Exporttext to be more general
* Various fixes
* Fix wfMsg*() replacements; args containing literal $[2-9] were wiped
* Added @import for [[MediaWiki:Common.css]] to all skins
* Edit box now remembers scrollbar position on preview
* (bug 3816) Throw edit conflict instead of fatal error when a page is
  moved or deleted during section edit
* (bug 3771) Handle internal functions in backtrace in wfAbruptExit()
* (bug 3291) 'last' diff link for last history line when not at end
* (bug 3667) Add missing global in page move code
* (bug 2885) Remove unnecessary reference parameter which broke classic skin
  talk notification on PHP 5.0.5
* (bug 3852) "Redirected from" link no longer obscured on double-redirects
* changed directory hierarchy in images/math/. System upgrades from old to
  new hierarchy on the fly.
* (bug 3487) Fix category edit preview with preview-on-bottom
* (bug 918) Search index incorrectly joined words at == headings ==
* (bug 3877) Render math images into temp directory, then move to hashed
  subdir so you can render new math images and have them work
* (bug 2392) Fix Atom items content type, upgrade to Atom 1.0
* Allow $wgFeedCacheTimeout of 0 to disable feed caching
* Fix WebRequest::getRequestURL() to strip off the host bits squid prepends
* Require POST for action=purge, to stop bots from purging the cache
* Added local message cache feature ($wgLocalMessageCache), to reduce bandwidth
  requirements to the memcached server.
* (bug 3562) for go search, try Caps-Variants-Broken-At-Non-Whitespace
* (bug 2569) Use PATH_SEPARATOR instead of trying to guess based on
  DIRECTORY_SEPARATOR (was wrong on NetWare)
* (bug 2740) Accept image deletions on 'enter' submit from MSIE
* (bug 3939) Don't try to load text for interwiki redirect target
* (bug 3948) Avoid notice warning in debug statement in bad search
* Recognize Special:Search consistently so read whitelist works
* (bug 3999) Change atom 1.0 feed id; had been unnecessarily complex due to
  unclear language in the spec. Now using the URL, same as the permalink,
  which someone else will probably whine about because it's not 'perma'
  enough or something.
* (bug 4014) Fix include mode for Allpages on small page sets
* (bug 3996) Fix text for new entries in RC RSS/Atom feed
* (bug 3065) Update both watched namespaces when renaming pages
* Changed mail form to have a bigger message entry box (like for editing
  a page
* Fix ulimit parameters for wfShellExec when memory_limit is specified in 'm'
* (bug 2111) Collapsable exif metadata table, clean up display
* Reduce fractions in display of exif exposure time
* (bug 4048) Optional footer link to site privacy policy
* Don't die() when update.php reaches the end of the warning count
* (bug 1915) Fix edit links when 'direction' used with 'oldid';
  using revision ID reported via OutputPage; Skin::editUrlOptions()
* Remove obsolete 'redirect=no' on some edit links
* Include oldid for the second revision on edit link on diff view
* (bug 4035) Fix prev/next revision links on edit page
* (bug 4100, 3049) Add 'edittools' message to hold edit tools, put it
  on Special:Upload as well as edit, rearrange edit page pieces a bit.
  Copyright warning now above the buttons to ensure it's visible,
  template list at the bottom so it can grow.
* Optional summary parameter to action=rollback, for user javascript
* (bug 4167) Fix regression caused by patch for bug 153
* (bug 4169) Use $wgLegalTitleChars in pipe trick conversions
* (bug 4170) Decode HTML character escapes in sort key
* (bug 4201) Fix user-talk mode for Enotif, and general code cleanup
* (bug 4214) Skip redundant action text inserts into the HTML <title>
* (bug 4212) Skip redundant meta-robots tag for default settings
* Fix regression: old version missing from edit links in Nostalgia skin
* (bug 1600) Trigger edit conflict on duplicate section=new submissions
* (bug 4001) Use local variables properly in wikibits.js akeytt()
* Fix regression: old version missing from edit links on CSS/JS pages
* (bug 3211) Include Date, To mail headers when using PEAR::Mail
* (bug 3407) Fix encoding of subject and from/to headers on notification
  mails; userMailer() now takes a MailAddress wrapper object instead of
  a raw string to abstract things a level.
* Fixed --server override on dumpTextPass.php
* Added plugin interface for dumpBackup, so additional filters and output
  sink types can be registered at runtime from an extension
* (bug 349) Fix for some numeric differences not being highlighted
  patch by Andrius Ramanauskas
* (bug 4298) Include rc_id on enhanced RC singleton diff links for patrolling
* Did some refactoring on ChangesList.php merging dupe code
* (bug 1586) Fix interwiki generator for wikimedia obscure domains
* (bug 3493) Mark edits patrolled when they are reverted
  patch by Leon Planken
* Removed experimental Amethyst skin from default set
* Upgrade old skin preferences properly at Special:Preferences
  (used to spontaneously switch to Classic skin for old numeric pref records)
* (bug 3424) Update page_touched for category members on category page creation
* Log views show message when no matches
* Fix raw sitenotice display on database error
* Fix autoconfirm check for old accounts
* (bug 4368) Don't show useless empty preview on new section creation
* Don't show useless empty preview on new page creation
* (bug 4411) Fix messages diff link for classic skin
* (bug 4385) Separate parser cache entries for non-editing users, so section
  edit links don't vanish / appear unwanted on protected pages
* (bug 2726, 3397) Fix [[Special:]] and [[:Image]] links in action=render
* (bug 4419) Remove obsolete magnify.png.old
* Removed $wgUseCategoryMagic option, categories are now enabled unconditionally
* (bug 3318) UI workarounds for disabled items in license selector
  MSIE/Win: items now grayed out, JS will revert to 'non selected' if clicked
  Safari: JS will revert to 'non selected' if clicked (but not gray)
  MSIE/Mac: indented items now visible (JS hack)
* (bug 714) "plainlinks" class issues in IE, Opera
* (bug 4317) Inconsistent "broken redirects" messages
* Default interface text for "selflinks" tweaked
* (bug 3194) default implementation of translateBlockExpiry
  which uses ipboptions
* (bug 4446) $wgExportAllowHistory option to explicitly disable history in
  Special:Export form, 'exportnohistory' message to translate live hack.
* Maintenance script to delete unused user accounts
* (bug 912) Search box easier to reach in text browsers (lynx, links)
* $wgParserCacheExpireTime added
* Skip loading of RecentChange.php except where needed
* Enforce $wgSVGMaxSize when rendering, even for SVGs with a very large source 
  size. This is necessary to limit server memory usage.
* Cleanup and error checking on Special:Listredirects
* Clear up some instances of old OutputPage::sysopRequired() function usage
* Improve "upload disabled" notice
* Move parts of index.php to include/Wiki.php in an attempt to both cleanup index.php 
  and create a MediaWiki-class mediaWiki base object
* (bug 4104) Added OutputPageBeforeHTML hook for tweaking primary wiki output
  HTML on final output (cached or not)
* Avoid PHP notice on command-line scripts if empty argument is passed ('')
* (bug 4571) Partial fix hack for {{fulllurl:}} in action=render
* (bug 3502) Bowtie symbol for TeX
* (bug 4000) Support for \textstyle et al. in <math>
* (bug 1663) support color in TeX formulas
* (bug 2026) missing glue around \not= (TeX)
* (bug 4576) Missing '>' broke license selector's first option in IE, Opera
* Override $wgLocaltimezone in parser tests for us outside Iceland and UK
* Fix extra whitespace at end of Wiki.php, DESTROYS XML OUTPUT
* Remove redundant 'echo' statements from MonoBook.php
* (bug 1103) Fix up redirect handling for images, categories
  Redirects are now followed from the top-level, outside of the Article
  content loading and viewing, for clarity and consistency.
* (bug 4104) 'OutputPageBeforeHTML' hook to postprocess article HTML on
  page view (comes after parser cache, if used). Patch by ThomasV.
* Linker::formatComment corrupted the passed title object on PHP 5
  if the comment included a section link. Use clone() to make a safe copy.
* Add wfClone() wrapper since we're still using PHP 4 on some servers.
* Remove obsolete killthread.php
* Added wfDie() wrapper, and some manual die(-1), to force the return code
  to the shell to return nonzero when we crap out with an error.
* Allow input of the stub from a compressed file instead of stdin
  for dumpTextPass.php; easier to get errors back on the shell
* Added an attractive space on the namespace selector on contribs
* Move PHP 5-friendly XHTML doctype hack to Sanitizer, use for sig checks.
  Fixes use of named entities in sigs on PHP 5
* (bug 4482) Include move comment on the null edit as well as the redirect
* (bug 3990) Use existing session name if session.auto_start is on
  Fixes checks for open sessions, such as the cookie warning on login.
  Patch by Zbigniew Braniecki.
* Add cache-safe alternate sitenotice for anonymous users. (MediaWiki:Anonnotice)
  This is displayed instead of the regular sitenotice, if it exists. If not, the
  regular sitenotice shows. If that doesn't exist, the value of $wgSiteNotice is used,
  and if that's null, then nothing is shown.
* Spit the generated LocalSettings code out during the installer as an aid
  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.
* (bug 1122) gray out 'older revision' when viewing first article revision.
* Clearer message in DefaultSettings.php: edit LocalSettings.php instead
* MonoBook skin top link id changed from "contentTop" to "top" (shared with
  name attribute)
* (bug 3350) Missing label for move talk page checkbox.
* (bug 2108) Sort entries when using category browser
* (bug 2393) Fix MIME type for Atom feeds ( application/rss+atom )
* Add ".deps.php" include-file preloaders for some dynamically-loaded
  language and skin classes. Should help with the broken base-class
  problem under PHP 5 with APC as opcode cache. See details:
  http://mail.wikipedia.org/pipermail/wikitech-l/2006-January/033660.html
* Small changes to tabs in Monobook skin c/o Chris Ware
* (bug 4679) Work around buggy basename() function in PHP5, which breaks
  uploads of files starting with multibyte characters on Linux.
  wfBaseName() doesn't suffer this bug, and understands backslash on
  both Unix and Windows.
* (bug 3603) headscripts variable not hooked up to MonoBook skin
* Allow local cdb-based interwiki cache
* Use the "block", not the "protect" permission, when determining whether to
  show a "block user" link in the toolbox
* Fix backup dump text prefetch for XMLReader constant changes in PHP 5.1
* Suppress useless percentage indicator on output from 7za during dumps
* (bug 4633) Add (previous 200) (next 200) also above catlinks
* (bug 4686) Fix regression where ?diff=0&oldid=0 caused fatal error on
  pages with only one revision. Fixes message diff link on first edit.
* Fix dependence on hardcoded UNIQ_PREFIX in LanguageConverter.php
* Do not check lag on external storage servers
* Do not tidy interface messages (unless full tidy is set)
* Do not trust equality propagation and give more hints to MySQL
  optimizer for revision fetches (avoids index scans)
* Use revision rate for ETA in dump generation; it tends to be more stable
  than the per-page count for full-history dumps.
* Include timestamp in wfDebugLog breakouts
* (bug 4469) Namespace-specific notice to be displayed below site-notice
  Edit messages like "MediaWiki:Namespacenotice-" plus namespace name
  which is blank for main namespace, or like e.g. "User_talk"
* Adjust user login/creation form hooks to work with a captcha plugin
* (bug 1284) Inline styles for diffs in Recent Changes RSS/Atom feeds
* (bug 4824) IE7 beta 2 broke compatibility with PNG logo workarounds,
  and seems to work ok with other bits. No longer including the IE
  workarounds JavaScript for IE 7 and above.
* Fix extra namespace for Bulgarian
* (bug 4303) Add $wgFavicon to change the shorticon icon link from
  the default /favicon.ico or disable it (if set to false)
* (bug 3347) strip linebreaks in math error source
* (bug 4841) Warning for non-logged-in edits
* (bug 4867) Leave invalid EXIF date fields unformatted instead of
  showing a bogus current timestamp
* Reset $wgActionPaths during parser test; corrects some false failures
  in the automated test report.
* (bug 4875) Define a div containing the shared image description
* (bug 4860) Expose Title->userCan() as Hooks
* (bug 4828) Fix genitive month-name variable for cs, pl, uk
* (bug 4842) Fix 'show number of watching users' with enhanced RC
* (bug 4889) Fix image talk namespace for Tamil
* (bug 4147) Added cleanupWatchlist.php to clear out bogus watchlist entries
* (partial bug 3456) Disable auto redirect to Main Page after account creation
* (bug 4824) Separate out IE7 CSS compat hacks, fix for RTL pages
* Added support for wikidiff2 and similar external diff engines.
* Allow cookies to be shared between multiple wikis with a shared user database
* Blocking some Unicode whitespace characters in usernames. Should check
  if some or all should be blocked from all page titles.
* Unknown log types no longer throw notices everywhere in RecentChanges
* (bug 4502, 5017) Don't render potentially hostile deleted page contents
  on Special:Undelete by default; show source, with an optional preview.
  The revisions list no longer shows the latest text by default, so it can
  still be operated if the text is hostile.
* (bug 5013) Check for existence on "return to" links
* Removed trailing whitespace on a bunch more messages.
* Fix missing bad title check in Special:Booksources
* Remove empty booksources string in fy
* Avoid corrupting <gallery> inside <!-- comment -->
* Remove legacy PHPTal code, hasn't been maintained in ages.
* Tweak Userlogin include order for APC issue
* Don't try to link to current page on protection tab
* More exact checking in Title::equals() to fox moves of numerically similar
  page titles. (Odd hex title bug on 64-bit.)
* Fix explicit s-maxage=0 on raw pages; should help with proxy issues in
  generated stylesheets... hopefully...
* (bug 4685) More fixes for Slovenian project namespace
* Fixed and enhanced a little the Live Preview, which had been broken for some time
* Added article size limit, $wgMaxArticleSize
* (bug 4974) Don't follow redirected talk page on "new messages" link
* (bug 4970) Make category paging limits configurable
* (bug 4535) Warn user when editing CSS or JS subpage of a skin that doesn't exist
* Make Live Preview an user preference, still controllable by the global variable
* Rename the stub LanguageAls / LanguageGem_alsation to LanguageGsw to follow
  updated language code assignments
* (bug 5081) Remove bogus fix for invalid characters in links which simply
  broke use of legitimate multiple whitespace characters in bracketed link.
* (bug 4838) Add relative oldids (prev, next, cur) for raw pages
  Patch by Lupin
* (bug 5086) Force image resize dimensions on ImageMagick, as for instance
  "-resize 100x35!"; some thumbs were off due to differences in rounding and
  would be generated smaller than expected.
* (bug 5062) Width sometimes one pixel short when using maximum heights
* Purge thumbnails and metadata cache for action=purge on an image page
* (bug 4273) Bounce back with a message when attempting to submit a new comment 
  with an empty main textbox (user probably hit Enter in subject field)
* (bug 5141) Gracefully handle the new account link when createaccount off
* (bug 5150 and related) Fix missing ID attribute in HTML namespace selector
* (bug 5152) Proper HTML escaping on subpage breadcrumbs
* (bug 4855) Section edit links now have the section name in the title attribute.
* (bug 2115) Support shift-selecting multiple checkboxes with JavaScript.
* (bug 5161) Don't try to load template list for nonexistent pages
* (bug 5228) Workaround for broken LanguageConverter title overrides; avoid
  unnecessary hidden UI work when watch/unwatch is performed on edit
* Fixed bogus master fallback in external storage
* (bug 5246) Add speak:none to "hiddenStructure" class in main.css
* Further work on rev_deleted; changed to a bitfield with several data-hiding
  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.
* (bug 5270) Fix broken linktrail for br, cv, fr, hr, nn, oc, ta, wa
* Add a clickable contribs link in user tool links (rc, watchlist, diff view)
  to see how people like it. (There was one in the old hacked-up diff view.)
* (bug 5236) Load wikibits.js before site-customized javascript
* (bug 4119) Workaround for <nowiki> following link in Walloon; remove capitals
  from linktrail, as they're not used anywhere else.
* (bug 4781) Output links with the percent-encoding they're supplied with;
  save the normalization for internal link storage. The normalization is a bit
  buggy and can make incorrect foldings in the query string and such, so isn't
  reliable beyond the hostname where it's used for the spam bulk checker.
* Don't URL-decode in the title attribute for URL links; it can produce false
  results that don't code back to their original values.
* (bug 4611) Add user preference (default on) to add new pages to creators's watchlist
* (bug 5286) Fix regression in display of missing/bad revision IDs
* (bug 4729) Add user preference that marks a user's edits as patrolled if user is able to
* (bug 4630) Add user preference to prompt users when entering blank edit summaries
* Added optional suggest feature for the search box. Set wgUseAjax to true to
  enable it.
* (bug 5277) Use audio/midi rather that audio/mid
* (bug 5410) Use namespace name when a custom namespace's nstab-NS message is nonexistent
* (bug 5432) Fix inconsistencies in cookie names when using table prefixes
* Additional protections against HTML breakage in table parsing
* (bug 5355) Include skin name and style JS settings in page source;
  fixes regression where Opera 6/7 and KHTML CSS fixes weren't applied
  when wikibits.js was moved up before user JS inclusion.
* Added $wgColorErrors: if set, database error messages will be highlighted
  when running command-line scripts in a Unix terminal.
* (bug 5195) rebuildrecentchanges.php works again; Database::insertSelect now
  has a parameter for select options.
* Fix updateSearchIndex.php for new schema
* Fix bogus "filename too short" error when uploading files with a period in the base
  name, e.g. "Mr. Zee.png"
* (bug 2139) Show page title in subtitle when viewing "read only" page
* (bug 5452) Update language name for Cree



----

== MediaWiki 1.5.8 ==

March 26, 2006

MediaWiki 1.5.8 is a security and bugfix maintenance release.

A bug in decoding of certain encoded links could allow injection of raw
HTML into page output; this could potentially lead to XSS attacks.

Some minor UI fixes were also made, see the change log at the bottom of
this file.


== MediaWiki 1.5.7 ==

March 2, 2006

MediaWiki 1.5.7 is a bugfix maintenance release.

Most importantly, a security issue in the installer has been fixed. The bug 
affects new installations of 1.5.6 only. If the user specified the MySQL root 
password, to allow the installer to create an unprivileged account, the 
installer would not only create the new account but also change the root 
password to be equal to the password of the new account. 

Anyone affected by this bug will need to change the root password back 
manually. For information about how to change passwords in MySQL please see:
http://dev.mysql.com/doc/refman/5.1/en/passwords.html

This version includes fixes for compatibility with Internet Explorer 7
beta 2, and various other bugs; see the full changelog at the end of
the release notes.


== MediaWiki 1.5.6 ==

January 19, 2006

MediaWiki 1.5.6 is a security and bugfix maintenance release.

A bug in edit comment formatting could send PHP into an infinite loop
if certain malformed links were included. In most installations, this
would cause the script to fail after PHP's 30-second failsafe timeout.

Some improvements have been made to the installer which should make
installation possible on a system with a broken MySQL "root" account.

For several other minor fixes, see the complete changelog at the end
of this file.


== MediaWiki 1.5.5 ==

January 5, 2006

MediaWiki 1.5.5 is a security and bugfix maintenance release.

Detection for uploads of Windows Metafile (.wmf) images has been added
to help protect against a client-side vulnerability in unpatched Microsoft
Windows operating systems.

Sites which have enabled uploads and added non-standard file types
(such as .ogg, .doc, or .pdf) should upgrade to this release to ensure
that malicious .wmf files can't be uploaded with a fake extension;
such files could put visitors to the site at risk.

For more details on this, see:
http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability

Additionally, a maintenance script removeUnusedAccounts.php has been added;
this replaces an older Perl script which had not been updated for the new
schema in 1.5.


== MediaWiki 1.5.4 ==

December 21, 2005

MediaWiki 1.5.4 is a security and bugfix maintenance release.

A hardcoded internal placeholder string has been replaced with a random
one. This closes a hole where security checks in inline style attributes
could be bypassed, injecting JavaScript code that could execute in
Microsoft Internet Explorer.

Other browsers would not be vulnerable.

Several minor fixes are included in this release, most notably a fix
to clear the "you have new messages" flag properly for usernames
containing spaces when e-mail notification is enabled.

See the changelog at the end of the release notes for a full list of
fixes.


== MediaWiki 1.5.3 ==

December 4, 2005

MediaWiki 1.5.3 is a security and bugfix maintenance release.

Validation of the user language option was broken by a code change in
May 2005, opening the possibility of remote code execution as this
parameter is used in forming a class name dynamically created with
eval().

The validation has been corrected in this version. All prior 1.5 release
and prelease versions are affected; 1.4 and earlier and not affected.

Additionally several bugs have been fixed; see the changelog later in
this file for a complete list.


== MediaWiki 1.5.2 ==

November 2, 2005

MediaWiki 1.5.2 is a bugfix maintenance release.

A change in PHP 4.4.1 and PHP 5.1.0RC broke handling of extension and
<pre> sections, causing garbage data to be inserted in output and saved
edits. This version works around the change.

Several other glitches with MySQL 5.0 and PHP 5.0.5 were also fixed;
see the change log below for a complete list.


== MediaWiki 1.5.1 ==

October 26, 2005

MediaWiki 1.5.1 is a bugfix and security maintenance release, and is a
recommended upgrade for all installations.

This release includes further corrections to the inline CSS style sanitation
which works around a JavaScript "feature" on Microsoft Internet Explorer.
Users of Microsoft Internet Explorer for Windows may be vulnerable to
XSS injections on prior versions; users of standards-compliant browsers
are not vulnerable.

Major fixes include:
* Image pages work again with resizing disabled
* Works in MySQL 5.0 strict mode

There is experimental support in this release for explicitly declaring
the UTF-8 charset in the database; this has been tested with MySQL 5.0.15
but should work on 4.1 as well.

IMPORTANT: Changing this setting on an existing wiki may produce interesting
data corruption, depending on server configuration. Page contents should,
usually, be unaffected, but page titles and other items may be. Limitations
in MySQL's Unicode support mean that characters outside the BMP cannot be used
in page titles or various other fields when using this mode.

Table definitions are in maintenance/mysql5/tables.sql, and the runtime
option to send 'SET NAMES utf8' is set by $wgDBmysql5 = true.

(MySQL 3.23.x and 4.0.x do not support character set declarations; on these
versions MediaWiki simply works with UTF-8 data and MySQL is blissfully
unaware of it.)



== MediaWiki 1.5.0 final ==

October 5, 2005

MediaWiki 1.5.0 is the new stable release branch of MediaWiki, and is
recommended for all new installations.

Any wikis running a 1.5 beta or release candidate are strongly recommended
to upgrade to the final release, which includes a number of bug fixes and
a security fix for CSS bugs in Microsoft Internet Explorer.

IMPORTANT: Running a 1.3 or 1.4 wiki and don't want to jump to 1.5 yet?
Be sure to upgrade to 1.3.17 or 1.4.11, also released today. Versions
prior to 1.3.16 and 1.4.10 have a serious data corruption bug which is
triggered by a spambot known to operate in the wild.


=== What's new in 1.5? ===

Schema:
  The core table schema has changed significantly. This should make better
  use of the database's cache and disk I/O, and make significantly speed up
  rename and delete operations on pages with very long edit histories.
  
  Unfortunately this does mean upgrading a wiki of size from 1.4 will require
  some downtime for the schema restructuring, but future storage backend
  changes should be able to integrate into the new system more easily.

Permalinks:
  The current revision of a page now has a permanent 'oldid' number assigned
  immediately, and the id numbers are now preserved across deletion/undeletion.
  A permanent reference to the current revision of a page is now just a matter
  of going to the 'history' tab and copying the first link in the list.

Page move log:
  Renames of pages are now recorded in Special:Log and the page history.
  A handy revert link is available from the log for sysops.

Editing diff:
  Ever lost track of what you'd done so far during an edit? A 'Show diff'
  button on the edit page now makes it easy to remember.

Uploads:
  It's now possible to specify the final filename of an upload distinct
  from the original filename on your disk.
  
  An image link for a missing file will now take you straight to the upload page.
  
  More metadata is pre-extracted from uploaded images, which will ease pressure
  on disk or NFS volumes used to store images. EXIF metadata is displayed on
  the image description page if PHP is configured with the necessary module.
  
  If .svg files are added to the upload whitelist, you can choose to render
  them to rasterized .png images for inline display using one of several
  external helper programs. See DefaultSettings.php for SVG options.

User accounts:
  There are some changes to the user permissions system, with assignable
  groups. Note that this does *not* allow you to make pages which are only
  accessible to certain groups.
  
  For details see: http://meta.wikimedia.org/wiki/Help:User_rights

E-mail:
  User-to-user e-mail can now be restricted to require a mail-back confirmation
  first to reduce potential for abuse with false addresses.
  
  Updates to user talk pages and watchlist entries can optionally send e-mail
  notifications.

External hooks:
  A somewhat experimental interface for hooking in an external editor
  application is included.

And...
  A bunch of stuff we forgot to mention.


=== What's gone? ===

Latin-1:
  Wikis must now be encoded in Unicode UTF-8; this has been the default for
  some time, but some languages could optionally be installed in Latin-1 mode.
  This is no longer supported.
  
  You can check if your current wiki is in Latin-1 mode by using your browser's
  "view source"; look for a line like this:
  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  
  If it says charset=utf-8, you're ready. If it says charset=iso8859-1,
  you may need to convert your data. (English-language wikis avoiding
  any accented characters may be able to get away without conversion.)

MySQL 3.x:
  Some optimization hacks for MySQL 3.x have been removed as part of the schema
  clean-up (specifically, the inverse_timestamp fields).
  
  MediaWiki 1.5 may still run on 3.x, but wikis of non-trivial size should
  very seriously consider upgrading to a more modern release. MySQL 3.x support
  will probably be entirely dropped in the next major release.

Special:Maintenance
  These tools were, ironically enough, not really maintained. This special
  page has been removed; insofar as some of its pieces were useful and haven't
  already been supplanted by other special pages they should be rewritten in
  an efficient and safe manner in the future.


=== Caveats ===

Upgrade:
  Wikis in Latin-1 encoding are no longer supported; only Unicode UTF-8.
  A new option $wgLegacyEncoding is provided to allow on-the-fly recoding of
  old page text entries, but other metadata fields (titles, comments etc) need
  to be pre-converted. The standard upgrade process does not yet fully automate
  this, but you can try the alternate partial-upgrader in upgrade1_5.php.
  
  The upgrade from 1.4 to 1.5 schema has not been tested for all cases, so
  it's possible you may experience problems in some combinations.

Backups:
  The text entries of deleted pages are no longer removed from the main
  text table on deletion. If you provide public backup dumps of your databases,
  you will probably want to use the new XML-format dump generator, available
  as maintenance/dumpBackup.php.
  
  For more information on how we run our own public data dumps at Wikimedia,
  see http://meta.wikimedia.org/wiki/Data_dumps

PostgreSQL:
  The table definitions for PostgreSQL install are out of date. PostgreSQL
  support may return in later releases, pending appropriate patches.

MySQL 4.1+:
  Some users may encounter installation problems with MySQL 4.1 or higher
  due to strange charset encoding / collation configurations. Try setting
  to 'latin1' or 'utf8' if you encounter problems.



== MediaWiki 1.5 release candidate 4 ==

August 29, 2005

MediaWiki 1.5rc4 is a preview release of the new 1.5 release series.
It fixes compatibility with PHP 5.1, and corrects two cross-site scripting
security bugs:

* <math> tags were handled incorrectly when TeX rendering support is off,
  as in the default configuration.
* Extension or <nowiki> sections in Wiki table syntax could bypass HTML
  style attribute restrictions for cross-site scripting attacks against
  Microsoft Internet Explorer

Wikis where the optional math support has been *enabled* are not vulnerable
to the first, but are vulnerable to the second.



== MediaWiki 1.5 release candidate 3 ==

August 24, 2005

MediaWiki 1.5rc3 is a preview release of the new 1.5 release series.
It fixes several major problems in 1.5rc2:

* Fixed a cross-site scripting injection in the search form
  (broken since 1.5beta1)

* Fixed upgrades from 1.4 database schema
  (broken since 1.5rc2)

1.3 and 1.4 releases are not vulnerable to the XSS bug, but anyone
running an earlier 1.5 beta or release candidate should upgrade
immediately.


== MediaWiki 1.5 release candidate 2 ==

August 23, 2005

MediaWiki 1.5rc2 is a preview release of the new 1.5 release series.
Numerous bug fixes since last beta, plus a security fix; see change
log below for full details.

A flaw in the interaction between extensions and HTML attribute
sanitization was discovered which could allow unauthorized use
of offsite resources in style sheets, and possible exploitation
of a JavaScript injection feature on Microsoft Internet Explorer.

This version expands the returned text and properly checks it
before output.

A 1.5rc1 release was mistakenly made from the incorrect source code
branch; 1.5rc2 is identical to the actual 1.5rc1 in revision control
except for version number.


== MediaWiki 1.5 beta 4 ==

July 30, 2005

MediaWiki 1.5 beta 4 is a preview release of the new 1.5 release series.
A number of bugs have been fixed since beta 3; see the full changelist below.


== MediaWiki 1.5 beta 3 ==

July 7, 2005

MediaWiki 1.5 beta 3 is a preview release of the new 1.5 release
series, with a security update over beta 2.

Incorrect escaping of a parameter in the page move template could
be used to inject JavaScript code by getting a victim to visit a
maliciously constructed URL. Users of vulnerable releases are
recommended to upgrade to this release.

Vulnerable versions:
* 1.5 preview series: n <= 1.5beta2 vulnerable, fixed in 1.5beta3
* 1.4 stable series: 1.4beta6 <= n <= 1.4.5 vulnerable, fixed in 1.4.6
* 1.3 legacy series: not vulnerable

This release also includes several bug fixes and localization updates.
See the changelog at the end of this file for a detailed list.



== MediaWiki 1.5 beta 2 ==

July 5, 2005

MediaWiki 1.5 beta 2 is a preview release of the new 1.5 release series.
While most exciting new bugs should have been ironed out at this point,
third-party wiki operators should probably not run this beta release
on a public site without closely following additional development.

Anyone who _has_ been running beta 1 is very very strongly advised to
upgrade to beta 2, as it fixes many bugs from the previous beta including
a couple of HTML and SQL injections.

This release should be followed by one or two release candidates and
a 1.5.0 final within the next few weeks.

Beta upgraders, note there are some minor database changes. For upgrades
from 1.4, see the file UPGRADE for details on significant database and
configuration file changes.

Beta 2 includes a preliminary command-line XML wiki dump importer tool,
maintenance/importDump.php, paired with maintenance/dumpBackup.php.
These use the same format as Special:Export and Special:Import, able
to package a wiki's entire page set independent of the backend database
and compression format.


== MediaWiki 1.5 beta 1 ==

June 26, 2005

MediaWiki 1.5 beta 1 is a preview release, pretty much feature complete,
of the new 1.5 release series. There are several known and likely a number
of unknown bugs; it is not recommended to use this release in a production
environment but would be recommended for testing in mind of an upcoming
deployment.

A number of significant changes have been made since the alpha releases,
including database changes and a reworking of the user permissions settings.
See the file UPGRADE for details of upgrading and changing your prior
configuration settings for the new system.



== MediaWiki 1.5 alpha 2 ==

June 3, 2005

MediaWiki 1.5 alpha 2 includes a lot of bug fixes, feature merges,
and a security update.

Incorrect handling of page template inclusions made it possible to
inject JavaScript code into HTML attributes, which could lead to
cross-site scripting attacks on a publicly editable wiki.

Vulnerable releases and fix:
* 1.5 prerelease: fixed in 1.5alpha2
* 1.4 stable series: fixed in 1.4.5
* 1.3 legacy series: fixed in 1.3.13
* 1.2 series no longer supported; upgrade to 1.4.5 strongly recommended


== MediaWiki 1.5 alpha 1 ==

May 3, 2005

This is a testing preview release, being put out mainly to aid testers in
finding installation bugs and other major problems. It is strongly recommended
NOT to run a live production web site on this alpha release.

**  WARNING: USE OF THIS ALPHA RELEASE MAY INFEST YOUR HOUSE WITH  **
**  TERMITES, ROT YOUR TEETH,  GROW HAIR ON YOUR PALMS, AND PASTE  **
**  INNUENDO  INTO  YOUR  C.V.  RIGHT  BEFORE  A  JOB  INTERVIEW!  **
**  DON'T SAY WE DIDN'T WARN YOU, MAN. WE TOTALLY DID RIGHT HERE.  **


=== Smaller changes since 1.4 ===

Various bugfixes, small features, and a few experimental things:

* 'live preview' reduces preview reload burden on supported browsers
* support for external editors for files and wiki pages:
  http://meta.wikimedia.org/wiki/Help:External_editors
* Schema reworking: http://meta.wikimedia.org/wiki/Proposed_Database_Schema_Changes/October_2004
* (bug 15) Allow editors to view diff of their change before actually submitting an edit
* (bug 190) Hide your own edits on the watchlist
* (bug 510): Special:Randompage now works for other namespaces than NS_MAIN.
* (bug 1015) support for the full wikisyntax in <gallery> captions.
* (bug 1105) A "Destination filename" (save as) added to Special:Upload Upload.
* (bug 1352) Images on description pages now get thumbnailed regardless of whether the thumbnail is larger than the original.
* (bug 1662) A new magicword, {{CURRENTMONTHABBREV}} returns the abbreviation of the current month
* (bug 1668) 'Date format' supported for other languages than English, see:
  http://mail.wikipedia.org/pipermail/wikitech-l/2005-March/028364.html
* (bug 1739) A new magicword, {{REVISIONID}} give you the article or diff database
  revision id, useful for proper citation.
* (bug 1998) Updated the Russian translation.
* (bug 2064) Configurable JavaScript mimetype with $wgJsMimeType
* (bug 2084) Fixed a regular expression in includes/Title.php that was accepting invalid syntax like #REDIRECT [[foo] in redirects
* It's now possible to invert the namespace selection at Special:Allpages and Special:Contributions
* No longer using sorbs.net to check for open proxies by default.
* What was $wgDisableUploads is now $wgEnableUploads, and should be set to true if one wishes to enable uploads.
* Supplying a reason for a block is no longer mandatory
* Language conversion support for category pages
* $wgStyleSheetDirectory is no longer an alias for $wgStyleDirectory;
* Special:Movepage can now take paramaters like Special:Movepage/Page_to_move
  (used to just be able to take paramaters via a GET request like index.php?title=Special:Movepage&target=Page_to_move)
* (bug 2151) The delete summary now includes editor name, if only one has edited the article.
* (bug 2105) Fixed from argument to the PHP mail() function. A missing space could prevent sending mail with some versions of sendmail.
* (bug 2228) Updated the Slovak translation
* ...and more!


=== Changes since 1.5alpha1 ===

* (bug 73) Category sort key is set to file name when adding category to
  file description from upload page (previously it would be set to
  "Special:Upload", causing problems with category paging)
* (bug 419) The contents of the navigation toolbar are now editable through
  the MediaWiki namespace on the  MediaWiki:navbar page.
* (bug 498) The Views heading in MonoBook.php is now localizable
* (bug 898) The wiki can now do advanced sanity check on uploaded files
  including virus checks using external programs.
* (bug 1692) Fix margin on unwatch tab
* (bug 1906) Generalize project namespace for Latin localization, update namespaces
* (bug 1975) The name for Limburgish (li) changed from "Lèmburgs" to "Limburgs
* (bug 2019) Wrapped the output of Special:Version in <div dir='ltr'> in order
  to preserve the correct flow of text on RTL wikis.
* (bug 2067) Fixed crash on empty quoted HTML attribute
* (bug 2075) Corrected namespace definitions in Tamil localization
* (bug 2079) Removed links to Special:Maintenance from movepagetext message
* (bug 2094) Multiple use of a template produced wrong results in some cases
* (bug 2095) Triple-closing-bracket thing partly fixed
* (bug 2110) "noarticletext" should not display on Image page for "sharedupload" media
* (bug 2150) Fix tab indexes on edit form
* (bug 2152) Add missing bgcolor to attribute whitelist for <td> and <th>
* (bug 2176) Section edit 'show changes' button works correctly now
* (bug 2178) Use temp dir from environment in parser tests
* (bug 2217) Negative ISO years were incorrectly converted to BC notation
* (bug 2234) allow special chars in database passwords during install
* Deprecated the {{msg:template}} syntax for referring to templates, {{msg: is
  now the wikisyntax representation of wfMsgForContent()
* Fix for reading incorrectly re-gzipped HistoryBlob entries
* HistoryBlobStub: the last-used HistoryBlob is kept open to speed up
  multiple-revision pulls
* Add $wgLegacySchemaConversion update-time option to reduce amount of
  copying during the schema upgrade: creates HistoryBlobCurStub reference
  records in text instead of copying all the cur_text fields. Requires
  that the cur table be left in place until/unless such fields are migrated
  into the main text store.
* Special:Export now includes page, revision, and user id numbers by
  default (previously this was disabled for no particular reason)
* dumpBackup.php can dump the full database to Export XML, with current
  revisions only or complete histories.
* The group table was renamed to groups because "group" is a reserved word in
  SQL which caused some inconveniances.
* New fileicons for c, cpp, deb, dvi, exe, h, html, iso, java, mid, mov, o,
  ogg, pdf, ps, rm, rpm, tar, tex, ttf and txt files based on the KDE
  crystalsvg theme.
* Fixed a bug in Special:Newimages that made it impossible to search for '0'
* Added language variant support for Icelandic, now supports "Íslenzka"
* The #p-nav id in MonoBook is now #p-navigation
* Putting $4 in msg:userstatstext will now give the percentage of
  admnistrators out of normal users.
* links and brokenlinks tables merged to pagelinks; this will reduce pain
  dealing with moves and deletes of widely-linked pages.
* Add validate table and val_ip column through the updater.
* Simple rate limiter for edits and page moves; set $wgRateLimits
  (somewhat experimental; currently needs memcached)
* (bug 2262) Hide math preferences when TeX is not enabled
* (bug 2267) Don't generate thumbnail at the same size as the source image.
* Fix rebuildtextindex.inc for new schema
* Remove linkscc table code, no longer used.
* (bug 2271) Use faster text-only link replacement in image alt text
  instead of rerunning expensive link lookup and HTML generation.
* Only build the HTML attribute whitelist tree once.
* Replace wfMungeToUtf8 and do_html_entity_decode with a single function
  that does both numeric and named chars: Sanitizer::decodeCharReferences
* Removed some obsolete UTF-8 converter functions
* Fix function comment in debug dump of SQL statements
* (bug 2275) Update search index more or less right on page move
* (bug 2053) Move comment whitespace trimming from edit page to save;
  leaves the whitespace from the section comment there on preview.
* (bug 2274) Respect stub threshold in category page list
* (bug 2173) Fatal error when removing an article with an empty title from the watchlist
* Removed -f parameter from mail() usage, likely to cause failures and bounces.
* (bug 2130) Fixed interwiki links with fragments
* (bug 684) Accept an attribute parameter array on parser hook tags
* (bug 814) Integrate AuthPlugin changes to support Ryan Lane's external
  LDAP authentication plugin
* (bug 2034) Armor HTML attributes against template inclusion and links munging

=== Changes since 1.5alpha2 ===

* (bug 2319) Fix parse hook tag matching
* (bug 2329) Fix title formatting in several special pages
* (bug 2223) Add unique index on user_name field to prevent duplicate accounts
* (bug 1976) fix shared user database with a table prefix set
* (bug 2334) Accept null for attribs in wfElement without PHP warning
* (bug 2309) Allow templates and template parameters in HTML attribute zone,
  with proper validation checks. (regression from fix for 2304)
* Disallow close tags and enforce empty tags for <hr> and <br>
* Changed user_groups format quite a bit.
* (bug 2368) Avoid fatally breaking PHP 4.1.2 in a debug line
* (bug 2367) Insert correct redirect link record on page move
* (bug 2372) Fix rendering of empty-title inline interwiki links
* (bug 2384) Fix typo in regex for IP address checking
* (bug 650) Prominently link MySQL 4.1 help page in installer if a possible
  version conflict is detected
* (bug 2394) Undo incompatible breakage to {{msg:}} compatiblity includes
* (bug 1322) Use a shorter cl_sortkey field to avoid breaking on MySQL 4.1
  when the default charset is set to utf8
* (bug 2400) don't send confirmation mail on account creation if 
  $wgEmailAuthentication is false.
* (bug 2172) Fix problem with nowiki beeing replaced by marker strings
  when a template with a gallery was used.
* Guard Special:Userrights against form submission forgery
* (bug 2408) page_is_new was inverted (whoops!)
* Added wfMsgHtml() function for escaping messages and leaving params intact
* Fix ordering of Special:Listusers; fix groups list so it shows all groups
  when searching for a specific group and can't be split across pages
* (bug 1702) Display a handy upload link instead of a useless blank link
  for [[media:]] links to nonexistent files.
* (bug 873) Fix usage of createaccount permission; replaces $wgWhitelistAccount
* (bug 1805) Initialise $wgContLang before $wgUser
* (bug 2277) Added Friulian language file
* (bug 2457) The "Special page" href now links to the current special page
  rather than to "".
* (bug 1120) Updated the Czech translation
* A new magic word, {{SCRIPTPATH}}, returns $wgScriptPath
* A new magic word, {{SERVERNAME}}, returns $wgServerName
* A new magic word, {{NUMBEROFFILES}}, returns the number of rows in the image table
* Special:Imagelist displays titles with " " instead of "_"
* Less gratuitous munging of content sample in delete summary
* badaccess/badaccesstext to supercede sysop*, developer* messages
* Changed $wgGroupPermissions to more cut-n-paste-friendly format
* 'developer' group deprecated by default
* Special:Upload now uses 'upload' permission instead of hardcoding login check
* Add 'importupload' permission to disable direct uploads to Special:Import
* (bug 2459) Correct escaping in Special:Log prev/next links
* (bug 2462 etc) Taking out the experimental dash conversion; it broke too many
  things for the current parser to handle cleanly
* (bug 2467) Added a Turkish language file
* Fixed a bug in Special:Contributions that caused the namespace selection to
  be forgotten between submits
* Special:Watchlist/edit now has namespace subheadings
* (bug 1714) the "Save page" button now has right margin to seperate it from
  "Show preview" and "Show changes"
* Special:Statistics now supports action=raw, useful for bots designed to
  harwest e.g. article counts from multiple wikis.
* The copyright confirmation box at Special:Upload is now turned off by default
  and can be turned back on by setting $wgCopyrightAffirmation to a true value.
* Restored prior text for password reminder button and e-mail, replacing
  the factually inaccurate text that was there.
* (bug 2178) Fix temp dir check again
* (bug 2488) Format 'deletedtext' message as wikitext
* (bug 750) Keep line endings consistent in LocalSettings.php
* (bug 1577) Add 'printable version' tab in MonoBook for people who don't
  realize you can just hit print to get a nicely formatted printable page.
* Trim whitespace from option values to weather line-ending corruption problems
* Fixed a typo in the Romanian language file (NS_MESIA => NS_MEDIA)
* (bug 2504) Updated the Finnish translation
* (bug 2506, 2512) Updated the Nynorsk translation
* (bug 996) Replace $wgWhitelistEdit with 'edit' permission; fixup UPGRADE
  documentation about edit and read whitelists.
* (bug 2515) Fix incremental link table update
* Removed some wikipedia-specifica from LanguageXx.php's
* (bug 2496) Allow MediaWiki:edithelppage to point to external page
* Added a versionRequired() function to OutputPage, useful for extension
  writers that want to control what version of MediaWiki their extension
  can be used with.
* Serialized user objects now checked for versioning
* Fix for interwiki link regression
* Printable link shorter in monobook
* Experimental Latin-1-and-replication-friendly upgrader script
* (bug 2520) Don't show enotif options when disabled

== Changes since 1.5beta1 ==

* (bug 2531) Changed the interwiki name for sh (Serbocroatian) to
  Srpskohrvatski/Српскохрватски (was Српскохрватски (Srbskohrvatski))
* Nonzero return code for command-line scripts on wfDebugDieBacktrace()
* Conversion fix for empty old table in upgrade1_5.php
* Try reading revisions from master if no result on slave
* (bug 2538) Suppress notice on user serialized checks
* Fix paging on Special:Contributions
* (bug 2541) Fix unprotect tab
* (bug 1242) category list now show on edit page
* Skip sidebar entries where link text is '-'
* Convert non-UTF-8 URL parameters even if referer is local
* (bug 2460) <img> width & height properly filled when resizing image
* (bug 2273) deletion log comment used user interface langage
* Try reading revision _text_ from master if no result on slave
* Use content-language message cache for raw view of message pages
* (bug 2530) Not displaying talk pages on Special:Watchlist/edit
* Fixed a bug that would occour if $wgCapitalLinks was set to false, a user
  agent could create a username that began with a lower case letter that was
  not in the ASCII character set ( now user $wgContLang->ucfirst() instead of
  PHP ucfirst() )
* Moved the user name / password validity checking from
  LoginForm::addNewAccountInternal() to two new functions,
  User::isValidUserName() and User::isValidPassword(), extensions can now do
  these checks without rewriting code.
* Fix $wgSiteNotice when MediaWiki:Sitenotice is set to default '-'
* Fixed a bug where the watchlist count without talk pages would be off by a
  factor of two.
* upgrade1_5.php uses insert ignore, allows to skip image info initialization
* Fix namespaces in category list.
* Add rebuildImages.php to update image metadata fields
* Special:Ancientpages is expensive in new schema for now
* (bug 2568) Fixed a logic error in the Special:Statistics code which caused
  the displayed percentage of admins to be totally off.
* (bug 2560) Don't show blank width/height attributes for missing size
* Don't show bogus messages about watchlist notifications when disabled
* Don't show old debug messages in watchlist
* (bug 2576) Fix recording of transclusion links
* (bug 2577) Allow sysops to enter non-standard block times
* Fixed a bug where Special:Contributions wouldn't remember the 'invert'
  status between next/previous buttons.
* Move MonoBook printable link from tab to sidebar
* (bug 2567) Fix HTML escaping on category titles in list
* (bug 2562) Show rollback link for current revisions on diff pages
* (bug 2583) Add --missinig option on rebuildImages.php to add db entries
  for uploaded files that don't have them
* (bug 2572) Fix edit conflict handling
* (bug 2595) Show "Earlier" and "Latest" links on history go to the first/last
  page in the article history pager.
* Don't show empty-page text in 'Show changes' on new page
* (bug 2591) Check for end, fix limits on Whatlinkshere
* (bug 2584) Fix output of subcategory list
* (bug 2597) Don't crash when undeleting an image description page
* (bug 2564) Don't show "editingold" warning for recent revision
* Various code cleanup and HTML escaping fixlets
* Copy IRC-over-UDP update option from REL1_4
* (bug 2548) Keep summary on 'show changes' of section edit
* Move center on toc to title part to avoid breaking .toc style usage
* HTML sanitizer: correct multiple attributes by keeping last, not first
* (bug 2614) Fix section edit links on diff-to-current with oldid set
  Also fix navigation links on current-with-oldid view.
* (bug 2620) Return to prior behavior for some more things (such as
  subpage parent links) on current-diff view.
* (bug 2618) Fix regression from another fix; show initial preview for
  categories only if the page does not exist.
* (bug 2625) Keep group & user settings when paging in Listusers
* (bug 2627) Fix regression: diff radio button initial selection
* Copy fix for old search URLs with Lucene search plugin from REL1_4
* (bug 619) Don't use incompatible diff3 executable on non-Linux systems.
* (bug 2631) Fix Hebrew namespaces.
* (bug 2630) Indicate no-longer-valid cached entries in BrokenRedirects list
* (bug 2644, 2645) "cur" diff links in page history, watchlist and
  recentchanges should specify current ID explicitly.
* (bug 2609) Fix text justification preferenced with MonoBook skin.
* (bug 2594) Display article tab as red for non-existent articles.
* (bug 2656) Fix regression: prevent blocked users from reverting images
* (bug 2629) Automatically capitalize usernames again instead of
  rejecting lowercase with a useless error message
* (bug 2661) Fix link generation in contribs
* Add support for &preload=Page_name (load text of an existing page into
edit area) and &editintro=Page_name (load text of an existing page instead
of MediaWiki:Newpagetext) to &action=edit, if page is new.
* (bugs 2633, 2672, 2685, 2695) Fix Estonian, Portuguese, Italian, Finnish and
  Spanish numeric formatting
* Fixed Swedish numeric formatting
* (bug 2658) Fix signature time, localtime to match timezone offset again
* Files from shared repositories (e.g. commons) now display with their
  image description pages when viewed on local wikis.
* Restore compatibility namespace aliases for French Wikipedia
* Fix diff order on Enhanced RC 'changes' link
* (bug 2650) Fix national date type display on wikis that don't support
  dynamic date conversion.
* FiveUpgrade: large table hacks, install iw_trans update before links
* (bug 2648) Rename namespaces in Afrikaanse
* Special:Booksources checks if custom list page exists before using it
* (bug 1170) Fixed linktrail for da: and ru:
* (bug 2683) Really fix apostrophe escaping for toolbox tips
* (bug 923) Fix title and subtitle for rclinked special page
* (bug 2642) watchdetails message in several languages used  <a></a> instead of [ ]
* (bug 2181) basic CSB language localisation by Tomasz G. Sienicki (thanks for the patch)
* Fix correct use of escaping in edit toolbar bits
* Removed language conversion support from Icelandic
* (bug 2616) Fix proportional image scaling, giving correct height
* (bug 2640) Include width and height attributes on unscaled images
* Workaround for mysterious problem with bogus epoch If-Last-Modified reqs
* (bug 1109) Suppress compressed output on 304 responses
* (bug 2674) Include some site configuration info in export data:
  namespaces definitions, case-sensitivity, site name, version.
* Use xml:space="preserve" hint on export <text> elements
* Make language variant selection work again for zh

== Changes since 1.5beta2 ==

* Escaped & correctly in Special:Contributions
* (bug 2534) Hide edit sections with CSS to make right click to edit section work 
* (bug 2708) Avoid undefined notice on cookieless login attempt
* (bug 2188) Correct template namespace for Greek localization
* Fixed number formatting for Dutch
* (bug 1355) add class noprint to commonPrint.css
* (bug 2350) Massive update for Limburgish (li) language using Wikipédia
* Massive update for Arab (ar) language using Wikipédia
* (bug 1560) Massive update for Kurdish (ku) language using Wikipédia
* (bug 2709) Some messages were not read from database
* (bug 2416) Don't allow search engine robots to index or follow nonexisting articles
* Fix escaping in page move template.
* (bug 153) Discrepancy between thumbnail size and <img> height attribute

== Changes since 1.5beta3 ==

* Fix talk page move handling
* (bug 2721) New language file for Vietnamese with the Vietnamese number notation
* (bug 2749) &nbsp; would appear as a literal in image galleries for Cs, Fr, Fur, Pl and Sv
* (bug 787) external links being rendered when they only have one slash
* Fixed a missing typecast in Language::dateFormat() that would cause some
  interesting errors with signitures.
* (bug 2764) Number format for Nds
* (bug 1553) Stop forcing lowercase in Monobook skin for German language.
* (bug 1064) Implements Special:Unusedcategories
* (bug 2311) New language file for Macedonian
* Fix nohistory message on empty page history
* Fix fatal error in history when validation on
* Cleaned up email notification message formatting
* Finally fixed Special:Disambiguations that was broke since SCHEMA_WORK
* (bug 2761) fix capitalization of "i" in Turkish
* (bug 2789) memcached image metadata now cleared after deletion
* Add serialized version number to image metadata cache records
* (bug 2780) Fix thumbnail generation with GD for new image schema
* (bug 2791) Slovene numeric format
* (bug 655) Provide empty search form when searching for nothing
* Nynorsk numeric format fix
* (bug 2825) Fix regression in newtalk notifications for anons w/ enotif off
* (bug 2833) Fix bug in previous fix
* With $wgCapitalLinks off, accept off-by-first-letter-case in 'go' match
* Optional parameters for [[Special:Listusers]]
* (bug 2832) [[Special:Listadmins]] redirects to [[Special:Listusers/sysop]]
* (bug 785) Parser did not get out of <pre> with list elements
* Some shared upload fixes
* (bug 2768) section=new on nonexistent talk page does not add heading
* support preload= parameter for section=new
* show comment subject in preview when using section=new
* use comment form when creating a new talk page
* (bug 460) Properly handle <center> tags as a block.
* Undo inconsistent editing behavior change
* (bug 2835) Back out fix for bug 2802, caused regressions in category sort
* PHP 4.1.2 compatibility fix: define floatval() equivalent if missing
* (bug 2901) Number format for Catalan
* Special:Allpages performance hacks: index memcached caching, removed
  inverse checkbox, use friendlier relative offsets in index build
* Bring back "Chick" skin for mobile devices. It needs testing.
* Fix spelling of $wgForwardSearchUrl in DefaultSettings.php
* Specify USE INDEX on Allpages chunk queries, sometimes gets lost
  due to bogus optimization
* (bug 275) Section duplication fix
* Remove unused use of undefined variable in UserMailer
* Fix notice on search index update due to non-array
* (bug 2885) Fix fatal errors and notices in PHP 5.1.0beta3
* (bug 2931) Fix additional notices on reference use in PHP 4.4.0
* (bug 2774) Add three new $wgHooks to LogPage which enable extensions to add
  their own logtypes, see extensions/Renameuser/SpecialRenameuser.php for an
  example of this.
* (bug 740) Messages from extensions now appear in Special:Allmessages
* (bug 2857) fixed parsing of lists in <pre> sections
* (bug 796) Trackback support
* Fix 1.5 regression: weird, backwards diff links on new pages in enhanced RC
  are now suppressed as before.
* New skin: Simple
* "uselang" and "useskin" URL parameters can now be used in the URL when
  viewing a page, to change the language and skin of a page respectively.
* Skins can now be previewed in preferences
* (bug 2943) AuthPlugin::getCanonicalName() name canonicalization hook,
  patch from robla
* Wrap revision insert & page update in a transaction, rollback on late
  edit conflict.
* (bug 2953) 'other' didn't work in Special:Blockip when localized
* (bug 2958) Rollback and delete auto-summary should be in the project's
  content language
* Removed useless protectreason message
* Spelling fix: $wgUrlProtcols -> $wgUrlProtocols
* Switch Moldovan local name to cyrillic
* Fix typo in undefined array index access prevention
* (bug 2947) Update namespaces for sr localization
* (bug 2952) Added Asturian language file with translated namespaces
* (bug 2676) Apply a protective transformation on editing input/output
  for browsers that hit the Unicode blacklist. Patch by plugwash.
* (bug 2999) Fix encoding conversion of pl_title in upgrade1_5.php
* compressOld.php disabled, as it's known to be broken.


=== Changes since 1.5beta4 ===

* Fix Special:Allmessages under PHP 5
* (bug 2911) Special:Watchlist allowed only one type of limit at a time
* (bug 693) Special:Allmessages is excessively wide and redundant
* (bug 3001) Updated and applied live hack for recentchanges-based watchlist
* (bug 145) Finish 'exclude redirect' implementation in search form
* Rearranged Special:Movepage form to reduce confusion between destination
  title and reason input boxes
* (bug 2527) Always set destination filename when new file is selected
* (bug 3056) MySQL 3 compatibility fix: USE INDEX instead of FORCE INDEX
* PHP 4.1 compatibility fix: don't use new_link parameter to mysql_connect
  if running prior to 4.2.0 as it causes the call to fail
* (bug 3117) Fix display of upload size and type with tidy on
* (bug 1487) invalid html on empty list in banlist
* (bug 3017) Hotkey conflict for delete and show changes
* made pixel unit translateable and blocklistline now eats infiniteblock
  and expiringblock
* (bug 3092) Wrong numerical separator for big numbers in Serbian.
* (bug 2855) Credit for a uniq author showed its realname even with
  $wgAllowRealName=false.
* New special page: SpecialMostlinked
* (bug 2393) Fix MIME type for Atom feeds ( application/rss+atom )
* Fix display of read-only lockfile message
* Added a new hook, 'AddNewAccount', which is run after account creation
* Update all stats fields on recount.sql
* Include software-visible client IP address in Special:Version comment
  as a proxy debugging aid
* (bug 3162) Fix 'undefined property page_is_new' error on watchlist
* (bug 1734) granting db permissions failed with db usernames containg '-'
* (bug 3170) wikititlesuffix was removed, use pagetitle instead
* (bug 3187) watchlist text refer to unexistent "Stop watching" action
* (bug 3190) Added some date format choices for language sr
* (bug 1334) LanguageGa.php update
* (bug 1020) Changing user interface language does not work immediately
* (bug 2753) Some namespaces were not translated in LanguageTa.php (Tamil)
* (bug 3204) Fix typo breaking special pages in fy localization
* (bug 3210) Fix Media: links with remote image URL path
* (bug 3220) Fix escaping of block URLs in Recentchanges
* (bug 3238): Updated LanguageNn.php for 1_5 branch
* (bug 3192): properly check 'limit' parameter on Special:Contributions
* (bug 3244) Fix remote image loading hack, JavaScript injection on MSIE
* Fix URL sanitization in HTML attributes, which broke in this branch
* (bug 3475) anon contrib links on Special:Newpages


=== Changes since 1.5rc2 ===

* Fix upgrade from 1.4 due to version number check breakage
* Fix upgrade from 1.4 with no old revisions
* (bug 2108) Sort entries when using category browser
* XSS issue : now sanitize search query input


=== Changes since 1.5rc3 ===

* (bug 3280) Respect 'move' group permission on page moves
* (bug 2885) More PHP 5.1 fixes: skin, search, log, undelete
* Security fix for <math>
* Security fix for tables


=== Changes since 1.5rc4 ===

* (bug 3292) Fix move-over-redirect test when current entries are not plaintext
* (bug 2078) Don't hide watch tab on preview
* (bug 3306) Document $wgLocalTZoffset
* Support SVG rendering with rsvg
* Cap arbitrary SVG renders to given image size or $wgSVGMaxSize pixels wide
* (bug 3127) Render large SVGs at image page size correctly
* (bug 3448) Set page_len on undelete
* (bug 2800) Don't scale up small iamges on |thumb| without explicit size
* Use the real file link instead of the default-size rasterized version for
  large SVG images on image description page
* Include the file name/type/size line for non-resized images
* (bug 3412) Clean up date format handling so ~~~~-sigs work with default
  format as designed. Documentation comments updated.
* (bug 1423) LanguageJa.php update
* (bug 3405) Don't use raw letters as aliases of MSGNW: and SUBST:
* (bug 3485) Fix bogus warning about filename capitalization when off
* (bug 2792) Update rebuildrecentchanges.inc for new schema
* Special:Import/importDump fixes: report XML parse errors, accept <minor/>
* (bug 3489) PHP 5.1 compat problem with captioned images
* (bug 3350) Missing label for move talk page checkbox.
* (bug 2570) Add 'watch this page' checkbox on uploads, watch uploads
  by default when 'watchdefault' option is on
* (bug 3182) Clear link cache during import to prevent memory leak
* (bug 3573) Full Greek Translation
* (bug 3595) Warn and abort if importDump.php called in read-only mode.
* (bug 3598) Update message cache on message page deletion, patch by Tietew
* Blacklist additional MSIE CSS safety tricks


=== Changes since 1.5.0 ===

* (bug 3629) Fix date & time format for Frisian
* (bug 3641) Fix handling of unrecognized file uploads with known extensions
* (bug 3643) Fix image page display of large images with resizing disabled
* Fix meta robots tag on Special:Version again to avoid listing vulnerable
  versions for convenient harvesting by automated worms
* (bug 3684) Fix typo in fatal error backtraces in Hooks.php
* Backport fix for reference usage notice in Special:Search on PHP 4.4.0
* Backport database connect error display fix from HEAD
* (bug 2773) Print style sheet no longer overrides RTL text direction
* MonoBook skin top link id changed from "contentTop" to "top" (shared with
  name attribute)
* Wrap message page insertions in a transaction to speed up installation
* Fix Special:MovePage invalid HTML attribute for reason textarea
* Avoid notice warning on edit with no User-Agent header
* (bug 3734) Swapped out obsolete recount.sql with initStats.php
* (bug 3735) Fix to run under MySQL 5's strict mode
* (bug 3786) Experimental support for MySQL 4.1/5.0 utf8 charset mode
  NOTE: Enabling this may break existing wikis, and still doesn't
  work for all Unicode characters due to MySQL limitations.
* Sanitizer CSS comment processing order fix


=== Changes since 1.5.1 ===

* Fix Special:BrokenRedirects on MySQL 5.0
* (bug 3809) Backport fix for detecting diff3 failure
* MySQL 5.0 strict mode fix for moving unwatched pages
* (bug 3782) Throw fatal installation warning if mbstring.func_overload on.
  Why do people invent these crazy options that change language semantics?
* (bug 3762) Define missing Special:Import UI messages
* (bug 3771) Handle internal functions in backtrace in wfAbruptExit()
* (bug 3649) Remove obsolete, broken moveCustomMessages script
* (bug 3667) Add missing global in page move code
* (bug 3761) Avoid deprecation warnings in Special:Import
* (bug 2885) Remove unnecessary reference parameter which broke classic skin
  talk notification on PHP 5.0.5
* (bug 3845) Update attribute.php for 1.5 schema
* Fix Parser::unstrip on PHP 4.4.1 and PHP 5.1.0RC4


=== Changes since 1.5.2 ===

* (bug 3612) Remove old broken version of maintenance/compressOld.php
  The working version is in maintenance/storage/compressOld.php
* (bug 2740) Accept image deletions on 'enter' submit from MSIE
* (bug 3933) specify XML namespace for Atom 0.3 feeds
* (bug 3939) Don't try to load text for interwiki redirect target
* (bug 3948) Avoid notice warning in debug statement in bad search
* Recognize Special:Search consistently so read whitelist works
* (bug 4013) typo in fr
* (bug 3996) Fix text for new entries in RC RSS/Atom feed
* (bug 2894) Enhanced Recent Changes link fixes
* (bug 3065) Update both watched namespaces when renaming pages
* Move parentheses out of <a> link in Special:Contributions
* (bug 4071) Generate passwords long enough for $wgMinimalPasswordLength
* (bug 4035) Fix prev/next revision links on edit page
* (bug 4165) Correct validation for user language selection (data taint)
* Clearer message in DefaultSettings.php: edit LocalSettings.php instead


=== Changes since 1.5.3 ===

* (bug 3805) Clear 'new messages' flag properly in enotif mode
  for usernames containing spaces
* (bug 2714) Backlink from special:whatlinkshere was hard set as 'existing'
* (bug 4249) Typo in entities2literals.pl
* (bug 4233) Update for japanese language
* (bug 4279) Small correction to LanguageDa.php
* (bug 4267) Switch dv sd ug ks arc languages to RTL
* (bug 3991) Allow the operation of wikicode on Protect move only text
* Added AutoAuthenticate hook for external User object suppliers
* Parser internal placeholder string now fully randomized for safety

=== Changes since 1.5.4 ===

* Maintenance script to delete unused user accounts
* Added detection for WMF files (application/x-msmetafile), added this 
  MIME type to the default blacklist. Prevented inline display of images
  which are not of known image types. This is in response to
  http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability

=== Changes since 1.5.5 ===

* (bug 4258) When installing under IIS, $wgArticlePath = "$wgScript?title=$1" 
  should be set
* (bug 4510) Correct Barnes & Noble bookstore URLs
* (bug 4504) Use site language for namespace name resolution
* Installer fixes from HEAD backported; now uses a more sensible method of 
  establishing which mySQL user to use, which clears up bug 921 et al. Minor 
  changes to installer.
* Fix problem reported on mailing list where re-initialising stats didn't work 
  (can't insert duplicate rows with the same id field)
* (bug 1122) gray out 'older revision' when viewing first article revision.
* Respect database prefix in dumpHTML.inc
* Minor improvements to removeUnusedAccounts.php maintenance script
* Fix for single-digit week numbers from {{CURRENTWEEK}}, broken by PHP 4.4.1
* Removed read-only check from Database::query()
* Added --conf option to command line scripts, allowing the user to specify a 
  different LocalSettings.php.

=== Changes since 1.5.6 ===

* Default main page content improved per bug 4690
* Fix dependence on hardcoded UNIQ_PREFIX in LanguageConverter.php 
* Fixed Special:Unlockdb
* Maintenance script to delete unused text records
* Maintenance script to delete non-current revisions
* Maintenance script to wipe a page and all revisions from the database
* (bug 4768) Wrong Russian translation (typo)
* Performance bugfix: propagate equality manually for Revision fetches
* (bug 4773) PHP fatal error when invalid title passed to Special:Export
* Added missing table defs. for transcache to installer schemas
* (bug 4824) IE7 beta 2 broke compatibility with PNG logo workarounds,
  and seems to work ok with other bits. No longer including the IE
  workarounds JavaScript for IE 7 and above.
* (bug 2532) Image directory structure migration bug
* (bug 4881) Correction to the fix for 1487; Ipblocklist showed 'no blocks'
  message at the end of the list even if there were blocks.
* (bug 4805) Removed more wikipedia-references from LanguageUk.php
* Introduce $wgWantedPagesThreshold per bug 5011; Special:Wantedpages will not
  list pages with less than this number of links. Defaults to 1.
* Allow customisation of paging limits for items in categories using the
  $wgCategoryPagingLimit global, per bug 4970.
* Improve "nogomatch" text to make it more obvious that a page can be created.
* (bug 5113) Spelling error in French language file
* Don't change the password of the MySQL root user.

=== Changes since 1.5.7 ===

* (bug 5180) User login page shows inappropriate email blurb
* Add the "AbortNewAccount" hook on account creation; see hooks.txt for more info.
* Update default "exporttext" to reflect that Special:Import exists
* Add links to useful material to the default main page content
* Fix fragment HTML injection

=== Changes since 1.5.8 ===

* Fixed obvious mistakes in Finnish (fi) translation
* Fixed obvious mistakes in Kurdish (ku) translation
* Merge two #p-search .pBody statements i monobook/main.css
* (bug 5156) Update for Hebrew language (he) translation
* Add the "UserRights" hook on user group changes; see hooks.txt for more info.
* Translated "listingcontinuesabbrev" for German

=== 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.)

----

== MediaWiki 1.4.3 ==

(released 2005-04-28)

MediaWiki 1.4.3 is a bugfix release for the 1.4 stable release series.

Chiefly, this fixes a compatibility problem with PHP 5 and a minor link
table corruption bug on initial page save.


== MediaWiki 1.4.2 ==

(released 2005-04-20)

MediaWiki 1.4.2 is a security and bug fix release for the 1.4 stable release
series.

A cross-site scripting injection vulnerability was discovered, which
affects only MSIE clients and is only open if MediaWiki has been
manually configured to run output through HTML Tidy ($wgUseTidy).

Several other bugs are fixed in this release, see the changelog below.

All new installations are highly recommended to use 1.4.2 instead of
1.3.x; 1.3.x users should consider upgrading for bug fixes and new
features. Ealier 1.4.x release and beta users should upgrade to this
release for relevant bug fixes; see the changelog later in this file.


If you have trouble, remember to read this whole file and the online FAQ page
before asking for help:

http://meta.wikimedia.org/wiki/MediaWiki_FAQ


=== READ THIS FIRST: Upgrading ===

If upgrading from an older release, see the notes in the file UPGRADE.
There are a couple of minor database changes from the beta releases,
and somewhat larger changes from 1.3.x.

Upgrading from a previous 1.4.x stable release installation should
generally only require copying the new files over the old ones.


==== READ THIS FIRST, TOO: MySQL 4.1 AND 5.0 ====

MySQL 5.0 is a beta release, not yet ready for production use. If you
are using it, the notes below about 4.1 apply to you too.

If you have the choice of MySQL 4.0 or MySQL 4.1 and don't need 4.1 for
some other application, you should consider sticking with 4.0 for the
moment. 4.1 may require you to do extra fiddling to get things to work
due to changes that aren't fully backwards-compatible.

MySQL 4.1 has changed the authentication protocol in an incompatible
way; many PHP installations still use the older client libraries and
CANNOT CONNECT TO THE SERVER WITH A PASSWORD without some changes.

See: http://dev.mysql.com/doc/mysql/en/Old_client.html

If MySQL is set with utf-8 as the default character set, installation
may fail with "key too long" errors. Set the default charset to 'latin1'
for installation and it should work.

The mysqldump backup generator now applies an automatic conversion to
UTF-8, which may irretrivably corrupt your data. Pass the -charset option
with the original default charset (eg 'latin1') to skip the conversion.


==== READ THIS FIRST IF RUNNING ON A WINDOWS SERVER ====

MediaWiki is tested and deployed primarily under the Apache web server
on Linux Unix systems. There are known to be problems running on
Microsoft's IIS which are not fully resolved. If you have a choice,
try running under Apache on Windows, or on a Unix/Linux box instead.

If you're having trouble with blank pages on IIS and can't switch,
try the workaround suggested in this bug report:
http://bugzilla.wikimedia.org/show_bug.cgi?id=1763


=== New features ===

* 'Recentchanges Patrol' to mark new edits that haven't yet been viewed.
* New, searchable deletion/upload/protection logs
* Image gallery generation (Special:Newimages and <gallery> tag)
* SVG rasterization support (requires external support tools)
* Users can select from the available localizations to override the
  default user interface language.
* Traditional/Simplified Chinese conversion support
* rel="nofollow" support to combat linkspam

The current implementation adds this attribute to _all_ external URL
links in wiki text (but not internal [[wiki links]] or interwiki links).
To disable the attribute for _all_ external links, add this line to your
LocalSettings.php:

  $wgNoFollowLinks = false

For background information on nofollow see:

  http://www.google.com/googleblog/2005/01/preventing-comment-spam.html


=== Installation and compatibility ===

* The default MonoBook theme now works with PHP 5.0
* Installation on systems with PHP's safe mode or other oddities
  should work more reliably, as MonoBook no longer needs to
  create a compiled template file for the wiki to run.
* A table prefix may be specified, to avoid conflicts with other
  web applications forced to share a database.
* More thorough UTF-8 input validation; fixes non-ASCII uploaded
  filenames from Safari.
* Command-line database upgrade script.


=== Customizability ===

* Default user options can now be overridden in LocalSettings.
* Skins system more modular: templates and CSS are now in /skins/
  New skins can be dropped into this directory and used immediately.
* More extension hooks have been added.
* Authentication plugin hook.
* More internal code documentation, generated with phpdoc:
  http://www.mediawiki.org/docs/html/


=== Optimization ===

* For many operations, MediaWiki 1.4 should run faster and use
  less memory than MediaWiki 1.3. Page rendering is up to twice
  as fast. (Use a PHP accelerator such as Turck MMCache for best
  results with any PHP application, though!)
* The parser cache no longer requires memcached, and is enabled
  by default. This avoids a lot of re-rendering of pages that
  have been shown recently, greatly speeding longer page views.
* Support for compiled PHP modules to speed up page diff and
  Unicode validation/normalization. (Requires ability to compile
  and load PHP extensions).


=== What isn't ready yet ===

* A new user/groups permissions scheme has been held back to 1.5.
* An experimental SOAP interface will be made available as an extension
* PostgreSQL support is largely working, minus search and the installer.
  You can perform a manual installation.
* E-mail notification of watched page changes and verification of
  user-submitted e-mail addresses is not yet included.
* Log pages are not automatically imported into the new log table
  at upgrade time. A script to import old text log entries is
  incomplete, but may be available in later point releases.
* Some localizations are still incomplete.



== Changelog ==

=== Important security updates ===

A security audit found and fixed a number of problems. Users of MediaWiki
1.3.10 and earlier should upgrade to 1.3.11; users of 1.4 beta releases
prior to 1.4rc1 should upgrade immediately.

==== Cross-site scripting vulnerability ====

XSS injection points can be used to hijack session and authentication
cookies as well as more serious attacks.

* Media: links output raw text into an attribute value, potentially
  abusable for JavaScript injection. This has been corrected.
* Additional checks added to file upload to protect against MSIE and
  Safari MIME-type autodetection bugs.

As of 1.3.10/1.4beta6, per-user customized CSS and JavaScript is disabled
by default as a general precaution. Sites which want this ability may set
$wgAllowUserCss and $wgAllowUserJs in LocalSettings.php.


==== Cross-site request forgery ====

An attacker could use JavaScript-submitted forms to perform various
restricted actions by tricking an authenticated user into visiting
a malicious web page. A fix for page editing in 1.3.10/1.4beta6 has
been expanded in this release to other forms and functions.

Authors of bot tools may need to update their code to include the
additional fields.


==== Directory traversal ====

An unchecked parameter in image deletion could allow an authenticated
administrator to delete arbitary files in directories writable by the
web server, and confirm existence of files not deletable.


==== Older issues ====

Note that 1.4 beta releases prior to beta 5 include an input validation
error which could lead to execution of arbitrary PHP code on the server.
Users of older betas should upgrade immediately to the current version.


Beta 6 also introduces the use of rel="nofollow" attributes on external
links in wiki pages to reduce the effectiveness of wiki spam. This will
cause participating search engines to ignore external URL links from wiki
pages for purposes of page relevancy ranking.


=== Misc bugs fixed in beta 1 ===

* (bug 95) Templates no longer limited to 5 inclusions per page
* New user preference for limiting the image size for images on image description
  pages
* (bug 530) Allow user to preview article on first edit
* (bug 479) [[RFC 1234]] will now make an internal link
* (bug 511) PhpTal skins shown bogus 'What links here' etc on special pages
* (bug 770) Adding filter and username exact search match for Special:Listusers
* (bug 733) Installer die if it can not write LocalSettings.php
* (bug 705) Various special pages no more show the rss/atom feed links
* (bug 114) use category backlinks in Special:Recentchangeslinked

=== Beta 2 fixes ===

* (bug 987) Reverted bogus fix for bug 502
* (bug 992) Fix enhanced recent changes in PHP5
* (bug 1009) Fix Special:Makesysop when using table prefixes
* (bug 1010) fix broken Commons image link on Classic & Cologne Blue
* (bug 985) Fix auto-summary for section edits
* (bug 995) Close <a> tag
* (bug 1004) renamed norsk language links (twice)
* Login works again when using an old-style default skin
* Fix for load balancing mode, notify if using old settings format
* (bug 1014) Missing image size option on old accounts handled gracefully
* (bug 1027) Fix page moves with table prefix
* (bug 1018) Some pages fail with stub threshold enabled
* (bug 1024) Fix link to high-res image version on Image: pages
* (bug 1016) Fix handling of lines omitting Image: in a <gallery> tag
* security fix for image galleries
* (bug 1039) Avoid error message in certain message cache failure modes
* Fix string escaping with PostgreSQL
* (bug 1015) [partial] -- use comment formatter on image gallery text
* Allow customization of all UI languages
* use $wgForceUIMsgAsContentMsg to make regular UI messages act as content
* new user option for zh users to disable language conversion
* Defer message cache initialization, shaving a few ms off file cache hits
* Fixed Special:Allmessages when using table prefixes
* (bug 996) Fix $wgWhitelistRead to work again
* (bug 1028) fix page move over redirect to not fail on the unique index

=== Beta 3 fixes ===

* Hide RC patrol markers when patrol is disabled or not allowed to patrol.
* Fix language selection for upgraded accounts
* (bug 1076) navigation links in QueryPage should be translated by wgContLang.
* (bug 922) bogus DOS line endings in LanguageEl.php
* Fix index usage in contribs
* Caching and load limiting options for Recentchanges RSS/Atom feed
* (bug 1074) Add stock icons for non-image files in gallery/Newimages
* Add width and height attributes on thumbs in gallery/Newimages
* Enhance upload extension blacklist to protect against vulnerable
  Apache configurations

=== Beta 4 fixes ===

* (bug 1090) Fix sitesupport links in CB/classic skins
* Gracefully ignore non-legal titles in a <gallery>
* Fix message page caching behavior when $wgCapitalLinks is turned off
  after installation and the wiki is subsequently upgraded
* Database error messages include the database server name/address
* Paging support for large categories
* Fix image page scaling when thumbnail generation is disabled
* Select the content language in prefs when bogus interface language is set
* Fix interwiki links in edit comments
* Fix crash on banned user visit
* Avoid PHP warning messages when thumbnail not generated
* (bug 1157) List unblocks correctly in Special:Log
* Fix fatal errors in LanguageLi.php
* Undo overly bright, difficult to read colors in Cologne Blue
* (bug 1162) fix five-tilde date inserter
* Add raw signatures option for those who simply must have cute sigs
* (bug 1164) Let wikitext be used in Loginprompt and Loginend messages
* Add the dreaded <span> to the HTML whitelist
* (bug 1170) Fix Russian linktrail
* (bug 1168) Missing text on the bureaucrat log
* (bug 1180) Fix Makesysop on shared-user-table sites
* (bug 1178) Fix previous diff link when using 'oldid=0'
* (bug 1173) Stop blocked accounts from reverting/deleting images
* Keep generated stylesheets cache-separated for each user
* (bug 1175) Fix "preview on first edit" mode
* Fix revert bug caused by bug 1175 fix
* Fix CSS classes on minor, new, unpatrolled markers in enhanced RC
* Set MySQL 4 boolean search back to 'and' mode by default
* (bug 1193) Fix move-only page protection mode
* Fix zhtable Makefile to include the traditional manual table
* Add memcache timeout for the zh conversion tables
* Allow user customization of the zh conversion tables through 
  Mediawiki:zhconversiontable
* Add zh-min-man (back) to language names list
* Ported $wgCopyrightIcon setting from REL1_3A
* (bug 1218) Show the original image on image pages if the thumbnail would be
  bigger than the original image
* (bug 1213) i18n of Special:Log labels
* (bug 1013) Fix jbo, minnan in language names list
* Added magic word MAG_NOTITLECONVERT to indicate that the title of the page
  do not need to be converted. Useful in zh:
* (bug 1224) Use proper date messages for date reformatter
* (bug 1241) Don't show 'cont.' for first entry of the category list
* (bug 1240) Special:Preferences was broken in Slovenian locale when
  $wgUseDynamicDates is enabled
* Added magic word MAG_NOCONTENTCONVERT to supress the conversion of the
  content of an article. Useful in zh:
* write-lock for updating the zh conversion tables in memcache
* recursively parse subpages of MediaWiki:Zhconversiontable
* (bug 1144) Fix export for fy language
* make removal of an entry from zhconversiontable work
* (bug 752) Don't insert newline in link title for url with %0a
* Fix missing search box contents in MonoBook skin
* Add option to forward search directly to an external URL (eg google)
* Correctly highlight the fallback language variant when the selected 
  variant is disabled. Used in zh: only for now.

=== Beta 5 fixes ===

* (bug 1124) Fix ImageGallery XHTML compliance
* (bug 1186) news: in the middle of a word
* (bug 1283) Use underlining and borders to highlight additions/deletions
  in diff-view
* Use user's local timezone in Special:Log display
* Show filename for images in gallery by default (restore beta 3 behaviour)
* (bug 1201) Double-escaping in brokenlinks, imagelinks, categorylinks, searchindex
* When using squid reverse proxy, cache the redirect to the Main_Page
* (bug 1302) Fix Norwegian language file
* (bug 1205) Fix broken article saving in PHP 5.1
* (bug 1206) Implement CURRENTWEEK and CURRENTDOW magic keyword (will give
  number of the week and number of the day).
* (bug 1204) Blocks do not expire automatically
* (bug 1184) expiry time of indefinite blocks shown as the current time
* (bug 1317) Fix external links in image captions
* (bug 1084) Fix logo not rendering centrally in IE
* (bug 288) Fix tabs wrapping in IE6
* (bug 119) Fix full-width tabs with RTL text in IE
* (bug 1323) Fix logo rendering off-screen in IE with RTL language
* Show "block" link in Special:Recentchanges for logged in users, too, if
  wgUserSysopBans is true.
* (bug 1326) Use content language for '1movedto2' in edit history
* zh: Fix warning when HTTP_ACCEPT_LANGUAGE is not set
* zh: Fix double conversion for zh-sg and zh-hk
* (bug 1132) Fix concatenation of link lists in refreshLinks
* (bug 1101) Fix memory leak in refreshLinks
* (bug 1339) Fix order of @imports in Cologne Blue CSS
* Don't try to create links without namespaces ([[Category:]] link bug)
* Memcached data compression fixes
* Several valid XHTML fixes
* (bug 624) Fix IE freezing rendering whilst waiting for CSS with MonoBook
* (bug 211) Fix tabbed preferences with XHTML MIME type 
* Fix for script execution vulnerability.

=== Beta 6 fixes ===

* (bug 1335) implement 'tooltip-watch' in Language.php
* Fix linktrail for nn: language
* (bug 1214) Fix prev/next links in Special:Log
* (bug 1354) Fix linktrail for fo: language
* (bug 512) Reload generated CSS on preference change
* (bug 63) Fix displaying as if logged in after logout
* Set default MediaWiki:Sitenotice to '-', avoiding extra database hits
* Skip message cache initialization on raw page view (quick hack)
* Fix notice errors in wfDebugDieBacktrace() in XML callbacks
* Suppress notice error on bogus timestamp input (returns epoch as before)
* Remove unnecessary initialization and double-caching of parser variables
* Call-tree output mode for profiling
* (bug 730) configurable $wgRCMaxAge; don't try to update purged RC entries
* Add $wgNoFollowLinks option to add rel="nofollow" on external links
  (on by default)
* (bug 1130) Show actual title when moving page instead of encoded one.
* (bug 925) Fix headings containing <math>
* (bug 1131) Fix headings containing interwiki links
* (bug 1380) Update Nynorsk language file
* (bug 1232) Fix sorting of cached Special:Wantedpages in miser mode
* (bug 1217) Image within an image caption broke rendering
* (bug 1384) Make patrol signs have the same width for page moves as for edits
* (bug 1364) fix "clean up whitespace" in Title:SecureAndSplit
* (bug 1389) i18n for proxyblocker message
* Add fur/Furlan/Friulian to language names list
* Add TitleMoveComplete hook on page renames
* Allow simple comments for each translation rules in MW:Zhconversiontable
* (bug 1402) Make link color of tab subject page link on talk page indicate whether article exists
* (bug 1368) Fix SQL error on stopword/short word search w/ MySQL 3.x
* Translated Hebrew namespace names
* (bug 1429) Stop double-escaping of block comments; fix formatting
* (bug 829) Fix URL-escaping on block success 
* (bug 1228) Fix double-escaping on &amp; sequences in [enclosed] URLs
* (bug 1435) Fixed many CSS errors
* (bug 1457) Fix XHTML validation on category column list
* (bug 1458) Don't save if edit form submission is incomplete
* Logged-in edits and preview of user CSS/JS are now locked to a session token.
* Per-user CSS and JavaScript subpage customizations now disabled by default.
  They can be re-enabled via $wgAllowUserJs and $wgAllowUserCss.
* Removed .ogg from the default uploads whitelist as an extra precaution.
  If your web server is configured to serve Ogg files with the correct
  Content-Type header, you can re-add it in LocalSettings.php:
    $wgFileExtensions[] = 'ogg';

=== RC1 fixes ===

* Fix notice error on nonexistent template in wikitext system message
* (bug 1469) add missing <ul> tags on Special:Log
* (bug 1470) remove extra <ul> tags from Danish log messages
* Fix notice on purge w/ squid mode off
* (bug 1477) hide details of SQL error messages by default
  Set $wgShowSQLErrors = true for debugging.
* (bug 1430) Don't check for template data when editing page that doesn't exist
* Recentchanges table purging fixed when using table prefix
* (bug 1431) Avoid redundant objectcache garbage collection
* (bug 1474) Switch to better-cached index for statistics page count
* Run Unicode normalization on all input fields
* Fix translation for allpagesformtext2 in LanguageZh_cn and LanguageZh_tw
* Block image revert without valid login
* (bug 1446) stub Bambara (bm) language file using French messages
* (bug 1432) Update Estonian localization
* (bug 1471) unclosed <p> tag in Danish messages
* convertLinks script fixes
* Corrections to template loop detection
* XHTML encoding fix for usernames containing & in Special:Emailuser
* (for zh) Search for variant links even when conversion is turned off, 
  to help prevent duplicate articles.
* Disallow ISO 8859-1 C1 characters and "no-break space" in user names
  on Latin-1 wikis.
* Correct the name of the main page it LanguageIt
* Allow Special:Makesysop to work for usernames containing SQL special
  characters.
* Fix annoying blue line in Safari on scaled-down images on description page
* Increase upload sanity checks
* Fix XSS bug in Media: links
* Add cross-site form submission protection to various actions
* Fix fatal error on some dubious page titles
* Stub threshold displays correctly again


=== 1.4.0 final fixes ===

* (bug 65) Fix broken interwiki link encoding on Latin-1 wikis; force to UTF-8
* (bug 563) Fix UTF-8 interwiki URL redirects via Latin-1 wikis
* (bug 1536) Fix page info
* Support os (Ossetic) as language code, using Russian localization base
* (bug 1610) Support non (Old Norse) as language code, using Icelandic localization base
* (bug 1618) Properly list custom namespaces in Special:Allpages
* (bug 1622) Remove trailing' >' when using category browser
* (bug 1570) Fix php 4.2.x error on conflict merging
* (bug 1585) Fix page title on post-login redirection page
* Run UTF-8 validation on old text in Recentchanges RSS diffs
* (bug 1642) fix a mime type typo in img_auth.php
* Automated interwiki redirects only for local interwikis
* Respect read-only mode on block removals
* Trim old illegal characters from syndication feeds
* Reduce message cache outage recovery delay from 1 day to 5 minutes
* (bug 1403) Update Finnish localization
* (bug 1478) Punjabi localization
* (bug 1667) Update script 5 second countdown.
* (bug 1057) Fix logging table encoding (error on MySQL 4.1)
* (bug 1680) Fix linktrail for fo
* (bug 1653) Removing hardcoded messages in Special:Allmessages
* (bug 1594) Render a hyphen in a formula as &minus; in HTML
* (bug 1495) Fall back to default language MediaWiki: for custom messages
* (bug 1617) Show different error messages for "user does not
    exist" and "wrong password" when using AuthPlugin
* (bug 1532), (bug 1544) Changed language names for
    'bn', 'bo', 'dv', 'dz', 'ht', 'ii', 'li', 'lo', 'ng', 'or', 'pa', 'si',
    'ti', 've' 
* Fix editing on non-Esperanto wiki with user language pref set to Esperanto
* Make conversion table for zh-sg default to zh-cn, and zh-hk default to zh-tw
* Fix PHP notice in MonoBook when counters disabled
* (bug 1696) Update namespaces, dates in uk localization
* (bug 551) Installer warns about magic_quotes_runtime and magic_quotes_sybase
  instead of trying to install with corrupt table files
* Installer no longer tries to move non-default MediaWiki: pages into Template:
* User-to-user email disabled by default ($wgEnableUserEmail)


=== 1.4.1 fixes ===

* (bug 1720) fix genitive month names for uk
* (bug 1704) fixed untranslateable string in Special:Log
* (bug 1638) Added Belrusian language file
* (bug 1736) typo in SpecialValidate.php
* (bug 73) Upload doesn't run edit updates on description page (links,
  search index and categories)
* (bug 646) <math> fails to recognize \ll and \gg
* (bug 926) \div element from TeX not supported in <math> element
* (bug 1147) add \checkmark to whitelist in texutil.ml
* (bug 937) \limits function from LaTeX not supported in <math> element
* Support for manually converting article title to different Chinese
  variants (for zh)
* (bug 1488, bug 1744) Fix encoding for preferences, dates in Latin-1 mode
* (bug 1042) Fix UTF-8 case conversion for PHP <4.3 with mbstring extension
* Fix code typo that broke article credits display
* Installation fixes for running under IIS
* (bug 1556) login page tab order. "remember" checkbox now come after password.
* SQL debug log fixlets
* (bug 1815) Fix namespace in old revision display with mismatched title
* (bug 1788) Fix link duplication when edit/upload comment includes newlines
* Change default on $wgSysopUserBans and $wgSysopRangeBans to true
* Fix link conversion for URL request
* (bug 1851) Updated download URL for the SCIM packages used by zhtable
* (bug 1853) Try stripping quotes from term for 'go' title match
* Fix missing function in Latin1 mode
* (bug 1860) Anchors of interwiki links did not get normalized
* (bug 1847) accept lowercase x in ISBN, do not accept invalid A-W,Y,Z
* Fix link conversion for URL request, hopefully without breaking the wiki
* (bug 1849) New option allows to consider categorized images as used on
  Special:Unusedimages
* Localized category namespace for ka (Georgian)
* (bug 1107) Work around includes problem in installer when parent dir is not
  readable by the web server
* (bug 1927) Incorrect escaping on wikitext message in Blockip


=== 1.4.2 fixes ===

* Fix math options in Finnish localization
* Use in-process Tidy extension if available when $wgUseTidy is on
* (bug 1933) Fix PATH_INFO usage under IIS with PHP ISAPI module
* (bug 1188) <nowiki> in {{subst:}} includes fixed
* (bug 1936) <!-- comments --> in {{subst:}} includes fixed
* Fix a potential MSIE JavaScript injection vector in Tidy mode


=== 1.4.3 fixes ===

* (bug 1636) Refs like &#0355; were misinterpreted as octal in some places
* (bug 1163) Special:Undelete showed oldest revision instead of newest
* (bug 1938) Fix escaping of illegal character references in link text
* (bug 1997) Fix for error on display of renamed items in Recentchanges on PHP5
* (bug 1949) Profiling typo in rare error case
* (bug 1963) Fix deletion log link when $wgCapitalLinks is off
* (bug 1970) Don't show move tab for immobile pages
* (bug 1770) Page creation recorded links from the 'newarticletext' message
* Optional change to the site_stats table. When applied, this removes the need 
  for expensive queries in Special:Statistics.


=== 1.4.4 fixes ===

* (bug 725) Let dir="ltr" attribute work again in MonoBook on RTL languages
* (bug 2024) Skip JavaScript error for custom skins where .js message not set
* (bug 2025) Updated Indonesian localization
* (bug 2039) Updated Lithuanian localization


=== 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.3.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://meta.wikipedia.org/wiki/Help:Contents


=== Mailing list ===

A MediaWiki-l mailing list has been set up distinct from the Wikipedia
wikitech-l list:

  http://mail.wikipedia.org/mailman/listinfo/mediawiki-l

A low-traffic announcements-only list is also available:
  http://mail.wikipedia.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
