MediaWiki 1.28/wmf.1/Changelog

Core changes

 * - Update VisualEditor for Ie127cfbd515cd217abd272cb7a81566b91e13f4d
 * - Improve edit stash hit rate for logged-out users
 * - Make "presumed-fresh" edit stash case cover when users make intervening edits
 * - Follow-up 6ce974f: also update the hook call in ApiMain
 * - use slave for row estimate in updateCollation.php
 * - Use STRAIGHT_JOIN on updateCollation.php per jcrespo
 * - Make updateCollation wait for slaves every 500 (instead of 2000)
 * - RedisBagOStuff: Fix unserialization of negative numbers
 * - Update VE-MW submodule to wmf/1.28.0-wmf.1 HEAD (e16be2a)
 * - Add Czech aliases to most special pages
 * - Remove a wfDebug from File::transform
 * - Remove wfDebug from getInterwikiCacheEntry
 * - Remove wfDebug from Revision::loadText
 * - Avoid master queries on GET in ProtectionForm
 * - Include type in hashKeyIntoSlots
 * - Add tests for ApiQueryWatchlist
 * - Convert Special:Activeusers to use OOUI
 * - Convert Special:MIMESearch to use OOUI.
 * - Use better styles for fake button in installer
 * - Special:Lockdb return error when database is locked.
 * - Convert Special:BookSources to use OOUI
 * - SpecialLockdb and SpecialUnlockdb don't do database writes
 * - Add @since tags to MediaWikiServices
 * - Stop using depreacted base_convert
 * - Make stashEditFromPreview call setCacheTime
 * - Update mediawiki/mediawiki-codesniffer to 0.7.1
 * - Make recent changes update jobs use configurable $wgUpdateRowsPerQuery
 * - Bump PRESUME_FRESH_TTL_SEC to improve hit rate and avoid link queries
 * - Add TTL_PROC_* constants for clarity
 * - Stop supporting old versions of composer for ComposerPackageModifier
 * - MemcachedClient: Always return an array from get_multi, don't return false
 * - registration: Fix mode of files (755 -> 644)
 * - Add @since tags for TestUser::getUser/Password
 * - Add tests for MediawikiTestCase::setService stuff
 * - Changed translation of ChangePassword and PasswordReset
 * - Search: Change dataLocation default value and add docs
 * - Remove WatchedItemStore::getDefaultInstance
 * - Make WatchedItemStore use MediaWikiServices
 * - Fix deleting pages/files when using Microsoft SQL Server
 * - BlockLevelPass: minor changes due to initial code review
 * - Split out doBlockLevels into its own class
 * - Introduce mediawiki.router for handling hash fragment navigation
 * - Shorten some ridiculously long message names
 * - Run maintenance/generateLocalAutoload.php
 * - Warn on session access in profileinfo.php and opensearch_desc.php
 * - Release note for Id83eda95
 * - Don't stash on preview if $wgAjaxEditStash=false
 * - Add AMF and STL to mime.types
 * - Upgrade wikimedia/cdb to 1.4.0
 * - Upgrade wikimedia/ip-set to 1.1.0
 * - mw.ForeignStructuredUpload: Remove #getTemplateName
 * - Move master to 1.28.0-alpha
 * - Remove upgradeRow call from ?action=purge
 * - Add @since for Message::newFromSpecifier
 * - Allow reset of global services (redux).
 * - Use LoggerInterface::class in MediaWikiTestCaseTest
 * - If $line is empty in EnhancedChangesList, don't try to access parts of array
 * - Do not show useless form at Special:ChangeContentModel
 * - ApiOptions: set form field parent earlier
 * - Add missing 'public' keywords to some more Language methods
 * - Fix HTMLFormField calling Message::setContext with null
 * - Add a bunch of @since tags to Linker
 * - Add @since tag to SpecialPage::msg
 * - Print styles: Wrap CSS-generated URLs
 * - Print CSS: Avoid page breaks inside
 * - Update OOjs UI to v0.17.1
 * - Follow-up f9b4bbff: Fix typo'ed variable name
 * - registration: Allow string value for Hooks
 * - Convert Special:Lockdb and Special:Unlockdb to OOUI
 * - Fix Undefined variable: namespaces in includes/search/SearchEngineConfig.php on line 109
 * - Upgrade mismatched begin warnings to exceptions
 * - Check if user is blocked during upload process
 * - Clean up PoolWorkArticleView type hints and fix IDEA errors
 * - Tweak RefreshLinksJob cache logic
 * - Support hash fragments in wfAppendQuery
 * - ParserCache: Don't try to save to nothing if disabled
 * - Document mInterwikis in LinksUpdate
 * - Fix HTMLForm noData logic in trySubmit
 * - Correct error message for missing permission to get patrol information
 * - 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
 * - mediawiki.api: Make the result promise of #postWithToken abortable
 * - 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
 * - Fix executeTiming statsd metrics
 * - Avoid lock error exceptions during upgradeRow contention
 * - Add class to div wrapper around category lists
 * - PrefixSearchTest, SearchEnginePrefixTest: ignore ext. special pages
 * - Point skins/extension READMEs to Phabricator
 * - Log when resyncFiles fails in FileBackendMultiWrite
 * - Avoid spamming the duplicate key fetch log in BagOStuff::merge
 * - Make sure OtherBlockLogLink's second parameter is a string
 * - oojs/oojs-ui: Swap to using Phabricator for the links to release notes
 * - Remove vague GPL headers from browser tests with dead links
 * - SessionManager: Add provision for encrypting session data
 * - 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
 * - Do not let DataUpdate exceptions block other deferred updates
 * - 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 DELETE_SOURCE flag from FileRepo store/storeBatch
 * - Override momentjs's digit transform logic with MW's
 * - Enforce load.php's no-session constraint
 * - Rephrase tog-norollbackdiff
 * - Chinese Conversion Table Update 2016-2
 * - Remove un-needed cast for array key in WatchedItemStore

Vendor

 * - Bump wikimedia/cdb to 1.4.0
 * - Bump wikimedia/ip-set to 1.1.0
 * - Update OOjs UI to v0.17.1
 * - Add justinrainbow/json-schema

AbuseFilter

 * - Avoid duplicate autopromote block key fetches
 * - Avoid master queries on page views in loadFilterData
 * - Optimize 'rcount' function

ActiveAbstract

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Babel

 * - Update mediawiki-codesniffer to 0.7.1

BetaFeatures

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

CentralAuth

 * - More places that need a master CentralAuthUser
 * - SpecialGlobalRenameProgress: call prepareForm before displayForm
 * - Use master CentralAuthUser instances when writing
 * - Set doesWrites for special pages as needed
 * - Avoid master queries on page view in lazyImportLocalNames
 * - Fix suggestLoginUsername

CheckUser

 * - Re-order cuc_log entry insertion with regards to the IP query
 * - Apply RenameUser updates to cu_changes via the job queue
 * - Fix CheckUserHooks IDEA errors and long lines
 * - Avoid read-only exceptions in updateCUEmailData

CirrusSearch

 * - Adjust textcat data collection for AB test
 * - Allowing triggering user tests from query parameter
 * - configureHightingForSource expects an options field
 * - Don't auto-create frozen index
 * - Revert "Backend support for test swapping second and third result"

Cite

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
 * - Move check for non-existing reference count higher up
 * - ve.dm.MWReferenceNode: Override static cloneElement instead of getter
 * - Add lang and dir attributes to cite errors

CiteThisPage

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Collection

 * - Set doesWrites for SpecialCollection

ConfirmEdit

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

ContentTranslation

 * - MT: Use custom labels instead of provider id
 * - Updates for mediawiki-codesniffer
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

DonationInterface

 * - Better validation for donation.api
 * - Generalized client-side val: don't break if empty
 * - Fix CO fiscal number validation rules (again)
 * - Generalized client-side validation
 * - Rename 'getStompMessageFields'
 * - Restore check_not_empty
 * - Helper function to unstage the keys of an array
 * - Defaults and comments
 * - Support query_string response parsing
 * - Align amount and currency inputs
 * - Guard against undefined variable and index errors
 * - Get adapter class in a more adaptable way
 * - Persist state/province selection, localize prompt
 * - DRY donation form title
 * - 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

 * - Bring back messages used by old email formatter system
 * - Attempt to fix unsubstituted message in Echo emails
 * - Don't reuse CentralAuth tokens for multiple requests
 * - Log warning on failure to fetch foreign notifications
 * - Bump cache version for cache pollution (cross-wiki on non-SUL wikis)
 * - Add $wgEchoCrossWikiNotifications flag to disable cross-wiki notifications
 * - Handle empty foreign notification sources
 * - Protect against some errors that apparently happen in production
 * - 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

EventBus

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

FlaggedRevs

 * - Avoid RC contention in autoMarkPatrolled in jobs

Flow

 * - Go to first unread post if no post specified
 * - Skip Summarize feature when running Selenium tests daily
 * - Cleanup Cucumber tags
 * - Revert "Make InvalidInputException loggable"
 * - Add to topic-renamed message
 * - Rename MentionPresentationModel::getType to avoid conflict with I4eceaf521315
 * - Stop using deprecated WatchedItem methods
 * - Add Topic alias (Sak) for Norwegian Bokmål
 * - 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
 * - Browser tests: fix user agent for no-js

GWToolset

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Gather

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

GlobalBlocking

 * - Add script to fix broken global block whitelist entries

GlobalCssJs

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Graph

 * - Updated upstream dependencies
 * - always use vega2 by default
 * - Fix reflow with interactive graphs

Interwiki

 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1

JsonConfig

 * - Fixed JCSingleton::getContent documentation

Kartographer

 * - Missing dependency on debounce module
 * - Add kartographer.css/.js to i18n file
 * - 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)

LiquidThreads

 * - Defer DB writes in SpecialNewMessages
 * - Remove impossible query condition

MassMessage

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Math

 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1
 * - Use the cached version of checkTex to improve performance

MobileFrontend

 * - Add categories on a new line
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
 * - Add $wgMFStripResponsiveImages setting, defaulting on
 * - Don't show edit link if editing is not supported for content handler
 * - Add lazy loading images test for main page
 * - Revert "Include cross-wiki notifications in serverside-rendered badge"
 * - Primary navigation design fixes
 * - Menu icons should be using ResourceLoaderImage module
 * - Migration of browsertests* Jenkins jobs to selenium* jobs
 * - Show the edit icon for all sections when non-JS editing is enabled
 * - Allow optin to lazy loaded references via cookie
 * - VE: Fix toolbar border styles

MoodBar

 * - Revert zopflipng for type-sad-dull.png

MultimediaViewer

 * - Do not run unstable tests daily
 * - Add varnish4* EL fields to MultimediaViewerNetworkPerformance

NavigationTiming

 * - Expand coverage of conformance test
 * - Use config variable rather than cookie

Nuke

 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1

OpenStackManager

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

PageTriage

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
 * - Remove use of deprecated TestUser properties
 * - Move phpcs script into phpcs.xml
 * - 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

 * - PHPCS: reenable Generic.Arrays.DisallowLongArraySyntax and make pass
 * - PHPCS: reenable some Generic rules and make pass
 * - PHPCS: reenable Generic.ControlStructures and make pass
 * - PHPCS: reenable minor space-related rules and make pass
 * - PHPCS: reenable PSR2.Methods.MethodDeclaration and make pass
 * - PHPCS: reenable Generic.Files.EndFileNewline.NotFound and make pass
 * - PHPCS: reenable Generic.WhiteSpace.DisallowSpaceIndent and make pass
 * - PHPCS: reenable MediaWiki.WhiteSpace.SpaceyParenthesis rules and make pass
 * - PHPCS: reenable MediaWiki.WhiteSpace.SpaceAfterControlStructure and make pass
 * - PHPCS: reenable some Squiz.WhiteSpace rules and make pass
 * - Add mediawiki/mediawiki-codesniffer
 * - Standardize Doxygen @param tags
 * - Localize namespaces Page and Index in Galician
 * - [BREAKING] Allow HTML in DiffFormatterUtils::createHeader

QuickSurveys

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

RelatedArticles

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Renameuser

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
 * - Use the job queue if the user ID is zero

SandboxLink

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Scribunto

 * - Localisation in Breton language

SemanticForms

 * - Improved retrieval of possible values for spreadsheet display
 * - Version 3.6
 * - Some better text
 * - 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

TemplateData

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

Thanks

 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1
 * - Make revisions in setUp for ApiRevThankIntTest
 * - Rename ApiRevThankTest to reflect file name

TimedMediaHandler

 * - Fix sizing of audio player and fully hide native controls
 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1
 * - Update videojs to 5.10.1
 * - php sniffer config excluded one file incorrectly
 * - Update mediawiki/mediawiki-codesniffer to 0.7.1
 * - Avoid some code duplication
 * - Removed commented code
 * - Remove use of deprecated TestUser properties

Translate

 * - On documentation unit deletion, don't attempt to re-render translation page
 * - Special:PageTranslation: Slightly improve performance of listPages
 * - Move TranslationsUpdateJob to page translation
 * - Update translation pages upon deleting translation unit
 * - Use data from master when recalculating statistics after a translation update
 * - Migrate TranslateRcFilter::translationFilter to ChangesListSpecialPageQuery hook
 * - Avoid large slave lag in refresh-translatable-pages
 * - Fix remaining master queries on page views

TranslationNotifications

 * - Update mediawiki-codesniffer to 0.7.1

UniversalLanguageSelector

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
 * - Fix fail in 1bc3f3b
 * - Compact links: Avoid duplicate call of filterByCommonLanguages
 * - Introduce a config variable to enable Compact language links by default
 * - Update upstream update scripts
 * - Update jquery.uls to 5ceba61
 * - 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
 * - Remove wgULSCompactLinks configuration variable
 * - Ensure ext.uls.mediawiki is loaded before use
 * - Simplify code by using Object.keys

UploadWizard

 * - uw.controller.Details: Fix 'Uncaught TypeError: Cannot read property '$element' of undefined'
 * - uw.controller.Details: Fix 'Uncaught TypeError: this.copyMetadataWidget.remove is not a function'
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1
 * - uw.LocationDetailsWidget: Test for numeric input in location fields
 * - uw.LocationDetailsWidget: Stop abusing TextInputWidget labels
 * - Add i18n keys for blocked messages
 * - Always use Chunked Upload rather than allow users to opt in
 * - Handle errors caused by upload rate limiting
 * - Implement ability to undo copying metadata
 * - Split metadata copying from mw.UploadWizardDetails
 * - mw.UploadWizardDetails: Expand collapsed sections if the fields within were changed
 * - Add missing dependencies on 'uw.EventFlowLogger'
 * - SpecialUploadWizard: Simplify permissions checks

UploadsLink

 * - Improved the phrasing of the extension description
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

UserMerge

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

VisualEditor

 * - Debug log strange-looking ETags being sent to RB
 * - Fix deactivating VE after user explicitly decideas to discard changes
 * - Attach template form after building
 * - Update VE core submodule to master (f335fdf)
 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1
 * - Update VE core submodule to master (9038eb6)
 * - [DEPRECATING CHANGE] Use canonical namespace names for enabling VE
 * - Remove redundant about attribute stripping code
 * - Update VE core submodule to master (25be8d5)
 * - Add regex for detecting labelled external links in pasted wikitext
 * - Wikitext paste: Discard autoGenerated items after conversion
 * - Update VE core submodule to master (4b58bf5)
 * - 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

WikiEditor

 * - Update mediawiki/mediawiki-codesniffer to 0.7.1

WikiLove

 * - Convert WikiLoveLocal to plain ResourceLoaderWikiModule

WikidataPageBanner

 * - build: Updating mediawiki/mediawiki-codesniffer to 0.7.1

WikimediaEvents

 * - Add textcat subtest
 * - Fix wrong variable used when triggering resends of unload events
 * - Fix case of wfWikiID

WikimediaMaintenance

 * - Script for generating a list of human-readable project names

WikimediaMessages

 * - Re-add interwiki search result messages
 * - Add jamwiki messages

Vector

 * - composer.json mediawiki/mediawiki-codesniffer to 0.7.1