MediaWiki 1.25/wmf24/Changelog

Core changes

 * - Resources.php: Remove duplicate copy of 'oojs-ui.styles' module
 * - OutputPage: Tiny tweak to jQuery.ready inline script
 * - SECURITY: Don't allow entities in XMP with HHVM
 * - SECURITY: Don't allow directly calling Xml::isWellFormed
 * - SECURITY: Always expand xml entities when checking SVG's
 * - SECURITY: Escape &gt; in Html::expandAttributes
 * - SECURITY: Don't execute another user's CSS or JS on preview
 * - SECURITY: Set maximal password length for DoS
 * - SECURITY: Fix animate blacklist
 * - SECURITY: Don't allow embedded application/xml in SVG's
 * - SECURITY: Make SVG @import checking case insensitive
 * - API: Reduce volume of &quot;continue format is changing&quot; warning
 * - New hook: OpportunisticLinksUpdate
 * - installer: Reduce some code duplication in LocalSettingsGenerator
 * - Special:LinkSearch: display links to pages in content language
 * - Made InfoAction::invalidateCache use READ_LATEST
 * - Added slave/master fallback logic in Revision
 * - mw.track: Add test suite
 * - resourceloader: Simplify getHashMtime to merely a timestamp
 * - Fix capitaliation of UtfNormal namespace
 * - resourceloader: De-duplicate $files in ResourceLoaderFileModule::getModifiedTime
 * - profiler: Consolidate duplicate branches in ProfilerOutputText
 * - Made text profiling actually work with load.php
 * - Rely less on file stat cache in FileDependency
 * - resourceloader: Cut down on file stat time in safeFilemtime
 * - exception: Log fatal errors to a new 'fatal' log group
 * - Fixed on new revisions
 * - registration: Have wfLoadExtension (and similar) use the queue
 * - registration: Use array_merge rather than array plus when merging
 * - Adding mobile target to mediawiki.template.mustache
 * - Add SpecialLog::getLogTypesOnUser
 * - Add null check in WikiImporter
 * - EditPage: Remove remnants of pre-1.16 live preview
 * - Category view modified to use column width
 * - Removed unused parameter from User::checkNewtalk
 * - Made User::getFormerGroups load properly
 * - ResourceLoaderImage: Some cleanup, typo fixes and tweaks
 * - ResourceLoaderImage: Throw exception if files don't exist
 * - resourceloader: Throw InvalidArgumentException for invalid constructor arguments
 * - ResourceLoaderImage: Add basic tests
 * - Made User::validateCache account for mQuickTouched
 * - Update namespaces for Luri (lrc) from translatewiki.net
 * - Add list-style-type:persian for bgn, lrc, mzn and sdh
 * - Parser tests for page status indicators
 * - Fix ORDER BY in fixUserRegistration.php
 * - ResourceLoaderImageModule: Rename 'image' in descriptors to 'file'
 * - ResourceLoaderImageModule: Remove 'type' stuff
 * - ResourceLoaderImageModule: Implement CSS selector templates
 * - ResourceLoaderImageModule: Add basic tests
 * - ResourceLoaderImageModule: Improve PHP 5.3 compatibility
 * - Use HTMLForm for Special:FileDuplicateSearch
 * - mediawiki.action.edit.preview: Disable if there is no #wpTextbox1
 * - Simplify TitleTest::testWgWhitelistReadRegexp
 * - Remove unused 'section-symbol' message
 * - build: Update grunt-banana-checker to v0.2.1
 * - Change default of $wgResourceLoaderMaxQueryLength to 2000
 * - Split out internal parseAndStash from the edit stashing API
 * - Fix dependency of ResourceLoaderSpecialCharacterDataModule
 * - Report uncaught errors via mw.track
 * - Remove MWLoggerMonologSamplingHandler
 * - Add release-notes for message escaping
 * - Avoid using DB_MASTER in makeLikeArray
 * - Replace Html::... with self::... in the Html class
 * - Move WikiEditor's special character data and messages into core for use in other extensions
 * - Add mobile target for mediawiki.confirmCloseWindow
 * - Correct typo in MediaWiki:Apihelp-paraminfo-param-formatmodules
 * - Set parameter default to array in WebResponse::setcookie
 * - Made User actually use the mQuickTouched process cache
 * - Made user preferences load from the master by default
 * - Don't require database access for ContentHandlerTest
 * - Removed view event from $wgAutopromoteOnce
 * - Made addAutopromoteOnceGroups check wfReadOnly
 * - Revert &quot;mediawiki.action.edit.preview: Disable if there is no #wpTextbox1&quot;
 * - Introduced User::touch method to bump the getTouched value using memcached
 * - refreshLinks.php: Limit rows scanned per query in deleteLinksFromNonexistent
 * - Made showJobs.php include abandoned jobs in --list
 * - ApiParse: Fix parse of new section title
 * - Remove unneeded variable assignment in Usercreate.php
 * - Fix inline documentation in WebResponse
 * - Changed user login logic to use less expensive touch method
 * - Fix typos in qunit tests
 * - LivePreview: Update the correct mw-editfooter-list
 * - Make wfWarn name the caller in Http::get
 * - Fix misleading $class = false default in Html::infoBox
 * - More specific types in doc tags in the Html class
 * - Fix TestingAccessWrapper::__call
 * - Made User::loadFromRow protected for sanity
 * - Deprecate wfDiff
 * - Made ProfilerStub return null instead of a dummy ScopedCallback
 * - Fixed the usage of $flags in loadLastEdit
 * - ApiParse: Forbid section=new when using page, pageid, or oldid
 * - LivePreview: Let's not potentially mangle #wikiPreview
 * - LivePreview: Notifiy user about errors
 * - Update OOjs UI to v0.9.4
 * - LivePreview: Support section=new for preview
 * - Remove never thrown UploadStashNotAvailableException
 * - PrefixSearchTest: Move insertPage from setUp to addDBData
 * - MediaWikiTestCase: Consistently use UTSysop user in setup/teardown
 * - Let extensions add entries to Special:DeletedContributions
 * - Replace mb_strtolower with strtolower
 * - mediawiki.action.edit.preview: Replace only title in firstHeading
 * - Use wikimedia/utfnormal library, add backwards-compatability layer
 * - Update MWLoggerLegacyLogger phpdoc

AbuseFilter

 * - Add help link to mw:Extension:AbuseFilter/Rules from Edit view
 * - Use https in composer.json
 * - PostgreSQL: Fix magic-value code for AbuseFilter
 * - Fix for legacy testwiki AFL entries (1 to 154)

CentralAuth

 * - Update RuboCop version and configuration file

CheckUser

 * - SECURITY: Add an edit token to Special:CheckUser

Citoid

 * - Insert inline transclusion instead of block
 * - build: Update grunt-banana-checker to v0.2.1
 * - Use 'rerender' event for generated content in citoid inspector

Collection

 * - The transition ext.collection.jquery.jstore module is no longer needed
 * - Rename js/ to modules/
 * - Rename Proposals to CollectionProposals
 * - Use message parameters instead of string replace
 * - Code style fixes to check_load_from_localstorage.js

ConfirmEdit

 * - Allow previous revision text to be explicitly provided

ContactPage

 * - Fix undefined index warning

ContentTranslation

 * - Stats: Move the graph under published translations section
 * - Update the version
 * - CXStats: Make the graph labels week end dates instead of start dates
 * - Templates: Remove compound content blocks from several transclusions
 * - Improve contributions page entry point by adding 3 ways to contribute
 * - Refactor the feedback tool as a widget module
 * - Make spinner as a widget module
 * - Move progressbar to widgets
 * - Introduce common widget style LESS file

DonationInterface

 * - Fix regression with zero-amount error
 * - Don't do stupid things with the recurring param
 * - Zoom out PayPal integration tests
 * - Test that we are skipping the PP interstitial

Echo

 * - Allow multiple target pages per event

Flow

 * - Clarify that this is not the usual sense of &quot;Edit summary&quot;
 * - Remove ContentFixers from Parsoid API
 * - Editor switcher
 * - Move Api classes into Flow\Api
 * - Handle null from Title::newFromText in Special:EnableFlow
 * - Hygiene: Remove unused activateForm handler
 * - Toolbar should appear to be within text area
 * - Fix missing var $type
 * - Accept a $node in mw.flow.editor.getFormat
 * - Move VE toolbar below the editing surface
 * - Add header purge code
 * - Make getHex public; this makes PHP shell debugging easier.
 * - Don't expect cuc_id to exist
 * - Prevent mixing up ltr usernames with timestamps in rtl
 * - Make sure workflows is always an array
 * - Wrap all textarea's for editing in a flow-editor class
 * - Add @ as a sequence to open mentions.
 * - Accept preload &amp; preloadtitle params
 * - Display submitted topic content
 * - Hygiene: Use factory closures instead of Action classes
 * - Use standard box-sixing for mw-ui-input as well
 * - Refactor and implement mention inspector
 * - Change ConvertLqt -&gt; ConvertLqtPage
 * - Block the user from the using the action=delete interface for topics.
 * - Fix wgFlowContentFormat docs and note that wikitext may be deprecated
 * - Hygiene: Remove 'mw-less testing' lines and empty comments
 * - Provide ConfirmEdit with the previous revision content
 * - Override $wgFlowContentFormat to wikitext if there is no Parsoid URL
 * - Notifications should not be sent by default during the import process
 * - First store workflow, then the rest
 * - Store data for IRCLine tests
 * - API tests use all Flow tables
 * - Ask for header content in specific format
 * - Adding $message of caught WikitextException object to displayed error
 * - Fix typo in RevisionViewQuery
 * - Use addModuleStyles for mediawiki.skinning.content.parsoid
 * - Correct typo in i18n message key
 * - Move edit link for posts above moderation actions
 * - Add Flow revisions to Special:DeletedContributions
 * - Don't assume you can view history for a rev if you can view content
 * - Add missing i18n messages to JS
 * - Fix incorrect apihelp i18n message

ImageMetrics

 * - Add a sanity check to the CORS test

LiquidThreads

 * - Move deprecated HTML attributes to CSS

MobileFrontend

 * - Fix notices on bogus language codes
 * - Hygiene: Fix false comment
 * - Hygiene: Don't load InfiniteScroll on _all_ pages
 * - Don't load mobile.talk on pages with no wikitext talk page
 * - Fix Next button for anonymous users
 * - Get rid of 'type' stuff in ResourceLoaderImageModule
 * - Use ResourceLoaderImageModule's CSS selector templates
 * - MediaViewer cancel button made to close viewer
 * - Avoid needless master queries on page views
 * - Hyphenate page titles
 * - Make list items easy to read by adding margin-bottom
 * - Fixes to the page action tutorial
 * - Debounce resize events
 * - Center ContentOverlay arrow alignment on element
 * - Add CodeMirror for alpha users to better understand wikitext

Popups

 * - Do API queries after API_DELAY
 * - renderer.article.getProcessedElements: Stop escaping the title and the extract
 * - Rename popups.eventLogging to popups.logger
 * - settings: Use .text instead of .html for option's label

Renameuser

 * - Update more log entries that are specifically about users

Scribunto

 * - SECURITY: Sanitize the content of Lua backtraces
 * - Allow Lua console on protected module pages

SemanticForms

 * - Fix for recent change to WikiEditorHooks::editPageShowEditFormInitial

TemplateData

 * - build: Update grunt-banana-checker to v0.2.1
 * - TemplateData: add PLURAL to message Templatedata-modal-notice-import-numparams

Translate

 * - Update version before MLEB release
 * - Load the other groups with search results in the group selector.
 * - Reindex tool to update index mapping
 * - Removed unwanted pixel fixed from switch icon

UniversalLanguageSelector

 * - Update version before MLEB release
 * - Disable failing Cucumber scenarios
 * - Revert &quot;Update inputs to use mw-ui styles&quot;
 * - Refactor showULSTooltip
 * - When changing language first time, language code was shown
 * - Clunky workaround for putting link into escaped message

UploadWizard

 * - Record javascript errors to funnel log stream
 * - Make &quot;npm test&quot; work
 * - QA: Refactor for mediawiki_selenium 1.0.2
 * - Move startUploads to the upload step controller
 * - Move allowCloseWindow around until it makes sense
 * - Move showNext into the step controllers
 * - Link steps together less painfully

VisualEditor

 * - Restore Leli Forte's mt translations
 * - mw.ViewPageTarget: Disable pointer events on dimmed elements
 * - Follow-up 7c0ba1e: Revert catastrophic breakage of qqq.json
 * - Open the proper window when adding citation from the general dialog
 * - Update VE core submodule to master (248fc5d)
 * - Update VE core submodule to master (1d92641)
 * - Stash edits alongside the html -&gt; wikitext stashing step
 * - Use ResourceLoaderModule::safeFilemtime instead of using filemtime directly
 * - i18n: Re-sort alphabetically
 * - Update VE core submodule to master (7bc93e7)
 * - Fake &lt;base href&gt; if missing or invalid
 * - MWInternalLinkAnnotation: Remove useless .toString call
 * - Update VE core submodule to master (fd7ee98)
 * - mw.Target: Defer parsing of edit notices to MWNoticesPopupTool
 * - mw.Target: Remove visible text filter for edit notices
 * - Use new isVisible method
 * - Update VE core submodule to master (3f59941)
 * - Update VE core submodule to master (2c27ba9)
 * - Update VE core submodule to master (5822d2f)
 * - Update border width transition hack
 * - Try not to die when RESTbase returns a 404
 * - Support an &quot;other&quot; page for special characters
 * - Handle a further 70 WikiEditor special characters
 * - Update VE core submodule to master (ae039bc)
 * - build: Update grunt-banana-checker to v0.2.1
 * - Use parseInt, not Number.parseInt
 * - Load all of WikiEditor's special characters
 * - Don't position category popups -10px up
 * - Simplify context item for MWAlienExtensionNodes
 * - Parent constructor simplification
 * - Verify welcome dialog exists before trying to close it
 * - Correct font sizes of everything on MonoBook
 * - Strip X-Parsoid Performance Headers from Visual Editor
 * - [BrowserTest] Disable the Cite button screenshot
 * - [BrowserTest] Redefine the Apply changes element for language screenshot
 * - [BrowserTest] Add padding to some more screenshots
 * - Fix choose event listeners
 * - When content and metadata have different revids, explicitly retry the higher one
 * - Send requests to RESTbase directly when so configured
 * - ApiVisualEditor: Rename $page to $title, since it's a Title, not a WikiPage
 * - [BrowserTest] Add padding to the &quot;Apply changes&quot; button screenshot
 * - [BrowserTest] Add padding to screenshots of the page settings dialog
 * - [BrowserTest] Add padding to the Edit Links screenshot
 * - [BrowserTest] Add padding to the page settings item screenshot
 * - [BrowserTest] Show the full Formatting pull-down in the screenshot
 * - Fixed the empty Transclusion Box problem
 * - Show beta welcome dialog before surface is ready
 * - Update VE core submodule to master (754d3eb)
 * - Move template icon code to setup event
 * - Update AUTHORS.txt, $wgExtensionCredits and .mailmap based on git shortlog
 * - Fix revId check on new pages
 * - Vertially centre cite-web icon
 * - Enable VisualEditor for Blueprint skin
 * - [BrowserTest] Add the toolbar to the special chars screenshot
 * - [BrowserTest] Add padding to the lists and indentation screenshot
 * - Replace buttons with select widgets in GeneralReferenceDialog
 * - [BrowserTest] Fix the lists and indentation screenshot
 * - [BrowserTest] Add padding to the Formatting menu screenshot
 * - Remove this.fragment setting from ReferenceDialog
 * - [BrowserTest] Add padding to editing tabs screenshot
 * - [BrowserTest] Add padding to Insert button screenshots
 * - [BrowserTest] Capture the whole Insert button in the screenshot
 * - Move append to after list builder
 * - Update VE core submodule to master (731b3ad)
 * - Check for the two revision IDs returned by the server being different
 * - Use new createFromElement method from ModelFactory

WikiEditor

 * - Don't force a separate http request for ext.wikiEditor.init
 * - Escape messages
 * - Move WikiEditor's special character data and messages out to core
 * - Use __DIR__
 * - Add extension.json
 * - Remove unused code, pass phpcs

WikiGrok

 * - Don't log page-impression or widget-impression
 * - Don't load WikiGrok on disambiguation pages
 * - Claim aggregation
 * - Add &quot;composer test&quot; command to run phpcs and make it pass

WikimediaMaintenance

 * - Fix cleanupT92775.php