MediaWiki 1.27/wmf.18/Changelog

Core changes

 * - ApiUpload: Add debug logging for T130563
 * - Lower pcTTL in checkRedirect to 30
 * - Request-local caching of image_redirect
 * - Provide a unique request identifier
 * - Update VE-MW submodule to wmf/1.27.0-wmf.18 HEAD (9669db0)
 * - Request-local caching of DjVu dimensions
 * - Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist
 * - Request-local caching of revision text
 * - Revert "Add link to anon's user page; remove "Not logged in""
 * - [1.27.0-wmf.15] MF cache pollution debug log
 * - Names.php: Use ʻ instead of ` as ʻokina in Hawaiian
 * - mw.widgets.CategoryCapsuleItemWidget: Pass the right 'this'
 * - Use WatchedItemStore in ApiQueryInfo::getWatchedInfo
 * - Update phpunit to 4.8.24
 * - UploadBase: Set mFileSize, if given, even if mTempPath is unknown
 * - build: Bump npm development dependencies to latest
 * - ListFiles: Call Skin::setRelevantUser when applicable
 * - Call Skin::setRelevantUser on Special:EmailUser
 * - Many more function case mismatches
 * - MediaWikiTestCase::assertException was removed
 * - Update grunt-karma to 0.12.2
 * - Message: Use RequestContext instead of $wgLang
 * - Fix numerous class/function casing
 * - API: Allow fetching login token from action=query&meta=tokens on private wikis
 * - Remove $wgAllowMicroDataAttributes and $wgAllowRdfaAttributes
 * - ApiQueryStashImageInfo: Don't throw exceptions when the user is not logged in
 * - Actually make $wgNoReplyAddress default to $wgPasswordSender
 * - Use imported namespaces, don't fully qualify
 * - build: Remove redundant jscs rule 'disallowQuotedKeysInObjects'
 * - Make spreadAnyEditBlock calls respect read-only mode
 * - Change "COMMIT ENQUEUED" warnings to level INFO
 * - SpecialUploadStash: Convert form to OOUI
 * - Rename ApiRequest to ApiAction
 * - SpecialUploadStash: Disable output gzipping when outputting remove scaled thumb
 * - Cast API timeSpentBackend to an int
 * - skins: Minor doc and code clean up in getCategories
 * - Mention that 'APIEditBeforeSave' is also being run on undo
 * - Add WatchedItemStore::countVisitingWatchersMultiple
 * - Link to Special:WhatLinksHere in CatWatch bundeled summary
 * - Add --with-phpunitclass arg to phpunit.php
 * - Fix ApiQueryInfo response for prop=watchers
 * - mediawiki.api.parse: Restore support for stringified objects
 * - Action::factory: Don't crash on missing Action classes
 * - Support multiple extension-dir paths to be passed to mergeMessageFileList
 * - Update OOjs UI to v0.16.3
 * - Upgrade Sinon.JS to 1.17.3
 * - Improve translation for bs namespaces
 * - Drop deprecated $wgPreloadJavaScriptMwUtil
 * - Make Job::toString handle array parameters better
 * - Track the # of times remnant refreshLinks jobs divide
 * - Add RecursiveLinkPurge log for API requests
 * - Adding number of changes info for grouped category changes
 * - Add REL NOTES about watchlist wl_id field
 * - Use WatchedItemStore::removeWatch in SpecialEditWatchlist
 * - mediawiki.api.test: Refactor to embrace async
 * - Handle HTTPS when running jobs asynchronously
 * - Try to fix some other broken-looking legacy maintenance script options
 * - Register importImages options without arguments as actual maintenance script options so they are usable
 * - Log slow diffs
 * - Fix documentation lies about debug toolbar / cache interaction
 * - Add id field to watchlist db table

AbuseFilter

 * - Migrate (un)block logging to new system

CentralAuth

 * - Remove incorrect usage of centralauth-editset-nowikis
 * - Make authenticate respect read-only mode

CirrusSearch

 * - Fix broken updateSuggesterIndex
 * - Minor improvements to script to restart elasticsearch cluster

ContentTranslation

 * - Follow-up I1575901: Don't register a non-existant i18n key
 * - While deleting unpublished translation, delete the items from cx_corpora
 * - Fix JS error in MT tool: MTControlCard.providers undefined
 * - Reduce duplicate key errors on inserts
 * - Trend API: Make sure to return data for current week even with zero translations
 * - Reduce the frequency of AbuseFilter Validations
 * - Fix: cxpublish API returns unrecognized parameters warning

DonationInterface

 * - Get a better logger without adapter instance
 * - Temporary measure: placeholder fiscal number for MX
 * - Fiscal numbers are not just for BR
 * - move paypal payment methods
 * - move amazon payment methods
 * - move adyen payment methods to config
 * - pull payment methods out of adapters into yaml config
 * - Encapsulate Ingenico staging functions
 * - Generalize data transformations
 * - Encapsulate AstroPay staging methods
 * - Clean up, add accessors
 * - Put all extra transaction keys in submethod meta
 * - Encapsulate staging functions
 * - More type hints in extras, no passing objects by ref
 * - Add getFreeFormStopTransaction to GatewayType interface
 * - Use GatewayType hints for everything in extras
 * - Call instance method 'cause we have an instance
 * - Use GatewayType hints in a few places, add functions
 * - Move profiling out of adapter class

Echo

 * - Change threshold for survey invitation from 2 unread notifs to 1
 * - Change parameters for user survey footer message
 * - Styling changes to the footer message
 * - Add footer notice widget for invitations for feedback
 * - Change bundle collapse label from "Collapse all" to "Collapse"
 * - Use strong and em instead of wiki markup bold and italics
 * - Sort wikis by timestamp of most recent notification
 * - Add i18n/en.json authors
 * - Make plural support for large values (100 or more) explicit in l10n
 * - Work around regression in OO.ui.FloatableElement
 * - Add MobileNotificationsWrapper for Mobile display
 * - Clicking a marked-as-unread notification should mark it as read
 * - Adjust line-height of bundle group titles
 * - Adjust bottom-alignment of action buttons in notifications
 * - Apply buttons styling to 'expand' bundle button
 * - MentionPresentationModel: use Title::equals
 * - Always show a cross-wiki notifications preference, even if the beta feature is disabled

Flow

 * - Remove nonexistent message from Resources.php
 * - Add namespace translation for Konkani (gom)
 * - Fix SQLite update issues because of duplicate indexes
 * - Corresponding changes for Echo 99+ refactoring
 * - Actions: Use invalid-action as intended, fix a doc block.
 * - Fix brokenness in FlowPresentationModel::isUserTalkPage
 * - Message tweak for flow-action-not-page
 * - Block undeleting an article over an existing Flow board
 * - Split SourceStore classes in separate files
 * - LQT import fixes

Gadgets

 * - Translate namespaces into Czech

Gather

 * - Unbreak Watchstar

Graph

 * - Follow-up ffdbfe34: Drop references to i18n keys that no longer exist

Interwiki

 * - Use mediawiki-codesniffer 0.6.0
 * - Replace deprecated method
 * - Fix name case mismatches
 * - Declare functions with access modifiers

Kartographer

 * - Fix
 * - Undisable test
 * - Don't export uneeded geometries into page
 * - Use marker styles
 * - Removed obsolete msgs

LiquidThreads

 * - LQT updates to composer.json

Math

 * - Use the mathoidStyle property instead of parsing the SVG

MobileApp

 * - Roll out RESTBase usage to Android production app: 25%
 * - Roll out RESTBase usage to Android production app: 2%

MobileFrontend

 * - Resolve $wgMFLazyLoadImages server-side and vary per-page
 * - Revert "Promote structured language overlay to stable"
 * - Restore `margin-top` to last modified bar
 * - Remove styleguide-related files
 * - Revert "Don't parse URL to manipulate query parameters"
 * - Update grunt-notify to 0.4.5
 * - Hygiene: Remove tags experiment leftover
 * - Specify Special:EditWatchlist in watchlist switching tests
 * - Promote structured language overlay to stable
 * - Show nested references inside the drawer
 * - Don't add two headers for talk section overlay
 * - Hygiene: Removal of FIXMEs - time is a great healer
 * - Don't parse URL to manipulate query parameters
 * - Beta: add an alternative language switcher button to the top of the page
 * - Remove source of a possible redirect loop
 * - Add Grade C browser support to lazy loaded images
 * - PHP is not JavaScript
 * - OOUIfying Echo in MobileFrontend
 * - Apply filterContentInSection to last section
 * - Compress all our SVGs using svgo
 * - Update watchstar icons
 * - Don't serve spinner in raw HTML
 * - Simplify search logic for performance benefit

OATHAuth

 * - Allow for using separate database for OATH creds
 * - Refactored special pages into HTMLForm and proxy
 * - Refactor extension key storage

OpenStackManager

 * - Wikitech: Remove address, domain, proxy special pages.

PageTriage

 * - Remove nonexistent messages from Resources.php

Scribunto

 * - Update LanguageLibraryTests per changes in core

SemanticForms

 * - Fixes for ec27acd
 * - Split off methods into two new classes, SFValuesUtils and SFHooks
 * - Fix for vi highlighting
 * - Rearranged some fields, methods in SFTemplateInForm
 * - Simplified setting of template field for form field
 * - Improved some comments
 * - Removed "input type" field from SFTemplateField class
 * - Removed unused method SFTemplateField::createFromList
 * - Fix for 8a9048b	- got popup forms working again
 * - Fix for inclusion of jsGrid CSS

TimedMediaHandler

 * - Use && instead of ,
 * - Fix exception on jquery ui slider update

Translate

 * - Avoid DBReadOnlyError in MessageGroupStats
 * - Combine nested ifs
 * - Update documentation
 * - Deprecate Solr translation memory
 * - Use ++ instead of += 1
 * - A default value is not needed in these scenarios
 * - Use https://www.mediawiki.org/ instead of //www.mediawiki.org/
 * - Wrap insertables inside textarea
 * - Fix case of a class
 * - Update Autosize to 3.0.15 from 1.17.2
 * - Add format=json to API request
 * - Remove null assignment for class properties
 * - Reduce master queries from selectRowsIdLang

UploadWizard

 * - Don't try to read a file to make thumbnails if there's none
 * - Consistently pass config in uw.controller.Step subclasses
 * - mw.UploadWizardUpload: Disentangle JPEG metadata from filling uploads
 * - uw.controller.Step: Emit 'load' earlier, so that mw.UploadWizard#removeErrorUploads works
 * - uw.controller.Upload: Only reset failed uploads when we really mean to retry them
 * - mw.UploadWizard: Remove unused method #removeEmptyUploads
 * - uw.controller.Upload: Remove unused 'prevent-close' event

UrlShortener

 * - dumpURLs: Improve error message if the file isn't writable

UserMerge

 * - Use mediawiki-codesniffer 0.6.0
 * - Strict compare
 * - Remove PHP4-isms in type casting

VisualEditor

 * - Update VE core submodule to wmf/1.27.0-wmf.18 HEAD (5834cfc)
 * - Update VE core submodule to master (d1ce123)
 * - Update VE core submodule to master (eb97c1f)
 * - build: Bump devDependencies to latest
 * - Update VE core submodule to master (794f30f)
 * - Detect the type of plain pasted links
 * - Link pasting: Match RDFa-less links as external
 * - Show redirect target inside target
 * - Update VE core submodule to master (8af3687)
 * - Use keyboard icon for keyboard help tool
 * - In the event of a document reload due to RB vs. API rev ID conflict, always re-set requestedRevId

WikidataPageBanner

 * - Optimise for automatic page images banners on mobile views

WikimediaEvents

 * - Revert "Run AB test with phrase boost of 1"

WikimediaMaintenance

 * - [wmf/1.27.0-wmf.18] Fix makeDumpList for WikimediaMaintenance removal

WikimediaMessages

 * - Rename "Wikisource" to "Multilingual Wikisource " in project names
 * - Bosnian grammar fix