MediaWiki 1.27/wmf.10/Changelog

Core changes

 * - add EventBus extension
 * - Also select rc_log_type if the patrolled flag is set in ApiQueryRecentChanges
 * - Fix undefined property notice in ChangesList
 * - Update VisualEditor for I5f7eb332
 * - Update Wikidata
 * - Allow parameters to be passed into skin tooltip messages
 * - Fall back to autoincrement when page cannot be recreated with old ID
 * - Add parameters to importTextFiles.php
 * - Remove redundant test teardown in UploadFromUrlTestSuite
 * - De-duplicate near match query terms when generating variants
 * - Use ar_page_id on undeletion
 * - SpecialComparePages: Float the boxes, if available space is given
 * - Module storage: set stricter storage quotas on Firefox
 * - SpecialComparePages: Remove outdated comment
 * - Don't call Title::getInternalURL with 2 parameters.
 * - API: Avoid FOUC on help pages
 * - Remove JavaScript .hlist fallback for IE8
 * - Revert "Convert Special:EmailUser to use OOUIHTMLForm"
 * - SpecialExpandTemplates: Fix false checkbox label for nowiki tag
 * - Preferences: Use session data instead of URL parameter for success
 * - API: Flag "user" parameters in various modules as type 'user'
 * - convertExtensionToRegistration.php: die on global functions
 * - Post-document hook AfterBuildFeedLinks
 * - Remove excess newlines at the end of files
 * - importImages.php: Run input file names through UTF8 normalization
 * - Fix last direct usage of UtfNormal in MW core
 * - Add a composer.local.json-sample
 * - build: Update jscs to latest
 * - Add release notes for 4a40a5d21729
 * - Add maintenance script importTextFiles.php
 * - Remove unused jquery.validate module
 * - RELEASE-NOTES-1.27: Add a note about file upload patrolling
 * - RELEASE-NOTES-1.27: Wrap lines at 80 characters
 * - installer: Say "APCu" for PHP >= 5.5
 * - ParserTests: Add a video file to parser test suite
 * - Add documentation to clarify difference between save and upload message
 * - Split the classes in WebInstallerPage.php into multiple files
 * - registration: $wgRateLimits should be merged using array_plus_2d
 * - convertExtensionToRegistration: Detect if composer autoloader is needed
 * - Remove Language::armourMath and friends
 * - Fix Race-Condition in mediawiki.page.ready OOJs-UI infusion
 * - Print which file we are running parsertests for
 * - Fix parserTests after f66ff602447c
 * - LogEntry: Make associated rev id persistent (store in logging and log_search)
 * - LogEntry: Boring whitespace and comment changes, some documentation too
 * - WebRequest::appendQuery* functions no longer take $onlyquery
 * - Remove WebRequest::appendQuery
 * - Allow patrol of uploads
 * - GitInfo: Allow cache to be in the extension directory itself
 * - RequestContext: Load the request object for getRequest on first call
 * - Add hook to allow extensions to modify query used by Special:ShortPages
 * - startup.js: Move IE8 down from Grade A to Grade C
 * - Update packages to do with karma
 * - Fix false message output method on Special:ExpandTemplates
 * - Fix --pagelist for dumpBackup.php
 * - Update karma to 0.13.19
 * - htmform: Document "text" methods that take HTML as such
 * - Remove redundant DatabaseBase doc comments
 * - Finally: wfMsg* was removed
 * - Add wikipage.categories hook
 * - mediawiki.inspect: Use binary prefixes for human sizes
 * - Remove WaitForSlave maintenance script
 * - mediawiki.messagePoster: Minor code and docs clean up
 * - Mark AjaxExportList config as deprecated
 * - PHPUnit: Added test for unknown tags
 * - Tests: Reflect recent changes to MediaWiki import structure
 * - Add datetime input widget
 * - Factor page name normalization out of MediaWikiSite
 * - Split WebRequest.php classes
 * - Split PHP classes from SpecialConfirmemail.php into separate files
 * - Remove deprecated Title::userIsWatching
 * - Add missing double colons to Class:static
 * - Split SearchResultSet.php classes
 * - registration: Allow setting $wgFeedClasses in extension.json
 * - Import: Try to stop revisions getting created with rev_page = 0
 * - Update jakub-onderka/php-parallel-lint to 0.9.2
 * - Remove Linker::makeImageLink2
 * - Remove wfMsgNoTrans
 * - Slightly simplify QueryPage::outputResults
 * - Remove unused, deprecated ChangesList::usePatrol
 * - Restore changes to WikiRevision that were lost in cdeba4cfc7c
 * - Import: Handle uploads with sha1 starting with 0 properly
 * - Remove not used private member variable mParserWarnings from OutputPage
 * - wfMsgForContentNoTrans was removed
 * - Linker::makeLinkObj was removed
 * - Linker::makeKnownLinkObj was removed
 * - Remove ApiMain::getModules and ApiQuery::getModules
 * - Remove wfCheckLimits
 * - LogPage::logName and logHeader were removed
 * - WikiPage::testPreSaveTransform was removed
 * - Add largest allowed range as parameter to block form message
 * - WikiPage::updateRestrictions was removed
 * - Removed OutputPage::includeJQuery
 * - User::getSkin was removed
 * - Update zordius/lightncandy to v0.23
 * - OutputPage::blockedPage was removed
 * - Convert Special:ConfirmEmail to OOUIHTMLForm
 * - Convert Special:EmailUser to use OOUIHTMLForm
 * - Use OOUI on Special:BlockList
 * - OutputPage::permissionRequired was removed
 * - wfEmptyMsg was removed
 * - Update wfGetDB calls in Maintenance scripts to use getDB
 * - Convert Special:ExpandTemplates to OOUI
 * - Convert Special:Export to OOUI
 * - Convert Special:ComparePages to OOUI
 * - registration: Allow setting $wgCentralIdLookupProviders
 * - registration: Handle $wgExtensionCredits inside the ExtensionProcessor
 * - build: Update mediawiki/mediawiki-codesniffer to 0.5.1
 * - Update MessagePoster topic title docs
 * - WikiPage::getUsedTemplates was removed
 * - mw.Upload.BookletLayout: Add help text for name and description fields
 * - Update nmred/kafka-php to v0.1.5
 * - HTMLForm: Add comment to help grepping function names
 * - Make Maintenance::commitTransaction do slave wait checks
 * - Make maintenance scripts use beginTransaction/commitTransaction
 * - mediawiki.action.edit.preview: Combine two the consecutive .push
 * - Add 7zip compression level param to BackupDumper
 * - Refactor dumpBackup.php and dumpTextPass.php to be Maintenance subclasses
 * - dumpBackup.php: Remove --force-normal option
 * - Add loadWithArgv to Maintenance class
 * - Fix corrupt ©
 * - Fix numerious errors in RecompressTracked
 * - Clean up transactions in maintenance scripts
 * - Remove use of $dest = 'log' for wfDebugLog
 * - Exclude debug log events marked "private" from MWDebug
 * - Add support for specifying options multiple times in Maintenance scripts.
 * - Avoid calling Block::deleteIfExpired when not needed
 * - Move category refreshes to a deferred update
 * - registration: Prevent loading the same thing twice
 * - Improve styles & align components to CSS/Less guidelines
 * - Sync up with Parsoid parserTests.
 * - Revert "Sync up with Parsoid parserTests."
 * - registration: Allow loading composer's autoloader if it exists
 * - Sync up with Parsoid parserTests.
 * - Add more cases to MediaWikiTestCaseTest
 * - Setup.php: Ensure that defaults for 'rcdays' and 'watchlistdays' are not invalid
 * - rebuildrecentchanges.php: Document a little bit
 * - Show user names as subpages of special pages in autocomplete search
 * - Fix some FSFileBackend IDEA errors
 * - Fix some FileOpBatch IDEA errors
 * - Split classes in Import.php into separate files
 * - Set TransactionProfiler expectations in the API
 * - installer: Choose CACHE_ACCEL as the default if available
 * - Added IDatabase::doAtomicSection convenience method
 * - Split Export.php classes into seperate files
 * - Added PHP/OS info to benchmark output
 * - Fix SpecialFileDuplicateSearch::prefixSearchSubpages
 * - Fix CONTENT-LENGTH header in WebRequestUpload
 * - mw.Upload.BookletLayout: Don't show file extension in the filename input
 * - Use template to render EnhancedChangesList groups
 * - mw.ForeignStructuredUpload.BookletLayout: Use lastModified or EXIF date
 * - Namespace translations for Gilaki (glk)
 * - Support fragments in getUrl of mw.Title
 * - Added a simple smoke test for export
 * - Replace \r\n with \n in resources\src\mediawiki\bookletlayout\*.svg
 * - Use wikimedia/at-ease insteaad of @
 * - Copy in release notes for last maintenance releases into HISTORY
 * - Support phpunit-old.phar
 * - PostgreSQL: Add quotes to timestamp
 * - Remove various double empty newlines
 * - Add PLURAL support and "human readable" sizes for mediastatistics messages
 * - Add --rootpage parameter to importDump.php
 * - Align mediawiki.ui vars with CSS color guidelines
 * - Enable mediawiki.action.view.redirect on mobile
 * - Disable Preferences save button if settings have not changed
 * - LivePreview: Update page status indicators
 * - Check each Special:Preferences input for changes
 * - Update grunt-jsonlint to 1.0.7
 * - Namespace translations for Lojban (jbo)
 * - Make sure docs encourage __METHOD__ use for begin/commit
 * - mediawiki.Upload: Add #getApi method, use it instead of undocumented properties
 * - Allow $wgInterwikiCache to be an associative array
 * - SpecialContributions: Simplify check for 'Special:Contributions/newbies'
 * - SpecialMediaSattistics: Add header for "Total file size"
 * - Remove mediawiki.special.javaScriptTest module
 * - Add submit message for Special:PageLanguage
 * - Import: Importing no longer accepts too big revisions
 * - Add more $wgCdnReboundPurgeDelay comments
 * - Pass __METHOD__ to load balancer commit/rollback methods
 * - diff: Make DifferenceEngine patrol link creation more flexible
 * - Don't allow atttributes whose namespace starts with `data-`.
 * - UserCSSPrefsModule: Remove redundant inline text-decoration:none css rules
 * - mediawiki.util: Remove outdated comment from unit test
 * - Change talkpagelinktext to lowercase
 * - Let LBFactory/LoadBalancer transaction methods take __METHOD__
 * - mw.widgets.CategorySelector: Don't use 'new' with $.Deferred
 * - Title: Fix typo in variable name
 * - Prevent blocked users from changing user rights through the API
 * - Add dieBlocked to APIBase and make use of it
 * - mw.widgets.CategorySelector: Prevent duplicates
 * - Avoid "Unable to set value to APCBagOStuff" exceptions
 * - Avoid CAS update errors on password reset
 * - mediawiki.page.patrol.ajax: Rename file to match module name
 * - Make Special:MediaStatistics show a total count of file sizes
 * - mediawiki.template: Refactor inaccurate documentation
 * - Support Mustache partials in Mustache template module
 * - Revert "API: Add a unit test to check all modules' i18n"
 * - Update autoload.php
 * - Option to associate a rev id to a RC log entry, allowing unpatrolled status
 * - SpecialWatchlist: Avoid double space between checkbox and label
 * - Remove arbitrary newSequentialPerNodeIDs $count limit
 * - mw.ForeignStructuredUpload: Prevent 'null' author name if dialog opened when not logged in
 * - mw.Upload.BookletLayout: Require non-whitespace description
 * - mediawiki.util: Use correct encoding for fragment in getUrl
 * - API: Improve description for ApiQueryPrefixSearch
 * - mw.Upload.BookletLayout: Use $.Deferred, not $.Deferred
 * - Import: Properly handle deleted usernames in XML dumps
 * - Remove IE 6&7 CSS hacks
 * - Prevent blocked users from performing revision deletion
 * - Remove ApiQueryBase::getDirectionDescription
 * - Add @since tags to FauxRequest::getRequestURL/setRequestURL
 * - Update HISTORY for last round of releases
 * - Support fragments in mw.util.getUrl
 * - SpecialPageLanguage: Use title input (enable suggestions) and autofocus
 * - [Special:Preferences] Switch tabs when hash is set to an item in another tab.
 * - ApiQueryBase::checkRowCount was removed
 * - ApiQueryBase titleToKey, keyToTitle and keyPartToTitle removed
 * - Removed User::editToken (deprecated since 1.19)
 * - Removed Article::loadContent (deprecated since 1.19)
 * - Move ApiQueryGeneratorBase to it's own file
 * - Add a maintenance script for finding deprecated interfaces
 * - Prevent blocked users from modifying change tags
 * - Fix transaction-duration-limit-exceeded
 * - Change multiple documentations in DairkiDiff
 * - API: Add a unit test to check all modules' i18n
 * - Fix spelling mistakes in comments
 * - Handle missing titles and usernames when importing log items
 * - jquery.suggestions: Improve comment about avoiding click interference
 * - Update cssjanus/cssjanus to v1.1.2
 * - Refresh autoload.php
 * - Allow overriding the resultSetType reported via event logging of suggestions
 * - Add a new hook AfterBuildFeedLinks to manipulate feed links
 * - HTMLForm: Use and allow differing label and value
 * - Adds i18n for ApiRollback.php tag parameter
 * - Add $query to JavaScript redirect info
 * - SECURITY: Make Special:MyPage and friends fake redirect to prevent info leak
 * - Fix IP::toHex for IPv4 addresses with a double/triple 0 block
 * - [SECURITY] 0-pad to length in random string generation
 * - SECURITY: Work around CURL insanity breaking POST parameters that start with '@'
 * - Make ApiStashEdit use statsd metrics
 * - Avoid negative JobRunner time stats
 * - No-op the notify*/purge methods in JobQueueAggregatorRedis
 * - Use hash_equals in User::matchEditToken
 * - mediawiki.action.view.redirect: Explicitly scroll to element in hash
 * - mw.MessagePoster: Fix creation of mw.Api object
 * - Fix PPNode_Hash_Tree::getChildrenOfType return value
 * - RefreshLinksJob: Restore LinksUpdate::setTriggeringUser call
 * - Fix $namespaceAliases error from 2011
 * - Use "system administrator" when server access was needed
 * - Add release notes for 4e0762c7 and 827d8dc0
 * - Add $revision to TitleMoveCompleting for completeness
 * - mediawiki.page.watch: Remove obsolete CSS selectors
 * - Pass created revision to TitleMoveComplete hook
 * - Expand MediaWiki::main $wgTrxProfilerLimits logging
 * - Installer: Link 4.0 family of CC licenses
 * - Avoid "Incorrect user-level lock name " errors in Database lock method
 * - Add tag parameter to API action=rollback
 * - Simplify Language::getFallbackFor
 * - SpecialWatchlist: Unbold title when it's clicked
 * - Remove unused ApiStashEdit variable
 * - Remove obsolete `background-size` vendor prefix
 * - Don't trigger 'wikipage.diff' hook for content that looks like a diff
 * - Update mediawiki_selenium Ruby gem from 1.2.1 to 1.6.3
 * - Make edit stashing use named DB locks
 * - Show change tags on Special:RevisionDelete
 * - Tweak wording for 'passwordreset-emailsentemail', 'passwordreset-emailsentusername'
 * - Merge namespace aliases like we merge namespace names
 * - Document mw.user.options and mw.user.tokens properties
 * - $wgUsersNotifiedOnAllChanges should not send mail twice
 * - Remove gen from RawAction.
 * - Move ArticleSaveComplete hook to doCreate/doModify methods
 * - Fix positioning of jQuery.tipsy tooltip arrows
 * - jquery.accessKeyLabel: make modifier info public
 * - Make getLagFromPtHeartbeat always use the LB cluster master entry
 * - Revert "Don't check namespace in SpecialWantedtemplates"

Vendor

 * - Change symfony/process to v2.6.12
 * - Update zordius/lightncandy to v0.23
 * - PSR-0 -> PSR-4
 * - Update nmred/kafka-php to v0.1.5
 * - Update cssjanus/cssjanus to v1.1.2

AbuseFilter

 * - Add support for PHP CodeSniffer checks
 * - Simplify "load-recent-authors" query

AntiSpoof

 * - Add jsonlint to 'npm test'
 * - i18n: missing metadata block in aeb-arab

ApiFeatureUsage

 * - Add extension.json, empty php entry point

Babel

 * - Add jsonlint to 'npm test'
 * - Add missing type hints and documentation to Babel class
 * - Add more test cases for Babel::Render

BetaFeatures

 * - Reduce CAS errors due to concurrent web requests by a user

CategoryTree

 * - Allow auto suggestion for subpages of Special:CategoryTree

CentralAuth

 * - Add optional $name-summary message for Special:GlobalRenameQueue
 * - Update for SessionManager
 * - Remove DB begin/commit from adminSetHidden
 * - Refactor session- and cookie-related code
 * - Add missing API i18n message, and override DB for WMF Jenkins
 * - Use __METHOD__ for DB begin/commit calls
 * - Allow prefix search of subpages of Special:GlobalRenameQueue
 * - Move some DB-related static functions to CentralAuthUtils class
 * - Don't block logins if localuser table is out of sync
 * - checkLocalUser: Fix --delete option
 * - Avoid calling lazyImportLocalNames in a few spaces
 * - Improve saveSettings CAS error message
 * - Update to the latest version of mediawiki_selenium Ruby gem
 * - Document $wgCentralAuthGlobalPasswordPolicies

CheckUser

 * - Rewrite Special:CheckUserLog search form with HTMLForm
 * - Use Maintenance DB transaction methods
 * - Move special page navigation links to the subtitle
 * - Migrate block logging to new system and clean up doMassUserBlockInternal
 * - Allow blocking talk page access and send email access optionally

CirrusSearch

 * - Break CirrusSearch request times by query type
 * - Update annotations to be more sane
 * - For source code pages, index page contents as `source_text`
 * - Fix gen-autoload.php which I messed up.
 * - Optimise morelike queries
 * - Flag cirrus-suggest as an internal API
 * - Add some request set payload values
 * - Log config failure to logger
 * - override the resultSetType reported for search as you type event logging
 * - Refactor the suggester.
 * - Point completion suggester beta feature rtl icon at the rtl icon
 * - Don't report frozen indices to logstash
 * - Do not build the suggester index if the cluster is frozen.
 * - Update RuboCop to the latest version
 * - Add more flexible rescore profiles
 * - Use fake title if no real ones were supplied
 * - Fix array-to-string conversion

Cite

 * - Display Cite errors in the user language
 * - Update packages
 * - Add php code sniffer

Citoid

 * - Update /qqq documentation
 * - Add PMID as hint
 * - Use basefields query parameter in citoid req

CodeReview

 * - Use Maintenance DB transaction methods
 * - Use __METHOD__ for DB begin/commit calls

ConfirmEdit

 * - ReCaptchaNoCaptcha: Set captcha language to interface language
 * - Add i18n for injected API parameters

ContactPage

 * - Fix getForm call to get CAPTCHA from ConfirmEdit

ContentTranslation

 * - Simplify the ext.cx.dashboard module
 * - Keep non-CX URL params while going from dashboard to translationview
 * - Show featured articles only as fallback
 * - Let the category-based lists come before the personalized suggestion
 * - Maintain the list order irrespective of when the list added
 * - CXStats: Fix incorrect week step in the graphs
 * - MT: Set the source HTML in the data object instead of passing as data
 * - Move the language list from the deletion script to a separate file
 * - Add a script for getting the top translators to a language
 * - Code cleanup for ext.cx.translationview module
 * - MT Card: Avoid having a dedicated element for clearfix
 * - Fix a spelling mistake in apihelp
 * - Add missing apihelp messages
 * - Fix: Duplicates in the manually curated suggestion list
 * - Grammar fixes in apihelp
 * - Fix Undefined index: targetRevisionId in ContentTranslation
 * - Add ApiQueryContentTranslationCorpora
 * - Parallel corpora: Implement storage
 * - Reduce the thumbnail image size for suggestions and translations
 * - Draft: Avoid saving when content is not present
 * - Remove problematic test
 * - Add scripts for daily production metrics collection
 * - Add targets to duplicated resource loader definitions (EasyDeflate)

Disambiguator

 * - Exclude disambiguation pages from Special:ShortPages

DonationInterface

 * - Replace package grunt-jscs-checker with grunt-jscs, Update packages, Add jsonlint test
 * - Add grunt-jsonlint and update packages
 * - Zap more globals with fewer RequestContext::getMain calls
 * - Wipe out $wgRequest
 * - Don't allow user_ip in GET params
 * - Warn BPay donors not to recycle reference numbers
 * - mustache l10n
 * - add state dropdown to mustache form
 * - Add missing API i18n messages

Echo

 * - Follow-up 88d6f01c33: postpone greying out notification bodies for now
 * - Add missing mw.Title depenency to ext.echo.ui
 * - Log cross-wiki & bundle items impressions and add their source wiki
 * - Add agent link to most notifications
 * - Replace 'a message' with 'messages' in 'notification-bundle-header-edit-user-talk'
 * - Don't parse wikitext in edit-user-talk snippets
 * - Use Maintenance DB transaction methods
 * - Resized notification panel footer to be the same size as header
 * - Log the expand action of a notification group item
 * - Fix casing of Whatlinkshere in page-linked presentation model
 * - Add space between notification item buttons
 * - Replace 'a message' with 'messages' in 'notification-edit-talk-page-bundle'
 * - Display readable API error message
 * - Use UTC timestamps in flyout
 * - Remove read item from counter after it was actually marked as read
 * - Only update seenTime in the local API
 * - Expand group item on click
 * - Make notification body text lighter
 * - Add mw-echo-payload class to body in Special:Notifications as well
 * - Add missing i18n message
 * - Add a period at the end of notification-header-emailuser
 * - Remove link from mention notification header
 * - Follow-up d62649e62c6: crush and clean up SVGs
 * - Clarify link and revert icons on notifications
 * - Use the double speech bubble icon in the Messages panel
 * - Backfill echo_unread_wikis table
 * - Use current (with keys) array format for primary & secondary links
 * - Replace EchoBatchRowUpdate with BatchRowUpdate
 * - Update mediawiki_selenium Ruby gem to the latest version
 * - Add Kunal, Moriel, Jon to credits; add mailmap file
 * - Add OOUI widgets for cross-wiki bundled notifications

EducationProgram

 * - Add agent link to all notifications

Elastica

 * - Empty PHP entry point

EventBus

 * Newly deployed extension

ExtensionDistributor

 * - Add link to return to the extension/skin's page after downloading
 * - Don't hardcode $wgStatsdMetricPrefix

FlaggedRevs

 * - Replace Title::userIsWatching
 * - Use Maintenance DB transaction methods
 * - Use __METHOD__ for DB begin/commit calls
 * - Fix APCOND_FR_UNIQUEPAGECOUNT
 * - Add i18n message apihelp-query+revisions-paramvalue-prop-flagged
 * - Add i18n message apihelp-query+revisions-paramvalue-prop-flagged

Flow

 * - Follow-up 8088e888: unbreak loading HTML into VE
 * - Make DB begin/commit calls use __METHOD__
 * - Prepare for move of grant logic from OAuth to core
 * - Use ve.ui.Surface#setDisabled
 * - Clarify loss of internet connection as source of error in error message
 * - Use __METHOD__ for DB begin/commit calls
 * - Browser tests: look for 'talk' instead of 'Talk'
 * - Add README pointing to Extension:Flow
 * - Flow Nuke: remove join on user
 * - Add agent link to most Flow notifications
 * - Reload if board is new
 * - Change topic-renamed primary link label from "View post"(?!?) to "View topic"
 * - Remove deprecated API help methods
 * - Replace EchoBatchRowUpdate with BatchRowUpdate
 * - Fix a database connection that was not cluster-aware in Nuke hook
 * - Fix definition and call for getModerationChangeTypes
 * - Stop silently ignoring DB errors
 * - Use current (with keys) array format for primary link
 * - captcha widget starts collapsed
 * - Browser tests: use mw-selenium 1.6.3
 * - Fix patch-reference_wiki.sql index creation
 * - Change flow target to inherit from ve.init.mw.Target

GWToolset

 * - Make sure XMLReader::close is always called
 * - Fixed verification-error due to incorrect timeout handling

Gadgets

 * - Add Icelandic (is) namespace translations
 * - Add more documentation to SpecialGadgetUsage::getQueryInfo
 * - Converting README to Markdown file and adding config documentation
 * - Add a feature flag to turn off the 'active users' query on GadgetUsage
 * - Append default gadgets to Special:GadgetUsage table with 'Default' in place of stats

Gather

 * - Release 0.8.0
 * - Restore the collections link to the mobile personal menu
 * - Update mediawiki_selenium Ruby gem to the latest version
 * - Hygiene: Rewrite apis to gateways
 * - Change Echo notifications to use new formatter with presentation model
 * - Replace DB begin/commit with startAtomic/endAtomic as needed

GeoData

 * - Namespace this extension
 * - Move a function to where it belongs
 * - Improve docs, fix deprecated functons usage, rm unused method
 * - Rm b/c code
 * - Move API files under includes

GettingStarted

 * - Add missing API i18n messages

GlobalBlocking

 * - Remove DB begin/commit from purgeExpired

GoogleNewsSitemap

 * - Converted GoogleNewsSitemap to new extension registration

Graph

 * - Fixed graph reset on click
 * - Remove compression for memc
 * - set cache headers for api action=graph
 * - Double quotes to single quotes
 * - Cache JSON objects in memcached
 * - Removed duplicate alt & title attributes
 * - Modifies Play button and layover because the previous layover was hiding the static graph
 * - Fixed preview caching polluting parser cache
 * - Make the callback parameter to mw.drawVegaGraph optional
 * - Fixed broken modules path
 * - Added Graph sandbox
 * - Fixed content message localizations
 * - Moved php to includes/, GraphHooks to Graph.Hooks
 * - Bumped vega2 lib
 * - Bumped bugfix Vega 2.4.2 and d3 3.5.12
 * - Use standard double quotes in system message
 * - Fixed CORS issue with MW api calls
 * - Fix unit test dependencies
 * - VE: Mark all graphs with ver 1
 * - Fixed http(s) untrusted header bypass
 * - Add custom wiki protocols for data access

LandingCheck

 * - Converted LandingCheck to new extension registration

LiquidThreads

 * - Replace Title::userIsWatching

MassMessage

 * - Use Title::getRootText to get a user's name from Title
 * - Unbreak tests following MediaWiki core change

Math

 * - Introduce a "MathEnableWikibaseDataType" config
 * - Revert "Fixup: Datatype has prefix PT"
 * - Fixup: Datatype has prefix PT
 * - Add i18n description for datatype math
 * - Implement datatype 'Math' for Wikidata
 * - Small corrections to the math dialog menu
 * - Fix link to PNG fallback for IE 8 and older
 * - VE: Rename parent tool
 * - Allow users to choose math inspector or math dialog
 * - Force Ace Editor to resize after the dialog has been rendered
 * - VE MWMathDialog: Fix documentation
 * - Update mediawiki_selenium Ruby gem to the latest version

MobileApp

 * - Convert MobileApp extension to use extension.json

MobileFrontend

 * - Make sampling rate for section usage configurable and zero
 * - Update references to GeoData classes (they now use namespaces)
 * - Refine design on New Talk overlay (MobileFrontend)
 * - Fix undefined index error, when WikidataPageBanner isn't installed
 * - Fix false inclusion of FULLPAGENAME on Special:MobileDiff
 * - Hygiene: Remove modules no longer needed now cache has cleared.
 * - hygiene: Goodbye custom event emitter and class code
 * - Fix regression in log in/out menu entry factory
 * - Added documentation to MobileFrontend's overlays
 * - Do not re-render nearby items on middle click
 * - Avoid "MobileFrontend-specific" jargon in action-mf-uploadbutton
 * - Hygiene: Image ResourceLoader modules move
 * - Add subpages to prefixsearch for MobileOptions and Preferences override page
 * - Hygiene: Remove skins.minerva.beta.images module and other icon cruft
 * - Update packages
 * - Add error handler for Nearby page search
 * - Fix url decoding in Nearby's #/page/ feature
 * - Breaking change: Move logic for section wrapping out of skin into hook
 * - Use mw.notify as an entry point for mediawiki notifications
 * - Remove the 'search' event from Schema:MobileWebUIClickTracking
 * - Unread notifications now visible
 * - Refactor mobile.settings tests to work
 * - Replace useless MobileMenuData hook with MobileMenu hook
 * - Show talk pages to logged in users with fewer than 5 edits
 * - Re-enable InfiniteScroll and settings tests
 * - Breaking change: Make SkinMinerva use the MenuBuilder class
 * - Add the MenuBuilder
 * - Fix misaligned search bar on tablet size
 * - Documentation: fix tablet width
 * - Regression: bring back the talk icon on article pages in beta
 * - Various fixes for wikitext saving error handling
 * - Remove unused i18n message keys
 * - Avoid API requests on scroll events in watchlist test
 * - Enable skipped router tests
 * - Decrease tablet threshold to 720px
 * - Use AfterBuildFeedLinks hook to disable all feed links
 * - Beta: Add talk overlay to the user page
 * - Redirect Special:UserProfile/Username to User:Username in beta
 * - Replace "Wikimedians" in a message with "editors"
 * - Hygiene: Clean up arrow logic for toggling
 * - Enhanced user page in minerva beta
 * - Hygiene: Remove api code from MobileFrontend
 * - Use correct isPlural detection rule and correct rights link variable
 * - RSS feeds should not be in head for mobile
 * - Use better landing page for console.log
 * - MobileFrontend mw.notification instead of toast
 * - Schema:MobileWebSectionUsage: always log the isTestA field
 * - Update mediawiki_selenium Ruby gem to the latest version
 * - Restrict max width on mobile version of Special:Contributions
 * - Fix misaligned back to top button on RTL wikis

MoodBar

 * - Add GENDER support for log entries

MultimediaViewer

 * - Fixed viewer only displaying every nth image after reopening
 * - Cache imageinfo query in MultimediaViewer
 * - Remove uploader's name from MediaViewer

MwEmbedSupport

 * - Add php code sniffer, Remove i18n shim

OAI

 * - Use __METHOD__ for DB begin/commit calls
 * - Fix PHP shim
 * - Convert OAI to use extension registration

OAuth

 * - Update for SessionManager
 * - Disable authorization form button after submit

OpenStackManager

 * - NovaPrivateHost: Ensure puppetclass/puppetvar LDAP attributes get modified
 * - Add agent link to all notifications
 * - Check Hiera namespace permissions against root text of title

PageTriage

 * - Update some packages
 * - Use Maintenance DB transaction methods
 * - Use Maintenance DB transaction methods
 * - Add agent link to all PageTriage notifications
 * - build: Enable mediawiki-codesniffer and make pass
 * - Convert spaces to tabs
 * - Use user language instead of content language for list formatting in notifications

PagedTiffHandler

 * - Remove makeImageLink2 comment

Petition

 * - Use valid spdx license identifier
 * - List Special:PetitionData/csv as a subpage in prefixsearch

Popups

 * - renderer: Unregister mouseleave handler on mw.popups.$popus on closePopup
 * - Stop showing popup for cancel link on the Wikitext editor
 * - Move EventLogging schema registration into extension.json
 * - Use ExtensionRegistry to determine whether TextExtracts is installed
 * - Add 'lang' and 'dir' attributes to '.mwe-popups-extract'

ProofreadPage

 * - Use "   " and "    " with quotes instead of Page and Index namespaces

QuickSurveys

 * - Validate and forward survey's platforms
 * - Don't commit composer.lock file
 * - Fix "class Foo {" on the same line, add missing @param
 * - Remove unused import
 * - Fix @return phpdoc
 * - Add type hinting
 * - Set explicit output format for message
 * - Log user interactions with external surveys
 * - Fix clear:both breaking pages

Quiz

 * - Pass jshint and add it to 'npm test' command

RSS

 * - Replace misleading wfMsg* comment

Renameuser

 * - Use Maintenance DB transaction methods

SandboxLink

 * - Convert SandboxLink to use extension registration

Scribunto

 * - build: Enable and configure jscs, fix some errors
 * - Use correct variable in ustring.lua

SecurePoll

 * - Replace Linker::makeKnownLinkObj
 * - Use __METHOD__ for DB begin/commit calls

SemanticForms

 * - Added catching of Cargo exceptions
 * - Removed some references to Semantic MediaWiki
 * - extension.json now only loaded for MW >= 1.26
 * - Two autocompletion fixes
 * - Cargo field params should not override "values ..." params
 * - Another fix for formHTML -> SFFormField refactor
 * - Fix to ignore default value in 'checkboxes' for existing pages
 * - Yet more fixes for formHTML -> SFFormField refactor
 * - Fix extension registration support
 * - Removed deprecated tags from SF
 * - More fixes for formHTML -> SFFormField moves
 * - fix for PHP Notice:  Undefined variable: wgParser in includes/SF_FormField.php on line 271
 * - Moved "field" tag parsing into SFFormField class
 * - Replace Title::userIsWatching
 * - Remove wfCheckLimits
 * - Added handling for new CargoFieldDescription::getDelimiter
 * - Added i18n messages for API
 * - Fix for combo of month/year-only date, no "American dates" and no SMW
 * - Split off getStringForCurrentTime from formHTML code

SubpageSortkey

 * - Convert SubpageSortkey to use extension registration

SyntaxHighlight_GeSHi

 * - Update symfony/process to ~2.6

TemplateData

 * - Replace deprecated wfMsg* functions

Thanks

 * - Convert Thanks extension to use extension registration
 * - Add agent link to all Thanks notifications
 * - HistoryRevisionTools and DiffRevisionTools no longer use $wgUser
 * - Add secondary link to Flow board for flow-thanks notifications
 * - Convert Special:Thanks to OOUI form
 * - Add the agent as a secondary link to Thanks notifications

TimedMediaHandler

 * - Remove pointless wfSuppressWarnings call
 * - Fix deprecated SquidUpdate calls
 * - Use OO.ui.confirm for the confirmation dialog in ext.tmh.transcodetable
 * - Stop calling ApiQueryBase::titleToKey

TocTree

 * - Add jshint to 'npm test' command

Translate

 * - Use .prop instead of .attr for boolean HTML attributes
 * - Use language object for hook PageContentLanguage
 * - Use BCP 47 conform language code for HTML attribute lang
 * - Reuse Language objects
 * - Replace Elastica\Query\Bool usage in ttmserver
 * - codesniffer to 0.5.1, grunt-jsonlint to 1.0.7
 * - Hide the group selector after click on the group.
 * - Add jscs linter with wikimedia preset and fix issues
 * - Fix casing of a few function names
 * - Rename CHANGELOG to HISTORY
 * - Don't rely on user lang globals for tags.

TranslationNotifications

 * - Convert TranslationNotifications to use Extension Registry

UniversalLanguageSelector

 * - Various performance fixes for CompactInterlanguageList
 * - Fix the cancel event function to prevent erroneous close
 * - gitignore: Add langnames.ser

UploadWizard

 * - Revert "Define required 'defaults' field in licensing config"
 * - Revert "Revert "Define required 'defaults' field in licensing config""
 * - Revert "Define required 'defaults' field in licensing config"
 * - Pass correct parameters to mwe-upwiz-error-too-short and mwe-upwiz-error-too-long
 * - Update mediawiki_selenium Ruby gem to the latest version
 * - Remove non-existent preferences from $wgDefaultUserOptions
 * - Clarify message about unsupported file types which mentions Firefox and Firefogg
 * - Define required 'defaults' field in licensing config
 * - Use OS detection to display proper Ctrl/Cmd key for Flickr selections
 * - Remove redundant errorMessage use in mw.errorDialog
 * - Make "Upload anyway" link an OOjs UI button
 * - Refactor mw.ErrorDialog to use OO.ui.alert
 * - Avoid double-escaping
 * - mw.GroupProgressBar: Remove unused parameter
 * - mw.UploadWizardDetails: Correctly pass raw mw.Message, not escaped text
 * - uw.controller.Details: Correct indentation, avoid Function#bind when not needed, tweak comments
 * - Revert "Kill polling for moveFileInputToCover"
 * - Moved uw.controller.Details.prototype.valid to use OO.ui.confirm
 * - Remove some dead CSS
 * - Kill polling for moveFileInputToCover
 * - Remove JS adding/removing 'hover' CSS class,
 * - Warning when file date is in the future
 * - Generalize warning system
 * - Fix upload progress bar

VisualEditor

 * - Remove references to non-existent messages
 * - Stop using broken image links in tests
 * - [BrowserTest] Experimenting with JS object references
 * - Update VE core submodule to master (a509b1c)
 * - Education popups: Only show for DesktopArticleTarget
 * - build: Bump file copyright notices for 2016
 * - EditingTabDialog: Shorten the copy to make snappier, drop 'Edit' tab name
 * - Update VE core submodule to master (a909501)
 * - DesktopArticleTarget: Preserve oldid when switching from WTE into VE
 * - [BrowserTest] Update mediawiki_selenium Ruby gem to the latest version
 * - SET: Don't try to do any client-side section link magic if we're not supposed to.
 * - DesktopArticleTarget: Improve teardown sequence
 * - Refactor MediaResources(Provider/Queue)
 * - Fix inheritance of ve.ui.MWTransclusionDialogTool
 * - Make Ace Editor adjustSize method chainable
 * - Preserve oldid when switching from VE into WTE
 * - Avoid checking non-set keys in user-defined data
 * - MWTarget: Only add ve-init-mw-target-surface to the main target surface
 * - SET: Always show wikitext editor on action=edit if multiple tabs are in use
 * - DesktopArticleTarget: Change tab text on server side when possible
 * - ExtensionPreviewDialog: Use a deep copy when preparing sub-doc for editing
 * - Show the welcome dialog by default to new users

WikiEditor

 * - Fix qqq description of i18n message
 * - Add format-bold-Iab image for lang ce
 * - Use mw.Message#text instead of plain in wikiEditor.autoMsg
 * - Remove non-working from help
 * - Use background-image instead of for toolbar icons
 * - Substitute in the title of dialogs

WikiLove

 * - Converted WikiLove to new extension registration
 * - Flag API module as needing a token
 * - Update mediawiki_selenium Ruby gem to the latest version

WikidataPageBanner

 * - Fix &diff=0 being treated as a non-diff page
 * - Remove unused variable
 * - Use $wgContLang for parameter going into a content language message
 * - Fix typo in documentation
 * - Remove instance caching in getWPBConfig
 * - Rename BeforePageDisplay hook to standard name
 * - Don't show WikidataPageBanner when printing
 * - Show banner on all namespaces if $wgWPBNamespaces is true.
 * - Do not set wpb-banner-options if the custom and wikidata banner are invalid

WikimediaEvents

 * - Set manifest_version in extension.json
 * - Convert WikimediaEvents to use extension registration
 * - Remove unused searchSuggest experiment
 * - Actually define tags for cross-wiki upload A/B test

WikimediaMessages

 * - Set manifest_version in extension.json
 * - Add "ipb-confirmhideuser" message override
 * - Add missing MessagesDirs entry for "WikimediaOverrideMessagesNoTranslate"
 * - Convert to extension.json and deprecate PHP entry point

ZeroBanner

 * - Add jshint to 'npm test' command

ZeroPortal

 * - Update Jenkins tests

cldr

 * - Set manifest_version in extension.json
 * - Convert cldr to use extension registration

intersection

 * - DynamicPageListHooks: Set parser context title

wikihiero

 * - Convert wikihiero to use extension registration

Vector

 * - Increase transparent background canvas of external link icons
 * - Update grunt-jsonlint to 1.0.7 and MW codesniffer to 0.5.1
 * - Actually apply personal bar z-index hack to modal OOUI window managers