MediaWiki 1.22/wmf21/Changelog

Core changes

 * - Update VisualEditor for cherry-picks I54602394e &amp; I3b58ce0f4
 * - Update Wikibase
 * - Move noflip annotations into rules themselves
 * - Update MobileFrontend to 1.22wmf21 tip
 * - Update VisualEditor for cherry-pick of I8cf8418ded
 * - Update MobileFrontend to 1.22wmf21 tip
 * - Expose changed links in LinksUpdate
 * - Add configurable delay between purgeChangedPages batches
 * - Update Wikibase with fix for site link editing
 * - update extensions for Wikidata
 * - Commit of various wmf-branch live hacks
 * - Remove silly test cases that are likely to fail
 * - Add mediawiki.inspect module
 * - Escape backticks when quoting MySQL identifiers
 * - Tests for API section editing
 * - Remove wfDl and cleanup everything it touched
 * - Fix ForeignAPIRepo::fileExistsBatch
 * - Fixed trx isolation bug that could cause text not to be found
 * - Fix PHP CodeSniffer warnings and errors
 * - Remove incorrect span in translation
 * - Remove unused local variable
 * - Make items in the StringUtilsTest data provider easier to identify by adding names.
 * - Update formatting
 * - Add some siteinfo to the repo info array
 * - Quick refactor of the http logic in ForeignAPIRepo
 * - mediawiki.action.edit.preview: Fix for LiquidThreads hack
 * - Add file-link &quot;parser&quot; to mw.Title from commons
 * - Add doc comment to Status explaining use
 * - Fix PHP CodeSniffer errors and warnings
 * - Added $wgExtensionEntryPointListFiles for use with mergeMessageFileList.php
 * - Add list=allfileusages
 * - Fix help string to avoid PHP notice
 * - Made root job de-duplication work without cache setup
 * - Removed RC query UNION
 * - Make .transition mixin take only 1 value and fix usage
 * - Add script to purge changed pages from cache
 * - resourceloader: Support hashes as cache invalidation trigger
 * - Move forceHTTPS check until after wgTitle is setup
 * - mediawiki.Title: Fix weird &lt;h1&gt; in constructor description
 * - Allow $context-&gt;setTitle( null )
 * - Fix &quot;Unsupported operand types at thumb.php on line 429&quot;
 * - Accessibility: Don't remove checkbox outline on focus
 * - Move release note for meta=filerepoinfo into api section
 * - mediawiki.action.edit.preview: Clean up and optimisation
 * - Set 'tooltip-iwiki' as optional
 * - Remove redundant parentheses
 * - Follow-up d94d29a920: Fix typo in release notes
 * - postEdit: Add documentation for hook so it shows up in the index
 * - Special:UserLogin UI improvements when user is logged in
 * - mediawiki.special.vforms: Information boxes' styles
 * - Remove toolbox UserRights if anon user
 * - Make the format of UDP-logged stats configurable
 * - Remove placeholder tests
 * - Remove use of deprecated LoadBalancer pickRandom
 * - Introduce .transition mixin
 * - Turn screen.css into screen.less
 * - Rewrite collapsibleNav as LESS file
 * - Strip excess newlines from formatting test
 * - mw.Title: Add missing dependency on jquery.byteLength
 * - Fixed silly unlock bug in LocalFile
 * - Mouseover explanations for interlanguage links in native language
 * - Allow appending text to redirects from moved pages
 * - Restrict &lt;abbr&gt; formatting to where a title attribute is present
 * - Support GENDER for &quot;contribsub2&quot;
 * - Fix revision table cleanup on delete
 * - LESS embeddable: Use lessc::toBool
 * - Added wiki ID to getCoalesceLocationInternal
 * - Avoid extra HEADs for stash clearing
 * - Sync up with Parsoid parserTests.
 * - tests: remove date from @author docs statements
 * - Maintenance: detect missing parent::__construct
 * - Use HPHP_VERSION constant to detect HipHop
 * - Add missing default true value for 'vector-simplesearch' preference
 * - mw.Title: Rewrite from scratch (porting logic from Title.php)
 * - API: Add output of wgLogo to meta=siteinfo
 * - Fixup parameter type hints

AbuseFilter

 * - Remove trailing whitespace
 * - Add links to abusefilter-edit-done

ArticleFeedbackv5

 * - Add UserGetReservedNames hook subscriber

CategoryTree

 * - Minor clean up of css/js

CirrusSearch

 * - Remove outdated instructions, Elastica is in another extension
 * - Default to 1 replicate per shard
 * - Fix updateSearchIndexConfig for non-existant alias
 * - Make default host localhost
 * - Optimize in place reindexing.
 * - Replace prefix: implementation.
 * - Tests for proper prefix: implementation.
 * - Wrap updateOneSearchIndexConfig in top level catch
 * - Moved scripts but didn't update paths
 * - Also mention Elastica

DataTypes

 * - update composer
 * - update composer file
 * - Changed message 'Geographic coordinate' to 'Geographic coordinates'
 * - Remove clutter comments

DataValues

 * - update composer file
 * - update composer file
 * - Fix comment docs return value
 * - Fix for failing tests (MockViewState no instance of ViewState)
 * - Moved 'jquery.valueview.MessageProvider' dependency into the right module
 * - Update loading of ValueView via Composer
 * - Update check in ValueView
 * - Moves the jQuery.NativeEventHandler from WikibaseLib into ValueView extension
 * - toggler &amp; inputextender: Replaced &quot;animationstep&quot; events with &quot;animation&quot; event
 * - Introduces jQuery.AnimationEvent and jQuery.fn.animateWithEvent
 * - Add description to DV common and interfaces
 * - Update constant capitalization
 * - Move all usage of $wgDataValues into DataValuesCommon as that is the lowest level where it is used
 * - Remove test for deprecated method
 * - Move DataValue registration since the DVs themselves got moved
 * - Do no longer include ValueView via the common entry point
 * - Use upper case for version constants
 * - Add missing component registration

Diff

 * - update composer file
 * - update composer file
 * - Update readme
 * - 0.9 release
 * - Remove clutter comments
 * - Update README
 * - Add ComparableComparer
 * - Have OrderedListDiffer take a ValueComparer rather then a callable
 * - Improve names, fix version number and update rel notes

Echo

 * - Fix phpdoc comments

EducationProgram

 * - Hooks::displayTabs missed wfProfileOut
 * - Change course status &quot;Passed&quot; to &quot;Ended&quot; to avoid ambiguity

MassMessage

 * - Remove pointless override teardown method
 * - Use covers tags in tests

MobileFrontend

 * - Fixing Thank button styling
 * - Fix bad PHP
 * - Adding a selenium test for the notifications overlay
 * - Revert &quot;Fail gracefully if people are using older MW&quot;
 * - Standardise (again) on MEDIAWIKI_URL
 * - QA-Added option to keep browser option for debugging to match the browsertests project
 * - i18n: Add GENDER to message to make things clearer for translators
 * - Add support for back button in nested overlays
 * - Hygiene: Separate out NearbyOverlay.js
 * - Fix watchlist scripts dependency
 * - Fail gracefully if people are using older MW
 * - Rename watch event to watched
 * - Update notifications icon
 * - Story 1205: last thanked info on UserProfile
 * - Updating Selenium instructions in ReadMe file
 * - readding Gemfile.lock
 * - Hygiene: Standardise on MEDIAWIKI_URL
 * - Allow editors to know that undo is unsupported
 * - Stop people from checking in the locked Gemfile
 * - Tweak markup of edits and uploads text
 * - Hygiene: Remove unused function, add annotations
 * - Add convertNumber to localize last-modified digits
 * - Story 1164: Promote animations to stable
 * - Remove .no-margins body class
 * - Hygiene: Fix commented out test in MFResourceLoaderModuleTest.php
 * - Fix position fixed handling is iOS &lt;= 4_2
 * - Beta: Open sections by default in tablet view
 * - Track anonymous clicks as well
 * - Add global LESS variables shared with JavaScript to define resolutions
 * - Hygiene: Allow MFResourceLoaderModule to handle templates and files
 * - Fix file name in validatehtml.sh
 * - Regression: Fix section toggling when URL contains a hash
 * - Hygiene: Remove unused .show class from #content_wrapper
 * - Hygiene: Remove main page special casing from alpha
 * - Make lazy loaded pages containing h1s collapse on h1s
 * - Revert &quot;Regression: Hide the bullet points in the page list on nearby&quot;
 * - Removing bogus file from mobile.beta
 * - QA#1286 Changed the assertion to from looking at the url to verifying that the mobileview link exists..tested on all environments and works correctly
 * - QA#1286 using an article that is on beta, test2 and en.m so changing from San Francisco to Barack Obama
 * - Fix EventLogging for profile and logout clicks
 * - Hygiene: Remove history less file
 * - Various improvements to mobile notifications...
 * - Regression: Hide the bullet points in the page list on nearby
 * - Factor out DB work out of UserProfile to separate UI from backend
 * - Hygiene: Remove dead spinner CSS
 * - Hygiene: Cleanup gallery css
 * - Fix infobox styling on larger resolutions
 * - Use .less files directly in MobileFrontend
 * - Optimize count queries
 * - Remove selectors now hidden in CSS or otherwise unneeded
 * - Story 1030: Clean up toggle.less
 * - Story 1030: Clean up footer.less
 * - Story 1030: Clean up typography.less
 * - Story 1030: Clean up common.less
 * - Avoid using DB avoidErrors method

OAuth

 * - Avoid using stilly &quot;wp&quot; prefix in form
 * - Add necessary functions to $wgRedactedFunctionArguments

Parsoid

 * - Move set creation outside function call
 * - Clean up server.js and add heap dump handler using the heapdump module
 * - Don't process mw:dom-fragment-tokens in AttributeExpander
 * - Change CurlMultiClient for libcurl3 7.32
 * - Bunch of unrelated cleanup
 * - Remove confusing 'selser-cache-hit' from XPP header
 * - Provide performance measurements via 'X-Parsoid-Performance' header
 * - Don't compare to blacklisted output when supplied a changetree
 * - Introduce Parsing/DOM scopes for content fragments
 * - Sync parserTests with core.

ProofreadPage

 * - Fix an error when an image has an unknown media type

SemanticForms

 * - Updated for version 2.6
 * - New version: 2.6
 * - (Semantic Forms PHP warning for missing argument)

TemplateData

 * - Localize default &quot;empty&quot; value and status (deprecated, optional, required)
 * - Implement getInterfaceTextInLanguage and use API and Parser

TimedMediaHandler

 * - Adding heading id for TranscodeStatusTable

Translate

 * - Order resources alphabetically and add test for it
 * - Save the translations from sandbox to translation stash
 * - Fix the loading of translation titles from stash
 * - Avoid using DB ignoreErrors method
 * - Fixed &quot;cannot load such file -- rest_client (LoadError)&quot; error
 * - Move phpunit tests to tests/phpunit
 * - Stash: load in correct language and minor refactoring
 * - Code needed for Selenium tests
 * - Make the save api customizable for translationeditor plugin
 * - Add option 'skipgroup' to manageMessageChanges.php
 * - Check whether message handle is valid in isTranslatableMessage
 * - Avoid FOUC on Special:TranslationStash
 * - Fix PHP CodeSniffer errors and warnings
 * - Fix CodeSniffer errors and warnings
 * - Call existing method
 * - Message suggester for sandboxed users
 * - More frontend interface for SpecialTranslateSandbox
 * - Refactor translate sandbox manage code
 * - Refactor the css for language selector for message table
 * - Special page TranslationStash
 * - Update version date
 * - Fix licence typo in comment
 * - Add @codingStandardsIgnoreFile in alias files
 * - Add @codingStandardsIgnoreFile
 * - Translation stash storage: separate columns for namespace and title
 * - Use MW_INSTALL_PATH for the MediaWiki path
 * - Fix the class name of MediaWikiInsertablesSuggester test
 * - Rename Toolserver to Intuition
 * - WIP: Remove duplicate insertables

TranslationNotifications

 * - Update formatting

UniversalLanguageSelector

 * - Disable jquery.ime for VE till IME support is improved
 * - Use MW_INSTALL_PATH for test path if defined
 * - Reformat file
 * - Moving shared code to mediawiki-selenium Ruby gem

UploadWizard

 * - jquery audit for mw.LanguageUpWiz.js
 * - Remove unused or incognito mwe-upwiz-campaigns-editing
 * - Add caching &amp; cache invalidation for Campaign pages
 * - jshint fixes for mw.UploadWizardDescription.js
 * - jshint fixes for mw.ConfirmCloseWindow.js

VisualEditor

 * - ve.track: add topic-based analytic event subscription
 * - Log DOM save timing; update existing ve.track calls
 * - 'clearMessage' is a method of MWSaveDialog, not ViewPageTarget
 * - [browser tests] remove cruft and order page.rb file
 * - Remove SyntaxHighlight from the experimental set
 * - Use ve.ui.PushButton instead of ve.ui.Button in ve.ui.SyntaxHighlightDialog
 * - Snap resizables to a grid when the shift key is held
 * - ui.MWLinkTargetInputWidget: Fix crash on invalid input
 * - Convert try/catch uses of mw.Title to newFromText
 * - Fixes for Trevor's crazy half-baked commit
 * - [browser test] update references for proper iframes, new workflow
 * - [browser test] up arrow no longer exists, use X instead
 * - [Browser tests] Sort all the elements for Links tests to proper iframes
 * - [browser tests] editing controls to proper iframe
 * - [Browser tests] transclusion elements to new 3rd iframe
 * - Prevent deletion of FocusableNodes from a collapsed selection
 * - iframe
 * - dismiss latest warning iframe
 * - id for ip warning changed
 * - Destroy test surfaces
 * - Fix initialisation errors in EventSequencer
 * - Make the save dialog an actual dialog
 * - Move skin support into $wgVisualEditorSupportedSkins
 * - EventSequencer: New hooks for useful moments
 * - The amazing mystery of scrollTop and onscroll
 * - Make dialogs, inspectors windows and window sets generic
 * - Refactor out data processing from ve.dm.Document constructor
 * - Remove PagedDialog from test files
 * - Follow-up 6ec34a3de: Fix bug and exception in edit notice button
 * - Change X-Parsoid-Performance header value indicating cached response
 * - mw.ViewPageTarget: Fix broken firstHeading transition
 * - mw.ViewPageTarget: Fix incomplete teardown sequence in #deactivate
 * - Use FlatLinearData for storing converter results
 * - Track DOM retrieved events
 * - Fixup for IconButtonWidget load order
 * - Toolbar action widgetization and UI refactoring
 * - Remove surface dependencies from lookup widget
 * - Refactor ve.ui.PagedDialog
 * - Have API pass through 'X-Parsoid-Performance' header from Parsoid
 * - The element has different title on a Mac
 * - Fix name of syntaxHighlight icon file
 * - Followup 571d6cac: when the selection changes, undo highlights
 * - Make ve.Factory require static name property
 * - Make toolbars, toolgroups and tools toolFactory independent
 * - When cloning the InternalList, pass through properties that aren't rebuilt
 * - Allow menu tool groups to be wider if needed
 * - ve.Element: Fallback to body, window is not scrollable
 * - Change ve.dm.DocumentSlice to a mixin to ve.dm.LinearData
 * - Rename getDocumentSlice to cloneFromRange
 * - Get rid of 'reversed' flag on transactions

Wikibase

 * - Register undeserializable value formatter
 * - Fix UpdateRepoOnMoveJob autosummary
 * - (hotfix) SiteLinksEditTool: Address correct scope
 * - setClaim autosummary should not be overwritten by ChangeOp autosummary
 * - Fix claim weirdness
 * - update composer file
 * - update composer file
 * - Update .gitignore
 * - Display a custom sitename for specific site groups
 * - Make sitelink browsertests work on beta labs
 * - Removed EntityIdSerialize where it wasn't needed.
 * - Handle formatting errors gracefully
 * - Add groups to a file missing them
 * - Use SnakFormatter for HTML output.
 * - Handle empty summary arguments nicely.
 * - Fixed link to Special:SetSiteLink in ItemView - again
 * - Cleanup and remove unused use in EntitySerializer
 * - Remove formatting logic from ChangeOps
 * - Remove formating logic from ClaimSummaryBuilder.
 * - Introducing SummaryFormatter.
 * - Surround changeop-&gt;apply with try catch
 * - Add extra ChangeOpClaim tests
 * - Remove unused ClaimSaver class
 * - Use ApiWikibase::loadEntityContent
 * - Check for FormatJson returning null in setclaim
 * - Refactor setclaim to use changeops
 * - Add additional checks to NoClientOrRepoUsageTest
 * - Improve doc
 * - Remove a pile of unused use statements to things that should not be used in Lib
 * - remove unused WikibaseRepo reference
 * - Add NoClientOrRepoUsageTest
 * - Merge sitelinks/badges to sitelinks (api props)
 * - Improve wording for bad value to display in diffs, etc.
 * - Pass data provider message param in NumberValidatorTest
 * - cleanup in NumberRangeValidatorTest
 * - Get rid of some misplaced dependency management behaviour.
 * - Remove unused var in EntityPerPageBuilderTest and clarify control flow
 * - Remove duplicate method from ItemHandler
 * - Validate time precision.
 * - Introducing WikibaseValueFormatterBuilders.
 * - Rename ChangeOp test dir and fix @covers tags
 * - Handle formatting of undeserializable values
 * - Cleanup Wikibase\Lib phpunit tests
 * - Introducing EntityIdLinkFormatter
 * - Remove unused $restore from PermissionsTest
 * - Check permissions in MergeItems..
 * - Refactor SetClaimTest
 * - Make ChangeOpClaim use guidParser
 * - Remove deprecated shouldUseKeys method
 * - Remove override that only calls parent
 * - Remove deprecated EntityContentFactory::singleton
 * - remove deprecated setIdFormatter method and use
 * - Remove use of 2 deprecated methods
 * - Remove unused var from SiteModule
 * - Slight Refactor of EditEntityAction
 * - Refactor some of MergeItems
 * - Clean Up includes/actions code and classes
 * - Remove unused variable in PropertyParserFunction with undefined param
 * - Replace &quot;article&quot; with &quot;page&quot; in wikibase-sitelink-page-edit-placeholder
 * - Refactor LinkTitles api module execute method
 * - Add numeric validation for globe precision
 * - Further reduce complexity of modifyEntity
 * - Reduce complexity of functions in api EditEntity
 * - Rename dir changeop to ChangeOp
 * - Get rid of use of EntityContentFactory singleton
 * - Put changeops in their own namespace
 * - Remove unused param from private method
 * - Fix naming of config var
 * - Implement merge api module
 * - Cleanup Followup for EntityView/EntityRevision
 * - Update composer loading so users can disable repo or client
 * - Load VV automatically when using Composer as well
 * - remove use WikibaseRepo and WikibaseClient in WikibaseDataTypeBuilders
 * - Cleanup of ChangeOp related code
 * - Remove use of EntityContent from EntityView.
 * - Remove unused private field
 * - Remove duplicate and bad import
 * - General cleanup of API related code
 * - Make EntityView use EntityRevision
 * - Update EasyRdf for for serialization fix.
 * - Fix other tests interfering EntityViewTest
 * - Fix message doc for wblinktitles-*
 * - Change the order of params displayed in api.php
 * - Fix api example in SetReference module
 * - Use ComparableComparer for ClaimDiffer construction
 * - Show diff when order of snaks changed
 * - Remove extremely verbose phpunit output in travisci build
 * - Fix EntityViewTest that depended on settings
 * - Move client autoload class list to separate file
 * - Fix rendering of &quot;In other languages&quot; section of entity page
 * - Have labels shown in variants for
 * - Remove silly code from EntityTestHelper
 * - Extend cucumber sitelink tests
 * - Use cucumber for sitelink tests
 * - Split given statement into several statements
 * - Fix validation of snakhash parameter
 * - Revert &quot;Explicitly include ValueView in TravisCI config&quot;
 * - Cleanup in SetStatementRankTest
 * - Explicitly include ValueView in TravisCI config
 * - Update constant name
 * - Some cleanup in JsonDumpGeneratorTest
 * - Moves jQuery.NativeEventHandler into ValueViews extension
 * - use jQuery.ui.inputextender's new &quot;animation&quot; event in snakview value variation
 * - Introducing DispatchingValueFormatter and OutputFormatValueFormatterFactory.
 * - Prevent calling tooltip's hide when reference is destroyed already
 * - Selenium test adjustments regarding use of new &quot;animation&quot; event
 * - Implemented &quot;snaks-order&quot; parameter in SetReference API module
 * - Match DataType updating in DataTypes component
 * - Remove some dead code from a test
 * - Update magical loading to work with current paths
 * - Implemented &quot;snaks-order&quot; parameter in reference serializer
 * - Forcing redraw of snakview variation when changing the property
 * - Always update position of all visible claim group labels
 * - Populate Wikipedia interwiki ids for Commons and Wikidata
 * - Triggering snaklistview's &quot;change&quot; event when moving items
 * - Registered movetoolbar definition for references
 * - Using listview to group referenceview's snaks
 * - Allow editing of claims in property groups
 * - No longer require mainsnak when removing claims
 * - Add editentity claims support
 * - Remove some no longer needed scrutinizer config
 * - Adjust ReferenceSerializer tests to change in WikibaseDataModel
 * - Ensure populate sites works for updating existing sites
 * - Display entity id next to entity label
 * - Included item namespace and language code in repo_url
 * - Tag cucumber tests which could be run on wmf betalabs
 * - Quick fix for PropertyParserFunction
 * - Fix in edit sitelinks selenium test
 * - Fix typo in exception and clean style in DataFieldValidator
 * - Update scrutinizer config to get rid of some silly warnings
 * - Include preferred labels / descriptions for entities in JS on EntityView

WikibaseDataModel

 * - update composer file
 * - update composer file
 * - remove use MWException which is not used
 * - Revert &quot;Revert &quot;Made SnakList/Reference order-aware&quot;&quot;
 * - Revert &quot;Made SnakList/Reference order-aware&quot;

WikimediaMaintenance

 * - Add wfWaitForSlaves call to refreshMessageBlobs.php

WikimediaMessages

 * - Remove language that has fallback

ZeroRatedMobileAccess

 * - README updates about useful globals for Wikipedia Zero.

cldr

 * - Native digits on 'onGetHumanTimestamp'