MediaWiki 1.22/wmf18/Changelog

Core changes

 * - Commit of various wmf-branch live hacks
 * - Allow RedisConnectionPool to be used with HHVM's Redis library
 * - doc: Fix grammar in GitInfo documentation comment
 * - Fix initialization of Context in Action class.
 * - jquery.suggestions: Fix up trailing comments from 2f5125e8
 * - Factor out ChangeTags::tagUsageStatistics from SpecialTags
 * - CSSMin: factor out image encoding into encodeImageAsDataURI method
 * - Adapt StringUtils::isUtf8 to the top of Unicode at U+10FFFF
 * - Fixed check of BagOStuff set return value in mctest
 * - Separate RevDel logic from UI
 * - mediawiki.api: Simplify done/fail calls by chaining
 * - Fully log exceptions within ResourceLoader (including traces)
 * - legacy upload.js: Clean up and remove from jshintignore
 * - Use wfResetOutputBuffers in ResourceLoader
 * - doc: Clean up documentation for StringUtils classes
 * - jquery.makeCollapsible: Use promise.done instead of when.then
 * - Sanitizer: Remove redundant @private tags
 * - RefreshLinksJob: Replace use of empty with explicit check
 * - Make CSSMin::getMimeType public rather than protected
 * - Store boolean values as integers with SQLite
 * - Add gzdecode fallback to GlobalFunctions
 * - Clean up legacy protect.js &amp; remove from .jshintignore
 * - Protect against non-arrays when fetching headers
 * - mediawiki.user: Clean up documentation and minor optimisation
 * - Add TitleMove hook
 * - Show the revision ID on error message when content is missing on difference page
 * - Removed unneeded else branches in DifferenceEngine
 * - Guard against non-object returns from File::getHander
 * - Rebuild MessagesEn.php
 * - Sync up with Parsoid parserTests.
 * - Remove 'mediawiki.legacy.wikiprintable' module
 * - Remove remaining calls to MWInit methods
 * - Web installer: correctly show note for I4ecd0659
 * - Drop unnecessary CSS selectors for a.external[href^=&quot;gopher://&quot;]
 * - mediawiki.util: Detect Iceweasel for accesskeys
 * - Always pass user to LogPage::addEntry
 * - Consistently follow conventions for documenting parameters
 * - wfMkdirParents: recover from mkdir race condition
 * - Minor bugfix to IP::prettifyIP.
 * - Adding support for query string params to mw.util.wikiGetlink
 * - SpecialPrefixindex: Try not to generate unclickable links
 * - Add optional message to define default description for Upload
 * - jquery.tablesorter: Support genitive month names
 * - Remove &quot;Misc&quot; tab from Special:Preferences
 * - Don't ask users to mark own page creations as patrolled
 * - Changed tableName so it returns uppercased table names (+prefix)
 * - Changed tableName so it returns uppercased table names (+prefix)

AbuseFilter

 * - Avoid connecting to central database when not necessary
 * - Fixed &quot;A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE&quot; memcached errors

CirrusSearch

 * - Remove no longer required analyzer.
 * - Tests for proximity and fuzzy search.
 * - Default to two replicas per shard.
 * - Tests for highlighting and search operator fixes.
 * - Highlighting and search operator fixes.
 * - Turn on phrase suggestion test.
 * - Escape queries that use ~ incorrectly.
 * - Easier index maintenance.

Cite

 * - Improve CSS for hiding the accessibility labels

DataValues

 * - handle globe option in GlobeCoordinateParser
 * - allow longitude coordinates up to 360 in JS globe coordinate
 * - allow globe coordinate precision to be null in JS
 * - Improved Performance of jQuery.ui.inputextender
 * - allow precision to be null in globe coordinate

Diff

 * - Use camelCase for method name
 * - Update gitignore
 * - Update scrutinizer config
 * - Update scrutinizer config
 * - Update scrutinizer config

Echo

 * - Split the Echo API into their own write/read APIs

EventLogging

 * - Improve styling of schema code samples dialog

GuidedTour

 * - Enable logging for firstedit tour

OAuth

 * - Various small message and UI tweaks
 * - Improve instructions for developers
 * - Remove table from ManageMyGrants list
 * - Simplified Special:MWOAuthManageMyGrants listings
 * - Made grants management page available everywhere
 * - Added simplified special page aliases
 * - Make ManageMyGrants look more like /authorize

Parsoid

 * - Use html5 release.
 * - Add a test for DSR update bug.
 * - Use table's tsr info for encapsulating transclusion meta.
 * - Use just the 'Parsoid/0.1' user agent so that we don't distort stats
 * - Minor code tweak.
 * - Don't encapsulate when fosterbox is in transclusion.
 * - Bump html5 so that jsdom becomes an optional dep.
 * - Encapsulate foster-parented transclusion content.
 * - Sync parserTests with core.
 * - : More performance results data.
 * - Modify mockAPI to return correct answer for not existing files

TemplateData

 * - Remove global function gzdecode fallback

Translate

 * - MessageGroups::haveSingleSourceLanguage must be static
 * - Use insertables for MediaWiki extensions
 * - Fix getInsertablesSuggester for file based message groups
 * - Initial support for insertables
 * - Change haveSingleSourceLanguage to use a simple loop

UniversalLanguageSelector

 * - This scenario does not work with anon language selection
 * - Fix the test I broke
 * - Simplify tests
 * - Simplify test code
 * - Updated: Integration tests for off-screen IME selector
 * - Refactoring tests
 * - Integration tests for off-screen IME selector.

UploadWizard

 * - Comment out the redundant check.
 * - Parse mwe-upwiz-tooltip-skiptutorial containing link
 * - Fix EventLogging module loads

Vector

 * - Delete the ext.vector.sectionEditLinks module

VisualEditor

 * - VE bullets, numbering, indents, outdents
 * - Don't break core's parserTests if VisualEditor is installed
 * - Describe commit message guidelines in CONTRIBUTING.md
 * - Minor doc fixes to `ve.dm.Transaction`.
 * - Clean up VisualEditorDataModule and document ve.version
 * - dm.Surface: Initialize selection at (1,1) instead of (0,0)
 * - update class for suggestion list element
 * - Always use multi-part format for transclusions
 * - Rename CODING.md to CONTRIBUTING.md
 * - Updates to README.md and CODING.md
 * - Updated Ruby gems
 * - Fix function naming conventions, comments and whitespace
 * - Scroll into view support
 * - VE support on beta is now reliable, run tests there
 * - Remove ve.log debugging calls from EventSequencer
 * - Hide version info if not available
 * - Fix check for preformatted when stripping whitespace
 * - Fix merge conflict breaking localised bold/italic icons
 * - Rewrite MetaList.onTransact
 * - Allow replace operations to replace metadata as well

Wikibase

 * - Quick fix for PropertyParserFunction
 * - Fix in edit sitelinks selenium test
 * - Support multiple datavalues in autosummaries in changeops
 * - Support coordinate and entityidvalue in autossummaries
 * - Tidy up of JsonDumperCommits
 * - handle populates sites table interwiki ids correctly
 * - Filter JSON dump by shard or type.
 * - Dump JSON of entities listed in file.
 * - Introducing dumpJson.
 * - Refactor GetEntities Test
 * - Performance improvement in FetchedEntityContentSerializer::getSerialized
 * - Fixed &quot;qualifiers-order&quot; XML output
 * - Restrict ItemByTitleHelper site/title combinations
 * - Fix various issues with test cases.
 * - Change SnakFormatterFactory::FORMAT_* to SnakFormatter::FORMAT_*
 * - Add missing @throws tags
 * - Remove unused method from Test
 * - Triggering claimview's &quot;change&quot; event when qualifier snaks are reordered
 * - Fix WikibaseSnakFormatterBuilders getting messages.
 * - Don't pass Language object to message
 * - Cleanup SetClaimTest
 * - Exclude SetClaimTest on travis
 * - Revert &quot;Exclude ClaimSummaryBuilderTest&quot;
 * - Exclude ClaimSummaryBuilderTest
 * - Debug phpunit tests on travis
 * - Use SnakFormatter for diffs
 * - Use SnakFormatter for summaries
 * - Use SnakFormatter for diffs and summaries&quot;
 * - Remove OldSnakFormatter from classes list
 * - Remove addshore
 * - Switch use of entity-&gt;newClaim
 * - Use SnakFormatter for diffs and summaries
 * - Remove old SnakFormatter.
 * - Make EntityIdLabelFormatter more flexible
 * - Registered movetoolbar definition for qualifiers
 * - Implemented movetoolbar widget
 * - Implemented &quot;move&quot; functionality in snaklistview widget
 * - Basic snaklistview QUnit tests
 * - Implemented &quot;move&quot; functionality in listview widget
 * - Added basic listview QUnit tests
 * - Implemented ordering of snaks within SnakList
 * - Using listview widget to group qualifiers
 * - Use ClaimGuidParser instead of deprecated method
 * - Split ChangeOp into interface and base class
 * - Make removeClaimsEntityId check case insenstive
 * - toolbarcontroller: Detach event handlers before re-attaching.
 * - Introducing SnakFormatter and SnakFormatterFactory
 * - Introduction of FetchedEntityContentSerializer
 * - Introduces SpecialWikibaseQueryPage::CACHE_TTL_IN_SECONDS
 * - grab a fresh ID before performing changeops
 * - Apply high limit for bots to wbsearchentities.
 * - add use for missing exception
 * - check that sites and titles params are set before lookup
 * - Fix message dependencies for jquery.wikibase.snaklistview
 * - Put ALL specialpages in their own namespace
 * - use lang nb instead of no in tests
 * - Support multiple browsers when running cucumber tests locally
 * - make getEntityIdForClaim use ClaimGuidParser
 * - Added getClaimGuidParser and initial usage
 * - Let ClaimsSerializer implements Unserializer
 * - Use cucumber for aliases tests
 * - Do not run code coverage as we can still not do a full Composer install with MW
 * - Add scrutinizer config
 * - Match changes in DataModel
 * - Force entity IDs to be lower case in wb_changes.
 * - Allow serializers to use upper and/or lower case ids, as needed.
 * - Make wait-for-request method more robust in selenium tests
 * - Split up test scenarios for label and description tests
 * - Add more tags to cucumber tests
 * - Add additional class to aliases add button
 * - Set GUID in Claims used in tests.
 * - Browsertests: send build-number to saucelabs
 * - Added missing class import.
 * - Fix getting badges by api when usekeys is true
 * - Add separate config for running browsertests on cloudbees
 * - api.php?action=wbgetentities gets a new parameter 'languagefallback'
 * - Fix Undo Selenium test that broke due to badges support
 * - Fix selenium test for Special:EntitiesWithoutLabel
 * - Remove unnecessary call to EntityContentFactory::singleton in EntityView
 * - Add missing dependency 'wikibase.dataTypes' &gt; 'dataTypes'
 * - Allow mw.wikibase.label to find labels written in variants
 * - Label and description serialization now accepts LanguageFallbackChain as the language option
 * - SpecialWikibaseQueryPage::formatRow is no longer abstract
 * - Stop using deprecated contentfactory singleton
 * - Reuse duplicate code in LinkTitles
 * - Improvements to EntityPerPageBuilderTest.

WikibaseDataModel

 * - Revert &quot;Revert &quot;Remove NewClaim dependancy on Lib&quot;&quot;
 * - Revert &quot;Remove NewClaim dependancy on Lib&quot;
 * - Remove NewClaim dependancy on Lib
 * - Add Scrutinizer config
 * - Followup tidyup of EntityIdParser
 * - Implement EntityIdParser as an Interface
 * - Implement ClaimGuid and Parser class
 * - Fix Aliasing direction
 * - Move b/c code for ClaimObject and StatementObject to a better location
 * - Move b/c code for ReferenceObject to a better location
 * - Fix ItemId invalid serialization message.

WikimediaMessages

 * - Add missing cc-by/cc-by-sa-3.0 licenses (China and more)

WikimediaShopLink

 * - Remove unused message