MediaWiki 1.25/wmf21/Changelog

Core changes

 * - Update VisualEditor and WikiEditor patches
 * - Update Flow &amp; Echo
 * - TemplateParser: Don't fatal on cache misses
 * - Make sure template function is callable from processTemplate
 * - build: Declare grunt-cli dependency
 * - build: Increase qunit browserNoActivityTimeout from 10s to 60s
 * - Bump Flow for FlowUpdateRevisionContentLength perf improvement
 * - Update WikiEditor for Ib0545f58 and I0336a85a
 * - Update Renameuser to 1.25wmf21 HEAD
 * - Update CentralAuth to 1.25wmf21 HEAD
 * - Updated ContentTranslation to b460064
 * - Update WikiEditor for Ibe6beae9
 * - Update VisualEditor, TitleBlacklist and WikimediaEvents for cherry-picks
 * - Update Citoid to master
 * - Backport LocalisationUpdate fixes from 1.25wmf22
 * - Update CentralAuth to 1.25wmf21 HEAD
 * - Force LocalFile::purgeMetadataCache use the master DB
 * - registration: Fix merging of $wgExtensionCredits
 * - SWAT Bump CirrusSearch
 * - Update VisualEditor for I2fea8a to unbreak MobileFrontend
 * - Bump flow submodule in 1.25wmf21
 * - Emergency remove .mw-headline-anchor
 * - Update VisualEditor for analytics and performance improvements
 * - GeoData: grab https://gerrit.wikimedia.org/r/#/c/197300/
 * - Update VisualEditor extension to I6695ab0
 * - Update Citoid extension to I005411d
 * - Made JobQueueFederated no longer need &quot;checkDelay&quot; for delaying
 * - Made JobQueueFederated::supportsDelayedJobs check all the partition queues
 * - Lower timeout of upload stash -&gt; image scaler requests
 * - Bump Citoid extension to I332f0b7
 * - JsonContent: Pass FormatJson::UTF8_OK when beautifying JSON
 * - Add Citoid extension at new 1.25wmf21 branch
 * - Bump RestbaseUpdateJob extension
 * - Update BounceHandler for 196877
 * - Bump Flow for base href fix
 * - Html: Make addition of 'mw-ui-input' conditional on $wgUseMediaWikiUIEverywhere
 * - Update Wikidata, fix js error when adding statements
 * - Update WikiEditor to fix Edit schema validation issues
 * - Update GlobalUsage submodule
 * - Fix IRC lines for blocks published with the old logging system
 * - Update MassMessage to 1.25wmf21 HEAD
 * - Update CentralAuth to 1.25wmf21 HEAD
 * - Update CentralAuth to 1.25wmf21 HEAD
 * - Update MassMessage to 1.25wmf21 HEAD
 * - Update MobileFrontend for I2880d070
 * - Bump Flow submodule in 1.25wmf21 for SWAT
 * - Update RestBaseUpdateJobs to master
 * - Update TemplateData for cherry-pick
 * - Update VisualEditor for cherry-picks
 * - Pass if log entry is legacy to ApiQueryLogEvents::addLogParams
 * - Revert &quot;inputs.less: Change focus state&quot;
 * - Update Flow for cherry-pick
 * - Updated ContentTranslation to 384a419
 * - Update WikiGrok
 * - Revert &quot;Made JobQueueFederated no longer need &quot;checkDelay&quot; for delaying&quot;
 * - mw.loader: Replace log calls with mw.track events
 * - jsduck: Add 'mediawiki.startUp.js' to eg-iframe
 * - jsduck: Refactor example iframe to catch uncaught errors
 * - Allow edit summaries to be up to 767 bytes long
 * - API: Remove explicit profiling
 * - Made JobQueueFederated no longer need &quot;checkDelay&quot; for delaying
 * - Minor doc fixes
 * - Add StatsD metric logging
 * - Introduce the Restbase Virtual REST Service class
 * - mediawiki.jqueryMsg: Fix examples in comments
 * - Rename JSDuck config to standard 'jsduck'
 * - Make PHP unit parser tests pass again after translation update
 * - FeedItem: Use full URL with protocol for &lt;id&gt;/&lt;guid&gt; in Atom/RSS feeds
 * - Added clarifying comments to IContextSource
 * - Don't require JavaScript for addHelpLink styles
 * - Push enqueue-on-view jobs to the faster &quot;local&quot; queue
 * - Remove isVolatile/markVolatile logic from LocalFile
 * - Update the Chinese conversion table for Chinese WikiProjects
 * - Set up RuboCop configuration according to coding conventions
 * - QA: Refactor for mediawiki_selenium 1.0
 * - Made wfFindFile/wfLocalFile callers use explicit &quot;latest&quot; flags
 * - resourceloader: Call setName in test suite before calling getStyles
 * - Specify max compatible kss version
 * - mw.Feedback: Terms of use always appended and allows for link
 * - mediawiki.test: Prevent &quot;Error: expected&quot; from going to the real console
 * - Remove rel=&quot;archives&quot; from HTML output
 * - Unbreak parser tests
 * - Fixed detection of unsigned mysql column in updater
 * - Remove duplicate param escaping code
 * - ParsoidVirtualRESTService: Don't use &quot;else if&quot;
 * - Browser should clear cache for API responses
 * - mw.ui: button: Update focus state
 * - Made the &quot;bypassCache&quot; flag for file locator methods use the master DB
 * - Fix three more invalid double underscore special page aliases
 * - Update OOjs UI to v0.9.0
 * - Profile wfShellExec calls by caller
 * - Added EnqueueJob class that handles routing jobs to queues
 * - Add &quot;ValidSkinNames&quot; to extension.schema.json and ExtensionProcessor
 * - If no secret key is available, don't try to use cache
 * - mediawiki.special.upload: One event handling function is enough
 * - maintenance: Defer initilization of 'main' Config until after Setup.php runs

Vendor

 * - Add liuggio/statsd-php-client
 * - composer.json: Remove metadata fields so it can't be published as a package

ApiSandbox

 * - Add extension.json

BounceHandler

 * - Removed repititive un-subscribe action on a global user

CentralAuth

 * - Actually use 'suppressredirects' option in LocalPageMoveJob
 * - sendForceRenameNotification: Skip redirects for now
 * - Update for RenameuserSQL changes
 * - Update sendForceRenameNotification.php
 * - sendForceRenameNotification: Use a directory with fallback for message body
 * - Don't list attached users on Special:UsersWhoWillBeRenamed
 * - Display meaningful message for very old users
 * - Move conditional special page registration to SpecialPage_initList hook
 * - sendForceRenameNotification: Pause if over 100k jobs queued
 * - Fix output of PopulateListOfUsersToRename
 * - Add script to notify people who are going to be renamed
 * - Add some debug output to populateListOfUsersToRename.php
 * - Update CentralAuthUser::chooseHomeWiki per Keegan
 * - Display username for AntiSpoof conflicts
 * - Only move one page per LocalPageMoveJob

CharInsert

 * - Add extension.json

CirrusSearch

 * - Don't try to use the pool counter without a user
 * - Use the title.plain field for wildcard intitle: search

Citoid

 * - Split the inspector into panels
 * - Add general error to the inspector
 * - Redesign the citation widget in the citoid inspector
 * - Add a link to the reference dialog in Citoid inspector
 * - Add extension.json file
 * - Make Citoid's dependencies dependent

CommonsMetadata

 * - Move tests to CommonsMetadata namespace to avoid conflicts

ConfirmEdit

 * - Add RateLimit check for false CAPTCHAs

ContentTranslation

 * - EventLogging for various actions on translation
 * - Add previous languages to red interlanguage links list
 * - Campaign: Make the banner skin independent
 * - Add eventlogging to measure entry point effectiveness
 * - Use the callout widget for 'new article from translation' campaign
 * - Normalize 'no' code to 'nb' and 'nn'
 * - Handle non-ascii URLs in fix-stats
 * - A generic callout dialog widget
 * - References: Fix javascript error by infinite recursion
 * - Minor string copyediting
 * - Less repetition in ext.cx.translationview.less
 * - Align image captions according to the column direction
 * - Script to fix over counting of some draft translations as published
 * - Add a link to Magnus's &quot;Not in the other language&quot; tool
 * - Stats: If target_url exists, count translation as published
 * - Introduce a simple overlay widget to help code reuse
 * - Typo: Fix typo in message
 * - Fix logic in GlobalUser::newFromId when CentralAuth not installed

Echo

 * - Read revision from master when determining notifications to send
 * - Update mock wgEchoConfig to also run on Special:JavaScript/qunit/plain
 * - Don't log missing user-locators
 * - QA: insert one-second sleep for Chrome workaround

EducationProgram

 * - Add EducationPage::getStats
 * - Show summary instead of $7 when viewing an old EPRevision

Flow

 * - Fix header &amp; summary diff view
 * - Contact parsoid only when necessary for FlowUpdateRevisionContentLength
 * - Create Special:EnableFlow
 * - Fix base href for links not handled by Redlinker
 * - Fix Fatal error in recent changes
 * - Fix Reply button text
 * - Add some debugging info for NoIndexException with topic_root_id
 * - QA: update ruby gems
 * - Ensure squid cache is purged after successfull submissions
 * - Hygiene: Split the giant show function in Flow\View
 * - Validate input as hex string
 * - FlowAddMissingModerationLogs: These params are not optional
 * - Remove dead code
 * - Store parsoid content exactly as recieved
 * - Hygiene: some minor cleanups in Importer.php
 * - Notify the user that thanks are public
 * - Add support for separate title and main text for links
 * - Split out a minimal resource set for initializing flow
 * - Use url_generator to generate log links
 * - Batchload logging data
 * - Use new Flow format (topic title on board name) for log entries
 * - Logger should log post id, not revision id
 * - Fix intermittent off by one issues
 * - Flow: Flow-preview-warning message is too technical
 * - Eliminate plaintextSnippet
 * - Add Previous and next links to diff pages
 * - Changed edited post notification to fit new UI requirements

GeoData

 * - LinksUpdate needs a ParserOutput object

GlobalUsage

 * - Add setBatchSize call for refreshGlobalimagelinks.php
 * - Fix deleted page handling in update script

GuidedTour

 * - jsduck: Set --warnings-exit-nonzero

LocalisationUpdate

 * - Add code to handle core i18n locations
 * - Fix singular-plural typo causing extension and skin i18n files to be ignored

MapSources

 * - Update wiwosm url from toolserver =&gt; labs
 * - Fix php notice due to special page case mismatch

MassMessage

 * - Use WikiPage::doEditContent for ServerSideJob
 * - Fix strict standards warning in MassMessageServerSideJob
 * - Add &quot;composer test&quot; command to run phplint and phpcs

MobileFrontend

 * - Fix closing the media viewer
 * - Hygiene: appendToElement standardisation
 * - Hygiene: Use more sensible defaults for content overlay
 * - QA: recent versions of Chrome don't wait for event listeners
 * - Tweak to EditorApi to support editing of pages that do not exist
 * - Remove all images and recent uploads from UserProfile
 * - Revert &quot;Hygiene: Don't commit Gemfile.lock&quot;
 * - Break word added to main heading
 * - Hygiene: Don't commit Gemfile.lock
 * - QA: add a sleep to make Chrome happy. I don't like it.
 * - QA: update ruby gems
 * - Add composer test entry point for phplint and phpcs
 * - Correctly align user icon on Special:Contributions
 * - Beta: Don't close ReferencesDrawer on scroll
 * - Make WikiBase ID easily retrievable
 * - Tweak banner image aspect ratio
 * - Add the MobileViewBannerImageRepository
 * - Correct the arrow position of the editor tutorial
 * - Avoid array_merge during initialization
 * - Hygiene: Revision::getRawUserText was depreacted
 * - Update jscs version
 * - Hygiene: ImageOverlay should use View##events
 * - Four minute abs
 * - Alpha: Allow browsing of images in a page on mobile.
 * - Add ButtonWithSpinner and re-create 'Report an error' button using it

MultimediaViewer

 * - QA: update ruby gems
 * - Update JSDuck config to standard jsduck.json

OAuth

 * - Fix mwoauthserver-bad-consumer-key message

OpenStackManager

 * - Revert &quot;Set keystone tokens to last 30 days.&quot;
 * - Fix MySQL syntax in token size change patch file
 * - byte Keystone tokens

Popups

 * - renderer.article: Remove leading spaces before brackets
 * - renderer.article: Bold the title no matter what the trailing characters

Renameuser

 * - Move logging inside of RenameuserSQL

RestBaseUpdateJobs

 * - Set HTTP headers as an associative array
 * - Fix function call

SemanticForms

 * - Added default setting of &quot;possible values&quot; for Cargo fields

TemplateData

 * - Prevent a dependent property from updating on infinite loops
 * - TDG: Support optional text of 'deprecated' property
 * - Don't flicker &quot;Manage TemplateData&quot; button's disabledness state
 * - Document code with JSDuck
 * - Add composer entry point for phpcs and linting

Thanks

 * - Flow container needs to be reset before each test
 * - Notify the user that their thanks are public

TimedMediaHandler

 * - ogv.js media player for desktop Safari/IE (1 of 2)
 * - User-friendly prompt to install WebM components for Internet Explorer
 * - Improve transcode job insertion deduping
 * - Profile command line scripts the new way

TitleBlacklist

 * - Prevent unknown error from the API

Translate

 * - Wrap slow query in PoolCounterWorkViaCallback

UniversalLanguageSelector

 * - Don't force #p-lang to show using jQuery.fn.show

UploadWizard

 * - Move parts of detailsSubmit to details step
 * - QA: update ruby gems
 * - Move updateFileCounts to the step controllers

VisualEditor

 * - Update sub-module for cherry-pick to 9751ebc
 * - Handle TitleBlacklist errors
 * - Set action.saveFailure.message key in Edit schema
 * - Follow-up f620111b: pass parameters to fallback requestPageData call
 * - Unbreak TargetLoader when ViewPageTarget.init isn't present
 * - Send Parsoid API request immediately when user clicks edit
 * - Load RL modules in one load.php request, rather than in two stages
 * - Fix action.abort.mechanism value in ViewPageTarget#onUnload
 * - Don't try to access x-parsoid-performance on restbase cache hits
 * - Update VisualEditor core submodule to wmf/1.25wmf21 HEAD (263b194)
 * - mw.ViewPageTarget: Hide ve-ui-surface during activation as well
 * - mw.ViewPageTarget: Hide ve-ui-surface instead of ve-ce-surface
 * - [BrowserTest] Update locator for the Insert/More link changed
 * - Update VE core submodule to master (4d7fda1)
 * - [BrowserTest] diff view altered slightly.
 * - [BrowserTest] fix edit test
 * - Use the RESTBase back-end if available
 * - Update VE core submodule to master (ad44a9b)
 * - Use new SkinEditSectionLinks hook instead of DoEditSectionLink
 * - Remove unused iconModuleStyles property
 * - Focus the surface after VE is already active
 * - ve.init.mw.ViewPageTarget: Recalculate toolbar sizes when adding &quot;Save&quot; button
 * - Update VE core submodule to master (e85ed49)
 * - Remove use of ve.indexOf and ve.getObjectKeys
 * - Do not call Toolbar#initialize twice during editor setup
 * - mw.ViewPageTarget: Cache '#mw-imagepage-content' query
 * - mw.ViewPageTarget: Hide ve-ce-surface during deactivation
 * - MWParameterPage: Show the field's example if it exists
 * - Use a detached icon in transclusion node
 * - Follow-up I11b9f0ab: Only make icon on transclusions that require it
 * - Update VE core submodule to master (d449684)
 * - Remove useless ve-ce-mw*Node classes from GCN subclasses
 * - i18n: Change grammar of suppress redirect update message
 * - build: Enforce disallowMixedSpacesAndTabs jscs rule
 * - build: Update jscs to latest
 * - Add composer entry point for phpcs and linting
 * - ve.ui.MWLinkTargetInputWidget: Fix documentation
 * - ve.init.mw.ViewPageTarget: Use mw.Api#postWithToken for setting hidebetawelcome pref
 * - ve.init.mw.Target: Don't go into infinite recursion on API errors
 * - Update VE core submodule to master (300b89a)
 * - Follow-up I11b9f0ab: Make the MWTransclusionNode icon a fixed size
 * - Follow-up I5918367: Add new classes to jsduck.json
 * - Update VE core submodule to master (9fb4bdb)
 * - Update JSDuck config to standard jsduck.json
 * - [BrowserTest] Update Ruby gems
 * - Add an icon to hidden templates

WikiEditor

 * - Don't try to do event logging if we don't have a stats ID
 * - Try to prevent crazy EventLogging entries with no session ID etc.
 * - Only do client-side instrumentation on action=edit/action=submit
 * - Fix WebRequest::getVal calls for instrumentation
 * - Don't try to log a boolean for page.revid
 * - Fix name of editingSessionId
 * - Default user.editCount to 0 in the Edit schema
 * - Schema:Edit instrumentation
 * - Convert .css to .less

WikiGrok

 * - Revert &quot;Moving wgWikiGrokDebug check from onBeforePageDisplay to isUIEnabled&quot;
 * - Moving wgWikiGrokDebug check from onBeforePageDisplay to isUIEnabled
 * - Make sure WikiGrok can load when debugging/testing
 * - Use latest version of MobileWebWikiGrokError schema
 * - Retrieve WikiBase ID using M.util

WikimediaEvents

 * - Update Edit schema
 * - Next iteration of HTTPS support test

WikimediaMessages

 * - Add terms of use message to feedback form