MediaWiki 1.22/wmf18/Changelog

Core changes

 * - Allow AbortLogin hook to override error messages
 * - Update VisualEditor to wmf18 branch to pick up I7bddcfa9 cherry-pick
 * - Zero Ext Update
 * - Add MassMessage to 1.22wmf18 to stop upsetting mergeMessageFileList
 * - ResourceLoader: expose registry as mediaWiki.loader.moduleRegistry
 * - Fix comma errors in various js files (new jshint warning)
 * - Updating zero ext
 * - Bump GuidedTour for Growth team deployment
 * - Update VisualEditor and TemplateData submodule
 * - Cherry-pick HtmlFormatter into production
 * - Updated Zero ext
 * - Update VisualEditor to wmf18 branch for cherry-picks
 * - Update Wikibase and WikimediaMessages
 * - Bump GuidedTour for Growth team deploy.
 * - 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

 * - Highlight both plain and stemmed fields.
 * - Tests for workaround of highlighting issue.
 * - More efficient alias maintenance.
 * - Remove index named after alias.
 * - Fix typo in comment
 * - Tests for places where kstem beats porter stemmer.
 * - Switch English to kstem.
 * - Tests for programmer friendly word splitting.
 * - Allow aggressive splitting.
 * - Update link counts on linked pages.
 * - Tests for redirect scoring.

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

EventLogging

 * - Improve styling of schema code samples dialog

GeoData

 * - Fix stupid condition
 * - Fix exception on null parser output

GuidedTour

 * - Add 95% width on title so x is still top-right when title wraps

MassMessage

 * ** Newly deployed extension

MobileFrontend

 * - Regression: Banners above chrome make hamburger and echo disappear
 * - Removing redundant div.magnify CSS selector
 * - Stylistic changes to profile page
 * - Ajax Page Loads: Don't drop the query string
 * - Moving some content hiding from server-side to CSS
 * - Story 1263: Add previous and next buttons to diff
 * - Story 1263: Add click tracking to last modified link in beta
 * - Add Profiling to Special:UserProfile
 * - Regression: Don't close drawers when tapping on them
 * - Only show smiley face in beta
 * - Hygiene: Run make less
 * - number of languages varies in each test env
 * - Using language aware comma and native digits on MobileDiff
 * - Add context to GetMobileUrl hook
 * - Get rid of MobileContext::singleton in skins
 * - Migrating Mobile thanks into Thanks extension
 * - Story 475: Add EventLogging to profile clicks
 * - Add convertNumber to localize the distance
 * - Story 1030: Clean up ui.less
 * - Fix typo.
 * - Story 475: Link user profile from left menu in beta
 * - Don't display file name with underscores
 * - Regression: Fix previews
 * - Use mobile-friendly HTML for previews
 * - Check latest revision in mobileview
 * - QA#1251 Create a first time user to make sure that the tutorial displays for uploads
 * - link text is not consistent, check for target instead, see comment
 * - Add comments about localization of licensing strings.
 * - Profile: Get correct file for profile page
 * - Make language variant selection possible on all pages
 * - Profiles: Stop the heading from being a link
 * - Beta: Link diff page to user profile

NavigationTiming

 * - Use $.each instead of [].forEach to avoid distracting reviewers
 * - Drop obsolete 'mobileTargets' from module declarations

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

 * - Account for absence of template description in #getHtml
 * - version_compare sucks
 * - 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

Vector

 * - Delete the ext.vector.sectionEditLinks module

VisualEditor

 * - Make cursoring over a FocusableNode work again
 * - removedItems[i] is already an item, no need to pass removedItems[i].item
 * - Fix use of removed function isUniqueListKey
 * - Fix exception thrown by converter when data ends in text
 * - Only listen for copy/paste on documentNode and pasteTarget
 * - Prevent naming collisions when generating unique reference names
 * - 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

 * - Populate Wikipedia interwiki ids for Commons and Wikidata
 * - Ensure populate sites works for updating existing sites
 * - 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 message for Commons site link section on Wikidata
 * - Add missing cc-by/cc-by-sa-3.0 licenses (China and more)

WikimediaShopLink

 * - Remove unused message

ZeroRatedMobileAccess

 * - Redirect mdot subdomain with no or disabled config to mdot homepage.
 * - ] Fixed zero.wikipedia.org to show red banner for no carrier case
 * - Removed logging of google bot (too much noise)
 * - Changed redirect behaviour for Special:Zero
 * - Big refactoring of PageRenderingHooks to avoid globals
 * - Added 'Enable-ESI: 1' response header for varnish
 * - Refactor some of the warning code for footer links.