MediaWiki 1.27/wmf.15/Changelog

Core changes

 * - [1.27.0-wmf.15] MF cache pollution debug log
 * - Rm unused $config from SpecialRecentChanges::getDefaultOptions
 * - Add access modifiers to MagicWord.php
 * - Move MagicWordArray class to own file
 * - Allow API action=logout with BotPasswords
 * - Cache user data in memory
 * - Revert "Add type hint against LinkTarget"
 * - Add CategoryMembershipChangeJobTest
 * - mail: Turn UserMailer::quotedPrintableCallback into an inline closure
 * - media: Fix casing of IPTC::parse in tests
 * - mail: Change $wgNoReplyAddress default to $wgPasswordSender
 * - Use static::class instead of get_called_class
 * - Unpersist the session on session load failure
 * - CategoryViewer: Do opportunistic category recounts for mismatched file counts, too
 * - Unpersist the session on logout
 * - Revert "Prevent duplicate memcached lookups for user record"
 * - Cleanup Cucumber tags in Selenium tests
 * - OOjs UI: CapsuleItemWidget: Revert regression on remove button in Firefox
 * - Grant 'editcontentmodel' to all sysops by default
 * - Improve code suffering from PHP 5.3's lack of support for foo[]
 * - Fix case of id on EditPage for label
 * - Remove double emphasis in strings
 * - MimeMagic: Recognise font files
 * - Replace wikitext bold and italics with and
 * - Fix comment
 * - Remove useless PHP version comparison from wfDebugBacktrace
 * - Use sync writes for replication of 'store' operations
 * - Improve SessionManager unit test coverage, and fix two namespacing bugs
 * - Consistently use Html class for form generation
 * - Prevent duplicate memcached lookups for user record
 * - Make mediawiki.action.view.redirectPage available on mobile
 * - installer: Remove obsolete config-no-cache message
 * - Release notes for "Browser support for IE8 from Grade A to Grade C"
 * - resourceloader: Remove PHP4-compat code
 * - Do not vary on session cookies when the session is disabled
 * - Add TitleMoveStarting, mirroring TitleMoveCompleting
 * - User::isSafeToLoad should return false if MW_NO_SESSION
 * - Add type hint against LinkTarget
 * - Updating docs for UserMailer::sendWithPear which calls $mailer->send
 * - ApiSandbox: Blur before sending request
 * - OOjs UI: Fix #gatherPreInfuseState called incorrectly, causing TypeErrors
 * - ApiSandbox: Convert all pluses in URL to spaces, not just the first one
 * - Add missing null type hints to Content::isCountable and implementations
 * - SessionBackend: skip isUserSessionPrevented check for anons
 * - IDatabase::commit: Docs re 'flush' exception on explicit transaction
 * - ApiQuerySearch: Match limits to those in Special:Search
 * - Fix validation error on Special:Emailuser
 * - Message.php: Update comment to current implementation
 * - Fix autofocus on Special:Activeusers
 * - Add $lang parameter to SpecialVersion::getVersion
 * - Reset scoped session for upload jobs after deferred updates
 * - Change "edit" to "create" in the message noarticletext
 * - build: Tweak jscs jsDoc rule 'checkAnnotations' and make pass
 * - Ignore noop DB transactions errors on connection loss
 * - Add missing 'public' keywords to some MediaHandler methods
 * - Initialise array with contents in one go
 * - Allow more fine-grained throttling of login attempts
 * - mediawiki.ui: Buttons should receive `max-width`
 * - Fix parserTests: Set scriptPath in setupGlobals as well
 * - Sync up with Parsoid parserTests.
 * - Revert "Log multiple IPs using the same session or the same user account"
 * - resourceloader: Remove $wgUser optimization that uses session
 * - Implement HTMLTitleTextField with suggestions for non-OOUI forms, too
 * - Add missing namespace to @covers comments
 * - Add missing namespace to @covers comment in LegacyLoggerTest
 * - parserTest: Make $wgResourceBasePath match $wgScriptPath
 * - Fix parameter parsing in parserTests.php
 * - CachedBagOStuff: cache backend misses
 * - Fix a PHP 5.5 TODO
 * - Upgrade from PHPunit 3.7.x to PHPUnit 4.8.x
 * - Avoid pointless doBatchLookups query for user contributions
 * - Update OOjs UI to v0.16.0
 * - Fix resource path check when ResourceBasePath is an empty string
 * - build: Update grunt-contrib-jshint from 0.12.0 to 1.0.0
 * - JsonContent: Call member functions with '$this->', not 'self::'
 * - Fix function call casing
 * - Add used messages to LogFormatter::getMessageKey overrides
 * - Fix class name of BcryptPasswordTest
 * - Enforce MW_NO_SESSION, add MW_NO_SESSION_HANDLER
 * - Fix session store logging
 * - Fixed Selenium tests by removing skins not installed by default
 * - mw.Title/NamespaceInputWidget: Use wgNamespaceIds for namespace constants
 * - Match html5 unquoted attribute parsing
 * - Don't URL encode titles when revdeling from Special:Undelete
 * - Add toggle checkboxes to action=history
 * - Compress PNGs with zopflipng
 * - Tidy: and are empty elements
 * - Add --wait option for runJobs.php
 * - resourceloader: Add content hash to static debug urls
 * - mediawiki.api.options: Use formatversion=2 for API requests
 * - Document memory-limit as a possible exit reason
 * - Remove some unused variables
 * - Remove wfCheckEntropy as unused and deprecated in 1.27
 * - Use hex2bin instead of pack
 * - Deprecate PrefixSearchBackend
 * - mw.widgets.CalendarWidget: Lazy-initialize calendar buttons too
 * - mw.widgets.DateInputWidget, CalendarWidget: Lazy-initialize calendar when first shown
 * - mw.widgets.DateInputWidget: Don't construct moment objects when not needed
 * - Follow-up 6281b0a: LookupElement is still not in core
 * - Align mixin whitespace to CSS/Less coding guidelines
 * - Resources: Narrow down dependencies on 'oojs-ui' to the smaller modules
 * - Parsertests: Fix the video parsertests to run using phpunit
 * - Update comments about language codes
 * - EditPage: Style anonymous editor warning as a warningbox for consistency
 * - Add request error state to ApiBase::logRequest
 * - MimeMagic: Recognise .htc as text/x-component
 * - Timing: Fix flaky TimingTest test
 * - Update ApiAction logging channel values
 * - Don't send RC_CATEGORIZE events to the IRC feed
 * - feedback: Update Phabricator URL broken by upgrade
 * - Changed 'expiry' to American English 'expiration' in en.json
 * - registration: Avoid double slashes in localBasePath
 * - Title.php: Support DB language in getPageViewLanguage
 * - Allow auto suggestion for subpages of Special:BotPasswords
 * - Add mw-changeslist-(log|ns)-* class to OldChangesList as well
 * - Minor code clean up in SpecialBooksources
 * - SessionManager: Autocreate should use READ_LATEST when necessary
 * - rc_old/new_len null for CategoryMembership RC change
 * - database: Add extra sanity check to selectFieldValues
 * - Make destination URL of a page save configurable
 * - CatMembChange use timestamp from revision where possible
 * - Do not unauthenticate if autocreation fails due to a race
 * - Avoid parsing HTML when creating nodes
 * - Changed linking of articles to Linker::link in ChangeList
 * - Remove superflous `background-size` property & make use of mixing
 * - Stop doing $that = $this in includes/specials
 * - ExportTest: Simplify code that failed on 5.3 because of reserved word 'namespace'
 * - Use short array for generator output
 * - Fix unmatched @codingStandardsIgnore in parser folder
 * - Remove comments about isset( $string['foo'] ) being true on PHP 5.3
 * - LinkFilterTests: Uncomment test cases that should pass on PHP 5.5
 * - Special:NewFiles: Explicitly list needed table fields in query
 * - Special:NewFiles: Make 'hidepatrolled' query less slow
 * - ApiQueryWatchlist: wlshow=unread should filter revisions, not pages
 * - Move WatchedItem::duplicateEntries to WatchedItemStore
 * - CSSMin: Make isRemoteUrl and isLocalUrl really private, now that we can in PHP 5.5
 * - Browser test: fix log in Selenium tests
 * - Allow &shy; in messages
 * - build: Update mediawiki-codesniffer to 0.6.0, add "composer fix"
 * - Don't show patrol links if RCP/NPP are disabled, but file patrol isn't
 * - Convert all array syntax to []
 * - Update OOjs UI to v0.15.4
 * - Remove obsolete ignored path from maintenance/checkSyntax.php
 * - Fix not-loaded DbPageLanguage when Title::getPageLanguage get's called
 * - Converted ApiQueryPageProps to use PageProps; added multi-property query to PageProps.
 * - Session: Implement ArrayAccess
 * - CookieSessionProvider: It's persisted if we have a 'Token' cookie
 * - ApiSandbox: Visual separation of fields
 * - Fix typo and improve code comments in LinkTarget
 * - resourceloader: Implement modern module loading (1/2)
 * - Remove fix for a 5.3 problem
 * - Stop using SiteConfiguration::isLocalVHost
 * - Remove PHP < 5.3 support from maintenance/checkSyntax.php
 * - Avoid master queries in Title::getLinksFrom
 * - Get timestamp from WikiPage, instead of Article
 * - Remove no-op parameter from UIDGeneratorTest

Vendor

 * - Update OOjs UI to v0.16.0

AbuseFilter

 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng

BetaFeatures

 * - Explicitly cast user count as int
 * - Capitalise button labels
 * - Fix button padding
 * - Compress PNGs with zopflipng

BounceHandler

 * - Pass replyTo parameter correctly to UserMailer::send

Capiunto

 * - Fix signature of Scribunto_LuaEngineTestBase::testLua overrides
 * - Clean up PHPUnit test files

Cards

 * - Revert "Compress PNGs with zopflipng"
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng

CentralAuth

 * - Log autocreation and autologin attempts in CentralAuth
 * - Revert "Compress PNGs with zopflipng"
 * - Take $wgCentralAuthCookies into account when checking CentralAuthSource
 * - Avoid using "new CentralAuthUser" since it avoids the cache
 * - Reduce memcache traffic for central session storage
 * - Cache CentralAuthUsers more aggressively
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng
 * - Log in via the API instead of via the web site
 * - Cleanup Cucumber tags in Selenium tests
 * - CentralAuth sessions should always be persistent

CheckUser

 * - API: Clarify cutimecond behaviour in docs/errors
 * - Special:CheckUserLog: Make subpage parameter fill the target field if not already specified
 * - Clean up Special:CheckUserLog code

CirrusSearch

 * - Fix undefined variable $term in InterwikiSearcher
 * - Allow to set the default scoring method to use when building the suggester index
 * - Accept rescore profile configured as a string
 * - Remove cirrus-suggest api and supporting js
 * - Fix: Warning: Division by zero in includes/BuildDocument/SuggestScoring.php on line 188
 * - Use BatchRowIterator instead of EchoBatchRowIterator
 * - Fix test due to issue T127786
 * - Fix hostnames for cindy
 * - Add doc for wgCirrusSearchTextcatLanguages in CirrusSearch.php
 * - Attach type of query issued to opensearch responses
 * - Fix typo in comment
 * - Handle '0' search query
 * - Compress PNGs with zopflipng
 * - Finally we can use $this in closures!
 * - Allow falling back to old search deterministically
 * - Create cindy profile to be useable inside a Vagrant box
 * - Try to cleanup broken indices when building comp suggest indices
 * - Completion suggester: add support for the offset param
 * - Add detection limits for textcat
 * - Add tests for language detection
 * - Allow access to $config from extending classes

Cite

 * - Check VE is available before running unit tests
 * - Surface references via api query property
 * - referencesKey is now a static function and renamed
 * - Merge LinksUpdateConstructed hook into LinksUpdate
 * - Add array type hints and more specific documentation
 * - Change a condition with == to something more precise
 * - Use span with css instead of strong for cite errors
 * - Use inLanguage in CiteDataModule
 * - Use div for references in section preview
 * - Avoid calculating md5 when not caching references

Citoid

 * - Check VE is available before running unit tests
 * - build: Bring JSCS jsDoc configuration closer to the wikimedia preset
 * - Tweak margins around 'insert' button
 * - Move initialisation hacks into separate file
 * - Use inLanguage in CitoidDataModule

CleanChanges

 * - Compress PNGs with zopflipng

CodeEditor

 * - Replace toolbar with OOUI/OOUI-style SVGs
 * - GotoLine: Don't throw an exception if the user cancels the prompt
 * - Revert "Compress PNGs with zopflipng"
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng

Collection

 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng

ConfirmEdit

 * - Add "manifest_version": 1 to CAPTCHA modules
 * - Compress PNGs with zopflipng

ContentTranslation

 * - Add support for TMX level 1 (plaintext)
 * - Update mw.cx.targetTitle immediately after title change
 * - Do not fail updates on duplicate units
 * - Change the icon used for the translator stats
 * - Move warn above disallow and error for red color to take precedence
 * - Introduce validation error and success events for sections
 * - Show the translator stats even if there is no recent translations
 * - Fix broken PNGs
 * - First steps towards dumps
 * - Validate the translation titles against abusefilter in target wiki
 * - Correct the trigger for saving on translation change
 * - While saving the data to corpora table, remove the from drafts table
 * - Restore the saved translation from cxc_corpora table
 * - Rename ext.cx.translation.draft module to ext.cx.translation.loader
 * - Move save functionality from cxpublish to cxsave API
 * - Filter title related warnings out of sections
 * - Fix broken PNG icons
 * - Consistent line break behavior for sections
 * - TranslationUnit: Check for sequenceId
 * - Compress PNGs with zopflipng
 * - Cleanup Cucumber tags in Selenium tests
 * - Show basic user stats in the translation dashboard
 * - Link to Special:ContentTranslation in extension description
 * - Fix typo in comments

DonationInterface

 * - Filter currencies by country
 * - Restore overzealously-deleted loader gif
 * - Expand list of penalized fraudy error codes
 * - Add country to thank you URL
 * - Delete unused images
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng
 * - Switch to ct_id + sequenceNum order IDs
 * - Log Adyen donation details before redirect
 * - Fix case of Html class

Echo

 * - ActionMenuPopupWidget: Prevent ClippableElement from overwriting our width hack
 * - Follow-up 07c5850b: unbreak "mark as read" menu item
 * - Include cross-wiki notifications in unread count
 * - Bidi-embed user names and page names in secondary links
 * - Bidi-isolate notification bodies
 * - Adjust group bundle styles
 * - Transform the notification action bar to css table layout
 * - build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
 * - build: Update grunt-jscs to 2.7.0 and disable failing rules
 * - Add some debug logging to thank-you-edit notifications
 * - Revert "Compress PNGs with zopflipng"
 * - MentionPresentationModel: Remove pageLink from secondary links
 * - Provide three more edit threshold congratulatory notifications
 * - Adjust styling of the 'more actions' menu items
 * - Reorder x-wiki bundles to be after local notifications
 * - ForeignNotifications::populate: Fix max timestamp computation
 * - Force notification body on a single line
 * - Bidi-embed formatter user names (the $1 parameter) in notification messages
 * - Add 'Log' link to user-rights notification
 * - Handle null user when trying to generate a link for notifications
 * - Remove footer from email notification excerpt
 * - Don't process null edits (or other warnings in article save process)
 * - Echo API returns absolute URLs in notification links
 * - Add GENDER support to 'View changes'
 * - Delete rows in echo_unread_wikis if there are no unread notifs
 * - Notification: use speechBubbles icon for all talk pages
 * - Always show the messages flyout icon
 * - Keep group open on click
 * - Display human-readable wiki names for cross-wiki notifications
 * - Fix Cucumber tags for Selenium tests
 * - Fix typo: @inherits->@extends
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng
 * - Use more granular oojs-ui dependencies
 * - Adjust mark as read icon size
 * - Fix hasMessages result when inconsistently enabling cross-wiki
 * - Fix 'Undefined index' PHP warning so XDebug doesn't complain
 * - Allow setting the unread counts to 0 in the echo_unread_wikis
 * - Truncate secondary link labels
 * - Add 'userSpeechBubble' icon
 * - Include reason in user-rights notification body

EducationProgram

 * - Bring back original icon for added-to-course notification
 * - Compress PNGs with zopflipng

EventLogging

 * - Stringify message parameters for 'jsonschema-invalid-notinenum'

ExtensionDistributor

 * - Compress PNGs with zopflipng

FlaggedRevs

 * - Remove unused variable
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng
 * - Rephrase revreview-sadv-reviewing-p and Revreview-sadv-reviewing-c
 * - Apply the nomobile class

Flow

 * - Fix regression requiring flow-create-board for non-Flow moves
 * - Better error handling and hook use for moves
 * - Fix board move DB issue using new hook TitleMoveStarting
 * - Add notifications for summary changes
 * - Add target-page for header edit notifications
 * - Bold title in summary mention notification
 * - Use msg from context rather than wfMessage
 * - Add secondary links for edited topic/post on user talk pages
 * - Disable scenarios that fail at en.wikipedia.beta.wmflabs.org from running daily
 * - VisualEditorWidget: Use selectLastContentOffset from VE directly
 * - Pick up on mentions in topic summaries
 * - Cleanup Cucumber tags in Selenium tests
 * - Truncate secondary link labels
 * - Switch to BasicObjectMapper for TopicListEntry
 * - Don't store/trigger listeners for null edits
 * - Add mention notification for changes in board description
 * - Add flow-description-edited notification
 * - Script to remove topics before a certain date
 * - Test UUID get* to create roundtrip
 * - Add page link to 'enabled-on-talk-page' notification
 * - FlowUpdateWorkflowPageId.php: Check for fatal Status objs returned by OccupationController
 * - Add page link to 'replied' and 'edited' notifications

GWToolset

 * - Remove double emphasis in string
 * - Compress PNGs with zopflipng

Gather

 * - Compress PNGs with zopflipng
 * - Don't top load Gather plus icon

GettingStarted

 * - Re-order CSS3 properties to list standard variant last

GlobalUserPage

 * - Add license-name to extension.json

Graph

 * - Check VE is available before running unit tests
 * - Support Vega2 graphs in VE
 * - Prevent accidental navigation from Graph Sandbox
 * - Bumped graph2.compiled, package ref

GuidedTour

 * - Remove redundant -webkit and -moz prefixes for border-radius

LiquidThreads

 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng
 * - Avoid DB master block table queries on view

MassMessage

 * - Improve sendMessages.php

Math

 * - Use TeX representation for the editsection title
 * - Show TeX in wikibase diffs.
 * - Only use parallel rendering in MathML mode
 * - Fixed failing Selenium test
 * - Compress PNGs with zopflipng
 * - Render all math tags in parallel

MobileApp

 * - Revert "Compress PNGs with zopflipng"

MobileFrontend

 * - Quote RC_EXTERNAL in queries
 * - Use IContextSource::msg instead of wfMessage where available
 * - Remove not actually comment from ResourceModules definition
 * - Remove "targets" parameter from RLImageModule module definitions
 * - Revert "Compress PNGs with zopflipng"
 * - Don't use decodeURIComponent on Undefined
 * - Shift placeholder text from JS to PHP again
 * - Avoid watchstar rendering from pushing down rest of content
 * - Remove RejectParserCacheValue hook handler
 * - Update RejectParserCacheValue hook handler
 * - Hygiene: Fix documentation of ResourceLoaderGetConfigVars hook handler
 * - Add the 'wgMFMode' config variable to the page only in mobile mode
 * - Avoid unstubbing $wgUser in MobileFrontendSkinHooks::getPluralLicenseInfo
 * - Don't call isBetaGroupMember in ResourceLoaderGetConfigVars hook
 * - Special:Uploads - correctly insert images
 * - Do not show category membership changes on mobile
 * - Regression: Re-Add a missing i18n message
 * - MobileFrontendSkinHooks fix getLicense doc
 * - Compress PNGs with zopflipng
 * - VE: Show welcome dialog
 * - Hygiene: Remove upload image artifacts
 * - Hygiene: Config variable audit
 * - Block info should be Minerva specific
 * - Cleanup Cucumber tags in Selenium tests
 * - Tweaks to fallback editor
 * - Decode an escaped data attribute before making an API request
 * - Change the language overlay configuration
 * - Structured language overlay: prioritize available general language ...
 * - Logging in via LoginPage#login_with is a security risk
 * - Make SpecialMobilePreferences more generic for non-core sections
 * - Send correct event logging languageButtonTappedBucket value

MoodBar

 * - Fix repeating background images
 * - Compress PNGs with zopflipng

MultimediaViewer

 * - Do not run browser tests that fail with Internet Explorer 8 daily
 * - Set a user-agent in browser tests
 * - Fix "undefined method test_name" error message in Selenium tests
 * - Fix resourceloader message fetch warnings

MwEmbedSupport

 * - Remove redundant vendor prefix for border-radius
 * - Compress PNGs with zopflipng

ORES

 * - Make Api::getUrl private
 * - Remove unused parameter from Api::getUrl
 * - Remove unused parameter
 * - Simplify return case
 * - Fix typo, upgrade log level to warning instead of "WARNING" in message
 * - Make Hooks::oresEnabled require a User object
 * - Improve some debug logging
 * - Update DB query in case of hidenondamaging=1
 * - Fix ORES beta features icon for ltr
 * - Add final newline to PopulateDatabase output
 * - Use an assoc array to configure $wgOresModels
 * - Fix phpdoc in PopulateDatabase
 * - Add some output to CheckModelVersions.php
 * - Add period to end of ores-beta-feature-description message
 * - Fix typo in extension.json "author" property
 * - Better messages in preferences
 * - Compress PNGs with zopflipng
 * - Improve legend message

OpenStackManager

 * - Revert "Compress PNGs with zopflipng"
 * - Compress PNGs with zopflipng
 * - Mention that GENDER is supported for "addedto" and "failedtoadd"

PageTriage

 * - Remove redundant vendor prefix for border-radius
 * - Compress PNGs with zopflipng
 * - Rephrase notifications

Popups

 * - Revert "Compress PNGs with zopflipng"
 * - Revert "Compress PNGs with zopflipng"
 * - Compress PNGs with zopflipng

ProofreadPage

 * - Revert "Compress PNGs with zopflipng"
 * - Compress PNGs with zopflipng

QuickSurveys

 * - Avoid unstubbing wgUser when an external survey is defined
 * - Do not show a survey if DNT is enabled

RelatedArticles

 * - Fix RelatedPages placement in Monobook

Scribunto

 * - Pass language to SpecialVersion::getVersion
 * - Update lua binaries to patch CVE-2014-5461
 * - Add jshint to npm

SecurePoll

 * - Compress PNGs with zopflipng
 * - Fix jslint errors

SemanticForms

 * - Fix for "label=" with non-multi-instance templates
 * - Revert "Compress PNGs with zopflipng"
 * - Follow-Up: Ied8c6864b1faed80a11af319a651b99c697090f2
 * - New version, 3.5
 * - Fixed display of params in Special:CreateForm - fix for 705c4dc
 * - Remove hook ArticleSave
 * - Some fixes to avoid PHP notices and warnings
 * - Fixes for remote vs. local autocompletion
 * - Added 'height' and 'width' params to map inputs
 * - Fix for #autoedit with multiple-instance templates
 * - Compress PNGs with zopflipng
 * - Fix for removing of all instances of an embedded template
 * - Follow-up to c9ac2c4
 * - Fixes for post-refactor handling of multi-instance templates
 * - Fixes for Special:CreateProperty - fix for 705c4dc

TemplateData

 * - Avoid calling repopulateParamSelectWidget multiple times on setup
 * - Remove matching groups from regex
 * - Included aliases in getAllParamNames
 * - Give drag handle an increased opacity on hover
 * - Param list style tweaks
 * - Keep JSON data as an object (not a string) until the last possible point
 * - ApiTemplateData: Get rid of deprecated API documentation commands
 * - Show param label in list if available
 * - Make main template param select widget drag/drop re-orderable
 * - Make 'required' bold in the TD documentation block
 * - Fix splice re-ordering when moving items forward
 * - Fix documentation
 * - Use MenuOptionWidget rather than OptionWidget for MenuSelectWidget items
 * - Update language search/result widget
 * - Fix linting paths and resulting errors
 * - Fix case of class names

Thanks

 * - Remove double emphasis in string
 * - Compress PNGs with zopflipng
 * - Truncate secondary link labels

TimedMediaHandler

 * - Improve dynamic resource module registration
 * - Correct parser test with tidy config
 * - Add parser tests for TMH output
 * - Remove an unused global
 * - Compress PNGs with zopflipng
 * - A few doc cleanups

TitleBlacklist

 * - Fix 'localpage' message handling

Translate

 * - Do not prepend non-letter username with 'x'
 * - Do not pass empty language parameter to the CrossLanguageTranslationSearchQuery.
 * - Do not submit value of JS control mw-language-selector
 * - Do not use GET requests for write actions in Special:PageTranslation
 * - Compress PNGs with zopflipng
 * - Avoid broken inserts to revtag
 * - Implement --safe-import scripts/processMessageChanges.php
 * - Allow name option on scripts/processMessageChanges.php
 * - Cleanup Cucumber tags in Selenium tests
 * - Input fields at Special:PagePreparation and Special:PageMigration made bigger and usable
 * - Automatically blacklist the page's source language
 * - Add afterEditorShown hook
 * - Logging in via LoginPage#login_with is a security risk
 * - Allow to set message group IDs aliases to preserve incoming links

TranslationNotifications

 * - Move broken inline JavaScript to module

UniversalLanguageSelector

 * - Update jquery.webfonts to f0dae72
 * - Cleanup Cucumber tags in Selenium tests
 * - Update test files

UploadWizard

 * - Compress PNGs with zopflipng
 * - Revert "uw.controller.Step: Don't allow more than one transition to be in progress"
 * - uw.controller.Step: Don't allow more than one transition to be in progress
 * - Rework thumbnail creation in Upload step
 * - Simplify mw.UploadWizardUpload.prototype.checkFile
 * - UploadWizardHooks: Remove non-existent messages from module definitions
 * - Attach all interfaces to the DOM at once rather than one-by-one, for performance
 * - Move iOS 5 Safari check from UWUploadInterface to UploadWizard
 * - Don't construct UploadWizardDetails twice for each UploadWizardUpload
 * - mw.UploadWizard: Remove incorrect comment
 * - Update Phabricator URL broken by upgrade
 * - Move "Add files" functionality from UWUploadInterface to UploadWizard
 * - Avoid parsing HTML when creating nodes
 * - UploadWizardUploadInterface: Hide the "Show thumbnail" button only after showing thumbnail
 * - UploadWizardUpload: Stop processing after encountering a duplicate
 * - UploadWizardUploadInterface: Remove some broken dead code
 * - Add a comment about $( ' ' ).prop( 'disabled' )
 * - Remove browser tests

VectorBeta

 * - Revert "Compress PNGs with zopflipng"
 * - Compress PNGs with zopflipng

VisualEditor

 * - API: Send Accept: header to RESTbase
 * - Fix WTE->VE switching in prefer-wt SET mode
 * - Update VE core submodule to master (035c553)
 * - MWMediaDialog: Only cache relevant information
 * - Revert "Compress PNGs with zopflipng"
 * - Give a useful message in the temporary blank edit screen
 * - Update VE core submodule to master (0371bbe)
 * - EducationPopupTool: Use vendor prefixes for animation
 * - CategoryWidget: Update to work with new DraggableGroupElement
 * - Update VE core submodule to master (8450592)
 * - Show welcome dialog on mobile too
 * - Make surface measurable while activating
 * - Warn for empty summary when edit section used
 * - Put jquery.uls.data dependency in the correct place
 * - Update VE core submodule to master (2279bbb)
 * - Transclusion dialog: Simplify example/default value labels
 * - Make platform language functions actually work
 * - MediaDialog: Use CC logo from upstream (ooui-icons-wikimedia)
 * - Link to file description pages in media dialog
 * - Compress PNGs with zopflipng
 * - Meta dialog: Use window action to open windows
 * - MWPopupTool: Update Phabricator URL broken by upgrade
 * - MWMetaDialog: Fix setup of pages
 * - MWCategoryWidget: Improve caching
 * - [BrowserTest] Fix `ve.init is undefined` error messages in Selenium tests
 * - MWCategoryWidget: Use namespace constants from config
 * - Update VE core submodule to master (cdfd84e)
 * - build: Update mediawiki-codesniffer to 0.6.0, add "composer fix"
 * - Don't remove .ve-activated after successfully activating
 * - Update VE core submodule to master (33d090b)
 * - Try to switch into the wikitext editor automatically if there is an error loading VE on action=edit
 * - Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"

WikiEditor

 * - Revert "Compress PNGs with zopflipng"
 * - Only load a page/booklet once
 * - Remove loading spinner
 * - Compress PNGs with zopflipng
 * - Compress PNGs with zopflipng

WikiLove

 * - Compress PNGs with zopflipng
 * - Cleanup Cucumber tags in Selenium tests

WikidataPageBanner

 * - JSCS: use pure wikimedia preset
 * - Guard against inconsistent/ not up to date EntityIdLookup

WikimediaEvents

 * - Remove deep link tracking
 * - remove commons terms code from search satisfaction schema
 * - Add viewResponseTime metric (split by platform)

WikimediaMessages

 * - Avoid unstubbing $wgUser in ResourceLoaderGetConfigVars hook
 * - Add i18n messages for Wikiversity site link section on Wikidata
 * - Add a list of human-readable localized project names

ZeroBanner

 * - Add bannerUrl to zero config API response

ZeroPortal

 * - Logging in via LoginPage#login_with is a security risk

cldr

 * - Support MediaWiki CodeSniffer 0.6.0

wikihiero

 * - Revert "Compress PNGs with zopflipng"
 * - Add version hash to wikihiero images

Vector

 * - oojs-ui.styles is now oojs-ui-core.styles
 * - Remove mediawiki.sectionAnchor
 * - Compress PNGs with zopflipng