MediaWiki 1.27/wmf.4/Changelog

Core changes

 * - Updated mediawiki/core
 * - Restore TitleMoveComplete by-reference flags to avoid errors
 * - Revert "Enforce stricter slave lag limits for bot API requests"
 * - Follow-up to Ie3499d
 * - mediawiki.jqueryMsg: Lazy-initialize parsers with getFailableParserFn
 * - mediawiki.jqueryMsg: Remove 'astCache'
 * - registration: Support custom classes in "ResourceModules" schema
 * - Completely defer EditPage::updateWatchlist
 * - resoureloader: Consolidate styles-only queue at the top
 * - Get rid of CSS transitions on form elements in mediawiki.ui
 * - Language::truncate: don't chop up multibyte characters when input contains newlines
 * - Remove begin/commit transaction calls in refreshLinks.php
 * - Reset serialize_precision to stabilize tests
 * - JavaScriptContentTest: $wgScript != $wgScriptPath
 * - Improve DBReadOnlyError/DBExpectedError page title
 * - Convert doDeleteArticleReal to startAtomic/endAtomic
 * - Migrate more callers away from $wgMemc
 * - LoggerFactory: Only check for Psr\Log\LoggerInterface once
 * - PrefixSearch: avoid looking for titles that don't exist
 * - resourceloader: Deduplicate module registration conflicts
 * - filebackend: Remove some old Content-Disposition b/c code
 * - Make Swift backend respect Content-Type in create/store
 * - Installer: use _MainCacheType form variable
 * - mw.ForeignStructuredUpload: Mark description as being in source wiki's content language
 * - Changed paths to package dependency file
 * - TitleOptionWidget: Only set grey bg for icons
 * - Convert getMagickVersion to using APC
 * - Convert ForeignApiRepo::httpGetCached to the WAN cache
 * - Make DateFormatter::getInstance use APC
 * - Remove unused fields from User
 * - Preprocessor: Use correct cache prefix for the subclass
 * - Consolidate common Preprocessor caching code
 * - Database::__construct: Don't set $mTrxAtomicLevels to an SplStack
 * - Special:Upload Fire wikipage.content hook
 * - installer: Remove additional newline in LocalSettings.php
 * - Update CACHE_MEMCACHED to not used newMemcached
 * - In UploadStash, prioritize core metadata over file handler metadata
 * - Use the new 'difftotextpst' option of prop=revisions API in live preview script
 * - Measure commitMasterChanges run time
 * - Protect WAN cache sets against uncommitted data
 * - ObjectFactory: avoid using ReflectionClass
 * - objectcache: Remove outdated comment about back-compat defaults
 * - Fix bogus calls to encodeKey/decodeKey in the PHP memcached class
 * - Move some memcached classes to /libs
 * - Validate status codes returned from the AbortLogin hook
 * - Move MemcachedBagOStuff b/c logic to ObjectCache
 * - Remove some MW dependencies from RedisConnectionPool
 * - Make DBReadOnlyError extend DBExpectedError
 * - Move MultiWriteBagOStuff to /libs
 * - Make sure, that a tags and input tags with mw-ui-button has the same height
 * - Update grunt-jsonlint to 1.0.5
 * - Enforce stricter slave lag limits for bot API requests
 * - Provide some default $wgRateLimits values
 * - Add wfWaitForSlaves to HTMLCacheUpdateJob
 * - Fixes to MemcachedBagOStuff::makeKeyInternal
 * - Remove paranoid title check from RefreshLinksJob::runForTitle
 * - Escape colons in BagOStuff key segments
 * - Ensure all key transformations are applied by BagOStuff::makeKeyInternal
 * - Minor fix to primeFileCache comment
 * - Fixes related to WikiPage::triggerOpportunisticLinksUpdate
 * - Web installer should not pollute global namespace with session variables
 * - Install link to Manual:Combating_spam on the home page
 * - Improve normalization and sanitization of memcached keys
 * - installer: Define $wgResourceBasePath in LocalSettings.php
 * - poolcounter: Add 'trigger' field to the slow-parse log
 * - Remove buggy b/c logic in Parser::disableCache/updateCacheExpiry
 * - Setup.php: Remove incorrect comment
 * - Throw Exceptions on preg_* failures in MagicWordArray::matchAndRemove
 * - mediawiki.notification.css: Avoid horizontal scrollbar on fade in and fade out
 * - mediawiki.notification: Use CSS tranforms for in/out animations
 * - Reduce DBPerformance warning spam for jobs a bit
 * - Displaying search results for multiple wikis
 * - Use ImportStringSource for simple import sources
 * - Revert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form"
 * - Fix ChangeTag "lockTSE" values as INF does not actually work
 * - Make LinksUpdate::__construct use normal type hints
 * - mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form
 * - Properly make LinksUpdate be recursive when done from job queue
 * - Cleanup on Special:AllPages and Special:PrefixIndex
 * - Move CAPTCHA messages into ConfirmEdit and update class names
 * - Move Special:PageLanguage to the pagetools group on Special:SpecialPages
 * - JobQueueRedis::doBatchPush: report metrics even when failures occur
 * - jobqueue: track real job inserts as 'inserts_actual'
 * - Make TransactionProfiler show the actual query times
 * - Make LinksUpdate job spec use "refreshLinksPrioritized"
 * - Remove old ProfilerOutputUdp class
 * - Bound BagOStuff::lock RTT estimate for sanity
 * - Add WRITE_SYNC flag to BagOStuff::set/merge
 * - objectcache: Fix grammar error in BagOStuff::getWithToken doc
 * - Make DeferredUpdates::doUpdates always commit per task
 * - Make hookErrorHandler only care about serious signature errors
 * - TemplateParser: Use context makeKey instead of wfMemcKey
 * - mediawiki.api: Don't hold references to finished requests forever
 * - Fix transaction warnings on test cleanup rollback
 * - Send X-Database-Lagged header to help with debugging
 * - Convert MovePage to startAtomic/endAtomic
 * - mediawiki.api: Remove incomprehensible TODO
 * - Add pst option to API difftotext
 * - ApiQueryAllRevisions: Actually use 'start' and 'end'
 * - Better phrasing for the contentmodelediterror message
 * - Convert showPatrolFooter to using WAN cache
 * - mw.ForeignStructuredUpload: Rearrange messages to always display license name
 * - Replace some calls to wfGetMainCache
 * - Remove wgAlwaysUseTidy from ExpandTemplates
 * - Improve MultiWriteBagOStuff::merge cross-DC performance
 * - resourceloader: Remove CacheEpoch from MessageBlobStore::getFromDB
 * - mw.ForeignStructuredUpload: Provide category suggestions from the right wiki
 * - Improve documentation of $wgShowRollbackEditCount
 * - Add IDatabase::isReadOnly method
 * - Make DB handles inherit configured read-only mode
 * - Add check for RCWatchCategoryMembership before trying to access form option
 * - Push post-edit RefreshLinks jobs into 'refreshLinksPrioritized'
 * - mediawiki.Upload: Don't choke on nameless or dateless files
 * - Remove $wgAjaxWatch configuration variable
 * - Sync up with Parsoid parserTests.
 * - Make JobQueueRedis stat calls match the DB one
 * - Enable users to watch category membership changes #2
 * - resourceloader: Wrap another CSSMin::remap call in MemoizedCallable::call
 * - Make triggerOpportunisticLinksUpdate directly use RefreshLinks
 * - Remove DeferredUpdates::doUpdates call in CLI scripts
 * - Inject MultiWriteBagOStuff addCallableUpdate dependency
 * - Fix undefined variable in User::setNewpassword
 * - mw.Upload.BookletLayout: Pass image info when emitting the fileSaved event
 * - docs: mw.Upload.Dialog: Add another usage example in introduction
 * - Database::selectRowCount: support $join_conds
 * - CacheLRU: Simplify >0 assertion and remove verbose inline comment
 * - resourceloader: Disable flaky test ResourceLoaderModule::getVersionHash
 * - build: Use my gmail address for attribution
 * - jquery.tablesorter: Minor coding style cleanup and DRY
 * - Update ResourceLoader for Ib7fc2f939b
 * - Rename getMainClusterInstance -> getLocalClusterInstance
 * - Remove ObjectCache dependency from MultiWriteBagOStuff
 * - objectcache: Remove getWithSetCallback signature backwards-compatability
 * - Fix bad call to Database::getCacheSetOptions
 * - Add make(Global)Key method to WANObjectCache
 * - More SquidUpdate cleanups
 * - Convert some users to WANObjectCache for consistency
 * - Deprecate redundant SquidUpdate::newSimplePurge
 * - Make attributes explicit
 * - ApiDelete: Don't pass $user to ChangeTags::addTags
 * - SquidUpdate cleanups
 * - Fix Maintenance typo
 * - Use responsive CSS columns on Special:PrefixIndex and Special:AllPages
 * - mediawiki.js: Show line number of caller of mw.log.warn and .error
 * - Avoid creating lots and lots of cat_id gaps
 * - Category::refreshCounts: Save new counts using upsert
 * - Handle revisions with different content models in EditPage
 * - Avoid exposure of local path in PNG thumbnails
 * - SECURITY: RevDel: Check all revisions for suppression, not just the first
 * - SECURITY: API: Improve validation in chunked uploading
 * - SECURITY: Throttle uploads
 * - Clarify that ParserOutput::getDisplayTitle returns HTML.
 * - clone is not a function
 * - mw.ForeignStructuredUpload.BookletLayout: Switch order of widgets
 * - Typo in comment of Html::radio
 * - zhtable makefile: Remove unused variables, fix almost all pep8 errors
 * - ApiMessage: Improve documentation
 * - Remove unused ApiQueryORM
 * - Make Special:Redirect work for blocked users and in read-only mode
 * - Mention WANObjectCache::TTL_INDEFINITE in set method
 * - Use specified pageId for LinksDeletionUpdate→DeleteLinksJob
 * - More specific @return doc in WikiPage::getDeletionUpdates
 * - Added a parenthetical to fileextensions description
 * - Improve the API help for format=xmlfm
 * - Remove "activeusers-updated" cache key usage
 * - objectcache: Rename WANObjectCache TTL_NONE to TTL_INDEFINITE
 * - Re-enable last phpcs rule
 * - Add $suppress to ArticleDelete hook
 * - Use the frame 'type' in wfFormatStackFrame, like MWExceptionHandler::prettyPrintTrace
 * - mediawiki.special.preferences: Use standard IIFE
 * - Mark Title::setFragment as @private
 * - adding 7zip archives to the MIMEs
 * - Handle $frame['function'] not being set in stack frames
 * - Use correct @codingStandardsIgnore in DairikiDiff.php
 * - Remove empty comment line from GlobalTest.php
 * - Fix array index spacing in ResourceLoaderEditToolbarModule
 * - Add curly braces to while
 * - Revert "Add // @codingStandardsIgnoreFile to FormatMetadata"
 * - Change some comment style in userOptions.inc
 * - Move comment in backup_PageTest.php
 * - Remove empty line comments
 * - Change some line comments to multi line comments
 * - Move the "shit" out
 * - Show a confirmation message on Special:UserRights
 * - Move release notes about mw.Upload and friends to 1.26
 * - User: Mostly remove password handling
 * - Remove unused mw.Upload.BookletLayout messages
 * - Do not double load gallery styles now cache has expired
 * - LoadBalancer::getLaggedSlaveMode needs to know about the wiki
 * - Update OOjs UI to v0.12.12
 * - Move styles for Special:FileDuplicateSearch to mediawiki.special
 * - Move some styles of convenience links to mediawiki.special
 * - Revert "mediawiki.widgets: Add temporary workaround for upstream oojs-ui bug"
 * - jquery.tablesorter: use of expand-child class
 * - Add recentChangesLine to ChangesList
 * - Of course EmailNotification::updateWatchlistTimestamp returns users ids
 * - Add `makeKey` and `makeGlobalKey` to BagOStuff
 * - Add missing scope to ChangesListSpecialPage methods
 * - ApiBase::PARAM_DFLT => null is the default anyway

AbuseFilter

 * - Avoid pointless range scan for 'load-recent-authors'
 * - Increase AbuseFilterTokenizer cache TTL from 10m to 1d
 * - Track tokenizer cache hits / misses
 * - Use isset to check array element exists rather than relying on @ operator
 * - AbuseFilter: don't install custom error handler
 * - Don't add a log entry if the block wasn't inserted
 * - Update getWithSetCallback callers to the newer signature

Babel

 * - Add basic tests for all public methods in all classes
 * - Add missing authors @metadata to aeb-arab and aeb-latn

CentralAuth

 * - Show global edit count on Special:GlobalRenameQueue process form
 * - Ensure that force renamed user exists before logging
 * - Add statsd metrics for SUL migration renamed accounts
 * - Check read-only mode for central DB
 * - "account exists" messages reworded

CirrusSearch

 * - Connection should use setConnectTimeout and not setTimeout
 * - add missing ResultSet::hasInterwikiResults implementation
 * - Make overrideMoreLikeThisOptionsFromMessage use APC
 * - Add --forceParse UpdaterFlag and option in forceSearchIndex script
 * - Displaying search results for multiple wikis
 * - Final tweaks for cross-cluster index copy script
 * - Added justMapping option to updateOneSearchIndexConfig
 * - timestamp -> ts in CirrusSearchRequestSet
 * - Log in new format compatible with avro schema
 * - Handle ElasticaWrite job failures internally
 * - Remove loggingSchema/search.js
 * - Remove unused code from CirrusSearch File
 * - Split connection to source and target.
 * - Report common terms usage to javascript
 * - Add support for connect timeout
 * - Fix update_general_api.feature:9
 * - Fails gracefully when running a job for an unknown cluster

Cite

 * - Avoid counting arrays if not needed
 * - Do not double-parse 'cite_error_references_duplicate_key' error message
 * - Display 'cite_error_references_duplicate_key' next to the affected ref

Citoid

 * - Disable input field on lookup, too
 * - Check lookup button state when handle input 'enter' event
 * - ReferenceWidget: Rename view to preview

ConfirmEdit

 * - Properly isolate reloading functionality, drop createacct name
 * - ReCaptchaNoCaptcha: Fix undefined function call to logStatusError

ContentTranslation

 * - Dashboard: Reduce padding around the translation & suggestion list items
 * - build: Updating development dependencies
 * - Improve apihelp messages grammar
 * - Discard and favorite the suggestions
 * - Remove version specification from extension.json
 * - Handle invalid title when loading the source
 * - Log the save and restore failures to eventlogging system
 * - Fix conditions that check whether a section should be saved
 * - Correct checkAndSave capitalization
 * - Set word-wrap on the column titles
 * - Trigger an input event after adding a red link

DonationInterface

 * - Stage risk_score before signature
 * - Remebmer appeal, make RapidHTML use configurable default
 * - Build expected XML with same merchant ID as actual
 * - Fix name of staged variable risk_score
 * - pass donation amount in return url
 * - error and reload if session expired on api call
 * - require payment method for worldpay esop
 * - Replace call to old wfMsg function
 * - Just send IsCVNMEM with every request
 * - Send IsCVNMEM with PT request

Echo

 * - API: Remove pre-1.25 compat code
 * - ApiEchoNotifications: Remove unused variable
 * - Don't use $wgLang in DataOutputFormatter
 * - Require $user parameter in DataOutputFormatter::formatOutput
 * - Browser tests: using mw_selenium 1.5 because 1.6 is broken
 * - EventLogging: Make sure eventId is an integer
 * - Clean up and refactor formatting system
 * - SECURITY: Handle suppressed usernames in non-revision based events

EducationProgram

 * - Use startAtomic/endAtomic to avoid nested transaction errors
 * - Fix makePageLinks signature errors

EventLogging

 * - Block mysql consumer if the queue is too big
 * - ext.eventLogging.subscriber: Minor code clean up
 * - Update grunt-contrib-jshint to 1.11.3
 * - Include schema and revision of errored event in EventError if it can be parsed
 * - Stop testing py3.x by default
 * - Use SyntaxHighlight_GeSHi::highlight for syntax highlighting

FlaggedRevs

 * - Remove DeferredUpdates::doUpdates call in CLI scripts
 * - Avoid excessive query load from reviewedEditsCheck

Flow

 * - Add templates to talkpage and Flow board during opt-out
 * - Increase the spacer to show the full menu
 * - Revert "Adapt to Parsoid/RESTbase renaming scrubWikitext to scrub_wikitext"
 * - Fix cache key construction
 * - Add hack to make VE education popups go away
 * - Remove RC spam for moderated topics
 * - Ensure memcached keys are valid ASCII
 * - Merge two PagerTest together
 * - Update comments to reflect removal of wgFlowOccupyNamespaces.
 * - Run contentlength filter first, as it's the fastest
 * - Add RateLimits SpamFilter
 * - Do not hide menu behind page footer
 * - Display "Unknown topic" when the requested topic is from another wiki
 * - Add $flags to set to match core
 * - BagOStuff::delete no longer accepts 2 args
 * - Refactor the initialization of 'undo' actions
 * - AbuseFilter: Get user from context instead of at initialization
 * - Wrap body-only HTML in tags when parsing
 * - Style categories the same in nojs and js Flow
 * - Allow changing of editable state to revisions and their widgets
 * - Browser tests: make NewFlowPage always go to a new page
 * - Don't remove content model in action=info for Flow pages
 * - Optin beta feature links to mw.org
 * - Temporarily disable RESTbase support to avoid data-parsoid issues
 * - Check for null edits using wikitext format
 * - Browser tests: Wait for a button to exist before trying to click it
 * - ElsaticaConnection doesnt have a constructor
 * - Display clean titles for categories
 * - Remove existing categories from DOM after the widget ate them
 * - Update compiled Handlebars files
 * - Browser tests: add @integration to some tests
 * - Fix edit board description
 * - Fixing summarize after resolve topic
 * - Browser tests: Use button text instead of title

Gadgets

 * - Add wgQueryPages hook for Special:GadgetUsage page
 * - Fix escaping in Special:GadgetUsage.
 * - Remove position default logic
 * - Remove double whitespaces
 * - Add a special page to show number of users for each gadget on the wiki

Gather

 * - Don't depend on skins minerva module referred to in FIXME
 * - Use latest settings API. No longer depend on MobileFrontend
 * - Release 0.5.0 of Gather
 * - Switch default branch from 'master' to 'dev'

GlobalCssJs

 * - Remove position default logic
 * - Add help link to global JavaScript & CSS pages

GlobalUserPage

 * - Use Title::getOtherPage

Graph

 * - Updated LICENSE

Interwiki

 * - build: Updating development dependencies

Math

 * - build: Updating development dependencies
 * - Fix "Call to a member function getIsPreview on a non-object (NULL)"
 * - Fix syntax error
 * - VE: Add a '<math' sequence

MobileFrontend

 * - Change BackToTop color from constructive (green) to progressive (blue)
 * - Hygiene: Generalise search api requests across MobileFrontend
 * - Hygiene: Introduce Toggler class, kill toggle instance
 * - Made MobileFrontendSkinHooks::getTermsLink public
 * - Hygiene: Remove SearchApi
 * - Save mobile mode settings across devices
 * - Don't pollute global wgResourceLoaderLESSImportPaths
 * - Add test for searching more than once, allow disabling of sampling
 * - Make the API consistently return the displaytitle as HTML.
 * - Hygiene: Reflect true location of skin instance.
 * - QA: Browser test fixes
 * - Hygiene: Kill no longer cached ResourceLoader modules

MultimediaViewer

 * - Add some error details to bug report
 * - Ignore case in file extension checks

MwEmbedSupport

 * - Remove duplicate definition of mw.mergeConfig

Nuke

 * - build: Updating development dependencies

OAuth

 * - Add missing message mwoauthdatastore-callback-not-found
 * - Handle empty return from MWOAuthDataStore::lookup_consumer
 * - Ensure Consumer key and Access Token Consumer match
 * - Check IP when communicating with Consumer

OpenStackManager

 * - Add missing right-* messages

PageTriage

 * - SECURITY: Encode history URL in review toolbar

Petition

 * - Check if the DB is read-only in petitionSubmit

Popups

 * - build: Updating development dependencies
 * - Update Gruntfile.js
 * - Remove dead space
 * - ext.popups.renderer.article.js: Use mw.RegExp.escape for RegExp escaping

ProofreadPage

 * - build: Configure jscs and jshint via `npm test`
 * - Remove wmf-specific check from ProofreadPageInit
 * - build: Configure banana-checker and jsonlint
 * - Add missing @metadata block to aeb-arab.json
 * - Replace call to old wfMsgForContent function

RelatedArticles

 * - Add Related Articles section to Minerva
 * - build: Updating development dependencies
 * - Clear extension data in ParserClearState handler

Renameuser

 * - Use DatabaseBase::addQuotes for timestamps
 * - Make use of newer useTransactionalTimeLimit
 * - Batch the updates done for page delete/restore handling
 * - Remove misleading comment
 * - build: Updating development dependencies
 * - Make jobs wait for slaves after each batch
 * - Enhance phpdoc for the RenameuserSQL constructor

Score

 * - VE: Add a '<score' sequence

Scribunto

 * - Localization updates for Scribunto.namespaces from Meta

SecurePoll

 * - wm-scripts: Update dblist path in bv2015/doSpam.php
 * - Replace call to old wfMsg function

SemanticForms

 * - Fixed setting of Cargo field type; caused problem in Page Schemas
 * - Added 'no autofocus' param

SyntaxHighlight_GeSHi

 * - build: Updating development dependencies
 * - VE: Add '<syntax' and '<source' sequences
 * - Conversion to using newer WAN cache class
 * - Use Ace editor widget for code input
 * - Set tab size to 4
 * - Use dialog for editing block level syntax highlights
 * - VE: Remove unnecessary validation check
 * - VE: Focus, but don't open, language input on open
 * - VE: Update renamed CSS class to restore fixed width font
 * - Make SyntaxHighlight_GeSHi::highlight public

TemplateData

 * - build: Updating development dependencies

Thanks

 * - Add jquery.findWithParent to Thanks

TimedMediaHandler

 * - Add module dependencies for files in the file history
 * - iframe: Fix module position warning
 * - Do not throw errors on audio-only MP4 files
 * - Improve TMH styling
 * - Add a config switch for Theora 2-pass encoding
 * - Fix tests in TimedMediaHandler
 * - Update package.json

TitleBlacklist

 * - extension.json: Correct name and URL
 * - Remove support for MediaWiki 1.24 'AbortMove' hook
 * - Add ignoretitleblacklist to account creation API

Translate

 * - Update version before MLEB release
 * - MessageUpdateJob: Remove use of deprecated EDIT_DEFER_UPDATES
 * - SpecialPageTranslationMovePage: Don't pass strings to Title::newFromText

UniversalLanguageSelector

 * - Sync resource loader deps in extension.json and Resources.php
 * - Update version before MLEB release
 * - build: Updating development dependencies
 * - Update jquery.uls localization for be-tarask, ja, kab, nah

UploadWizard

 * - Replace jquery.removeCtrl with an OO.ui.ButtonWidget
 * - Prevent category selector tipsies from hanging around forever
 * - More documentation tweaks
 * - Enable jscs-jsdoc's remaining rules and make pass
 * - build: Enable jscs-jsdoc's 'requireNewlineAfterDescription' rule and make pass
 * - build: Enable jscs-jsdoc's 'requireParamTypes' rule and make pass
 * - build: Enable jscs-jsdoc's 'requireReturnTypes' rule and make pass
 * - build: Enable jscs-jsdoc's 'checkAnnotations' rule and make pass
 * - build: Enable jscs rule 'requireVarDeclFirst' and make pass
 * - build: Enable three more minor jscs rules
 * - Remove erroneous spaces inside rather than outside strings
 * - Fix some JSCS errors
 * - build: Re-enable all whitespace-related jscs rules and fix them
 * - Do not double-escape help tooltips (hints)
 * - build: Upgrade jscs from v1.8.0 to v2.1.0 but disable failing rules
 * - .gitignore: Add vendor/ and composer.lock
 * - Spaces after colons
 * - More spaces in square brackets
 * - Remove unused CSS class 'mwe-upwiz-file-status-line-item'
 * - Don't create DOM nodes only to get their HTML
 * - mw.UploadWizardUpload: Remove unused 'start' method
 * - Use $.text when we want text
 * - Correctly use lowercase for @param/@return {string}/{number}
 * - Add link to alternative upload methods in #contentSub
 * - Remove hacky UtilitiesTime library
 * - Remove default category for UploadWizard files

UserDailyContribs

 * - Update UserDailyContribs in a DeferredUpdate

UserMerge

 * - build: Updating development dependencies

VectorBeta

 * - build: Updating development dependencies
 * - Update indentation to use tabs

VisualEditor

 * - Revert "DesktopArticleTarget.init: Tolerate missing wgRelevantPageName"
 * - DesktopArticleTarget.init: Tolerate missing wgRelevantPageName
 * - Update VE core submodule to master (d33328d)
 * - AceEditorWidget: Use mw.loader#getState instead of private moduleRegistry
 * - mw.TargetLoader: Avoid private mw.loader#moduleRegistry property
 * - build: Upgrade mediawiki-codesniffer from v0.4.0 to v0.5.0
 * - AceEditorWidget: Use showLineNumbers instead of showGutter
 * - Create more MW sequences
 * - ve.ui.MWMediaDialog: Reset upload booklet when done uploading
 * - ve.ui.MWMediaDialog: Correct harmless typo in method name
 * - ve.ui.MWMediaDialog: Only disable 'upload' and 'save' actions on setup, not on tab switch
 * - ve.ui.MWMediaDialog: Move upload booklet init further up
 * - Add theme-specific drop shadows to target loading bar
 * - Create separate skinStyles for target loading bar
 * - Move sequence registrations adjacent to commands
 * - References: Don't load ext.visualEditor.mwreference if Cite is not installed
 * - '<ref' sequence: Trigger basic dialog if Citoid not installed
 * - Update VE core submodule to master (e1c0146)
 * - Introduce Ace editor widget
 * - .mailmap: Update e-mail addresses for David Chan and Thalia
 * - build: Use my gmail address for attribution
 * - Update VE core submodule to master (e25b3fe)
 * - ApiVisualEditor: Switch RESTbase config from 'scrubWikitext' to 'scrub_wikitext'
 * - EducationPopup: Tidy up DOM and CSS
 * - Browser tests: Fix selectors for strikethrough and underline
 * - Followup 9d6fbc894e: fix JS error in education popup
 * - Browser tests: Fix table test
 * - Browser tests: Fix media insert test
 * - Browser tests: Update link inspector tests
 * - Revert "[Browser tests] Wait for save button to be enabled"
 * - Browser tests: Add API URLs to environments.yml
 * - Link inspector: Show redlink in suggestions
 * - [Browser tests] Wait for save button to be enabled
 * - Media upload: Initialize booklet before setting file on drag drop
 * - Rename ImageTransferHandler to MediaTransferHandler
 * - Follow-up Id473b45: Call getResults on input widget
 * - Media upload: Use new setFile method
 * - Media upload: Initiate upload process on image drop
 * - Stop using raw HTML for 'visualeditor-dialog-transclusion-no-template-description'

WikiEditor

 * - build: Updating development dependencies
 * - Use mw.Upload.Dialog to upload and insert file

WikidataPageBanner

 * - WikidataPageBanner add a separate flag for toc

WikimediaEvents

 * - Update satisfaction schema id due to bad varnish caching of old id
 * - Refactor search.js to only load deps for users in test
 * - Move Schema:Search from CirrusSearch
 * - Rename search.js -> searchSatisfaction.js
 * - Roll back satisfaction schema changes to pre oct-13 deploy
 * - Move geoFeature.js into ext.wikimediaEvents module
 * - Follow-up to d72dc255ea16acae10df657dd661fe020e72e1d3
 * - Add a change tag to log and RC entry of cross-wiki uploads, too
 * - Real-time active editor metrics
 * - Increase subtest sampling from 1:1000 to 1:200
 * - Add a change tag to cross-wiki uploads
 * - Refactor search.js to only load deps for users in test
 * - Move Schema:Search from CirrusSearch
 * - Rename search.js -> searchSatisfaction.js
 * - Add common terms A/B test to search satisfaction

WikimediaMaintenance

 * - getJobQueueLengths: add '--report' option for StatsD reporting
 * - Update dblist paths
 * - Fix default paths to the all and special dblist

WikimediaMessages

 * - Uniformity among non-certified translations of Privacy Policy per request from WMF Legal Dept
 * - Add i18n messages for Meta Wiki, MediaWiki wiki and Wikispecies site links on Wikidata

ZeroBanner

 * - Fixing crashing bug - matching MobileFrontend changes
 * - Fix fatal error in ZeroSpecialPage
 * - Make interstitial title customizable

wikihiero

 * - CSS code style: spaces inside parentheses
 * - VE: Add a '<hiero' sequence
 * - build: Use my gmail address for attribution

Vector

 * - Update grunt-jscs to 2.2.0
 * - Update grunt-banana-checker to 0.4.0
 * - Update jscs to 2.1.0
 * - Update grunt-jsonlint to 1.0.5