MediaWiki 1.27/wmf.23/Changelog

Core changes

 * - use slave for row estimate in updateCollation.php
 * - Make updateCollation wait for slaves every 500 (instead of 2000)
 * - Use STRAIGHT_JOIN on updateCollation.php per jcrespo
 * - RedisBagOStuff: Fix unserialization of negative numbers
 * - Update Echo to 1.28.0-wmf.1 in the 1.27.0-wmf.23 branch
 * - Support hash fragments in wfAppendQuery
 * - Update VE-MW submodule to wmf/1.27.0-wmf.23 HEAD (03d066f)
 * - Bump PRESUME_FRESH_TTL_SEC to improve hit rate and avoid link queries
 * - Make stashEditFromPreview call setCacheTime
 * - Update VE-MW submodule to wmf/1.27.0-wmf.23 HEAD (734c136)
 * - Fix HTMLFormField calling Message::setContext with null
 * - Fix Undefined variable: namespaces in includes/search/SearchEngineConfig.php on line 109
 * - Update Wikidata to wmf/1.27.0-wmf.23
 * - Clean up PoolWorkArticleView type hints and fix IDEA errors
 * - ParserCache: Don't try to save to nothing if disabled
 * - Document mInterwikis in LinksUpdate
 * - Quote column name aliases
 * - Quick-fail refreshLinksJob if the triggering revision isn't the latest
 * - Unify HTMLForm message handling
 * - Make refreshLinksJob explicitly check the cache rev ID
 * - Allow specifying targets for ResourceLoaderWikiModule
 * - Update Microsoft SQL Server schema
 * - jquery.makeCollapsible: Simplify code
 * - EditPage: Style anonymous editor preview warning as a warning box
 * - Removing unicode-bidi: -webkit-isolate
 * - Give redirects a sort index in title widget
 * - Fix and standardize Doxygen tags
 * - Avoid lock error exceptions during upgradeRow contention
 * - Add class to div wrapper around category lists
 * - PrefixSearchTest, SearchEnginePrefixTest: ignore ext. special pages
 * - Log when resyncFiles fails in FileBackendMultiWrite
 * - oojs/oojs-ui: Swap to using Phabricator for the links to release notes
 * - Remove vague GPL headers from browser tests with dead links
 * - Set explicit direction to ApiHelp headers with module names
 * - Assert jobs called from WIS::resetNotificationTimestamp are correct
 * - Fix timestamp check in ApiStashEdit::checkCache
 * - Remove unused imports from MediaWikiServices
 * - Avoid DBPerformance log warnings in saveNamespaces
 * - Avoid master queries in getAutoDeleteReason
 * - Use typehinted methods for search stuff in ServiceWiring
 * - Enable 4:2:0 chroma subsampling for JPEG thumbnails
 * - LinkCache: Clarify in doc comments what format $title is
 * - Add 'api-error-ratelimited' message for UploadWizard
 * - LinkCache: Remove unncessary & from singleton function
 * - Title: Update conversion functions for LinkTarget interwiki support
 * - Style warnings from live preview on Special:Upload
 * - Enforce calling HTMLForm::prepareForm before displayForm
 * - Move wgContLang from config to injectable
 * - Add a type hint to RevDelList::setVisibility
 * - Add getSkinFactory to MediaWikiServices
 * - Add missing imports to MediaWikiServices
 * - Add interwiki support to LinkTarget and TitleValue
 * - Optimize consistencyCheck in FileBackendMultiwrite
 * - Allow for logging cases when parser cache is rejected
 * - Update OOjs UI to v0.17.0
 * - LinkCache: Make clearBadLink only clear that link
 * - Fix fatal on Special:Search
 * - Make wikidiff3 the only diff engine
 * - Have Linker::normaliseSpecialPage accept LinkTarget objects
 * - Add -f as an alias of --force to cli args of updateCollation.php
 * - Add missing include in MediaWikiServices
 * - In ParserCache, respect $useOutdated
 * - Handle null data return in HTMLForm
 * - Convert SearchEngine to service containers
 * - registration: Improve schema validation for some properties
 * - i18n: Provide new "publish" strings for extra translator time
 * - Pass through errors creating the main page to the installer.
 * - Introduce InterwikiTest
 * - Remove un-needed cast for array key in WatchedItemStore

AbuseFilter

 * - Avoid master queries on page views in loadFilterData
 * - Optimize 'rcount' function

BetaFeatures

 * - UpdateBetaFeatureUserCountsJob: Actually return true at the end
 * - Fix failing BetaFeatures unit tests by using prepareForm

CentralAuth

 * - Use master CentralAuthUser instances when writing
 * - Set doesWrites for special pages as needed
 * - Avoid master queries on page view in lazyImportLocalNames
 * - Fix suggestLoginUsername

CheckUser

 * - Fix CheckUserHooks IDEA errors and long lines

CirrusSearch

 * - Don't auto-create frozen index
 * - Revert "Backend support for test swapping second and third result"

Cite

 * - ve.dm.MWReferenceNode: Override static cloneElement instead of getter
 * - Add lang and dir attributes to cite errors

Collection

 * - Set doesWrites for SpecialCollection

ContentTranslation

 * - MT: Use custom labels instead of provider id

DonationInterface

 * - Initial reorganization of js for new forms
 * - Fix spurious and non-specific fiscal number error
 * - Localize subdivisions
 * - Allow single-parameter WmfFramework::messageExists
 * - Encapsulate validation along with transformations
 * - Replace misleading fiscal number abbr
 * - Change message key of Canada province prompt

Echo

 * - Don't cache pages with outdated global notification counts
 * - Don't apply margin to dotdotdot menu items
 * - Avoid invalid API response when server-side cross-wiki requests fail
 * - Fetch foreign notifications before marking them as read
 * - Use global user ID in global cache keys
 * - Follow-up 73ec3a331: fix fatal when no cross-wiki results are found
 * - Use server-side cross-wiki requests in the frontend
 * - Add plain text email formatter
 * - Use MultiHttpClient for server-side cross-wiki requests
 * - Server-side crosswiki requests
 * - Replace mark-as-read-on-click with ?markasread= URL parameter
 * - NotifUser: Reduce queries in resetNotificationCount by hackily computing some values from others
 * - NotifUser: Refactor getNotificationCount and friends, add caching for global counts
 * - Clarify beta feature description
 * - FooterNoticeWidget: Top-align the close icon
 * - Enable emailuser notifications by default
 * - Have getTimestamp actually return max for all sections.
 * - Move section methods into a trait
 * - Display special: Add which section (curr. Alert v. Msg.) each type's in
 * - ForeignNotifications: Fix fatal when one section has no timestamp
 * - Follow-up 1608a5e6fc: add hasOwnProperty check
 * - ForeignNotifications: Move preference check out of constructor and allow force-enable
 * - ForeignNotifications: Use ALL instead of null as defaults for $section params
 * - Repurpose survey call-out in the footer for beta feature invitation
 * - Make EchoForeignNotifications::getApiEndpoints static
 * - Follow-up b10bd7003: allow object instead of array for b/c with wikis running old code
 * - Follow-up 57ee9759: add notnoforn=1 for b/c with wikis running old code
 * - Remove forced -p (progress) flag from phpcs.xml
 * - Do not run broken Selenium test in CI

Flow

 * - Rename MentionPresentationModel::getType to avoid conflict with I4eceaf521315
 * - Fix topic creation on mobile
 * - Do not run failing Cucumber scenarios daily
 * - Browser tests: Wait for TextField to be enabled
 * - Fix deepest common root when first path is longer and later is a prefix

GlobalBlocking

 * - Add script to fix broken global block whitelist entries

Graph

 * - Match modern module loading in core

Kartographer

 * - Keep a reference of leaflet layer objects created
 * - Add the ability to customize maps with Kartogrpher.{js|css}
 * - Update scalable object when setting dimensions
 * - Setup and teardown events
 * - Fix position of map on first opening
 * - Add authors file, list major and minor contributors
 * - Fix support for inline map nodes (maplink)

Math

 * - Use the cached version of checkTex to improve performance

MobileFrontend

 * - Allow optin to lazy loaded references via cookie

OpenStackManager

 * - Show individual usernames in project membership addition success/failure messages

PageTriage

 * - Fixing 'mark reviewed' icons

Popups

 * - Add QUnit test for `ext.popups.settings`
 * - QA: add a browser test to cover "enable previews" feature
 * - Add test to cover mw.popups.setupTriggers

ProofreadPage

 * - Localize namespaces Page and Index in Galician
 * - [BREAKING] Allow HTML in DiffFormatterUtils::createHeader

SemanticForms

 * - Fixed cascading of "show on select", so chained divs get shown/hidden
 * - Removed "form picker" interface for red-linked category pages
 * - Add a 'returnto' parameter

SpamBlacklist

 * - Switching to properly spelled schema to avoid confusion

Translate

 * - Migrate TranslateRcFilter::translationFilter to ChangesListSpecialPageQuery hook
 * - Avoid large slave lag in refresh-translatable-pages
 * - Fix remaining master queries on page views

UniversalLanguageSelector

 * - Update jquery.i18n to 8267e1dbef
 * - Compact links: Simply use the widget pattern instead of plugin
 * - Update jquery.uls from upstream to 19e67015
 * - Add width and height attributes to svg for correct rendering in IE 10
 * - Ensure ext.uls.mediawiki is loaded before use
 * - Simplify code by using Object.keys

UploadWizard

 * - Handle errors caused by upload rate limiting
 * - Add missing dependencies on 'uw.EventFlowLogger'
 * - SpecialUploadWizard: Simplify permissions checks

VisualEditor

 * - Fix deactivating VE after user explicitly decideas to discard changes
 * - Remove redundant about attribute stripping code
 * - Update VE-core sub-module to 1.27.0-wmf.23 HEAD
 * - Wikitext paste: Discard autoGenerated items after conversion
 * - Add a hidden link with accesskey=v in SET prefer-wt mode and remember-last wikitext
 * - Update VE core submodule to master (c63e17d)
 * - Add colon to 'Editing mode' label for consistency
 * - Update VE core submodule to master (39d281e)
 * - Fix link blacklisting