MediaWiki 1.22/wmf9/Changelog

Core changes

 * - Add WikibaseDataModel
 * - Update Wikidata extensions
 * - Commit of various wmf-branch live hacks
 * - Further improve load order of RC and watchlist styling
 * - database: Improve DatabaseMysql::masterPosWait performance by caching the position
 * - Fix getPageDimensions failure handling
 * - Remove unnecessary clears
 * - CologneBlue: Use search input and button generators from SkinTemplate
 * - Moving a page with subpages may lead in the page being moved twice
 * - Add user rights 'viewmywatchlist', 'editmywatchlist'
 * - mwdocgen: support multiple --file values
 * - benchmarks: README file having run recommendations
 * - test: coverage recording now needs to be explicit
 * - Fix history and add section tabs being collapsed on RTL wikis
 * - Include the backtrace in the log for job exceptions
 * - Stop spamming exception log with random upload stash failures
 * - Avoid the &quot;key conflict attempting to insert a user row&quot; exception in some cases
 * - Allow explicit &amp; implicit null returns from hook handlers
 * - Allow a string other than '*' as condition for DatabaseBase::delete
 * - Move Search page from redirects to pages
 * - rebuildall.php script needs database admin rights
 * - 5
 * - Rebuild MessagesEn.php
 * - Add broken-file-category for file links inside &lt;gallery/&gt;
 * - Added new + updated old tests for preventing regressions in Parsoid
 * - API: Fix imageinfo iiurlheight on audio files
 * - Fix the error in html email when pear mail_mime is missing
 * - Fix typo &quot;relavent&quot; in release notes
 * - Capitalize URL in api help
 * - Removed some inappropriate global state from FSFile
 * - Improve help text for list=alllinks and alltransclusions
 * - Allow SearchUpdate hook to abort core update call
 * - Allow modification of flags on Recent Changes
 * - mediawiki.api.parse: Specify wikitext as the content model
 * - Change @since and @deprecated notes to 1.22
 * - database: Simplify selectSQLText and fix USE INDEX bug
 * - mediawiki.js: Clean up and improve documentation coverage
 * - Docs and drop silly m prefix from private variables
 * - displaytitle: Pass-by-reference fix for PHP 5.4
 * - Return errors from WatchAction
 * - doc: speed up dot generation
 * - doc: raise doxygen lookup cache
 * - doc: sync with doxygen 1.7.6.1
 * - Fixed doc typo
 * - Doc fixes for MediaHandler. No behaviour changes.
 * - DifferenceEngine: Don't display empty header row
 * - XML text dumps: skip rev length check for weird content models
 * - Added SSL verification to PHPHttpRequest.
 * - Change autocomment-prefix to be blank. Looks weird being '- '

AbuseFilter

 * - SpecialAbuseLog: use DifferenceEngine::addHeader to render diffs

ArticleFeedbackv5

 * - Remove unused RL config var

Campaigns

 * - Add .jshintrc
 * - Add campaign to login form's signup link.

CentralNotice

 * - Enable CentralNotice on Stable Mobile Site
 * - New config variable: $wgNoticeUseLanguageConversion

DataValues

 * - Hotfix for TimeValue expert's mediaWiki dependency
 * - valueview: Prevent delay when using front-end parser
 * - Enabling to specify time values in time output formats
 * - Making calendar names translatable
 * - TimeInput expert: Always update preview when calling draw
 * - Fixed globeCoordinate's decimalText
 * - Improved rounding of globe coordinates
 * - Using delimiter string length splitting GeoCoordinate string
 * - Deprecated $wgDataValues
 * - Fixes jslint and doxygen errors introduced in Ie12d526 and I57a6ad9
 * - Delaying GlobeCoordinate input expert's API request
 * - Enhanced input string splitting in GeoCoordinate parsers
 * - Removed obsolete JavaScript globe coordinate parser
 * - Implements autoActive for listrotator widget
 * - Reverts valueview.Expert interfaces changes from I30cb202 and compensates
 * - Switching from JS globe coordinate parser to back-end parser
 * - Add error code and parameters to Error.
 * - Vraious fixes to DataTypesModulesTest
 * - Revert &quot;Basic tests for DataTypes\DataTypesModule&quot;
 * - Use the correct concatenation operator
 * - Use the correct concaternation operator
 * - Basic tests for DataTypes\DataTypesModule
 * - Introduction of additional configuration keys for DataTypes\DataTypesModule
 * - Prevent callback via listrotator's selected event in input experts
 * - Add wikidata as keyword in package description
 * - Use IllegalValueException in newFromArray
 * - Guard against multiple inclusion
 * - Use callbacks for lazy init of DataTypeFactory.
 * - Implemented showSpinner method in valueview.preview widget
 * - Update composer description and add replace since we did a rename
 * - Applying precision set via parser options to GeoCoordinateParsers
 * - Improved Time object's string representation
 * - Require only required parameters in GeoCoordinateValue's newFromArray
 * - Implemented TimeInput expert default messages
 * - Added precision detection to the GeoCoordinate parsers
 * - Fix string length check in StringValidator.
 * - avoid fatal errors on invalid input.
 * - Move globecoordinate registration to correct location
 * -, ) validate time format.&quot;
 * - Reordered GeoCoordinateValue constructor parameters
 * - Improved GeoCoordinate parsers' coordinate detection
 * - Add support for ′ and ″ to the globeCoordinate parser
 * - Fix precision detection in globe coordinate parser
 * -, ) validate time format.
 * - Fix exception checking in test cases
 * - Introduce IllegalValueException
 * - Improvements to autoloading to enable loading the code and tests from non-MW code
 * - Automatically register tests with MW
 * - Updated package name in composer.json
 * - Removed hard-coded mediaWiki dependency from TimeInput expert
 * - Add composer.phar to gitignore
 * - Update gitignore to ignore vendor/
 * - Update composer file to include the entry point as autoloading
 * - Remove some whitespace
 * - Remove keyword from composer file
 * - Change composer file so the autoloading works
 * - Fix for globeCoordinate's toDegree
 * - Remove autoload section from composer.json as this appears to not work as Im expecting
 * - Modify autoload classmap in composer file as it is currently not working
 * - Updated composer.json with keywords, authors, support, autoload and require sections
 * - Adding .jshintrc for DataValues and making it pass

Diff

 * - Extract from doDiff method in MapDiffer
 * - Update README file
 * - Add wikidata as keyword in package description
 * - Update irc channel in composer.json
 * - Fix link
 * - Tweak to travis.yml
 * - Updated composer.json with autoload section
 * - Added preliminary diff merger functionality

DonationInterface

 * - Limiting the GC orphan rectifier such that it will only mess with GC messages in the cc-limbo queue.

Echo

 * - Cleanup JS

EducationProgram

 * - Register unit tests automatically with MW
 * - Fix unserialization of revision data

EventLogging

 * - Fix QUnit test failure
 * - Validate adherence to 'enum' constraint in server-side logging

GuidedTour

 * - Make buttonSpecs and allowAutomaticOkay both non-optional
 * - Check for multiple arguments, tweak error message, add test.
 * - Minor clean up

MwEmbedSupport

 * - Revert &quot;Register resources with absolute path&quot;

OpenStackManager

 * - Make explicit mention that shell name must be lowercase.
 * - Fix some Echo-related messages
 * - Don't delete class at index [false] if we don't find a matching class.

Parsoid

 * - Fix crasher in link handler
 * - Load data-parsoid before inserting references
 * - Better fallback value in case src is missing
 * - References handling: Fix bugs introduced by 7d88538d
 * - Make DSR adjustments based on treebuilder-corrections
 * - Don't escape '=' in template parameter values
 * - Fix a crasher and be more robust on corrupt or outdated data-parsoid
 * - Trivial: Use inline function instead of var
 * - Reduce syntactic diffs on ' = '
 * - : Preserve transclusion parameter order
 * - &lt;source&gt; is considered an ext-tag =&gt; it isn't a void elt
 * - Generated DOMFragment wrapping &lt;ol&gt; for references tag
 * - Fixed missing/bad tsr values in tokenizer
 * - Disabled src-based RTing of tpls and exts to get this code RT tested
 * - Allow any number of spaces between int value and 'px' in value of width/height for images
 * - Unhandled wikitext escaping for quotes after i/b nodes
 * - Tweaks to parserTests setup, redirect tests
 * - Don't set link parameter for image when not necessary
 * - Always prefer canonical version over localized version when serializing HTML DOM to wikitext
 * - Fixes for escaping of harmful wikitext in template args
 * - Don't apply mw-figcaption class to figcaption (it is redundant information)
 * - Fixed bad parser test, updated selser changes, updated blacklist.
 * - Make Parsoid use protocol relative URLs for images (http vs. https)
 * - Re-enable fetch-parsertests.js --force
 * - Fix for retrieving localized version of align attribute for images
 * - Do not apply unnecessary file dimensions constraints
 * - Add our own copy of parserTests.txt
 * - : Default to two preceding newlines for new headings
 * - Several bug fixes in wikitext escaping
 * - Bug fix in escapeTplArgWT - wrong Comment constructor name
 * - Fixed bug in migrateTrailingNLs DOM post-processor
 * - Serializer: Add 1 space, if necessary, around '=' in tpl transclusions
 * - Fix crasher in cleanupLIHack when dsr is absent (ex: tpl content)
 * - : Always use wiki.apiURI for API requests
 * - Mention the interwiki prefix when reporting errors to the log
 * - Fix spurious &lt;li&gt; nodes using wikitext list syntax.
 * - Dont-clobber data-parsoid during tpl-encap
 * - Add a lang member to the wiki config and compare CONTENTLANGUAGE with that
 * - Fix debug patch for content language
 * - Abstract out the HTTP user agent and include Parsoid
 * - : Add a sanity check for expandtemplates responses
 * - Fixed bad regexp for matching &lt;ref..&gt;..&lt;/ref&gt;
 * - Another nested ref hotfix
 * - : Avoid crash in TemplateHandler nested ref code
 * - Fix RTing of newlines around comments
 * - Fix a bug in redirect round-tripping
 * - LinkHandler cleanup and refactor

ProofreadPage

 * - Editing system for pages separated.
 * - Wikilinks of Index: pages are mishandled if they contain a &quot;:&quot;
 * - is not fill at the loading of a new Page: page
 * - Improve code quality of DbConnectors
 * - The parameter of the header template should be in lower case
 * - ProofreadPage Fatal error: Call to a member function exists on a non-object

Scribunto

 * - Fix LuaSandbox mw.ustring.byteoffset with negative 'i'

SecurePoll

 * - Fix parameter order to match actual in sendMail.php

SemanticForms

 * - fix bug (autoedit does never finish on error)
 * - Escape tooltip only once
 * - fix bug: Added wikitext in the system message Mediawiki:Minoredit is not parsed when using &quot;edit with form&quot;
 * - fix bug: popup form
 * - Remove non-existing class from autoloader

TimedMediaHandler

 * - Revert &quot;Register resources with absolute path&quot;
 * - handle case where getStreamTypes returns no types
 * - ID3Handler::getID3 should be protected
 * - Refactor MediaHandlers
 * - Increase transcode timeout and size for 720p uploads &gt; 1h
 * - Updated the id3 files
 * - Tune Special:TimedMediaHandler
 * - Clean up transform dimension height handling
 * - Add support for FLAC audio files

TocTree

 * - Css cleanup

UniversalLanguageSelector

 * - Sort the language modules by id
 * - Update jquery.ime from upstream
 * - Update jquery.uls from upstream
 * - Update jquery.ime from upstream
 * - Update jquery.ime from upstream

UserMerge

 * - Combine text and ID update fields

Wikibase

 * - Fix sitelink handling in selenium tests
 * - Make Selenium tests aware of timeout when parsing time inputs
 * - Use quick hasEntity in EntityExistsValidator
 * - Add toolbox link and js config var for connected wikibase item
 * - Fix client tests to pass on repo.
 * - i18n for input validation.
 * - Improvements to Selenium coordinate tests
 * - make selenium statements_basic tests really basic
 * - ajax_wait needs to sleep
 * - Fixed Special:SetSiteLink
 * - Fix client's add-link-widget
 * - Add separate messages for wikibase-deletedentity
 * - Fix @covers &amp; @since tags
 * - Make use of serializers when generating result in the API
 * - set default for entity per page script to rebuild only missing
 * - Fix passing of serialization options in lua library.
 * - Use SnakConstructionService to wrap SnakFactory.
 * - Remove deletion of broken test as apparently is no longer there on Jenkins.
 * - Fix check for wrong version.
 * - EntityLookup::hasEntity for quick checks.
 * - Add EntityRevision functionality
 * - Fixed initialization of site link tables
 * - Adjusted Selenium tests to GlobeCoordinate input expert's request delay
 * - Complexity reduction in ModifyEntity
 * - Set string-length limit to 400 and enable Selenium test
 * - Using DataTypes\DataTypesModule for defining JS config var &quot;wbDataTypes&quot;
 * - allow fail on php 5.5. build
 * - Make Selenium tests work with all of the validators
 * - Register validators with DataTypes.
 * - Validate all Snaks passed to the API.
 * - Introducing SnakValidator.
 * - Get rid of many getPrefixedEtity id usages in repo
 * - Get rid of getPrefixedId in EntityContent::equals and added missing check
 * - Fix a message that is not client name free
 * - Fix $wgWBWikibase alias for PHP 5.5.
 * - Make EntityIdParser be case insensitive.
 * - Introduce EntityDataUriManager
 * - No rev ID in path, it messes with web caches
 * - Move EntityData* to LinkedData namespace and dir
 * - Remove global state from EntityDataRequestHandler
 * - EntityLookup should fail on bad revision
 * - Got rid of getPrefixedId in entity serializer
 * - Fix wgWBSettings alias.
 * - Remove global scope assumptions in repo and exec code in non global scope
 * - Remove global scope assumptions in client and exec code in non global scope
 * - Get rid of deprecated method usage in repo API tests
 * - Make JS repoApi aware of editEntity's &quot;new&quot; parameter
 * - Add parameter &quot;new&quot; to editEntity API
 * - Selenium test adjustments for switch to back-end GeoCoordinate parser
 * - Remove global scope assumptions in lib and exec code in non global scope
 * - Remove lib from autoload in composer file untill we figure out how to get this to work
 * - Remove repo from autoload in composer file untill we figure out how to get this to work
 * - Added autoload to composer file
 * - Remove WikibaseQuery as it now resides in its own git repo
 * - Use Composer to do installation of Wikibase and dependencies in TravisCI build
 * - Make Jenkins pass again
 * - Fix typo in travis config
 * - Exclude ChangeHandlerTest since it is still full of fail
 * - Update Jenkins test hack code
 * - Fix to path in travis config and added workaround for weird travis behaviour
 * - Fix travis config
 * - Have Travis run both builds for client and repo installs
 * - Add strict config
 * - Do not run the tests twice
 * - Run the phpunit command as part of the script
 * - Remove not needed clone
 * - The MW PHPUnit runner fails when invoking it from elsewhere
 * - Fix to paths in travis config
 * - Move broken phpunit config file out of the way and update travis build config
 * - Have Travis run the repo tests
 * - Remove the Database component as it now resides in its own repository
 * - Remove DataModel component as it now resides in the WikibaseDataModel git repo
 * - Use custom type builders to define data types.
 * - Added coordinate QUnit tests to be executed by Selenium
 * - Fix Selenium tests for Time UI
 * - Fix fatally broken EntityId::newFromArray
 * - Handle errors from invalid snak values.
 * - Removed dead test and inlined deprecated method
 * - Kill remaining dependencies on lib and repo from DataModel
 * - Remove no longer needed test exclude
 * - Move SiteLink to lib
 * - Get rid of remaining SiteLink usage in DataModel
 * - Remove SiteLink::newFromText and Item-&gt;getSiteLinks
 * - Adjusted Selenium tests to changes regarding site groups
 * - Added tests for SiteLinksEditTool value row insertion behavior
 * - working counters for multiple SiteLinksEditTool instances
 * - Deprecated wb.Site functionality related to &quot;global&quot; site ID in JS
 * - less error prone jQuery.wikibase.siteselector matching character highlighting
 * - Refactoring of SiteIdInterface test
 * - Introduction of &quot;allowedSites&quot; option in SiteLinksEditTool
 * - Added JS wikibase.getSitesOfGroup
 * - Display site-link group specific heading per SiteLinksEditTool in JS
 * - Some EditEntity cleanup
 * - Stop excluding test that now works
 * - Fixed assumption of SiteLinksEditTool of single edit tool per page
 * - Added JavaScript wikibase.getSiteGroups
 * - Refactor Sites related wikibase tests in frontend
 * - Added wb.Site.prototype.getGroup
 * - Support multiple site link groups.
 * - Selenium tests for coordinate UI
 * - Got rid of PropertyValueSnak::newFromPropertyValue
 * - Move the QueryEngine component to its own git repository
 * - Add TODO
 * - Added QueryEnginer writing integration test
 * - Always use the same autoloading mechanism for DataModel
 * - Register component info of QueryEngine in MW.
 * - Got rid of MWException in Entity
 * - Got rid of MWException usage in Claim and improved its tests
 * - Use InvalidArgumentException in SiteLink
 * - Selenium Tests for Time UI
 * - Got rid of MWException usage in EntityId
 * - Get rid of SiteLink usage in EntityUsageIndexTest
 * - Get rid of SiteLink usage in TestItems
 * - Get rid of SiteLink usage in TestChanges
 * - Get rid of SiteLink usage in SpecialNewItem
 * - Removed SiteLink usage from ItemContentTest
 * - Improvements to ByPropertyIdArray and its test
 * - Improvements to MapValueHasher and its test
 * - Got rid of MWException in Claims and improved its tests
 * - Removed Item-&gt;getSiteLink
 * - Handle If-Modified-Since in Special:EntityData
 * - Factor EntityDataRequestHandler out of the special page
 * - Fix argument list in data provider
 * - Handle failure to deserialize entity in lua
 * - Skip changes in client change handling that with unknown data type
 * - Some style fixes in SpecialSetSiteLink::setSiteLink
 * - Hotfix: Make Special:SetSiteLink not set already used Links
 * - Update i18n message to use globe-coordinate instead of geo-coordinate
 * - Automatically register all Wikibase Client tests
 * - Fix usage of SimpleSiteLink in info action hook
 * - Fix documentation in Item class
 * - Fix SimpleSiteLink usage and exception in EntityIdPropertyUpdater
 * - Fix usage of SimpleSiteLink in PropertyParserFunction
 * - Automatically register all Wikibase Lib tests
 * - Got rid of MWException usage in SnakObject
 * - Remove unused import
 * - Removed unused import
 * - Style fixes to imports
 * - Improvements to ChangeOpSiteLink and its test
 * - Update SiteLink usage in ChangeHandlerTest
 * - Removed last non-deprecated usages of SiteLink::newFromText
 * - Improvements to MockRepositoryTest
 * - Improvements to ItemTest
 * - Remove misplaced test method that is now testing deprecated code
 * - Improvements to SiteLinkTableTest and use SimpleSiteLink in SiteLinkLookup interface
 * - Improvements to ItemDiffTest
 * - Automatically register DataModel tests with MediaWiki
 * - Added composer.json to the QueryEngine component
 * - Added composer.json file to the Database component
 * - Handle failures in gracefully.
 * - Add composer.json file to DataModel component
 * - Fix @covers tags
 * - Fix @covers tag
 * - Split up switch-case into separate methods
 * - Passing mediaWiki JavaScript object to valueview as option
 * - Remove all &quot;executable&quot; permission bits from all files.
 * - Get rid of some SiteLink usage in Item
 * - Remove/replace some MW specific code
 * - Provide alternative to methods using SiteLink in item and deprecate the SiteLink using ones
 * - Remove dead code in SiteLink::newFromText
 * - Added SimpleSiteLink class so we can migrate DataModel code away from SiteLink
 * - Remove unused Item::setSiteLinks
 * - Updated gitignore file with composer stuff
 * - Fix handling of iwdata=only in Special UnconnectedPages

WikibaseDataModel

 * ** Newly deployed extension