MediaWiki 1.30/wmf.12/Changelog

Core changes

 * - Update git submodules
 * - Use mw-parser-output for numbered external link counters
 * - Remove unused csslint rules
 * - EditPage: Drop 80% width restriction on wpSummary for OOUI form
 * - Allow blacklisting certain namespaces in Special:ShortPages
 * - Adjust print styles for thumb
 * - Remove obsolete animation vendor prefix
 * - Follow-up b446a3b9: don't auto-close DateInputWidget too early
 * - Adjustments to floating elements in print styles
 * - Enable archive search by default on Special:Undelete.
 * - Remove StructuredChangeFiltersEnableSaving completely
 * - RCFilters: Remove $wgStructuredChangeFiltersEnableSaving feature flag
 * - RCFilters: show new changes
 * - mw.htmlform: Fix hiding of the textbox for 'selectorother' fields on page load
 * - refreshLinks.php: Fix fatal when using --category parameter
 * - build: Update Travis CI config to use fast Trusty containers
 * - phpunit: Fix failing DeprecatedGlobalTest on HHVM at Travis CI
 * - RCFilters: Make 'related links' collapsible
 * - Follow-up 0b3ea6e1ab: use more flexible regex for timestamp in ChangesListSpecialPageTest
 * - Follow-up to '3D' file type addition
 * - Update wikimedia/relpath from 1.0.3 -> 2.0.0
 * - RCFilters: Create a sticky preference for days/limit groups
 * - RCFilters: Open limit/days popups the other way
 * - RCFilters: Remember legend expand/collapse state
 * - RCFilters: Allow setting a new query as default
 * - updateCredits: Fix collation name
 * - resourceloader: Soft-deprecate use of global LESS variables
 * - Adjustments to print table styles
 * - RCFilters: Reduce space between filters and saved queries button
 * - RCFilters: Trim input text before evaluation
 * - RCFilters: Close limit/days popups after choosing value
 * - resourceloader: Fix @covers for CSSMin tests
 * - rdbms: Complete coverage for Database::selectSQLText
 * - phpunit: Exclude /languages/messages from coverage report
 * - Enable jsduck for resources/src/mediawiki.rcfilters and make pass
 * - Split minoredit into minoredit and enotif_minoredit
 * - RCFilters: Make namespace and tag features no longer experimental
 * - Follow-up 94b6ba5453: cast default value to string
 * - RCFilters UI: Remove duplicate(!!) method mw.rcfilters.Controller#_getDefaultParams
 * - mediawiki.legacy.shared can be run in mobile target
 * - benchmarks: Add benchmarks for MapCacheLRU and HashBagOStuff
 * - RCFilters: Read base value of limit/days from preference
 * - Fix font size and backgrounds in gallery
 * - HTMLUsersMultiSelectField: Don't use content language for placeholder message
 * - Changing interwiki results header from to
 * - UserPager: Call text on message, don't use it directly
 * - resourceloader: Include lessVars in FileModule definition summary
 * - Re-introduce use of mime_content_type
 * - Use double quotes instead of singe quotes for HTML attributes
 * - rdbms: Ensure onTransactionPreCommitOrIdle callbacks don't lead transactions
 * - Cap 'days' param in RC/Watchlist at $wgRCMaxAge
 * - Hide "hideuser" on Special:Block for non-infinite blocks
 * - HTMLForm: Show more options when incorrect displayFormat is set
 * - RCFilters: Followup I78e23f85c3: Don't disable RCFilters system when fetching results
 * - jquery.tablesorter: Make tests QUnit 2 compatible (remove testCount)
 * - SpecialUndelete: Remove commented-out code
 * - Follow-up 2a04f2d: don't pass [] as tag filter when tagfilter=
 * - RCFilters UI: Unbreak limit and days widgets in non-experimental mode
 * - Fix Special:ListUsers "subpage parameter" handling
 * - Add some output messages to populatePPSortKey
 * - addRFCandPMIDInterwiki.php: Add trailing . to skipped message
 * - Follow-up 993ce4d: use pp_page for $lastPageValue, not pp_value
 * - RCFilters: Improve loading animation
 * - Upgrade QUnit from v1.23.1 to v2.4.0
 * - SpecialUndelete: Don't try to add a form to the page unless it exists
 * - Add tests for Sanitizer::escapeId
 * - Add parser tests for decoding of entities in indicator names
 * - parserTests: Use "fallback" skin unless otherwise specified
 * - Add WAN Cache to SiteStats::jobs
 * - JobQueue: Create a debugging queue
 * - Add parser tests for decoding of entities in IDs and fragments
 * - ChangeTags: Remove $wgRequest abuse in modifyDisplayQuery
 * - Add unit tests for ChangeTags::modifyDisplayQuery
 * - RCFilters: Filter duplicates when filtering for multiple tags
 * - New parameters 'reverse' and 'sortbyvalue' for Special:PagesWithProp
 * - Add urlencode for URL encoding of lang values
 * - Add a maintenance script for populating pp_sortkey

Vendor

 * - Update wikimedia/relpath from 1.0.3 -> 2.0.0

AbuseFilter

 * - Define npm peer dependency explicitly

ActiveAbstract

 * - build: bump grunt and drop grunt-cli

AntiSpoof

 * - build: bump grunt and drop grunt-cli

ApiFeatureUsage

 * - Define npm peer dependency explicitly

Babel

 * - Define npm peer dependency explicitly

BetaFeatures

 * - Define npm peer dependency explicitly

BounceHandler

 * - build: bump grunt and drop grunt-cli
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

Calendar

 * - Define npm peer dependency explicitly

Campaigns

 * - build: bump grunt and drop grunt-cli

Capiunto

 * - Define npm peer dependency explicitly

CategoryTree

 * - Define npm peer dependency explicitly

CentralAuth

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

CharInsert

 * - Define npm peer dependency explicitly

CirrusSearch

 * - Give individual users consistent interleaving
 * - Define npm peer dependency explicitly
 * - Integration of LTR query
 * - Add rescore fallbacks based on syntax used
 * - Team Draft interleaved AB testing
 * - Don't issue near match query with empty query
 * - Update config dump browser tests
 * - Revert "Don't issue near match query with empty query"
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1
 * - Match redirects with the intitle keyword

Cite

 * - tests: Use new QUnit 2 module hook names

CiteThisPage

 * - Define npm peer dependency explicitly

Citoid

 * - Define npm peer dependency explicitly

CleanChanges

 * - Define npm peer dependency explicitly

CodeEditor

 * - Define npm peer dependency explicitly

CodeMirror

 * - build: mark package.json as private

CodeReview

 * - Define npm peer dependency explicitly

Cognate

 * - Add comments showing which chars are normalized

CollaborationKit

 * - build: bump grunt and drop grunt-cli
 * - Define npm peer dependency explicitly

Collection

 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

CommonsMetadata

 * - build: bump grunt and drop grunt-cli

ConfirmEdit

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

ContactPage

 * - build: bump grunt and drop grunt-cli

ContentTranslation

 * - Reorder package.json devDependencies

ContributionTracking

 * - Define npm peer dependency explicitly

CreditsSource

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

DisableAccount

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

Disambiguator

 * - build: bump grunt and drop grunt-cli

DismissableSiteNotice

 * - Define npm peer dependency explicitly

DonationInterface

 * - build: bump grunt and drop grunt-cli
 * - build: bump grunt-contrib-watch
 * - build: mark package.json as private
 * - Define npm peer dependency explicitly
 * - It's just 'Test', not 'TestMode'
 * - Unify queue message handling with SmashPig
 * - Order sequence numbers start at 1, not 0
 * - Store processed payment id list in main cache, not session
 * - Set license-name in extension.json
 * - Fix blank i18n message added by TranslateWiki
 * - Better message when geoIP lookup fails
 * - Allow getRequiredFields before unstagedData is set

DoubleWiki

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

DynamicSidebar

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

Echo

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

EducationProgram

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

Elastica

 * - build: bump grunt and drop grunt-cli

ElectronPdfService

 * - Define npm peer dependency explicitly

EventBus

 * - build: mark package.json as private
 * - build: bump grunt and drop grunt-cli
 * - JobQueueEventBus: not set properties are accessed
 * - JobQueueEventBus: Populate the database field.
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

EventLogging

 * - Define npm peer dependency explicitly

ExtensionDistributor

 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

FeaturedFeeds

 * - build: bump grunt and drop grunt-cli

FlaggedRevs

 * - Define npm peer dependency explicitly

Flow

 * - Define npm peer dependency explicitly
 * - Translate Topic: namespace in Hindi
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

FundraiserLandingPage

 * - build: mark package.json as private
 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

FundraisingTranslateWorkflow

 * - build: bump grunt and drop grunt-cli

GWToolset

 * - Define npm peer dependency explicitly

Gadgets

 * - build: bump grunt and drop grunt-cli

GeoCrumbs

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

GettingStarted

 * - build: bump grunt and drop grunt-cli
 * - Define npm peer dependency explicitly

GlobalBlocking

 * - build: bump grunt and drop grunt-cli

GlobalCssJs

 * - build: bump grunt and drop grunt-cli

GlobalUsage

 * - build: bump grunt and drop grunt-cli
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

GlobalUserPage

 * - Define npm peer dependency explicitly

GoogleNewsSitemap

 * - build: bump grunt and drop grunt-cli

Graph

 * - Define npm peer dependency explicitly

GuidedTour

 * - build: bump grunt and drop grunt-cli
 * - Define npm peer dependency explicitly

ImageMap

 * - build: bump grunt and drop grunt-cli
 * - Do not die on phpcs run

InputBox

 * - Define npm peer dependency explicitly
 * - Don't add url parameters to an input box, if the parameter is empty

Insider

 * - build: bump grunt and drop grunt-cli

Interwiki

 * - Define npm peer dependency explicitly

Josa

 * - build: bump grunt and drop grunt-cli

JsonConfig

 * - Define npm peer dependency explicitly

Kartographer

 * - Augment event logging for switching layers

LabeledSectionTransclusion

 * - build: bump grunt and drop grunt-cli

LandingCheck

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

LdapAuthentication

 * - build: bump grunt and drop grunt-cli

Linter

 * - build: mark package.json as private

Listings

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

LocalisationUpdate

 * - build: bump grunt and drop grunt-cli

LoginNotify

 * - Update description strings for notification on Special:Preferences

MapSources

 * - build: bump grunt and drop grunt-cli

MassMessage

 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

Math

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

MobileApp

 * - build: bump grunt and drop grunt-cli
 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1
 * - Hygiene: consolidate edit link styling in page-library
 * - Hygiene: consolidate dark theming in wikimedia-page-library

MobileFrontend

 * - MwContentProvider should honour the skin name
 * - SkinMinerva should deal with edit section link not MobileFormatter
 * - Re-enable ApiMobileViewTest and use fallback skin in tests
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1
 * - Avoid use of deprecated QUnit.asyncTest
 * - Hygiene: Drop MFAllowNonJavaScriptEditing and Special:MobileEditor

MultimediaViewer

 * - Remove obsolete vendor prefixed at-rules
 * - Define npm peer dependency explicitly
 * - Avoid use of deprecated QUnit.asyncTest and QUnit.start/stop
 * - Remove use of QUnit.test(, testCount, )

MwEmbedSupport

 * - build: bump grunt and drop grunt-cli

NewUserMessage

 * - build: bump grunt and drop grunt-cli

Newsletter

 * - build: bump grunt and drop grunt-cli
 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

Nuke

 * - build: bump grunt and drop grunt-cli

OATHAuth

 * - Define npm peer dependency explicitly
 * - phpcs.xml: Remove exclude-pattern

OAuth

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

ORES

 * - build: bump grunt and drop grunt-cli
 * - Define npm peer dependency explicitly
 * - Messages for low and high accuracy likelybad filters
 * - Follow-up a93bd12: also ignore RC_LOG/RC_EXTERNAL in non-RCFilters UI
 * - Use instead of hardcoding "Logged actions"
 * - Treat RC_LOG and RC_EXTERNAL rows as unscorable
 * - Allow filter UI to be turned off

OpenStackManager

 * - Define npm peer dependency explicitly
 * - Do not clobber $out in local scope
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

PageAssessments

 * - build: mark package.json as private
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

PageImages

 * - build: bump grunt and drop grunt-cli

PageTriage

 * - build: bump grunt-contrib-watch
 * - build: bump grunt and drop grunt-cli
 * - Define npm peer dependency explicitly

PageViewInfo

 * - Reorder package.json devDependencies

PagedTiffHandler

 * - build: bump grunt and drop grunt-cli

ParserFunctions

 * - build: bump grunt and drop grunt-cli
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

ParserMigration

 * - Define npm peer dependency explicitly

ParsoidBatchAPI

 * - build: mark package.json as private

PdfHandler

 * - build: bump grunt and drop grunt-cli

Petition

 * - Define npm peer dependency explicitly

Poem

 * - build: bump grunt and drop grunt-cli

PoolCounter

 * - build: bump grunt and drop grunt-cli
 * - Add README.md
 * - Fix hour count in stats

Popups

 * - build: drop grunt-cli
 * - Remove obsolete vendor prefixed properties and at-rules
 * - Hygiene: Move settingsDialog UI code to ui/
 * - Deps: Upgrade mw-node-qunit
 * - Hygiene: Move ui renderer.js to ui/ folder
 * - Disable Previews on blacklisted pages
 * - Define npm peer dependency explicitly
 * - Hygiene: i13n: Return false over not sampling
 * - Hygiene: Dependency Injection for Popups

ProofreadPage

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

QuickSurveys

 * - build: bump grunt and drop grunt-cli
 * - build: mark package.json as private
 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

Quiz

 * - Define npm peer dependency explicitly
 * - Type hints

RSS

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

RelatedArticles

 * - Fix typo in word parser
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1
 * - Remove all remaining Ruby code
 * - Replace Ruby Related pages browser tests with node js version
 * - Restore default MediaWiki codesniffer configuration

RelatedSites

 * - build: bump grunt and drop grunt-cli

Renameuser

 * - build: bump grunt and drop grunt-cli

RevisionSlider

 * - Define npm peer dependency explicitly

SandboxLink

 * - build: bump grunt and drop grunt-cli

Score

 * - Define npm peer dependency explicitly

Scribunto

 * - Define npm peer dependency explicitly
 * - Updating mediawiki-codesniffer to 0.10.1 and fix issues

SearchExtraNS

 * - build: bump grunt and drop grunt-cli

SecurePoll

 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

ShortUrl

 * - Define npm peer dependency explicitly
 * - Set license-name in extension.json

SiteMatrix

 * - build: bump grunt and drop grunt-cli

SpamBlacklist

 * - build: bump grunt and drop grunt-cli
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

SubPageList3

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

SubpageSortkey

 * - build: bump grunt and drop grunt-cli

SyntaxHighlight_GeSHi

 * - Define npm peer dependency explicitly

TemplateData

 * - Define npm peer dependency explicitly

TemplateSandbox

 * - Define npm peer dependency explicitly

TextExtracts

 * - build: bump grunt and drop grunt-cli

Thanks

 * - build: bump grunt and drop grunt-cli

TimedMediaHandler

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

TitleBlacklist

 * - build: bump grunt and drop grunt-cli

TocTree

 * - Define npm peer dependency explicitly
 * - Set license-name in extension.json

TorBlock

 * - build: bump grunt and drop grunt-cli

Translate

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

TranslationNotifications

 * - Fix incorrect .gitignore entry

TrustedXFF

 * - build: bump grunt and drop grunt-cli

TwoColConflict

 * - Define npm peer dependency explicitly

UnicodeConverter

 * - build: bump grunt and drop grunt-cli
 * - Set license-name in extension.json

UniversalLanguageSelector

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

UploadWizard

 * - Define npm peer dependency explicitly
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1
 * - Make tests QUnit 2 compatible
 * - Remove use of deprecated QUnit testCount
 * - mw.UploadWizardLicenseInput: Apply PST when previewing and checking license templates

UploadsLink

 * - build: bump grunt and drop grunt-cli

UrlShortener

 * - build: bump grunt and drop grunt-cli
 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

UserMerge

 * - build: bump grunt and drop grunt-cli

VectorBeta

 * - build: bump grunt and drop grunt-cli

VipsScaler

 * - Define npm peer dependency explicitly

VisualEditor

 * - Update VE core submodule to master (4d6745b2f)
 * - Copy over missing steps from MWLinkAnnotationInspector to Wikitext version
 * - Compare template names when diffing, not just type
 * - Update VE core submodule to master (f444fa19b)
 * - Display LanguageConverter markup in VisualEditor
 * - ArticleTarget: set local config to hide welcome dialog

WikiEditor

 * - Define npm peer dependency explicitly
 * - Fix some parameter docs
 * - build: Updating mediawiki/mediawiki-codesniffer to 0.10.1

WikiLove

 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

WikidataPageBanner

 * - build: bump grunt and drop grunt-cli
 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

WikimediaEvents

 * - Remove WMDE Summer campaign hook
 * - build: bump grunt and drop grunt-cli
 * - Add stylelint for css file
 * - MVP of human graded search relevance on article pages
 * - Augment event logging when switching layers

WikimediaIncubator

 * - Define npm peer dependency explicitly
 * - Set license-name in extension.json

WikimediaMaintenance

 * - Set url in extension.json
 * - Create new wmfManageJobs.php for deleting queues from deleted wikis
 * - Add jakub-onderka/php-console-highlighter
 * - phpcs for WikimediaMaintenance

WikimediaMessages

 * - build: mark package.json as private
 * - Define npm peer dependency explicitly

XAnalytics

 * - build: bump grunt and drop grunt-cli

ZeroBanner

 * - Define npm peer dependency explicitly

ZeroPortal

 * - Define npm peer dependency explicitly

intersection

 * - build: bump grunt and drop grunt-cli

timeline

 * - Define npm peer dependency explicitly

wikihiero

 * - Define npm peer dependency explicitly

CologneBlue

 * - Define npm peer dependency explicitly

MinervaNeue

 * - QA: Minor tweaks to how we check toast notifications
 * - Make sure lead section exists before accessing its method
 * - Show cursor:text when pointing over search input
 * - Define npm peer dependency explicitly
 * - Show title on the page named '0'
 * - Blank parsoid styles, update thumbnail selectors for Parsoid content
 * - Browser tests: Use generic toast step
 * - Don't show ImageOverlay in desktop mode - delegate to multimedia viewer
 * - chmod a-x resources/*/*.{less,svg}
 * - Hygiene: Drop MFAllowNonJavaScriptEditing and Special:MobileEditor
 * - Remove a full stop from the end of the tooltip

Modern

 * - Define npm peer dependency explicitly

MonoBook

 * - Define npm peer dependency explicitly

Nostalgia

 * - Define npm peer dependency explicitly

Vector

 * - Define npm peer dependency explicitly
 * - Use makeListItem for menu items rather than building HTML by hand
 * - Hygiene: Do not use ConfigFactory::getDefaultInstance
 * - Print styles: Border bottom of headings should not overlap infoboxes
 * - Print styles: footer
 * - Print mode: Define when to use serif and when to use sans-serif
 * - Print styles: Apply padding and margins to ol as well as ul
 * - Add target support for view_urls