MediaWiki 1.26/wmf20/Changelog

Core changes

 * - Decline to cache preprocessor items larger than 1 Mb
 * - Update CentralNotice submodule
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Deprecate unconditional loading of mediawiki.ui.button on all pages
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Revert "Prevent the jumbling up of autocomments in RTL"
 * - Updated mediawiki/core
 * - Updated mediawiki/core
 * - Add ParserOutput cache and expiry times to NewPP report
 * - Updated mediawiki/core
 * - Don't free the parser in the catch block of parse
 * - registration: Fix namespaces added through the ExtensionProcessor
 * - Updated mediawiki/core
 * - poolcounter: Convert slow-parse to LoggerFactory with data context
 * - Updated mediawiki/core
 * - 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
 * - Fixed some RequestContext IDEA errors with msg callers
 * - Added reentrant lock support to BagOStuff
 * - objectcache: Document the primary entry points people should use
 * - mediawiki.ForeignApi: Module should target mobile
 * - objectcache: Use newAccelerator fallback instead of try/catch
 * - Fixed usage of ChronologyProtector in MediaWiki
 * - objectcache: Make first parameter of newAccelerator optional
 * - mediawiki.api.upload: Improve error handling when using #uploadToStash
 * - mediawiki.api.upload: Expand documentation
 * - objectcache: Remove use of deprecated $wgSessionsInMemcached
 * - mediawiki.ForeignApi: Use location instead of window.location
 * - mediawiki.api.uploadWithFormData: Implement in terms of existing mw.Api functionality
 * - Fixed HashRing IDE errors
 * - Fixed "undefined class" IDE errror from INF use in @param
 * - Fix classname mismatch between upload js and templates/thumbnail.html
 * - BagOStuff: Don't try to access a protected variable in a closure
 * - Add JamesF to credits in developers section
 * - Move Tyler and Chris to the developers section of CREDITS.
 * - Add Geoffrey Mon (Sn1per/GEOFBOT) to CREDITS
 * - Add Adyghe to Names.php
 * - BagOStuff: Don't use $this in a closure
 * - Fixed IDE error in mergeViaLock
 * - Revert "Count API and hook calls, with 1:1000 sampling"
 * - Include job attempt count for redis in showJobs.php
 * - OOUIHTMLForm: Display errors in a nicer way, part 2
 * - HTMLForm: Move header formatting OOUI-specific code to OOUIHTMLForm
 * - HTMLForm: Move section formatting OOUI-specific code to OOUIHTMLForm
 * - OOUIHTMLForm: Display errors in a nicer way, part 1
 * - resourceloader: Remove old experimental "AsyncLoading" feature
 * - Introduce mediawiki.ForeignApi
 * - Remove redundant comment-stripping in OutputPageTest
 * - Fixed ParserCache IDE warnings
 * - resourceloader: Remove remoteBasePath from FileModule version hash
 * - Revert "Adding release note for category changes in watchlists"
 * - Revert "Enable users to watch category membership changes"
 * - mediawiki.api.upload: Use this.defaults.parameters instead of all-custom params
 * - mediawiki.api.upload: Clean up the iframe and form when done
 * - mediawiki.api: Correctly handle boolean parameters
 * - mediawiki.Upload: Allow passing mw.Api objects, not just configs
 * - TitleInputWidget: Add 'maxLength' of 255 and use $.byteLimit
 * - TitleInputWidget, UserInputWidget: Allow overriding 'infusable'
 * - TitleInputWidget: Allow suppressing search suggestions
 * - Refactor NamespaceInputWidget
 * - Add public keywords to QueryPage subclasses
 * - Replace 'emailpage' with 'emailuser'
 * - Made MWTimestamp handle UNIX floats
 * - Prevent PRAGMA query spam in debug/DBPerformance logs
 * - Tiny clean up of Parser::doQuotes
 * - Switched job run time profiling to context getStats
 * - Fixed BagOStuff getScopedLock docs
 * - Use stock BagOStuff lock methods in MessageCache
 * - API i18n: Split existing non-English prop messages for param-per-value
 * - Remove maintenance script fixSlaveDesync.php
 * - Set 'List-Help' header for watchlist emails
 * - Avoid full RC table scans in ChangeTags::updateTags
 * - RC: Handle getLine returning null, which breaks Redis engine (at least HHVM)
 * - Update OOjs UI to v0.12.5
 * - Fixed BufferingStatsdDataFactory::timing callers to use ms
 * - Sync up with Parsoid parserTests.
 * - T106578: Update Sanitizer to match legal HTML5 character entities.
 * - Support IPv6 URLs in bracketed and auto links.
 * - Migrate move protect log to new log system
 * - mediawiki.Upload, mediawiki.Upload.Dialog: Tweak documentation
 * - Prevent the jumbling up of autocomments in RTL
 * - Add American sign language (ase)
 * - CSSMin: remove dot segments in relative local URLs
 * - Skip adding wikitext test pages in PrefixSearchTest if NS_MAIN is not wikitext
 * - Added a tombstone comment to WANObjectCache
 * - Include generated metadata for redirects
 * - SpecialVersion: Handle Closures in $wgHooks nicer
 * - API Credits proper ordering
 * - Remove unreachable block

AbuseFilter

 * - Move rule tokenization to new AbuseFilterTokenizer class
 * - Clean-up of AbuseFilterParser::nextToken
 * - No longer call removed SpecialPage::getLocalPageForName
 * - Fix addMissingLoggingEntries maintenance script handling of newlines
 * - Drop unused AbuseFilterParser::$mParams property

BetaFeatures

 * - build: Updating development dependencies

CentralAuth

 * - Conversion to using getMainStashInstance
 * - ext.centralauth.ForeignApi: Module should target mobile
 * - Implement a mediawiki.ForeignApi extension
 * - Avoid passing non-strings into User::getCanonicalName
 * - build: Updating development dependencies
 * - SpecialWikiSets: always sort wpWikis alphabetically
 * - Improve querying on GlobalUsersPager
 * - Simplify CentralAuthHooks::onGetPreferences
 * - Made doListUnattached private

CentralNotice

 * - Ensure mw.centralNotice is defined
 * - Fix to floating-point validation
 * - Fix reason for Special:HideBanners on close
 * - Legacy support campaigns mixin
 * - Inline documentation for mw.centralNotice.setBucket
 * - Support legacy banner_count field for S:RI
 * - Banner history logger: again, update EventLogging schema version
 * - Admin UI: Add mediawiki.template dependency
 * - Fixed a few IDEA doc errors
 * - Banner history logger: update EventLogging schema version
 * - Improve name of banner history log rate URL parameter
 * - Increase version number to 2.6.0 due to refactor and new features
 * - Add mobile target to banner history RL module
 * - Banner history: improved async dependencies and added comment
 * - Add BannerMixinHook tests.
 * - Reset .gitreview defaultbranch to master
 * - BannerHistoryLogger: Increase random shift of timestamps
 * - GeoIP tests: move saving of original values outside setup
 * - BannerHistoryLogger: comment about temp measure for minification
 * - BannerHistoryLogger: anticipate RL resources for sendLog
 * - QUnit: call reallyInsertBanner due to async issue
 * - Fix typo in efCentralNoticeEventLoggingRegisterSchemas
 * - Better message for banner history logger rate UI
 * - Execute display logic right away
 * - Banner history logger campaign mixin
 * - Fix a typo in ext.centralNotice.kvStore declaration
 * - Display: Improvement and fix in public bucket methods
 * - KVStore: Various minor improvements
 * - Fix reference issue in Campaign::getCampaignMixins
 * - Get URL params via mw.Uri instead of ad-hoc methods
 * - Campaign mixins: Fix handling of removed parameters
 * - Fix campaign mixin query bugs
 * - Fix campaign mixin update bug
 * - Add geoIP tests
 * - Refactor client-side API and RL modules for banner display
 * - Remove use of ResourceLoader::makeLoaderConditionalScript
 * - Remove automatic landing page links feature
 * - Remove dead code for targetting users based on UserDailyContribs data
 * - ChoiceData: in category, substitue and {{{banner}}
 * - Only add UserMerge tables if $wgNoticeInfrastructure = true;
 * - Campaign-associated mixins: schema update
 * - Refactor BannerChoiceData => ChoiceData
 * - Remove unused BannerStats RL module
 * - Parse older format of Geo cookies
 * - bannerController.lib: KV store with localStorage
 * - Campaign-associated mixins
 * - Initialize empty $filtered array in SpecialGlobalAllocation::filterCampaigns
 * - Hygiene: Officially deprecate global functions
 * - Parse region in geoip cookie
 * - MWException -> Exception

CirrusSearch

 * - Completion suggester : improve precision
 * - Allow CIDR ranges to be opted into per-user poolcounter
 * - Fix Undefined variable: wgCirrusSearchPhraseSuggestUseText
 * - Move query rewriting into search backend
 * - LoggerFactory::getLogger -> LoggerFactory::getInstance
 * - Fix undefined index errors
 * - Revert "Make prefer-recent tests must more consistent"
 * - Rework regex for quoted keyword:"..." extraction
 * - Add an initial scoring function
 * - Avoid counting arrays if not needed

Cite

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

Citoid

 * - Make basic button full width

ContentTranslation

 * - Fix: References are adapted with same content
 * - Ask the user to log in if the session is lost
 * - Correct a grammar mistake in cx-license-agreement
 * - Split apihelp messages to separate i18n json files
 * - Code cleanup in ext.cx.entrypoint.js
 * - Set correct label and lang/dir attributes in the dashboard filter
 * - Refactor the dashboard and translationlist modules
 * - Validate the references when restored from draft
 * - Revert "Temporarily disable notifications"
 * - Revert "Refactor the dashboard and translationlist modules"
 * - We no longer need META_CONTENT BC check
 * - Refactor the dashboard and translationlist modules
 * - Temporarily disable notifications
 * - Convert errors to text before logging

DonationInterface

 * - Convert queue message back into DI format
 * - update vendor submodule
 * - Disable Amazon forms
 * - Append specific message to generic communication error
 * - Consolidate slayer logging; general cleanups
 * - Log real GC error on validation problem
 * - Blank submethod on method change, OID on recur change
 * - Fix AstroPay signature when values contain plus sign
 * - Log signed message and signature on 'Invalid control'
 * - Stop fetching fields twice in message creation

Echo

 * - Fix fatal DB exception
 * - Select specific rows in EchoEventMapper::fetchByUserBundleHash

EducationProgram

 * - Handle non-array serialized event info gracefully

EventLogging

 * - Update a bunch of links to use HTTPS instead

FlaggedRevs

 * - Removed an unnecessary apostrophe from a message
 * - i18n: Add PLURAL/GENDER support to revreview-reject-summary-*

Flow

 * - Anchor the regex for ./ stripping
 * - Add Western Balochi namespace
 * - Fix CAPTCHA on new editors
 * - Added $rclass to BagOStuff lock method to match core
 * - Update Mazandarani namespace
 * - Don't open two editors when clicking a nested reply link
 * - After switching editors, move cursor to end
 * - Browser tests: update for new Flow editor
 * - Use rc_source instead of rc_type
 * - Use messages that actually exist for tooltips in SidebarExpandWidget
 * - Clean up width toggle styles
 * - WikitextEditorWidget: Prevent preview link from being followed
 * - Cleanup debugging code for isTalkpageManagerUser
 * - Make pressing Escape key in new topic title input also cancel
 * - Add Persian special pages aliases
 * - Turn spaces into tabs
 * - Turn FlowCreateMentionTemplate.php into multi-template-creation script
 * - Rename memcache.buffered to memcache.non_local_buffered
 * - build: Add a 'fix' task for jscs:fix and run jshint first
 * - build: Update grunt-jscs from 1.8.0 to 2.1.0
 * - Fix error in IRCLineUrlFormatter
 * - Use the correct context for error in the api response
 * - Enable VE by default
 * - Disable site search for NS_TOPIC, since it doesn't work
 * - Update description content immediately after save
 * - Get rid of $wgFlowOccupyPages

Gadgets

 * - Add german namespace aliases
 * - Load namespaces

Gather

 * - QA: Check login succeeded
 * - Correctly identify LocalSettings.php as php
 * - QA: More integration tests on each commit
 * - Run Gather browser tests on various commits
 * - Fix template for collection item

Graph

 * - VisualEditor: Add graph icon
 * - VisualEditor: Always use LTR for JSON input
 * - Add features to TableWidget
 * - Edit a single graph data pipeline within VE
 * - Add custom TableWidget and RowWidget

LiquidThreads

 * - Remove new messages notice from watchlist

Math

 * - Add Persian special page alias

MobileFrontend

 * - Make the list of possible top headings configurable
 * - Fix font size of oojs-ui component
 * - Remove isBorderBox from editor overlay
 * - Bring back the last modified bar padding in beta
 * - Empty message on watchlist center aligned
 * - QA: Assert that diff page has fully loaded at end of click diff link step
 * - Rename quickLookup to Hovercards
 * - Simplify editor switcher to match VE implementation
 * - Return the redirect target with Fragment
 * - Remove the experimental header from alpha and beta
 * - Make mobile site module position bottom.
 * - QA: Assert login step has completely successfully before continuing
 * - Promote expand sections by default to beta

MultimediaViewer

 * - Add missing dependency on 'mediawiki.ui.button'

OpenStackManager

 * - Fix logic to refresh the service catalog.

PoolCounter

 * - Add support for connect_timeout

Scribunto

 * - Fix-up for I32bad5fd9
 * - Cache Lua code files in APC
 * - Don't override other content added to the edit page

SecurePoll

 * - purgePrivateVoteData: Don't cronspam if table isn't there

SyntaxHighlight_GeSHi

 * - Revert "Don't top-load CSS" (causes FOUC)

TimedMediaHandler

 * - TimedText: Fix the create/edit selector script
 * - Re-disable 2-pass Theora encoding temporarily
 * - Fix jshint errors
 * - Allow for potentially multiple types of subtitles

Translate

 * - Allow case sensitive search
 * - Show the selected language at the top left, even though it has no results.
 * - Special:SearchTranslations addHelpLink
 * - List the selected filters at the top left in Special:SearchTranslations.
 * - Support search for all words in the search string.
 * - Use TUX elements to build tabs.

UniversalLanguageSelector

 * - Fix-up for Ib98499040
 * - Use localStorage to store previous languages, not cookies

UploadWizard

 * - Work around having wrong .value on IE 11
 * - Keep the uploads sorted in the order they were created in initially
 * - [UploadWizard] Introducing the usage of an object reference

VisualEditor

 * - Use mw.Title to localise file: prefix on new images
 * - Update VE core submodule to master (bf76dd7)
 * - Use new internal link builder
 * - Fix flash of bad ve-edit tab on non-wikitext page in enabled namespacea
 * - mw.DesktopArticleTarget.init: Don't make non-VE edit tab collapsible
 * - Fix flash of wrong Edit tab in non-VE namespaces
 * - ve.ce.MWTransclusionNode: Pass number of templates to context
 * - MWInternalLinkAnnotation: Override new getDisplayTitle method
 * - Fix pattern for matching wikitext headings
 * - MWWikitextStringTransferHandler: Show indeterminate progress bar while converting
 * - Update VE core submodule to master (442ec14)
 * - Update VE core submodule to 89f6c2d7
 * - Autolink typed ISBN/RFC/PMIDs
 * - Update VE core submodule to b5eaa6f
 * - Add spacer above basic reference option
 * - Update VE core submodule to master (7ec7bb5)
 * - Don't retry request in tryWithPreparedCacheKey unless the error was badcachekey
 * - QA: Upgrading to mw-selenium 1.x
 * - MWLinkNodeInspector: Remove 'Open' button
 * - Use ve.dm.MWInternalLinkAnnotation for autolinks where appropriate
 * - Builder for ve.dm.MWInternalLinkAnnotation
 * - build: Enable jscs jsDoc rules 'require*Types' and make pass
 * - build: Enable jscs jsDoc rule 'checkTypes' and make pass
 * - build: Enable jscs jsDoc rules 'checkRedundant*' and make pass
 * - build: Enable jscs jsDoc rule 'checkParamNames' and make pass
 * - build: Enable jscs jsDoc rule 'requireNewlineAfterDescription' and make pass
 * - build: Enable jscs jsDoc rule 'checkAnnotations' and make pass
 * - build: Enable jscs rule 'requireVarDeclFirst' and make pass
 * - build: Enable jscs rule 'requireSpacesInsideBrackets' and make pass
 * - build: Enable jscs rule 'requireDotNotation' and make pass
 * - build: Bump jscs devDependency from 1.8.0 to 2.1.0
 * - Update VE core submodule to master (4c8168a)
 * - Add down indicator to advanced menu in mobile
 * - Save dialog: Don't try to pass in undefined checkboxes fields to setupCheckboxes
 * - Update VE core submodule to master (1191940)
 * - Detect paste of wikitext and convert it

WikiEditor

 * - Dialogs: handle jQuery content for dialogs

Wikidata

 * - Update Wikidata - fix for change dispatcher
 * - Update Wikidata - Fix formatting of client edit summaries
 * - Fix Wikidata.php entry point for jenkins
 * - Update Wikidata - wrap usage tracking batch updates in transaction

WikidataPageBanner

 * - WikidataPageBanner replace div with h1 for heading
 * - Fix position of icon-cruft relative to page banner
 * - WikidataPageBanner move toc position