MediaWiki 1.30/wmf.4/Changelog

Core changes

 * - Rename all files used in ResourceLoaderImageModule tests to fake names
 * - EditPage: Give edit summary field's 'tabindex' as a number
 * - Restore the ability to set $wgResourceModuleSkinStyles for 'oojs-ui-core.styles'
 * - phpcs: Allow linting tools to discover rules
 * - API: Rewrite ApiComparePages
 * - RCFilters: Set up custom color for yellow+blue combination
 * - RCFilters: Center the checkmark in the highlight menu
 * - Try harder to avoid parser cache pollution
 * - Resources.php: Alphabetical sort of mediawiki.special.*
 * - Add appropriate OOjs UI icon pack dependencies for OOjs UI itself
 * - mw.Upload.Dialog: Update for deprecation of OOjs UI openWindow/closeWindow promise
 * - Add tests for ParserOptions
 * - Enable $wgStructuredChangeFiltersEnableSaving by default
 * - Process content headers when metadata is empty
 * - mw.action.history.diff: Remove higher than necessary specific selectors
 * - Make sure URI comparisons include highlight states
 * - Add missing return value to getPendingUpdates docs
 * - resources: Add appropriate OOjs UI icon pack dependencies
 * - Add styles specific for hlist inside warning/error/success boxes
 * - RCFilters UI: Rename "Quick links" to "Saved filter settings"
 * - RCFilters: Depend on the 'content' icon pack, for the 'history' icon
 * - Change "...." (four dots) to "..." (three dots) in the only two messages that use it
 * - Add a byte counter to the edit page's summary field
 * - EditPage: Restore the old 'id' attributes in OOUI mode
 * - mediawiki.special/mediawiki.special.apisandbox: Use 'trash' icon which still exists
 * - mediawiki.widgets.datetime/DateTimeInputWidget: Use 'trash' icon which still exists
 * - Refactor registration of OOjs UI resource modules
 * - OutputPage: Do not try to load non-existent 'oojs-ui.styles.icons' module
 * - Better handling of jobs execution in post-connection shutdown
 * - Avoid scoped lock errors in Category::refreshCounts due to nesting
 * - Apply $wgShellLocale in Setup.php
 * - Follow-up 7668836236: oojs-ui.styles.icons is now gone
 * - MWExceptionRenderer::useOutputPage: Don't bother if we have no Title context
 * - Update OOjs UI to v0.22.1
 * - Update documentation URL
 * - objectcache: add getMultiWithUnionSetCallback method
 * - Update OOjs to v2.1.0
 * - RCFilters UI: Use backwards-aligned anchorless popups now that they work
 * - RCFilters: Unify 'highlight' and 'selected' items
 * - Show total number of autoblocks on top of Special:AutoblockList
 * - RCFilters: Blur input on 'escape' key
 * - RCFilters UI: Migrate FloatingMenuSelectWidget to MenuSelectWidget
 * - RCFilters: Add top spacing between RCFilters and top content
 * - Refactor Statsd classes to enable null collector to work.
 * - Add CODE_OF_CONDUCT.md
 * - EditPage: Fix passing the save/publish button label to other messages
 * - Use PHP DateInputWidget in Contribs and use for range filtering
 * - mw.widgets.DateInputWidget: Remove accidental 'user-select' on PHP widget's input
 * - ImagePage: Do not parse message 'imgmultipageprev'
 * - RCFilters: Hide server-side 'empty results' message
 * - RCFilters UI: Make monobook override of the 'checkmark' more specific
 * - RCFilters: Dismiss Apex' insistence to add checkmark to optionWidgets
 * - RCFilters UI: Compare states instead of params when switching URL
 * - Swap default page title for Special:BlankPage in Spanish
 * - RCFilters: Minimize url string
 * - Making the default toggle look clickable again
 * - objectcache: respect process cache in getMultiWithSetCallback
 * - Fix TextPassDumperDatabaseTest::testPrefetchPlain postgres failures
 * - WebStart.php: Update the file's doc comment
 * - resourceloader: Ensure user.styles and site.styles having their own request
 * - Return 400 on invalid CSP reports
 * - Add fr (French) as fallback for kbp (Kabiy√®)
 * - objectcache: fix cache warmup bug in getMultiWithSetCallback
 * - jquery.makeCollapsible: Restore considering empty  as part of toggle
 * - Fix version of DonationInterface deployed to donatewiki
 * - wfIsBadImage: Avoid deprecated wfMemcKey
 * - rebuildrecentchanges.php: Make purgeFeeds use the correct cache
 * - User: Avoid deprecated wfMemcKey
 * - parser: Avoid deprecated wfMemcKey
 * - LanguageConverter: Avoid deprecated wfMemcKey
 * - CachingSiteStore: Avoid deprecated wfMemcKey
 * - User: Avoid deprecated wfMemcKey
 * - UploadBase: Avoid deprecated wfMemcKey
 * - SpecialVersion: Avoid deprecated wfMemcKey
 * - page: Avoid deprecated wfMemcKey
 * - SiteStatsUpdate: Avoid deprecated wfMemcKey
 * - SiteStats: Avoid deprecated wfMemcKey
 * - Block: Avoid deprecated wfMemcKey
 * - Make running Selenium tests using Sauce Labs easy
 * - ApiParse: Use existing OutputPage for prop=categorieshtml
 * - Add kbp language code
 * - Add missing ampersand to getMultiWithSetCallback callback
 * - Revert "Revert "Fix the web updater""
 * - Revert "Fix the web updater"
 * - MessageCache: Avoid deprecated wfMemcKey
 * - Avoid treating mcrouter sets as failing due to AllAsyncRoute
 * - rdbms: Add compat alias for renamed LBFactory class
 * - installer: Replace bad calls to getText on DBQueryError exceptions
 * - Fix incomplete Language::getDatePreferences documentation
 * - session: Avoid deprecated wfMemcKey
 * - ChangeTags: Avoid deprecated wfMemcKey
 * - skins: Avoid deprecated wfMemcKey
 * - media: Avoid deprecated wfMemcKey
 * - registration: Avoid deprecated wfMemcKey
 * - InfoAction: Avoid deprecated wfMemcKey
 * - auth: Avoid deprecated wfGlobalCacheKey
 * - FileCacheBase: Avoid deprecated wfMemcKey
 * - AuthManager: Avoid deprecated wfMemcKey
 * - Fix up deprecation of wfMemcKey/wfGlobalCacheKey
 * - mediawiki.page.watch: Deprecate mw.page object
 * - Batch/pipeline backend operations in refreshFileHeaders
 * - Use file width/height instead of metadata for getContentHeaders
 * - Create object mw.page in watch.js
 * - Restore dependency on module 'mediawiki.page.startup'
 * - Sync up with Parsoid parserTests.txt
 * - Update psysh to 0.8.5
 * - Parser: Better debugging of lock errors ("Did you call Parser::parse recursively?")
 * - Move loading of mediawiki.toc from Parser to Skin
 * - ApiParse: Add Skin::getDefaultModules in useskin mode
 * - OutputPage: Move hardcoded default modules to Skin::getDefaultModules
 * - mediawiki.action.edit.preview: Enable 'useskin' mode for action=parse API
 * - ApiParse: Add 'useskin' param for general OutputPage/Skin support
 * - Move some more classes to comply with class per file
 * - Don't fill in the skin's search box on Special:Search
 * - RCFilters: Style the Saved Links placeholder and add a title
 * - Avoid DB_MASTER queries in User::newSystemUser when possible
 * - RCFilters: Style saved links option menu
 * - Avoid duplicate refreshCounts updates
 * - Do not output invalid links for deleted names on Special:Contributions

Vendor

 * - Update OOjs UI to v0.22.1

BetaFeatures

 * - Add phpcs and make pass
 * - Make phpcs pass - tests/phpunit
 * - Break long lines
 * - Add explict var and function visibility

CentralAuth

 * - Add explict var visibility
 * - Avoid master queries in SpecialGlobalRenameProgress

Cite

 * - Add appropriate OOjs UI icon pack dependencies

CodeReview

 * - Avoid error suppressing
 * - Remove unused global

Gadgets

 * - Add phpcs and make pass
 * - Use ‚Ä¶->assertArrayHasKey instead of isset
 * - Remove duplicate loading of styles (assume type=general if content is mixed)

MobileFrontend

 * - Ensure mDiffEngine is always available
 * - Add styles to Special:MobileMenu
 * - Do not use ResourceModuleSkinStyles to define skinStyles for other skins than 'minerva'
 * - phpcs: Allow linting tools to discover rules
 * - Add appropriate OOjs UI icon pack dependencies
 * - Hygiene: Remove unused/discouraged mobile.context methods
 * - Feature flag expand all sections
 * - Remove abandoned swipe experiment
 * - Hygiene: Remove dead uploads code
 * - When page properties are not available do not throw exceptions
 * - Hygiene: Define notifications in extension.json
 * - MainMenu belongs to Minerva not MobileFrontend
 * - Use currentTarget rather than target in ref link click handler
 * - Show watchlist feed instead of a-z if the user is an editor
 * - Hygiene: Refactor Notification code - add NotificationBadge class
 * - Hygiene: Register wgMinervaApplyKnownTemplateHacks via a Minerva hook
 * - Hygiene: MFEnableManifest should add manifest to all mobile skins
 * - Run DiffViewHeader in mobile mode, too
 * - Refactor Special:MobileDiff
 * - Use ParserOutput::setTOCEnabled instead of OutputPage::enableTOC
 * - Hygiene: Do not call RequestContext::getMain in SkinMinervaConstructor
 * - Title is not properly set inside ApiMobileView

PageImages

 * - Add phpcs and make pass
 * - Chunk page ids in internal API call to avoid too-many-pageids-for-query

Popups

 * - Make vertical preview show 7 lines
 * - Reduce height of horizontal gradient
 * - Generate docs inside doc folder
 * - Docs: Don't register methods as globals in documentation
 * - Run doc generation on `npm test`
 * - doc: Document reducers/eventLogging module
 * - eventLogging: Add perceivedWait prop to all events
 * - doc: Document userSettings module
 * - doc: Add doc:start script
 * - doc: Document gateway modules
 * - doc: Document statsvInstrumentation module
 * - Tools: Upgrade webpack to 2.6
 * - Deps: Upgrade mw-node-qunit
 * - doc: Document isEnabled module

RevisionSlider

 * - Also drop Revision typehint from $oldRev
 * - Handle possible null $oldRev in DiffViewHeader hook handler
 * - Adjust pin layout to new OOjs UI defaults
 * - Disable the RevisionSlider for screenreaders
 * - Do not assume that revIds increase in time
 * - Add icon styles to extension.json
 * - Update to banana 0.6.0
 * - Adjust z-indexes to work with Modern skin
 * - Do not use the main config for extension configuration options

Scribunto

 * - Make use of the ::class feature

TemplateData

 * - Add appropriate OOjs UI icon pack dependencies

TextExtracts

 * - Chunk page ids in internal API call to avoid too-many-pageids-for-query
 * - API: Limit maximum number of characters when `exchars` is passed.
 * - Add phpcs and make pass

Translate

 * - ArrayFlattener: Remove empty lines from beginning of methods
 * - ArrayFlattener: Declare member variable

UniversalLanguageSelector

 * - Major update of jquery.ime from upstream
 * - Update jquery.uls from upstream
 * - Update jquery.uls from upstream
 * - Show languages from the Babel box on the user page
 * - Update jquery.ime from upstream
 * - Update jquery.uls from upstream

VisualEditor

 * - dm.MWTransclusionNode: Move mixin comment, remove duplicated static property
 * - Don't try to i18n-parse JSON string
 * - Update VE core submodule to master (05375f324)
 * - Add the alerts, content and interactions icon packs overall
 * - Update for deprecation of OOjs UI openWindow/closeWindow promise
 * - Correct numbers in visualeditor-dialog-meta-settings-toc-help
 * - ext.visualEditor.articleTarget: Depend on 'layout' for the menu icon
 * - Update VE core submodule to master (cd4e0fa2d)
 * - ve.ui.MWTemplateDialog: Use normal #getReadyProcess instead of custom stuff
 * - Guard against mwdata.body being null
 * - Update VE core submodule to master (8be817396)
 * - Replace uses of the removed 'remove' icon with the 'trash' one
 * - Update VE core submodule to master (9cd18424b)
 * - Update VE core submodule to master (c78bd8d9b)
 * - VisualEditorDataModule: Pass save/publish button label to 'missingsummary' message
 * - mw.DesktopArticleTarget: Use require for mw.page.watch
 * - extension.json: Sort config to match documentation
 * - Remove dialog height hack tagged against resolved bug
 * - [BREAKING CHANGE] Drop support for contacting Parsoid without VirtualRestConfig

WikiEditor
->
 * - WikiEditor:

WikidataPageBanner

 * - Tools: Use eslint instead of jshint and jscs
 * - Use ParserOutput::setTOCEnabled instead of OutputPage::enableTOC

WikimediaEvents

 * - Update schema version for ChangesListFilters
 * - Add phpcs and make pass
 * - Update results tracking on SERPs

WikimediaMaintenance

 * - Add grunt-jsonlint and grunt-banana-checker

wikihiero

 * - Add phpcs and make pass
 * - Break long lines
 * - Fix styles queue violation for "ext.wikihiero.Special"