MediaWiki 1.22/wmf21/Changelog

Core changes

 * - 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

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

 * - 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
 * - Hygiene: Separate out NearbyOverlay.js
 * - Fix watchlist scripts dependency
 * - Fail gracefully if people are using older MW
 * - Rename watch event to watched
 * - 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

 * - [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

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'