MediaWiki 1.25/wmf12/Changelog

Core changes

 * - Update TextExtracts
 * - Update Wikidata - proper fix for property label formatting
 * - Revert unrelated extension updates from &quot;Update Vector skin for cherry-pick&quot;
 * - use stream_select to get external tidy stdout/stderr
 * - Bump Flow
 * - Update SecurePoll
 * - Update Wikidata, fix site links editing and property label formatting
 * - Move advanced search inputs back into the form
 * - Update Vector skin for cherry-pick
 * - Create a generic UDP transport class
 * - Update extensions/Translate for 180201
 * - Update Wikidata, fix focus when editing
 * - Update Wikidata, removes site link ui changes
 * - Flow: https://gerrit.wikimedia.org/r/#/c/180043/
 * - Fix Flickr imports in UploadWizard
 * - Update Wikidata, site link ui and improve page view performance
 * - WG, MF: 179297, 179335
 * - update CentralNotice submodule
 * - Stash edit when user idles
 * - Bump sendBeacon schema revision so new URL will be generated
 * - Update MF
 * - Bump WikimediaEvents for sendBeacon experiment fix
 * - Fix case of various newFromID/newFromId functions
 * - Xml: Simplify processing of attributes in Xml::label
 * - Fixed internalClean class/method existence check for HHVM
 * - hhvm: Check for tidy function instead of class
 * - Avoid preloading unused messages in ContribsPager
 * - Fixup 4f0b2f42419c283e8c94a5be6147d54ae7731a6b
 * - Fix documentation of hook 'BeforeParserFetchFileAndTitle'
 * - Always use 'bool' instead of 'boolean' after '@param' and '@return'
 * - API: Allow redirecting a page to itself using action=edit
 * - jquery.mwExtension.test: Use better sample data for isDomElement
 * - Simplify MWTidy
 * - Added some abstract methods to DatabaseBase
 * - Made SectionProfiler cache the ScopedCallback closure to lower overhead
 * - Register a shutdown function to log fatal errors
 * - Sync up with Parsoid parserTests.
 * - Reuse page preview parses by using the edit stash system
 * - Allow moment on mobile web
 * - Made prepareContentForEdit use the stash cache by default
 * - API: Don't use an empty LinkBatch in ApiOpenSearch
 * - Fix out-of-order entry in autoload.php
 * - Various edit stash fixes
 * - Add parser tests for tables with pipes and wikilinks
 * - Make maintenance/findHooks.php check includes/mail/
 * - updateArticleCount.php: use &quot;vslow&quot; DB by default, allow master
 * - ResourceLoader: Stop passing around errors as /**/-comments
 * - ResourceLoaderImageModule for icons
 * - Remove $logType and $visible, leftover from before output refactoring
 * - Fix type hint in SkinTemplateOutputPageBeforeExec in hooks.txt
 * - API: Don't double generator list
 * - Changed some DatabaseBase type hints to IDatabase
 * - Fix for broken thumbnails when the file width is in $wgThumbnailBucket
 * - resourceloader: Refactor empty value trimming for mw.loader.register
 * - Made xhprof scopedProfileIn work via merging SectionProfiler results
 * - Refactored xhprof getFunctionReport to use getFunctionStats
 * - Fixed running percents in SectionProfiler
 * - composer.json: cdb/cdb was renamed to wikimedia/cdb
 * - Removed unused getSummaryReport method
 * - Display error when user tries to create self-redirect
 * - Do not list Test classes in the TestsAutoLoader.php
 * - Index ResourceLoader dependency lists in startup
 * - Handle phpunit being autoloaded from checkLess.php
 * - mediawiki.feedback: Improve error handling
 * - jquery.textSelection: Select sample text, if possible, when splitlines is true
 * - &gt; T46740
 * - Update OOjs UI to v0.4.0
 * - Add FollowSymLinks option to /images .htaccess rule
 * - phpcs: The abstract declaration must precede the visibility
 * - Remove unused global declaration
 * - resourceloader: Make timestamp handling more consistent
 * - Fixed spacing
 * - Optimize how user options are delivered to the client
 * - ResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user
 * - Fix backlink for RevertAction
 * - mediawiki.legacy.oldshared: Copy missing image and add SVG version
 * - jquery.client: Recognize IE12 correctly
 * - Remove jQuery Migrate and $wgIncludejQueryMigrate
 * - Update redirect arrows to use SVG versions
 * - Add SVG versions of table pager icons
 * - Fix DatabaseBase::replaceVars for PHP 5.3
 * - Hygiene: rename formheader to searchProfileTabs on Special:Search
 * - Revert &quot;Remove deprecated profiling config parameters, clarify docs&quot;
 * - Remove deprecated profiling config parameters, clarify docs
 * - Revert wrapping sitenotice in google tags
 * - Hygiene: RemoveInvalidEmails maint script not in autoloader
 * - Parser test for &quot;Free external link with trailing punctuation&quot;
 * - Switched hook profiling to use scopedProfileIn
 * - Prevent Google indexing of the SiteNotice div
 * - removeInvalidEmails.php: Fix batching continuation for wikis with &gt;500 users
 * - Make LocalisationCache::getMessagesDirs public
 * - Remove Profiler::isStub
 * - Don't attempt to stash new section edits
 * - xhprof: Guard against division by 0 when computing percentages
 * - Make ApiStashEdit use the StashEdit log group, rather than PreparedEdit
 * - Split things out of search element on Special:Search
 * - Use quickUserCan for the undelete link message
 * - Removed useless &quot;use&quot; clause from closure
 * - Added ApiStashEdit module for pre-emptive edit parsing
 * - Move core message dirs from $wgMessagesDirs to LocalisationCache::getMessagesDirs
 * - Removed low signal wfDebugLog call in DatabaseBase
 * - Log backtraces for DB reconnections
 * - Add removeInvalidEmails.php maintenance script
 * - Deprecated $wgProfilePerHost
 * - Deprecated $wgUDPProfilerHost, $wgUDPProfilerPort and $wgUDPProfilerFormatString
 * - Before pseudo elements are not always perfectly in line
 * - OutputPage: Add accessors for some protected properties
 * - Database: Remove use of strencode in replaceVars
 * - Changed some DatabaseBase type hints to IDatabase
 * - mediawiki.Uri: Implement support for a mutable defaultUri
 * - Darken the text color in successbox
 * - Add tests for class names in the api main and query module manager
 * - Fix up interwiki search results in API
 * - Fixing confusing function description
 * - If a user logs in while not on https, then the user should be sent back to the non-secure website.

Vendor

 * - cdb/cdb was renamed to wikimedia/cdb

Babel

 * - Don't set a global $dir variable

BetaFeatures

 * - Parse the feature description

CheckUser

 * - Bump version to 2.4

CirrusSearch

 * - Fixes after refactoring
 * - Move validateAllAlias code into separate class
 * - Make Validator::validate methods return Status object
 * - Move validateMapping code into separate class
 * - Move validateAnalyzers code into separate class
 * - Remove sub-functional profiling from Updater
 * - Move validateIndexSettings code into 3 separate classes
 * - Remove function-level profiling

CommonsMetadata

 * - Don't crash on DOMText nodes

ContentTranslation

 * - Remove deprecated wgContentTranslationServerURL
 * - Save the draft translations automatically
 * - Escape cx-translation-add-translation
 * - Fix the anon user check logic for adding optional modules
 * - Update bugzilla reference to phabricator
 * - Add Joel to authors
 * - Use &quot;all translations&quot; link on the translation view when drafts enabled
 * - Correct return type for getConnection
 * - Delete the draft translation after publish
 * - Change &quot;articles&quot; to &quot;pages&quot; in the message
 * - Keep data-mw attributes for references to avoid parsoid error
 * - Changed return type from DatabaseBase to DBConnRef

DonationInterface

 * - Tweaking the merchant reference
 * - Prevents us from hurting ourselves when trying to log things
 * - Logging changes for DonationInterface

Echo

 * - Prevent undefined index warnings

Flow

 * - Gracefully handle non-ascii hrefs in redlinker
 * - Don't pass along schema as an EventLogging argument
 * - Template argument should be archive= not from= in Wikitext importer
 * - Fix new topic notifications not displaying
 * - Only fallback to php parser if parsoid is unconfigured
 * - Hygiene: Reach through MWTimestamp for the DateTime object
 * - Reduce the width rather than adding a 200px padding-right
 * - Bug: User sorting options not taken into account via API
 * - Take wgCookiePrefix into account when faking cookies
 * - Gracefully handle loading failures in FlowFixUserIp
 * - EventLog Flow topic and post actions (FlowReplies)
 * - Only bind to keep-editing button once
 * - Let all handlers return promises
 * - Hygiene: Remove !important from .flow-revision-content
 * - Hygiene: Increase specificity of api interaction selectors and remove !important
 * - Hygiene: Increase specificity of selector in .flow-topic-summary and remove !important
 * - Dont takeover redirected wikitext pages
 * - Generate parsoid cookies from the flow manager
 * - Hygiene: Remove dead messages
 * - Fix bad spacing in topic title on monobook
 * - Make it possible to add interactiveHandlers to elements on focus
 * - Expand/compress textareas via CSS instead of swapping nodes
 * - Gracefully restart after user interaction

MassMessage

 * - Implement AJAX warnings for CreateMassMessageList

Math

 * - Fix for fatal caused by static call to MathRenderer::getError

MobileFrontend

 * - Use correct API parameter to avoid search JS exceptions
 * - Fixing query string override for loading WikiGrok on en.wiki
 * - Don't load mobile.editor.ve module in desktop target
 * - WikiGrok: Pass campaign_name to ApiResponse
 * - Hygiene: Remove unneeded vars
 * - Alpha: Add possibility to change font size of the content
 * - For ios8 detection check for version 8
 * - Add support for donation button in beta
 * - Improve [Alpha page styling experiment] Image at top
 * - Hide Details box when user taps the image
 * - Document defaults in Views
 * - Hygiene: Complete jsdoc for application.js
 * - Restore styling to search page
 * - Improve search interaction experience for low end devices
 * - Tweak toggle behaviour
 * - Pre-commit hook: Check jsdoc coverage of any touched files
 * - Stop npm install downloading phantomjs every time
 * - QA: prefer single quotes to double quotes
 * - QA: remove unused argument for do block
 * - QA: fix unnecessary braces for hash
 * - QA: fix unneeded empty line
 * - QA: use modern hash syntax
 * - QA: indentation width fixes
 * - QA: missing space after comment # character
 * - QA: unnecessary parentheses
 * - QA: favor unless over if-not
 * - QA: space after colon
 * - QA: space around operators
 * - QA: rubocop
 * - QA: update for spaces inside parens
 * - QA: updating rubocop offenses
 * - QA: update .rubocop_todo file for latest rubocop version
 * - Update jscs
 * - Infoboxes: Use correct urls in infoboxes.
 * - Hygiene: Fix issues preventing pre-review script from running
 * - Rewriting WikiGrok more info copy and changing None button to neutral
 * - Hide some links from nonjs users
 * - QA: cleanup, adding &quot;should&quot; to Then steps
 * - QA: more RSpec
 * - QA: update upload tests
 * - Merge CtaDrawer with EditorOverlay Anonwarning for anonymous editors
 * - QA: update ui_links test for RSpec3
 * - QA: update toggling tests for RSpec3
 * - QA: update toc test for RSpec3
 * - QA update talk test for RSpec3
 * - Show WikiGrok error
 * - QA: finish watchlist update
 * - QA: update watchlist test for RSpec3 syntax
 * - Promoting WikiGrok to stable and disabling for anons (with flag)
 * - Hygiene: Refactor WikiGrok code
 * - QA: update userprofile tests for RSpec3
 * - QA: update login steps for RSpec3, etc.
 * - QA: update for RSpec3 syntax
 * - Make toggle icon standalone
 * - Hygiene: Update MobileWebClickTracking to cover alpha links
 * - QA: update for RSpec3
 * - QA: update special_history and special_contributions tests

MultimediaViewer

 * - Remove superfluous write of ensureEventHandlersAreSetUp flag
 * - Rough logging of metadata panel scrolling
 * - Fix failing test in master
 * - Close panel on canvas click + fullscreen mouseleave

OAuth

 * - Allow adding custom parameters to the callback for OAuth.

Scribunto

 * - Improve error messages in mw.html

SecurePoll

 * - Don't skip key import on the second call to SecurePoll_GpgCrypt::decrypt
 * - Don't try to read globals from PurgePrivateVoteData::__construct

SemanticForms

 * - Version 3.0
 * - Added documentation for #formredlink

TextExtracts

 * - Retry parse call if it fails to get section

Thanks

 * - Make sure, that toast is loaded for Thanks notifications

Translate

 * - Revert &quot;Request csrf tokens in JS when supported&quot;
 * - References to bugzilla updated to phabricator
 * - Update README to Phabricator time and reduce redundancy
 * - Escape translate-sidebar-alltrans
 * - Escape tpt-languages-separator
 * - Don't double escape messages on Special:Translate
 * - Remove !important and notes about CSSJanus
 * - Make ElasticSearchTTMServer results consistent enough
 * - Request csrf tokens in JS when supported

UniversalLanguageSelector

 * - Correct a language name to make all phpunit tests pass
 * - Simplify LanguageNameSearch code
 * - Update bugzilla references to phabricator and remove some excess links
 * - Remove support for MediaWiki version &lt; 1.22

UploadWizard

 * - Fix Flickr import bug due to change in newUpload
 * - Fix Firefogg config order
 * - Add &quot;almost finished&quot; message and remove parseInts

VisualEditor

 * - Follow-up I4e38607d8: Register &lt;visualeditor-find-and-replace-regular-expression&gt;
 * - Move from legacy TimingData schema to new statsd API
 * - Fix duplicate wikitext parse for displaytitle
 * - Prefer localStorage to store ve-beta-welcome-dialog
 * - Remove IEHacks.css in favor of .ve-init-target-ie class
 * - Split up ve.init.mw.ViewPageTarget.css
 * - Followup 1c04d32d: release saveDialog reference even if closed
 * - [BrowserTest] update Cite tests
 * - Restore papaparse
 * - Use String#slice instead of discouraged String#substr
 * - Don't re-enable apply changes in reference dialog if the changes have been undone
 * - Fix href parsing in transclusion nodes when on alternative (e.g. mobile) domains/paths
 * - MWCategoryInputWidget: Don't explode on invalid titles
 * - Fix call to mw.log.warning
 * - Followup e722c172: it's MobileWindowManager.js, not MobileInspectorWindowManager.js

WikiEditor

 * - Workaround for a scrolling bug in IE8 on resize
 * - Remove $ from wgExtensionCredits

WikiGrok

 * - Fix EventLogging of responses when correct is null
 * - Allow for campaign_name parameter to be passed to ApiResponse

Wikidata

 * - Update Wikidata - proper fix for property label formatting
 * - Update Wikidata, fix property label formatting and a test
 * - Update Wikidata, fix issue with editing site links
 * - Update Wikidata, fix focus when editing

WikimediaEvents

 * - Update SendBeaconReliability revid
 * - Fix SendBeacon revision; it must be an integer to validate
 * - Finish removing the HHVM beta feature
 * - Remove HHVM beta feature
 * - Add subscribers for statsd counters and timers

WikimediaMaintenance

 * - dumpInterwiki: General cleanup

ZeroPortal

 * - Enables zero-config editing functionality
 * - Remove legacy Lua invocation, Allow impersonate=
 * - Fix typo in curl README
 * - Simplify banner check
 * - Fixed getAllowedAccountIds to list all configs for admins
 * - Small wording updates to Cucumber README
 * - Allow portal= parameter for Special:ZeroPortal

Vector

 * - Revert &quot;Replace desktop watchstar icon with mobile skin one&quot;
 * - Replace desktop watchstar icon with mobile skin one
 * - Give .mw-body-content its own stacking context (z-index: 0)