MediaWiki 1.28/wmf.3/Changelog

Core changes

 * - Updated git submodules
 * - Updated git submodules
 * - Fix Special:PrefixIndex paging links
 * - Reset all tokens on login
 * - Fix rvtoken=rollback in ApiQueryRevisions
 * - RollbackAction: Don't return true, causes '1' to be output
 * - Revert "RollbackAction: Implement AJAX interface and require POST"
 * - Revert "Update CentralNotice submodule"
 * - Update VisualEditor for I70d6db08
 * - Update CentralNotice submodule
 * - Send edit stash metrics for cache attempts
 * - Bail out in ApiStashEdit for bots for sanity
 * - TitleParser: In formatTitle, don't throw exceptions on bad namespaces
 * - Temporary hack to fix interwiki search with bad titles returned by search engine
 * - Exclude bots from edit stash stats
 * - Update VE-MW submodule to wmf/1.28.0-wmf.3 HEAD (12efd69)
 * - Use correct module name for stats in executeActionWithErrorHandling
 * - Do not use $wgUser in Linker/LinkRenderer when sessions are disabled
 * - Param &$html for the "LinkBegin" hook needs to be null if $text is null
 * - Fix regression: text color in `.mw-search-result-data`
 * - RevDel: Fix ChangeTags for archived items
 * - Revert "Convert Special:NewFiles to use OOUI."
 * - Document what User::newSystemUser's "stealing" does
 * - Disable CAS check when saving TestUser data.
 * - Add the LockManager error to LocalFileLockError exceptions
 * - Batch updateNotificationTimestamp UPDATE queries (without wl_id)
 * - RollbackAction: Implement AJAX interface and require POST
 * - Add LinkRenderer (rewrite of Linker::link)
 * - Do not count 0-load servers in getMaxLag
 * - Add some missing MW version documentation
 * - Bump mediawiki version in PHPVersionCheck.php to 1.28
 * - add LanguageTest::testEquals for Id7ed6a21c
 * - Fix autoload.php sort order
 * - CoreParserFunctions: Return 0 from when length is unknown
 * - LogEventsList::showLogExtract: allow providing custom URL parameters for "view full log" link
 * - Add pages with ignored restricted s to a tracking category
 * - Remove unused messages in the installer
 * - Add @since tags to each LinkTarget method.
 * - Convert Special:NewFiles to use OOUI.
 * - Add missing samp tags and closing kbd tag
 * - Revert "Enable AuthManager by default"
 * - registration: Ignore short variables in convertExtensionToRegistration
 * - EditPage: Use localized special page links for 'anoneditwarning'
 * - Use InterwikiLookup in Title.
 * - Fix various phpcs error from last security patches
 * - Add rel="noreferrer noopener" when target attribute would open window
 * - SECURITY: Rate limit moves via the API
 * - Use pool counter for generating large diffs to prevent DoS.
 * - Enforce upper limit on invocations of wfShellExec
 * - SECURITY: Throw exception on unknown hash algorithm
 * - Canonicalize usernames before rate limiting logins
 * - SECURITY: RawAction: Vary on the usual headers
 * - SECURITY: Improve cross-domain-policy mangling
 * - SECURITY: Check for mbstring.func_overload at runtime
 * - SECURITY: Don't use m modifier when checking link prefix
 * - SECURITY: Include quote characters in strip markers so esc in attr
 * - SECURITY: Add data attribute to patrol links so it can't be spoofed by user
 * - API: Add "standard" header and hook for lacksSameOriginSecurity
 * - Improve unstyled updatedmarker
 * - Log autocreation attempts in SessionManager
 * - Lowered incrTableUpdate batch size to $wgUpdateRowsPerQuery
 * - jsduck: Sort list of globals in jsduck.json
 * - Avoid invidual LinkCache lookups in Linker::makeBrokenImageLinkObj
 * - Cleanup Special:PrefixIndex::showPrefixChunk
 * - TraditionalImageGallery: Preload Titles being linked into LinkCache
 * - Remove 'noclasses' from Linker::linkKnown defaults
 * - Undo translations of message changes from 6ffabb26
 * - Remove unused import in MediaWikiServices
 * - Revert "Convert Special:WhatLinksHere from XML form to OOUI form"
 * - Limit DELETE in purgeExpiredRestrictions and use primary key
 * - Use inNamespace in CategoryPage
 * - exception: Create generic BadRequestError based on ErrorPageError
 * - API: Handle shorthand "all groups" configuration in ApiQuerySiteInfo
 * - build: Bump grunt-stylelint to v0.3.0
 * - mw.loader: Optimise hot code paths in addEmbeddedCSS
 * - ResourcesOOUI: Remove deprecated oojs-ui.styles module
 * - build: Enforce stylelints on function calls
 * - build: Enforce stylelints on fonts
 * - build: Enforce stylelints on spacing around declarations
 * - build: Enforce the rest of the colour-related stylelints
 * - Log logouts
 * - build: Bump grunt-karma and related tools to 1.0.x
 * - mediawiki.special.search.css: Fix chmod
 * - build: Introduce stylelint
 * - PHPUnit: turn off verbose option
 * - Fix alias capitalization warning
 * - Make LinksUpdate only wait on the DB with the link tables
 * - RecompressTracked: Remove useless member variable
 * - Enable AuthManager by default
 * - tests: Remove duplicate unit tests in HtmlTest.php
 * - Fix resetServiceForTesting param type in comment
 * - Fix-up for I52c511be04: call parent setup / teardown methods
 * - Revert "Make an empty "?action=" parameter default to "view""
 * - mediawiki.page.patrol: Use this.href instead of $(this).attr('href')
 * - In MediaWikiTestCase::stashMwGlobals, prefer shallow copies
 * - Don't use deprecated User::checkPassword in TestUser
 * - Allow to chaining calls in setSubmitDestructive
 * - Increase BotPasswordSessionProvider's default priority
 * - Fix unstyled updatedmarker
 * - Convert Special:WithoutInterwiki to OOUI
 * - Add actual documentation for ContentHandler::getActionOverrides
 * - Title->getContentModel: Get new content model with GAID_FOR_UPDATE
 * - Use WIS::getNotificationTimestampsBatch in ApiSetNotifTimestamp
 * - Add ApiSetNotificationTimestampIntegrationTest
 * - Factor InterwikiLookup out of Interwiki class.
 * - MWDebugTest: disable MWDebug on test teardown
 * - add setNotificationTimestampsForUser to WatchedItemStore
 * - Improve diff docs
 * - Merge Wikidiff3 into DiffEngine
 * - Remove unused stuff from diffs
 * - Refactor diffs
 * - LinkerTest: Fix passing test description to $this->assertEquals
 * - Remove "Not logged in" from the personal URLs array
 * - Improve edit stash hit rate for logged-out users
 * - Make an empty "?action=" parameter default to "view"
 * - Language: Introduce new method equals( Language $lang )
 * - Improve some documentation of AuthManager's additions
 * - Disable Cucumber scenarios that are broken in daily Jenkins jobs
 * - Speed up password-handling in the unit tests
 * - API: Avoid duplicate IDs in API documentation
 * - Highlight new requirement

Vendor

 * - Rebuild with composer 1.0.0 for PHP >=5.6 users

AntiSpoof

 * - Remove 'load_composer_autoloader' from extension.json

Babel

 * - Add UnitTestsList hook to extension.json

CentralAuth

 * - Add config and messages for filtering globalauth and suppression logs by action
 * - Add phplint to composer
 * - Fix central logout

Cite

 * - Bump package versions
 * - Fix documentation
 * - Update stylelint config version and make a pass
 * - Add stylelint and make required style fixes

Citoid

 * - Update stylelint and stylelint-config version
 * - Move convertible href calculation to a static function
 * - Fix IE9 cross domain request
 * - build: Introduce stylelint, replacing csslint
 * - Convert references in place

ConfirmEdit

 * - i18n: Avoid reference to visual positions
 * - Expose equivalent functionality for passCaptcha

ContactPage

 * - Replace passCaptcha with passCaptchaFromRequest

ContentTranslation

 * - Contributionsmenu campaign: avoid raw html message
 * - Remove dependency on jquery.uls.compact
 * - Show the newarticle CX campaign to VE users only in the main namespace

DisableAccount

 * - (Ab)Use User::newSystemUser to disable accounts

Disambiguator

 * - Add basic parser test for mw-disambig class functionality

DonationInterface

 * - Use PROTO_CURRENT for paypal urls
 * - Implement IsoDate
 * - Rough PayPal Express Checkout integration
 * - High priority + trivial: Fix Cencosud bank code
 * - Filter on selection_weight=0 earlier
 * - Adyen iframe CSS for RTL languages
 * - Configure Adyen for JP and UA
 * - Pull out some inline styles
 * - Localize donation amount
 * - Detect email typos, suggest correction
 * - More 'token' cleanup

Echo

 * - Include ApiEchoMarkReadTest in @Database group
 * - Remove overwritten $notifyTypes array
 * - Specify public access in Hooks methods
 * - Fix indenting in onResourceLoaderGetConfigVars hook method
 * - Build lego message for HTML email footer
 * - Refactoring Echo's front end for MVC
 * - Expand URLs of icon and actions in HTML email formatter
 * - Get rid of email bundling
 * - HTML email footer shows raw HTML
 * - Bring back messages used by old email formatter system

EducationProgram

 * - Defer DB update in showEnrollmentView

EventBus

 * - Replace wfUrlEncode with rawurlencode
 * - Use getPrefixedURL and getPrefixedDBkey instead of getText
 * - Do not include the null block reason

Flow

 * - Don't assume workflows/revisions are inserted in chronological order
 * - Fix styling of VisualEditor's debugbar
 * - Bump package versions
 * - Use VisualEditorSupportCheck
 * - Add VE module check to #isSupported
 * - NewTopicWidget: Show page title with spaces, not underscores.
 * - Use ArticleRevisionUndeleted instead of ArticleUndelete
 * - More reliable post sorting
 * - Fix class name in PHPDoc
 * - Special:EnableFlow: Support subpage to pre-fill page name
 * - Change 'link' -> 'link/mwExternal' to re-allow external link pasting
 * - Replace symbolic link with partial
 * - Correctly moderate post on no JS path, not topic
 * - Load Vector/Monobook editor styles for both editors, not just VE
 * - Move apihelp to a separate file
 * - Actually use old revision on header diffs, if specified
 * - Disable Cucumber features that are broken in daily Jenkins jobs
 * - Don't serve JS except on 'view' or 'history'

GeoData

 * - Don't index non-Earth coordinates

GlobalCssJs

 * - User CentralIdLookup instead of LoadGlobalCssJs hook

Graph

 * - Bump stylelint version and remove grunt-cli
 * - Update stylelint config version and make a pass
 * - Introduce stylelint
 * - Update packages, fix new linting errors
 * - Move jQuery.splitter files into lib folder

Kartographer

 * - Update stylelint and stylelint-config version
 * - Move min-width to responsive
 * - Fix preview failure because of missing map data.
 * - Don't request data for missing groups
 * - Allow selectively disabling tags
 * - Introduce stylelint
 * - Make map optionally responsive using only CSS

LiquidThreads

 * - Avoid master connection in recacheMessageCount

Math

 * - Remove duplicate keys from log message
 * - Follow-up 3f456b1: Fix typo in function call
 * - Remove grunt-cli
 * - Update stylelint config version
 * - Remove woff fonts
 * - Fix watch path for css
 * - build: Introduce stylelint to lint for css errors

MobileFrontend

 * - Revert "Disable MobileFrontendHooksTest::testOnBeforePageDisplay"
 * - Use 1 XPath query rather than N+1 queries
 * - Stylelint: Add no duplicate selectors rule
 * - Stylelint: Add remaining media and @rule whitespace rules
 * - Stylelint: Add selector whitespace rules
 * - Stylelint: Add block whitespace and semicolon rules
 * - Stylelint: Add duplicate properties rules
 * - Stylelint: Property and value whitespace rules
 * - Show Special:Nearby error messages correctly
 * - Avoid fatals in reference edge cases
 * - Stylelint: Add function rules and whitespace inside brackets
 * - Stylelint: Add newline and indent rules
 * - Stylelint: Add string and font rules
 * - Hygiene: Introduce stylelint for coding convention alignment
 * - Hygiene: Sort npm dependencies and bump grunt-cli to latest
 * - Disable MobileFrontendHooksTest::testOnBeforePageDisplay
 * - Use WordAccumulator
 * - Adjust to Echo's MVC change
 * - Beta: enhanced search bar for non-JS users
 * - Don't load initialision edit or watch code on special pages

OATHAuth

 * - Add URL encoding to TOTP QR code URL

Popups

 * - Unswap langcode and langdir variables in popup.mustache
 * - Conditionally enable Popups
 * - Convert isUserInCondition from async to sync
 * - Handle user explicitly enabling/disabling feature
 * - Revert "Add properties that will be logged with each EL request"
 * - Add ext.popups.experiment module
 * - Make SVG thumbnails show for Internet Explorer
 * - Add properties that will be logged with each EL request
 * - Do not directly manipulate the cached object

Renameuser

 * - Load User with READ_LATEST before invalidating sessions

Score

 * - Update stylelint and stylelint-config version
 * - Introduce stylelint

Scribunto

 * - SECURITY: Don't escape strip markers when escaping attributes in mw.html
 * - Fix uncontroversial phpcs errors
 * - Add mediawiki/mediawiki-codesniffer

SemanticForms

 * - manage error message in upload window when file is too large

SpamBlacklist

 * - Clear the queue when logging is done
 * - Making logging code less fragile and using better function name

SyntaxHighlight_GeSHi

 * - Update stylelint and stylelint-config version
 * - SECURITY: Replace strip markers before syntax highlighting
 * - Fix watch path for css
 * - Introduce stylelint

TemplateData

 * - Update stylelint-config version
 * - build: Replace csslint with stylelint and bump others

Thanks

 * - Update test for API change in PS10 of I17ef1f5197
 * - Update tests for I17ef1f519

TimedMediaHandler

 * - Apply ext.tmh.player.styles w/ videojs styles on mobile
 * - Update ogv.js to 1.1.1 release
 * - Allow transform callers to add a classname
 * - Fix the disablecontrols option for videojs

Translate

 * - Messages shown after "Import" and "Save" at Special:PageMigration
 * - Do not suggest ruflin/elastica in composer.json
 * - ElasticSearchTTMServer: Rewrite deleteByQuery
 * - Use TitleIsAlwaysKnown hook instead of LinkBegin
 * - Remove prefixed box-shadow rules
 * - Use .background-image-svg mixin in message table
 * - Use less for messagetable styles
 * - Remove unused ext.translate.messagetable from Special:LanguageStats
 * - Remove usage of ext.uls.button from TUX message table
 * - Special:ManageTranslatorSandbox: use mediawiki.ui.button over ext.uls.button
 * - Add translate styles via addModuleStyles
 * - Simplify TUX message loader

TranslationNotifications

 * - SpecialNotifyTranslators: Do batch query when retrieving ids for translatable pages
 * - Special:NotifyTranslators: Change TranslatablePage input name to 'tpage'
 * - Convert SpecialNotifyTranslators to FormSpecialPage

UniversalLanguageSelector

 * - Remove ext.uls.buttons
 * - Regenerate font test page.
 * - Drop svg from supported webfont formats
 * - Drop eot from supported webfont formats
 * - Remove extra empty lines
 * - Increase the number of stored previously selected languages to 9
 * - Make previous languages have most recent in the beginning
 * - Use FormatJson in font repo generator script
 * - FontRepoCompiler now adds hash suffix to font paths
 * - Add some global fallbacks to compact language links
 * - Add tooltip to the "more languages" action to provide better context
 * - Add vendor to ignore for linters
 * - Update jquery.uls and adapt styling
 * - Update jquery.ime to d563f903c9e
 * - Compact language links: Delay loading of jquery.uls module
 * - Avoid references to jquery.uls RL module from ext.uls.init

UploadWizard

 * - tests: fix PIL requirement definition
 * - Bump delays in uw.ConcurrentQueue's "Adding a new item when almost done" test

VisualEditor

 * - Track ETag header responses in special event logging schema
 * - Use insertContent with templates when range is collapsed
 * - Remove grunt-cli
 * - Remove Wikipedia logo from welcome dialog image
 * - Update VE core submodule to master (a8d9a9e)
 * - Fix watch path for css
 * - Workaround for T135127: Generate replace transactions in MWTransclusionModel
 * - Don't show tab preference dialog again if it's already been shown
 * - build: Bump grunt-stylelint to v0.3.0
 * - Remove .csslintrc
 * - Debug log strange-looking ETags being sent to RB
 * - Update VE core submodule to master (eeaf1e2)

WikiEditor

 * - Allow the signature wikitext to be overridden locally

WikimediaEvents

 * - Turn off textcat subtest of search satisfaction
 * - Add debug schema for a VE issue
 * - Update AuthManagerStatsdHandler

WikimediaMessages

 * - Add i18n messages for new Support and Safety group

wikihiero

 * - Introduce stylelint and make a pass
 * - Sort and update packages

MonoBook

 * - Fix order of univ lang selector and "not logged in" message
 * - Show "Not logged in" message

Vector

 * - Fix order of univ lang selector and "not logged in" message
 * - Show "Not logged in" message