MediaWiki 1.22/wmf4/Changelog

Core changes

 * - Added a --profiler option to all maintenance scripts.
 * - De-duplicate refreshLinks2 base jobs on insert.
 * - Bump GuidedTour for E3 deployment
 * - Bump GettingStarted for E3 deployment.
 * - Removing prefix exception for HTMLCheckMatrix
 * - Updated Zero ext to latest
 * - Actually update $lastTime in runJobs.php
 * - Reverting deployment of ZeroRatedMobileAccess to before Ie930d96980a8bcf
 * - Fix for wrong prefixing of multi checkbox
 * - Updating to last zero ext
 * - Updating to last zero ext
 * - Up OpenStackManager version for sudo/secgroup fix
 * - HTMLCheckMatrix support for forcing options on/off
 * - Bump GettingStarted for E3 lightning
 * - Update Wikibase
 * - Blank some new Create account messages by default
 * - Reposition nested FancyCaptcha, conditional help.
 * - Make checkUsernames.php use batches
 * - Update: Adding aa_method to AccountAudit
 * - Bump GuidedTour for E3 deployment.
 * - Update Wikibase with patch for SpecialEntityData
 * - Update Wikibase, DataValues and Diff
 * - Revert &quot;Update Wikibase, Diff, DataValues&quot;
 * - Fixed bug where FORCE INDEX did not make it to the SQL.
 * - Update Wikibase, Diff, DataValues
 * - Up version of OpenStackManager to use new project filter
 * - Update OpenStackManager for HTMLForm label change
 * - Update OpenStackManager to fix echo messages
 * - Pull in cherry-pick in SMW to fix security issue
 * - Up version of OATHAuth to bring in security fixes
 * - Fixed bug in LocalFile::isCacheable.
 * - Fixed LocalFile::isCacheable to account for object type metadata.
 * - Update VE to fix category bug
 * - Commit of various wmf-branch live hacks
 * - Prevent overflow in the footer when there are no links
 * - Added missing continue to avoid fatal error.
 * - Escape URLs in XML files created by generateSitemap.php
 * - Change default importImages comment to &quot;Importing file&quot;
 * - Variable $wgRestrictionLevels unused since 1cbaa921
 * - Made copyFileBackend.php skip files that cannot be copied instead of stopping.
 * - Add $wgCascadingRestrictionLevels
 * - Fix unit tests when $wgEmailAuthentication is set to false
 * - Don't shown red box around unconfirmed email address in preferences if authentication is disabled
 * - Message changes for new login form
 * - Fix --file parameter description in MediaWikiPHPUnitCommand.php
 * - Add identifying info (img_timestamp and img_sha1) to upload log.
 * - [FileBackend] Moved short-circuit check from 6b1194b9 up to FileBackend.
 * - [FileBackend] Optimize the case were no operations are provided.
 * - Add value to add call when locking
 * - tests: mock parser tests file access
 * - Change EXIF to Exif
 * - CREDITS: Spell my name right
 * - Removed unused join array from ActiveUser conds.
 * - Increasing z-index of personal toolbar from 1 to 100
 * - echo is not a function
 * - [FileBackend] Cleaned up resyncFiles and added conservative resync option to FileBackendMultiWrite.
 * - Add attributes to the Parsoid-only tests.
 * - print is not a function
 * - Fixed spacing
 * - [FileBackend] Added &quot;adviseStat&quot; option for the &quot;listing followed by stat&quot; case.
 * - phpcs: Fix WhiteSpace.LanguageConstructSpacing warnings
 * - Remove hphpc support and deprecate related functions
 * - Add content model to prop=info
 * - tests: Don't set wgStyleSheetPath in addition to wgStylePath
 * - parserTests: fix broken parsoid-only tests.
 * - skin: Revert font-weight on successbox and move to preferences
 * - [FileBackend] Process cache negatives for SHA1 on file stat.
 * - mw.config: Add wgPageContentModel for content model of current page
 * - Fix I720946e7: $this-&gt;opts['year'] shouldn't be modified.
 * - mediawiki.user: Use session ID instead of 1-year cross-session cookies
 * - Update docs/skin.txt
 * - Use __METHOD__ for default $fname params to database functions
 * - Add note that wgActiveUserDays affects the NUMBEROFACTIVEUSERS magic word.
 * - Fix I25cf5a94: It should be @since 1.21 now.
 * - qunit: Use jQuery.getScript instead of document.write
 * - Removing exception in case rev is null
 * - Adding check to make sure rev isn't null
 * - Add test for comment-only line followed by a template transclusion
 * - mediawiki.action.edit: Support dynamically inserted form fields
 * - Update SearchEngine::searchText and SearchEngine::searchTitle return type hints
 * - Move DEADLOCK_* constants into DatabaseBase
 * - Remove pointless vertical alignment
 * - Remove SkinLegacy.php
 * - Remove taint support
 * - Refactored Special:ActiveUsers queries to remove filesort/temp table.
 * - Revert &quot;Fixed behavior of Title::invalidateCache.&quot;
 * - Fixed behavior of Title::invalidateCache.
 * - Revert &quot;Remove Special:ActiveUsers&quot;
 * - Adding GetNewMessagesAlert hook and wgUserNewMsgRevisionId JS global
 * - Fix visibility of error handlers
 * - Code style fixes in Language::isValidCode
 * - Include user name in weird User insertion exception.
 * - Kill some references to legacy skins
 * - mw.hook: Implement callback framework
 * - Fix bootstrap in unit tests
 * - Pass correct number of parameters to Database constructor from installer
 * - Make Special:MovePage's &quot;Reason&quot; field an input, not a textarea
 * - deleteEqualMessages: Include list of pages in dry run
 * - jquery.makeCollapsible: Enable passthru for links in premade toggle
 * - SpecialPreferences: Remove invalid &lt;strong&gt; tag in successbox
 * - Implement mw.log.warn and mw.log.deprecate
 * - mediawiki.log: Add to jsduck index
 * - Monobook: Remove OperaNFixes.css files
 * - Partly disable title conversion if variant == main language code
 * - Cache result of Language::isValidCode to avoid regex processing
 * - Allow iiurlheight to be used without iiurlwidth
 * - SpecialRedirect: Add @since documentation and add release notes
 * - mediawiki.htmlform: Use auto width for Chosen selects
 * - Change font size for edit links to small
 * - Exclude external_user table in DatabaseSqliteTest
 * - Import: Fix incorrect wfRunHooks usage
 * - Remove Parser_LinkHooks and CoreLinkFunctions classes
 * - qqq docs for installer mysql warning
 * - mediawiki.htmlform: Preserve classes added by HTMLForm's cssclass option
 * - jquery.badge: Add CSS inline-block fix for IE 7 and earlier
 * - Completely blacklist Opera Mobile from RL
 * - Fix IndexPager detection of &quot;is first&quot; state
 * - rebuildLocalisationCache: Implement --lang option
 * - Message tweaks to new login and create acct forms
 * - Added a --backoff option for syncFileBackend.php
 * - Reduced memory usage a bit for copyFileBackend.php with --missingonly.
 * - HTMLForm entity labels are now optional and escaped
 * - Remove LocalisationCache::unloadAll call from NewParserTest::addDBData
 * - Add PLURAL support to benefits
 * - Clarify wfRandomString release note
 * - Add hook AbortChangePassword to Special:ChangePassword
 * - Add combined link trail / link prefix parserTests case.
 * - SECURITY: Check SVG xml encoding against whitelist
 * - Update language maintenance files
 * - ApiResult::setContent is static
 * - Monobook: Remove unused file FF2Fixes.css
 * - skins: Ensure headings are not smaller than body text
 * - Reimplement Special:Filepath as a redirect through Special:Redirect/File.
 * - Create a Special:Redirect page.
 * - Allow specifying change type of Wikipedia feed items
 * - vector: Remove useless HTML comments from output
 * - Remove spurious 'h7' in commonPrint.css
 * - Add new message key to maintenace file
 * - Clean up the class building logic in OutputPage
 * - Add chosen support to HTMLForm's multiselect field
 * - Call jQuery.ready before &lt;/body&gt;
 * -, : Improved vector button styles for jquery.ui
 * - Revert &quot;Update wikidata extensions to versions in 1.22wmf2&quot;
 * - Make Buryat (Russia) (буряад) (bxr) fallback to Russian
 * - Update wikidata extensions to versions in 1.22wmf2
 * - Factorise call to getSuggestedDurations in SpecialBlock::getFormFields
 * - Use 'recent contributors' instead of 'contributors this month'.
 * - Show a tip at the end of the installer to prompt about extensions
 * - Detect user rights conflicts
 * - HTMLTextAreaField: Allow sizes to be overridden by child classes

AbuseFilter

 * - 3

ArticleFeedbackv5

 * - Show Protect Feedback (action=protect) for pages in whitelisted namespaces only
 * - Claim anon feedback after sign up
 * - Clicking 'donate to Wikipedia' gives no warning message before leaving the page &lt;OH-AFT&gt;
 * - Add AbuseFilter-feature to auto-resolve feedback
 * - Disable useless inputs on protection form
 * - Fix over-escaping on protect-othertime message
 * - Don't let AFT set unsupported groups
 * - If there's feedback, show talk-page link (regardless of AFTv5 being en/disabled)
 * - Casting lottery to int makes it impossible to have e.g. 0.1 lottery size (which dewiki has)
 * - Don't add 'suppress' to $wgLogTypes
 * - Tooltip to clarify the remove flag action
 * - Wiki links in notes are not clickable on the detail page
 * - Change addHolder calls to addHolders as per change in AbuseFilter
 * - Config var was confusing; all others are ArticleFeedbackv5 prefixed
 * - cleanup
 * - No need to cache lb's, they're cached in LBFactory classes already.

CentralAuth

 * - Don't log autocreations twice
 * - Fix spelling of JavaScript
 * - Split date and time in running sentence
 * - Log account autocreation on manual login

CentralNotice

 * - Set LandingPages value on page load

Cite

 * - Adding bidi-isolation to reference numbers

DataValues

 * - trim incoming string values
 * - Stopgap to avoid excessively long string values (backport)
 * - tests for TimeInput expert
 * - Extends QUnit.parameterize to take a callback providing the test cases
 * - Added test for valueview experts in general and StringValue expert specifically
 * - Introducing jQuery.valueview.MockViewState
 * - Introduction of valueview expert for time value handling
 * - Introduction of TimeParser for TimeValue data value type in JavaScript
 * - Introduction of TimeValue data value type in JavaScript
 * - Added time.Time.newFromIso8601
 * - Added a &quot;isValid&quot; function for time.Time
 * - Splits time.js in several files (added &quot;time.Time.js&quot; and &quot;time.Time.parse.js&quot;)
 * - Formatted time.js according to our coding guidelines
 * - Import of time.js
 * - Added tests for jQuery.valueview.ExpertFactory
 * - DataType constructor taking DataValue constructors as 2nd argument now
 * - Added QUnit tests for DataType constructor and instances
 * - Introduction of qunit-parameterized for usage in QUnit tests
 * - Restores DataValues.tests.js as dataValues.tests.js
 * - Reorganization of DataValues extension's JS resources
 * - Convert explicitly to float
 * - Remove parsing logic from GeoCoordinateParser and use new format specific parsers
 * - Added DdCoordinateParser
 * - Added DmCoordinateParser
 * - Added FloatCoordinateParser

Diff

 * - Introduced ValueComparer interface

DonationInterface

 * - Nuking recaptcha as cruft that hasn't been used in at least two years on payments.

Echo

 * - Slightly reducing badge and alert sizes
 * - Switch to using our own badge instead of jQuery.badge
 * - Adding explicit prefix so we don't have to have an exception in prefs
 * - Add EventLogging to capture Echo preference change
 * - Making bolding behavior consistant in page link notification
 * - Notification agent whitelist and blacklist
 * - Copy tweaks to Echo Notification Emails
 * - Date comparison should include year
 * - Make return type consistent
 * - Link directly to the edited section from edit-user-talk events
 * - Add missing dependency on mediawiki.util.
 * - Echo should not implicitly commit other transaction
 * - Broken link in plain text email notification
 * - For non-bundled page-link flyout notifications, link to article
 * - Do not write to storage if read-only mode is on
 * - Disable unavailable notification checkboxes

FlaggedRevs

 * - Fix grammatical error
 * - Remove all caps from review-edit-diff

GettingStarted

 * - Remove split test (everyone is test) and bump version to 3.
 * - Bump logging version to 2.
 * - Determine page name without red-link-title. Use href and title
 * - Improvements and fixes for GettingStarted logging:
 * - Fix jshint onevar warning.

GuidedTour

 * - Minor tweaks to recent logging change
 * - Preserve exception when logging, as suggested by S.

LiquidThreads

 * - Fix new messages count update on marking threads as read from Special:NewMessages

Math

 * - rename MathSourceTest::simpleTest-&gt;MathSourceTest::testBasics
 * - MathJax: Support the texvc command \vline
 * - Introduce getter and setter for the MathRenderer
 * - Remove dead config variable, wgMathJaxUrl

OATHAuth

 * - Switch to using AbortLogin hook for tokens

OpenStackManager

 * - Fix security group fetching from nova api
 * - Add &lt;displayname&gt;.&lt;domain&gt; to each sudoer host.
 * - Added getDisplayName and getFullyQualifiedDisplayName
 * - Clean up a couple of bad calls to printDebug.
 * - Add a custom submit text for the project filter
 * - Fix qqq for previously renamed echo messages
 * - Use jquery.chosen for the project filter
 * - Use label-raw for puppet groups in configure form
 * - Update echo preference message labels
 * - Fix another projectname reference
 * - Fix role checking for users
 * - Limit some NovaProject actions to projectadmin
 * - Revert &quot;Allow any project member to create a service group.&quot;
 * - Declare mediawiki.api as dependency for ext.openstack module
 * - Allow any project member to create a service group.
 * - Search for projects using ldap_list, part two.
 * - Provide JS model and methods for instances
 * - Add API action for instance reboots

PageTriage

 * - NewPagesFeed: Fix layout bug with &quot;Sort by&quot; in Chrome
 * - pagetriage-add-deletion-tag should fall under negative group

ProofreadPage

 * - Add Ukrainian namespaces
 * - Add Thai namespaces
 * - Update code to match MWSearch updates, fixing fatal

Score

 * - Fix undefined variable warning

Scribunto

 * - Fix edge cases in mw.ustring.find, mw.ustring.match

SecurePoll

 * - Make voterList output at least some text

SemanticForms

 * - bugfix (Storing several pages in a loop creates only one page)
 * - (JS modules not loaded for transcluded RunQuery forms)
 * - Fixed bug when $options array was empty in $select DomElement at SF_AutoeditAPI.php
 * - Extended Page Schemas integration
 * - Semantic Forms: Display error message when Special:EditForm accessed by itself

TemplateData

 * - TemplateDataBlob: Improve error handling
 * - TemplateDataBlob: Implement 'type' and 'label'
 * - spec: Update 'type' documentation following 2013-04-30 discussion
 * - TemplateDataBlob: Don't add class &quot;sortable&quot; to HTML rendering
 * - TemplateDataBlob: Convert 'clones' to 'inherits'

Thanks

 * - Thanks notif should fall under positive group

TimedMediaHandler

 * - Fix manually setting duration/offset without file.
 * - add maintenance script to retry failed transcodes

Translate

 * - Update tab links as well when updating page location dynamically
 * - Update statsbar when changing group
 * - Rename this.$group to this.$trigger for clarity
 * - Apply dir and lang to the target language selector trigger
 * - RTL proofread action icons are needed
 * - Load check warnings for fuzzy messages before user starts typing
 * - Small cleanups
 * - Remove tooltip for groups from group selector
 * - Use whitelist instead of blacklist for translate tab group
 * - Fix project icon raster thumb urls
 * - Change &quot;description&quot; to &quot;documentation&quot;
 * - Update the reminder text
 * - Restore compatibility with MW 1.20

UniversalLanguageSelector

 * - Update strings
 * - Reduce rerenderings in input settings
 * - Update from upstream

Vector

 * - gitignore: Add .DS_Store

VisualEditor

 * - Fix categories with multiple ../ in their hrefPrefix
 * - ListAction tests
 * - Fix indent action when acting on multiple list items
 * - Fix inability to split lists
 * - Optimise code for first/last child detection in fixupInsertion
 * - Fix unindent action when acting on multiple list items
 * - Don't use VE on non-wikitext pages
 * - Use consistent capitalisation of Html
 * - Access keys for edit and edit source
 * - Add ve.properOuterHtml
 * - Fix breaking getLength call
 * - Fieldsets and default sort keys
 * - Switching back to Rangy 1.2
 * - Output a nice message when the diff is empty
 * - Ignore certain function keys in key press handler
 * - Edit and Edit source tab were reversed in RTL in the Vector integration
 * - Clean up variable initialization in setupSkinTabs
 * - Remove hack for old version of Parsoid
 * - Use pageLanguage rather than pageViewLanguage for the surface's lang&amp;dir
 * - Make reference list nodes render contents again
 * - Whitespace between unwrapped inline nodes assigned to paragraph
 * - When removing an empty list item, also remove the list if it's now empty
 * - Reduction of renderContents calls
 * - Kill getOffsetFromNode with fire
 * - Category UI improvements
 * - Move completeHistory from dm.Surface to dm.Document
 * - Clone template dom elements being sent to converter
 * - Mo' vectors (mo' problems)
 * - Fixing shields
 * - ViewPageTarget: Bind callback in onSerialize like in onShowChanges
 * - Also render attributes of the form html/i-j/attrName in CE
 * - Preserve HTML attributes recursively
 * - Convert DOM elements to stringifiable objects for reporting
 * - Do proper HTML preservation in ve.dm.MWReferenceListNode
 * - ve.test: Import K-JS test suite for object utilities
 * - Fix ContentBranchNode test broken by ve.ce.ProtectedNode
 * - Make .static.storeHtmlAttributes more versatile
 * - ve.ce.FocusableNode: Fix documentation
 * - ve.isMixedIn: Fix bugs and add unit tests
 * - ve.ce.ProtectedNode
 * - Context menu in wrong place
 * - Configurable insertion annotations
 * - Fix insertion annotations
 * - Code style fixes
 * - Use a smarter comparison of annotations when creating open/close tags
 * - Hack MWTemplate so it also does partial type matches
 * - Force about grouping for multi-element about groups
 * - Adjust binding to section edit links after changes in core
 * - Fix placement of whitespace when element ends in meta
 * - Update oldid on successful page save (if a new id is generated)
 * - Edit source tab should be 'selected' when... selected
 * - Show message 'anoneditwarning' in notices when applicable
 * - EventEmitter API cleanup
 * - RTL fix for VE's link widget
 * - GeneratedContentNodes store DOM elements, not HTML (like aliens)
 * - Make ve.ce.Surface.getSelectionRect tollerate browser bugs
 * - Add support for &lt;div&gt;s as user-editable blocks
 * - When annotating, skip any branch nodes that are content
 * - Also respect .static.renderHtmlAttributes when rerendering for attribute changes
 * - Remove all code related to change markers
 * - Allow merging of content nodes with nodes that can contain content (but are not content themself)
 * - docgen: Use new jsduck --color and --warnings-exit-nonzero option
 * - Move Phantoms onChange
 * - Category editing
 * - Remove singular adding for ve.ui.GroupElement
 * - Implement ve.dm.Surface#truncateUndoStack
 * - ve.ui.LookupWidget
 * - Fix range translation for surface fragments
 * - makeStaticLoader: Implement --write-file option
 * - Declare dependency on jquery.client in ResouceLoader and static loader
 * - makeStaticLoader: Add ext.visualEditor.experimental to dependencies
 * - Make loading VE work on Opera again
 * - Per Timo's comment, change $.makeArray( foo ) to foo.toArray
 * - Get back to where you once belonged
 * - ve.ce.Surface.getSelectionRect might return null

Wikibase

 * - Check for property id exists in ByPropertyIdArray
 * - Catch property not found exception in snak formatter
 * - move ob_start in special entity data
 * - add ob start and end flush to SpecialEntityData
 * - Point easyrdf submodule to gerrit repo
 * - Fix module name in selenium test
 * - Selenium tests for correct revisions in diff/history view
 * - Adding valueview qunit tests to be executed automatically
 * - Making selenium test for &quot;include property by label&quot; non-experimental
 * - improved RDF mapping using schema.org
 * - Fix get entity usage index store function
 * - Fix access to SiteLinkTable in client hooks
 * - Use EntityUsageIndex on the client.
 * - Abstraction layer for usage tracking.
 * - Enable Special:EntityData in production.
 * - Converting hard coded strings in diff view to i18n values
 * - Move RDF stuff into separate directory.
 * - EntityView support for TimeValue data values
 * - Experimental config switcher for WMF Jenkins jobs
 * - Fix incomplete tests
 * - (hotfix) fixing SpecialWikibasePage
 * - Refactor RDF mapping, added support for sitelinks.
 * -, ) RDF for Special:EntityData
 * - Add entities to watchlist.
 * - use terms table to access props by label
 * - Fix LangLinkHandlerTest to use spaces, not underscores
 * - Added a function getRightsWarningMessage to Utils
 * - Fix DispatchStatsTest and EntityChangeTest
 * - Adding and applying a new icon for the snak type selector
 * - Allow client to access the repo's terms table.
 * - Made SetupTest run without actually accessing a real database
 * - Make Database component tests work without a MW setup and without MySQL
 * - Move test into other namespace to prevent fatal and added FIXMES
 * - Another attempt to make the tests run on Jenkins
 * - Do not load Client in test entry point file as else it is completely broken
 * - Import classes rather then using FQNs
 * - Fix issues in Entity::patch
 * - Cleanup of edit-conflict Selenium test
 * - adding a first ontology file, mostly as a placeholder
 * - Moved class registration of WikibaseRepo extension into dedicated file
 * - Show correct revision of entity when viewing an old revision
 * - Remove underscores in SiteLinkLookup::getItemIdForLink
 * - Pass language from property parser function to entity id label formatter
 * - Simplify two English messages
 * - Mark Selenium test for including property by label as experimental
 * - Attempt fix for the linkitem selenium tests
 * - Deprecate Settings class
 * - Move classes from lib to DataModel, as they are directly needed in DataModel and not in lib

WikimediaMaintenance

 * - Add EducationProgram to createExtensionTables
 * - Add Wikidata and Commons to sister projects
 * - Rename core tables too