MediaWiki 1.23/wmf7/Changelog

Core changes

 * - updated to latest zero extension
 * - backport
 * - Backport MultimediaViewer event handler fix
 * - Updating Collection to deploy branch
 * - Update EducationProgram to wmf7 branch for cherry-picks
 * - Update VisualEditor to wmf7 branch for cherry-picks
 * - Update Wikibase, fix lua integration
 * - Update Wikibase, improve JS performance
 * - Add ApiBeforeMain hook
 * - Pass $title parameter to getCredits call
 * - Commit of various wmf-branch live hacks
 * - Make (Title|User)Array implements Countable
 * - mediawiki.js: Minor clean up of comments and code
 * - IcuCollation: Add CollationCkb subclass for Sorani Kurdish
 * - IcuCollation: Sort digits under localised digits' headings
 * - Better warning for Message object
 * - Always give sane output for Title::getUserCaseDBkey
 * - CSSMin: Correctly format 'url' values with parentheses etc.
 * - CSSMin: Change behavior for missing files
 * - CSSMin: Fix remapOne for URLs that are proto-relative or have query part
 * - Changed TIME_ONLY to NAME_AND_TIME_ONLY in FileRepo
 * - Allow customizing classes inside of diffs
 * - Tweaked FileRepo::findFiles behavoir to match LocalRepo
 * - Add new message key to maintenace/messages.inc
 * - Revert &quot;Module storage: randomly choose between Function and $.globalEval&quot;
 * - Fix QueryPage transaction plan
 * - Send QueryPage recache queries to a separate query group
 * - Added --wikidb param to sql.php
 * - Add &quot;nocreate&quot; and &quot;createonly&quot; options to edit.php
 * - tests: beginning of tests for DjVu files
 * - Preferences: Improve accessibility of the JS tabs of Preferences
 * - Canonicalize text and update docs of messages using 'loginreqlink'
 * - Module storage: randomly choose between Function and $.globalEval
 * - Remove problem forced index
 * - identify LogPager queries for load balancing
 * - API: Add image sizes and default user prefs to meta=siteinfo
 * - Status::getHTML should actually return HTML
 * - Split includes/SpecialPage.php
 * - Restore compatibility with curl &lt; 7.16.2
 * - Added a TIME_ONLY option to FileRepo::findFiles to use less RAM
 * - API: Add iiprop=canonicaltitle
 * - Prevent fatal when File::transform returns false
 * - Formatting fixes in includes/htmlform/*
 * - PersonalUrls hook provides a SkinTemplate, not a Skin
 * - Split includes/HTMLForm
 * - Fixed spacing
 * - Release notes for Iabf4873f
 * - Break long lines and remove some spaces in QueryPage.php
 * - Some more formatting fixes for media classes
 * - filebackend: exception handling cleanups
 * - Made redis lock manager get EX/SH locks in one go
 * - Include error code in error message when convert fails
 * - Release notes for I0ef9674e
 * - Add search results found as parameter to showCreateLink
 * - Set 'watchcreations' and 'watchdefault' options to true
 * - Remove unused message 'confirmemail_error'
 * - Break long lines and remove some spaces in Revision.php
 * - Break long lines and remove some spaces in Defines.php
 * - Remove $dbw-&gt;close call from convertLinks.php
 * - Set up local date formats for Sorani Kurdish (ckb)
 * - Remove unused message 'undeletereset'
 * - Remove unused message 'limitall'
 * - Remove unused message 'compare-selector'
 * - Remove unused message 'rcnote'
 * - Remove 5 unused block messages
 * - Removed 'Disable browser page caching&quot; user preference
 * - Add UI to discover translated SVG files.
 * - Extract list of languages svg is translated into.
 * - Fix SvgHandler::getScriptParams to not give warnings.
 * - Normalize newlines in DjVu text-layer metadata.
 * - Update documentation for media related classes
 * - Add no-dimensions option to MediaTransformOutput::toHtml
 * - i18n: Remove ckb from link underline removal
 * - Fix text extraction on DjVu so that it works beyond first call.
 * - mediawiki.page.ready: Fix whitespace in IIFE
 * - Make a single colon an invalid title in php and js
 * - media: limit size of stderr being logged
 * - generalize BitmapHandler::logErrorForExternalProcess
 * - Move init of $noFollow outside of if
 * - Don't assume test user has ID 1 in SpecialPageTest
 * - Unblacklist group-specific JS/CSS for the user group
 * - Remove 3 unused allpages messages
 * - Remove unused message 'resetpass'
 * - Remove 3 unused movepage messages
 * - Simplify ternary construction
 * - Remove function call from for loop test part in GIFMetadataExtractor::readGCT
 * - Small doc comment fix
 * - Converted html cache updates to use BacklinkJobUtils
 * - Add more type hints in comments for static code analysis
 * - Remove mergeExpected and assertResultRecursive
 * - Update documentation for log related classes
 * - Change line breaks in LocalFile::recordUpload2
 * - Update documentation for File::getMetadata
 * - Add PLURAL support to youhavenewmessages*
 * - Remove unused messages 'protectedpagestext' and 'protectedtitlestext'
 * - Remove unused messages 'resetprefs' and 'timezoneoffset'
 * - Remove 9 unused search messages
 * - Remove 6 unused revdelete messages
 * - Capitalization: 'jQuery', not 'jquery', and 'MediaWiki', not 'mediawiki'
 * - Declare visibility on class properties of Exif
 * - Declare visibility on class property of FormatExif
 * - Declare visibility on class properties of GIFMetadataExtractor
 * - Declare visibility on class property of MediaHandler
 * - Declare visibility on class props of MediaTransformOutput and MediaTransformError
 * - Do not access MediaTransformOutput-&gt;url directly in Linker
 * - Declare visibility for class properties of PNGMetadataExtractor
 * - Ignore CodeSniffer warning where unavoidable in media classes
 * - Remove function calls from for loop test part in media classes
 * - Break long lines in media related classes
 * - Remove PHP4 style constructor
 * - Update formatting for media related classes
 * - Removed &quot;Disable search suggestions&quot; from Mediawiki Preference
 * - Optimized LocalRepo::findFiles
 * - filebackend: cleaned up the FileBackend constructor
 * - Set saner default for parameters of LogEventsList::showOptions
 * - Updates for Interwiki.php
 * - Restore Signupstart and Signupend messages for account creation
 * - Wrap changes lists in &lt;div class=&quot;mw-changeslist&quot; /&gt;
 * - Define 'MW_UPDATER' when running update.php
 * - Remove ugly $wgTitle usage from edit.php maintenance script
 * - Begin exposing SiteConfiguration via site contexts
 * - Begin exposing SiteConfiguration via site contexts

BetaFeatures

 * - Use Message::text instead of relying on Message::_toString

CirrusSearch

 * - Do not queue empty other index jobs
 * - Add picture for BetaFeature integration
 * - Cleanup docs in CirrusSearch body class
 * - Move all CirrusSearch hooks into one file
 * - Move BetaFeatures check to hooks called later
 * - Rename $wgCirrusSearchContentReplicaCount to $wgCirrusSearchReplicaCount
 * - Implement per-namespace cross wiki searching
 * - Stop 'store'ing fields
 * - Let Cirrus return the score

DataTypes

 * - update composer file
 * - Added .jshintrc
 * - Updated JavaScript DataType definition

Diff

 * - update composer file

Disambiguator

 * - Adding convenience function isDisambiguationPage

DonationInterface

 * - Save current form to the form stack
 * - More ffname cleanup.
 * - More debug lines near the formchooser logic.
 * - Adding a normalize function for payment method and submethod data.
 * - Revert &quot;Log an obnoxious amount of debug data via the form chooser.&quot;
 * - Log an obnoxious amount of debug data via the form chooser.
 * - Unborking the payments form chooser
 * - Stop trying to pull forms that don't exist. Instead, if there is
 * - Revert &quot;cleanup rapid js base form error handling&quot;
 * - Disabling all form classes other than RapidHTML, and setting

EducationProgram

 * - Fix EducationPage::getConfig
 * - Update EducationPage for change in IContextSource
 * - Update EducationPage for change in IContextSource
 * - Add GENDER support for 'ep-articletable-remarticle-text'
 * - i18n: Adding Persian namespaces
 * - Display correct interface message when adding duplicate institution
 * - Add PLURAL and GENDER support for some messages

Elastica

 * - Update Elastica to 0.90.7

Flow

 * - Gracefully handle errors applying redlinks (wmf7)
 * - Flow is on test2wiki now
 * - When initialized, editor should immediately take text size
 * - update for new Actions button and elements
 * - Introduce tipsy
 * - Make header use *ActionPermissions
 * - run the test in beta labs
 * - Remove duplicated mention notification
 * - Get rid of unused file
 * - Dont allow empty titles

GlobalUsage

 * - Set root job information for purge jobs to avoid excess work
 * - Use FileRepo::findFiles to avoid a bunch of queries

LocalisationUpdate

 * - Fix CodeSniffer errors and warnings
 * - Update the README

MassMessage

 * - Check the spamlist's content format earlier
 * - Add spamlist title inline validation

MobileFrontend

 * - Add PageImages to action=mobileview
 * - Return 404s on MobileHistory without a title
 * - Only show geonotahack beta feature if nearby is enabled
 * - Increase the gap between username and roles in diff
 * - Kill some php notices when $wgDevelopmentWarnings = true;
 * - Fix logout link code to use Userlogout instead of alias
 * - new test for uploading an image
 * - hygiene and appearance
 * - Hygiene: Make use of M.isBetaGroupMember
 * - Override language_urls template data to avoid hook abuse
 * - Beta: Override Special:Contributions and Special:RecentChanges with mobile equivalents
 * - Story 1402: A/B test showing edit guider after user creates an account
 * - HYGIENE: Deprecating @baseFontSize
 * - HYGIENE: Removing FIXME that has been fixed.
 * - Add general errorHandling to VisualEditorOverlay
 * - Prefetch wikitext on summary screen
 * - Regression: Fix file uploads
 * - VE editing on tablets in alpha

MultimediaViewer

 * - Fix another event handler bug
 * - Fix fileLink initialisation
 * - Smoke test for MultiLightbox class.
 * - Add performance logging
 * - Create smoke tests for the LightboxImage class.
 * - Move clearInterface things to mw.LightboxInterface
 * - Fix resize listener leak problem.

OpenStackManager

 * - Add 'puppet status' to Special::Resources
 * - Fix zero/single/plural cases for section headers.

PageImages

 * - Fix parameter description to match the actual behavior

Parsoid

 * - Fix broken HTML-pre serialization
 * - ParserTests: serialize DOM to HTML + reparse in wt2wt/selser modes
 * - parse-js, roundtrip-test.js: Set debugging flags with ParsoidConfig.
 * - Disable proxy for ParsoidCacheRequest
 * - : Configure wiktionary by default as well
 * - : Hard-code Wikipedia rather than MW defaults
 * - Dont suppress newlines around &lt;*include*&gt; in html2wt mode
 * - Cleanup: Removed support for old-style templated attributes.
 * - Some more DOMDiff tweaks (continuation of 4170e8a9) + fixes to WTS
 * - Minor cleanup: Only forward cookie if set
 * - Add a new config option for an API proxy endpoint
 * - : Implement URL link parenthesis heuristic
 * - Tweaks to &lt;p&gt; and &lt;li&gt; sep constraints when surrounded by HTML nodes
 * - Additional DOMDiff tweaks (continuation of 4170e8a9)
 * - parserTests selser-change gen fix: mw:Entity spans are uneditable

ProofreadPage

 * - Allows to keep user as null throw API edit
 * - Fix yet another issue with old IE and Safari versions

Scribunto

 * - Add Malayalam aliases for 828 and 829&quot;
 * - Add .jshintrc file
 * - Use jquery.spinner when console is pending
 * - Add access to Language::fetchLanguageNames
 * - Expose PPFrame::getTitle to Lua
 * - Tracking category for modules saved with errors
 * - Fix a PHP Notice in Scribunto_LuaEngine

SemanticForms

 * - Fix for Special:AdminLinks when using SMW 1.9+
 * - Modified seperation of existing page content with sections in SF_FormPrinter.php
 * - Changed space separating label and checkbox to an nbsp
 * - Removed defaulting for date inputs, which allows for &quot;partial&quot; dates

SpamBlacklist

 * - Add explicit GENDER support in log entry

TemplateData

 * - render: Use 'errorbox' instead of 'error' for on-save parse error
 * - Fix tests to pass after 58a161f in mediawiki/core

Translate

 * - Hide the older requests counter when there are none
 * - I18n fixes for Ie81c507
 * - Show correct requests count on Special:ManageTranslatorSandbox
 * - Fix the grammar of the email message
 * - WIP: Refactor emails and reminders code
 * - Simplify getting the translation language in translation sandbox
 * - Load ULS buttons styles for Special:ManageTranslatorSandbox
 * - Prevent disappearance of user details after using ULS
 * - Refactor failing test
 * - Script for finding number of characters edited for a given number of days
 * - Add dir and lang attribs and autonym class
 * - Preventing duplicate appearance of elements with translations
 * - Documentation for the log entries
 * - TranslatorSandbox: Avoid showing duplicate message about 'no translations'
 * - Clean up the translator sandbox tests
 * - Clean up to sandbox logging
 * - Remove the &quot;blue dot&quot; feature
 * - Remove &quot;null&quot; if there are no existing translations
 * - Load ULS for Special:TranslationStash
 * - Unbreak browser test
 * - Logging accepting and rejecting new users
 * - i18n: fix spelling
 * - Fix associative authors arrays being output
 * - Refactor tests
 * - Add functionality and tests for clearing languages selection
 * - Implementation of older requests selection
 * - Tests for accepting and rejecting users
 * - Simplify SimpleFFS::exists
 * - Handling selecting users with and without translations
 * - Sort the translator requests by number of translations and request data
 * - Correct the order of arguments to addOption
 * - Filter translators by language in Special:ManageTranslatorSandbox
 * - Add test users with different language settings

TrustedXFF

 * - Be slightly more user friendly in generate.php.

UniversalLanguageSelector

 * - Add Lateef and Scheherazade fonts for ckb and fa
 * - Updated Ruby gems
 * - Removing font live preview test
 * - Refactor another live preview scenario

UploadWizard

 * - Fix script error in IE

VisualEditor

 * - Add JSON-&gt;PHP conversion script for i18n
 * - Check InternalList node exists when rendering MWReferenceList
 * - Use the same new toolbar for media and reference dialogs
 * - Add a note to the top of the i18n shim explaining what it is
 * - Rebuild static loaders
 * - Support modules registered from hooks in makeStaticLoader
 * - Rename misspelled variable $parsedMesssages
 * - Combine ResourceLoader::register calls
 * - Fix issues with copy-pasting MWTransclusionNodes
 * - Add recursion to removeHtmlAttribute
 * - Initial re-styling of the toolbar
 * - Strip empty spans after style attributes have been removed
 * - Format MW example HTML
 * - Move removeHtmlAttribute into ve.dm.Model
 * - Re-label the formula inspector to not be LaTeX
 * - Followup 5d7673eb: still adjust width/height when positioning fails
 * - Move resetting of paste state variables to after afterPaste
 * - Allow tables to contain captions!
 * - Add language code to language dialog
 * - Remove ve-pasteProtect class when falling back to clipboardData
 * - Fix paste sequence in Firefox
 * - Put the shim from 9abad038 back (was reverted in b9bbf60f)
 * - Add missing tests to FlatLinearData
 * - Organise Flat/ElementLinearData methods and tests
 * - Sync JSON i18n for 1a5bdd5
 * - Remove references to 'document' in LinearData classes
 * - Check the selection has collapsed after pasting
 * - Revert &quot;Shim for VisualEditor.i18n.php that reads JSON blobs&quot;
 * - Don't select nodes inserted by a dialog, but drop cursor after
 * - Don't move the cursor to the top of the page after closing a dialog
 * - Only strip style attributes on rich paste from VE
 * - Shim for VisualEditor.i18n.php that reads JSON blobs
 * - Add missing specialcharacters messages to JSON blobs
 * - Convert all i18n to JSON blobs
 * - [Browser tests] maintenance for remove parameter/template buttons
 * - Rename big/small stack to undoStack &amp; newTransactions
 * - Add jquery.i18n files and RL module
 * - Text style icon
 * - Followup 418f2606e03b82a5ae0afc853406c7e9f2d1e35f: put &lt;?xml tag back.
 * - mw.Target: Fix document focus scroll bug
 * - Revert &quot;Revert &quot;Remove dual-type support for Languages and Categories&quot;&quot;
 * - [browser test] Headings now include a buffer space
 * - Fix svg sources to start at (0,0) not (-0.5,0.5)
 * - Spell removable and movable using modern English
 * - Set up node-jscs, pass it, and configure in local Gruntfile
 * - Updated Ruby gems
 * - [browser test] Chrome seems to not honor when_present correctly
 * - Show full language names in the MW language dialog
 * - Insert special character tool
 * - Use proper conditional registration for jquery.uls
 * - Revert &quot;Remove dual-type support for Languages and Categories&quot;
 * - Only remove and insert a Category if it's changed
 * - Special character icon
 * - Refactor Transclusion and Meta dialogs to use BookletLayout
 * - Update OOJS UI to v0.1.0-pre (592e1d6401)
 * - Merge getDataFromDom and getModelFromDom
 * - Separate data/metadata split and node tree loops

Wikibase

 * - Fix lua constructor
 * - Prevent triggering 'change' event in claimview
 * - Deferring toolbar controller event handler registration

WikimediaMessages

 * - Changed ZeroRatedMobileAccess to Zero

ZeroRatedMobileAccess

 * - Format proxy names, remove examples that result in HTTP 500 error
 * - Minor formatting fixes
 * - i18n: replace single quote by double
 * - Made RTL common for the whole page