MediaWiki 1.26/wmf1/Changelog

Core changes

 * - Prevent SiteStats::loadAndLazyInit from reloading in $wgMiserMode
 * - Track search events
 * - Add test for IRC line for type protect/move_prot
 * - Made User::invalidateCache use touch instead of the DB query
 * - Begin 1.26 development cycle
 * - Made User::loadPasswords respect &quot;queryFlagsUsed&quot;
 * - Revert &quot;Hide HHVM tag on Special:{Contributions,RecentChanges,...}&quot;
 * - Fixed bug where catching DB errors left ignoreErrors on
 * - registration: Support 'namemsg'
 * - registration: Support ResourceModuleSkinStyles
 * - Report correct rev_id in missing-revision message
 * - Removed &quot;page-lastedit&quot; cache key trick from WikiPage
 * - Allow setting anonnotice to &quot;&quot; to prevent fallback to sitenotice
 * - Mostly revert &quot;Verify parameter for MapCacheLRU::has can be passed to array_key_exists&quot;
 * - Fix param order of a Title::newFromText call in MediaWiki
 * - MessagePoster followup: Dependency and docs
 * - Made replaceSectionContent try to use DB_SLAVE
 * - Avoid DB_MASTER in replaceSectionAtRev
 * - resourceloader: Require $wgResourceModuleSkinStyles paths to be in the base definition
 * - Avoid master queries on SpecialBlockList
 * - Made Block::insert handle expired rows
 * - Made getWatchlistInfo use DB_SLAVE
 * - Add pluggable talk page poster and use it for mediawiki.feedback
 * - Separate Monolog shims from other logging shims
 * - Added CAS-style logic to User::saveSettings as a final sanity check
 * - Log when User::saveSettings is called in read-only mode
 * - Made User::newTouchedTimestamp handle clock skew a bit better
 * - Fix ApiQuerySiteInfo with siprop=rightsinfo to not die if your wgRightsPage is null
 * - Catch rollback exceptions in API exception handling
 * - Track request method in dbperformance.log
 * - Parser: Say tildes instead of in comment to fix Doxygen fatal
 * - mergeMessageFileList: Support reading extension/skin.json files
 * - Fix description for MessagesBgn.php
 * - Update special pages aliases for Luri (lrc) from translatewiki
 * - Add special pages aliases for Western Balochi (bgn) from translatewiki
 * - objectcache: Add @covers for BagOStuffTest
 * - Add a breadcrumb to EditPage refactor
 * - Html::srcSet: allow density to be specified either with or without trailing 'x'
 * - Output converted namespace name in nstab when nstab-* is not defined
 * - Update OOjs UI to v0.9.7
 * - Kill Dwimmerlaik
 * - Make use  in the quotes
 * - jquery.suggestions: Convert documentation to JSDuck format
 * - Move MWLogger classes to MediaWiki\Logger namespace
 * - PHPCS lint fixes
 * - Cut down on deadlocks in invalidatePages
 * - Made rollbackMasterChanges catch exceptions, throwing the last one
 * - Better file size limit message display logic
 * - Skin: Account for User::newFromName returning false
 * - Made Skin::getRelevantUser use READ_NORMAL
 * - Removed BloomFilter classes
 * - SkinFallback: Recommend using wfLoadSkin if possible
 * - Remove form when including empty Special:WhatLinksHere
 * - resourceloader: Omit empty parameters from mw.loader.implement calls
 * - Have back-compat shim actually return the value
 * - Fixed class name typo in docs
 * - Add namespaces for Western Balochi (bgn) from translatewiki
 * - Add special pages aliases for Luri (lrc) from translatewiki
 * - jquery.suggestions: Document the callback context and parameters
 * - DefaultSettings: Remove &quot;~&quot; from comment to fix Doxygen parse error
 * - languages: Backtick &quot;&lt;em&gt;&quot; since it's meant as code instead of mark up
 * - LogFormatter: Indent code to fix Doxygen parse error
 * - ResourceLoaderImage: Allow shorthand syntax
 * - Added read-only checks around User::saveSettings where they belong
 * - Simplify profiler output class selection
 * - Check return value of preg_match in Sanitizer.php
 * - Minor cleanups
 * - Don't require database access in ApiMainTest
 * - Message: Clean up unit tests and improve code coverage
 * - User: Add unit tests for getId, isAnon and isLoggedIn
 * - installer: Read from extension.json if possible
 * - Follow-up to Icf644ad34: Introduce ProfilerOutputStats
 * - Introduce ProfilerOutputStats
 * - Make WebRequest objects time-aware
 * - registration: Make it easier for other code to get extension metadata
 * - Sync up with Parsoid parserTests.
 * - ResourceLoaderImageModule: Remove stupid TODO
 * - Make all QUnit tests pass for languages other than English
 * - ResourceLoaderImageModule: Remove bogus CSSJanus call
 * - Resources.php: Remove duplicate copy of 'oojs-ui.styles' module
 * - OutputPage: Tiny tweak to jQuery.ready inline script
 * - SECURITY: Don't allow entities in XMP with HHVM
 * - SECURITY: Don't allow directly calling Xml::isWellFormed
 * - SECURITY: Always expand xml entities when checking SVG's
 * - SECURITY: Escape &gt; in Html::expandAttributes
 * - SECURITY: Don't execute another user's CSS or JS on preview
 * - SECURITY: Set maximal password length for DoS
 * - SECURITY: Fix animate blacklist
 * - SECURITY: Don't allow embedded application/xml in SVG's
 * - SECURITY: Make SVG @import checking case insensitive
 * - API: Reduce volume of &quot;continue format is changing&quot; warning
 * - New hook: OpportunisticLinksUpdate
 * - Use &quot;string|false&quot; as @return instead of &quot;string|bool&quot; where appropiate
 * - Remove redundant NS_MAIN from translations
 * - installer: Use wfLoadExtension/Skin in LocalSettingsGenerator
 * - installer: Reduce some code duplication in LocalSettingsGenerator
 * - Special:LinkSearch: display links to pages in content language
 * - Doxyfile: Suppress warnings for phpunit &quot;@&quot; annotations
 * - Doxyfile: Suppress warnings for invalid @codingStandardsIgnoreStart
 * - Made InfoAction::invalidateCache use READ_LATEST
 * - mwdocgen: Exclude node_modules from Doxygen
 * - DefaultSettings: Fix doxygen warning for missing @endcond
 * - Added slave/master fallback logic in Revision
 * - Some cleanups to MWExceptionHandler::handleException
 * - tests: Clean up file headers
 * - mw.track: Add test suite
 * - resourceloader: Simplify getHashMtime to merely a timestamp
 * - Fix capitaliation of UtfNormal namespace
 * - resourceloader: De-duplicate $files in ResourceLoaderFileModule::getModifiedTime
 * - profiler: Consolidate duplicate branches in ProfilerOutputText
 * - Made text profiling actually work with load.php
 * - Add checks to try to catch T92046
 * - Rely less on file stat cache in FileDependency
 * - resourceloader: Cut down on file stat time in safeFilemtime
 * - exception: Log fatal errors to a new 'fatal' log group
 * - Fixed on new revisions
 * - registration: Have wfLoadExtension (and similar) use the queue
 * - registration: Use array_merge rather than array plus when merging
 * - Adding mobile target to mediawiki.template.mustache
 * - Add SpecialLog::getLogTypesOnUser
 * - Update special pages aliases for Persian (fa) from translatewiki
 * - Add null check in WikiImporter
 * - EditPage: Remove remnants of pre-1.16 live preview
 * - Category view modified to use column width
 * - Fix list=logevents for new revision delete log entries
 * - Removed unused parameter from User::checkNewtalk
 * - Made User::getFormerGroups load properly
 * - ResourceLoaderImage: Some cleanup, typo fixes and tweaks
 * - ResourceLoaderImage: Throw exception if files don't exist
 * - resourceloader: Throw InvalidArgumentException for invalid constructor arguments
 * - ResourceLoaderImage: Add basic tests
 * - Made User::validateCache account for mQuickTouched
 * - Update namespaces for Luri (lrc) from translatewiki.net
 * - Add list-style-type:persian for bgn, lrc, mzn and sdh
 * - Parser tests for page status indicators
 * - Fix ORDER BY in fixUserRegistration.php
 * - ResourceLoaderImageModule: Rename 'image' in descriptors to 'file'
 * - ResourceLoaderImageModule: Remove 'type' stuff
 * - ResourceLoaderImageModule: Implement CSS selector templates
 * - ResourceLoaderImageModule: Add basic tests
 * - ResourceLoaderImageModule: Improve PHP 5.3 compatibility
 * - Use HTMLForm for Special:FileDuplicateSearch
 * - mediawiki.action.edit.preview: Disable if there is no #wpTextbox1
 * - Don't trigger MessageBlobStore during tests
 * - Mock error event firing in mw.loader test
 * - Simplify TitleTest::testWgWhitelistReadRegexp
 * - Use structured logging/MWLoggerFactory for TransactionProfiler
 * - Remove unused 'section-symbol' message
 * - build: Update grunt-banana-checker to v0.2.1
 * - Change default of $wgResourceLoaderMaxQueryLength to 2000
 * - Split out internal parseAndStash from the edit stashing API
 * - Fix dependency of ResourceLoaderSpecialCharacterDataModule
 * - Report uncaught errors via mw.track
 * - Remove MWLoggerMonologSamplingHandler
 * - Change labels of paging links in Category page
 * - Add release-notes for message escaping
 * - Avoid using DB_MASTER in makeLikeArray
 * - Replace Html::... with self::... in the Html class
 * - Move WikiEditor's special character data and messages into core for use in other extensions
 * - Add mobile target for mediawiki.confirmCloseWindow
 * - Correct typo in MediaWiki:Apihelp-paraminfo-param-formatmodules
 * - Set parameter default to array in WebResponse::setcookie
 * - Made User actually use the mQuickTouched process cache
 * - Made user preferences load from the master by default
 * - LocalFileTest does not require database access
 * - SearchUpdateTest does not require database access
 * - Don't require database access for ContentHandlerTest
 * - Removed view event from $wgAutopromoteOnce
 * - Made addAutopromoteOnceGroups check wfReadOnly
 * - Revert &quot;mediawiki.action.edit.preview: Disable if there is no #wpTextbox1&quot;
 * - Introduced User::touch method to bump the getTouched value using memcached
 * - refreshLinks.php: Limit rows scanned per query in deleteLinksFromNonexistent
 * - Made showJobs.php include abandoned jobs in --list
 * - ApiParse: Fix parse of new section title
 * - Remove unneeded variable assignment in Usercreate.php
 * - Fix inline documentation in WebResponse
 * - Changed user login logic to use less expensive touch method
 * - Fix typos in qunit tests
 * - LivePreview: Update the correct mw-editfooter-list
 * - Make wfWarn name the caller in Http::get
 * - Fix misleading $class = false default in Html::infoBox
 * - More specific types in doc tags in the Html class
 * - Fix TestingAccessWrapper::__call
 * - Made User::loadFromRow protected for sanity
 * - Deprecate wfDiff
 * - Made ProfilerStub return null instead of a dummy ScopedCallback
 * - Fixed the usage of $flags in loadLastEdit
 * - ApiParse: Forbid section=new when using page, pageid, or oldid
 * - LivePreview: Let's not potentially mangle #wikiPreview
 * - LivePreview: Notifiy user about errors
 * - Update OOjs UI to v0.9.4
 * - LivePreview: Support section=new for preview
 * - Remove never thrown UploadStashNotAvailableException
 * - PrefixSearchTest: Move insertPage from setUp to addDBData
 * - MediaWikiTestCase: Consistently use UTSysop user in setup/teardown
 * - Fallback to read from master in DifferenceEngine::loadRevisionData
 * - Let extensions add entries to Special:DeletedContributions
 * - Replace mb_strtolower with strtolower
 * - mediawiki.action.edit.preview: Replace only title in firstHeading
 * - Revert &quot;Optimize order of styles and scripts&quot;
 * - Update HTML title with displaytitle on live preview
 * - Use wikimedia/utfnormal library, add backwards-compatability layer
 * - ResourceLoaderImageModule: Synchronize CSS with .background-image-svg LESS mixin
 * - Allow callers to load user objects from slaves if desired
 * - RELEASE-NOTES: Increase minimum MySQL version to 5.0.3
 * - Remove unused class DBObject
 * - Verify parameter for MapCacheLRU::has can be passed to array_key_exists
 * - Fixed Style/StringLiterals RuboCop offense
 * - Fixed Style/HashSyntax RuboCop offense
 * - Fixed Style/PerlBackrefs RuboCop offense
 * - resourceloader: Add template compiler for Mustache JS
 * - resourceloader: Add @covers and minor clean up of test suites
 * - resourceloader: Use parent getDefinitionSummary in ResourceLoaderFileModule
 * - TemplateParser: Use ObjectCache::newAccelerator with fallback set
 * - TemplateParser: make most functions protected, only expose processTemplate
 * - TemplateParser: Don't fatal on cache misses
 * - Update MWLoggerLegacyLogger phpdoc
 * - Allow MWLoggerMonologHandler to take prefix from channel
 * - mediawiki.action.edit.preview: Disable if there is no #wpTextbox1
 * - Bidi-isolate numbers of added/removed bytes in changes lists
 * - Set wgAutoloadAttemptLowercase = true for some AutoLoaderTests
 * - Make sure template function is callable from processTemplate
 * - Remove table header from Special:Tags when there are no tags
 * - Add more aliases for Special:Diff for language 'de'
 * - Use rspec-expectations &quot;expect&quot; syntax instead of &quot;should&quot; syntax
 * - mediawiki.helplink: Use a SVG+PNG icon
 * - Add unicode-bidi: embed to mw-title on changeslists
 * - build: Increase qunit browserNoActivityTimeout from 10s to 60s
 * - build: Add assert-mw-env task when running grunt-qunit
 * - mediawiki.util: Add mw.util.isIPAddress
 * - Allow usage of mediawiki.api.options on mobile
 * - Update OOjs UI to v0.9.3
 * - Add example code showing to completely disable logging
 * - Use ksort in getDeduplicationInfo for sanity
 * - Remove FormSpecialPage::$fields
 * - EditPage: Implement 'editnotice-notext' message
 * - Update OOjs to v1.1.6
 * - build: Declare grunt-cli dependency
 * - Send messages logged via MWLoggerLegacyLogger::log to the debug toolbar
 * - Remove EditFilterMerged detection define
 * - Remove unused global define RLH_FOR_UPDATE
 * - Split SiteLookup interface from SiteStore
 * - mediawiki.api.options: Add module for API action=options
 * - Fixed Lint/UnusedMethodArgument RuboCop offense
 * - Force LocalFile::purgeMetadataCache use the master DB
 * - Fixed Style/FileName RuboCop offense
 * - mime.types: allow bzip2 upload
 * - Remove a hack, and a hack for the hack, for MediaWiki UI input fields
 * - Removed odd &quot;partitionsNoPush&quot; setting to simplify the code

Vendor

 * - Set classmap-authoritative: true
 * - Update OOjs UI to v0.9.7
 * - Update OOjs UI to v0.9.4

AbuseFilter

 * - Add help link to mw:Extension:AbuseFilter/Rules from Edit view
 * - Use https in composer.json
 * - PostgreSQL: Fix magic-value code for AbuseFilter
 * - Fix for legacy testwiki AFL entries (1 to 154)
 * - Don't emit warnings when viewing old AbuseLog entries

AntiSpoof

 * - Use https in composer.json

BetaFeatures

 * - Made getPreferences hook avoid saving the user every time

BounceHandler

 * - Add more tests to variables and remove undefined index issue

CategoryTree

 * - MWException -&gt; Exception

CentralAuth

 * - forceRenameUsers: Don't rename reserved accounts
 * - Log promote to global renames in the global rename log
 * - GlobalRenameRequest: Don't pass null to Title::newFromText
 * - Fixed Style/SpaceInsideParens RuboCop offense
 * - Fixed Style/SpaceAfterColon RuboCop offense
 * - Fixed Style/RedundantSelf RuboCop offense
 * - Fixed Style/LeadingCommentSpace RuboCop offense
 * - Fixed Style/AlignParameters RuboCop offense
 * - Regenerate RuboCop TODO + fix StringLiterals
 * - GlobalRename: Pass session info to LocalRenameUserJob
 * - Update RuboCop version and configuration file
 * - Switched to using User::touch to avoid DB write spam
 * - CentralAuth: add PLURAL to messages with lists.
 * - Ensure that emails are sent to correct email address
 * - SpecialUsersWhoWillBeRenamed: Fix incompatible method override
 * - Add script to remove attached users from the users_to_rename table
 * - Don't force a pagination limit of 25
 * - Actually use 'suppressredirects' option in LocalPageMoveJob
 * - sendForceRenameNotification: Skip redirects for now
 * - Update for RenameuserSQL changes
 * - Update sendForceRenameNotification.php
 * - sendForceRenameNotification: Use a directory with fallback for message body
 * - Don't list attached users on Special:UsersWhoWillBeRenamed

CheckUser

 * - Consistency tweaks: IP -&gt; IP address
 * - SECURITY: Add an edit token to Special:CheckUser
 * - Use https for API help links to mediawiki.org

CirrusSearch

 * - Add support for event logging
 * - Use top_terms_boost_1024 over top_terms_128
 * - Cleanup indentation: s/spaces/tabs/
 * - Add missing variable to closure
 * - Bring a failing intitle: test up to date
 * - Don't trigger Wikitext highlighting for intitle:
 * - Handle MWException in forceSearchIndex.php script
 * - Make Reindexer work with nested data

Citoid

 * - Insert inline transclusion instead of block
 * - build: Update grunt-banana-checker to v0.2.1
 * - Use 'rerender' event for generated content in citoid inspector
 * - Split the inspector into panels

CodeEditor

 * - Only block for errors when saving

CodeReview

 * - Use DB_SLAVE in a few places

Collection

 * - Add JSCS configuration and hook it up to `npm test`
 * - Javascript whitespace and code style cleanup
 * - Alphabetize resource modules
 * - The transition ext.collection.jquery.jstore module is no longer needed
 * - Rename js/ to modules/
 * - Rename Proposals to CollectionProposals
 * - Use message parameters instead of string replace
 * - Code style fixes to check_load_from_localstorage.js
 * - Remove $wgCollectionHierarchyDelimiter workaround.

ConfirmEdit

 * - Remove undefined $user variable
 * - Follow-up 804903b4a7: fix overlooked usage of removed $context var
 * - Revert &quot;Getting rid of some globals&quot;
 * - Fix passCaptcha when using it twice in one session
 * - Allow previous revision text to be explicitly provided
 * - Avoid master queries on edit form views
 * - FancyCaptcha: Don't return status code 500, if no server error

ContactPage

 * - Fix undefined index warning

ContentTranslation

 * - Load style for Parsoid output along with source RL module
 * - Remove highlighting classes before saving the translation
 * - Remove unwanted link highlight code from translation module
 * - Move the highlighting related styles to a separate LESS file
 * - Fix the position of the MT abuse flag icon for RTL
 * - Avoid a js error at mw.cx.getSourceSection when id is null
 * - Hide the contributions callout when clicking outside it
 * - Cleanup in ext.cx.campaigns.contributionsmenu.js
 * - Warn users when leaving while a save is in progress
 * - Show the red interlanguage link only when reading the article
 * - Fix undefined 'cx' error
 * - Quick popover menu when hovering the contributions link
 * - Improve automatic adding of reference list
 * - Stats: Move the graph under published translations section
 * - Update the version
 * - CXStats: Make the graph labels week end dates instead of start dates
 * - Templates: Remove compound content blocks from several transclusions
 * - Improve contributions page entry point by adding 3 ways to contribute
 * - Refactor the feedback tool as a widget module
 * - Make spinner as a widget module
 * - Move progressbar to widgets
 * - Introduce common widget style LESS file
 * - Stats: Add missing 'jquery.uls.data' module
 * - Visualize the published translations as a graph
 * - Fix the small font size issue in monobook skin
 * - Remove the User namespace vs Main namespace publishing summary
 * - Add vendor folder generated by composer to .gitignore
 * - Stats: Remove wrong group by from stats query
 * - EventLogging for various actions on translation
 * - Add previous languages to red interlanguage links list
 * - Campaign: Make the banner skin independent
 * - Add eventlogging to measure entry point effectiveness
 * - Use the callout widget for 'new article from translation' campaign

DonationInterface

 * - Don't overwrite donor language with fallback value
 * - Remove some donation premium language
 * - Fix regression with zero-amount error
 * - Don't do stupid things with the recurring param
 * - Zoom out PayPal integration tests
 * - Test that we are skipping the PP interstitial
 * - Clean up some Adyen cruft
 * - Hardcode PayPal gateway to always redirect, if possible
 * - Be more discriminating about the &quot;redirect&quot; param
 * - Respect &quot;redirect&quot; param if available
 * - Fix ran_hooks check
 * - Don't fraud-fail on STATUSID 25

Echo

 * - Allow multiple target pages per event
 * - Title::newFromText requires string argument.
 * - Read revision from master when determining notifications to send
 * - Update mock wgEchoConfig to also run on Special:JavaScript/qunit/plain
 * - Hygiene: Delete commented out code
 * - Hygiene: Remove unused method on EchoTargetPageMapper

EducationProgram

 * - Add Latvian translations for namespaces/special pages
 * - Add Ukrainian translations for EP namespaces
 * - Use https in composer.json

EventLogging

 * - Don't propagate logs written by the file handler to eventlogging daemon's stdout or stderr
 * - RemoteSchema: Make most methods protected
 * - ResourceLoaderSchemaModule: Use definition hash instead of fake timestamp
 * - Statsd reporter checks format of processor files

ExtensionDistributor

 * - Allow defaulting to a different branch than the second one
 * - Use namespaced LoggerFactory class

FlaggedRevs

 * - Avoid calling purgeExpiredConfigurations on page views
 * - Add missing classes to autoload

Flow

 * - Add missing import for WikitextContent
 * - Convert LQT unread messages into flow-post-reply notifications
 * - Disallow revisions in deleted boards
 * - Show revisions from deleted boards in DeletedContribtions instead of Contributions
 * - Add Flow MessagePoster
 * - Indicate that $node argument is optional
 * - Update unit test for I6846ce09
 * - Prepare for revert of patch in ConfirmEdit
 * - Fix flow_moderate_post.handlebars not found
 * - Don't consider visualeditor-enable
 * - &quot;Edit the summary&quot; to &quot;Edit the topic summary&quot;
 * - Conditionally add switch buttons
 * - Clarify that this is not the usual sense of &quot;Edit summary&quot;
 * - Remove ContentFixers from Parsoid API
 * - Editor switcher
 * - Move Api classes into Flow\Api
 * - Handle null from Title::newFromText in Special:EnableFlow
 * - Hygiene: Remove unused activateForm handler
 * - Toolbar should appear to be within text area
 * - Fix missing var $type
 * - Accept a $node in mw.flow.editor.getFormat
 * - Move VE toolbar below the editing surface
 * - Add header purge code
 * - Make getHex public; this makes PHP shell debugging easier.
 * - Don't expect cuc_id to exist
 * - Prevent mixing up ltr usernames with timestamps in rtl
 * - Make sure workflows is always an array
 * - Wrap all textarea's for editing in a flow-editor class
 * - Add @ as a sequence to open mentions.
 * - Accept preload &amp; preloadtitle params
 * - Display submitted topic content
 * - Hygiene: Use factory closures instead of Action classes
 * - Use standard box-sixing for mw-ui-input as well
 * - Refactor and implement mention inspector
 * - Change ConvertLqt -&gt; ConvertLqtPage
 * - Block the user from the using the action=delete interface for topics.
 * - Fix wgFlowContentFormat docs and note that wikitext may be deprecated
 * - Hygiene: Remove 'mw-less testing' lines and empty comments
 * - Provide ConfirmEdit with the previous revision content
 * - Override $wgFlowContentFormat to wikitext if there is no Parsoid URL
 * - Notifications should not be sent by default during the import process
 * - First store workflow, then the rest
 * - Store data for IRCLine tests
 * - API tests use all Flow tables
 * - Ask for header content in specific format
 * - Adding $message of caught WikitextException object to displayed error
 * - Fix typo in RevisionViewQuery
 * - Use addModuleStyles for mediawiki.skinning.content.parsoid
 * - Correct typo in i18n message key
 * - Move edit link for posts above moderation actions
 * - Add Flow revisions to Special:DeletedContributions
 * - New model for indentation
 * - Title can only be plaintext
 * - Increase length of *_wiki fields to 64
 * - ConfirmEdit spam filter needs appropriate context passed through
 * - Topic watchstar not reacting properly
 * - Hygiene: Follow up change in ConfirmEdit
 * - Don't assume you can view history for a rev if you can view content
 * - Add missing i18n messages to JS
 * - Clarify rev_type_id DB documentation
 * - Get rid of synchronous ajax calls
 * - Remove some ExpandTextarea mess
 * - Refactor code to allow board creation
 * - Don't re-apply parent indent in partials
 * - Remove ext.flow ResourceLoader group.
 * - Prepare Flow for core templating infrastructure changes
 * - Fix incorrect apihelp i18n message
 * - postId and topicId can be strings or UUIDs
 * - Contact parsoid only when necessary for FlowUpdateRevisionContentLength
 * - Connect TopicHistory listener to post storage
 * - Credits for en.json
 * - A bit of cleanup for i18n messages
 * - Revert &quot;Allow delete link in menu&quot;
 * - Undo
 * - Split preview into feature file
 * - Fix old serialized UUIDs in logging table
 * - Add auto-rename script to makefile
 * - Resolve inconsistent license (standardize on GPLv2+) and update authors

GWToolset

 * - Add $wgAvailableRights

Gather

 * Newly deployed extension

GettingStarted

 * - GettingStarted: avoid skin dependent color name in message

GlobalUserPage

 * - Avoid master queries on parse due to User object loading

Graph

 * - Updated from upstream Vega lib

ImageMetrics

 * - Add a sanity check to the CORS test
 * - Mock test dependency

LiquidThreads

 * - Move deprecated HTML attributes to CSS

MassMessage

 * - MassMessage: wording in message texts enhanced
 * - Handle edit conflicts better in MassMessageServerSideJob

Math

 * - Move integration tests to a new special page
 * - PSR-3 logging cleanup

MobileFrontend

 * - Lets CodeMirror automatically resize to fit its content
 * - Alpha: Minor Special:MobileMenu improvements
 * - Hygiene: Don't add Echo modules, if Echo isn't installed
 * - Hygiene: Make confirm button in PageActionOverlay optional
 * - Hygiene: Don't use icon class for removing uploads link
 * - Use correct image icon path
 * - Re-start versioning the extension
 * - Hygiene: Move cancel-light icon into skins.minerva.icons.images module
 * - Alpha: better parsing for a link title for quickLookup
 * - Disable mobile.fontchanger after it is useful again
 * - Alpha, Beta: Wikidata description/issues to 0.8em
 * - fix mwextModes property of CodeMirror editor
 * - Alpha, beta: Fix page save spinner
 * - Hygiene: Don't add watchstar styles twice
 * - Bring back the scroll event
 * - Add Swipe module and use it in ImageOverlayNew
 * - Make width of buttons not change when label is replaced with spinner
 * - VisualEditorOverlay: Call TargetLoader
 * - Alpha: Improved search form for non-js users
 * - Do not load Minerva modules outside Minerva
 * - Hygiene: Remove dependency on mobile.templates where hogan is used
 * - Fix notices on bogus language codes
 * - Limit hiding of sideboxes to sister sites
 * - Hygiene: Fix false comment
 * - Hygiene: Don't load InfiniteScroll on _all_ pages
 * - Don't load mobile.talk on pages with no wikitext talk page
 * - Fix Next button for anonymous users
 * - Get rid of 'type' stuff in ResourceLoaderImageModule
 * - Use ResourceLoaderImageModule's CSS selector templates
 * - MediaViewer cancel button made to close viewer
 * - Fix wikitable table borders
 * - Avoid needless master queries on page views
 * - Ignore multicolumn layouts on small devices
 * - Hyphenate page titles
 * - Make list items easy to read by adding margin-bottom
 * - Fixes to the page action tutorial
 * - Debounce resize events
 * - Center ContentOverlay arrow alignment on element
 * - Add CodeMirror for alpha users to better understand wikitext
 * - Hygiene: Alternative syntax such as &quot;X&quot; should not be used
 * - Re-add clear:both to beta page-secondary-actions
 * - Make page action overlay pointer position correctly.
 * - Move wgMFEditorOptions to ResourceLoaderGetConfigVars hook
 * - Fix close button in ImageOverlayNew
 * - Hygiene: Generalise EventLogging for main menu
 * - Use new schema for main menu click tracking
 * - Hygiene: Don't check sessionid length
 * - Remove &quot;short sentence&quot; from wikidata description i18n message
 * - &quot;View on WikiData&quot; =&gt; &quot;View on Wikidata&quot;, not camel case
 * - Don't say &quot;MobileFrontend Infobox alpha edit&quot; for Wikidata description edits
 * - Show namespace in the Special:MobileLanguages header
 * - word-break: normal in page headings
 * - MediaViewer image description trimmed
 * - Hygiene: Stub all Api calls in qunit test
 * - Add background-repeat: no-repeat for SpecialHistory on the desktop
 * - user: Update sessionId test to match updated length in MediaWiki core
 * - Load Mobile event emitter in the head
 * - In phpunit, mobile frontend crashes
 * - Introduce mediawiki.template.hogan in preparation for templates in core
 * - Hygiene: Remove util.query and use core functions
 * - Add a space in a &lt;br/&gt; tag in a message
 * - Don't hide the clear button when the search input is not empty
 * - Show Overlays only after the DOM is ready
 * - Revert &quot;Correct the arrow position of the editor tutorial&quot;
 * - Allow null edits on mobile (same as desktop)
 * - Infobox: Add link to commons category overlay

MultimediaViewer

 * - Increase values for frequent beta browser tests timeouts
 * - Catch exceptions thrown by localStorage.getItem
 * - Make progress bar qunit tests more robust

OAuth

 * - Removed unused variable $time from OAuthListConsumers

OpenStackManager

 * - Don't reset default puppet config when editing puppet config.
 * - '$project' is already the project name :(
 * - Add 'updatedomains' maintenance script.
 * - Include associated domains like .&lt;project&gt;.eqiad.wmflabs for new instances
 * - Correct case of class OpenStackNovaKeypair

PageImages

 * - Rename 'source' property to 'original'
 * - Add 'source' parameter to API for getting original url

PagedTiffHandler

 * - Remove PagedTiffHandler::visibleMetadataFields
 * - Pass $context to FormatMetadata::getFormattedData

PdfHandler

 * - Add warning about PDF files on the file page.

Popups

 * - Use href attribute to calculate titles
 * - Add icon and link to qualtric survey if $wgPopupsSurveyLink is defined
 * - logger: Add a sampling rate of 10
 * - Implement the new schema for when the popups are disabled
 * - Do API queries after API_DELAY
 * - renderer.article.getProcessedElements: Stop escaping the title and the extract
 * - Implement the new schema for when the popups are enabled
 * - Rename popups.eventLogging to popups.logger
 * - i18n: Remove reference to color in description message
 * - settings: Use .text instead of .html for option's label
 * - renderer.article: Ignore thumnail if the URL has suspicious characters

ProofreadPage

 * - Add $wgAvailableRights entry for 'pagequality'

RSS

 * - Add missing class RSSHighlighter to autoload

Renameuser

 * - Update more log entries that are specifically about users

RestBaseUpdateJobs

 * - Use standard If-Unmodified-Since header for conditional updates
 * - Don't count all back links
 * - Improve edit update job handling
 * - Create sanely-named entry point file

Scribunto

 * - SECURITY: Sanitize the content of Lua backtraces
 * - Allow Lua console on protected module pages
 * - Scribunto API help text clarified

SemanticForms

 * - Fix for recent change to WikiEditorHooks::editPageShowEditFormInitial
 * - Removed old, long-unused call to $wgAjaxExportList
 * - Job::batchInsert is deprecated as of MW 1.21

SyntaxHighlight_GeSHi

 * - ResourceLoaderGeSHiModule: Cache file mtime of __FILE__
 * - ResourceLoaderGeSHiModule: Use GESHI_VERSION instead of file mtime

TemplateData

 * - [BREAKING CHANGE] Change &quot;default&quot; property to InterfaceText
 * - build: Update grunt-banana-checker to v0.2.1
 * - TemplateData: add PLURAL to message Templatedata-modal-notice-import-numparams
 * - TemplateData: use consistent quotes
 * - Extra credits in en.json and qqq.json
 * - Remove extra 'or's from an English message

TimedMediaHandler

 * - Fix $streams emptiness check
 * - API: Pass pageId as intval to avoid error in XML output

Translate

 * - SearchTranslation: Add styling for previous/next links
 * - Update version before MLEB release
 * - Load the other groups with search results in the group selector.
 * - Reindex tool to update index mapping
 * - Removed unwanted pixel fixed from switch icon
 * - Use UserGetReservedNames hook instead of modifying a global at run-time
 * - Position the group selector to appear at the bottom of the trigger.

UniversalLanguageSelector

 * - Update jquery.uls from upstream
 * - Reset the preferences after each browser test scenario
 * - Update Gemfile
 * - Fix Rubocop offense Extra empty line
 * - Update version before MLEB release
 * - Disable failing Cucumber scenarios
 * - Revert &quot;Update inputs to use mw-ui styles&quot;
 * - Refactor showULSTooltip
 * - When changing language first time, language code was shown
 * - Clunky workaround for putting link into escaped message
 * - ULS: message text grammar enhanced
 * - Add missing RL dependency ext.uls.init to test module ext.uls.tests
 * - Fix javascript error in inputsettings module

UploadWizard

 * - Fix JS error happening when navigating away while on file step
 * - Record javascript errors to funnel log stream
 * - Make &quot;npm test&quot; work
 * - QA: Refactor for mediawiki_selenium 1.0.2
 * - Move startUploads to the upload step controller
 * - Move allowCloseWindow around until it makes sense
 * - Move showNext into the step controllers
 * - Link steps together less painfully
 * - Use tox for running flake8
 * - Use promises instead of polling for transitions

VisualEditor

 * - Adding minimum width and height to MWAlienExtensionNodes
 * - Update VE core submodule to master (24e4428)
 * - Update VE core submodule to master (7058807)
 * - Update VE core submodule to master (a2b79e5)
 * - Fix opening of specific reference dialog
 * - Update VE core submodule to master (8c99a87)
 * - Fix constructor name for ve.ce.MWNowikiAnnotation
 * - build: Declare grunt-cli dependency
 * - build: Move pre/post 'doc' task into package.json
 * - Update VE core submodule to master (8e8b975)
 * - Merge MW internal link annotations if they have the same target
 * - Only try to load 'site' and 'user' modules on desktop
 * - Avoid undefined index warning for oldid if it's not set in serializeforcache
 * - Check whether html parameter is valid rather than allow warnings to be raised if it is not
 * - Use .apply in MWInternalLinkAnnotation.static.toDomElements
 * - Set default size to category popup widgets
 * - Update VE core submodule to master (ce9bde4)
 * - Allow parsefragment even if VE is not enabled for that title
 * - Restore Leli Forte's mt translations
 * - mw.ViewPageTarget: Disable pointer events on dimmed elements
 * - Use ve.safeDecodeURIComponent
 * - Follow-up 7c0ba1e: Revert catastrophic breakage of qqq.json
 * - Open the proper window when adding citation from the general dialog
 * - Update VE core submodule to master (248fc5d)
 * - Update VE core submodule to master (1d92641)
 * - Stash edits alongside the html -&gt; wikitext stashing step
 * - Use ResourceLoaderModule::safeFilemtime instead of using filemtime directly
 * - i18n: Re-sort alphabetically
 * - Update VE core submodule to master (7bc93e7)
 * - Fake &lt;base href&gt; if missing or invalid
 * - MWInternalLinkAnnotation: Remove useless .toString call
 * - Update VE core submodule to master (fd7ee98)
 * - mw.Target: Defer parsing of edit notices to MWNoticesPopupTool
 * - mw.Target: Remove visible text filter for edit notices
 * - Use new isVisible method
 * - Update VE core submodule to master (3f59941)
 * - Update VE core submodule to master (2c27ba9)
 * - Update VE core submodule to master (5822d2f)
 * - Update border width transition hack
 * - Try not to die when RESTbase returns a 404
 * - Support an &quot;other&quot; page for special characters
 * - Handle a further 70 WikiEditor special characters
 * - Update VE core submodule to master (ae039bc)
 * - build: Update grunt-banana-checker to v0.2.1
 * - Use parseInt, not Number.parseInt
 * - Load all of WikiEditor's special characters
 * - Don't position category popups -10px up
 * - Simplify context item for MWAlienExtensionNodes
 * - Parent constructor simplification
 * - Verify welcome dialog exists before trying to close it
 * - Correct font sizes of everything on MonoBook
 * - Strip X-Parsoid Performance Headers from Visual Editor
 * - [BrowserTest] Disable the Cite button screenshot
 * - [BrowserTest] Redefine the Apply changes element for language screenshot
 * - [BrowserTest] Add padding to some more screenshots
 * - Fix choose event listeners
 * - When content and metadata have different revids, explicitly retry the higher one
 * - Send requests to RESTbase directly when so configured
 * - ApiVisualEditor: Rename $page to $title, since it's a Title, not a WikiPage
 * - [BrowserTest] Add padding to the &quot;Apply changes&quot; button screenshot
 * - [BrowserTest] Add padding to screenshots of the page settings dialog
 * - [BrowserTest] Add padding to the Edit Links screenshot
 * - [BrowserTest] Add padding to the page settings item screenshot
 * - [BrowserTest] Show the full Formatting pull-down in the screenshot
 * - Fixed the empty Transclusion Box problem
 * - Show beta welcome dialog before surface is ready
 * - Update VE core submodule to master (754d3eb)
 * - Move template icon code to setup event
 * - Update AUTHORS.txt, $wgExtensionCredits and .mailmap based on git shortlog
 * - Fix revId check on new pages
 * - Vertially centre cite-web icon
 * - Enable VisualEditor for Blueprint skin
 * - [BrowserTest] Add the toolbar to the special chars screenshot
 * - [BrowserTest] Add padding to the lists and indentation screenshot
 * - Replace buttons with select widgets in GeneralReferenceDialog
 * - [BrowserTest] Fix the lists and indentation screenshot
 * - [BrowserTest] Add padding to the Formatting menu screenshot
 * - Remove this.fragment setting from ReferenceDialog
 * - [BrowserTest] Add padding to editing tabs screenshot
 * - [BrowserTest] Add padding to Insert button screenshots
 * - [BrowserTest] Capture the whole Insert button in the screenshot
 * - Move append to after list builder
 * - Update VE core submodule to master (731b3ad)
 * - Check for the two revision IDs returned by the server being different
 * - Use new createFromElement method from ModelFactory
 * - Update VE core submodule to master (cb06317)
 * - [BrowserTest] Capture the whole formatting button in the screenshot
 * - [BrowserTest] Rename headings dropdown scenario
 * - [BrowserTest] Add padding to the Headings dropdown screenshot
 * - [BrowserTest] Capture the whole dropdown indicator in the screenshot
 * - Emit activation entry/exit traces at the appropriate times
 * - Add unit test for mwAlienExtension node
 * - [BrowserTest] Add a screenshot for the Page settings menu item
 * - [BrowserTest] Add a screenshot for the category item
 * - Vertically center the progress bar within the visible part of #content
 * - Update VE core submodule to master (715750b)
 * - Update VE core submodule to master (1c5c1e2)
 * - For empty / whitespace-only headings, output &lt;p&gt; instead of &lt;h#&gt;
 * - Update VE core submodule to master (f8f9728)
 * - Make loading progress bar determinate
 * - Update VE core submodule to master (5d5f8a4)
 * - TransclusionDialog: Initialize label mode button
 * - Update VE core submodule to master (89c37dc)
 * - [BrowserTest] Update the screenshot gem version
 * - [BrowserTest] Remove when_not_visible check from 'I click Save page'
 * - [BrowserTest] Disabling the References list test
 * - [BrowserTest] Revert the definition of the disabled_save_button element
 * - Fix edit conflicts
 * - Update VE core submodule to master (91858b5)
 * - Set mwtiming events' target to 'mwTarget', if unset
 * - Restore async rendering of ReferenceContextItem
 * - Add .mailmap file
 * - Set action.saveFailure.message key in Edit schema
 * - Handle TitleBlacklist errors
 * - Update VE core submodule to master (b57d224)
 * - Update VE core submodule to master (6bd2ea5)
 * - Follow-up f620111b: pass parameters to fallback requestPageData call

WikiEditor

 * - Don't force a separate http request for ext.wikiEditor.init
 * - Escape messages
 * - Move WikiEditor's special character data and messages out to core
 * - Use __DIR__
 * - Add extension.json
 * - Remove unused code, pass phpcs
 * - Don't try to do event logging if we don't have a stats ID
 * - Try to prevent crazy EventLogging entries with no session ID etc.
 * - Only do client-side instrumentation on action=edit/action=submit

WikiGrok

 * - Adding some comments to Aggregator::aggregate
 * - Submission to Wikidata
 * - Don't log page-impression or widget-impression
 * - Don't load WikiGrok on disambiguation pages
 * - Claim aggregation
 * - Add &quot;composer test&quot; command to run phpcs and make it pass
 * - Fix value fail
 * - Fix fatal
 * - Fix an overly flamboyant name:P
 * - Add roulette query string to the next url
 * - Replace mw.MobileFrontend.util.query with mw.util.getParamValue
 * - Cap the number of claims WikiGrokResponse API should accept

Wikidata

 * - Update Wikidata - fix problem with edit links on diff view, etc.
 * - Update Wikidata - fix dumpRdf script
 * - Update Wikidata - property suggester, valueview and fix bug in client
 * - New deployment build - wmf/1.25wmf24
 * - Update Wikidata
 * - Update Wikidata - Fix recent changes formatting on wikidata
 * - Revert change dispatcher patches

WikimediaMaintenance

 * - Fix cleanupT92775.php
 * - Add maintenance script to fix up old CU-created block log entries

WikimediaMessages

 * - Fix some links that were moved in the past
 * - Add messages for 'editeditorprotected' protection level

cldr

 * - Fixing names of Balochi languages

CologneBlue

 * - Use 'remoteSkinPath' for ResourceLoader modules