MediaWiki 1.25/wmf14/Changelog

Core changes

 * - Update Thanks extension
 * - Fix array index for oldid parameter
 * - Update Wikidata, move files needed in client back to lib
 * - Update EducationProgram Extension
 * - Update Wikidata, fix change handling in clients
 * - Update ContentTranslation to go with rebranch
 * - Re-add mediawiki.toolbar as a dependency of mediawiki.action.edit
 * - Update MultimediaViewer for cherry-pick
 * - tests: Move npm-test to repo root
 * - Update Wikidata, fix suggester and autocomments
 * - Pulled in I955493d1 from CirrusSearch
 * - Update WikimediaEvents for cherry-picks
 * - Update EventLogging for cherry-picks
 * - Update MobileFrontend
 * - Update CentralAuth
 * - Export mw.Message's string formatter as mw.format
 * - Update CentralAuth
 * - Update WikimediaMessages, update wikidata messages
 * - Update Wikidata, fix &quot;other projects&quot; box
 * - Update Echo to bring a test fix
 * - Remove silly debug line
 * - Fix MF by breaking it
 * - Update Scribunto to 1.25wmf14 HEAD
 * - Updae MobileFrontend and WikiGrok
 * - Update CentralAuth
 * - Update AbuseFilter to 1.25wmf14 HEAD
 * - Bump VisualEditor to include I659cc1f and If133a9d
 * - Update (test) Wikidata to 1.25wmf14 extension branch
 * - WikiGrok: https://gerrit.wikimedia.org/r/#/c/183186/
 * - Update QUnit from v1.14.0 to v1.16.0
 * - Remove the 'top' definition from .mw-ui-icon-element:before
 * - Cleanup ParsoidVirtualRESTService
 * - Make a VirtualRESTService class for Parsoid
 * - Escape unescaped messages in Special:Preferences
 * - Trigger onResponses on non-replacement request too in VirtualRESTServiceClient
 * - Revert &quot;Keep backend param to search API as long as there's a backend&quot;
 * - Remove double escaping of group member name on Special:ListUsers
 * - Use also $wgAutoloadClasses in tests for module names
 * - Add applicable protection types to the prop=info API
 * - exception: Implement error-json log
 * - Remove silly reference ampersands from database functions in maint
 * - grunt: Add Karma task for automated QUnit testing in browsers
 * - SpecialJavaScriptTest: Add export feature
 * - API: Avoid unstubbing User for language pref when not needed
 * - Revise wording for installed libraries release note
 * - Don't display composer installed extensions/skins on Special:Version
 * - Adjust images in packed gallery on window resize
 * - Expand error message when parser tests found no hook
 * - Update OOjs UI to v0.6.1
 * - mw.ui: button: Update usage instructions for neutral and quiet buttons
 * - mw.config: Show deprecation notices when accessing globals
 * - Make jquery.suggestions obey maxRows setting
 * - Make use of DatabaseBase::selectRowCount in Title
 * - resourceloader: Make arguments to mw.loader.implement optional
 * - Fix documentation of mw.loader.getState
 * - Database::makeList : Handle NULL when building 'IN' clause
 * - Always use the canonical extension name to link the license file
 * - mw.ui: checkbox: Remove margin from checkbox input to fix the pseudo element overlap
 * - Add namespace translations for nan
 * - jQuery.footHovzer: Fix scrolling issues
 * - Fix @covers tags for includes/libs/composer
 * - mw.ui: radio: Add state transition to radio buttons
 * - Don't replace user text with suggestion in searchbox
 * - 2
 * - mediawiki.action.edit.preview: Use .textSelection( 'getContents' )
 * - Document OutputPage::$mPreventClickjacking
 * - Implement support for a minimum log level in $wgDebugLogGroups
 * - Only return CORS headers in the response as required
 * - Keep backend param to search API as long as there's a backend
 * - Remove normalizeAttributeValue
 * - Moved getTitleInvalidRegex from Title to MediaWikiTitleCodec
 * - Documented the Classes ImportStringSource and ImportStreamSource
 * - Add JSON to docs/contenthandler.txt
 * - Format multiple autocomments in edit summaries
 * - Use preview content when it transcludes itself
 * - Correct apihelp for show parameter for some modules
 * - Make TitleMethodsTest a LangTestCase
 * - Use PHPUnit_Framework_TestCase in a few utils/ tests
 * - Convert most libs/ tests to use PHPUnit_Framework_TestCase
 * - Expose installed external libraries on Special:Version
 * - Add checkComposerLockUpToDate.php script
 * - Allow querying for multiple MIME types in the allimages API
 * - Add batch lookup for user groups and titles on Special:ActiveUsers
 * - Add SQL tests for Database::makeList
 * - Escape word-separator in LogFormatter
 * - API: Clean up uncaught exception backtrace output
 * - Fix escaping of specialList and clarify comments
 * - Fix warning on Special:ListGroupRights for group with invalid group page
 * - Remove over/underescaping detected in Special:UserRights
 * - Shorten lines to pass phpcs test
 * - Implemented hasRules
 * - Apply time adjust on merge log
 * - Use content language for edit summary on upload overwrite
 * - Sort languages by code in Language::fetchLanguageNamesUncached
 * - mediawiki.action.edit.preview: Restore trigger LivePreviewPrepare
 * - Use a more generic DB Error wording
 * - Include log id in api error response
 * - Parser: Add &lt;bdi&gt; to the whitelist for TOC links
 * - Cleanup DatabaseBase::query implicit transaction code
 * - SpecialPage::execute doesn't return anything
 * - Add use statement for type used in MWLoggerMonologSamplingHandler::setFormatter
 * - Add lots of @throws
 * - Change to unix eol style
 * - mediawiki.feedback.js: Trim whitespace from message and subject
 * - Consolidate mobile and desktop designs for login form
 * - Improve testing for ApiFormatBase subclasses
 * - Special:Search Don't autofocus search bar unless it is empty
 * - Add @since to classes and interface in title
 * - Escaped lastmodifiedat and laggedslavemode
 * - API: Allow for documenting individual values of 'prop' parameters
 * - API: Add page properties to action=expandtemplates output
 * - Really allow Extensions to make a new gallery format
 * - Moved &quot;nowait:&quot; key code to PoolCounter in core
 * - Fix NS invert on SpecialNewPages
 * - Don't allow embedded newlines in magic links, but do allow &amp;nbsp;
 * - Fix AutoloadGenerator to work on MediaWiki-Vagrant (again)
 * - Escape message 'word-separator' on Special:FileDuplicateSearch
 * - monolog: MWLoggerMonologSamplingHandler
 * - Escape retrievedfrom message in the skin
 * - Fix redirect page for RTL
 * - Remove unneeded fields from query in Special:ListUsers
 * - Add batch lookup for user groups on Special:ListUsers
 * - jquery.tipsy: Unbreak the 'live' option for now
 * - Hide file links in action=info's 'Number of redirects to this page'
 * - EditPage: Optimise loading of mediawiki.toolbar module
 * - Reject out-of-range output when converting to TS_MW
 * - Fix error in docs of VirtualRESTServiceClient and MultiHttpClient
 * - Update jQuery from v1.11.1 to v1.11.2
 * - Sync up with Parsoid parserTests.
 * - Fix VirtualRESTServiceClient::run
 * - mediawiki.notification: Use link syntax for URL in documentation
 * - maintenance: Don't copy the Apex styles when importing OOjs UI
 * - SpecialImport: Don't access $this-&gt;getConfig in the constructor
 * - Set mw.config wgFileExtensions only on Upload instead of site-wide
 * - Use more pretty output in ResourceLoader debug mode for arrays
 * - Make the autoload generator use forward slashes on all OSs
 * - Change case of class names to match declarations
 * - Make HTMLForm::formatErrors non-static to can parse message in context
 * - tables.sql: Improve description of old_flags
 * - Add documentation for SiteListFileCache
 * - autoloader: Remove incorrect documentation comment
 * - Re-emit unknown tags from #tag
 * - Fixed comment typo and other docs tweaks
 * - Don't create Language objects during ResourceLoader tests
 * - API: Avoid MySQL filesort with list=allpages&amp;apfilterlanglinks=withlanglinks
 * - Use generalizeSQL for DBPerformance log entries
 * - Revert &quot;Simplify MWTidy&quot;
 * - Set $wgInternalTidy to false in unit tests when running under HHVM
 * - Don't break autolinks by stripping the final semicolon from an entity.
 * - Remove double escaping in Special:Block
 * - Escape unescaped messages shown on a diff page
 * - Change bugzilla -&gt; phabricator
 * - Skip ApiFormatWddxTest under HHVM
 * - xhprof: Guard against division by 0
 * - Make PHPCS pass on JsonContentTest
 * - xhprof: discard section profiler running totals
 * - hygiene: small special:search refactor
 * - xhprof: Fix magnitude of %real measurements from scoped profiler
 * - content: Refactor and fix various bugs in JsonContent
 * - ImagePage: Use $this-&gt;getContext-&gt;msg instead of wfMessage
 * - Avoid GlobalTitleFail in HTMLFormField::__construct
 * - Made a new SectionProfileCallback class that extends ScopedCallback
 * - Fix some stuttering in comments and documentation
 * - Run structure tests on extensions
 * - Use getHtmlCode instead of getCode to set the lang attribute
 * - Use Context in Article::delete for messages
 * - Proper namespace handling for WikiImporter
 * - Ensure integer compare in Special:WantedCategories
 * - Add and use Title::getOtherPage

AbuseFilter

 * - Add file_size variable
 * - Allow searching for local hits on central wiki
 * - add missing title-param to abusefilter-log form
 * - Specify an actual version constraint for composer/installers
 * - Fix autoloader entries

AntiSpoof

 * - Remove unnecessary $wgAutoloadClasses entry

BounceHandler

 * - Remove index on br_user_email in bounce_records

CentralAuth

 * - Try to verify emails before testing passwords
 * - Only test passwords once in CentralAuthUser::prepareMigration
 * - Reduce Password object creations needed for an account merge
 * - Add script to populate log_search for global rename entries
 * - Link to wikiset ID on Special:GlobalGroupPermissions
 * - Add global username autocompletion
 * - Split $wgCentralAuthAutoMigrate into two settings
 * - Make &quot;account exists&quot; message more user-friendly
 * - GlobalRename: Set a debugPrefix in RenameuserSQL
 * - Fix autoloader entries
 * - createLocalAccount.php: Normalize the name before validating

CirrusSearch

 * - Make sendDocuments the public kind of private
 * - Fix rubocop errors
 * - Remove $wgCirrusSearchEnablePref
 * - When an index has no warmers it won't return anything
 * - Message documentation for per user request limits
 * - Remove random support
 * - Remove LinksUpdateSecondary jobs
 * - Per user request limits
 * - Fix jenkins setup

CommonsMetadata

 * - Use metadata from Blacklisted templates if they're alone
 * - Parse standard date formats with wfTimestamp
 * - Parse &lt;time&gt; element in DateTimeOriginal

ConfirmEdit

 * - Use __DIR__ directly
 * - Show Captcha after click on edit over buttons on EditPage

ContentTranslation

 * - Publishing options: Update version to highest version automatically
 * - Guard against a js error in drafts module
 * - Consistently use global user id and name for translator validations
 * - Return global user name from find API
 * - Validate language codes in CX API
 * - Do not provide CX for blocked users
 * - Publishing Options: Adjust publishing options for publishing to main namespace
 * - Links: Enable removing target link when clicking on source link
 * - Links: Selecting partial or full link text does not make a valid selection
 * - Documentation: Adding documentation to Translator.php
 * - Security: Use new JSON format from /mt endpoint
 * - Check if another translator working on same translation
 * - Allow creating links in a cleared section
 * - Source selector: Make sure compact ULS RL module is loaded
 * - Source Selector: Allow unsupported languages from url for testing
 * - Handle unidirectional language pairs in the selector
 * - Check for localStorage availability using window.localStorage
 * - Minor fixes in increaseVersion
 * - Improve two apihelp messages
 * - Cleanup ext.cx.tools.manager.js
 * - Remove repeated code in translation link creation
 * - Share the dirty status across publish and draft modules
 * - Links: Remove an assignment which has no effect
 * - Do not create links for the selected text in a link
 * - Fix the wrong domain name for translation token if domain is localhost
 * - If wrong draftid passed, take the user to dashboard
 * - Abstract source and translation section access
 * - Be more strict about the node returned by getElementById
 * - Update Gems and Rubocop auto-configuration
 * - Fix confusing placement of closing parentheses
 * - Fix double space
 * - Align the target title after a timeout to get correct dimensions
 * - Correct the return types for getSourceLink and getTargetLink
 * - If the target link was removed, don't show its card on the source link click
 * - Configurable target namespace for translated pages
 * - Styling adjustments for draft deletion
 * - Add a style class to the deleted translation item in dashboard
 * - Correct the construction of targetURL while saving
 * - If source selector is pre-filled, initiate validations
 * - Increase the width of language selection buttons
 * - Discard translations drafts from translations list
 * - Cleanup the code of selector rendering
 * - Delay loading the entry point dialog till we identify a redlink to show
 * - While navigating away, save the translation only if something changed
 * - Fetch the translation and drafts of current user alone
 * - Rename mw.cx.save hook to mw.cx.translation.save
 * - Add documentation for undocumented frontend hooks
 * - Fix the Markdown syntax of hooks documentation
 * - Replace tabs with spaces in SQL
 * - Show a red link only if the language is available as a target
 * - Remove &lt;timeline&gt;s similarly to how block templates are removed
 * - Cleanup whitespace in CXSourceSelector.prototype.check
 * - Cleanup ext.cx.source.selector.js
 * - Cleanup whitespace and comments in ext.cx.source.filter.js
 * - Use tabs instead of spaces for indentation in SQL
 * - Cleanup setCXToken
 * - Use a date object for cookie expiration
 * - Show the recent translations first in translations listing
 * - By default filter translations by 'draft' status
 * - Use 'In progress translations' in translations filter instead of 'Draft translations'
 * - Link to Creative Commons version of the CC BY-SA 3.0 Unported
 * - Change the cookie name for valid translation workflow
 * - Fix javascript error while loading a page with no categories
 * - Correct the cookie name calculation for titles with spaces
 * - Dashboard: Open the published URL when clicked on a published translation
 * - Publishing: Add publishing options dialog
 * - ULS width according to the number of languages
 * - Override beta feature preference if Special:CX accessed with valid token
 * - Make sure translator see license text even if use manually created URL
 * - Explicit text-align for language labels in the selector
 * - Correct positioning of the selector dialog for RTL
 * - Enforce consistent column sub-heading styling
 * - Separate the category widget from the sub-heading
 * - Hide the entry point only if it's known to be shown
 * - Position the entry point when showing
 * - Set lang and dir for the search box

DonationInterface

 * - Annotation in generated forms links to source file
 * - Add Alipay form
 * - log which transaction we're about to initiate
 * - Style inputs missing 'type' like text inputs
 * - Fix green box width on some forms
 * - Correct bad conflict resolution
 * - Reset CC radios, disable 'continue' with CC buttons
 * - Tooltip explanation of CVV field for WorldPay
 * - Don't apply new input styles to radio buttons
 * - (FR #2293) Force LTR on credit-card fields
 * - Disable clicking credit card type radio LI
 * - Make the entire li around CC type buttons clickable
 * - Prevent double clicks on gc cc forms (take 2)
 * - Deploy once Lithuania is on the Euro.
 * - fix bad conflict resolution in https://gerrit.wikimedia.org/r/#/c/181183/
 * - Re-center CC icons in narrow screen view
 * - Even out vertical layout on small devices
 * - Improve payments form layout
 * - Get rid of unused colspan=2 cruft
 * - Prevent background color from bleeding to right margin
 * - Globalcollect form and iframe content css changes
 * - Satisfy structure tests
 * - Satisfy structure tests
 * - Globalcollect form and iframe content css changes
 * - Revert &quot;Prevent double clicks on gc cc forms&quot;
 * - i18n the remaining State fields
 * - (FR #2288) Improved i18n for Canada
 * - (FR #2288) Use i18n for State field label
 * - Clean up a little logspam
 * - Prevent double clicks on gc cc forms
 * - Test that two GC API requests send different info
 * - Deploy once Lithuania is on the Euro.
 * - Clean up GlobalCollect style sheet
 * - Update input and select styling for GlobalCollect

Echo

 * - Fix EchoTitleLocalCacheTest::testGet corner case
 * - overlay: Remove needless specifity in .mw-echo-grey-link selector
 * - Page linked by another user : link to the original article

EducationProgram

 * - Fix output of non-student participants
 * - Add more course info to API output

EventLogging

 * - Use navigator.sendBeacon if available
 * - Correct events to send schema name
 * - tests: Assert validation error is as expected
 * - Refactor ext.eventLogging.core.js
 * - Use mw.track( 'eventlogging.warning', ... ) to emit warnings
 * - Make setup.py install eventlogging.lib as well
 * - Add a simple client API
 * - Turn validation fixture into valid Json
 * - Temporarily re-add JsonSchemaContent::getJsonData
 * - Minor tidy

Flow

 * - QA: add test for Flow in Recent Changes
 * - Make user group related messages consistent
 * - Add commit metadata to api response and flag for metadataonly
 * - QA: remove some deprecation warnings
 * - Hide inputs on preview
 * - Create user right for creating flow boards

GlobalBlocking

 * - Provide a generic getGlobalBlockingDatabase function
 * - Show error for invalid IPs on GlobalBlockList

MobileFrontend

 * - Make WikiGrok v B support multiple campaigns at the same time
 * - Hygiene: Only omit warning messages on LoginForm
 * - Conform to schema

MoodBar

 * - Fix module dependencies
 * - Fix dashboard links that are visible on hover
 * - Stop using jQuery.live

MultimediaViewer

 * - Fix download panel not showing on rclick after pressing esc
 * - Open the download panel when an image is right clicked
 * - QA: back button workaround for Safari
 * - Log right-clicks on the image
 * - Allow bold and italic text
 * - Show alt-text in export dialog and for lightbox image
 * - More accurate looking for image caption
 * - Add mw.mmv.viewer shortcut for current MediaViewer instance
 * - Change &quot;view terms&quot; to &quot;hide terms&quot; once clicked
 * - Show custom Attribution line instead of Author/Credit when available
 * - Ignore events with modifier keys
 * - Ignore generated captions on special file related pages
 * - MultimediaViewer usable on Special file related pages when enabled
 * - Permission title changed to &quot;Permission details&quot;
 * - QA: update navigation test for rspec

PageImages

 * - Use defined instead of constant

PageTriage

 * - Fix PageTriage JS dialog parameter
 * - Replace .live function calls with .on

PagedTiffHandler

 * - Remove var_dump statement

ParserFunctions

 * - mb_strpos expects parameter 3 to be long, string given

PoolCounter

 * - Move to using the core &quot;nowait:&quot; key code
 * - Fix spacing issues that have been annoying me

Popups

 * - Use TEXT_EXTRACTS_INSTALLED instead of checking a class name
 * - Re-position #mwe-popups-svg out of the view port

Renameuser

 * - wfRunHooks --&gt; Hooks::run
 * - Escape renameuser-linkoncontribs
 * - Add debug logging to RenameuserSQL
 * - Warn when people load the deprecated SpecialRenameuser.php entry point

Scribunto

 * - Pass the title's fragment to getExpensiveData
 * - Use protocol-relative URLs in mw.site.interwikiMap
 * - Add mw.site.interwikiMap
 * - Normalize newlines before calling preprocessor
 * - Add more comments and type hints
 * - Handle PTD_FOR_INCLUSION properly
 * - Use a metatable when os.date(&quot;*t&quot;) is called
 * - Make Jenkins tests pass

SemanticForms

 * - New version: 3.1-alpha
 * - Added support for the new Cargo extension
 * - Fix to allow parsing of dates when SMW is not installed

SyntaxHighlight_GeSHi

 * - Allow &quot;0&quot; as the content of &lt;syntaxhighlight&gt;

TemplateData

 * - Correctly detect if jquery.uls.data is loaded
 * - Eventify TemplateDataGenerator and use oojs-ui

TemplateSandbox

 * - Fix title equality checking and closure style

TextExtracts

 * - Reorg: move hooks to a separate class, introduce namespaces
 * - Use defined instead of constant

Thanks

 * - Mobile: Conform to new LoggingSchema

TimedMediaHandler

 * - Specify media type for interface messages

TitleBlacklist

 * - spaces --&gt; tabs
 * - Add missing $wgAutoloadClasses entry
 * - Log cache misses of blacklist

TorBlock

 * - Consolidate duplicate code in TorBlockHooks

Translate

 * - Add translate-group-desc-inaturalist
 * - Fix version and update copyright
 * - Add missing module dependencies.
 * - Escape supportedlanguages-translators
 * - Code cleanups related to deferreds and promises
 * - Update version before MLEB release

UniversalLanguageSelector

 * - Update jquery.ime from upstream
 * - Update jquery.uls from upstream
 * - Update version before MLEB release

UploadWizard

 * - Fix qunit tests
 * - Flickr: The community does not consider UW uploads verified
 * - Add some basic tests for IframeTransport
 * - Add tests for mw.FormDataTransport
 * - Add unit tests for Thanks step controller
 * - Sanitize | characters in descriptions
 * - Add tests for tutorial step object
 * - Add tests for mw.fileApi
 * - Add tests for upload step controller
 * - Add unit tests for details step controller
 * - Appease the new test suite
 * - Add tests for Deed step controller

VipsScaler

 * - Make VipsScaler pass jshint

VisualEditor

 * - Fix Parsoid transformation calls
 * - Work around $.parseHTML( '' ) returning null
 * - Follow-up I2342fa5b: Bump wfUseMW to 1.25wmf14 for ParsoidVirtualRESTService
 * - Use ParsoidVirtualRESTService
 * - Re-focus edit summary input when save dialog is ready
 * - MWSaveDialog: Correct whitespace
 * - Fix save dialog styling for MediaWiki theme
 * - Fix teardown order of MWAlienExtensionsInspector
 * - Update comment to indicate TD uses jquery.uls.data
 * - Update bugzilla links to phabricator
 * - Don't break &quot;Edit source&quot; link after VE has closed
 * - Add classes to toolbar UI elements
 * - Clarify a comment and correct its spelling
 * - [BrowserTest] This test is unreliable in any version of Chrome
 * - Remove unnecessary translated messages
 * - Update setupToolbar signature in mobile target
 * - Fix Ia6bf604c: Update another caller to ve.init.mw.Target
 * - Avoid GlobalTitleFail in ApiVisualEditor::diffWikitext
 * - Pre-populate LinkCache for page we're editing

WikiEditor

 * - Remove reference to magnify-clip.png

WikiLove

 * - Switching old coffee image with new improved coffee image!
 * - Some minor styling tweaks to the type selection interface
 * - Officially deprecating wikiloveimagelog (no longer needed)

Wikidata

 * - Update Wikidata, moving js needed by client back to lib
 * - Update Wikidata, fix client change handling
 * - Update Wikidata, fix suggester and autocomment formatting
 * - Update Wikidata, enhancements to entity usage script and fix &quot;other languages&quot; box

WikimediaEvents

 * - Remove sendBeacon experiment

WikimediaMessages

 * - Remove &quot;pages linked to this item&quot;
 * - Add messages for Wikidata and test.wikidata.org &quot;other projects&quot; sidebar links
 * - Add missing wikibase-sitelinks-sitename-wikidatawiki message

ZeroPortal

 * - Update documentation and shell perms for tests
 * - Revert &quot;Enable $wgAllowSiteCSSOnRestrictedPages&quot;
 * - Enable $wgAllowSiteCSSOnRestrictedPages

cldr

 * - Add autoload to composer.json

Vector

 * - jquery-ui: Remove dark color from links inside dialogs
 * - Restore backwards compatibility
 * - Change to unix eol style