MediaWiki 1.26/wmf5/Changelog

Core changes

 * - Bump MobileFrontend
 * - Correct name of Northern Luri language
 * - Cast various things that are supposed to be ints
 * - Removed duplicated jobs in triggerOpportunisticLinksUpdate
 * - Make api nearmatch search work same as 'go' feature
 * - Document namespaces member as nullable
 * - mediawiki.api: Add #badToken for invalidating bad cached tokens
 * - Support Title::GAID_FOR_UPDATE for Title-&gt;exists
 * - Update OOjs UI to v0.11.1
 * - Fix double quote to apostrophe in a message
 * - Underscores etc. aren't valid in HTML IDs, so escape them properly
 * - installer: Read styles from Vector's skin.json
 * - registration: Throw more obvious error when a file doesn't exist
 * - Add new languages to 1.25 release notes and Names.php
 * - Remove invalid language code &quot;bh&quot; (alias of &quot;bho&quot;)
 * - Update getHelpUrls for reworked mw.org API pages
 * - Don't ignore content model for default message texts
 * - Add unit tests for all LogFormatters
 * - registration: Add support for $wgParserTestFiles
 * - registration: Support $wgMediaHandlers in ExtensionProcessor
 * - Fixed some IDE warnings in ChangeTags
 * - Allow QueryPage subclasses to use a different &quot;no results&quot; message than &quot;specialpage-empty&quot;
 * - Made JobQueueAggregatorRedis make sure the wiki set key is up-to-date
 * - Updated ParserCache doc types
 * - Fixed EnqueueJob::newFromLocalJobs docs
 * - Removed DjVu pageCount check and let it surface in the shell command
 * - build: Bump various devDependencies
 * - HTMLForm: Add wfDeprecated to isVForm
 * - Follow-up ee320648fd1: output mw-content-{ltr,rtl} unconditionally
 * - Pass __METHOD__ to ping query in JobRunner::commitMasterChanges
 * - ApiParse: Restore 'redirects' property in output
 * - Add test for IRC line for legacy type block/block
 * - Revert &quot;Use CSS columns instead of tables in Special:SpecialPages&quot;
 * - Use more specific and less ambiguous ids for line numbers in diffs
 * - ChangeTags: Don't show UI when no editable tags exist
 * - Add missing newline in apihelp-upload-description list
 * - convertExtensionToRegistration.php: Ignore i18n shims
 * - Provide detailed information about invalid titles
 * - Also add mw-content-{ltr,rtl} on page views for missing pages
 * - generateJsonI18n.php: Remove features that should no longer be needed
 * - SearchHighlighter: Stop checking for existence of &quot;wfCite&quot; function
 * - Documentation for SpecialSearch.mPrefix
 * - Preferences: Use case-insensitive comparison for skin names
 * - Increase parity between api search and on-wiki search
 * - Create PageViewUpdates hook
 * - API: Also mangle indexed tag names in format=xml
 * - Refactored ReplicatedBagOStuff to use generic factory methods
 * - Update OOjs UI to v0.11.0
 * - Converted InfoAction to using the WAN cache
 * - Restore B/C for ApiOpenSearch json output if warnings are present
 * - mediawiki.mixins: Avoid including css rule on every less file that includes this mixin
 * - Add @var LoadBalancer[] type doc
 * - Change case of class names to match declarations
 * - Made getWithSetCallback doc comment clearer
 * - Make $wgDBerrorLogTZ actually default to $wgLocaltimezone
 * - mw.track: Implement trackUnsubscribe
 * - Fix name of Tunisian Arabic language in Latin script

Vendor

 * - Update OOjs UI to v0.11.1
 * - Adding dependency on wikimedia/assert module

CentralAuth

 * - GlobalUserMerge: Log merges locally
 * - Fix an apostrophe in a message
 * - Remove duplicate listUnattached check
 * - Throw an exception if the performer doesn't exist in the database
 * - GlobalUserMerge: Don't merge a user into themselves

CirrusSearch

 * - Add index searched to cirrus request log
 * - More data in CirrusSearchRequest logs
 * - Use core's Hooks class as &quot;MWHooks&quot; to avoid conflicts
 * - Fix intermittent failures in prefer_recent tests
 * - check for actual error instead of just no result on long prefix search
 * - Null is a valid value in Searcher::$namespaces
 * - Convert go feature to api tests
 * - Finish converting prefix_search feature to api tests
 * - Fix some apis and api tests
 * - Convert remaining update_general features to api usage
 * - Convert remaining relevancy tests to api
 * - Split Jenkins.php into two files
 * - Update did_you_mean features to run against api
 * - Fix scneario to match changed step definition
 * - More specific type hints and docs in ElasticsearchIntermediary classes
 * - Convert highlighting tests to use the api

Cite

 * - Add extension.json, empty PHP entry point
 * - Remove i18n shim
 * - Get rid of &quot;wfCite&quot; global function

Citoid

 * - Change label text from 'Lookup' to 'Generate'
 * - build: Bump grunt-jscs to latest version

ContactPage

 * - Allow loading of ResourceLoader modules
 * - Allow selection of HTMLForm display format
 * - Base more stuff on the form type

ContentTranslation

 * - Prevent Alt+S being consumed by CX
 * - Chrome does not show list formatting tools
 * - Remove unused i18n shim
 * - Enable formatting toolbar for non-Chrome browsers
 * - Change the color of interlanguage entry points to grey
 * - Refactor the drafts module and fix a bug about saving empty content

DonationInterface

 * - Correct recurring info text again
 * - Correct recurring info text again
 * - Use DonationQueue for &quot;complete&quot; and &quot;pending&quot; queues
 * - Comment about TODOs
 * - Catch errors and redirect to general failure page
 * - add comment

Echo

 * - Until seentime is recorded, we should treat notifications as unseen
 * - Actually pass jscs
 * - Add Grunt infrastructure for CI
 * - Display red badge based on time of notifications vs last time panel was opened
 * - Add fallback for enotiftalk in generateEventsForRevision

EducationProgram

 * - Update API calls following core changes

FlaggedRevs

 * - Moved FRExtraCacheUpdateJob to a separate file
 * - Removed safeGetLag check; handled by &quot;max lag&quot; DB config

Flow

 * - Allow delete link in menu
 * - Also require deletedtext to view deleted workflows
 * - Move tooltip to the right
 * - Fix checks to see if board/workflow has been deleted
 * - Fix workflow_page_id when board is restored
 * - Make &quot;uses wikitext&quot; link open in new tab
 * - Browser tests: fix javascript detection on load
 * - Fix browser tests
 * - Get rid of convoluted getContent failsafe
 * - build: Remove redundant global grunt-cli install
 * - Remove unused file flow-baseconvert.js
 * - Add logging so we know what filters are being hit
 * - Actually pass jscs
 * - Add jsduck support
 * - Fix jsduck warnings
 * - Only display API errors
 * - Fix check for in-flight API requests
 * - Move modules/vendor/* to vendor/modules/*
 * - Update jscs to 1.8.0
 * - Fix history permission check in RevisionFormatter
 * - Only replace queryMap if the prehandler returns it
 * - Transform queryMap right before submitting it
 * - Fix preHandler setup
 * - Set cleanup header revision after original to avoid collisions
 * - Make editor switching look nicer
 * - Don't show Parsoid HTML in textarea while loading VE
 * - Mark posts by autopatrolled users as patrolled
 * - Make sure allowCreation existence status is right, use Status
 * - Change ensureFlowRevision to use Status and not check summary
 * - Refactor flowEventsMixinApiRequestInteractiveHandler
 * - Get rid over queryMap overrides
 * - Make browser tests work with or without visual editor
 * - Fix onAbortMove documentation
 * - Keep source editor visible but disabled while VE loads
 * - Remove ext.flow.parsoid.js
 * - Update for changes in OOjs UI (Ib40e3477)
 * - Remove workaround code from when pageid could still be 0

Gadgets

 * - Remove unused i18n shim
 * - Add extension.json, empty PHP entry point

Gather

 * - Only reload page after CollectionEditOverlay if page is special.
 * - Show loading screen while the collection editor loads
 * - Pagination of collections list with infinite scrolling
 * - Add ToastPanel
 * - i18n: Update i18n message to link to collection
 * - Search field with placeholder text when editing collection
 * - Unify collections url
 * - Correct API inconsistency in response
 * - Implements prop=listmembership
 * - Make Special:GatherLists responsive
 * - i18n: Fixes for the Gather-moderation-hidden-email-body message
 * - i18n: Consistent use of &lt;br /&gt; in en.json
 * - Hygiene: Simplify CollectionPageList
 * - i18n: Add a full stop to the end of a sentence
 * - Reveal flag icon on Vector
 * - Hygiene: Refactor collection flag button to be an actual view
 * - Fully render collections list with templates
 * - Hygiene: Split SpecialGather resource loader modules
 * - Add overlay class to confirm overlay
 * - Hygiene: Remove erroneously added blank file
 * - Fix php fatal error on empty collection message
 * - Fix error in API request to hide

GlobalCssJs

 * - Empty PHP entry point
 * - tests: Don't use getDefinitionSummary as an API

GlobalUserPage

 * - Update extension.json, empty PHP entry point
 * - Make 'globaluserpage-central-editnotice' message less repetitive

Graph

 * - Added missing namespace for graphoid invocation

ImageMap

 * - Add extension.json, empty PHP entry point
 * - Fix $wgExtensionCredits index
 * - Remove i18n shim

InputBox

 * - Re-apply a6a7dc02e5d
 * - Convert InputBox.php to extension.json for extension registration

Interwiki

 * - Add extension.json, empty PHP entry point
 * - Remove i18n shim
 * - Move global functions into static class in separate file
 * - Use __DIR__, get rid of $dir

Listings

 * - Empty PHP entry point

MassMessage

 * - Only check if the title is an interwiki if it is for the local site

MobileFrontend

 * - Temporarily disable MobileWebSearch logging
 * - Lower sampling rate
 * - Re-enable images for our users.
 * - Restrict default styling to panels in #content area
 * - Don't disable images whilst opting into beta
 * - Hygiene: Remove config rules from jscs where in preset
 * - Hygiene: Reintroduce spacing constraint
 * - Generate menu HTML via JavaScript.
 * - Render main menu via a server side template
 * - Allow ios users to close the main menu
 * - Hygiene: Move logging schemas into resources
 * - Allow View to enhance existing a server side rendered view
 * - Hygiene: Move mobile.toc to resources/
 * - Regression: Only panels in content shoudl have backgrounds
 * - Hygiene: Mobe LanguageOverlay to resources/
 * - Correct sample for beta optin
 * - Hygiene: Move mobile.editor.common to resources folder
 * - Create Special:TopicTag and link tagged categories on article pages
 * - Add optin to beta panel
 * - Hygiene: Reintroduce disallowNewlineBeforeBlockStatements
 * - Hygiene: Reintroduce spacing rule
 * - Hygiene: Reintroduce indent rule
 * - Hygiene: requireLineBreakAfterVariableAssignment rule and and fix complaints
 * - Hygiene: Clean up the root directory
 * - Hygiene: Move infobox and alpha code into resources
 * - Follow up I312adb5
 * - Hygiene: Update Gruntfile in preparation for moving external files into resources
 * - Don't load styles unnecessarily
 * - Increase main menu font size to 1.2 em
 * - Credits for the English messages
 * - Consistent usage of &lt;br /&gt; in the i18n messages
 * - build: Bump grunt-jscs to latest version
 * - Use same left and right icon as oojs ui
 * - Log MobileWebSearch events
 * - Hygiene: Generalise the futureLog mechanism
 * - Hygiene: Setup resources/mobile.overlays
 * - Hygiene: Drawer uses Icon and Button
 * - Less confusing explanation of $hasDesktopVersion
 * - Hygiene: Use Button in AbuseFilterOverlay
 * - Hygiene: Make preRender and postRender functions on View not take arguments
 * - Add new events to SearchOverlay
 * - Fixing scrolling in the editor in Mobile Safari
 * - Hygiene: Move views and object orientated code into resources folder
 * - Tools: Run Gruntfile on resources folder as well
 * - Improve trademark code in MobileFrontend
 * - Check whether the object exists before checking its property

Nuke

 * - Add extension.json, empty PHP entry point
 * - Remove i18n shim

OAuth

 * - Clarify messages, de-emphasize privacy policy
 * - Removed mwoauthmanageconsumers-viewing message

PageTriage

 * - Conversion to using WAN cache
 * - API: Completely set backwards-compatibility boolean metadata
 * - API: Set backwards-compatibility boolean metadata

ParserFunctions

 * - Add extension.json, empty PHP entry point
 * - Move hooks into static class
 * - Remove i18n shim

Parsoid

 * - Empty PHP entry point
 * - Remove i18n shim

PdfHandler

 * - Add extension.json, empty PHP entry point

Poem

 * - Add extension.json, empty PHP entry point

Renameuser

 * - Avoid DIY cache update that violates SoC
 * - Remove deprecated SpecialRenameuser.php entry point
 * - Add extension.json, empty out PHP entry point
 * - Remove i18n shim

SecurePoll

 * - Fixup script for bv2015 incorrect date range

SpamBlacklist

 * - Conversion to using WAN cache

SyntaxHighlight_GeSHi

 * - Fix I062a2246

Thanks

 * - Further document Thanks gender (both en and qqq), and fix bug
 * - Check the thanked user's gender for Thanks messages
 * - Actually pass jscs
 * - Add Grunt infrastructure for CI

TitleBlacklist

 * - Conversion to using WAN cache

Translate

 * - Avoid DIY cache update that violates SoC

UniversalLanguageSelector

 * - Explicitly define module position
 * - Update jquery.ime to 5498eae

UploadWizard

 * - mw.FormDataTransport: Make it possible to skip the 3000 ms timeout in tests
 * - Recover from 'badtoken' error when uploading
 * - Remove some dead code
 * - Remove incredibly weird message override for 'mwe-upwiz-code-unknown'
 * - build: Bump grunt-jscs to latest version
 * - Move &quot;x&quot; control to the top-right of the description div and make it a bit bigger
 * - Call requiredFieldLabel after text
 * - Add placeholder text for the Description field
 * - Increase space between &quot;Add new description&quot; link and the text box
 * - Add 'default' environment for browser tests
 * - Explicitly define module position
 * - Conversion to using WAN cache

VectorBeta

 * - Remove unused i18n shim

VisualEditor

 * - Revert &quot;Be more selective in application of 0.8em font size&quot;
 * - Update VE core submodule to master (2127edd)
 * - Remove bold from result titles so that query highlighting works
 * - Replace &quot;articles&quot; with &quot;pages&quot;
 * - Highlight matching parts of link suggestions
 * - Update VE core submodule to master (9be0272)
 * - MWTemplateTitleInputWidget: Add missing local var
 * - ve.init.mw.ViewPageTarget.js: Fix indentation
 * - Make 'Search articles' / 'External links' i18n messages
 * - Be more selective in application of 0.8em font size
 * - Fix page restoration when Parsoid load fails
 * - Divide surface margins by 0.8
 * - Update VE core submodule to master (424a9f4)
 * - ve.init.mw.ViewPageTarget: Set custom font-size for original .mw-body-content too
 * - ve.ui.MWParameterPage: Remove dead CSS
 * - Remove unless, and almost-useless closures in response cache
 * - Make static methods static in linkCache
 * - Make 'page not found' label lowercase
 * - Fix line height inside notice/help popups
 * - Fix toolbar &amp; debug bar negative margins
 * - Update VE core submodule to master (3fd7629)
 * - Remove OOUI content icons
 * - build: Bump various devDependencies
 * - Convert 'external' links to internal pages pasted into the search field

WikiEditor

 * - Populate abort.type in Schema:Edit logging
 * - Follow-up cc5ca3a2f6: now that we sample client-side, send all editingStatsIds to the client

Wikidata

 * - Update Wikidata - fix api error output when parsing values

WikimediaMessages

 * - Fix some contact page messages
 * - Add RL module for meta:Special:Contact/affcomusergroup
 * - More ContactPage messages for affcom user group form

CologneBlue

 * - Explicitly define module position

Modern

 * - Explicitly define module position
 * - Add skin.json, empty PHP entry point

MonoBook

 * - Explicitly define module position

Nostalgia

 * - Add skin.json, empty PHP entry point
 * - Remove i18n shim

Vector

 * - Explicitly define module position
 * - Add skin.json, deprecate and empty PHP entry point