MediaWiki 1.26/wmf19/Changelog

Core changes

 * - Updated mediawiki/core
 * - poolcounter: Convert slow-parse to LoggerFactory with data context
 * - maintenance: Handle errors in deleteEqualMessages.php
 * - deleteEqualMessages.php: Avoid "Transaction already in progress" warning
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Revert "Count API and hook calls, with 1:1000 sampling"
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - CSSMin: remove dot segments in relative local URLs
 * - resourceloader: Remove remoteBasePath from FileModule version hash
 * - Updated mediawiki/core
 * - Revert "Enable users to watch category membership changes"
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Avoid full RC table scans in ChangeTags::updateTags
 * - RC: Handle getLine returning null, which breaks Redis engine (at least HHVM)
 * - Updated mediawiki/core
 * - Update VisualEditor for Ibc5f821b
 * - Revert "Load all CSS in the top queue"
 * - Load all CSS in the top queue
 * - Updated mediawiki/core
 * - Avoid some possible deadlocks on account creation
 * - CSSMin: version URLs based on content, not mtime
 * - mediawiki.feedback: Use .parent instead of .super
 * - Sync up with Parsoid parserTests.
 * - mediawiki.api: Small code quality and documentation tweaks
 * - Fix return value comment on wfMemoryLimit
 * - Rename variable to avoid collisions
 * - i18n: Make noarticletext direction aware
 * - SpecialAllPages: Fix a few subtle "Previous page" link bugs
 * - Cleanup after extraction of utfnormal library
 * - Rename mediawiki.legacy.feeds to mediawiki.feedlink
 * - Only convert boolean true/false to !0/!1
 * - Always call setValidationHash in MessageCache::saveToCaches
 * - Made WANObjectCache::get comments more accurate
 * - mediawiki.legacy.common: don't embed legacy images
 * - Add mediawiki.legacy.feeds
 * - Fix some space-related phpcs warnings in includes/
 * - Remove unused globals
 * - Make PPFrame::RECOVER_COMMENTS actually work
 * - mediawiki.legacy.config: use own help-field styling
 * - mediawiki.special.upload: use spinner from jquery.spinner
 * - Include job UUID in doAck error message
 * - Fixed IDE warning in doIsRootJobOldDuplicate
 * - Add pear/mail_mime-decode to composer suggests
 * - Add simplified storage API
 * - MessageCache: derive the hash from the cache contents
 * - Optimize the order of styles and scripts in
 * - ResourceLoader: apply minify-js filter to config scripts
 * - Adding release note for category changes in watchlists
 * - Add descriptions for composer.json suggested packages
 * - JavaScriptMinifier: minify booleans
 * - UserMailer comment cleanup
 * - Add PEAR's Mail and Mail_Mime to composer.json's suggestions
 * - More multi-DC tweaks to MessageCache::load
 * - Fix some newlines in en.json of API
 * - Pass user to WikiPage::doEditContent from EditPage
 * - Ignore tagfilter url parameter on Special:EditTags for log items
 * - Don't add a link to Special:RecentChanges when tag filter is disabled
 * - Import BatchRowUpdate classes from Echo
 * - Update OOjs UI to v0.12.4
 * - Added statsd metrics for ObjectCacheSessionHandler
 * - Enable users to watch category membership changes
 * - Change "1 title" to "A single title" in watchlistedit-normal-done
 * - Expose ICU version on Special:Version
 * - Adding documentation for new RandomPageQuery hook to hooks.txt
 * - Adding a new hook to allow modification of Special:Random query
 * - Try to make POSTs as transactional as possible
 * - Optimized notification timestamp clearing
 * - Preferences: Don't load all default options for every default preference
 * - Added wfTransactionalTimeLimit method and applied it
 * - Output stylesheet links before other link elements in
 * - Revert "mediawiki.page.ready: When infusing, infuse by id, not by element"
 * - Update OOjs UI to v0.12.3
 * - wikibits.js: Support multiple parameter in document.write
 * - Restored I4afaecd8: "Avoiding writing sessions for no reason"
 * - Fixed @var doc in MultiWriteBagOStuff
 * - Fix argument handling in MultiWriteBagOStuff::get
 * - ResourceLoader: make `cacheReport` option false by default
 * - Revert "resourceloader: Add must-revalidate to Cache-Control"
 * - Avoid fatal when accessing method of non-objects on Special:Undelete
 * - Made JobRunner bail more smoothly on near OOM
 * - Remove unnecessary ZWNJ character [azb]
 * - API: Use message-per-value for apihelp-query+categories-param-prop
 * - API: Use message-per-value for apihelp-query+allcategories-param-prop
 * - API: Use message-per-value for apihelp-query+watchlistraw-param-prop
 * - API: Use message-per-value for apihelp-query+users-param-prop
 * - API: Use message-per-value for apihelp-query+userinfo-param-prop
 * - API: Use message-per-value for apihelp-query+tags-param-prop
 * - API: Use message-per-value for apihelp-query+siteinfo-param-prop
 * - API: Use message-per-value for apihelp-query+search-param-prop
 * - API: Use message-per-value for apihelp-query+protectedtitles-param-prop
 * - API: Use message-per-value for apihelp-query+pageswithprop-param-prop
 * - API: Use message-per-value for apihelp-query+logevents-param-prop
 * - API: Use message-per-value for apihelp-query+linkshere-param-prop
 * - API: Use message-per-value for apihelp-query+langlinks-param-prop
 * - API: Use message-per-value for apihelp-query+langbacklinks-param-prop
 * - API: Use message-per-value for apihelp-query+iwlinks-param-prop
 * - API: Use message-per-value for apihelp-query+iwbacklinks-param-prop
 * - API: Use message-per-value for apihelp-query+filearchive-param-prop
 * - API: Use message-per-value for apihelp-query+exturlusage-param-prop
 * - API: Use message-per-value for apihelp-query+categorymembers-param-prop
 * - API: Use message-per-value for apihelp-query+blocks-param-prop
 * - API: Use message-per-value for apihelp-query+allusers-param-prop
 * - API: Use message-per-value for apihelp-query+alllinks-param-prop
 * - refreshLinks.php: Don't wait for slaves if nothing found in a chunk
 * - Changed "archived (revisions)" to "deleted (revisions)"
 * - API: Use message-per-value for apihelp-query+usercontribs-param-prop
 * - API: Use message-per-value for apihelp-query+recentchanges-param-prop

Vendor

 * - Add link to mw:Manual:External libraries in README
 * - Add firebase/php-jwt for ContentTranslation
 * - Update OOjs UI to v0.12.4

AbuseFilter

 * - Move rule tokenization to new AbuseFilterTokenizer class
 * - Clean-up of AbuseFilterParser::nextToken

CentralAuth

 * - Conversion to using getMainStashInstance
 * - Revert "User getExtendedLoginCookieExpiration from core"
 * - User getExtendedLoginCookieExpiration from core
 * - Cleanup SpecialGlobalUsers and GlobalUsersPager
 * - Avoid throwing SecurityError on window.localStorage access
 * - Added statsd metrics for session reads and updates
 * - Update inline JavaScript handling with recent core changes
 * - Avoid duplicate key errors in CentralAuthUser::register

CirrusSearch

 * - LoggerFactory::getLogger -> LoggerFactory::getInstance
 * - Check array index 'query' before accessing
 * - allow specifying index baseName to runSearch.php
 * - Switch A/B test logs over to a more easily analysable format
 * - API for _suggest for Elasticsearch
 * - Mark intermittently failing test as such
 * - Change link target in Special:Version
 * - Elastica\Query::setFilter is deprecated
 * - Temporarily increase maximum search query length to 2500.
 * - pick right urls to run browser test against
 * - Protect against undefined array access
 * - WIP: Add a maintenance script to build the completion suggester index
 * - Make prefer-recent tests must more consistent
 * - Set hard character limit for searchText queries
 * - use monolog for CirrusSearch logging

Cite

 * - Revert "Use display: inline-block instead of unicode-bidi"

ConfirmEdit

 * - Don't check for edits that will not be saved

ContentTranslation

 * - Validate the references when restored from draft
 * - Revert "Temporarily disable notifications"
 * - Temporarily disable notifications
 * - Images: validate image id before adapting to prevent js error

DonationInterface

 * - Clean up process_orphans vs processOrphans
 * - Rectify orphans inside the fetch loop
 * - Don't delete the message until we're done with it
 * - Add id attribute to amount and currency
 * - Log original GlobalCollect validation error
 * - Fix orphan loop, remove 'antimessage' references
 * - Remove legacy STOMP code
 * - update vendor submodule
 * - update php-queue
 * - update php-queue
 * - bump vendor
 * - bump php-queue version

Echo

 * - BasicFormatter: Add accessor to get the correct Language object
 * - Remove unused globals
 * - Fix typo in documentation
 * - Measure how long it takes for the flyout to open

EventLogging

 * - Fix string and UUID type concatenation bug

FlaggedRevs

 * - i18n: Native digits on "revreview-check-flag-p"

Flow

 * - Fix CAPTCHA on new editors
 * - Don't open two editors when clicking a nested reply link
 * - Fix error in IRCLineUrlFormatter
 * - Restore 'new topic' records to the watchlist
 * - Add script to populate rev_content_model for $wgFlowOccupyPages
 * - Manage save button state properly
 * - Log when topic finishes importing
 * - Add South Azerbaijani namespace
 * - Account for cases where boards have no description
 * - NewTopicWidget: Blur title input on cancel
 * - Add Mazandarani namespace
 * - EditorWidget: Pass config.autoFocus through to the correct widget
 * - Add Northern Luri namespace
 * - Add Central Kurdish namespace
 * - Fix Persian namespace name translation
 * - Vietnamese namespace and special page alias
 * - Clear NewTopicWidget after saving
 * - Use correct CSS class for error boxes
 * - Account for non-API errors in error handling code
 * - Follow-up 89a5bbca8e: add b/c logic for 'none' meaning 'wikitext'
 * - Make the reply link for the last post work
 * - Add debugging code to detect and workaround type hint failure
 * - Ignore clicks on links inside of collapsible areas
 * - Close editor when Escape is pressed
 * - Hide the BoardDescriptionWidget when siderail is collapsed
 * - Elastica\Query::setFilter is deprecated.
 * - Follow up for change in ConfirmEdit
 * - Don't try to change anons' preferences
 * - Correctly handle activating an editor the second time
 * - Short-circuit switching to the already active editor
 * - Change how memcache.local_buffered/buffered are handled
 * - Evaluate the editor preference only when loading the first editor
 * - Don't hide the legal text on narrow screens for now
 * - Fix editor focusing issues
 * - Don't display an empty anonymous-user warning
 * - Remove obsolete incorrect comment
 * - Create an OOUI widget for board description
 * - Create a new topic widget
 * - Correctly judge whether VE editor widget is empty
 * - Add new members to the authors list
 * - Create a reply widget with the new editor
 * - Output the board description as an ooui widget
 * - Create an OOUI editor widget
 * - Increase footer spacing in description
 * - Adjust for breaking change in VE: extend sa.DesktopTarget instead of sa.Target
 * - Changed compare revisions header message
 * - Eliminate some memory leaks affecting LQT->Flow:

Gadgets

 * - Add Mazandarani namespaces
 * - Add Northern Luri namespaces
 * - Add South Azerbaijani namespaces
 * - Add Central Kurdish namespaces
 * - Add Italian translation for namespaces
 * - Add Urdu translation for namespaces
 * - Add Polish translation for namespaces
 * - Vietnamese namespaces
 * - Add Persian translations
 * - Add Hebrew namespace translation

Graph

 * - Handle missing parser in onParserAfterParse
 * - Add ability to swap between bar, area and line charts within VE

LiquidThreads

 * - Remove new messages notice from watchlist

MobileFrontend

 * - Default to always remember password for Minerva login screen
 * - Don't force anonymous editing on in alpha
 * - jscs: Require variable declarations at top of file
 * - build: Setup banana test for i18n messages
 * - Don't register an invalid jscs rule
 * - Make tables visible
 * - Remove errorReport from MobileFrontend
 * - Hygiene: Whitespace cleanup
 * - Hygiene: Enforce dot notation
 * - build: Update jscs devDependency to 2.0.0
 * - Queue mobile head inline scripts with Resource Loader
 * - QUnit: Add tests for settings.js
 * - Fix ImageOverlayBeta for thumb count < 2
 * - Another follow up to killing infoboxes
 * - Follow up "Kill infobox feature"
 * - Kill infobox feature
 * - Do not override login form in beta
 * - Diff should be centered in beta
 * - Follow up styling tweaks for captcha and sign up form
 * - Adjust styling of CAPTCHA in alpha
 * - Don't show toolbar, if not enough space available
 * - Follow up: Scrolled to pages that exist shouldn't show as red links
 * - Use Button to create buttons
 * - Rewrite fontchanger to live in mobile settings now

MultimediaViewer

 * - Work even when cookies are disabled
 * - Re-add event listeners to images after a finished VE edit

OpenStackManager

 * - Use EchoEvent::getExtraParam

RestBaseUpdateJobs

 * - Lower maximum job age to 30 days
 * - Drop jobs with a rootJobTimestamp older than 60 days

Scribunto

 * - Fix-up for I32bad5fd9
 * - Cache Lua code files in APC

SemanticForms

 * - Added needed 'position' param for ext.semanticforms.wikieditor
 * - Temporary disabling of wfLoadExtension, due to global vars issue
 * - Added handling for wfLoadExtension, new in MW 1.25
 * - Fixed delayed initializations to only happen if SMW is installed
 * - Simplified extension type

SyntaxHighlight_GeSHi

 * - Fix-up for I2de8a400d: explicitly declare module position

TimedMediaHandler

 * - Re-disable 2-pass Theora encoding temporarily
 * - Update ogv.js libraries to 0.9.9
 * - Add support for 4K videos
 * - Fix for VP9/Opus transcodes: actually use Opus
 * - Use ResourceLoader for ogv.js core
 * - Make register a public static
 * - Further increase Theora transcode quality
 * - Clean up transcode info table on File: page
 * - Fix playback of WebM source files
 * - Add support for WebM VP9/Opus playback and transcodes

Translate

 * - API support to get untranslated, translated and outdated messages in the target language, using MessageCollection.
 * - Get outdated messages in the target language using MessageCollection
 * - Add missing continue to avoid PHP notice
 * - Search with exact title match
 * - Sort groups before the groups slicing.
 * - Elastica\Query::setFilter is deprecated. Use setPostFilter instead
 * - Pass array instead of FormOptions in search translations API.
 * - Get translated messages in the target language, using MessageCollection.
 * - Created CrossLanguageTranslationSearchQuery class for cross language search.

UploadWizard

 * - Always quote object keys which are also reserved keywords
 * - Move "Skip tutorial" checkbox from PHP to JS, and display it better
 * - Move file upload status labels from PHP to JS, and display them better
 * - Don't put 'Thanks' step buttons in a ButtonGroupWidget

Validator

 * - Add wgMessagesDirs for WMF usage in LocalisationUpdate (noop for older MW)

VisualEditor

 * - Save dialog: Don't try to pass in undefined checkboxes fields to setupCheckboxes
 * - Update VE core submodule to master (0bf4ce7)
 * - Fix typos in function names
 * - Update VE core submodule to master (cf224ad)
 * - MWNumberedExternalLinkNode: Provide a context item
 * - ve.init.mw.Target#saveErrorCaptcha: Focus CAPTCHA input on display
 * - Convert save checkboxes to OOUI widgets
 * - Update VE core submodule to master (d020898)
 * - Increase PageImages limit to number of pages requested
 * - Update message list
 * - Clear old captchas after building save options
 * - MobileArticleTarget: Restructure the toolbar
 * - MWMediaResultWidget: Fallback for 'images' without dimensions
 * - Fix foreign file repositories (e.g. InstantCommons or equivalent) support
 * - Update VE core submodule to master (28c686e)
 * - Make URL schemes case-insensitive
 * - Add missing message for done button in mobile
 * - Update VE core submodule to master (e61ebf2)
 * - Don't reset edit summary every time we open the save dialog

WikiEditor

 * - Wikieditor: Rework deferred building of toolbar
 * - WikiEditor: Move HTML for dialogs to separate files

Wikidata

 * - Update Wikidata - add limit for pending changes in dispatcher
 * - Update Wikidata - fix fatal error in ResultBuilder / wbgetentities

WikidataPageBanner

 * - WikidataPageBanner improve qunit test
 * - WikidataPageBanner add .jshintrc
 * - WikidataPageBanner add max-width
 * - WPB followup - fine tune banner position using js
 * - WikidataPageBanner add banner to imagelinks
 * - WikidataPageBanner unquote false & set global
 * - WikidataPageBanner switch for default banner
 * - WikidataPageBanner add class "image" to a:link
 * - WikidataPageBanner redefine icons and add links
 * - WikidataPageBanner hygiene - move non-hook methods

WikimediaEvents

 * - Remove 'wgPoweredBy' config var

WikimediaMaintenance

 * - Renamed $wmf* to $wmg* for consistency