MediaWiki 1.26/wmf9/Changelog

Core changes

 * - Bump vector submodule in 1.26wmf9 for swat
 * - Bump MobileFrontend for Ib43dfbb7cf and I7f9cf08cb
 * - Bump Flow for I9daf356d
 * - Update CentralNotice for I480cbc7ad
 * - Bump OSM Submodule for nova cli tools
 * - jobqueue: use more sensible metric key names
 * - Bump OpenStackManager
 * - Bump OpenStackManager to introduce 'editallhiera'
 * - Update Wikidata - fix property label constraint bug
 * - Update CirrusSearch for cherry-picks
 * - Fix the autonym of Northern Luri and change Central to Northern
 * - Add Goan Konkani Language
 * - Update WikimediaEvents submodule
 * - Job queue: prefix metric keys with 'jobqueue'; segment with '.'
 * - Update FlaggedRevs for cherry-picks
 * - Instrument edit failures
 * - Bump MobileFrontend in 1.26wmf9
 * - Add LCStore implementation that uses static arrays in PHP files
 * - Bump CirrusSearch submodule in 1.26wmf9 to fix prefer-recent queries
 * - Update WikimediaEvents submodule
 * - AjaxResponse: Fix broken logic for extracting HTTP status codes
 * - Bump extensions/MobileFrontend submodule commit
 * - Update OpenStackManager
 * - Avoid section profiling in Hooks::run due to high overhead
 * - Update namespaces and special pages for Northern Luri (lrc) from translatewiki
 * - Fixed "wfTimestamp fed bogus time value" errors
 * - Update FlaggedRevs for cherry-picks
 * - [WMF] resourceloader: Add logging for T101806 private modules
 * - Follow-up 1fc57830e: Fix variants for OOUI images
 * - Submitting branch for review so that it gets tested by jenkins. refs T101551
 * - api/i18n: Fix a couple typos
 * - Consistent spacing after colon in apihelp
 * - resourceloader: Add context param to ResourceLoaderModule::getDependencies
 * - Improve the srsearch API param doc
 * - resourceloader: Move packaging to a new getModuleContent method
 * - Avoid parser cache miss that often occurs post-save
 * - Update sinon from 1.10.3 to 1.15.0
 * - resourceloader: Audit debug log channels and messages
 * - LanguageConverter fix of empty and numeric strings
 * - build: Updating development dependencies
 * - Run generateLocalAutoload.php to sort entries in autoload.php
 * - Update json2 to revision 2015-05-03
 * - Update es5-shim to v4.1.5
 * - Use assertSame in LogFormatterTestCase
 * - PatrolLogFormatter: Tag curid and previd as numbers for API
 * - Fix tab in en.json
 * - ResourceLoaderImageModule: Add missing doc stuffs
 * - resourceloader: Unbreak ResourceLoaderImageModule's rasterization
 * - Various code cleanup to JobRunner
 * - ApiTestCase: Set correct user for derivate requests
 * - Expose RL modules and js config vars in action=expandtemplates
 * - QA: Upgrade mediawiki_selenium for fix to Raita logging
 * - HTMLForm: Break long lines
 * - mw.loader.store: decline to store items > 100 kB
 * - Make sure job queue partitions use the null aggregator
 * - resourceloader: Refactor ResourceLoaderWikiModule to reduce database queries
 * - Revert "Implement MalformedTitleException for JS and use in constructor"
 * - Fixed race condition in MessageCache::replace
 * - resourceloader: Make ResourceLoader logger aware
 * - Deprecate $wgEnableParserCache
 * - language: Use item 'fallbackSequence' instead of duplicating logic
 * - Avoid data loss if compression fails
 * - Revert "Add 'mediawiki.skinning.logo' module"
 * - mediawiki.searchSuggest: Add track event on search form submission
 * - Use HttpStatus::header instead of manually crafting header
 * - WebResponse: Implement statusHeader using the new HttpStatus::header
 * - HttpStatus: Implement header method
 * - hierarchicalize(!) stat names
 * - Automatically deduplicate root jobs on insertion
 * - Implemented getAllAcquiredJobs in JobQueueDB
 * - ResourceLoader::filter: use APC when running under HHVM
 * - jobqueue: Record stats on how long it takes before a job is run
 * - Normalize hooks.txt formatting
 * - Move Title null check in Special:RevisionDelete
 * - Explicitly define module position for mediawiki.htmlform.ooui.styles
 * - resourceloader: Don't cache minification of user.tokens
 * - registration: Don't override boolean false settings
 * - resourceloader: Remove redundant getModifiedTime implementations
 * - Add a hook for reporting exceptions
 * - Move XmlSelect to its own file
 * - exception: Use standard message for HTTP status 500
 * - mediawiki.template: Mustache should return jQuery object instead of array
 * - resourceloader: Add unit test for validateScriptFile
 * - resourceloader: Use mw.log instead of 'throw' for scripts with syntax errors
 * - cache: Add in-process caching to MessageBlobStore
 * - Use less fuzzy User::getDBTouched in ApiStashEdit::getStashKey
 * - Fixed $flags bit operation precedence fail in User::loadFromDatabase
 * - Move xml_free_parser out of destructor.
 * - Made User::touch no longer call load
 * - Use a fixed comment placeholder string in CSSMin
 * - wl_notificationtimestamp code comments typo, false statement
 * - Rewrite Language::hebrewNumeral
 * - Cleanup the code of Language::hebrewNumeral
 * - Add tests for Language::hebrewNumeral
 * - Improve doc of maxage and s-maxage API parameters
 * - Fixing definition and use of $attrs parameter in Html::buttonAttributes
 * - registration: Remove "additionalitems" property from array (authors)
 * - Follow-up 727454f: Add mediawiki.widgets to jsduck
 * - Commit all connections after each job
 * - Add tests for HttpError
 * - Remove legacy vertical-align from select fields
 * - Fix undefined variable $header in HttpError
 * - HttpError: Consistently escape document title
 * - Fix some RecentChange phpdoc return types
 * - Use a fixed marker prefix string in the Parser and MWTidy
 * - Remove deprecated MWFunction::newObj
 * - OOUI theme support
 * - Whitespace fix for RELEASE-NOTES-1.26
 * - mailmap: Add an additional e-mail for Bartosz per request
 * - Implement MalformedTitleException for JS and use in constructor
 * - resourceloader: Fix broken 'version' param in mw.loader requests
 * - Create mediawiki.widgets and mw.widgets.TitleInputWidget in it
 * - Remove mw-ui-icon*:after
 * - Fix to digits grouping rule
 * - Move MWTimestamp::getHumanTimestamp to Language
 * - list=categorymembers: Do not log feature usage when using default value
 * - DeferredUpdates doc comment tweak
 * - Add 'mediawiki.skinning.logo' module
 * - Tweak 'position' of 'mediawiki.skinning.*' modules
 * - QA: Upgrade mediawiki_selenium to 1.2 for Raita logging
 * - Fixed Job constructor IDE notices about variable types
 * - Moved addAutopromoteOnceGroups call to a deferred update
 * - registration: Don't hardcode list of extension types in schema
 * - registration: Improve ResourceModules schema definition
 * - Cleaned up various revisiondelete IDE warnings
 * - Refactored entry points to have uniform shutdown handling
 * - Make ResourceLoaderWikiModule support custom position
 * - ApiOpenSearch: Ignore any other unexpected keys in json output
 * - Add Vivek Ghaisas (polybuildr) to the CREDITS file
 * - Reduce page deletion lock contention
 * - API: Add more parameter types and improve info
 * - SpecialMediaStatistics: Protect against invalid indexes
 * - Check result of preg_match_all in Parser.php
 * - Update context stats in SiteStatsUpdate
 * - composer.json: Downgrade PHPUnit to 3.7.37 (temporarily)
 * - registration: Fix types of ResourceModules properties
 * - registration: Version the extension.json schema
 * - registration: Remove unused variable
 * - Warn when duplicate arguments are found
 * - Don't run phpcs on node_modules folder
 * - OOUIHTMLForm: Access context after parent constructor is called
 * - HTMLForm::factory doesn't throw MWExceptions
 * - Bump composer-merge-plugin to v1.1.0
 * - Revert "Convert mediawiki.toc and mediawiki.user to using mw.cookie"
 * - Log what job types were never inserted
 * - mediawiki.ui: checkbox: Render "on top of" the label
 * - Made isAllowed, showHistory and formatRevisionRow protected to allow for easier subclassing
 * - Add List-Unsubscribe header to emails
 * - Let deduplicateRootJob accept JobSpecification for consistency
 * - Cleaned up JobQueueRedis exceptions
 * - Made LoadBalancer debug log entries use "localhost" placeholder
 * - Combine deleteArchived{Files,Revisions}.inc into the .php scripts
 * - Add help link for 8 more special pages
 * - Use a faster 7z command line by default

Vendor

 * - Cherry-pick 9ff89da7 and 3696bf79eb22 from oojs/oojs-ui

AccountAudit

 * - Empty PHP entry point in favor of extension.json

ApiSandbox

 * - Set manifest_version in extension.json

BetaFeatures

 * - build: Updating development dependencies
 * - empty PHP entry point
 * - Set manifest_version in extension.json

BounceHandler

 * - Updated extension registration to new system
 * - Removed PlancakeMailParser library completely from the extension
 * - Don't erase the email addresses on a wiki without CentralAuth
 * - Simplify and match a delivery status code separated by space

Calendar

 * - Empty PHP entry point in favor of extension.json
 * - Remove i18n shim
 * - Explicitly define module position

CategoryTree

 * - build: Updating development dependencies

CentralAuth

 * - QA: Upgrade mediawiki_selenium to 1.2 for Raita logging
 * - Remove i18n shim
 * - Show log entries of previous renames on the GlobalRenameQueue
 * - Display AntiSpoof conflicts in the GlobalRenameQueue

CentralNotice

 * - Parse region in geoip cookie
 * - Upgrade CentralNotice browser tests to use mediawiki_selenium 1.x
 * - CNBannerChoiceDataResourceLoaderModule::getDependencies method signature
 * - Remove redundant ResourceLoaderModule::getModifiedTime implementation
 * - Clean cruft in CNBannerChoiceDataResourceLoaderModule::getChoices
 * - Replace deprecated $wgSpecialPageGroups

CheckUser

 * - Defer the maybePruneIPData update query via DeferredUpdates
 * - Set manifest_version in extension.json

CirrusSearch

 * - Add missing 'use \Status;' to includes/Util.php
 * - Revert "Remove lots of dynamic groovy"
 * - Remove lots of dynamic groovy
 * - build: Updating development dependencies
 * - Test is a simple Scenario, not Scenario Outline

Cite

 * - Use CSS to style Parsoid's Cite HTML
 * - Revert "Do all of Cite's real work during unstrip" and followup
 * - Cleanup style RL modules for Cite
 * - build: Updating development dependencies
 * - Move '@media print' rules to separate file
 * - Set manifest_version in extension.json

CiteThisPage

 * - build: Updating development dependencies

Citoid

 * - Remove double-encoding of search input
 * - ve.ui.CiteFromIdInspector: Simplify icon sizing
 * - Revert "Use ref instead of hard coded message"
 * - Use a valid "license" in package.json
 * - build: Updating development dependencies
 * - build: Add explicit dependency upon grunt-cli
 * - Restrict 'fullscreen' mode to success 'result' panel
 * - Set manifest_version in extension.json

CleanChanges

 * - Updated extension registration to new system
 * - Remove i18n shim

CodeEditor

 * - Set manifest_version in extension.json
 * - Sync extension.json with CodeEditor.php and empty php entry point
 * - Remove i18n shim

CodeReview

 * - Set manifest_version in extension.json

Collection

 * - build: Updating development dependencies
 * - Fix Undefined index:  in Collection.body.php

CommonsMetadata

 * - Set manifest_version in extension.json

ConfirmEdit

 * - Fix issues from recent extension registration changes
 * - FancyCaptcha: callbacks can't be arrays

ContactPage

 * - Set manifest_version in extension.json

ContentTranslation

 * - Support gallery translations
 * - Rewrite the links module
 * - Fix js error in the CX contribution menu when VE is triggered
 * - Avoid bars overlapping or breaking the row
 * - Fix JS error while accessing Special:CXStats as anon user
 * - Source selector: Relax the validations on source title
 * - PLURAL for messages taking numeric (percent) value parameters.
 * - Add the commons_upload gem to allos screenshots uploading
 * - Callout widget: Improve the hover behavior
 * - Show login page if the URL has campaign parameter for anon users
 * - Published translations API: Correct the condition
 * - Fix JSCS errors
 * - Avoid cx-segment spans appearing in published content
 * - Add English singular to cx-stats-grouping-title
 * - Defer RC tag addition in the publish API
 * - Apply number formatting on new stats design
 * - Prevent swapping to an invalid target language
 * - Improved analytics page for CX

Disambiguator

 * - Set manifest_version in extension.json
 * - Fixing configuration instructions in README.md

DonationInterface

 * - Make mustache form card selection act like GC
 * - Annotate some more vars and methods
 * - Initial validation for mustache forms
 * - Use generic payment_submethod in mustache inputs
 * - Get rid of special test functions
 * - Mustache l10n - use additional parameters
 * - PaymentMethod spec combines metadata from all levels
 * - Finish removing hardcoded nobody@wikimedia.org
 * - Stage email first, use staged for dependent values
 * - Redirect to failure page when the gateway is disabled
 * - Quit setting default email in form
 * - Remove debit cards from Brazil form
 * - Remove template debug logging
 * - Remove Unused Javascript from GlobalCollect gateway
 * - Specify class name in mustache l10n
 * - Move contents into mustache partial
 * - More logic for mustache forms
 * - Add Astropay to form settings for BR/CC
 * - Refactor form resource loading
 * - Add appeal to mustache data
 * - Fix Mustache l10n array-to-string warning
 * - Quit wasting translators' time with test pages
 * - Rebrand WorldPay -> Worldpay
 * - Validate gateway first
 * - Make configuration testable
 * - red pen stuff
 * - Add some new (UNUSED) globals that will toggle gateway availability
 * - Be consistent about forms whitelisting
 * - Build special page with the correct case
 * - Odd untranslated label issue in zipcode title
 * - Test a GlobalCollect API response
 * - Minor cleanup
 * - Copy GlobalCollect form and make it mustache-y
 * - Use $.on in place of deprecated $.live
 * - l10n for mustache
 * - cleanup
 * - Do queue stuff in Astropay ResultSwitcher
 * - Run antifraud filters before redirecting to Astropay
 * - Reset all singletons after each test

Echo

 * - Use intval to make string concatenation in DB query less scary
 * - Merge MWDbEchoEmailBundler into MWEchoEmailBundler, remove abstraction layer
 * - Merge MWDbEchoEmailBatch into MWEchoEmailBatch, remove abstraction layer
 * - Move all PHP code into includes/
 * - Remove dead dismiss code
 * - Use mw.Api.postWithToken to automatically re-try badtoken errors
 * - Remove pre-MW 1.22 compatability code
 * - Pass uselang=user to the API instead of figuring it out client side
 * - ext.echo.special depends upon mediawiki.api
 * - build: Updating development dependencies
 * - Fix new talk page message notification
 * - The job queue does not run against multiple wikis at once
 * - Don't depend on global grunt install
 * - Use "elseif", not "else if" in PHP
 * - Cleanup LoadExtensionSchemaUpdates hook
 * - Require Resources.php in entry point
 * - Don't pollute $GLOBALS in Resources.php
 * - The OBOD is orange
 * - Kill $wgEchoCohortInterval
 * - Standardize doc spacing
 * - Kill $wgEchoBackendName
 * - Simplify registration of EventLogging modules
 * - s/wfRunHooks/Hooks::run/
 * - Remove todo that we're not going to do
 * - Make processEchoEmailBatch check that Echo is actually enabled before doing anything
 * - Allow new notifications to be created with old timestamps

EventLogging

 * - Processor's output-invalid now sends an error json object with the error message and the raw event
 * - Update ResourceLoaderSchemaModule::getDependencies method signature
 * - Add optional output for invalid events
 * - Fix topic passed to ensure_topic_exists in kafka writer
 * - Kafka handlers now read brokers out of URI path instead of query parameter
 * - Fix syntax error with newline in error message
 * - Allow Kafka writers topic and message keys to be configured using event information
 * - Modify forwarder to produce multiple outputs
 * - Remove redundant ResourceLoaderModule::getModifiedTime implementation

ExtensionDistributor

 * - Record downloads with EventLogging
 * - Set manifest_version in extension.json

FlaggedRevs

 * - Avoid post-redirect parse for certain edits
 * - Avoid extra post-save parse that can sometimes occur
 * - Updated numUsersWatchingPage to use recentchanges

Flow

 * - Add ParserOutput timestamp to fix Wikibase exception
 * - Fix FlowPostMetaActionTests
 * - More contrast on the gray lines that indicate tangents
 * - Comment out API request initializing DM for now
 * - Skip query that's known to fail under certain conditions
 * - Use LoggerFactory to get a Psr\Log instance
 * - Remove unused global declaration
 * - build: Updating development dependencies
 * - Cleanup duplicated/unused messages and make easier to grep
 * - Fix regression; summary was not being shown due to wrong structure
 * - Use getHashObject to make dm items hashable
 * - Show unpatrolled flag in watchlist and recent changes
 * - Store side rail state in user preferences
 * - Only change editor preference if user makes a change
 * - Remove no-op test
 * - board: Use 'ease' instead of 'linear' for transition
 * - Add small comments to clarify page-creation during import
 * - Update obsolete JS comment
 * - Update topic star tooltip text
 * - Make side rail text bigger
 * - Create a basic data model layer for Flow JS
 * - Don't attempt to convert pages that have just been converted
 * - Abort early if already converted
 * - Get rid of timeouts in ve init
 * - Fix users getting notifications despite not having Special:NewMessages.
 * - Improve registration of Echo notifications
 * - Follow-up f7015eb5e4: add mw-content-{ltr,rtl} for all non-view actions
 * - Fix timestamp of notifications generated by lqt-import
 * - Only copy templates above first section into Flow's header
 * - Don't log exception when missing permissions, just ignore it
 * - Force white background for both VE and wikitext editors
 * - Added tooltip to watchlist star (T71811)
 * - Move function from Resources.php to Hooks.php
 * - Don't log exception when missing permissions, just ignore it
 * - Remove @noflip from h2.flow-board-header-title
 * - Make sure no other user-locators cause notifications during lqt-import
 * - Use default LightnCandy handlebars directive
 * - New compiled templates for Lightncandy version 21
 * - Watch and unwatch had the no-js experience
 * - Add OAuth support to Flow

Gadgets

 * - Update GadgetResourceLoaderModule::getDependencies method signature
 * - Added a blind 10 second TTL to loadStructuredList for local caching
 * - Set manifest_version in extension.json

Gather

 * - build: Add explicit dependency upon grunt-cli
 * - Hygiene: Refactor how we generate collections from api
 * - Don't load Gather on all pages
 * - Filter lists by item count
 * - Add (gli_gl_id, gli_namespace, gli_title) index
 * - QA: Fix create collection selector
 * - Track collection item counts
 * - Use mw-ui button with spinner for the create collection button
 * - Add sort "namespace,title" sort option for listpages
 * - Edit icon goes in title when description is empty.
 * - Fix headers on desktop when editing a collection
 * - Update mediawiki/codesniffer to 0.2.0 and fix issues
 * - Remove button with spinner to fix iOS tap not capturing
 * - QA: Support tag for temporarily skipping tests
 * - Fix pagination on moderation view
 * - Add UserMerge hooks for gather_list.gl_user
 * - Reflect upstream infrastructure change
 * - Set manifest_version in extension.json
 * - Ensure collection items are rendered correctly in rtl languages
 * - Fix warnings in Gather due to non-explicit position
 * - QA: Use beta for Gather tests, make rule more generic

GlobalBlocking

 * - Remove i18n shim

GlobalCssJs

 * - Set manifest_version in extension.json

GlobalUserPage

 * - build: Updating development dependencies

Graph

 * - Set manifest_version in extension.json
 * - For now, disabled word clouds until Vega is fixed

ImageMetrics

 * - build: Updating development dependencies

Listings

 * - Set manifest_version in extension.json

MassMessage

 * - Update mediawiki/codesniffer to 0.2.0 and fix issues
 * - Set manifest_version in extension.json

Math

 * - Add required arguments to ParserAfterParse hook call
 * - Add mathtex as default to the LaTeXML options

MobileApp

 * - Center edit pencil icon active state
 * - Fix width of collapsed infoboxes.
 * - Update Less files to accommodate updated image resizing approach

MobileFrontend

 * - Remove the notifications button properly
 * - Size the Special:Nearby refresh icon correctly
 * - Fix black bar in header on older devices
 * - Hygiene: Use getter to get main menu and header html
 * - Hygiene: Adjust chrome header generation for templating
 * - Use the correct inner variable name
 * - Add basic support for patrolling on mobile
 * - QA: Refactor flaky diff test to use API for initial state
 * - Revert "Hygiene: Remove getLanguages and getLanguageVariant wrappers"
 * - Hide JS-only main menu links when JavaScript is off
 * - Hygiene: Prepare renderContent function for templates
 * - Fixing formatting of buttons in main menu with Javascript off
 * - QA: Fix flaky notifications step by waiting on resource ready state
 * - Hygiene: Remove getLanguages and getLanguageVariant wrappers
 * - Hygiene: Generate banners in stable via templates
 * - Hygiene: Remove main menu template data wrappers
 * - Allow view to be the template
 * - Hygiene: Use invert to generate light coloured close icon
 * - Fix oojs ui icon naming conflict
 * - Fix composer phpcs test
 * - QA: Adjustments to make tests pass
 * - Load message box styles only when needed
 * - Client side code should use message boxes rather than alert
 * - QA: Upgrade mediawiki_selenium for fix to SauceJobs reporting
 * - Move Category button to beta
 * - Hygiene: Icons should support hrefs
 * - Sandbox alpha and beta styles from stable
 * - Message box standardisation (step 1)
 * - Hygiene: Rename resources folders to reflect modules
 * - Alpha, Beta: Center align the contents of Special:History
 * - QA: @skip VisualEditor tests
 * - QA: Make opt in to beta step quicker
 * - QA: Increase timeout for toast notification check
 * - QA: Mark all editing tests with @edit tag
 * - QA: Remove dead tests
 * - QA: Temporarily skip basic site scenarios
 * - QA: Fix page actions receive notification scenario
 * - QA: Fix broken redirects tests
 * - Correctly align the heading edit icon
 * - Fix SpecialMobileDiffTest#testNames test
 * - Fix the last modified bar regression for cached pages
 * - QA: history link now inside #mw-mf-last-modified
 * - QA: Support tag for temporarily skipping tests
 * - Kill 'Read in another project' in alpha
 * - Correctly determine if a license message should be printed or not
 * - Disable broken test "SpecialMobileDiffTest::testNames"
 * - Title::__construct takes no arguments
 * - ApiMobileView: Use a boolean for some properties
 * - Tooling: Run jsduck against every patch
 * - Fix Schema#samplingRate documentation
 * - Generalize the Schema sampling code
 * - Load main page styles only on main page
 * - Move special page styles to module only loaded on special pages
 * - Remove the phplint.sh dev script
 * - i18n: Fix category message texts.
 * - ForeignApi: Allow posting for anonymous users
 * - Fix Style-position warnings
 * - Hygiene: Move searchForm into includes folder
 * - Icons in beta should be loaded via JavaScript

Nuke

 * - Set manifest_version in extension.json

OpenStackManager

 * - Remove ldap host-entry creation and deletion from OSM.
 * - Use fqdn instead of ecid for ldap host dn
 * - Refer to $user the correct way
 * - Introduce 'editallhiera' permission
 * - Remove code to specify sudoer host.

PageTriage

 * - Update ResourceLoaderSchemaModule::getDependencies method signature

ParserFunctions

 * - Set manifest_version in extension.json

PdfHandler

 * - Set manifest_version in extension.json

Renameuser

 * - Set manifest_version in extension.json
 * - allow the new username to be populated by subpage

SandboxLink

 * - Update mediawiki/codesniffer to 0.2.0

SemanticForms

 * - Got autocomplete for #forminput working again - fix for a75d58a
 * - Add .jshintignore for libs/
 * - Made Special:FormEdit unlisted in Special:SpecialPages
 * - Removed numbered params option for #formlink and related functions
 * - Another fix for Cargo 0.8
 * - Stop using StripState
 * - Unbreak tests
 * - Unbreak tests by adding missing entries to $wgAutoloadClasses
 * - Changed tabbing to fit with other JSON files

ShortUrl

 * - Make README reflect reality of LICENSEs

SyntaxHighlight_GeSHi

 * - Compare against '$geshi->error' instead of '$geshi->error' in prepare
 * - build: Updating development dependencies
 * - Remove redundant ResourceLoaderModule::getModifiedTime implementation
 * - Remove redundant position code defined in ResourceLoaderWikiModule
 * - build: Use npm for repo testing (jshint, jsonlint, jscs, banana)
 * - Explicitly define module position

TemplateData

 * - build: Switch from grunt-jscs-checker to grunt-jscs
 * - build: Updating development dependencies
 * - Update mediawiki/codesniffer to 0.2.0
 * - Fix ResourcesTest::testUnsatisfiableDependencies test failure
 * - Use valid spdx license identifier
 * - test: Read i18n directories for banana-checker from extension.json
 * - test: Add explicit dependency upon grunt-cli
 * - Sync extension.json, empty PHP entry point

TemplateSandbox

 * - Remove i18n shim file from TemplateSandbox.php
 * - Set manifest_version in extension.json

Thanks

 * - Use __DIR__ directly
 * - Add explicit dependency upon grunt-cli
 * - build: Updating development dependencies

TimedMediaHandler

 * - Consistently use "mw", "mediaWiki" and "jQuery" as globals instead of properties

TitleBlacklist

 * - Set manifest_version in extension.json

TocTree

 * - Use HTTPS url to mediawiki.org

Translate

 * - Fix the grammar of an apihelp message
 * - Add a missing # in an HTML entity in a message

UniversalLanguageSelector

 * - Update ResourceLoaderULSJsonMessageModule::getDependencies method signature
 * - Update jquery.ime to b3f68eb6f8
 * - Update jquery.uls to 9386f1cf94

UploadWizard

 * - Fix conditional deed step skipping for Flickr
 * - build: Updating development dependencies
 * - Test API now exit 1 on failure
 * - QA: Upgrade mediawiki_selenium to 1.2.0 for Raita support
 * - Flickr upload form: Make button of type=submit

UserMerge

 * - Convert to extension registration

VectorBeta

 * - Set manifest_version in extension.json

VisualEditor

 * - Update VisualEditorDataModule::getDependencies method signature
 * - VisualEditorDataModule: Use definition summary instead of time tracking
 * - Update VE core submodule to master (f821c6e)
 * - Omit extension attributes with an undefined value
 * - ve.ui.MWTitleInputWidget: Restore 've-ui-mwTitleInputWidget' CSS class
 * - build: Updating development dependencies
 * - Empty all inputs on link inspector teardown
 * - Move cursor to end when changing link mode
 * - Update VE core submodule to master (795550c)
 * - build: Provide a `grunt fix` task to auto-fix jscs failures
 * - Set manifest_version in extension.json
 * - Update mediawiki/codesniffer to 0.2.0
 * - Add in required calls to updateActions
 * - Always preserve input when switch between internal/external links
 * - Unregister core image types
 * - Move test registry hacks into QUnit setup/teardown hooks
 * - ve.dm.MWTemplateSpecModel: Account for data.maps being undefined
 * - Update VE core submodule to master (83d45d1)
 * - Account for MWTitleInputWidget having been moved into MW core
 * - build: Bring over git-status improvements from core
 * - Revert "Update extension.json and empty out PHP entry point"
 * - Update VE core submodule to master (6c72553)
 * - Update extension.json and empty out PHP entry point
 * - mailmap: Add an additional e-mail for Bartosz per request
 * - Use more appropriate RecentChange_save hook for tagging
 * - Make sure reference result menu can wrap

WikiEditor

 * - Update mediawiki/codesniffer to 0.2.0
 * - Set manifest_version in extension.json

WikiGrok

 * - build: Add explicit dependency upon grunt-cli
 * - Update OK and Okay for consistency
 * - Make error titles easier to translate

Wikidata

 * - Update Wikidata - fix property label constraints bug

WikimediaEvents

 * - Log 'resourceloader.forbidden' events from readers
 * - Log 'resourceloader.forbidden' events with ModuleLoadFailure schema
 * - Add global ext.wikimediaEvents.loggedin and ext.wikimediaEvents
 * - Report time to first edit as `ttfe`

WikimediaMaintenance

 * - Remove interwiki replacement SQL files

WikimediaMessages

 * - Flow: Fix to use up to date keys and point to right messages
 * - modules: Add position=top to style module
 * - Fix incorrect args for hook EditPageCopyrightWarning
 * - Update AffCom ContactPage messages per AffCom request

MonoBook

 * - Set manifest_version in skin.json

Nostalgia

 * - Set manifest_version in skin.json

Vector
MEMZAT10 50.103.218.16Q|AΏÁ
 * - Remove superfluous whitespace from HTML output
 * - Run phplint and phpcs through "composer test" entry point
 * - Trying to clean this up a bit
 * - Set manifest_version in skin.json