diff options
1925 files changed, 549638 insertions, 488381 deletions
@@ -2,4 +2,5 @@ host=gerrit.wikimedia.org port=29418 project=mediawiki/core.git -defaultbranch=REL1_19 +defaultbranch=REL1_20 +defaultrebase=0 diff --git a/.jshintignore b/.jshintignore new file mode 100644 index 00000000..2f44f870 --- /dev/null +++ b/.jshintignore @@ -0,0 +1,28 @@ +# third-party libs +extensions/ +node_modules/ +resources/jquery/jquery.appear.js +resources/jquery/jquery.async.js +resources/jquery/jquery.cycle.all.js +resources/jquery/jquery.cookie.js +resources/jquery/jquery.farbtastic.js +resources/jquery/jquery.form.js +resources/jquery/jquery.hoverIntent.js +resources/jquery/jquery.js +resources/jquery/jquery.json.js +resources/jquery/jquery.jStorage.js +resources/jquery/jquery.mockjax.js +resources/jquery/jquery.qunit.js +resources/jquery/jquery.validate.js +resources/jquery/jquery.xmldom.js +resources/jquery.effects/ +resources/jquery.tipsy/ +resources/jquery.ui/ +resources/mediawiki.libs/ +tests/jasmine/ + +# legacy scripts +skins/common/ + +# github.com/jshint/jshint/issues/729 +tests/qunit/suites/resources/mediawiki/mediawiki.jscompat.test.js diff --git a/.jshintrc b/.jshintrc new file mode 100644 index 00000000..31dc9a0c --- /dev/null +++ b/.jshintrc @@ -0,0 +1,25 @@ +{ + "predef": [ + "mediaWiki", + "jQuery", + "QUnit", + "mw", + "$" + ], + + "bitwise": true, + "immed": true, + "latedef": true, + "newcap": true, + "noarg": true, + "nonew": true, + "undef": true, + + "laxbreak": true, + "loopfunc": true, + "smarttabs": true, + "multistr": true, + "onecase": true, + + "browser": true +} @@ -1,4 +1,4 @@ -MediaWiki 1.19 is a collaborative project released under the +MediaWiki 1.20 is a collaborative project released under the GNU General Public License v2. We would like to recognize the following names for their contribution to the product. @@ -7,8 +7,9 @@ following names for their contribution to the product. * Alex Z. * Alexandre Emsenhuber * Andrew Garrett +* Arthur Richards * Aryeh Gregor -* Antoine Musso +* Antoine Musso * Brian Wolff * Bertrand Grondin * Brad Jorsch @@ -24,7 +25,7 @@ following names for their contribution to the product. * Derk-Jan Hartman * Domas Mituzas * Emufarmers -* Fran Rogers +* Fran McCrory * Greg Sabino Mullane * Guy Van den Broeck * Happy-melon @@ -86,7 +87,9 @@ following names for their contribution to the product. * Amir E. Aharoni * Andrew Dunbar * Antonio Ospite +* Asier Lostalé * Azliq7 +* Bagariavivek * Beau * Bergi * Borislav Manolov @@ -95,6 +98,8 @@ following names for their contribution to the product. * Brianna Laugher * Carlin * Carsten Nielsen +* Christian Neubauer +* Christian Aistleitner * Conrad Irwin * cryptocoryne * Dan Barrett @@ -104,6 +109,7 @@ following names for their contribution to the product. * David Baumgarten * Denny Vrandecic * Edward Z. Yang +* Elvis Stansvik * Erwin Dokter * FunPika * fomafix @@ -112,13 +118,16 @@ following names for their contribution to the product. * Grunny * Harry Burt * Ireas +* Jacob Block * Jaska Zedlik * Jeremy Baron * Jidanni * Jimmy Xu * Jonathan Wiltshire -* Karun Dambietz +* John N +* Karun Dambiec * Kim Hyun-Joon +* Krenair * Lee Worden * Lejonel * liangent @@ -129,6 +138,7 @@ following names for their contribution to the product. * Manuel Menal * Marcin Cieślak * Marcus Buck +* Mark A. Pelletier * Marooned * Mathias Ertl * Matthew Britton @@ -143,6 +153,7 @@ following names for their contribution to the product. * Michael Walsh * Mike Horvath * Mormegil +* moejoe0000 * MrBlueSky * MrPete * MZMcBride @@ -154,6 +165,7 @@ following names for their contribution to the product. * Nx.devnull * Nikola Kovacs * Nikolaos S. Karastathis +* Nischay Nahata * Olaf Lenz * Olivier Finlay Beaton * Paul Copperman @@ -164,12 +176,14 @@ following names for their contribution to the product. * rgcjonas * Robert Treat * RockMFR +* Russell Blau * Rusty Burchfield * Salvatore Ingala * Scott Colcord * Simon Walker * Solitarius * Søren Løvborg +* Srikanth Lakshmanan * Stefano Codari * Str4nd * svip @@ -181,6 +195,7 @@ following names for their contribution to the product. * Ville Stadista * Vitaliy Filippov * William Demchick +* Yusuke Matsubara * Yuvaraj Pandian T * Zachary Hauri @@ -191,4 +206,4 @@ following names for their contribution to the product. * Meno25 * Rotem Liss * Shinjiman -* Translatewiki.net Translators http://translatewiki.net/wiki/Special:ListUsers/translator +* Translatewiki.net Translators https://translatewiki.net/wiki/Special:ListUsers/translator @@ -63,7 +63,7 @@ This a maintenance and security release of the MediaWiki 1.18 branch. for Oracle DB. * (bug 33117) prop=revisions allows deleted text to be exposed through cache pollution. -=== MediaWiki 1.18.0 === +== MediaWiki 1.18.0 == 2011-11-24 This is the first stable release of the MediaWiki 1.18 branch. @@ -6,7 +6,7 @@ Starting with MediaWiki 1.2.0, it's possible to install and configure the wiki "in-place", as long as you have the necessary prerequisites available. Required software: -* Web server with PHP 5.2.3 or higher. +* Web server with PHP 5.3.2 or higher. * A SQL server, the following types are supported ** MySQL 5.0.2 or higher ** PostgreSQL 8.3 or higher @@ -1,5 +1,3 @@ -2008-11-11 - For system requirements, installation and upgrade details, see the files RELEASE-NOTES, INSTALL, and UPGRADE. @@ -48,8 +46,7 @@ The MediaWiki software was written by: * Victor Vasiliev * Rotem Liss * Platonides -* Antoine Musso -* Several others (view CREDITS for a more complete list) +* Many others (view CREDITS for a more complete list) The contributors hold the copyright to this work, and it is licensed under the terms of the GNU General Public License, version 2 or later (see @@ -88,8 +85,8 @@ The official website for MediaWiki is located at: http://www.mediawiki.org/ -The code is currently maintained in a Subversion repository at -svn.wikimedia.org. See http://www.mediawiki.org/wiki/Subversion for details. +The code is currently maintained in a Git repository at +gerrit.wikimedia.org. See http://www.mediawiki.org/wiki/Git for details. Please report bugs and make feature requests in our Bugzilla system: diff --git a/RELEASE-NOTES-1.19 b/RELEASE-NOTES-1.19 deleted file mode 100644 index b72816f7..00000000 --- a/RELEASE-NOTES-1.19 +++ /dev/null @@ -1,488 +0,0 @@ -= MediaWiki release notes = - -Security reminder: MediaWiki does not require PHP's register_globals -setting since version 1.2.0. If you have it on, turn it '''off''' if you can. - -== MediaWiki 1.19.3 == - -This is a security release of the MediaWiki 1.19 branch - -=== Changes since 1.19.2 === -* (bug 40995) Prevent session fixation in Special:UserLogin (CVE-2012-5391) -* (bug 41400) Prevent linker regex from exceeding PCRE backtrack limit -* Increase permitted runtime for testParserTest (only used for continuous - integration). -* Updated messages translations from http://translatewiki.net/ - -== MediaWiki 1.19.2 == - -This is a security release of the MediaWiki 1.19 branch - -=== Changes since 1.19.1 === -* (bug 39700) File: link to non-existing file can inject html -* (bug 39823) Hidden block text leaking to admins -* (bug 39184) LDAP password leakage -* (bug 39180) Disallow framing of api results -* (bug 37587) Enforce language codes to be html safe -* (bug 39824) Check global blocks on account creation - -== MediaWiki 1.19 == - -MediaWiki 1.19 is a large release that contains many new features and bug -fixes. This is a summary of the major changes of interest to users. -You can consult the RELEASE-NOTES-1.19 file for the full list of changes in -this version. - -Our thanks go to everyone who helped to improve MediaWiki by testing the beta -release and submitting bug reports. - -=== Changes since 1.19.1 === -* (bug 38406) Properly quote table names in DatabaseBase::tableName() -* (bug 38249) Parser will throw an exception instead of outputting gibberish if - PCRE is compiled without support for unicode properties. - -=== Changes since 1.19.0 === -* (bug 36568) Fixed "Illegal string offset 'LIMIT'" warnings in updater -* (bug 36938) Correctly escape uselang attribute to prevent xss -* Expanded Blacklist for SVG Files - -=== Changes since 1.19 beta 2 === -* Special:Watchlist no longer sets links to feed when the user is anonymous. -* (bug 35961) Hash comparison should always be strict. -* Fix broken email confirmation expiration caused by MWCryptRand changes. -* (bug 35671) PHP Notice: Undefined index: gettoken in includes/api/ApiMain.php - on line 598. -* (bug 36042) 'show' causes a fatal in blocks API. - -=== Changes since 1.19 beta 1 === -* (bug 35014) Including a special page no longer sets the page's title to the - included page -* (bug 35019) Edit summaries are no longer transformed in notification e-mails -* (bug 35152) Help message for e-mail is shown again in user preferences -* (bug 34887) $3 and $4 parameters are now substituted correctly in message - "movepage-moved" -* (bug 34841) Edit links are no longer displayed when display old page versions -* (bug 34889) User name should be normalized on Special:Contributions -* (bug 35051) If heading has a trailing space after == then its name is not - preloaded into edit summary on section edit -* (bug 31417) New ID mw-content-text around the actual page text, without categories, - contentSub, ... The same div often also contains the class mw-content-ltr/rtl. -* (bug 35303) Proxy and DNS blacklist blocking works again -* (bug 22555) Remove or skip strip markers from tag hooks like <nowiki> in - core parser functions which operate on strings, such as padleft. -* (bug 18295) Don't expose strip markers when a tag appears inside a link - inside a heading. -* (bug 34212) ApiBlock/ApiUnblock allow action to take place without a token - parameter present. -* (bug 34907) Fixed exposure of tokens through load.php that could have facilitated - CSRF attacks. -* (bug 35317) CSRF in Special:Upload. - -=== Configuration changes in 1.19 === -* Removed SkinTemplateSetupPageCss hook; use BeforePageDisplay instead. -* (bug 27132) movefile right granted by default to registered users. -* Default cookie lifetime ($wgCookieExpiration) is increased to 180 days. -* (bug 31204) Removed old user.user_options. -* $wgMaxImageArea now applies to jpeg files if they are not scaled with - ImageMagick. -* Introduced $wgQueryPageDefaultLimit (defaults to 50) for the number of - items to show by default on query pages (special pages such as Whatlinkshere). -* (bug 32470) Increase the length of ug_group. -* (bug 32239) Removed $wgEnableTooltipsAndAccesskeys. -* Removed $wgVectorShowVariantName. -* Removed $wgExtensionAliasesFiles. Use $wgExtensionMessagesFiles. -* Removed $wgResourceLoaderInlinePrivateModules , now always enabled. - -=== New features in 1.19 === -* (bug 19838) Add ability to get all interwiki prefixes also if the interwiki - cache is used. -* $wgDnsBlacklistUrls now accepts an array with url and key as the - elements to work with DNSBLs that require keys, such as - Project Honeypot. -* (bug 30022) Add support for custom loadScript sources to ResourceLoader. -* (bug 19052) Unicode space separator characters (Zs) now terminates external - links and images links. -* (bug 30160) Add public method to mw.loader to get module names from registry. -* (bug 15558) Parameters to special pages included in wikitext can now be passed - as with templates. -* Installer now issues a warning if mod_security is present. -* (bug 29455) Add support for a filter callback function in jQuery byteLimit - plugin. -* Added two new GetLocalURL hooks to better serve extensions working on a - limited type of titles. -* Added a --no-updates flag to importDump.php that skips updating the links - tables. -* Most presentational html attributes like valign are now converted to inline - css style rules. These attributes were removed from html5 and so we clean - them up when $wgHtml5 is enabled. This can be disabled using - $wgCleanupPresentationalAttributes. -* Magic words (time and number-formatting ones, plus DIRECTIONMARK, but not - NAMESPACE) now depend on the page content language instead of the site - language. In theory this sets the right magic words in system messages, - although they are not used there. -* (bug 30451) Add page_props to RefreshLinks::deleteLinksFromNonexistent. -* (bug 30450) Clear page_props table on page deletion. -* Hook added to check for exempt from account creation throttle. -* (bug 30344) Add configuration variable for setting custom priorities when - generating sitemaps. -* (bug 96170) Add array support for space-separated list attributes (like - 'class') in the Html helper class. -* (bug 26470) Add checkered background image on hover on files pages. -* (bug 30774) mediawiki.html: Add support for numbers and booleans in the - attribute values and element contents. -* Conversion script between Tifinagh and Latin for the Tachelhit language. -* (bug 16755) Add options 'noreplace' and 'noerror' to {{DEFAULTSORT:...}} - to stop it from replace an already existing default sort, and suppress error. -* (bug 18578) Rewrote revision delete related messages to allow better - localisation. -* (bug 30364) LanguageConverter now depends on the page content language - instead of the wiki content language. -* Jump links will now be usable in CSS-capable browsers instead of only - in outdated text browsers. -* New common*.css files usable by skins instead of having to copy piles - of generic styles from MonoBook or Vector's css. -* Some deprecated presentational html attributes will now be automatically - converted to css. -* (bug 31297) Add support for namespaces in Special:RecentChanges subpage filter - syntax. -* The default user signature now contains a talk link in addition to the user link. -* (bug 25306) Add link of old page title to MediaWiki:Delete_and_move_reason. -* Added hook BitmapHandlerCheckImageArea. -* (bug 30062) Add $wgDBprefix option to cli installer. -* getUserPermissionsErrors and getUserPermissionsErrorsExpensive hooks are now - also called when checking for 'read' permission. -* Introduce $wgEnableSearchContributorsByIP which controls whether searching - for an IP address redirects to the contributions list for that IP. -* (bug 8859) Database::update should take array of tables too. -* (bug 19698) Add "Inverse namespaces" option to Special:Contributions. -* (bug 24037) Add byte length of revision to Special:Contributions. -* (bug 1672) Added $wgDisableUploadScriptChecks to allow uploading of files - containing HTML or JS. DISABLING THESE CHECKS IS VERY DANGEROUS. -* New path mappings can be added using the WebRequestPathInfoRouter hook - and adding paths to the PathRouter. -* (bug 32666) Special:ActiveUsers now allows a subpage to be used as value for the - "target" query parameter (eg. Special:ActiveUsers/Username). -* New JavaScript variable wgPageContentLanguage. -* Added new debugging toolbar, enabled with $wgDebugToolbar. -* Differences in the history page now uses slightly better colors for people - perceiving colors differently. -* (bug 32879) Upgrade jQuery to 1.7.1. -* jQuery UI upgraded to 1.8.17. -* Extensions can use the 'Language::getMessagesFileName' hook to define new - languages using messages files outside of core. -* (bug 32512) Add 'Associated namespace' checkbox to Special:Contributions. -* Added $wgSend404Code, true by default, which can be set to false to send a - 200 status code instead of 404 for nonexistent articles. -* (bug 33447) Link to the broken image tracking category from Special:Wantedfiles. -* (bug 27724) Add timestamp to job queue. -* (bug 30339) Implement SpecialPage for running javascript tests. Disabled by default, due to - tests potentially being harmful, not to be run on a production wiki. - Enable by setting $wgEnableJavaScriptTest to true. -* Extensions can use the RequestContextCreateSkin hook to override what skin is - loaded in some contexts. -* (bug 33456) Show $wgQueryCacheLimit on cached query pages. -* (bug 10574) Add an option to allow all pages to be exported by Special:Export. -* mediawiki.js Message object constructor is now publicly available as mw.Message. -* (bug 29309) Allow CSS class per tooltip (tipsy). -* (bug 33565) Add accesskey/tooltip to submit buttons on Special:EditWatchlist. -* (bug 17959) Inline rendering/thumbnailing for Gimp XCF images. -* (bug 27775) Namespace has it's own XML tag in the XML dump file. -* (bug 30513) Redirect tag is now resolved in XML dump file. -* sha1 xml tag added to XML dump file. -* (bug 33646) Badtitle error page now emits a 400 HTTP status. -* Special:MovePage now has a dropdown menu for namespaces. -* (bug 34420) Special:Version now shows git HEAD sha1 when available. -* (bug 33952) Refactor mw.toolbar to allow dynamic additions at any time. - -=== Bug fixes in 1.19 === -* $wgUploadNavigationUrl should be used for file redlinks if. - $wgUploadMissingFileUrl is not set. The first was used for this - until the second was introduced in 1.17. -* BREAKING CHANGE: Style rules for wikitable are now more specific and prevent - inheritance to nested tables which caused various issues (bug 30485 and bug - 33434). If your wiki has overriden rules for ".wikitable", please revise them and - adjust where neccecary. For comparison, use the "table.wikitable" section in - skins/common/shared.css as base. -* $wgUploadNavigationUrl is now used for file redlinks if - $wgUploadMissingFileUrl is not set. The former was used for this until the - second was introduced in 1.17. -* (bug 27894) Move 'editondblclick' event listener down from body to - div#bodyContent. -* (bug 30172) The check for posix_isatty() in maintenance scripts did not detect - when the function exists but is disabled. Introduced - Maintenance::posix_isatty(). -* (bug 30264) Changed installer-generated LocalSettings.php to use - require_once() instead require() for included extensions. -* Do not convert text in the user interface language to another script. -* (bug 26283) Previewing user JS/CSS pages didn't load other user JS/CSS pages. -* (bug 26486) ResourceLoader modules with paths to nonexistent files cause PHP - warnings/notices to be thrown. -* (bug 30335) Fix for HTMLForms using GET that were breaking when non-friendly - URLs are used. -* (bug 28649) Preventing half truncated multi-byte unicode characters when - truncating log comments. -* Show --batch-size option in help of maintenance scripts that support it. -* (bug 4381) Magic quotes cleaning was not comprehensive, key strings were not - unescaped. -* (bug 23057) Importers no longer can 'edit' or 'create' a fully-protected page by - importing a new revision into it. -* Allow moving the associated talk pages of subpages even if the base page - has no subpage. -* Per page edit-notices now work in namespaces without subpages enabled. -* (bug 31081) $wgEnotifUseJobQ is no longer unconditionally enqueueing jobs. -* (bug 30202) File names are now restricted on upload to 240 bytes, because of - restrictions on some of the database fields. -* Timezones are now recognised in user preferences when offset is different - due to DST. -* (bug 31692) "summary" parameter now also works when undoing revisions. -* (bug 18823) "move succeeded" text displayed bluelinks even when redirect was - suppressed. -* (bug 19186) Special:UserLogin's title on Special:SpecialPages now says - "create account" when the user cannot create an account. -* (bug 31818) 'usercreated' message now supports GENDER. -* (bug 32022) Our phpunit.php script can now be executed from another directory. -* (bug 26020) Setting $wgEmailConfirmToEdit to true no longer removes diffs. - from recent changes feeds. -* (bug 30232) add current time to message wlnote on Special:Watchlist. -* (bug 29110) $wgFeedDiffCutoff did not affect new pages. -* (bug 32168) Add wfRemoveDotSegments for use in wfExpandUrl. -* (bug 32358) Do not display "No higher resolution available" for dimensionless - files (like audio files). -* (bug 32168) Add wfAssembleUrl for use in wfExpandUrl. -* (bug 32168) fixed - wfExpandUrl expands dot segments now. -* (bug 31535) Upload comments now truncated properly, and don't have brackets. -* (bug 32086) Special:PermanentLink now show an error message when no subpage - was specified. -* (bug 30368) Special:Newpages now shows the new page name for moved pages. -* (bug 1697) The way to search blocked usernames in block log should be clearer. -* (bug 29747) eAccelerator shared memory caching has been removed since it is - now disabled by default and is buggy. APC, XCache and WinCache are not affected. -* Installer now refuses to install if php was not compiled with Ctype support. -* (bug 29475) Remove "trackback" feature entirely from core. -* (bug 32665) Special:BlockList prefills the username in the input field if - using the Special:BlockList/username URL. -* (bug 27721) Make JavaScript variables wgSeparatorTransformTable and - wgDigitTransformTable depend on page content language so the sort script - sorts correctly more often. -* (bug 32230) Expose wgRedirectedFrom in JavaScript. -* (bug 31212) History tab not collapsed when the screen is narrow. -* (bug 15521) Use new section summary when the action of adding a new section - also happens to create the page. -* (bug 32960) Remove EmailAuthenticationTimestamp from database when a - email address is removed. -* (bug 32414) Empty page get a empty bytes attribute in Export/Dump. -* (bug 33101) Viewing a User or User talk of username resembling IP ending - with .xxx causes Internal error. -* Warning about undefined index in certain situations when $wgLogRestrictions - causes the first log type requested to be removed but not the others. -* Use separate message ('prefixindex-namespace') for title of - Special:PrefixIndex rather then re-using Special:AllPages's allinnamespace. -* (bug 33156) Special:Block now allows you to confirm you want to block yourself - when using non-normalized username. -* (bug 33246) News icon shown for news:// URLs but not for news: URLs. -* (bug 33305) Make mw.util.addCSS resistant to IE's @font-face bug by setting - cssText after DOM insertion. -* (bug 30711) When adding a new section to a page with section=new, the text is - now always added to the current version of the page. -* (bug 31719) Fix uploads of SVGs exported by Adobe Illustrator by expanding - XML entities correctly. -* (bug 30914) Embeddable ResourceLoader modules (user.options, user.tokens) - should be loaded in <head> for proper dependency resolution. -* (bug 32702) Removed method Skin::makeGlobalVariablesScript() has been readded - for backward compatibility. -* (bug 31469) Make sure tracking category messages expand variables like - {{NAMESPACE}} relative to correct title. -* (bug 33454) ISO-8601 week-based year number (format character 'o') is now - calculated correctly with respect to timezone. -* (bug 32219) InstantCommons now fetches content from Wikimedia Commons using - HTTPS when the local wiki is served over HTTPS. -* (bug 33525) clearTagHooks doesn't clear function hooks. -* (bug 33523) Function tag hooks don't appear on Special:Version. -* Files with IPTC blocks we can't read no longer prevent extraction of exif - or other metadata. -* (bug 33587) Remove action "historysubmit" from history pages. -* (bug 25800) mw.config wgAction should contain the actually performed action instead - of whatever the query value contains. -* (bug 4438) Add CSS hook for current WikiPage action. -* (bug 33703) Common border-bottom color for <abbr> should inherit default (text) color. -* (bug 33819) Display file sizes in appropriate units. -* (bug 32948) {{REVISIONID}} and related variables are no longer blank after doing - a null edit. -* (bug 33880) $wgUsersNotifiedOnAllChanges should not send e-mail to user who made - the edit. -* (bug 33902) Decoding %2B with mw.Uri.decode results in ' ' instead of +. -* (bug 33762) QueryPage-based special pages no longer misses *-summary message. -* Other sizes links are no longer generated for wikis without a 404 thumbnail handler. -* (bug 29454) Enforce byteLimit for page title input on Special:MovePage. -* (bug 34114) CSSMin::remap() doesn't respect its $embed parameter. -* Special:Contributions/newbies now shows the contributions for the user "newbies". - New user contributions are obtained using the form or using ?contribs=newbie in URL. -* It is now possible to delete images that have no corresponding description pages. -* (bug 33165) GlobalFunctions.php line 1312: Call to a member function - getText() on a non-object. -* (bug 31676) Group dynamically inserted CSS into a single <style> tag, to work - around a bug where not all styles were applied in Internet Explorer. -* (bug 28936, bug 5280) Broken or invalid titles can't be removed from watchlist. -* (bug 34600) Older skins using useHeadElement=false were broken in 1.18. -* (bug 34604) [mw.config] wgActionPaths should be an object instead of a numeral - array.* (bug 12262) Indents and lists are now aligned -* (bug 29753) mw.util.tooltipAccessKeyPrefix should be alt-shift for Chrome - on Windows -* (bug 25095) Special:Categories should also include the first relevant item - when "from" is filled. -* (bug 34972) An error occurred while changing your watchlist settings for - [[Special:WhatLinksHere/Example]] - -=== API changes in 1.19 === -* Made action=edit less likely to return "unknownerror", by returning the actual error - message (which may have come from a hook call or similar). -* (bug 19838) siprop=interwikimap can now use the interwiki cache. -* (bug 29748) Add API search prefix support. -* (bug 29684) Set forgotten parameter types in ApiQueryIWLinks. -* (bug 29685) do not output NULL parentid with list=deletedrevs&drprop=parentid. -* siprop=interwikimap and siprop=languages can use silanguagecode to have - a best effort language name translation. Use CLDR extension for best result. -* (bug 30230) action=expandtemplates should not silently override invalid title - inputs. -* (bug 18634) Create API to fetch MediaWiki's language fallback tree structure. -* (bug 26885) Allow show/hide of account blocks, temporary blocks and single IP - address blocks for list=blocks. -* (bug 30591) Add support to only return keys in ApiAllMessages. -* The API now respects $wgShowHostnames and won't share the hostname in - severedby if it's set to false. -* wlexcludeuser parameter added to ApiFeedWatchlist. -* (bug 7304) Links on redirect pages no longer cause the redirect page to show - up as a redirect to the linked page on Special:Whatlinkshere. -* (bug 32609) API: Move captchaid/captchaword of action=edit from core - to Captcha extension(s). -* Added 'APIGetDescription' hook. -* (bug 32688) Paraminfo for parameter "generator" of the query module shows too - many types. -* (bug 32415) Empty page get no size attribute in API output. -* (bug 31759) Undefined property notice in querypages API. -* (bug 32495) API should allow purge by pageids. -* (bug 33147) API examples should explain what they do. -* (bug 33482) Api incorrectly calls ApiBase::parseMultiValue if allowed - values is given as an array. -* (bug 32948) {{REVISIONID}} and related variables are no longer blank after - calling action=purge&forcelinkupdate. -* (bug 34377) action=watch now parses messages using the correct title instead - of "API". -* (bug 35036) WikiLove messages were not automatically updated in JavaScript - after having been changed on-wiki due to a bug in core - -=== Languages updated in 1.19 === - -MediaWiki supports over 350 languages. Many localisations are updated -regularly. Below only new and removed languages are listed, as well as -changes to languages because of Bugzilla reports. - -* Canadian English (en-ca) (new). -* Norwegian (bokmål) (nb) (renamed from no). -* Uighur (Latin) (ug-latn) was incorrectly marked as right-to-left language. -* (bug 30217) Make pt-br a fallback of pt. -* (bug 31193) Set fallback language of Assamese from Bengali to English. -* Update date format for dsb and hsb: month names need the genitive. -* (bug 28643) Serbian variant conversion improvements (Nikola Smolenski). -* (bug 29405, bug 30809) Lower diacritics are invisible in titles in Indic - languages Assamese, Bengali, Hindi, Malyalam and Odiya. -* (bug 32826) Titles in indic languages are partially cut. -* (bug 33367) Gendered namespaces for Czech. -* (bug 33014) Language::formatSize()/formatBitrate() should be able to deal - with larger numbers (tera-yotta). - -=== Other changes in 1.19 === -* BREAKING CHANGE: Legacy global array 'ta' and global function 'akeytt' have - been removed from wikibits.js. -* jquery.mwPrototypes module was renamed to jquery.mwExtension. -* The maintenance script populateSha1.php was renamed to the more concise - populateImageSha1.php. -* The Client-IP header is no longer checked for when trying to resolve a client's - real IP address. -* (bug 22096) Although IE5.x and below was already unsupported officially, stylesheets - existing exclusively for IE5.0 and IE5.5 have now been removed (which were in skins - 'chick' and 'monobook'). -* The constructor for CategoryView has changed, the second parameter is now a - Context source and is required. -* The Title::escape{Local,Full,Canonical}URL methods are deprecated, please use - proper html building methods to escape the normal get{...}URL methods instead. -* The $variant arguments in the Title::get{Local,Full,Link,Canonical}URL methods - have been replaced with a secondary query argument. -* The $variant argument in the hooks for the Title::get{Local,Full,Link,Canonical}URL - methods have been removed, the variant is now part of the $query argument. -* Removed Title::isValidCssJsSubpage(), deprecated since 1.17 in favor of - using Title::isCssJsSubpage() or checking Title::isWrongCaseCssJsPage(). -* Support for the deprecated hook MagicWordMagicWords was removed. -* The Xml::namespaceSelector method has been deprecated, please use - Html::namespaceSelector instead (note that the parameters have changed also). -* (bug 33746) Preload popular ResourceLoader modules (mediawiki.util) as stop-gap - for scripts missing dependencies. - New configuration variable $wgPreloadJavaScriptMwUtil has been introduced for this - (set to false by default for new installations). Set to true if your wiki has a large - amount of user/site scripts that are lacking dependency information. In the short to - medium term these user/site scripts should be fixed by adding the used modules to the - dependencies in the module registry and/or wrapping them in a callback to mw.loader.using. - -== Compatibility == - -MediaWiki 1.19 requires PHP 5.2.3. PHP 4 is no longer supported. - -MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but -support for them is somewhat less mature. There is experimental support for IBM -DB2 and Oracle. - -The supported versions are: - -* MySQL 5.0.2 or later -* PostgreSQL 8.3 or later -* SQLite 3.3.7 or later -* Oracle 9.0.1 or later - -== Upgrading == - -1.19 has several database changes since 1.18, and will not work without schema -updates. - -As of 1.19 several JavaScript interfaces that were deprecated or superseeded in -MediaWiki 1.17, MediaWiki 1.16 or even earlier have been removed. They are -listed at the top of the "Other changes" list as a "BREAKING CHANGE". - -If upgrading from before 1.11, and you are using a wiki as a commons -repository, make sure that it is updated as well. Otherwise, errors may arise -due to database schema changes. - -If upgrading from before 1.7, you may want to run refreshLinks.php to ensure -new database fields are filled with data. - -If you are upgrading from MediaWiki 1.4.x or earlier, some major database -changes are made, and there is a slightly higher chance that things could -break. Don't forget to always back up your database before upgrading! - -See the file UPGRADE for more detailed upgrade instructions. - -For notes on 1.18.x and older releases, see HISTORY. - -== Online documentation == - -Documentation for both end-users and site administrators is available on -MediaWiki.org, and is covered under the GNU Free Documentation License (except -for pages that explicitly state that their contents are in the public domain): - - https://www.mediawiki.org/wiki/Documentation - -== Mailing list == - -A mailing list is available for MediaWiki user support and discussion: - - https://lists.wikimedia.org/mailman/listinfo/mediawiki-l - -A low-traffic announcements-only list is also available: - - https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce - -It's highly recommended that you sign up for one of these lists if you're -going to run a public MediaWiki, so you can be notified of security fixes. - -== IRC help == - -There's usually someone online in #mediawiki on irc.freenode.net. diff --git a/RELEASE-NOTES-1.20 b/RELEASE-NOTES-1.20 new file mode 100644 index 00000000..17c3ba2e --- /dev/null +++ b/RELEASE-NOTES-1.20 @@ -0,0 +1,447 @@ += MediaWiki release notes = + +Security reminder: MediaWiki does not require PHP's register_globals +setting since version 1.2.0. If you have it on, turn it '''off''' if you can. + + +== MediaWiki 1.20.2 == + +This is a maintenance release of the MediaWiki 1.20 branch + +=== Changes since 1.20.1 === +* (bug 42638) Fix API action=options&reset=1 & unit tests. +* (bug 42370) Fixed backport of 60cc060 to use mDoneWrites. + +== MediaWiki 1.20.1 == + +This is a security release of the MediaWiki 1.20 branch + +=== Changes since 1.20 === +* (bug 42202) Validate options to prevent html injection +* (bug 40995) Prevent session fixation in Special:UserLogin (CVE-2012-5391) +* (bug 41400) Prevent linker regex from exceeding PCRE backtrack limit +* Javscript Lint fixes +* (bug 40632) Remove CleanupPresentationalAttributes feature +* [Database] Fixed case where trx idle callbacks might be lost. + +== MediaWiki 1.20 == + +MediaWiki 1.20 is a stable release. + +=== PHP 5.3 now required === +Since 1.20, the lowest supported version of PHP is now 5.3.2. Please +upgrade PHP if you have not done so prior to upgrading MediaWiki. + +=== Configuration changes in 1.20 === +* $wgGitRepositoryViewers defines a mapping from Git remote repository to the + Gitweb instance URL used in Special:Version. +* `$wgUsePathInfo = true;` is no longer needed to make $wgArticlePath work on servers + using like nginx, lighttpd, and apache over fastcgi. MediaWiki now always extracts + path info from REQUEST_URI if it's available. +* The user right 'upload_by_url' is no longer given to sysops by default. + This only affects installations which have $wgAllowCopyUploads set to true. +* Removed f-prot support from $wgAntivirusSetup. +* New variable $wgDBerrorLogTZ to provide dates in the error log in a + different timezone than the wiki timezone set by $wgLocaltimezone. +* New variables $wgDBssl and $wgDBcompress to enable SSL and compression for database + connections, if either are available for the selected DB type. +* $wgUseCombinedLoginLink now defaults to false, making MediaWiki output separate + login and create account links by default. + +=== New features in 1.20 === +* Added TitleIsAlwaysKnown hook which gets called when determining if a page exists. +* Added NamespaceIsMovable hook which gets called when determining if pages in a + certain namespace can be moved. +* Added SpecialPageBeforeExecute hook which gets called before SpecialPage::execute. +* Added SpecialPageAfterExecute hook which gets called after SpecialPage::execute. +* Added ORMTable, ORMRow and ORMResult classes for additional abstraction of + database interaction. +* Added CacheHelper and associated SpecialCachedPage and CachedAction helper classes. +* (bug 32341) Add upload by URL domain limitation. +* &useskin=default will now always display the default skin. Useful for users with a + preference for the non-default skin to look at something using the default skin. +* (bug 27619) Remove preference option to display broken links as link? +* (bug 34896) jQuery JSON plugin upgraded to v2.3 (2011-09-17). +* (bug 34302) Add CSS classes to email fields in user preferences. +* Introduced $wgDebugDBTransactions to trace transaction status (currently PostgreSQL only). +* (bug 23795) Add parser itself to ParserMakeImageParams hook. +* Introduce a cryptographic random number generator source api for use when + generating various tokens. +* (bug 30963) Option on Special:Prefixindex and Special:Allpages to not show redirects. +* (bug 18062) New message when edit or create the local page of a shared file. +* (bug 22870) Separate interface message when creating a page. +* (bug 17615) nosummary option should be reassigned on preview/captcha. +* (bug 34355) Add a variable and parser function for the namespace number. +* (bug 35649) Special:Version now shows hashes of extensions checked out from git. +* (bug 35728) Git revisions are now linked on Special:Version. +* "Show Changes" on default messages shows now diff against default message text +* (bug 23006) create #speciale parser function. +* generateSitemap can now optionally skip redirect pages. +* (bug 27757) New API command just for retrieving tokens (not page-based). +* Added GitViewers hook for extensions using external git repositories to have a web-based + repository viewer linked to from Special:Version. +* Memcached debug logs can now be sent to their own file logs by setting + $wgDebugLogFile['memcached'] to some filepath. +* (bug 35685) api.php URL and other entry point URLs are now listed on + Special:Version +* Edit notices can now be translated. +* jQuery upgraded to 1.8.2. +* jQuery UI upgraded to 1.8.23. +* QUnit upgraded from v1.2.0 to v1.10.0. +* (bug 37604) jquery.cookie upgraded to 2011 version. +* (bug 22887) Add warning and tracking category for preprocessor errors +* (bug 31704) Allow selection of associated namespace on the watchlist +* (bug 5445) Now remove autoblocks when a user is unblocked. +* Added $wgLogExceptionBacktrace, on by default, to allow logging of exception + backtraces. +* Added device detection for determining device capabilities. +* QUnit.newMwEnvironment now supports passing a custom setup and/or teardown function. + Arguments signature has changed. First arguments is now an options object of which + 'config' can be a property. Previously 'config' itself was the first and only argument. +* New getCreator and getOldestRevision methods added to WikiPage class +* (bug 4220) the XML dump format schema now have unique identity constraints + for page and revision identifiers. Patch by Elvis Stansvik. +* cleanupSpam.php now can delete spam pages if --delete was specified instead of blanking + them. +* Added new hook ChangePasswordForm to allow adding of additional fields in Special:ChangePassword +* Added new function getDomain to AuthPlugin for getting a user's domain +* (bug 23427) New magic word {{PAGEID}} which gives the current page ID. + Will be null on previewing a page being created. +* (bug 37627) UserNotLoggedIn() exception to show a generic error page whenever + a user is not logged in. +* Watched status in changes lists are no longer indicated by <strong></strong> + tags with class "mw-watched". Instead, each line now has a class + "mw-changeslist-line-watched" or "mw-changeslist-line-not-watched", and the + title itself is surrounded by <span></span> tags with class "mw-title". +* Added ContribsPager::reallyDoQuery hook allowing extensions to data to MyContribs +* Added new hook ParserAfterParse to allow extensions to affect parsed output + after the parse is complete but before block level processing, link holder + replacement, and so on. +* (bug 34678) Added InternalParseBeforeSanitize hook which gets called during Parser's + internalParse method just before the parser removes unwanted/dangerous HTML tags. +* Added new hook AfterFinalPageOutput to allow modifications to buffered page output before sent + to the client. +* (bug 36783) Implement jQuery Promise interface in mediawiki.api module. +* Make dates in sortable tables sort according to the page content language + instead of the site content language +* (bug 37926) Deleterevision will no longer allow users to delete log entries, + the new deletelogentry permission is required for this. +* (bug 14237) Allow PAGESINCATEGORY to distinguish between 'all', 'pages', 'files' + and 'subcats' +* (bug 38362) Make Special:Listuser includeable on wiki pages. +* Added support in jquery.localize for placeholder attributes. +* (bug 38151) Implemented mw.user.getRights for getting and caching the current + user's user rights. +* Session storage can now configured independently of general object cache + storage, by using $wgSessionCacheType. $wgSessionsInMemcached has been + renamed to $wgSessionsInObjectCache, with the old name retained for backwards + compatibility. When this feature is enabled, the expiry time can now be + configured with $wgObjectCacheSessionExpiry. +* Added a Redis client for object caching. +* Implemented mw.user.getGroups for getting and caching user groups. +* (bug 37830) Added $wgRequirePasswordforEmailChange to control whether password + confirmation is required for changing an email address or not. +* HTMLForm mutators can now be chained (they return $this) +* A new message, "api-error-filetype-banned-type", is available for formatting + API upload errors due to the file extension blacklist. +* New hook 'ParserTestGlobals' allows to set globals before running parser tests. +* Allow importing pages as subpage. +* Add lang and hreflang attributes to language links on Login page. +* (bug 22749) Create Special:MostInterwikis. +* Show change tags when transclude Special:Recentchanges(linked) or Special:Newpages. +* (bug 23226) Add |class= parameter to image links in order to add class(es) to HTML img tag. +* (bug 39431) SVG animated status is now shown in long description. +* (bug 39376) jquery.form upgraded to 3.14. +* SVG files will now show the actual width in the SVG's specified units + in the metadata box. +* Added ResourceLoader module "jquery.jStorage" (v0.3.0, http://jStorage.info/). +* (bug 39273) Added AJAX support for "Show changes" (diff) in LivePreview. +* Added ResourceLoader module "jquery.badge". +* mw.util.$content now points to the overall content area in the skin rather than just + page text content area. If you need the old behaviour please use $( '#mw-content-text'). +* jsMessage has been replaced with a floating bubble notification system complete + with auto-hide, multi-message support, and message replacement tags. +* jquery.messageBox which appears to be unused by both core and extensions has + been removed. +* (bug 34939) Made link parsing insensitive ([HttP://]). +* (bug 40072) Add CSS classes to items in output of ChangesList pages. +* Added $wgCopyUploadProxy global to define which proxy to use for copy + uploads. +* (bug 40448) mediawiki.legacy.mwsuggest has been replaced with a new module, + mediawiki.searchSuggest, based on SimpleSeach from Extension:Vector. + +=== Known issues in 1.20.0 === +These are issues that we're targeting to be fixed in a later release +in the 1.20 series. Issues may be added or removed from this list as +we see fit. For now, it is comprised of those bugs on the 1.20.0 +milestone in Bugzilla. + +* (bug 35894): Reports of secret key generation "hanging" on windows + This is probably a bug that has been fixed in PHP. If you run + into this, try upgrading your PHP. +* (bug 38334): PHP Notice: Undefined index: href in /www/w/skins/Vector.php on line 416 + We think this is a problem in some extension. If you see this, + try disabling your extensions and check out the logging patch on + this bug. Or try this patch: + <https://gerrit.wikimedia.org/r/#/c/27937/1/skins/Vector.php> +* (bug 39268): [Regression] Toolbar inserts in main textarea only (instead of the focussed textarea) + This should only be an issue if you are using the ProofreadPage + extension. +* (bug 40641): Clicking "others" in Special:Version asks to download a file + If you encounter this, you can tell your webserver to serve the + CREDITS file with text/plain MIME type to fix it. + +=== Bug fixes in 1.20 === +* (bug 40939): [Regression] InfoAction: Call to a member function getUserText() on a non-object +* (bug 40780): searchsuggest-containing line ("containing...") doesn't include the entered text +* (bug 37714): [Regression] Incomplete log entries +* (bug 27202): API: Add timestamp sort to list=allimages +* (bug 30245) Use the correct way to construct a log page title. +* (bug 34237) Regenerate an empty user_token and save to the database + when we try to set the user's cookies for login. +* (bug 32210) New edit emails for watched pages always provide a link to the + edit which triggered the mail. +* (bug 12021) Added user talk link on Special:Listusers. +* (bug 34445) section edit and TOC hide/show links are excluded from selection and + copy/paste on supporting browsers. +* (bug 34428) Fixed incorrect hash mismatch errors in the DiffHistoryBlob + history compression method. +* (bug 34702) Localised parentheses are now used in more special pages. +* (bug 34723) When editing a script page on a RTL wiki the textbox should be LTR. +* (bug 34762) Calling close() on a DatabaseBase object now clears the connection. +* (bug 34863) Show deletion log extract on non-existent file pages if applicable. +* (bug 28019) Let ?preloadtitle=foo be passed on to target of + Special:MyPage and Special:MyTalk. +* (bug 34929) Show the correct diff when a section edit is rejected by the spam + filter. +* (bug 15816) Add a switch for SETting the search_path (Postgres). +* (bug 34521) Returning to the previous page after logging in loses any array- + valued parameters in the query string. +* (bug 34735) Updated compressOld.php documentation to mention the different + usages of -s and -n parameters depending on compression type. +* (bug 13896) Rendering of devanagari numbers in automatic '#' number lists. +* (bug 33689) Upgrade to 1.19 on Postgres fails due to incomplete query when. + trying to defer foreign key for externallinks. +* (bug 32748) Printer friendly version of article decode Unicode chars as a + pretty IRI in footer. +* Removed white border around thumbnails in galleries. +* (bug 31236) "Next" and "Previous" buttons are shown incorrectly in + an RTL environment. +* (bug 35749) Updated maintenance/checkSyntax.php to use Git instead of + Subversion when invoked with the --modified option. +* (bug 35069) On history pages, the " . . " separator after the number of + characters changed in a revision is now suppressed if no text would follow. +* (bug 18704) Add a unique CSS class or ID to the tagfilter table row at RecentChanges +* (bug 33564) transwiki import sometimes result in invalid title. +* (bug 35572) Blocks appear to succeed even if query fails due to wrong DB structure +* (bug 31757) Add a word-separator between help-messages in HTMLForm +* (bug 30410) Removed deprecated $wgFilterCallback and the 'filtered' API error. +* (bug 32604) Some messages needs escaping of wikitext inside username. +* (bug 36537) Rename wfArrayToCGI to wfArrayToCgi for consistency with wfCgiToArray. +* (bug 25946) The message on the top of Special:RecentChanges is now displayed. + in user language instead of content language. +* (bug 35264) Wrong type used for <ns> in export.xsd +* (bug 24985) Use $wgTmpDirectory as the default temp directory so that people + who don't have access to /tmp can specify an alternative. +* (bug 27283) SqlBagOStuff breaks PostgreSQL transactions. +* (bug 35727) mw.Api ajax() should put token parameter last. +* (bug 37708) mw.Uri.clone() should make a deep copy. +* (bug 38024) ResourceLoader should not create empty stylesheets for modules + that don't have stylesheets. +* (bug 36812) Special:ActiveUsers "Hide bots" should hide users from any group + having the "bot" user right, instead of just the default "bot" user group. +* (bug 35082) mw.util.addPortletLink incorrectly adds link to mutiple <ul> tags. +* (bug 36991) jquery.tablesorter should extract date sort format from date + string instead of global config. Dates like "April 1 2012" and "1 April 2012" + now sort correctly regardless of the content language's DefaultDateFormat. +* (bug 31895) mw.loader mode now correct when triggered from a $.fn.ready + handler that is bound before mediawiki.js's handler (e.g. browser-userscripts + like greasemonkey). +* (bug 38152) jquery.tablesorter: Use .data() instead of .attr(), so that live + values are used instead of just the fixed values from when the tablesorter + was initialized. +* (bug 38093) Gender of changed user groups missing in Special:Log/rights +* (bug 35893) Special:Block needs to load mediawiki.special.block.js. +* (bug 37331) ResourceLoader modules sometimes execute twice in Firefox +* (bug 31644) GlobalUsage, CentralAuth and AbuseLog extensions should not use + insecure links to foreign wikis in the WikiMap. +* (bug 36073) Avoid duplicate element IDs on File pages. +* (bug 25095) Special:Categories should also include the first relevant item + when "from" is filled. +* (bug 35526) jquery.tablesorter now uses a stable sort. +* (bug 38953) --memory-limit switch not working for runJobs.php. +* (bug 33037) Make subpage of Special:newfiles control how many files + are returned, like in previous versions. +* (bug 36524) "Show" options on Special:RecentChanges and Special:RecentChangesLinked + are now remembered between successive clicks. +* (bug 26069) Page title is no longer "Error" for all error pages. +* (bug 39297) Show warning if thumbnail of animated image will not be animated. +* (bug 38249) Parser will throw an exception instead of outputting gibberish if + PCRE is compiled without support for unicode properties. +* (bug 30390) Suggested file name on Special:Upload should not contain + illegal characters. +* EXIF below sea level GPS altitude data is now shown correctly. +* (bug 39284) jquery.tablesorter should not consider "."" or "?"" to be a currency. +* (bug 39273) "Show changes" should not be incorrectly displayed in the Live Preview state. +* Made body-content lang attribute honor the variant language when it is set. +* (bug 36761) "Mark pages as visited" now submits previously established filter options. +* (bug 39635) PostgreSQL LOCK IN SHARE MODE option is a syntax error. +* (bug 36329) Accesskey tooltips for Firefox 14 on Mac should use "ctrl-option-" prefix. +* (bug 32552) Drop unused database field cat_hidden from table category. +* (bug 40214) Category pages no longer use deprecated "width" HTML attribute. +* (bug 39941) Add missing stylesheets to the installer pages +* In HTML5 mode, allow new input element types values (such as color, range..) +* (bug 36151) mw.Title: Don't limit extension in title parsing. +* (bug 38158) jquery.byteLimit sometimes causes an unexpected 0 maxLength being enforced. +* (bug 38163) jquery.byteLimit incorrectly limits input when using methods other than + basic per-char typing. +* (bug 34495) patrol log now credit the user patrolling (instead of patrolled + user). +* (bug 31676) ResourceLoader should work around IE stylesheet limit. +* (bug 40498) ResourceLoader should not output an empty "@media print { }" block. +* (bug 40500) ResourceLoader should not ignore media-type for urls in debug mode. +* (bug 40660) ResourceLoaderWikiModule should not convert " " to a space + for pages from the MediaWiki-namespace. +* (bug 40329) (bug 40632) Removed CleanupPresentationalAttributes feature. + +=== API changes in 1.20 === +* (bug 34316) Add ability to retrieve maximum upload size from MediaWiki API. +* (bug 34313) MediaWiki API intro message about "HTML format" should mention + the format parameter. +* (bug 32384) Allow descending order for list=watchlistraw. +* (bug 31883) Limit of bkusers of list=blocks and titles of action=query is + not documented in API help. +* (bug 32492) API now allows editing using pageid. +* (bug 32497) API now allows changing of protection level using pageid. +* (bug 32498) API now allows comparing pages using pageids. +* (bug 30975) API import of pages with invalid characters in this wiki leads to Fatal Error. +* (bug 30488) API now allows listing of backlinks/embeddedin/imageusage per pageid. +* (bug 34927) Output media_type for list=filearchive. +* (bug 28814) add properties to output of action=parse. +* (bug 33224) add variants of content language to meta=siteinfo. +* (bug 32643) action=purge with forcelinkupdate no longer crashes when ratelimit is reached. +* The paraminfo module now also contains result properties for most modules. +* (bug 32348) Allow descending order for list=alllinks. +* (bug 31777) Upload unknown error ``fileexists-forbidden''. +* (bug 32382) Allow descending order for list=iwbacklinks. +* (bug 32381) Allow descending order for list=backlinks, list=embeddedin and list=imageusage. +* (bug 32383) Allow descending order for list=langbacklinks. +* API meta=siteinfo can now return the list of known variable IDs. +* (bug 35980) list=deletedrevs now honors drdir correctly in "all" mode (mode #3). +* (bug 29290) API avoids mangling fields in continuation parameters +* (bug 36987) API avoids mangling fields in continuation parameters +* (bug 30836) siteinfo prop=specialpagealiases will no longer return nonexistent special pages +* (bug 38190) Add "required" flag to some token params for hint in api docs. +* (bug 27567) Add file repo support to prop=duplicatefiles. +* (bug 27610) Add archivename for non-latest image version to list=filearchive +* (bug 38231) Add xml parse tree to action=parse. +* Watchlist notification timestamp may be queried by page and may be updated via the API. +* (bug 38904) prop=revisions&rvstart=... no longer blows up when continuing. +* (bug 39032) ApiQuery generates help in constructor. +* (bug 11142) Improve file extension blacklist error reporting in API upload. +* (bug 39665) Cache AllowedGenerator array so it doesn't autoload all query classes + on every request. + +=== Languages updated in 1.20 === + +MediaWiki supports over 350 languages. Many localisations are updated +regularly. Below only new and removed languages are listed, as well as +changes to languages because of Bugzilla reports. + +* Emilian (egl) added. +* Tornedalen Finnish (fit) added. +* Mizo (lus) added. +* Santali (sat) added. +* (bug 34192) Namespace gender aliases for Albanian languages (sq & aln). +* (bug 35541) Namespace gender aliases for Croatian (hr). +* (bug 36012) Space in $separatorTransformTable should be non-breaking in + Portuguese, Esperanto and Udmurt. +* Turoyo (tru) added. +* Cyrillic-Latin language converter added for Uzbek (uz). + +=== Other changes in 1.20 === +* The user_token field is now left empty until a user attempts to login and + cookies need to be set. It is also now possible to reset every user's + user_token simply by clearing the values in the user_token column. +* Removed ./tests/qunit/index.html from core. It wasn't actively maintained and + has been made obsolete when [[Special:JavaScriptTest/qunit]] was introduced, + which actually uses ResourceLoader, LocalSettings and the Skin. +* Removed $wgDBtransactions global. This was only checked in one class + and only applies to MyISAM or similar DBs. Those should only be used + for archived sites anyway. We can't get edit conflicts on such sites, + so the WikiPage code wasn't useful there either. +* Deprecated mw.user.name in favour of mw.user.getName. +* Deprecated mw.user.anonymous in favour of mw.user.isAnon. +* Deprecated DatabaseBase functions newFromParams(), newFromType(), set(), + quote_ident(), and escapeLike() were removed. +* Use of __DIR__ instead of dirname( __FILE__ ). +* OutputPage::wrapWikiMsg() no longer supports the 'options' parameter. It was + not used and complicated migration to Message class. +* Live preview functionality has been improved and moved into the + 'mediawiki.action.edit.preview' module. The old 'mediawiki.legacy.preview' module + has been removed. +* (bug 40448) Removed mediawiki.legacy.mwsuggest module, and removed the + following that has become obsolete: + - globals $wgEnableMWSuggest and $wgMWSuggestTemplate. + - mw.config.values wgMWSuggestTemplate and wgSearchNamespaces. + - method SearchEngine::getMWSuggestTemplate(). + +== Compatibility == + +MediaWiki 1.20 requires PHP 5.3.2. PHP 4 is no longer supported. + +MySQL is the recommended DBMS. PostgreSQL or SQLite can also be used, but +support for them is somewhat less mature. There is experimental support for IBM +DB2 and Oracle. + +The supported versions are: + +* MySQL 5.0.2 or later +* PostgreSQL 8.3 or later +* SQLite 3.3.7 or later +* Oracle 9.0.1 or later + +== Upgrading == + +1.20 has several database changes since 1.19, and will not work without schema +updates. + +If upgrading from before 1.11, and you are using a wiki as a commons +repository, make sure that it is updated as well. Otherwise, errors may arise +due to database schema changes. + +If upgrading from before 1.7, you may want to run refreshLinks.php to ensure +new database fields are filled with data. + +If you are upgrading from MediaWiki 1.4.x or earlier, some major database +changes are made, and there is a slightly higher chance that things could +break. Don't forget to always back up your database before upgrading! + +See the file UPGRADE for more detailed upgrade instructions. + +For notes on 1.19.x and older releases, see HISTORY. + +== Online documentation == + +Documentation for both end-users and site administrators is available on +MediaWiki.org, and is covered under the GNU Free Documentation License (except +for pages that explicitly state that their contents are in the public domain): + + https://www.mediawiki.org/wiki/Documentation + +== Mailing list == + +A mailing list is available for MediaWiki user support and discussion: + + https://lists.wikimedia.org/mailman/listinfo/mediawiki-l + +A low-traffic announcements-only list is also available: + + https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce + +It's highly recommended that you sign up for one of these lists if you're +going to run a public MediaWiki, so you can be notified of security fixes. + +== IRC help == + +There's usually someone online in #mediawiki on irc.freenode.net. @@ -76,7 +76,7 @@ behaviour of MediaWiki. Extensions usually need to be upgraded at the same time as the MediaWiki core. -In MediaWiki 1.14 some extensions are migrated into the core. Please see the +In MediaWiki 1.14 some extensions were migrated into the core. Please see the HISTORY section "Migrated extensions" and disable these extensions in your LocalSettings.php @@ -1,9 +1,16 @@ <?php - /** - * API for MediaWiki 1.8+ + * This file is the entry point for all API queries. + * + * It begins by checking whether the API is enabled on this wiki; if not, + * it informs the user that s/he should set $wgEnableAPI to true and exits. + * Otherwise, it constructs a new ApiMain using the parameter passed to it + * as an argument in the URL ('?action=') and with write-enabled set to the + * value of $wgEnableWriteAPI as specified in LocalSettings.php. + * It then invokes "execute()" on the ApiMain object instance, which + * produces output in the format sepecified in the URL. * - * Copyright (C) 2006 Yuri Astrakhan <Firstname><Lastname>@gmail.com + * Copyright © 2006 Yuri Astrakhan <Firstname><Lastname>@gmail.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,31 +30,21 @@ * @file */ -/** - * This file is the entry point for all API queries. It begins by checking - * whether the API is enabled on this wiki; if not, it informs the user that - * s/he should set $wgEnableAPI to true and exits. Otherwise, it constructs - * a new ApiMain using the parameter passed to it as an argument in the URL - * ('?action=') and with write-enabled set to the value of $wgEnableWriteAPI - * as specified in LocalSettings.php. It then invokes "execute()" on the - * ApiMain object instance, which produces output in the format sepecified - * in the URL. - */ - // So extensions (and other code) can check whether they're running in API mode define( 'MW_API', true ); // Bail if PHP is too low -if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.2.3' ) < 0 ) { +if ( !function_exists( 'version_compare' ) || version_compare( phpversion(), '5.3.2' ) < 0 ) { + // We need to use dirname( __FILE__ ) here cause __DIR__ is PHP5.3+ require( dirname( __FILE__ ) . '/includes/PHPVersionError.php' ); wfPHPVersionError( 'api.php' ); } // Initialise common code. if ( isset( $_SERVER['MW_COMPILED'] ) ) { - require ( 'phase3/includes/WebStart.php' ); + require ( 'core/includes/WebStart.php' ); } else { - require ( dirname( __FILE__ ) . '/includes/WebStart.php' ); + require ( __DIR__ . '/includes/WebStart.php' ); } wfProfileIn( 'api.php' ); @@ -66,43 +63,6 @@ if ( !$wgEnableAPI ) { die(1); } -// Selectively allow cross-site AJAX - -/** - * Helper function to convert wildcard string into a regex - * '*' => '.*?' - * '?' => '.' - * - * @param $search string - * @return string - */ -function convertWildcard( $search ) { - $search = preg_quote( $search, '/' ); - $search = str_replace( - array( '\*', '\?' ), - array( '.*?', '.' ), - $search - ); - return "/$search/"; -} - -if ( $wgCrossSiteAJAXdomains && isset( $_SERVER['HTTP_ORIGIN'] ) ) { - $exceptions = array_map( 'convertWildcard', $wgCrossSiteAJAXdomainExceptions ); - $regexes = array_map( 'convertWildcard', $wgCrossSiteAJAXdomains ); - foreach ( $regexes as $regex ) { - if ( preg_match( $regex, $_SERVER['HTTP_ORIGIN'] ) ) { - foreach ( $exceptions as $exc ) { // Check against exceptions - if ( preg_match( $exc, $_SERVER['HTTP_ORIGIN'] ) ) { - break 2; - } - } - header( "Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}" ); - header( 'Access-Control-Allow-Credentials: true' ); - break; - } - } -} - // Set a dummy $wgTitle, because $wgTitle == null breaks various things // In a perfect world this wouldn't be necessary $wgTitle = Title::makeTitle( NS_MAIN, 'API' ); @@ -111,7 +71,7 @@ $wgTitle = Title::makeTitle( NS_MAIN, 'API' ); * is some form of an ApiMain, possibly even one that produces an error message, * but we don't care here, as that is handled by the ctor. */ -$processor = new ApiMain( $wgRequest, $wgEnableWriteAPI ); +$processor = new ApiMain( RequestContext::getMain(), $wgEnableWriteAPI ); // Process data & print results $processor->execute(); @@ -1 +1,24 @@ -<?php require 'api.php';
\ No newline at end of file +<?php +/** + * Version of api.php to used in web server requiring .php5 extension + * to execute scripts with PHP5 egine. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @file + */ + +require 'api.php'; diff --git a/docs/code-coverage/README b/docs/code-coverage/README index 7bc55ce2..76ce9bdc 100644 --- a/docs/code-coverage/README +++ b/docs/code-coverage/README @@ -1,2 +1,2 @@ This directory is for the auto-generated phpunit code coverage. -Run 'make coverage' in the maintenance/tests/phpunit subdirectory to build. +Run 'make coverage' in the tests/phpunit subdirectory to build. diff --git a/docs/database.txt b/docs/database.txt index 3985b70e..c0a2412c 100644 --- a/docs/database.txt +++ b/docs/database.txt @@ -8,7 +8,7 @@ By Tim Starling, January 2006. For information about the MediaWiki database layout, such as a description of the tables and their contents, please see: http://www.mediawiki.org/wiki/Manual:Database_layout - http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/maintenance/tables.sql?view=markup + https://gerrit.wikimedia.org/r/gitweb?p=mediawiki/core.git;a=blob_plain;f=maintenance/tables.sql;hb=HEAD ------------------------------------------------------------------------ @@ -153,9 +153,9 @@ enclose small groups of queries in their own transaction. Use the following syntax: $dbw = wfGetDB( DB_MASTER ); -$dbw->begin(); +$dbw->begin( __METHOD__ ); /* Do queries */ -$dbw->commit(); +$dbw->commit( __METHOD__ ); Use of locking reads (e.g. the FOR UPDATE clause) is not advised. They are poorly implemented in InnoDB and will cause regular deadlock errors. diff --git a/docs/distributors.txt b/docs/distributors.txt index e9f151cf..4a654315 100644 --- a/docs/distributors.txt +++ b/docs/distributors.txt @@ -87,9 +87,9 @@ which the user can edit by hand thereafter. It's just a plain old PHP file, and can contain any PHP statements. It usually sets global variables that are used for configuration, and includes files used by any extensions. -Distributors cannot easily add extra statements to the autogenerated -LocalSettings.php at the present time -- although hacking mw-config/index.php -would work. It would be nice if this situation could be improved. +Distributors can easily add extra statements to the autogenerated +LocalSettings.php by changing mw-config/overrides.php (see that file for details +and examples). There's a new maintenance/install.php script which could be used for performing an install through the command line. @@ -106,6 +106,7 @@ intelligently: mail(). == Updates == + The correct way for updating a wiki is to update the files and then run from command line the maintenance/update.php script (with appropriate parameters if files were moved). It will perform all the needed steps to update the database diff --git a/docs/doxygen_first_page.php b/docs/doxygen_first_page.php index 11db1f58..9949d133 100644 --- a/docs/doxygen_first_page.php +++ b/docs/doxygen_first_page.php @@ -13,7 +13,7 @@ die("Not a valid entry point\n"); * Welcome on MediaWiki autogenerated documentation system. * * If you are looking to use, install or configure your wiki, you probably - * want to look at the main site: http://www.mediawiki.org/ + * want to look at the main site: https://www.mediawiki.org/ * * @note this page is generated from docs/doxygen_first_page.php */ diff --git a/docs/export-0.1.xsd b/docs/export-0.1.xsd index 0b3eb179..9ff48f03 100644 --- a/docs/export-0.1.xsd +++ b/docs/export-0.1.xsd @@ -2,57 +2,57 @@ <!-- This is an XML Schema description of the format output by MediaWiki's Special:Export system. - + The canonical URL to the schema document is: http://www.mediawiki.org/xml/export-0.1.xsd - + Use the namespace: http://www.mediawiki.org/xml/export-0.1/ --> <schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:mw="http://www.mediawiki.org/xml/export-0.1/" - targetNamespace="http://www.mediawiki.org/xml/export-0.1/" - elementFormDefault="qualified"> + xmlns:mw="http://www.mediawiki.org/xml/export-0.1/" + targetNamespace="http://www.mediawiki.org/xml/export-0.1/" + elementFormDefault="qualified"> <annotation> <documentation xml:lang="en"> MediaWiki's page export format </documentation> </annotation> - + <!-- Need this to reference xml:lang --> <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/xml.xsd"/> - + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + <!-- Our root element --> <element name="mediawiki" type="mw:MediaWikiType"/> - + <complexType name="MediaWikiType"> <sequence> <element name="page" type="mw:PageType" - minOccurs="0" maxOccurs="unbounded"/> + minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="version" type="string" use="required"/> <attribute ref="xml:lang" use="required"/> </complexType> - + <complexType name="PageType"> <sequence> <!-- Title in text form. (Using spaces, not underscores; with namespace ) --> <element name="title" type="string"/> - + <!-- optional page ID number --> <element name="id" type="positiveInteger" minOccurs="0"/> - + <!-- comma-separated list of string tokens, if present --> <element name="restrictions" type="string" minOccurs="0"/> - + <!-- Zero or more sets of revision data --> <element name="revision" type="mw:RevisionType" - minOccurs="0" maxOccurs="unbounded"/> + minOccurs="0" maxOccurs="unbounded"/> </sequence> </complexType> - + <complexType name="RevisionType"> <sequence> <element name="id" type="positiveInteger" minOccurs="0"/> @@ -63,12 +63,12 @@ <element name="text" type="string"/> </sequence> </complexType> - + <complexType name="ContributorType"> <sequence> <element name="username" type="string" minOccurs="0"/> <element name="id" type="positiveInteger" minOccurs="0" /> - + <element name="ip" type="string" minOccurs="0"/> </sequence> </complexType> diff --git a/docs/export-0.2.xsd b/docs/export-0.2.xsd index 8acbf543..55b05f8d 100644 --- a/docs/export-0.2.xsd +++ b/docs/export-0.2.xsd @@ -2,54 +2,54 @@ <!-- This is an XML Schema description of the format output by MediaWiki's Special:Export system. - + Version 0.2 adds optional basic file upload info support, which is used by our OAI export/import submodule. - + The canonical URL to the schema document is: http://www.mediawiki.org/xml/export-0.2.xsd - + Use the namespace: http://www.mediawiki.org/xml/export-0.2/ --> <schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:mw="http://www.mediawiki.org/xml/export-0.2/" - targetNamespace="http://www.mediawiki.org/xml/export-0.2/" - elementFormDefault="qualified"> + xmlns:mw="http://www.mediawiki.org/xml/export-0.2/" + targetNamespace="http://www.mediawiki.org/xml/export-0.2/" + elementFormDefault="qualified"> <annotation> <documentation xml:lang="en"> MediaWiki's page export format </documentation> </annotation> - + <!-- Need this to reference xml:lang --> <import namespace="http://www.w3.org/XML/1998/namespace" - schemaLocation="http://www.w3.org/2001/xml.xsd"/> - + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + <!-- Our root element --> <element name="mediawiki" type="mw:MediaWikiType"/> - + <complexType name="MediaWikiType"> <sequence> <element name="page" type="mw:PageType" - minOccurs="0" maxOccurs="unbounded"/> + minOccurs="0" maxOccurs="unbounded"/> </sequence> <attribute name="version" type="string" use="required"/> <attribute ref="xml:lang" use="required"/> </complexType> - + <complexType name="PageType"> <sequence> <!-- Title in text form. (Using spaces, not underscores; with namespace ) --> <element name="title" type="string"/> - + <!-- optional page ID number --> <element name="id" type="positiveInteger" minOccurs="0"/> - + <!-- comma-separated list of string tokens, if present --> <element name="restrictions" type="string" minOccurs="0"/> - + <!-- Zero or more sets of revision or upload data --> <choice minOccurs="0" maxOccurs="unbounded"> <element name="revision" type="mw:RevisionType" /> @@ -57,7 +57,7 @@ </choice> </sequence> </complexType> - + <complexType name="RevisionType"> <sequence> <element name="id" type="positiveInteger" minOccurs="0"/> @@ -68,33 +68,33 @@ <element name="text" type="string"/> </sequence> </complexType> - + <complexType name="ContributorType"> <sequence> <element name="username" type="string" minOccurs="0"/> <element name="id" type="positiveInteger" minOccurs="0" /> - + <element name="ip" type="string" minOccurs="0"/> </sequence> </complexType> - + <complexType name="UploadType"> <sequence> <!-- Revision-style data... --> <element name="timestamp" type="dateTime"/> <element name="contributor" type="mw:ContributorType"/> <element name="comment" type="string" minOccurs="0"/> - + <!-- Filename. (Using underscores, not spaces. No 'Image:' namespace marker.) --> <element name="filename" type="string"/> - + <!-- URI at which this resource can be obtained --> <element name="src" type="anyURI"/> - + <element name="size" type="positiveInteger" /> - + <!-- TODO: add other metadata fields --> </sequence> </complexType> - + </schema> diff --git a/docs/export-0.3.xsd b/docs/export-0.3.xsd index 1e0b7c88..ea2b816e 100644 --- a/docs/export-0.3.xsd +++ b/docs/export-0.3.xsd @@ -2,48 +2,48 @@ <!-- This is an XML Schema description of the format output by MediaWiki's Special:Export system. - + Version 0.2 adds optional basic file upload info support, which is used by our OAI export/import submodule. - + Version 0.3 adds some site configuration information such as a list of defined namespaces. - |