Introduce an "AbortMove" hook
[lhc/web/wiklou.git] / RELEASE-NOTES
index d9d871f..61dd6ae 100644 (file)
@@ -22,19 +22,27 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Marking edits as bot edits with Special:Contributions?bot=1 now requires the
   markbotedit permission, rather than the rollback permission previously used.
   This permission is assigned by default to the sysop group.
+* MediaWiki now checks if serialized files are out of date. New configuration
+  variable $wgCheckSerialized can be set to false to enable old behavior (i.e.
+  to not check and assume they are always up to date)
+* The rollback permission is now assigned by default to all logged-in users. It
+  can also now be rate-limited using the normal mechanism.
+* New configuration variable $wgExtraLanguageNames
 
 === New features in 1.12 ===
 * (bug 10735) Add a warning for non-descriptive filenames at Special:Upload
 * Add {{filepath:}} parser function to get full path to an uploaded file,
   complementing {{fullurl:}} for pages.
-* (bug 11136) If using Postgres, search path is explicitly set if wgDBmwschema is 
-  not set to 'mediawiki', allowing multiple mediawiki instances per user.
+* (bug 11136) If using Postgres, search path is explicitly set if wgDBmwschema 
+  is not set to 'mediawiki', allowing multiple mediawiki instances per user.
 * (bug 11151) Add descriptive <title> to revision history page
 * (bug 5412) Add feed links for the site to all pages
 * (bug 11353) Add ability to retrieve raw section content via action=raw
-* Show relevant deletion log lines when uploading a previously deleted file
-* On SkinTemplate based skins (like MonoBook), omit confusing "edit"/"view source"
-  tab entirely if the page doesn't exist and the user isn't allowed to create it
+* (bug 6909) Show relevant deletion log lines when uploading a previously 
+  deleted file
+* On SkinTemplate based skins (like MonoBook), omit confusing "edit"/"view
+  source" tab entirely if the page doesn't exist and the user isn't allowed to
+  create it
 * Clarify instructions given when an exception is thrown
 * AuthPlugin added strictUserAuth() method to allow per-user override
   of the strict() authentication behavior.
@@ -51,7 +59,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
   on Special:Newpages
 * LogLine hook added to allow formatting custom entries in Special:Log.
 * Support for Iranian calendar
-* (bug 1401) Allow hiding logged-in users, bots and patrolled pages on Special:Newpages
+* (bug 1401) Allow hiding logged-in users, bots and patrolled pages on 
+  Special:Newpages
 * ChangesListInsertArticleLink hook added for adding extra article info to RC.
 * MediaWikiPerformAction hook added for diverting control after the main
   globals have been set up but before any actions have been taken.
@@ -65,12 +74,26 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Support for Hebrew numerals in dates and times
 * (bug 11315) Signatures can be configured in [[MediaWiki:Signature]] and
   [[MediaWiki:Signature-anon]]
-* Signatures for anonymous users link to Special:Contributions page rather than user page
+* Signatures for anonymous users link to Special:Contributions page rather than 
+  user page
 * Added --override switch for disabled pages in updateSpecialPages.php
-* Provide a unique message (ipb_blocked_as_range) if unblock of a single IP fails 
+* Provide a unique message (ipb_blocked_as_range) if unblock of a single IP 
+  fails 
   because it is part of a blocked range.
 * (bug 3973) Use a separate message for the email content when an account is 
   created by another user
+* dumpTextPass.php can spawn fetchText.php as a subprocess, which should restart
+  cleanly if database connections fail unpleasantly.
+* (bug 12028) Add Special:Listbots as shortcut for Special:Listusers/bot
+* (bug 9633) Add a predefined list of delete reasons to the deletion form
+* Show a warning message when creating/editing a user (talk) page but the user
+  does not exists
+* (bug 8396) Ignore out-of-date serialised message caches
+* (bug 12195) Undeleting pages now requires 'undelete' permission
+* (bug 11810) Localize displayed semicolons
+* (bug 11657) Support for Thai solar calendar
+* (bug 943) RSS feed for Recentchangeslinked
+* Introduced AbortMove hook
 
 === Bug fixes in 1.12 ===
 
@@ -98,17 +121,21 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 4021) Fix for MySQL wildcard search
 * (bug 10699) Fix for MySQL phrase search
 * (bug 11321) Fix width of gallerybox when option "width=xxx" is used
-* (bug 7890) Special:BrokenRedirects links deleted redirects to a non-existent page
+* (bug 7890) Special:BrokenRedirects links deleted redirects to a non-existent 
+  page
 * Fix initial statistics when installing: add correct values
 * (bug 11342) Fix several 'returnto' links in permissions/error pages which
   linked to the main page instead of targetted page
-* Strike the link to the redirect rather than using an asterisk in Special:Listredirects
+* Strike the link to the redirect rather than using an asterisk in 
+  Special:Listredirects
 * (bug 11355) Fix false positives in Safe Mode and other config detection
   when boolean settings are disabled with 'Off' via php_admin_value/php_value
-* (bug 11292) Fixed unserialize errors with Postgres by creating special Blob object.
+* (bug 11292) Fixed unserialize errors with Postgres by creating special Blob 
+  object.
 * (bug 11363) Make all metadata fields bytea when using Postgres.
-* (bug 11331) Add buildConcat() and use CASE not IF for DB compatibility. Make oldimage 
-  cascade delete via image table for Postgres, change fa_storage_key TEXT.
+* (bug 11331) Add buildConcat() and use CASE not IF for DB compatibility. Make 
+  oldimage cascade delete via image table for Postgres, change fa_storage_key 
+  TEXT.
 * (bug 11438) Live Preview chops returned text
 * Show the right message on account creation when the user is blocked
 * (bug 11450) Fix creation of objectcache table on upgrade
@@ -146,7 +173,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 11744) Incorrect return value from Title::getParentCategories()
 * (bug 11762) Fix native language name of Akan (ak)
 * (bug 11722) Fix inconsistent case in unprotect tabs
-* (bug 11795) Be more paranoid about confirming accept-encoding header is present
+* (bug 11795) Be more paranoid about confirming accept-encoding header is 
+  present
 * (bug 11809) Use formatNum() for more numbers
 * (bug 11818) Fix native language name of Inuktitut (iu)
 * Remove all commas when parsing float numbers in sorted tables
@@ -173,6 +201,99 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * Ensure that rate-limiting is applied to rollbacks.
 * Make a better rate-limiting error message (i.e. a normal MW error,
   rather than an "Internal Server Error").
+* Do not present an image bigger than the source when 'frameless' option is used
+  (to be consistent with the 'thumb' option now)
+* Support {{PLURAL}} for import log
+* Make sure that the correct log entries are shown on Special:Userrights even
+  for users with special characters in their names
+* The number of watching users in watchlists was always reported as 1
+* namespaceDupes.php no longer dies when coming across an illegal title
+* (bug 12143) Do not show a link to patrol new pages for non existent pages
+* (bug 12166) Fix XHTML validity for Special:Emailuser
+* (bug 11346) Users who cannot edit a page can now no longer unprotect it.
+* (bug 451) Add a generic Traditional / Simplified Chinese conversion table, 
+  instead of a Traditional conversion with Taiwan variant, and a Simplified 
+  conversion with China variant.
+* (bug 12178) Fix wpReason parameter to action=delete, again.
+* Graceful behavior for updateRestrictions.php if a page already has records
+  in the page_restrictions matching its old page_restrictions field.
+  May help with odd upgrade issues or race condition.
+* (bug 11993) Remove contentsub "revision history"
+* (bug 11952) Ensure we quote_ident() all schema names as needed
+   inside of the DatabasePostgres.php file.
+* (bug 12184) Exceptions now sent to stderr instead of stdout for command-line
+  scripts, making for cleaner reporting during batch jobs. PHP errors will also
+  be redirected in most cases on PHP 5.2.4 and later, switching 'display_errors'
+  to 'stderr' at runtime.
+* (bug 12148) Text highlight wasn't applied to cleanly deleted and added
+  lines in diff output
+* (bug 10166) Fix a PHP warning in Language::getMagic
+* Only mark rollback edits as minor if the user can normally mark edits as minor.
+
+== Parser changes in 1.12 ==
+
+The parser pass order has changed from
+
+   * Extension tag strip and render
+   * HTML normalisation and security
+   * Template expansion
+   * Main section...
+
+to 
+
+   * Template and extension tag parse to intermediate representation
+   * Template expansion and extension rendering
+   * HTML normalisation and security
+   * Main section...
+
+The main effect of this for the user is that the rules for uncovered syntax 
+have changed. 
+
+Uncovered main-pass syntax, such as HTML tags, are now generally valid, whereas
+previously in some cases they were escaped. For example, you could have "<ta" in
+one template, and "ble>" in another template, and put them together to make a
+valid <table> tag. Previously the result would have been "&lt;table&gt;". 
+
+Uncovered preprocessor syntax is generally not recognised. For example, if you
+have "{{a" in Template:A and "b}}" in Template:B, then "{{a}}{{b}}" will be
+converted to a literal "{{ab}}" rather than the contents of Template:Ab. This
+was the case previously in HTML output mode, and is now uniformly the case in 
+the other modes as well. HTML-style comments uncovered by template expansion
+will not be recognised by the preprocessor and hence will not prevent template
+expansion within them, but they will be stripped by the following HTML security 
+pass.
+
+The rules for template expansion during message transformation were
+counterintuitive, mostly accidental and buggy. There are a few small changes in
+this version: for example, templates with dynamic names, as in "{{ {{a}} }}",
+are fully expanded as they are in HTML mode, whereas previously only the inner
+template was expanded. I'd like to make some larger breaking changes to message
+transformation, after a review of typical use cases.
+
+The header identification routines for section edit and for numbering section
+edit links have been merged. This removes a significant failure mode and fixes a
+whole category of bugs (tracked by bug #4899). Wikitext headings uncovered by
+template expansion or comment removal will still be rendered into a heading tag,
+and will get an entry in the TOC, but will not have a section edit link. 
+HTML-style headings will also not have a section edit link. Valid wikitext
+headings present in the template source text will get a template section edit 
+link. This is a major break from previous behaviour, but I believe the effects 
+are almost entirely beneficial.
+
+The main motivation for making these changes was performance. The new two-pass
+preprocessor can skip "dead branches" in template expansion, such as unfollowed
+#switch cases and unused defaults for template arguments. This provides a
+significant performance improvement in template-heavy test cases taken from 
+Wikipedia. Parser function hooks can participate in this performance improvement
+by using the new SFH_OBJECT_ARGS flag during registration.
+
+The pre-expand include size limit has been removed, since there's no efficient
+way to calculate such a figure, and it would now be meaningless for performance
+anyway. The "preprocessor node count" takes its place, with a generous default
+limit.
+
+The context in which XML-style extension tags are called has changed, so
+extensions which make use of the parser state may need compatibility changes.
 
 === API changes in 1.12 ===
 
@@ -180,30 +301,48 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 
 * (bug 11275) Enable descending sort in categorymembers
 * (bug 11308) Allow the API to output the image metadata
-* (bug 11296) Temporary fix for escaping of ampersands inside links in pretty-printed
+* (bug 11296) Temporary fix for escaping of ampersands inside links in 
+  pretty-printed
   help document.
 * (bug 11405) Expand templates implementation in the API
-* (bug 11218) Add option to feedwatchlist to display multiple revisions for each page.
-* (bug 11404) Provide name of exception caught in error code field of internal api 
-  error messages.
+* (bug 11218) Add option to feedwatchlist to display multiple revisions for each
+  page.
+* (bug 11404) Provide name of exception caught in error code field of internal 
+  api error messages.
 * (bug 11534) rvendid doesn't work
 * Fixed rvlimit of the revisions query to only enforce the lower query limit if
   revision content is requested.
-* Include svn revision number (if install is checked-out from svn) in siteinfo query.
+* Include svn revision number (if install is checked-out from svn) in siteinfo 
+  query.
 * (bug 11173) Allow limited wikicode rendering via api.php
 * (bug 11572) API should provide interface for expanding templates
 * (bug 11569) Login should return the cookie prefix 
-* (bug 11632) Breaking change: Specify the type of a change in the recentchanges list
-  as 'edit', 'new', 'log' instead of 0, 1, 2, respectively.
+* (bug 11632) Breaking change: Specify the type of a change in the recentchanges
+  list as 'edit', 'new', 'log' instead of 0, 1, 2, respectively.
 * Compatibility fix for PHP 5.0.x.
 * Add rctype parameter to list=recentchanges that filters by type
-* Add apprtype and apprlevel parameters to filter list=allpages by protection types and levels
+* Add apprtype and apprlevel parameters to filter list=allpages by protection 
+  types and levels
 * Add apdir parameter to enable listing all pages from Z to A
 * (bug 11721) Use a different title for results than for the help page.
-* (bug 11562) Added a user_registration parameter/field to the list=allusers query.
+* (bug 11562) Added a user_registration parameter/field to the list=allusers 
+  query.
 * (bug 11588) Preserve document structure for empty dataset in backlinks query.
-* Outputting list of all user preferences rather than having to request them by name
+* Outputting list of all user preferences rather than having to request them by 
+  name
 * (bug 11206) api.php should honor maxlag
+* Make prop=info check for restrictions in the old format too.
+* Add apihighlimits permission, default for sysops and bots
+* Add limit=max to use maximal limit
+* Add action=parse to render parser output. Use it instead of action=render which is deprecated.
+* Add rvtoken=rollback to prop=revisions
+* Add meta=allmessages to get messages from site's messages cache.
+* Use bold and italics highlighting only in API help
+* Added action={block,changerights,delete,move,protect,rollback,unblock,undelete} and list={blocks,deletedrevs}
+* Fixed sessionid attribute in action=login
+* Standardized limits. Revisions and Deletedrevisions formerly using 200 / 10000, 
+  now 500 / 5000, in line with other modules.
+
 
 === Languages updated in 1.12 ===
 
@@ -231,8 +370,12 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Buginese (bug) (new)
 * Catalan (ca)
 * ZamboangueƱo (cbk-zam) (new)
+* Min Dong (cdo) (new)
 * Chechen (ce)
 * Cebuano (ceb) (new)
+* Corsican (co) (new)
+* Crimean Tatar (Cyrillic) (crh-cyrl) (new)
+* Crimean Tatar (Latin) (crh-latn) (new)
 * Czech (cs)
 * Cassubian (csb)
 * Old Church Slavonic (cu)
@@ -240,11 +383,14 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Danish (da)
 * German (de)
 * Lower Sorbian (dsb) (new)
+* Middle Dutch (dum) (new)
 * Divehi (dv)
 * Ewe (ee) (new)
 * Greek (el)
 * English (en)
 * Spanish (es)
+* Estonian (et)
+* Euskara (eu)
 * Extremaduran (ext)
 * Finnish (fi)
 * Persian (fa)
@@ -269,7 +415,9 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Armenian (hy)
 * Interlingua (ia)
 * Indonesian (id)
+* Interlingue (ie) (new)
 * Ingush (inh) (new)
+* Ido (io) (new)
 * Icelandic (is)
 * Italian (it)
 * Japanese (ja)
@@ -295,11 +443,13 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Erzya (myv) (new)
 * Nahuatl (nah)
 * Min-nan (nan)
+* Napolitan (nap)
 * Low Saxon (nds)
 * Dutch Low Saxon (nds-nl)
 * Newari (new) (new)
 * Dutch (nl)
 * Norwegian (no)
+* Novial (nov) (new)
 * Occitan (oc)
 * Deitsch (pdc) (new)
 * Polish (pl)
@@ -314,6 +464,7 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Sakha (sah)
 * Sardinian (sc)
 * Sicilian (scn)
+* Scots (sco) (new)
 * Sindhi (sd)
 * Sassarese (sdc) (new)
 * Seri (sei) (new)
@@ -332,6 +483,7 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Turkish (tr)
 * Tuvinian (tyv)
 * Uyghur (ug)
+* Uzbek (uz)
 * Venitian (vec)
 * Vietnamese (vi)
 * West Flemish (vls)
@@ -343,9 +495,11 @@ Full API documentation is available at http://www.mediawiki.org/wiki/API
 * Cantonese (yue)
 * Zhuang (za)
 * Zealandic (zea)
+* Chinese (zh)
 * Old Chinese/Late Time Chinese (zh-classical)
 * Chinese (Simplified) (zh-hans)
 * Chinese (Traditional) (zh-hant)
+* Chinese (Taiwan) (zh-tw)
 
 == Compatibility ==