MediaWiki 1.28/wmf.14/Changelog

Core changes

 * - Updated git submodules
 * - Resources.php: mark "mediawiki.api.upload" module as 'targets' => [ 'desktop', 'mobile' ]
 * - jquery.tablesorter: Handle more than single characters in 'tableSorterCollation'
 * - Use MediaWikiServices in restInPeace for load balancer factory
 * - Updating $tailoringFirstLetters for Macedonian
 * - Add missing addQuotes call to masterPosWait
 * - SpecialNewFiles: Restore the 'newimagestext' message
 * - SpecialUpload: Use LinkRenderer instead of Linker::link
 * - Use different message when (un)watching a page in talk namespace
 * - Clean up array syntax in docs, part II
 * - SpecialTags: Use LinkRenderer instead of Linker::link
 * - registration: Add hint about UnitTestsList hook in conversion script
 * - Fix display of numeric tag names on Special:Tags
 * - SpecialMostlinkedCategories: Use LinkRenderer instead of Linker::link
 * - SpecialChangeCredentials: Use LinkRenderer instead of Linker::link
 * - SpecialUploadStash: Use LinkRenderer instead of Linker::link
 * - SpecialShortPages: Use LinkRenderer instead of Linker::link
 * - Don't force loading of groups and options on User::loadFromUserObject
 * - Move style for #wikiPreview to mediawiki.action.edit.styles.css
 * - Adding release notes about the addition of numeric sorting support
 * - HtmlArmor: Pass ENT_QUOTES to htmlspecialchars
 * - Balancer: pass configuration array to flatten instead of individual booleans
 * - Move CSS for patrol from mediawiki.legacy to new module mediawiki.page.patrol
 * - Fix @covers tag
 * - Fix increment statsd call in JobRunner
 * - Fix for "Invalid key type: integer"
 * - Mention UploadBase::stashFile "checked" exceptions in docs
 * - Revert "API: Remove deprecated response values from action=login"
 * - Fix inconsistent RevDelFileItem visibilities
 * - Show wgPageParseReport on page previews too
 * - Change explicit class to self in AutoloadGenerator
 * - build: Fix stylelint devDependencies
 * - Keep $user->mEditCount up to date
 * - Add dependency to 'jquery.textSelection' for 'mediawiki.toolbar'
 * - Include AuthManager API endpoints in authmanager channel
 * - resourceloader: Add missing @private and @protected to mw.loader methods
 * - Move Special:Upload styling out of mediawiki.special.styles
 * - SpecialProtectedpages: Use LinkRenderer instead of Linker::link
 * - Unify Special:Contribs/DeletedContribs subtitle implementation
 * - Balancer style tweaks
 * - Balancer: remove redundant assignment
 * - resourceloader: Disable filesystem cache for Less
 * - SpecialContributions: Use LinkRenderer instead of Linker::link
 * - Provide context in ContributionsToolLinks hook
 * - Balancer: consistent single-line comment style
 * - Add search-ignored-headings string, copied from cirrus-search-ignored-headings.
 * - resourceloader: Implement 'deprecated' option for FileModule
 * - Autodiscover extension unittests
 * - Pass $archivedRevisionCount to the ArticleDeleteComplete hook
 * - MediaHandlerFactory: Don't use any global state
 * - Move MediaHandler defaults out of global scope
 * - Override MediaHandlers in tests using MediaWikiServices
 * - Introduce MediaHandlerFactory to create MediaHandler objects
 * - phpdoc File::makeTransformTmpFile can return null
 * - Update OOjs UI to v0.17.7
 * - Structure test: Add autoload.php order check
 * - Pingback: Fix phpdoc
 * - auth: Fix case of function call
 * - Wrap revision info and nav in a div for easy formatting in MobileFrontend
 * - UploadBase: Formally deprecate old methods for stashing files
 * - Canonicalise '@deprecated since' doc comments
 * - resourceloader: Separate 'user.styles' module from 'user'
 * - Skin: Remove long-deprecated aliases for Linker methods
 * - Allow closures as HTMLInfoField values
 * - Provide missing system message corresponding to "right-purge"
 * - Remove unused conds.mustache test file
 * - Move HTMLFormField subclasses to a separate directory
 * - Make content handlers assemble content for search
 * - OutputPage: Add addHeadItems method
 * - Add 'targets' => [ 'desktop', 'mobile' ] to all UploadWizard dependencies
 * - Adding a bunch of hooks from wikiHow into DifferenceEngine, 2nd try

Vendor

 * - Update OOjs UI to v0.17.7

AbuseFilter

 * - Remove 'UnitTestsList' hook

ActiveAbstract

 * - Move tests to tests/phpunit/ and remove hook

AntiSpoof

 * - Move tests to tests/phpunit/ and remove hook

Babel

 * - Remove 'UnitTestList' hook

BetaFeatures

 * - Move tests to tests/phpunit/ and remove hook

Capiunto

 * - Remove 'UnitTestList' hook

CategoryTree

 * - Migrate to extension registration

CentralAuth

 * - Gemfile: Bump mediawiki_api from 1.7.1 to 1.7.2
 * - Remove 'UnitTestsList' hook
 * - Record global rename parameters in log entry

CheckUser

 * - Remove wfWaitForSlaves call in CheckUser mass blocker

CirrusSearch

 * - Update browser test config
 * - Use createFragmentTarget instead of setFragment
 * - Load MwEmbedSupport with wfLoadExtension
 * - Add 2 classes to autoloader, split config from classes
 * - Fix mapping generation
 * - Cleanup code that has been moved.
 * - Make content handler produce field data
 * - Cleanup Similarity config
 * - Improve error message on update fail.
 * - Add similarity config to suggest field and drop positions
 * - Move Searcher::searchText into dedicated class
 * - Take SearchConfig directly in SearchTextQueryBuilders
 * - Refactor keyword features out of Searcher
 * - Add a wiki field to namespace documents as well

Cite

 * - build: Fix stylelint devDependencies
 * - Hide text without confusing Chromium's cursoring
 * - Cite::referencesFormatEntry: Avoid Undefined index: key

Citoid

 * - build: Fix stylelint devDependencies

CodeEditor

 * - Add jquery.textSelection dependency

CodeReview

 * - Add requireExtension to deleteBadTags
 * - Move tests to tests/phpunit for autodiscovery

CommonsMetadata

 * - Remove 'UnitTestList' hook

ConfirmEdit

 * - Remove 'UnitTestList' hook
 * - Remove getForm and replace by getFormInformation

ContactPage

 * - Re-add extension.json
 * - Update ContactPage for ConfirmEdit changes:

ContentTranslation

 * - Avoid duplicate requests for target image namespace alias
 * - Avoid duplicate requests for target template namespace alias
 * - ext.cx.translation.storage: increase debounce delay to 3s
 * - Avoid template name only adaptation for Cite web
 * - Simplified MT card with new design

DonationInterface

 * - Convert orphan rectifier to use the PendingDatabase
 * - Move phpunit tests to phpunit folder
 * - Don't run redundant fraud checks
 * - Adapter parameter can't actually be null
 * - Protect condition in case of undefined variable
 * - List countries for Amex so it stops appearing for ZA
 * - Protect mirroring from bad queue
 * - Rename "data" variable to a more specific name
 * - More places where batch jobs shouldn't be pulling from the request
 * - Fix documentation for CustomFiltersFunctions

Echo

 * - Update to final version of the success and failure messages
 * - Reduce the amount of space between the badges a bit
 * - Follow-up de795bdbc5: actually hide badge number in Monobook
 * - Fix top position of badges in monobook
 * - mw.echo.badge: Use 'color: transparent' rather than 'font-size: 0' to hide text
 * - mw.echo.badge: Use 'background-image' rather than 'content'
 * - Output wgNotificationsSpecialPageLinks js var even if no local notifications
 * - Don't use a smaller font size for the badge numbers in Monobook
 * - Skip redundant bundle-id expansion when marking entire xwiki bundle read
 * - Remove allTalkRead listener for the messages popup
 * - Don't truncate bundled item content in mobile view
 * - Round timestamps to the day when displaying date titles in Special:Notifications
 * - Generate sample notifications for Wikibase
 * - Enable local bundles on mobile
 * - Add extra case to EchoDiscussionParserTest::testGetSectionCount
 * - Remove unused generateUserIdsForValidUserMentions in test
 * - Hack around browser bug in IE breaking badge alignment in Monobook
 * - Prevent IE from rendering the badge SVGs ridiculously big
 * - Mark all notifications in a foreign bundle as read
 * - Fix qqq message
 * - Rename ApiEchoUnreadNotificationPages->getFromForeign
 * - Prevent duplicate thank-you-edit notifications
 * - Remove secondary link in bundled messages for mention status notifications
 * - Add test for EchoDiscussionParser::extractHeader
 * - Remove double quotes around usernames in failures
 * - Fix phpdoc in DiscussionParser::extractHeader
 * - Allow self mentions
 * - Adjust notification badges for monobook
 * - Add a footer notice inviting users to visit the Special:Notifications page
 * - Implement subject+talk and null+user page grouping
 * - Add tests for events on multiple sections edits
 * - Update and fetch seenTime per source

Elastica

 * - Remove 'UnitTestList' hook

EventBus

 * - Remove 'UnitTestList' hook

EventLogging

 * - Don't conditionally register hooks and API module
 * - Add NS_SCHEMA defines in namespaces.php
 * - Fixup FIXME on extension.json conversion
 * - Convert to extension registration

ExtensionDistributor

 * - Remove 'UnitTestList' hook
 * - Expose the source URL in the API

FlaggedRevs

 * - Try not to make slave lag in updateRecentChanges

Flow

 * - Update mediawiki-selenium to 1.7.2 to fix bug
 * - build: Fix stylelint devDependencies
 * - Skip deleted boards in FlowUpdateResolvedNotifTitles
 * - ConfirmEdit: Stop using buildCssLinks, adapt to ConfirmEdit refactor
 * - SpamFilter: Fix implicit conversion to string (causes a warning)
 * - Browser tests: fix notifications locator
 * - Include style for bytes added/removed on history page
 * - Add patrol link to topic summary page
 * - Rephrase flow-compare-revisions-header-postsummary

Gadgets

 * - Remove 'UnitTestList' hook
 * - Unbreak tests

GeoData

 * - Replace extension function with ApiQuery::moduleManager hook

GettingStarted

 * - Update mediawiki-selenium to 1.7.2 to fix bug
 * - Add extension.json, empty php entry point

GlobalBlocking

 * - Adding globalblock-exempt grant for OAuth

GlobalCssJs

 * - Remove 'UnitTestList' hook

Graph

 * - build: Fix stylelint devDependencies

GuidedTour

 * - Remove 'UnitTestList' hook

Kartographer

 * - Prevent double-registration of map events
 * - Use polygon holes when auto positioning a map (for masks)
 * - build: Bump various CI devDependencies to latest
 * - Remove commented out code
 * - Refactor of the front end code to extend Mapbox.
 * - Remove 'UnitTestList' hook

LiquidThreads

 * - Add extension.json, empty PHP entry point

LocalisationUpdate

 * - Remove 'UnitTestList' hook

Math

 * - Remove 'UnitTestList' hook
 * - build: Fix stylelint devDependencies

MobileFrontend

 * - Use the correct image variant in overlay and drawer
 * - build: Fix stylelint devDependencies
 * - Remove 'UnitTestList' hook
 * - Upgrade Gemfile
 * - Correctly display PointerOverlay on RTL wikis
 * - Correctly flip the search input box background on RTL wikis
 * - Do not wrap entire subtitle on diff pages in a warning box
 * - Do not output the 'switch language' action on Main Page in beta
 * - Separate mobile.usermodule from mobile.usermodule.styles

MultimediaViewer

 * - Freeze gem versions for all devs
 * - Fix mistake in PHPDoc
 * - Upgrade mediawiki_selenium in Gemfile
 * - Update unit tests to use non-bits favicon urls
 * - Speed up caption collection

OAuth

 * - Don't show notification categories if they won't be used on the current wiki
 * - Follow-up Ib6d8a7c5: Fix namespacing of hook functions
 * - Add extension.json, empty php entry point
 * - Prepare for conversion to extension registration
 * - Send notifications about app management events

ORES

 * - Remove 'UnitTestList' hook

PageAssessments

 * - Remove 'UnitTestList' hook

ParserFunctions

 * - Remove 'UnitTestList' hook

ParsoidBatchAPI

 * - Fix is_callable check

ProofreadPage

 * - Remove 'UnitTestList' hook
 * - build: Fix stylelint devDependencies

QuickSurveys

 * - Upgrade mediawiki_selenium in Gemfile
 * - Fix failing unit test

RelatedArticles

 * - Upgrade mediawiki_selenium in Gemfile
 * - Use SidebarBeforeOutput hook instead of echo'ing HTML
 * - Remove uncessary ParserClearState hook

RevisionSlider

 * - Revert "Do not load RevisionSlider initially, add button to load it"
 * - Add link to extension talk page to the help popup
 * - Do not load RevisionSlider initially, add button to load it
 * - Make backward/forward arrows OO.ui.ButtonWidgets
 * - Use OOjs Popup Widgets instead of tipsy
 * - Make the "show help" button a OOjs ButtonWidget
 * - Reduce help text font-size
 * - Include a number in messages showing a number with a unit

Score

 * - build: Fix stylelint devDependencies

SyntaxHighlight_GeSHi

 * - build: Fix stylelint devDependencies

TemplateData

 * - build: Fix stylelint devDependencies
 * - Remove 'UnitTestList' hook

Thanks

 * - Remove 'UnitTestList' hook

TitleBlacklist

 * - Remove 'UnitTestList' hook
 * - Add `"targets": [ "desktop", "mobile" ]` to 'mediawiki.api.titleblacklist' module

Translate

 * - tux: Use i18n message for unknown errors in save attempts
 * - PageTranslation: Do renders for manually fuzzied units as well
 * - Add 'translate_source_text' abuse filter variable
 * - ext.translate.proofread: remove '.tux-warning' when proofread action is successful
 * - ext.translate.editor: Improve behavior of displaying warnings
 * - ext.translate.editor: Improve save failure detection
 * - Add missing rate limiter in SpecialPageTranslationMovePage
 * - Add Special:ExportTranslations
 * - TranslateYaml: Remove two long since deprecated functions

TranslationNotifications

 * - Show error message instead of exception when only language chosen is source language
 * - Stop constructing MailAddress objects in deprecated way

TrustedXFF

 * - Remove filter12.solcon.nl too from trusted-hosts.txt
 * - Update trusted-hosts.txt for "Not a valid host or IP address"
 * - Update update for WMF usages

UniversalLanguageSelector

 * - Update jquery.uls to c644044
 * - LanguageNameSearch: do not mix different scripts in same buckets
 * - LanguageNameIndexer: print bucket stats
 * - LanguageNameIndexer: sort buckets
 * - LanguageNameIndexer: Remove directionality chars that cannot be typed
 * - LanguageNameIndexer: Generate PHP file instead of serialized file.
 * - LanguageNameIndexer/Search: use unicode aware lowercasing
 * - build: Fix stylelint devDependencies
 * - Add languages in which there is a featured article
 * - LanguageNameIndexer: Simplify code

UploadWizard

 * - mw.UploadWizardUpload: Catch IE's "Not enough storage is available" exceptions
 * - Improve docs and type-hint isUserUploadAllowed
 * - Clean up SimpleForm handling
 * - build: Fix stylelint devDependencies
 * - Remove 'UnitTestList' hook
 * - Improve errors about invalid filenames
 * - Remove unused localisation messages
 * - Stop using and remove mw.UploadWizard.sanitizeFilename
 * - uw.TitleDetailsWidget: Check for $wgIllegalFileChars client-side
 * - Various minor cleanups
 * - Do not set 'wgSiteName' JS config var
 * - Move mw.UploadWizardDetails.makeTitleInFileNS to uw.TitleDetailsWidget
 * - Add 'targets' => [ 'desktop', 'mobile' ] to all UploadWizard modules

UrlShortener

 * - Remove 'UnitTestList' hook

VipsScaler

 * - Convert VipsScaler to use new extension registration

VisualEditor

 * - Update VE core submodule to master (f82628d)
 * - Add titles to category input menu's items
 * - Gemfile: Bump mediawiki_api from 1.7.1 to 1.7.2
 * - Git-ignore generated screenshots
 * - Take link fragments into account
 * - Rewrite TOCWidget based on Linker::generateTOC
 * - Fetch default options for gallery dialog
 * - Make ArticleTarget#goToHeading work at all times
 * - Update VE core submodule to master (4408c13)
 * - Fix check for non-template-namespace transclusions
 * - Make image list keyboard accessible in gallery dialog
 * - mw.ArticleTarget: Fix FancyCaptcha reload button
 * - Add jquery.textSelection dependencies
 * - build: Bump stylelint-related devDependencies to latest
 * - Show name of template for invisible templates
 * - Update VE core submodule to master (2567ca9)
 * - Use .textSelection( 'getContents' ) instead of .val to get the value of #wpTextbox1

WikidataPageBanner

 * - Remove 'UnitTestList' hook

WikimediaEvents

 * - Remove 'UnitTestList' hook
 * - rlfeature: Track use of json polyfill as fail, not pass.
 * - Remove dewiki_diffstats logging

WikimediaIncubator

 * - Remove 'UnitTestList' hook

WikimediaMessages

 * - Creates an override for WMF wikis for MediaWiki:Delete-toobig
 * - Localisation update for tcy.wikipedia
 * - Merge WikimediaLicenseTexts into extension.json

cldr

 * - Lower case "multiple/unknown language(s)" and "no linguistic content"

timeline

 * - De-capitalise timeline in wfLoadExtension call
 * - Kill off TimelineSettings class
 * - Convert to extension registration
 * - Follow-up I212270c6: Fix spelling of AutoloadClasses to not break the site
 * - Move global functions to class

wikihiero

 * - build: Fix stylelint devDependencies