MediaWiki 1.24/wmf17/Changelog

Core changes

 * - Enabled $wgUseLinkNamespaceDBFields
 * - mediawiki.notify: Simplify callback by using .then
 * - Pass $name to default Skin constructor for backwards-compatability
 * - includes/actions/: Use Config instead of globals
 * - SkinFallbackTemplate: Use SkinFactory instead of $wgValidSkinNames
 * - Fixed spacing
 * - Cleanup - let's make IDEs more useful
 * - Update release notes and documentation about skins
 * - Correct variable names in @param to match method declarations
 * - Fix documentation.
 * - Use /** for doc comments
 * - Fixed some docs
 * - ApiTestCase: Avoid notices about undefined indices
 * - Docs: compatability -&gt; compatibility
 * - Set $wgUploadNavigationUrl to false on parser and unit tests
 * - SkinFactory: Improve documentation and comments
 * - SkinFactory: register skins in Setup.php
 * - Remove deprecated $wgHTCPMulticastAddress, $wgHTCPMulticastRouting and $wgHTCPPort
 * - resourceloader: Wrap only=script responses in &quot;if(window.mw)&quot;
 * - Fix phpcs issues in actions and revisiondelete dirs
 * - actions: Move SubmitAction class out of EditAction.php
 * - resourceloader: Fix undefined variable in ResourceLoaderFileModule::getSkipFunction
 * - Remove duplicate override in SpecialRecentchangeslinked.php
 * - Change &quot;ENGINE=HEAP&quot; to &quot;ENGINE=MEMORY&quot;
 * - Remove return from Action::checkCanExecute
 * - Make travis notifications go to #mediawiki-feed
 * - Revert &quot;Travis CI: Drop 5.3 as a build target&quot;
 * - Fix visibility in SkinFallback and StubObject
 * - Add @codingStandardsIgnore tags to parser classes
 * - Fix phpcs issues in parser
 * - Fix phpcs stuff in profileinfo.php
 * - Cleanup some docs (tests)
 * - Add release notes for Ibe28a69c9fbab00b81c53b1643df722a3f1fbf19
 * - Do not allow a user to delete a page they can't edit
 * - Fix userrights-interwiki when the 'user' table is shared
 * - Require a ResourceLoader instance is passed to ResourceLoaderContext
 * - Fix documentation for Html::closeElement
 * - Skin: Don't double-check for non-existing skin in newFromKey
 * - Never display empty sections on Special:Version
 * - Move Vector's hooks documentation to mediawiki/skins/Vector
 * - Remove some unnecessary IE 6 hacks
 * - Introduce SkinFactory
 * - Cleanup some docs (languages)
 * - Cleanup some docs (maintenance)
 * - Followup 248ac9e: set $wgAutoloadClasses to an array after declaring
 * - mediawiki.content.json.css: Don't use funny fonts
 * - Make mediawiki.content.json.css not trigger JSDuck
 * - Use new static instead of new self
 * - Correct variable types in phpdoc
 * - Remove unreachable return in ChangesList.php
 * - Split SkinFallback and SkinfallbackTemplate
 * - JSONContent: Use self instead of explicit class name to support subclasses
 * - JSONContent: Add HTML escaping test from EventLogging
 * - Remove @todo in SpecialPage for making it into ContextSource
 * - Move MediaWikiPasswordTestCase to password dir
 * - Revert &quot;Pass a real IContextSource to ProtectedTitlesPager&quot;
 * - SpecialImport: Use Config instead of globals
 * - Let subclasses specify their associated content class for JSONContentHandler
 * - Split PoolCounterWorkViaCallback into own file
 * - Add JSONContent and handler from EventLogging
 * - Make styleguide mobile first
 * - Add Uncyclopedia to the default interwiki list.
 * - Add ShoutWiki to the default interwiki list.
 * - Doc: Parser::getTargetLanguage cannot return null
 * - Restore formatting before split of RevisionDelete.php
 * - SkinFallback: Use Config instead of globals
 * - Pass a Config object to QuickTemplate
 * - RequestContext: Use Config instead of globals
 * - Followup I4049b666: &quot;Removing prefix exception for HTMLCheckMatrix&quot;
 * - Use Config instead of globals in MediaWiki
 * - Unify the spelling of MIME in documentation
 * - Split RevisionDelete.php to separate files
 * - RevisionDelete: Use Config instead of globals
 * - includes/resourceloader/: Use Config instead of globals
 * - Make UserNotLoggedIn redirect to login page
 * - includes/specialpage: Use Config instead of globals (almost!)
 * - Html::closeElement: Don't omit closing tags.
 * - jquery.tablesorter: Limit the scope of two variables
 * - API: Remove action=paraminfo 'props' and 'errors' result properties
 * - Fix focus state of neutral button on Special:UserLogin
 * - Fix variable names
 * - Added a script to find missing LocalRepo files
 * - Revert &quot;Revert &quot;Stop always loading MonoBook and Vector&quot;&quot;
 * - Revert &quot;Stop always loading MonoBook and Vector&quot;
 * - Remove Vector and MonoBook exceptions from skins' .gitignore
 * - Improve information for developers about the great skins switchover
 * - Move Vector and MonoBook to separate repositories
 * - Move Vector's $wg configuration options to Vector.php
 * - Stop always loading MonoBook and Vector
 * - Remove score display from search engine
 * - Change the autonym of Algerian Arabic
 * - ResourceLoaderFileModule::extractBasePaths: Simplify if condition
 * - Fixes Algerian messages file so it does not convert to Arabic digits.
 * - Add $query parameter to OutputPage::addBacklinkSubtitle
 * - Split UnwatchAction into own class
 * - Split UnprotectAction into own file
 * - Remove some silly references to skins/common/
 * - SpecialWithoutInterwiki: Use Config instead of globals
 * - mediawiki.notification: Document that #notify accepts HTMLElement[] too
 * - SpecialWhatlinkshere: Use Config instead of globals
 * - Allow factory functions for creating API modules.
 * - MediaWiki UI: Adjustments to mw-ui-input
 * - LSG: Allow the style guide to build without npm present at runtime
 * - SpecialRecentChanges: Use Config instead of globals
 * - SpecialWatchlist: Use Config instead of globals
 * - SpecialWantedPages: Use Config instead of globals
 * - Use a special fallback skin when selected skin is unavailable
 * - Remove IEFixes.js (legacy support for MSIE&lt;=6).
 * - QUnit: fix swapped expected/actual fields
 * - SpecialUserRights: Use Config instead of globals
 * - SpecialSearch: Use Config instead of globals
 * - SpecialUploadStash: Use Config instead of globals
 * - SpecialUnusedimages: Use Config instead of globals
 * - SpecialUnlockdb: Use Config instead of globals
 * - SpecialUndelete/PageArchive: Use Config instead of globals
 * - SpecialTrackingCategories: Use Config instead of globals
 * - SpecialStatistics: Use Config instead of globals
 * - Remove $wgSortSpecialPages
 * - Release notes for &quot;Disable JavaScript for MSIE6 users&quot;
 * - Disable JavaScript for MSIE6 users, update tests accordingly
 * - Update OOjs UI to v0.1.0-pre (0e50d2e336)
 * - Move MW_LC_VERSION to class constant instead of global define
 * - jquery.confirmable: New inline confirmation module
 * - Consistent handling of multiple keys in Message
 * - Don't set the session name in CLI or when sessions are deactivated
 * - Remove unused globals
 * - Tests for API action=revisiondelete
 * - Update links for software homepages
 * - Add gender for upload log entries
 * - HTMLForm: Avoid usage of non-standard 'flags' parameter of String#replace
 * - Add loadPasswords calls to User password mutators
 * - EditPage::newSectionSummary should return a value in all code paths
 * - Fix spelling and make category desc consistent
 * - Fixed docs
 * - Fixed spacing
 * - Fix bad reference in method doc
 * - Improve PHPUnit detection code
 * - Add getPassword/getTemporaryPassword accessors to User
 * - SpecialResetTokens: Use Config instead of globals
 * - SpecialRandomInCategory: Use wfScript instead of global
 * - SpecialProtectedTitles: Use Config instead of globals
 * - Pass a real IContextSource to ProtectedTitlesPager
 * - SpecialProtectedPages: Use Config instead of globals
 * - SpecialPasswordReset: Use Config instead of globals
 * - SpecialPageLanguage: Use Config instead of globals
 * - SpecialNewPages: Use Config instead of globals
 * - SpecialNewImages: Use Config instead of globals
 * - SpecialMyLanguage: Use Config instead of globals
 * - SpecialMovepage: Use Config instead of globals
 * - Use wfScript instead of globals in a few places
 * - SpecialLog: Use Config instead of globals
 * - SpecialLockdb: Use Config instead of globals
 * - SpecialListUsers: Use Config instead of globals
 * - Add tests for ConfigFactory::getDefaultInstance
 * - SpecialListFiles: Use Config instead of globals
 * - SpecialLinkSearch: Use Config instead of globals
 * - SpecialJavaScriptTest: Use Config instead of globals
 * - Use wfScript instead of global in a few places
 * - SpecialExport: Use Config instead of globals
 * - SpecialExpandTemplates: Use Config instead of globals
 * - Run some parser tests with tidy.
 * - DeletedContributionsPage: Use Config instead of globals
 * - Revert &quot;Made LCStoreDB try to use a separate DB connection&quot;
 * - SpecialChangePassword: Use Config instead of globals
 * - SpecialChangeEmail: Use Config instead of globals
 * - SpecialActiveusers: Use Config objects instead of globals
 * - Vector: Remove dead @import in screen.less
 * - Vector: Fix missing tab images on Special:Preferences
 * - Allow use of phpunit.phar with MediaWiki's phpunit.php test entry point
 * - Remove MediaWikiPHPUnitCommand
 * - Move debug-tests out of MediaWikiPHPUnitCommand
 * - Use camel case for variable names in Article.php
 * - Preferences: Disable the 'skin' preference if there are no skins
 * - Documentation: put FormAction and FormlessAction into &quot;Actions&quot; group
 * - Improve KSS doc for mw-ui-checkbox and input
 * - Docs: Add note that you might want Title::getLinkURL
 * - Allow classes to be registered properly from installer
 * - Added --lastUpdatedId option to backlink namespace population script
 * - Check for result size failure in ApiQuery
 * - Fix messed up parameters in Recentchanges hook
 * - Factorise $this-&gt;getTitle call in Article::confirmDelete
 * - Don't include images/categories when behind a local interwiki prefix
 * - Vastly increase how long wfWaitForSlaves can block in CLI mode
 * - Add mw-ui-* context colors for any element, plus special handling for anchors
 * - Add mw-ui-checkbox
 * - Remove useless temporary variable in Setup.php
 * - Remove global functions deprecated since 1.22
 * - Remove deprecated $wgCompiledFiles configuration setting
 * - Throw exception in importDump instead of dumping a random backtrace and erroring
 * - Shorten ternary expressions in RawAction.php
 * - Api request log: improve module retrieval
 * - Enforce array type hinting in OutputPage.php
 * - Separate select parameter summary from detail
 * - Special:Allpages replace table with unordered list
 * - mediawiki.jqueryMsg.test.js: Additional test cases for external link
 * - Support GENDER in MediaWiki:Blockip and Special:Block

AbuseFilter

 * - Update token handling for core API change
 * - Expose variables to JavaScript when viewing details or examining a log
 * - Improve error handling for HTTP requests
 * - Do not ignore the &quot;vars&quot; parameter on action=abusefiltercheckmatch

CentralAuth

 * - Simplify Special:GlobalGroupMembership
 * - Log if there are pending DB interactions in CentralAuthUser::attach
 * - Remove unused variable $newRights
 * - Fix the race condition detection in CentralAuthUser::attach
 * - Log $_SERVER['REQUEST_URI'] for broken accounts debugging
 * - Clear caches if race condition detected in CentralAuthUser::attach
 * - Don't use isset to check for !== null
 * - Add prefix for old style hashes

CheckUser

 * - Update token handling for core API change

CirrusSearch

 * - Remove score functionality from Cirrus, similar to core's I00acaaba

CodeReview

 * - Update token handling for core API change

ContentTranslation

 * - Make the MTAbuse card sticky
 * - Remove the unused style for close icon in translation source selector
 * - Fix the broken layout of CX source selector in Firefox
 * - Style adjustments for the translation view
 * - Fix: Height of translated title increases on keypress
 * - Update token handling for core API change
 * - README for medium editor update
 * - Fix README.md
 * - Remove unused LESS class
 * - Empty lines between LESS blocks
 * - Add icons to MT card
 * - Documentation and slight refactoring in translation.progress.js
 * - Cleanup whitespace
 * - Cleanup cx.eventlogging.js
 * - Show a warning if the source page is loaded and the target title exists

DonationInterface

 * - Canada backend tests
 * - Allow per-node callbacks in verifyFormOutput
 * - Test forms load for Italy
 * - Test cases for Belgium
 * - Get innerHTML correctly in DI node assertions
 * - Add dataProvider params to DI test case constructors
 * - Add 'id' and 'for' attributes to WorldPay form labels
 * - Test Amazon error form shown and return URI parsed
 * - Simplify fundraising maintenance mode

Echo

 * - QA: Browser tests for Echo notifications
 * - Add method for fetching unread notifications
 * - Fix issue with tab visibility
 * - Use array_merge_resursive when merging based on array keys
 * - E2e: Show the correct value of unread messages in the tabs.
 * - Hygiene: Add abstract model and mapper for notification
 * - Truncate text in Echo notifications
 * - Hygiene: Add sub-directories to phpunit test
 * - F11: Show mark as read buttons in notification list items
 * - E2d: Add the mark as read button to messages view
 * - E2c: Hover behaviour of notifications panel tabs
 * - E2b: Reflect the count in alerts and messages tabs
 * - Notification overlay Messages and Alerts sections
 * - Kill mark as read button
 * - `make jshint` command should run on tests directory
 * - Update token handling for core API change
 * - Remove qunit tests from mobile
 * - Hygiene: Break out _buildNotificationList
 * - Hygiene: Introduce EchoOverlay initialisation class
 * - Fix Echo breaking
 * - Ensure override is more specific
 * - Regression: Fix styling of new unread notifications
 * - QA: Add browser test for sign up notifications
 * - Reduce specifity of Echo css
 * - Hygiene: use self where possible
 * - Hygiene: Move the overlay initialisation code into a separate file
 * - Hygiene: Move code for header into _getTitleElement
 * - Hygiene: Add _getFooterElement method
 * - Hygiene: Refactor out mark as read button code
 * - Hygiene: Split buildOverlay into smaller functions
 * - The first ever Echo QUnit tests
 * - Regression: Fix styling on Special:Notifications
 * - Add support for splitting notifications into alert &amp; message
 * - Hygiene: More LESS cleanup in ext.echo.overlays.less
 * - Hygiene: Update method documentation &amp; split exception to a file
 * - QA: Add some basic browser tests
 * - Hygiene: Port all Echo css to less.
 * - Convert existing notifications to use user-locators
 * - Add ability to run QUnit tests
 * - Support BasicFormatter::getLinkParams returning raw urls
 * - Directory reshuffle, add dev tools
 * - Generalize a couple implementations of EchoGetDefaultNotifiedUsers
 * - static method should be declared with static
 * - Introduce AttributeManager class
 * - Fix a function param in API
 * - Refactor ApiEchoNotifications preparing for alert/messages split
 * - Replace EchoBackend with mappers and gateway

EducationProgram

 * - Update token handling for core API change

EventLogging

 * - Extend JSONContent from core

FlaggedRevs

 * - Update token handling for core API change
 * - Do not show raw HTML code in notification
 * - Add empty .jshintrc
 * - Make FR pass jslint

Flow

 * - Missing sectionId in flow_anon_warning.handlebars
 * - Revert &quot;Revert &quot;Utilize BufferedCache in TreeRepository&quot;&quot;
 * - Move notification creation to event listener
 * - Fixes cancel on reply form, and also standardizes cancel button markup
 * - QA: Disable known-failing test on CI targets
 * - Make new topic content required
 * - Remove redundant &quot;Given I am on Flow page&quot; steps
 * - QA: Mark known-failing test so CI goes green
 * - Clean up flow-menu code, and redo flow-menu trigger in board-navigation
 * - Update token handling for core API change
 * - Hide cancel &lt;button&gt;s for no-js
 * - No-JS: Make &quot;Start a new topic&quot; a link to another page instead of open text fields
 * - QA: Comment why test fails on IE
 * - Move preview and anon notices, and restyle them
 * - QA: Note &quot;Opening a topic&quot; scenario fails in IE
 * - Topic namespace translation for Swedish
 * - Introduce flow-ui-text-truncated
 * - QA: Fix browser test &quot;not watching my new Flow topic&quot;
 * - Hygiene: Dont use magic
 * - Hygiene: Cleanup missing @return in docblock warning
 * - Hygiene: Cleanup undefined class warnings
 * - Hygiene: Cleanup potentially undefined variable warnings
 * - Hygiene: Cleanup unused class aliases
 * - Hygiene: Cleanup unused local variable warnings
 * - QA: Lots of browser test fixes.
 * - All anchors lost their fragments
 * - QA: Update watch star definition
 * - Hygiene: Cache has cleared
 * - Use local URLs in links on boards.
 * - Subscription tooltip copy
 * - Hygiene: Class comments for Flow\\Data\\*
 * - Cleanup failure case for moderated topic view
 * - Remove mw-ui-active and change subscribe button inversion
 * - method signature has to match parent method
 * - Use mw-ui-anchor and mw-ui-button from Core
 * - Hide load more button with JavaScript when infinite scroll supports
 * - Add Flow notification to 'message' notification section

GWToolset

 * - Rm class entries for auto-loader that no longer exist

GeoData

 * - Remove unused class

GettingStarted

 * - Add the Recommendations personal tool
 * - Fix dieUsage warning and tweak message

GlobalCssJs

 * - Remove uneeded global declaration

Graph

 * Newly deployed extension

GuidedTour

 * - Fix pokey positioning under RTL

LiquidThreads

 * - Update token handling for core API change

MassMessage

 * - Update token handling for core API change

Math

 * - Add SVG generation for LaTeXML

MobileFrontend

 * - QA: Extension dependencies for VE and notification features
 * - QA: Refactoring browser tests
 * - Make sure that images are aligned correctly on wide screens
 * - Fix typo
 * - LSG: Allow running make kss without npm installed, if kss is
 * - Remove forced hardware acceleration in overlays on iOS
 * - Proper parsing of x-analytics items
 * - Add Deprecation note to EnableMobileModules
 * - Hygiene: Remove reference to non-existing 'mobile.styles.page' module
 * - Remove two old modules kept for HTML backwards-compatibility
 * - QA: update VE editor test to use API
 * - Make LeftNavEditTutorial no longer an A/B test

MoodBar

 * - Update token handling for core API change

MultimediaViewer

 * - Use spaces in Embed as Wikitext code

OAuth

 * - PHP 5.4 compatibility.
 * - Really fail if OAuth request source IP is invalid.
 * - Don't check OAuth tokens on non-api requests

OpenStackManager

 * - Update token handling for core API change

PageTriage

 * - Update token handling for core API change

Popups

 * - Replace hardcoded path with `wgExtensionAssetsPath`
 * - Stop showing the NavigationPopups options if it isn't available
 * - Don't render popup on &quot;javascript:...&quot; links.
 * - Make &lt;br&gt; warning not trigger

ProofreadPage

 * - Add dependency on module &quot;user.options&quot;
 * - Changes the mouse wheel direction to zoom
 * - Reimplementation of the pagequality support
 * - Avoid dependance on a WikiEditor class that have been recently removed
 * - Make sure that $n is ever set

Scribunto

 * - Expose cascading protection directly to Lua
 * - Add 2 tests to unitTestsList
 * - Fix deceptively-simple pattern in pure-Lua ustring

SiteMatrix

 * - Updated to the new way of adding no-size-check results

Thanks

 * - Update token handling for core API change

TimedMediaHandler

 * - Pause video/audio when closing dialog
 * - Update token handling for core API change

Translate

 * - '#translation' added as magic word in Translate extension
 * - Skip source units on pressing tab key at Special:PageMigration
 * - Page title normalized at Special:PageMigration
 * - Clean up data replacement in the translate_messageindex table
 * - Fix typo in variable name
 * - Fix the fix for Special:Magic
 * - Special:PageMigration: don't add the created pages to watchlist
 * - Api call changed from .get to .post for getDiff at Special:Preparation
 * - [PagePreparation] Files handled as a part of page preparation
 * - New icon images for Special:PageMigration
 * - Add description for MediaWiki skins aggregate group
 * - Add support for phpyaml driver
 * - mw-ui-input for input field at Special:PagePreparation
 * - Replace group selector with autocomplete input
 * - Put group message caches into subdirectories
 * - Update translation page on moving translation unit
 * - Use mw.api in Special:AggregateGroups
 * - Drop support for syck-pecl
 * - Update Spyc to latest version
 * - Restore progress icon for the current translation page
 * - Even CODE is no longer a valid language code.
 * - Remove unused deprecated method
 * - Split StringMatcher to separate files in own directory
 * - Show definition diff for non-fuzzy messages too
 * - Made GET_LOCK keys cover all rows for the id/group

UniversalLanguageSelector

 * - Add Comic Neue

UploadWizard

 * - jquery.removeCtrl: Remove very very very dead and very wrong code
 * - Convert Campaigns to extend JSONContent from core
 * - Fix unresponsive browser on auto-growing input
 * - Make UWU and UWUI event emitters
 * - Make a Thanks UI class
 * - Move funnel logging into its own component

VectorBeta

 * - Add missing star images to fixed header beta feature
 * - Add ids to Privacy and Help items in CPB

VisualEditor

 * - &quot;Fix&quot; hack in ve.test.utils to prevent immediate surface setup
 * - Change label in dialog: &quot;Change image&quot; -&gt; &quot;Choose a different image&quot;
 * - Rename MWLinkInspector → MWLinkAnnotationInspector to match file name
 * - Update token handling for MediaWiki API change
 * - Fix use of visualeditor-mweditmodesource-title instead of …-tool
 * - [BrowserTest] Language screenshot job should run specific scenarios
 * - [BrowserTest] Added browser tests for formula, reference list and save button
 * - Remove messages defined in core
 * - Remove unused globals, add some type-hinting
 * - Don't use RequestContext::getMain if a context is available
 * - Remove unused modules URL
 * - Fix bad jquery 'append' calls
 * - [BrowserTest] Browser can now zoom out whenever required
 * - [BrowserTest] Added support for highlighting the page object elements
 * - Flip direction buttons in media dialog in RTL
 * - Kill off two references to there being a Cancel button
 * - Tear down meta dialog pages when cancelling
 * - Don't send API requests to preview empty (or whitespace-only) edit summaries
 * - Blacklist annotating link node with more links
 * - Fix ve.init.mw.TargetEvents.js to subscribe to events that actually exist and are emitted
 * - MWLinkTargetInputWidget: Add styles for invalid link titles

WikiLove

 * - Revert &quot;Load ext.wikiLove.local via module dependencies&quot;

WikimediaIncubator

 * - Remove duplicate translations
 * - Standardize indentation of en.json

WikimediaMessages

 * - German translations for super protect messages
 * - Add superprotect related messages

ZeroBanner

 * - Increase MCC-MNC sampling
 * - Make Hogan template explicit

ZeroPortal

 * - cleaned up api lib
 * - Simple script to purge main pages
 * - Support CasperJS check for unified design banner

MonoBook

 * Newly deployed skin

MonoBook/COPYING

 * Newly deployed skin

Vector

 * Newly deployed skin