MediaWiki 1.26/wmf21/Changelog

Core changes

 * - resourceloader: Remove redundant type-checks in internal code
 * - resourceloader: Consistently set state=ready after script execution (not before)
 * - Add ForeignUpload and ForeignStructuredUpload
 * - Ignore languages/messages/Messages*.php in line length sniff
 * - EditPage: Add text placeholders to view source page
 * - Make readonly work for OOUI forms
 * - resourceloader: Don't add "&*" query parameter to load.php urls
 * - Allow to export null values
 * - objectcache: Correct tempTTL comment for getWithSetCallback
 * - Clarified WANObjectCache::delete comments
 * - Removed READ_LATEST from revision load in getMsgFromNamespace
 * - Fixed and suppressed some thumb.php IDEA errors
 * - resourceloader: Improve moduleRegistry documentation
 * - resourceloader: Remove global startUp callback
 * - Comment typo fix
 * - Changing user and user talk namespace name for Latvian wikis
 * - Skip monolog tests if monolog is not installed
 * - Improve wording of "size-bytes" and "size-pixel" messages
 * - Workaround fopen lack of SubjectAltName support for instantCommons
 * - mediawiki.ForeignApi: Use `type === 'POST'` instead of `type !== 'GET'`
 * - Add protected getCurrentRow to TablePager
 * - Really actually fix the typo in Parser.php
 * - Fixed parser report typo
 * - Made MessageCache use the WAN cache for individual cache keys
 * - Improved getMainStashInstance docs
 * - Revert "Prevent the jumbling up of autocomments in RTL"
 * - CssContentHandler: Fix @return documentation
 * - API: Add ApiResult::META_KVP_MERGE
 * - Be a little more conservative with the IPv6 support in the Sanitizer.
 * - Fixed some doc errors in tryNormaliseRedirect
 * - Add comments clarifying how calling getters on ParserOutput affects the parser cache.
 * - SpecialVersion: Force text credits and license to LTR direction
 * - Added --status and --limit filters to showJobs.php
 * - Add ParserOutput cache and expiry times to NewPP report
 * - Removed useless $wgUseLocalMessageCache check in MessageCache
 * - Make ParserOptions fields private
 * - registration: Remove unused 'wgExtraNamespaces' merge strategy
 * - Use Parsoid v3 API; emulate the RESTBase v1 API
 * - Don't free the parser in the catch block of parse
 * - api: Load mediawiki.apipretty with addModuleStyles
 * - XMP: log structured data for halting errors
 * - Fix spaces in MigrateFileRepoLayoutTest::tearDown
 * - Cleaned up int|INF doc type to avoid IDEA errors
 * - Enable autocompletion for Special:ComparePages
 * - Add space between classes in HTMLButtonField
 * - Revert "Load all CSS in the top queue"
 * - Add @throws tag to Database::insert
 * - registration: Fix namespaces added through the ExtensionProcessor
 * - Ignore DBPerformance thresholds in Special:ConfirmEmail
 * - Avoid using DB_MASTER in SpecialEditWatchlist::getWatchlist
 * - Defer spreadAnyEditBlock post-send
 * - Removed deprecated $wgMasterWaitTimeout; not used by LoadBalancer
 * - Return HTTP 429 when thumbnailing is throttled due to too many errors
 * - Load User via READ_LATEST in ApiOptions to avoid CAS errors
 * - Only load gallery styling rules when galleries are on the page
 * - Reduced some instances of HTTP 500 in thumb.php
 * - Avoid $newid IDEA "possibly undefined" error in insertOn
 * - poolcounter: Convert slow-parse to LoggerFactory with data context
 * - Replace bundled IPSet library with composer dependency
 * - Add the mediawiki.experiments module
 * - maintenance: Handle errors in deleteEqualMessages.php
 * - jquery.byteLimit: Expose trimValueForByteLength as trimByteLength
 * - Add @todo comment for I4b0e55fe
 * - Rephrase tooltip-t-contributions for better grammar
 * - Move counter stuff to 1.26 section of MysqlUpdater
 * - Remove an optional message from Tamil
 * - deleteEqualMessages.php: Avoid "Transaction already in progress" warning
 * - Fix typo in UploadFromUrlJob::initializeSessionData
 * - API: Rename disablepp and introduce disabletidy
 * - Micro-optimize Language::isMultiByte
 * - Update OOjs UI to v0.12.6
 * - Added jobqueue.pickup_root_age metric
 * - Update OOjs to v1.1.9
 * - Avoid self-deadlocks in MessageCache::replace
 * - Fixed LBFactory IDE errors
 * - Move job running till after deferred updates
 * - API: More avoiding MySQL filesorts in list=allpages
 * - ResourcesOOUI: Remove now-unnecessary selector
 * - Moved onArticleEdit lines around for clarity
 * - Add comments for ParserOptions::getUserLang regarding cache split
 * - Added $ttl sanity check to WANObjectCache::delete
 * - Load all CSS in the top queue
 * - Add date format for Latvian language
 * - Update namespace for Khowar language (khw)
 * - Update namespace names for Sanskrit

Vendor

 * - Update ip-set to 1.0.1

AbuseFilter

 * - Small doc fixes for AbuseFilterTokenizer
 * - Move rule tokenization to new AbuseFilterTokenizer class

Babel

 * - Remove direct ParserOptions field access

CentralAuth

 * - SpecialGlobalRenameRequest: use $this->requireLogin instead of our own code
 * - Removed temporary code in quickInvalidateCache
 * - Suppress DBPerformance log during account autocreation
 * - Fix "array_merge expects at least 1 parameter, 0 given" warning on Special:GlobalUsers
 * - Defer "remember" preference updates
 * - Conversion to using getMainStashInstance

CirrusSearch

 * - finish renaming of indexType -> indexTypeName
 * - Completion suggester : improve precision
 * - Report instances of backend errors to graphite

Citoid

 * - Update for breaking change to MWReferenceModel constructor

ContentTranslation

 * - Fix PHP errors
 * - Suggestion lists - Database and APIs
 * - Consistent alignment for autonyms in Special:CXStats
 * - Load the source article from the correct domain
 * - Clean the code of ext.cx.sitemapper.js
 * - Add mapping from the 'nb' language to the 'no' domain
 * - Convert the language domain code mapping to a global variable
 * - Ask the user to log in if the session is lost

Echo

 * - Defer clearTalkNotification updates as they often happen on GET requests
 * - Bump mention limit to 50
 * - Put back notification_timestamp for web.
 * - Fix fatal DB exception

EducationProgram

 * - Handle non-array serialized event info gracefully

EventLogging

 * - Set log levels for pykafka and kazoo to info

FlaggedRevs

 * - Removed pointless Title::GAID_FOR_UPDATE for altBaseRevId field

Flow

 * - Allow converting entire LQT namespaces
 * - Fix removing references by using right PK, only right indexes
 * - BoardDescriptionWidget: Don't fetch wikitext when initializing VE
 * - Don't change editor preference if preferred editor is unsupported
 * - Remove duplicated 'loadmore' event handling
 * - Disable Echo notifications for FlowFixLinks.php
 * - Don't include virtual pages as wiki links
 * - Fix removal/addition of categorylinks
 * - Load mwimage support in VE
 * - Allow zero-length descriptions in both S:EF and standard edits
 * - Anchor the regex for ./ stripping
 * - Make sure flow entries are created with correct content
 * - VisualEditorWidget: Guard against setting selection to -1
 * - Fix some PHPDoc
 * - Fix typo
 * - Rename OccupationListener to TopicPageCreationListener
 * - Remove TalkpageManager::isTalkpageOccupied
 * - Fall back to the first available editor when the preferred editor is not available
 * - Make SidebarExpandWidget work in RTL
 * - Remove extra space from calls
 * - Remove double spaces in en.json
 * - Fix another issue with patch-reference_wiki.sql
 * - Populate the Description data model even if content is empty
 * - Fix typo in sql patch
 * - Browser tests: various fixes for firefox
 * - Create all templates Flow uses
 * - Browser tests: handle empty board description
 * - Use placeholder HTML rather than rendering the board in getParserOutput
 * - Use moveCursorToEnd from OOjs UI
 * - Segregate Reference objects by source wiki.

Gadgets

 * - Add namespace names for Arabic

Gather

 * - QA: Avoid flakiness in various test steps due to race conditions

GettingStarted

 * - Defer the saveSettings call in onMakeGlobalVariablesScript

GlobalCssJs

 * - Link to docs in MediaWiki:Globalcssjs-warning-js and MediaWiki:Globalcssjs-warning-css, per T110516

Graph

 * - VisualEditor: Fix size of raw input after spec has been changed

GuidedTour

 * - Delete cookie for current tour if isSinglePage, on onShow

LiquidThreads

 * - Use quickUserCan in showHeader to avoid master queries

MassMessage

 * - Use a wikilink to display local targets

MobileFrontend

 * - Hygiene: Provide utility function for generating a last modified message
 * - Allow to use custom displayTitle in search
 * - Use Firefox for browser @integration tests
 * - Only load gallery styles when needed
 * - Make the list of possible top headings configurable
 * - Extract some methods in SearchApi
 * - Hide languagelinks list on alpha/beta login page
 * - Use the new mediawiki.storage API
 * - Don't try to construct a Title object with anything other a string
 * - Have mobile.usermodule cache invalidate properly
 * - Register mobile.loggingSchemas with optional schema dependencies

MultimediaViewer

 * - Use wikipage.content hook for updating thumbnail list

NavigationTiming

 * - Add domLoading property

Popups

 * - Remove stray ")" from the "Enable previews" link

Scribunto

 * - Add mw-scribunto-console placeholder to view source page
 * - Update namespace for gom-deva
 * - Fix-up for I32bad5fd9
 * - Cache Lua code files in APC

SemanticForms

 * - bug fix for mapping explicit value list

SyntaxHighlight_GeSHi

 * - VE integration: Fix regression in Ic84c5afb

Translate

 * - Reduce flash of unstyled content appearance
 * - Breaking change: Do not autoload anymore with composer
 * - Support for 'filter' search operator.
 * - Support for search operators.
 * - Update version for MLEB 2015.08
 * - Cxserver: use the new mt list api
 * - Add 'match' and 'case' parameters for search translations API.
 * - Fix lang and dir assignment in translation helpers

UniversalLanguageSelector

 * - Add missing dependency to 'mediawiki.notify'
 * - Update version for MLEB 2015.08

UploadWizard

 * - Tweak spacing of checkboxes in metadata copier
 * - Help users trying to input a template as upload date
 * - Fix button config for campaigns to check for a given object reference
 * - Keep the uploads sorted in the order they were created in initially
 * - Redesign switcher between calendar and freeform date inputs

VisualEditor

 * - Rerender extension node immediately if no images exist
 * - Implement getUserConfig and setUserConfig in MW
 * - Update VE core submodule to master (83c5ca4)
 * - MWReferenceNode: Don't allow cross-VE paste of template-defined ref
 * - Update VE core submodule to master (ff259df)
 * - Allow trailing punctuation for typed ISBN/PMID/RFC autolinks
 * - ve.dm.MWImageModel: Require parent document
 * - ve.dm.MWReferenceModel: Require parent document
 * - Update VE core submodule to master (9123d3b)
 * - MWSaveDialog: Use .moveCursorToEnd instead of ve.selectEnd
 * - page-not-found*.svg: Provide semi-flipped variant for he, yi
 * - bin/listRecentCommits.sh: Don't try to loop over OOUI commits
 * - Hooks: Don't show the tab just to hide it when 'DisableForAnons' is true

WikiLove

 * - Update repository to mediawiki_selenium Ruby gem 1.x

WikidataPageBanner

 * - WikidataPageBanner make links row selectable

WikimediaEvents

 * - V2 of user satisfaction test for search
 * - Measure usage of Special:Search did you mean

WikimediaMessages

 * - Correct Belarusian grammar forms
 * - Correct Belarusian grammar forms