MediaWiki 1.24/wmf19/Changelog

Core changes

 * - Update Wikidata, fix css style issue
 * - Update WikimediaEvents for cherry-picks
 * - Update WikimediaEvents for cherry-picks
 * - OutputPage: Restore ResourceLoader condition wrap for embedded modules
 * - Revert &quot;Toolbar: Only show on WikiText pages&quot;
 * - mediawiki.action.view.redirect: Work around a IE 10+ HTML5 history API bug
 * - Update GlobalCssJs submodule
 * - backport
 * - Thanks: https://gerrit.wikimedia.org/r/#/c/156898/
 * - backport
 * - Revert &quot;Consolidate parts of WebStart.php and doMaintenance.php into Initialize.php&quot;
 * - MobileFrontend: pick https://gerrit.wikimedia.org/r/156968
 * - resourceloader: Don't register raw modules client-side
 * - Use addQuotes as needed in MergeHistory pager
 * - Remove SpecialSearchNoResults and call SpecialSearchResults always
 * - Fixed UID comment
 * - Revert &quot;Remove useless $out parameter from SkinTemplate::prepareQuickTemplate&quot;
 * - Introduce mediawiki.skinning module for external link icons
 * - API: Organize classes
 * - API: Internal cleanup
 * - Add missing @return and @param to doc blocks
 * - mediawiki.debug: Fix crash in browsers without Function#bind
 * - Fixed spacing
 * - QA: update to fix deprecated API token call
 * - Fix up php syntax that accidentally became part of a string literal
 * - SpecialRunJobs: Use Config instead of global
 * - Don't send rel=canonical to variant-neutral page
 * - The static declaration must come after the visibility declaration
 * - Use Config instead of globals in CategoryViewer.php
 * - Add a few PHPUnit tests for HTMLAutoCompleteSelectField
 * - Add HTMLAutoCompleteSelectField
 * - API: Overhaul token handling
 * - Support nesting of expressions in parameters of explicit plural forms
 * - es5-shim: Add polyfill for Object.create
 * - mw.toolbar: Don't mask the error of button.onClick being invalid
 * - Handle multiple ownerDocuments for args in Preprocessor_DOM
 * - Delete feed.css
 * - phpcs: Pass ResourceLoader.php
 * - AjaxDispatcher: Use Config instead of globals
 * - Add &quot;chemical&quot; major MIME type to the image tables
 * - Add missing '' to some release notes
 * - No space within the ?: operator
 * - Remove wrong @return from doc blocks
 * - startup: Blacklist Opera &lt; 12
 * - MessageBlobStore: Use Config instead of globals
 * - Turn MessageBlobStore into a singleton instead of static functions
 * - Remove useNew (no longer any effect) from qqq messages
 * - Update findHooks.php and move MonoBook hook out of docs/hooks.txt
 * - Consolidate parts of WebStart.php and doMaintenance.php into Initialize.php
 * - Allow custom event handlers for the click event of toolbar buttons
 * - Do not return anything on __construct
 * - Add some @see to doc blocks
 * - Remove double @return from User::isAllowedAny
 * - Deprecate $wgDeferredUpdateList
 * - includes/htmlform/: Use Config instead of globals
 * - Fix regression: Allow HTML as checkbox label in HTMLCheckField
 * - Apply csshelpclass to vform help
 * - Add missing @return to function docs
 * - Improve GlobalVarConfigTest
 * - OutputPage: addParserOutput* family doesn't need to take a reference
 * - Be consistent about 'TablePager' CSS class usage
 * - Split includes/Pager.php
 * - Remove unused styles for .imagelist
 * - Use config instead of globals for OutputPage
 * - Mark ConfigFactory::destroyDefaultInstance with @codeCoverageIgnore
 * - Add a test for ApiFormatNone
 * - Fix documentation for $wgResourceLoaderLESSVars
 * - tests: avoid sql queries in TitleTest
 * - Avoid sleeper connections in LoadMonitor::getLagTimes
 * - Use config instead of globals for ImageGallery
 * - Change css rule order
 * - Pass config to ResourceLoader from OutputPage
 * - Use getConfig for ChangesList
 * - Use getConfig in HistoryAction for global
 * - Made getCachedRevisionObject use MapCacheLRU
 * - Protect MathML from Tidy
 * - Ensure that expiry times are given as integers
 * - Rename variable in Title: $parser -&gt; $titleParser
 * - Drop &quot;left in&quot; debugging var_dump from WikiImporter
 * - Make ApiModuleManagerTest::testAddModules un-risky
 * - Check for existence of iw_local in Interwiki::getAllPrefixes
 * - resourceloader: Only conditional-wrap script responses with only=scripts
 * - mediawiki.language: Expose language fallback chain
 * - Update OOjs UI to v0.1.0-pre (d6008381aa)
 * - Add more tests for GlobalVarConfig
 * - ResourcesTest: Add variable type annotations
 * - Delete skins/common/images/button_template.png
 * - Made showJobs.php show queues with just abandoned jobs too
 * - Update OOjs UI to v0.1.0-pre (55b861b167)
 * - Sync up with Parsoid parserTests.
 * - Fixed bogus mysql error code 0 on mid-transaction disconnect
 * - Title::getContentModel: load from DB if necessary
 * - Set default setting for thumbsize to 300px (index 5) not 180px
 * - Change @return to start with type
 * - ResourceLoaderFileModule: Do not separately cache .less files
 * - API: Add iwprop=url, deprecate iwurl for prop=iwlinks
 * - Add more tests for SkinFactory
 * - Add a test for mixed /*@noflip*/ and /*@embed*/ CSS annotations
 * - Rename variable in RequestContext, $t =&gt; $title
 * - Remove unused private var and fix phpdoc
 * - Fix name of SpecialListFilesTest &gt; ImageListPagerTest
 * - Never cache pages with the fallback skin
 * - Made LocalFile move/delete/restore handle network partitions better
 * - Indicate the actual version of HHVM in use
 * - Making missing old files not try to render a thumbnail

CentralAuth

 * - Update token handling for core API change

CirrusSearch

 * - Increase timeout on updates
 * - When there is an error reindexing log it
 * - Profile actual request in Searcher::search
 * - Morelike improvements
 * - Protect against older versions of HtmlFormatter
 * - Use unicode regexes with character classes
 * - Clean up options with betafeature
 * - Don't add interwiki results to null
 * - Fix some broken tests
 * - Add configurable delay to our most frequent jobs
 * - Send groovy script for updates to limit changes
 * - Highlight in chains
 * - Create endpoint to dump cirrus configuration

CommonsMetadata

 * - TemplateParser: Fix whitespace trim

ContentTranslation

 * - Improve template support
 * - Rewrite the progress calculations to provide more data
 * - Fix handling of empty resource in image adaption
 * - Add a debug log when publishing fails to help debugging

DonationInterface

 * - Rename GatewayForm to GatewayPage to distinguish from Gateway_Form
 * - one more extract to yank
 * - Follow-up Ib0d0f6c: Fix qqq typos
 * - kill remaining calls to extract
 * - Add a grunt linting checker for jshint, jscs, and banana and pass them
 * - Transliterate Worldpay post to ISO-8859-1
 * - Use public instead of var in classes

Echo

 * - New users don't get welcome notification.
 * - Remove trailing whitespace, followup 0b1275b9e39b31b1f020ee90a8fb1134d0639c46
 * - Add profiling to Echo notification API
 * - Specify which event type to use job queue
 * - QA: update to fix deprecated API token call
 * - Continue offset is missing in the read API
 * - Fix Call to protected method EchoNotificationController::isWhitelistedByUser
 * - Make timestamp in consistent format after loaded from database
 * - Revert &quot;Make timestamp in consistent format after loaded from database&quot;
 * - Hygiene: Move notification type detection to method
 * - Hygiene: Move master/slave code to MWEchoDbFactory
 * - Make timestamp in consistent format after loaded from database
 * - Hygiene: Echo/tests/phpunit/ directory structure should mimic Echo/
 * - efLogServerSideEvent is deprecated
 * - QA: Add missing browser test steps
 * - Add support to retrieve unread + read notifcations for section
 * - Reset per-user notify types for each user
 * - Delete invalid records from echo_target_page
 * - [5] Code cleanup and miscellneous fix
 * - [4] Add revision local cache holder object
 * - Add waitForSlave wrapper function to Echo Database wrapper
 * - Hygiene: Remove unused directory
 * - [3] Use title local cache to cache title object
 * - [2] Add title local cache holder objects
 * - QA: add test2 tag for Jenkins builds
 * - Hygiene: Mega clean up the Echo footer code
 * - [1] Make title lazy loaded in EchoEvent
 * - Fix line height/size of notifications
 * - QA: add @login tag for Jenkins build
 * - Use batch queries for users-watching-title
 * - Hygiene: Stop using id for footer
 * - Move 'notification count refresh' logic out of mapper
 * - &quot;put a comment nearby with the resulting keys&quot;
 * - Create TargetPage data if specified by EchoEvent
 * - Auto mark notification as read if it doesn't have target page
 * - Fix size of 'mark all as read' button
 * - API: Fix help url and remove deprecated getVersion
 * - Hygiene: Kill dead code
 * - Hygiene: clean up messy less file
 * - Mark notification as read upon visiting a page
 * - Prevent horizontal scroll bars in Firefox
 * - Revert &quot;Revert &quot;Merge remote-tracking branch 'gerrit/master' into two_tabs&quot;&quot;
 * - Revert &quot;Merge remote-tracking branch 'gerrit/master' into two_tabs&quot;
 * - QA: committing Gemfile.lock
 * - Add support to mark all as read for &quot;sections&quot;
 * - E2f: mark all as read behaviour
 * - Create notification overlay in the body
 * - QA: Browser tests for Echo notifications
 * - Create chevron using pseudo elements
 * - Add method for fetching unread notifications
 * - Fix issue with tab visibility
 * - Add TargetPage model and mapper to notifications
 * - 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

FlaggedRevs

 * - Stop using $wgDeferredUpdateList
 * - Remove deprecated OutputPage::appendSubtitle

Flow

 * - Fix client-side watch error
 * - Invalidate title for Workflow owner page
 * - Immediately load new topics when none could be displayed
 * - Remove flow-author from topic titlebar to reduce titlebar height
 * - Turn on email bundling for post edit/reply + instructions
 * - Hygiene: Remove unnecessary indentation
 * - Temporarily override token name prefixing
 * - Use job queue to process Flow notifications
 * - G3: Add support for recursive progressiveEnhancement
 * - QA: update to fix deprecated API token call
 * - i18n: Allow translation of participants
 * - Hygiene: Standardise on time i10n parameter
 * - Hygiene: Remove flow-topic-comment-count from qqq
 * - Redirect to Flow view action when url action is set to edit
 * - i18n: get rid of hardcoded 'x comments' text
 * - i18n the time messages
 * - i18n: get rid of hardcoded 'reply' text
 * - Hygiene: i18n file Remove whitespace before colons
 * - Remove 'View Board' from all Flow notifications
 * - Message on diff page for post should use board title, not UUID
 * - Hygiene: Make reference extraction more concrete
 * - Hygiene: remove unused i18n hack
 * - Hygiene: Anchor is a model class
 * - Hygiene: move phpunit tests to tests/phpunit
 * - Hygiene: Remove naming conflict with CheckUser
 * - Hygiene: Remove unused mock class
 * - Hygiene: Remove templates for flow_topic_navigation
 * - Recompile templates
 * - Also pick up links to non-existant files (for LinksTable)
 * - Show topic heading in previews
 * - Add unit test for preview
 * - Links in first post weren't registered
 * - Cleanup LinksTableTest
 * - Re-enable tests using collection
 * - Accomodate for when no users-to-watch-topic are defined for an action
 * - Fix array_merge: Argument #2 is not an array
 * - Write tests for FlowHandlebars.prototype.l10n date functions
 * - Do not show board watch star in a topic page
 * - QA: Improve user page title selector for tests
 * - Put &quot;created new topic&quot; notification in new notification style
 * - Hygiene: Remove unnecessary template compilation
 * - i18n: Flow board -&gt; discussion board
 * - Echo primary and secondary links were not outputting fragment
 * - Get rid of compact/extract in test
 * - Missing 3rd argument in onAfterInsert function call
 * - JS load of topic with garbled post breaks board interactivity
 * - Make IE not cache ajax request
 * - Defer Flow notification triggering till end of request
 * - Send IRC line only after transaction commit
 * - Only run deferred insert handlers on success
 * - Logging: Include useful data in exception
 * - Disallow moving a Flow board
 * - Fix watch tooltips appearing at wrong location
 * - Update board watch tooltip message
 * - Topic history not linked in hidden topics
 * - Minor fix to progressiveEnhancement
 * - Remove unused var
 * - Namespace: translation in Ialian for Topic
 * - Remove margin-bottom from tooltip causing off-center alignment
 * - Regression: Make username link to user page again
 * - Improvements to progressiveEnhancement, new features, and unit tests
 * - Change jquery.conditionalScroll to ext.flow space in Resources, and remove Core collision check
 * - Move jQueryFindWithParent into its own findWithParent plugin
 * - Reveal contributions link on hover
 * - Subscribe to board = auto-subscribe to new topics
 * - Override requests for DB_SLAVE when submitting new content
 * - Use default browser tooltips on block and talk actions
 * - Show username in previews
 * - Cleanup some warnings
 * - Move watch star for boards next to the header.
 * - Get rid of isAlwaysWatched
 * - Bind EnhancedChangesList hook to support Flow types in RC log
 * - QA: Thanking another users post
 * - Better comment on test requirements
 * - Add 'target-page' param to flow notifications
 * - Repair beta labs
 * - New topic notifications for watchers of a board.
 * - API: Use 'submodule' param type, when available
 * - Flow notification item new style

GWToolset

 * - Check API Page Index for Missing
 * - Improve duplicate and other contributors messages
 * - PHP Notice: Undefined index: contributors

GettingStarted

 * - Refactor Task Recs experiment bucketing logic
 * - QA: update to fix deprecated API token call
 * - Bucket users for the Task Recs experiment v1
 * - Allow clicking pagination discs to change flyout page
 * - Render the lightbulb icon correctly in IE8
 * - Add personal tool styles on personal urls hook
 * - Remove 'active' from personal tool
 * - Remove server-side signup experiment event logging
 * - Make the post-edit notification handle API errors
 * - Render the lightbulb icon correctly in IE9
 * - Optimize API calls so we don't request unneeded properties.
 * - Prevent multiple api requests from firing
 * - Close flyout when you click outside it

GlobalBlocking

 * - Add full stops where needed to i18n

GlobalCssJs

 * - RemoveOldManualUserPages: Catch errors and enforce bot user group
 * - @var bool
 * - Add option to ignore the revision limit
 * - RemoveOldManualUserPages: Document and enforce required options
 * - Better support usernames with spaces in them
 * - Add a script to delete manual user global.js/css pages

Interwiki

 * - Really fix &quot;interwiki-legend&quot; message key.
 * - Put back interwiki-legend qqq string

Math

 * - QA: update to fix deprecated API token call
 * - Indicate that a PNG fallback can also be used for the MathML mode
 * - MathML in default style
 * - Remove the &quot;best for most browsers&quot; comment for the MathJax mode.

MobileFrontend

 * - Revert &quot;Use summary message on non Main namespace pages&quot;
 * - QA: update for API auth token change
 * - Revert &quot;Remove direct echo db access from mobilefrontend&quot;
 * - QA: uploads tutorial test is no longer valid
 * - Add 'overflow: hidden;' to blockquote styles to prevent overlapping
 * - Add gender support to 'Mobile-frontend-profile-userpage-link'
 * - Don't trigger focus event on contenteditable in VE
 * - Revert &quot;QA: Corrected page elements for create_account_failure_messages.feature&quot;
 * - Add intermediate screen for anonymous editors
 * - Adding attribution information to mobile media viewer
 * - Remove direct echo db access from mobilefrontend
 * - QA: Corrected page elements for create_account_failure_messages.feature
 * - Display footer copyright notice in user language on mobile
 * - Fix &quot;confirm on new page creation&quot; can not be cancelled
 * - Improve Talk Overlay

MultimediaViewer

 * - Change image load check strategy
 * - QA: update to fix deprecated API token call
 * - Fix preference DB values
 * - Fix link to media viewer with proper namespace

OAuth

 * - Improving doc. on how OAuth is integrated in MW
 * - Make iat timestamp an int instead of string

Popups

 * - Force mw.popups.supportsSVG to false on InternetExplorer
 * - Remove preventDefault from settings.open
 * - settings: Fix strings, copy and capitalization
 * - Mark that it requires JavaScript in beta feature

ProofreadPage

 * - Partially revert &quot;Do not load &quot;ext.wikiEditor.toolbar&quot; if the user disabled WikiEditor&quot;
 * - Do not load &quot;ext.wikiEditor.toolbar&quot; if the user disabled WikiEditor

Scribunto

 * - Fix __pairs not working in LuaStandalone serialization

SemanticForms

 * - Enable autofocus on #forminput
 * - Fixed problem with remote autocompletion in tokens and combobox for private wikis

Thanks

 * - Use POST requests for action=thanks/flowthanks

Translate

 * - Implement session expiry checking for proofread actions
 * - Update version before MLEB release
 * - Set request timeout for translation memory query
 * - Replace $wgLang with RequestContext
 * - i18n: use native digit on 'tpt-translation-intro'
 * - 0
 * - Remove messages which are not used in JavaScript

UniversalLanguageSelector

 * - Update version before MLEB release
 * - Update jquery.uls from upstream f2e00432cef
 * - Add missing messages for compact links
 * - Use prop instead of attr for changing 'selected' state
 * - Compact links beta feature conditions sync
 * - Compactlinks: Use an actual button to build a button

UploadWizard

 * - QA: update to fix deprecated API token call
 * - Add beforeActive and afterActive to campaigns
 * - Add start/end and whileActive to the campaigns
 * - add note on how to write tests
 * - ignore files created when running Selenium
 * - Remove more unused code in mw.UploadWizard.js

VisualEditor

 * - Make the image model persistent
 * - Fix various bugs in our Monobook stylesheet
 * - Toggle trash button (on transclusion dialog) visibility when changing to non-parameter pages
 * - Link target input widget: Make '' an invalid link target
 * - QA: update to fix deprecated API token call
 * - Make the Resolve conflict button actually appear
 * - Categories: Don't suggest empty or old categories
 * - Remove delete button from required parameters in template dialog
 * - Add myself to AUTHORS.txt
 * - Switch 'disallowQuotedKeysInObjects' jscs rule on and fix up
 * - Don't apply a background to language annotations in IE
 * - Re-order methods in MWImageNode
 * - Blacklist plain block images from MW paste
 * - Do not focus CE on mobile when editor opens
 * - Select the correct annotation in MWLinkTargetInputWidget
 * - [BrowserTest] language screenshot update
 * - [BrowserTest] UI has new text in buttons and headers
 * - [BrowserTest] add News and Journal to Cite test
 * - Followup 67f304a: use .openWindow, not .open, to open save dialog
 * - mw.ViewPageTarget: Be more careful when updating page title
 * - Remove div-wrapping of block images

Wikidata

 * - Update Wikidata, fix style issue in references toggle

WikimediaEvents

 * - Tag changes made with HHVM
 * - Inject 'wgPoweredByHHVM' JS config var if powered by HHVM

WikimediaMessages

 * - Standardise and update global group names

Vector

 * - Add composer.json
 * - Vector: Remove compatibility for old variant menu HTML