MediaWiki 1.25/wmf23/Changelog

Core changes

 * - Fallback to read from master in DifferenceEngine::loadRevisionData
 * - Revert &quot;Optimize order of styles and scripts&quot;
 * - Update HTML title with displaytitle on live preview
 * - ResourceLoaderImageModule: Synchronize CSS with .background-image-svg LESS mixin
 * - Allow callers to load user objects from slaves if desired
 * - RELEASE-NOTES: Increase minimum MySQL version to 5.0.3
 * - Remove unused class DBObject
 * - Fixed Style/StringLiterals RuboCop offense
 * - Fixed Style/HashSyntax RuboCop offense
 * - Fixed Style/PerlBackrefs RuboCop offense
 * - resourceloader: Add template compiler for Mustache JS
 * - resourceloader: Add @covers and minor clean up of test suites
 * - resourceloader: Use parent getDefinitionSummary in ResourceLoaderFileModule
 * - TemplateParser: Use ObjectCache::newAccelerator with fallback set
 * - TemplateParser: make most functions protected, only expose processTemplate
 * - TemplateParser: Don't fatal on cache misses
 * - mediawiki.action.edit.preview: Disable if there is no #wpTextbox1
 * - Bidi-isolate numbers of added/removed bytes in changes lists
 * - Set wgAutoloadAttemptLowercase = true for some AutoLoaderTests
 * - Make sure template function is callable from processTemplate
 * - Remove table header from Special:Tags when there are no tags
 * - Add more aliases for Special:Diff for language 'de'
 * - Use rspec-expectations &quot;expect&quot; syntax instead of &quot;should&quot; syntax
 * - mediawiki.helplink: Use a SVG+PNG icon
 * - Add unicode-bidi: embed to mw-title on changeslists
 * - build: Increase qunit browserNoActivityTimeout from 10s to 60s
 * - build: Add assert-mw-env task when running grunt-qunit
 * - mediawiki.util: Add mw.util.isIPAddress
 * - Allow usage of mediawiki.api.options on mobile
 * - Update OOjs UI to v0.9.3
 * - Add example code showing to completely disable logging
 * - Use ksort in getDeduplicationInfo for sanity
 * - Remove FormSpecialPage::$fields
 * - EditPage: Implement 'editnotice-notext' message
 * - Update OOjs to v1.1.6
 * - build: Declare grunt-cli dependency
 * - Send messages logged via MWLoggerLegacyLogger::log to the debug toolbar
 * - Remove EditFilterMerged detection define
 * - Remove unused global define RLH_FOR_UPDATE
 * - Split SiteLookup interface from SiteStore
 * - mediawiki.api.options: Add module for API action=options
 * - Fixed Lint/UnusedMethodArgument RuboCop offense
 * - Force LocalFile::purgeMetadataCache use the master DB
 * - Fixed Style/FileName RuboCop offense
 * - Remove a hack, and a hack for the hack, for MediaWiki UI input fields

CategoryTree

 * - MWException -&gt; Exception

CentralAuth

 * - CentralAuth: add PLURAL to messages with lists.
 * - Ensure that emails are sent to correct email address
 * - SpecialUsersWhoWillBeRenamed: Fix incompatible method override
 * - Add script to remove attached users from the users_to_rename table
 * - Don't force a pagination limit of 25
 * - 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

CirrusSearch

 * - Handle MWException in forceSearchIndex.php script

Citoid

 * - Split the inspector into panels

ConfirmEdit

 * - FancyCaptcha: Don't return status code 500, if no server error

ContentTranslation

 * - Remove the User namespace vs Main namespace publishing summary
 * - Add vendor folder generated by composer to .gitignore
 * - Stats: Remove wrong group by from stats query
 * - 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

DonationInterface

 * - Hardcode PayPal gateway to always redirect, if possible
 * - Be more discriminating about the &quot;redirect&quot; param
 * - Respect &quot;redirect&quot; param if available
 * - Fix ran_hooks check
 * - Don't fraud-fail on STATUSID 25

Echo

 * - Read revision from master when determining notifications to send
 * - Update mock wgEchoConfig to also run on Special:JavaScript/qunit/plain
 * - Hygiene: Delete commented out code

EventLogging

 * - Statsd reporter checks format of processor files

FlaggedRevs

 * - Add missing classes to autoload

Flow

 * - New model for indentation
 * - Title can only be plaintext
 * - Increase length of *_wiki fields to 64
 * - ConfirmEdit spam filter needs appropriate context passed through
 * - Topic watchstar not reacting properly
 * - Hygiene: Follow up change in ConfirmEdit
 * - Clarify rev_type_id DB documentation
 * - Get rid of synchronous ajax calls
 * - Remove some ExpandTextarea mess
 * - Refactor code to allow board creation
 * - Don't re-apply parent indent in partials
 * - Remove ext.flow ResourceLoader group.
 * - Prepare Flow for core templating infrastructure changes
 * - postId and topicId can be strings or UUIDs
 * - Contact parsoid only when necessary for FlowUpdateRevisionContentLength
 * - Connect TopicHistory listener to post storage
 * - Credits for en.json
 * - A bit of cleanup for i18n messages
 * - Revert &quot;Allow delete link in menu&quot;
 * - Undo

GWToolset

 * - Add $wgAvailableRights

GlobalUserPage

 * - Avoid master queries on parse due to User object loading

MassMessage

 * - MassMessage: wording in message texts enhanced

Math

 * - PSR-3 logging cleanup

MobileFrontend

 * - Hygiene: Alternative syntax such as &quot;X&quot; should not be used
 * - Make page action overlay pointer position correctly.
 * - Move wgMFEditorOptions to ResourceLoaderGetConfigVars hook
 * - Fix close button in ImageOverlayNew
 * - Hygiene: Generalise EventLogging for main menu
 * - Use new schema for main menu click tracking
 * - Hygiene: Don't check sessionid length
 * - Remove &quot;short sentence&quot; from wikidata description i18n message
 * - &quot;View on WikiData&quot; =&gt; &quot;View on Wikidata&quot;, not camel case
 * - Don't say &quot;MobileFrontend Infobox alpha edit&quot; for Wikidata description edits
 * - Show namespace in the Special:MobileLanguages header
 * - word-break: normal in page headings
 * - MediaViewer image description trimmed
 * - Hygiene: Stub all Api calls in qunit test
 * - Add background-repeat: no-repeat for SpecialHistory on the desktop
 * - user: Update sessionId test to match updated length in MediaWiki core
 * - Load Mobile event emitter in the head
 * - Introduce mediawiki.template.hogan in preparation for templates in core
 * - Hygiene: Remove util.query and use core functions
 * - Add a space in a &lt;br/&gt; tag in a message
 * - Don't hide the clear button when the search input is not empty
 * - Show Overlays only after the DOM is ready
 * - Revert &quot;Correct the arrow position of the editor tutorial&quot;
 * - Allow null edits on mobile (same as desktop)
 * - Infobox: Add link to commons category overlay

MultimediaViewer

 * - Make progress bar qunit tests more robust

PagedTiffHandler

 * - Pass $context to FormatMetadata::getFormattedData

Popups

 * - i18n: Remove reference to color in description message

ProofreadPage

 * - Add $wgAvailableRights entry for 'pagequality'

RSS

 * - Add missing class RSSHighlighter to autoload

RestBaseUpdateJobs

 * - Use standard If-Unmodified-Since header for conditional updates
 * - Don't count all back links
 * - Improve edit update job handling
 * - Create sanely-named entry point file

Scribunto

 * - Scribunto API help text clarified

SemanticForms

 * - Job::batchInsert is deprecated as of MW 1.21

TemplateData

 * - TemplateData: use consistent quotes
 * - Extra credits in en.json and qqq.json
 * - Remove extra 'or's from an English message

TimedMediaHandler

 * - API: Pass pageId as intval to avoid error in XML output

Translate

 * - Use UserGetReservedNames hook instead of modifying a global at run-time
 * - Position the group selector to appear at the bottom of the trigger.

UniversalLanguageSelector

 * - ULS: message text grammar enhanced
 * - Add missing RL dependency ext.uls.init to test module ext.uls.tests
 * - Fix javascript error in inputsettings module

UploadWizard

 * - Use tox for running flake8

VisualEditor

 * - [BrowserTest] Capture the whole formatting button in the screenshot
 * - [BrowserTest] Rename headings dropdown scenario
 * - [BrowserTest] Add padding to the Headings dropdown screenshot
 * - [BrowserTest] Capture the whole dropdown indicator in the screenshot
 * - Emit activation entry/exit traces at the appropriate times
 * - Add unit test for mwAlienExtension node
 * - [BrowserTest] Add a screenshot for the Page settings menu item
 * - [BrowserTest] Add a screenshot for the category item
 * - Vertically center the progress bar within the visible part of #content
 * - Update VE core submodule to master (715750b)
 * - Update VE core submodule to master (1c5c1e2)
 * - For empty / whitespace-only headings, output &lt;p&gt; instead of &lt;h#&gt;
 * - Update VE core submodule to master (f8f9728)
 * - Make loading progress bar determinate
 * - Update VE core submodule to master (5d5f8a4)
 * - TransclusionDialog: Initialize label mode button
 * - Update VE core submodule to master (89c37dc)
 * - [BrowserTest] Update the screenshot gem version
 * - [BrowserTest] Remove when_not_visible check from 'I click Save page'
 * - [BrowserTest] Disabling the References list test
 * - [BrowserTest] Revert the definition of the disabled_save_button element
 * - Fix edit conflicts
 * - Update VE core submodule to master (91858b5)
 * - Set mwtiming events' target to 'mwTarget', if unset
 * - Restore async rendering of ReferenceContextItem
 * - Add .mailmap file
 * - Set action.saveFailure.message key in Edit schema
 * - Handle TitleBlacklist errors
 * - Update VE core submodule to master (b57d224)
 * - Update VE core submodule to master (6bd2ea5)
 * - Follow-up f620111b: pass parameters to fallback requestPageData call

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

WikiGrok

 * - Fix value fail
 * - Fix fatal
 * - Fix an overly flamboyant name:P
 * - Replace mw.MobileFrontend.util.query with mw.util.getParamValue
 * - Cap the number of claims WikiGrokResponse API should accept

Wikidata

 * - Update Wikidata - Fix recent changes formatting on wikidata
 * - Revert change dispatcher patches