MediaWiki 1.26/wmf5/Changelog

Core changes

 * - Update AbuseFilter for cherry-picks
 * - Update NavigationTiming for cherry-picks
 * - Update MobileFrontend
 * - Bump Flow for import and EnableFlow changes
 * - Add ApiFeatureUsage [wmf5]
 * - Update AbuseFilter for I5dc11259
 * - Revert "Follow-up ee320648fd1: output mw-content-{ltr,rtl} unconditionally"
 * - registration: Don't array_unique over the queue before loading it
 * - Revert "Revert "Bump CirrusSearch in 1.26wmf5""
 * - Undefer push in lazyPush temporarily
 * - Revert "Bump CirrusSearch in 1.26wmf5"
 * - Revert "Only enforce subpage rules on batch wikitext->Flow conversions"
 * - Only enforce subpage rules on batch wikitext->Flow conversions
 * - Update Echo for cherry-picks
 * - Bump CirrusSearch in 1.26wmf5
 * - Use lazyPush instead of push in a few places for jobs
 * - Reduced the rate of RecentChangesUpdateJob insertion
 * - Added JobQueueGroup::lazyPush method
 * - Log callers that trigger Title::newFromText $text type warning
 * - ProfilerOutputStats: tweak stat key normalization
 * - Update CirrusSearch for cherry-picks
 * - Update CirrusSearch for cherry-picks
 * - Update Translate to a6f0a63
 * - Update CentralNotice
 * - Update ContentTranslation to a27d44d
 * - Update Gather with cherry picks
 * - ResourceLoader::filter: use APC when running under HHVM
 * - Update Wikidata - waitForSlaves in updateSubscriptions script
 * - Update GWToolset to 1.26wmf5 HEAD
 * - Update Gadgets for cherry-pick
 * - Temporary hack to drain excess refreshLinks jobs
 * - Updating CirrusSearch to pull in query fixes
 * - Update Gather
 * - Added common metadata caching to the djvu handler
 * - Made triggerOpportunisticLinksUpdate jobs make use of parser cache
 * - Bump Flow for metadataonly fix
 * - Update Josa for cherry-picks
 * - Bumped Graph to master
 * - LivePreview: Process jsconfigvars
 * - API: Add output of JS config vars to action=parse
 * - Update Wikidata - Fix interaction with AbuseFilter
 * - Set isExpensiveToThumbnail for the djvu handler
 * - Update VisualEditor for I43ea8537
 * - Bumped CentralAuth
 * - Bump Graph
 * - Update VisualEditor extension for I413c300a
 * - Bump Flow on 1.26wmf5 for:
 * - Update Gather with cherry-picks
 * - Update CentralAuth to 1.26wmf5 HEAD
 * - Update ContentTranslation to 0ee6dac
 * - Update CentralAuth to 1.26wmf5 HEAD
 * - Bump VisualEditor for I504f0cb0b
 * - Update MobileFrontend
 * - 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->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 "bh" (alias of "bho")
 * - 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 "no results" message than "specialpage-empty"
 * - 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 "Use CSS columns instead of tables in Special:SpecialPages"
 * - 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 "wfCite" 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

AbuseFilter

 * - Removed filter profiling using $wgMemc
 * - ApiResult::META_BC_BOOLS in ApiAbuseFilterCheckMatch

ApiFeatureUsage

 * Newly deployed extension

CentralAuth

 * - ApiCentralAuthToken: Use ApiBase::lacksSameOriginSecurity
 * - LocalPageMoveJob: Don't die on invalid old titles
 * - GlobalRenameLogFormatter: Don't die on invalid old usernames
 * - LocalRenameUserJob: Don't try to construct the old user object twice
 * - 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

CentralNotice

 * - Update to $wgCentralSelectedBannerDispatcher
 * - bannerController call to BannerLoader: Remove unused params
 * - Fix fetching choice data via API
 * - Allocation: choose campaign first, fix throttling bug
 * - Special:BannerLoader: test campaign staleness
 * - Tiny bit more post-BannerRandom cleanup
 * - Fix Special:BannerAllocation
 * - Remove server-side banner random
 * - Special:CentralNotice: code cleanup
 * - Check choiceData for staleness
 * - Use the plain-text GPL
 * - Using recommended RuboCop configuration
 * - Add banner includes bucket dropdown
 * - Warn if a campaign's bucket assignments look funky
 * - Default to single-database configuration
 * - Fix a typo: switch databases correctly
 * - Clean up database switching
 * - Fix accidentally swapped docstring
 * - Preload JS comes with no baggage

CirrusSearch

 * - Detect per-user poolcounter failure
 * - Fix-up for I3df6713: qualify \RequestContext
 * - Log request times to StatsD
 * - Fix errors that look like OR OR OR OR
 * - trim idiographic whitespace too
 * - Add index searched to cirrus request log
 * - More data in CirrusSearchRequest logs
 * - Use core's Hooks class as "MWHooks" 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 "wfCite" 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

 * - Show an invitation to translate an article instead of creating
 * - First language screenshot scenario
 * - Update Gemfile for screenshot and appropriate mediawiki_selenium
 * - Show the newarticle campaign in the VisualEditor

DonationInterface

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

Echo

 * - Use DeferredUpdates::addCallableUpdate for generateEventsForRevision
 * - 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 "max lag" DB config

Flow

 * - Fix inconsistent state issues and fatal on Special:EnableFlow
 * - Only enforce subpage rules on batch wikitext->Flow conversions
 * - Fix metadataonly parameter and use it in JS
 * - Fix more than just workflow_page_id === 0
 * - 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 "uses wikitext" 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

GWToolset

 * - Check php max_file_size limit directly from PHP $_FILES

Gadgets

 * - Make the ObjectCache implementation used for Gadget def's configurable

Gather

 * - Fix duplicate 'new' tag and menu item CTA
 * - Fix confirmation message styling inside overlay
 * - Add extension.json, empty PHP entry point
 * - Don't auto-zoom on input box in add collection
 * - Improve spacing in the `add to collection` overlay.
 * - Improve star styles on phones
 * - Fix the create collection button
 * - Fix hidden collections view of Special:Gather/all/hidden
 * - Migrate Special:GatherLists code to Special:Gather
 * - Display a message for no search results
 * - Make dependencies explicit
 * - When creating a collection show CTA && toasts after edited
 * - Fix exception if image passed to models is a boolean
 * - Use the CollectionsList model to generate Special:GatherLists
 * - Allow editing of title/description of hidden collections
 * - QA: Fix Gather edit test
 * - Fix delete overlay
 * - Ensure collection members can be removed
 * - Create collection button on Special:Gather
 * - QA: Fix watchstar selector
 * - Fix re-enable form after save failed
 * - Re-add future toast to show when page reloads after editing collection
 * - Only reload page after CollectionEditOverlay if page is special.
 * - Show loading screen while the collection editor loads
 * - i18n: Update i18n message to link to collection

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

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

Josa

 * - Fix mistake on if condition.

Listings

 * - Empty PHP entry point

MassMessage

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

MobileFrontend

 * - Add login and signup urls to the editor overlay for anons
 * - Don't show toast on startup
 * - 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

NavigationTiming

 * - Bump SaveTiming SCID to 12236257

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

 * - Breaking change: ApiQueryMessageGroups workflow format
 * - 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 "x" 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 "Add new description" 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

 * - Make sure switch to source editing button does not get disabled
 * - mw.Target: Fix API breakage of watchlist preference check
 * - Follow-up 5c38995bd94f: don't destroy toolbar twice
 * - Revert "Be more selective in application of 0.8em font size"
 * - Update VE core submodule to master (2127edd)
 * - Remove bold from result titles so that query highlighting works
 * - Replace "articles" with "pages"
 * - 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 & 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

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