MediaWiki 1.25/wmf20/Changelog

Core changes

 * - API: Properly handle limit and continuation for generator=prefixsearch
 * - Add anchor &quot;mw-oldid&quot; for beginning of page content in diff view
 * - Add top help link to MediaWiki.org in several pages via indicator
 * - Shorten long lines in PrefixSearch.php to make phpcs pass
 * - Remove unused alias/layer of test abstraction wfShellMaintenanceCmd
 * - Moved some JobQueueAggregator logic out of JobQueueGroup
 * - Delay language conversion cache construction until needed
 * - Profile all external HTTP requests from MW
 * - Allow profiling of Http requests
 * - Shorten long lines in UserRightsProxy.php to make phpcs pass
 * - Shorten long lines in User.php to make phpcs pass
 * - Allow dumping raw xhprof data for consumption by xhprof GUI
 * - mediawiki.user: Check crypto.getRandomValues before use
 * - Shorten long lines in MovePage.php to make phpcs pass
 * - Shorten long lines in Linker.php to make phpcs pass
 * - API: Add caution to docs for ApiBase::getCustomPrinter
 * - Shorten long lines in Html.php to make phpcs pass
 * - Shorten long lines and use consistent tabs in DefaultSettings.php
 * - Made master connection expectations actually work
 * - Removed pointless memcached JobQueueAggregator class
 * - Removed old HTMLCacheUpdateJob b/c code
 * - Made JobRunner bail sooner for bogus job --type parameters
 * - mediawiki.feedback: Set the message input to be autosized
 * - Resources.php: Simplify dependencies to single modules
 * - Shorten long lines in Language.php to make phpcs pass
 * - resourceloader: Implement '$pages' parameter to ResourceLoaderWikiModule constructor
 * - resourceloader: Clean up UserModule to be more like UserGroupsModule
 * - Revert &quot;Made insertMessageBlob use (start|end)Atomic in case DBO_TRX is off&quot;
 * - API: Handle invalid titles in action=feedwatchlist
 * - Add explicit array cast in Language::getGenderNsText
 * - Made insertMessageBlob use (start|end)Atomic in case DBO_TRX is off
 * - Add hook EnhancedChangesList::getLogText
 * - Make &quot;name&quot; a required value of extension.json in the schema
 * - Text color for quiet buttons should not be lightened
 * - Sync up with Parsoid parserTests.
 * - Populate User::$idCacheByName in User::loadFromRow if possible
 * - Clarified RequestContext doc comment
 * - $timeout was optional in Http::get
 * - Moved JobQueueFederated partition exceptions to their own log
 * - Remove $timeout parameter from Http::get
 * - API: paraminfo html strings shouldn't include unnecessary &lt;p&gt;s
 * - Hide section anchor links from screen readers using aria-hidden
 * - Allow a lonely &quot;-&quot; as positional argument
 * - resourceloader: Let $wgUseSiteCss protect MediaWiki:Print.css as well
 * - Add composer lint, phpcs, and test commands
 * - installer: Remove unused references to wgResourceLoaderMaxQueryLength
 * - Avoid access to array key that does not exist
 * - refreshLinks.php: Tweak exit condition in deleteLinksFromNonexistent
 * - Make sure hash_hmac always works even if no secret key
 * - Made ConfigException extend Exception
 * - build: Work around jshint failure for global JSON object
 * - Update OOjs UI to v0.8.2
 * - Made SqlBagOStuff avoid tripping TransactionProfiler
 * - refreshLinks.php: Get IDs in batches in deleteLinksFromNonexistent
 * - New convenience method ApiBase::lacksSameOriginSecurity
 * - Fix fatal &quot;Call to setExpectation on non-object&quot; in MediaWiki::main
 * - Introduce HashSiteStore, mainly for use in tests
 * - Fix testGetCanonicalName PHPUnit test:
 * - Sync up with Parsoid parserTests.
 * - Refactoring mw.Feedback to work with OOUI elements
 * - Gracefully handle redirects in SpecialMyLanguage
 * - Made &quot;maxAffected&quot; query expectation actually apply
 * - Made insertMessageBlob only catch DBError for sanity
 * - Escape messages 'word-separator' and 'parentheses' in InfoAction
 * - PostgreSQL: Fix timestamp in Special:ListFiles
 * - Add UserArray::newFromNames
 * - Add a hook run after EditPage::attemptSave for WikiEditor
 * - Escape extra input messages on Special:UserLogin/signup
 * - Update OOjs UI to v0.8.1
 * - Update OOjs to v1.1.5
 * - Allow configuring the transaction locking mode for SQLite
 * - Add srcset for images in &lt;gallery&gt;
 * - Made the SQLite installer make a separate objectcache DB
 * - Exclude null rows from Special:MediaStatistics
 * - mediawiki.user: Simplify extension of mw.user
 * - LivePreview: Wrap content preview with mw-content-*
 * - Fix and re-enable Dumps' checkpoint tests
 * - Allow to set stub read buffer size for TextPassDumper
 * - Removed overzealous caching from JobQueueFederated
 * - Removed obsolete &quot;containsOldMagic&quot; code
 * - Explicitly mark HTMLCacheUpdateJob jobs that are recursive for clarity
 * - installer: Use HTTPS links for licenses

Vendor

 * - Update OOjs UI to v0.8.2

AntiSpoof

 * - Made update use a transaction hook to avoid deadlocks

ApiSandbox

 * - Remove forced LTR from examples
 * - Handle examples as raw html on Special:ApiSandbox

BetaFeatures

 * - Add extension.json

CheckUser

 * - Add extension.json and fix duplicate // in file paths

CirrusSearch

 * - Take remaining logic out of UpdateOneSearchIndexConfig and into separate class

Cite

 * - T28462 changed print CSS for backlink arrows edited CSS according to coding conventions
 * - Update parser test case for gallery srcset support

CodeReview

 * - Add extension.json
 * - Move $wgExtensionFunctions out of a closure and to a static class

Collection

 * - Use new Http profiling and drop custom profiling calls

ContentTranslation

 * - Use mediawiki.ui.button as RL dependency instead of unconditional dependency
 * - Avoid generating titles like User:A/User:A/Title
 * - Fix JSCS errors
 * - Add mediawiki.Title dependency to sitemapper module
 * - Document the unique features of cxpublish
 * - Always use display: block for placeholders
 * - Campaign: Invite editors to try CX while creating a new article
 * - Use &quot;Content Translation&quot; in messages
 * - In source filter, search only under the container
 * - Call $section.prop( 'tagName' ) just once
 * - Add lang and dir attributes to the titles in the dashboard
 * - Remove &quot;machine translation&quot; from the description
 * - Open up Special:ContentTranslationStats to all users
 * - Fix the special character handling for CX token
 * - Wrong url for pages when $wgContentTranslationTranslateInTarget = false

Disambiguator

 * - Add extension.json

Echo

 * - &quot;More info&quot; link on Special:Notifications has broken localisation

EventLogging

 * - RemoteSchema: Migrate timeout into options array
 * - Mollify flake8

FeaturedFeeds

 * - Don't use $dir

Flow

 * - Add i18n for flow-create-board right
 * - Add ServiceProviderInterface to autoload.php
 * - Upgrade Pimple to 2.x
 * - Fix FlowAddMissingModerationLogs
 * - Refactor moderation logging
 * - Fix fatal on topic history
 * - Fix fatal on post diff page
 * - Support WikiLove
 * - Restore VisualEditor file from 0e85020, and Resources.php module

GlobalUserPage

 * - Use User::isValidUserName for validation checking

Graph

 * - Fixed IE bug from upstream vega

GuidedTour

 * - build: Rename JSDuck config standard jsduck.json

MobileFrontend

 * - Highlight matching parts of search results
 * - Hygiene: Use SpecialPage's msg function for proper context
 * - Fixing Table of Contents formatting on mobile
 * - VE: Apply overflow fix on header
 * - Hygiene: Correctly show relationship between desktop and mobile page
 * - Promote talk answer feature to beta
 * - Bring back hatnotes
 * - Improvements for answer feature in TalkSectionOverlay
 * - Fix &quot;No thanks&quot; in EditorTutorial
 * - Hygiene: Correctly enable watchstar
 * - Hygiene: ContentOverlay shouldn't have header
 * - Hygiene: Refactor Watchstar for Extension:Gather
 * - Fix unclosed div in MobileFrontend's Special:UserProfile
 * - Hygiene: Follow coding conventions
 * - QA: slight change to id value for section content
 * - Remove capitalization.
 * - Mark checkboxes checked
 * - Hygiene: Use server side templating for checkbox generation
 * - Overlay, Panel, Drawer made to use View##events
 * - Don't use random ids for toggleable sections

MultimediaViewer

 * - Make media viewer use the same prefix as mobile

OAuth

 * - Special:OAuthManageMyGrants: don't escape button labels twice
 * - Provide a more specific error message on request token reuse

Popups

 * - Improve mw.popups.selectPopupElements

SemanticForms

 * - Updated WikiEditor call for July 2014 header change
 * - Restored standard highlight colors for Select2 inputs

TemplateData

 * - Make elseif into else because it is
 * - Add paramOrder by default to TemplateData blobs
 * - Use wikitext instead of page prop when checking for existing TemplateData
 * - Delete boolean values if they are false

Translate

 * - Remove hard message tracking
 * - Fix uncaught exception when moving documentation unit of translatable page
 * - Update version before MLEB release
 * - Made MessageGroupStatesUpdaterJob jobs be de-duplicated

UniversalLanguageSelector

 * - Update version before MLEB release
 * - Update jquery.uls to ffcfdf1

UploadWizard

 * - Browser test for flickr uploads
 * - Fix selectors for radio buttons
 * - Browser test for chunked uploads
 * - Set the preferences via the API when not testing the preferences page
 * - Respect preferences' default license when picking a license per file
 * - Fix browser tests in Chrome

VisualEditor

 * - Add a threshold to 'read more' calculation in media dialog info
 * - Update VE core submodule to master (79004c9)
 * - Correct jquery.uls dependencies
 * - Update VE core submodule to master (7dcd5e8)
 * - Resolve URLs in MWInternalLinkContextItem
 * - [BrowserTest] Use Cucumber tag to specify which scenario to run
 * - Update VE core submodule to master (a65ad7c)
 * - Update VE core submodule to master (b90965c)
 * - VisualEditor.php: Warn people to use extension.json instead
 * - Work with the new mw.Feedback and add UserAgent checkbox
 * - Update VE core submodule to master (0cb3b6f)
 * - Send abort event on unload
 * - Fix transfer of reference contents from removed reference
 * - Don't claim all links exist when ParserCache misses
 * - Promote the Language tool Beta Feature to always-on status
 * - ImageInfoCache: Don't try to access imageinfo result if it's not set
 * - Update VE core submodule to master (7bcf314)
 * - Make generateCitationFeatures idempotent
 * - Update VE core submodule to master (2e1a0bb)
 * - MWCategoryWidget: Remove entries from this.categories when appropriate
 * - Refactor MWMediaResultWidget to resize better
 * - [BrowserTest] Update the Edit tab scenario
 * - Follow-up I18162f04: Send uselang parameter with paction=parse request
 * - Follow-up I18162f04: Set contentType: 'multipart/form-data' on some requests again
 * - Correctly validate a provider for local api
 * - [BrowserTest] Fix VisualEditor_More_Settings scenario
 * - [BrowserTest] Update the scenario for Cite screenshot
 * - [BrowserTest] Update Gemfile.lock
 * - mw.ViewPageTarget: Use CSS for toolbar transition

WikiGrok

 * - Fix close button click
 * - Identifying which extension is complaining about dependency
 * - Internationalize English texts
 * - Conditionally enable stuff depending on repo mode

WikiLove

 * - Add Flow support to WikiLove

WikimediaMessages

 * - Add 'centralauth-uwbr-intro' override

cldr

 * - Swap dirname(__FILE__) for __DIR__

Vector

 * - Fix @noflip use in mediawiki.sectionAnchor.less