MediaWiki 1.25/wmf14/Changelog

Core changes

 * - 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

 * - 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

 * - 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

 * - 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

 * - 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

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

EventLogging

 * - 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 Roulette preload the next page
 * - Hygiene: Load icons from correct place
 * - Fix for header covering edit pencil in alpha
 * - Don't show duplicate messages in LoginForm
 * - Hygiene: Disable Save button on TalkSectionAddOverlay while no content
 * - Provide a possibility to skip preview in mobile frontend
 * - Hygiene: Remove unused method.
 * - Hygiene: Make it possible for alpha to reimplement personal urls
 * - Change navigation easing function
 * - Make WikiGrok not depend on WikiData API
 * - Enable user profile on desktop.
 * - Changing 'items' to 'information' per aharoni suggestion
 * - Hygiene: prep work for collections work
 * - Documentation: Fix typos and remove an unsupported tag.
 * - Refactor: Introduce and use Skin for loading wide screen modules
 * - Hygiene: Remove Skin.js erroneously added
 * - Hygiene: Remove need for #notifications element
 * - Hygiene: Introduce util module
 * - Make use of DatabaseBase::selectRowCount in MobileUserInfo
 * - Hygiene: Add namespaceNumber for getCurrentPage
 * - Polish: make log out button on boundary square
 * - Remove outline on overlay buttons
 * - Hygiene: Remove mw-ui-block modifier from anchor links in ctaDrawer
 * - Hygiene: Use Config object for global configuration vars
 * - Hygiene: Enforce capitalizedNativeCase for types in jscs
 * - Hygiene: Remove log method from mw.mobileFrontend object
 * - Hygiene: Introduce MobileWebClickTracking
 * - Hygiene: Introduce SchemaMobileWebEditing for editing EventLogging
 * - Hygiene: Use Schema for wikigrok event logging
 * - Hygiene: Make inNamespace a method of Page
 * - Hygiene: Nit picks to ErrorReportOverlay
 * - Error reporting interface for alpha
 * - Run 'this page has issues' on category pages
 * - Hygiene: Introduce SchemaMobileWebUploads
 * - Hygiene: Introduce Schema class
 * - Fix notification overlay back behaviour
 * - Fix naming issue to restore ability to switch between editors
 * - Fix image pinch zoom
 * - Update WikiGrok about text
 * - Hygiene: Add missing doc for Watchstar.events
 * - Hygiene: Fix jsdoc errors
 * - Hygiene: Remove unused active property
 * - Standarize jsdoc param types
 * - Hygiene: Move tagButton code into a template
 * - Add jscsc rule &quot;disallowImplicitTypeConversion&quot; and fix existing errors
 * - Hygiene: Enforce documentation of function parameters
 * - Login form tweaks
 * - Hygiene: Remove unnecessary uses of getTokenWithEndpoint
 * - Remove unused test
 * - Hygiene: Use group as a parameter to phpunit
 * - Load correct page actions images
 * - Use ResourceLoaderImage module in MobileFrontend
 * - Refactor Watchstar view to use events map with View
 * - PhotoUploaderButton uses events map
 * - TableOfContents uses events map
 * - Hygiene: Fix add of no-position-fixed
 * - Hygiene: Move &quot;Return to $1 page&quot; to footer
 * - Hygiene: Remove dead code
 * - Add WikiGrok response badges for wg-sidebar
 * - Hygiene: Organise our long list of globals
 * - Make infobox experiment configurable.
 * - Tweaks to login and sign up form in alpha
 * - Hygiene: Generalise instance of field for infobox generation to allow configuration
 * - Hygiene: Prevent JS error - anchors don't necessarily have an HREF
 * - Redo VE toolbar styling
 * - Remove console.log and fixed a couple of jsduck errors
 * - Remove unused variable
 * - Restore main menu animations
 * - Close main menu before showing wikigrok roulette error
 * - Promote auto toggle to stable.
 * - Hygiene: Kill closeOnBack property and OverlayManager FIXMEs
 * - Hygiene: Remove unnecessary overlay code / address FIXME
 * - Hygiene: Rename _save to onSaveBegin and _prepareForSave to onStageChanges
 * - Fix footer on special pages where there is no last modified bar
 * - Don't add VisualEditor related modules if VE isn't installed
 * - Hygiene: Rename misleading onSave name
 * - Hygiene: Make _hasChanged public
 * - Fix jsduck warnings on WikiDataApi (inheritdoc)
 * - Require MW_INSTALL_PATH in both makefile and gruntfile
 * - Hygiene: Make instance of property id configurable
 * - Hygiene: phpdoc comments, unused variables
 * - Alpha: WikiGrok in sidebar
 * - Memoize results of the browser.js methods.
 * - Don't (implicitly) parse the &quot;editsectionhint&quot; message
 * - Prevent asynchronous event logging events in qunit tests
 * - Hygiene: check types are valid in jsdocs
 * - Minor updates to VE integration code
 * - Hygiene: Move anonymousEditing config to EditorOptions
 * - Hygiene: check return types
 * - Fixes to neglected Mobile upload interface (for 3rd parties)
 * - Hygiene: Move file upload support detection to browser.js
 * - Hygiene: Remove redundant returns
 * - Hygiene: Kill dead code
 * - Remove images from infoboxes
 * - i18n/Hygiene: Use Wikibase for infobox labels
 * - Infobox description editing
 * - Making WikiGrok pull property ID and name from new campaign data
 * - VisualEditorOverlay: Update for Idc299e23 in OOUI
 * - Remove old b/c code not needed since late summer
 * - Ensure file page mobile views have the proper title in context
 * - Move M.isIos to browser.js
 * - Hygiene: jscs should check return types
 * - Correct RL targets for site module and user module
 * - Remove unnecessary rule to fix issues overlay rendering
 * - Fix MW_INSTALL_PATH to default to local installation
 * - Fix MobileWebClickTracking documentation errors
 * - Add missing word to parameter description
 * - Remove jscsdoc objective
 * - Let PHP check, if the user can edit a page or not
 * - Combine two seperate .jscsrc files into one.
 * - Hygiene: Document PhotoUploaderButton.js
 * - Hygiene: Update editor, mediaviewer, talk, tutorials, and watchstar
 * - Hygiene: Complete documentation for logging schemas, Api and Icon
 * - Hygiene: Add documentation for PhotoApi
 * - Hygiene: Photo upload overlay documentation
 * - Hygiene: Update WikiGrok and specials/nearby documentation
 * - Expose Wikidata descriptions via mobileview
 * - Give editor an empty label to prevent rendering bug
 * - Hygiene: Update search, talk, and TOC documentation
 * - Hygiene: Update uploads and watchstar documentation
 * - Hygiene: Update editor documentation
 * - QA: update locator for talk button
 * - QA: watchlist icon is no longer a link but a span
 * - Hygiene: Update notifications, preferred languages, and references documentation
 * - Rename caller of '_prepareToSave'
 * - Hygiene: Update mediaviewer, mobile redirect, and nearby documentation
 * - Hygiene: Update documentation
 * - Hygiene: Remove redundant include in uploads
 * - Hygiene: Fix incorrect documentation in PageList
 * - Fix structure suite
 * - Followup Ia6bf604c, I431a9025: Update way VE target is constructed
 * - Revert &quot;Load correct page actions images&quot;
 * - Serve description even if the wiki data item has no instance of claims
 * - Hygiene: Update lastEdited documentation
 * - Avoid GlobalTitleFail in SkinMinerva::getHistoryLink
 * - Don't show page issues link, when no page issues on the page
 * - Polish: Fade in and out the search overlay
 * - Redoing how mobile handles tables
 * - Hygiene: Move class name generation to browser.js
 * - Hygiene: Move lockViewport to Browser.js

MoodBar

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

MultimediaViewer

 * - 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

 * - 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

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

 * - 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

WikiGrok

 * - Fix campaigns picking
 * - Include the campaign property's Wikidata label

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)

WikimediaMessages

 * - 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