MediaWiki 1.22/wmf6/Changelog

Core changes

 * - support setting Memcached::OPT_SERVER_FAILURE_LIMIT, Memcached::OPT_RETRY_TIMEOUT
 * - Updated Zero extension to latest
 * - Add new hook AbortTalkPageEmailNotification
 * - Update DataValues and Wikibase with improvements to geo data type
 * - [Database] Tweaked LoadMonitor::getLagTimes to further reduce stampedes
 * - Update Wikibase
 * - Revert &quot;Introducing ContentGetParserOutput hook.&quot;
 * - updated to latest zero extension
 * - Update WikiData related extensions for 1.22wmf6
 * - Commit of various wmf-branch live hacks
 * - Refactored WikiPage::updateCategoryCounts to use upsert.
 * - The language used to render SVGs should be definable
 * - Doc fix for MediaHandler::getThumbType
 * - Follow up I6e64a missing global deceleration for $wgHTTPConnectTimeout
 * - Shorten our in-comment urls to the whatwg HTML spec.
 * - RefreshLinks on imagelinks on new uploads to kill tracking cat.
 * - jquery.client: Fix profile of some UAs and add exactMatchOnly param
 * - [LockManager] Made it easier to get both SH and EX locks at once.
 * - Allow setting of connection timeouts for HTTP requests using cURL
 * - Remove unused global
 * - Follow-up 05077dc3740
 * - Remove the $wgHandheldForIPhone config variable entirely
 * - More cleanup when removing accounts with removeUnusedAccounts.php
 * - Added tests for new DatabaseBase::upsert
 * - Introducing ContentGetParserOutput hook.
 * - mediawiki.icon: Move arrow icons to a separate module
 * - User: Clean up coding style and documentation
 * - [Database] Added an upsert function to perform/emulate ON DUPLICATE KEY UPDATE.
 * - Add a script to remove deleted files from storage
 * - remove invalid comment from SkinVector::setupSkinUserCss
 * - invalidparammix/missingparam get the module prefix twice
 * - mediawiki.legacy.ajax: Wrap Sajax methods in mw.log.deprecate
 * - Make headers in FauxRequest case insensitive
 * - Remove occurence of $wgOut in HTMLForm::displayForm's documentation
 * - Cologne Blue: add missing 'undeletethispage' message
 * - Fix api.post call in mediawiki.api.edit.js
 * - Fix edit patrolling in multi Diffs
 * - mediawiki.legacy.ajax: Pass JSHint
 * - doc: doxygen expands tabs to 4 spaces instead of 8
 * - Update messages.inc and rebuild MessagesEn.php.
 * - test: inject autoloader in Maintenance class
 * - LinkCache singleton can now be altered
 * - Throw an exception in ScopedCallback for invalid callbacks.
 * - Cleaned up some Article comments.
 * - remove leftover @embed directive
 * - Migrate Extension:PostEdit interface to core
 * - Do not show empty parenthesis on log entry with no block flags
 * - Fixed trailing slash removal code.
 * - Fixed EZConnect string regex in OracleInstaller class.
 * - Update Parsoid-only tests to reflect shortened typeof
 * - Delete RELEASE-NOTES-1.21
 * - WebRequest::getIP cleanups.
 * - Tooltips for HTMLCheckMatrix
 * - Micro optimization when fetching a magic from cache
 * - tests: resources tests were not being run
 * - Add setting wgLogAutopatrol to toggle logging of autopatrol actions
 * - Update linktrails for Hindi and Odia
 * - Darker labels in new login and create acct forms
 * - Add new parameter $patrolFooterShown to hook ArticleViewFooter
 * - Fixed OracleUpdater::doPageRestrictionsPKUKFix prefix
 * - Oracle: DRCP and persistent connections support
 * - API: Fix chunk upload async mode
 * - Renaming files to follow name conventions
 * - overhaul maintenance/mwdocgen.php
 * - wfIniGetBool: reduce strtolower calls
 * - Allow patrolling page creations from Special:RecentChanges
 * - revert last 'ru' l10n update
 * - Merge 'passwordreset-pretext' and 'passwordreset-text' messages
 * - benefits icon part of background, not float
 * - Check if API enabled before loading dependent JS modules
 * - wikibits: Pass JSHint
 * - wikibits: Wrap jsMsg in mw.log.deprecate
 * - wikibits: Replace checkboxShiftClick globals with dummies
 * - wikibits: Wrap UA and accesskey globals in mw.log.deprecate
 * - Allow setting the ID of the main table in HTMLForm
 * - Give skin more control of OutputPage modules
 * - ApiHelp: Avoid header for example, when there no examples
 * - Customise linktrail for Gujarati (gu)
 * - mediawiki.searchSuggest: Use mw.Api instead of jQuery.ajax
 * - ResourceLoader: Prevent prefixless modules from overwriting others
 * - Add autocreate to addNewUserLogEntry docs.
 * - Newlines should be converted to spaces for IRC feed
 * - RecentChange: deprecate newFromCurRow and loadFromCurRow
 * - Add TitleQuickPermissions hook to Title::checkQuickPermissions
 * - De-duplicate refreshLinks2 base jobs on insert.
 * - Compress PNGs used in new forms
 * - new Create account contributors icon
 * - Avoid changing the global on special pages
 * - Update referenced PHP version in 'normal' README.
 * - tests: group structures tests in their own directory
 * - doc: various updates
 * - Make 'subnet' feature of $wgRateLimits work with IPv6

CentralAuth

 * - Normalized token TTLs and memcached calls.
 * - Add &quot;centralauthtoken&quot; to API

DataValues

 * - Add support for ′ and ″ to the globeCoordinate parser
 * - Fix precision detection in globe coordinate parser
 * - Fix for globeCoordinate's toDegree
 * - trim incoming string values
 * - Stopgap to avoid excessively long string values (backport)
 * - [coordinate.js] Removed GlobeCoordinate's &quot;isValid&quot; function
 * - Implemented time.js parser constructor
 * - Removed globeCoordinate's unused increase/decreasePrecision methods
 * - Removed time.Time's isValid function
 * - Revert &quot;Revert &quot;Revert &quot;Temporary break the phpunit bootstrap file to see if travis reacts correctly to this&quot;&quot;&quot;
 * - Revert &quot;Revert &quot;Temporary break the phpunit bootstrap file to see if travis reacts correctly to this&quot;&quot;
 * - Revert &quot;Temporary break the phpunit bootstrap file to see if travis reacts correctly to this&quot;
 * - Temporary break the phpunit bootstrap file to see if travis reacts correctly to this
 * - Added build failure notifications for #wikimedia-wikidata IRC and my email account
 * - [coordinate.js] Optimized precision handling
 * - Made DataValue::getType static, added tests for both static/instance usage
 * - Revert &quot;Moves wgValueFormatters global definition in MW specific initialization file&quot;
 * - Updated GeoCoordinate's serialize/unserialize methods
 * - Changed globe coordinate type label to &quot;Geographic coordinate&quot;
 * - Renamed &quot;geo coordinate&quot; to &quot;globe coordinate&quot;
 * - Coordinate values of backend and frontend can now exchange precision
 * - Properly implemented JS GlobeCoordinateValue::toJSON and newFromJSON
 * - Added some TODOs and cleanup to globeCoordinate.parser
 * - Moves wgValueFormatters global definition in MW specific initialization file
 * - Properly set globeCoordinate.GlobeCoordinate.prototype.constructor
 * - Minor improvements to DataTypeFactory
 * - [coordinate.js] Renamed coordinate to globeCoordinate
 * - [coordinate.js] Implemented list rotator to set precision
 * - [coordinate.js] Refactored precision handling
 * - [coordinate.js] Correctly assigning coordinate variable
 * - [coordinate.js] Implemented coordinate expert widgets
 * - [coordinate.js] Implemented &quot;coordinateinput&quot; widget
 * - Removed unnecessary usage of QUnit.newMwEnvironment in QUnit tests
 * - proper usage of global &quot;time&quot; in timeexperts.TimeInput.tests.js
 * - [coordinate.js] Implemented coordinate value parser
 * - [coordinate.js] Implemented coordinate data value
 * - [coordinate.js] Implemented equals function in Coordinate prototype
 * - [coordinate.js] Implemented iso6709 function in Coordinate prototype
 * - [coordinate.js] Implemented isValid function in Coordinate prototype
 * - [coordinate.js] Basic Coordinate object QUnit tests
 * - [coordinate.js] Basic parser QUnit tests
 * - [coordinate.js] Added QUnit tests for basic coordinate.js methods
 * - [coordinate.js] Refactored precision texts handling and added tests
 * - [coordinate.js] Added documentation
 * - [coordinate.js] Formatted files according to coding style guidelines
 * - [coordinate.js] Import of coordinate.js
 * - Refactored valueview preview into its own widget
 * - Minor cleanup of time.js
 * - Fixed paths in test suite config
 * - Added README in the repo root
 * - Updated travis config file to run the tests of all components in this git repo
 * - Added phpunit.xml file for all projects in the repo
 * - Added missing dependency of TimeInput expert
 * - Added Travis CI config file
 * - Basic toggler widget tests
 * - Input extender: Listening to &quot;animationstep&quot; event
 * - Always resize StringValue expert input element
 * - List rotator widget: Assigning position absolute to menu
 * - Input extender widget: Removed obsolete stopPropagation

Diff

 * - Added build failure notifications for #wikimedia-wikidata IRC and my email account
 * - Added @throws docs
 * - Added ArrayComparer interface
 * - Added testErrorOnUnknownDiffOpType to MapPatcherTest
 * - Removed impossible to test else case, only there for legacy reasons, from Diff
 * - Remove ListDiff::newEmpty
 * - Added FIXME to broken code
 * - Added ThrowingPatcherTest to test throwErrors and ignoreErrors
 * - Added testPatchMapRaisesError to ListPatcherTest
 * - Added test for line 135 of MapPatcher
 * - Updated build status to point to auto updated travis project
 * - Ignore class autoloading in entry point in unit test coverage report
 * - Added and fixed patcher tests and two uncovered bugs
 * - Added @covers tags for AtomicDiffOp
 * - Added @covers tags for ThrowingPatcher
 * - Got rid of DiffOpTestDummy
 * - Added tests for Diff getAddedValues and getRemovedValues

DonationInterface

 * - Allowing the OrderID for Adyen to be Resurrected
 * - Changes for SmashPig/Adyen!
 * - Fixing minor issues with testing code
 * - Fixing RTBT Methods that were two step

FlaggedRevs

 * - Respect content model for viewing stable versions.

Math

 * - Set menuSettings.locale
 * - MathJax Localization: Remove language menu
 * - MathJax: Support localizations of MathJax
 * - Calculate HTTP POST data in separate method for debugging

OpenStackManager

 * - Remove duplicate cores quota display
 * - Add Display Quotas action to Special:NovaProject
 * - Fix a bug with trimming 'local-' from the requested service group name.

PageTriage

 * - Undoing temporary revert of new PageTriage code for deployment
 * - Temporary revert of PageTriage for wmf deployment

RelatedSites

 * - Correct the id for related sites sidebar

Score

 * - Pass length of ogg file to TimedMediaTransformOutput

TemplateData

 * - ApiTemplateData: Expose root description property

TimedMediaHandler

 * - set last error if job fails
 * - Mark active transcodes running for to long as failed
 * - Pop up videos set the autoplay attribute to true
 * - Fix format detection for for video only files
 * - Allow registered users to reset transcodes

Translate

 * - Do not commit updates to the index immediately
 * - Break long line
 * - Get rid of some ugly globals
 * - Get rid of some ugly globals
 * - Get rid of some ugly globals
 * - Filter group from Special:LanguageStats when group is not a priority language
 * - Update formatting
 * - Remove list of message groups from api documentation

Vector

 * - Fix JSHint warnings:

VisualEditor

 * - Image insertion
 * - For performance reasons use classes collection instead of jQuery.hasClass
 * - HACK: Update template dialog for Parsoid's url -&gt; href change
 * - Hack around exceptions thrown when closing the reference dialog
 * - Let's not put slugs around lists because there is no such need.
 * - Fix freaky disappearance of template nodes
 * - Prevent scrolling in top-level window while dialog is open
 * - Remove tests for OOJS methods
 * - Meta dialog messages were left in experimental mode
 * - Fix vewhitelist override.
 * - Pending input refactor
 * - Fixing resize handle size
 * - oojs: Integrate with OOJS v1.0.0
 * - mw.ViewPageTarget: Clean up transform/restore logic
 * - Code style fixes: 'function(' =&gt; 'function ('
 * - Fix API request for language links
 * - Give users a read-only view of language links
 * - Fix protectedness of MWReferenceList
 * - Fix deactivate
 * - Really fix notices sometimes not being an array
 * - Tolerate JSON stringify screwing up
 * - mw.ViewPageTarget: Make tabLayout configurable server-side
 * - 'typeof' for templates changed in Parsoid, it is 'Transclusion' now and used to be 'Object/Template'
 * - Update reference lists and inline numberings automatically.
 * - Make the mwMeta dialog trigger a toolbar action, not a button
 * - ve.dm.MWBlockImageNode: Make toDomElements add more information to its output so round-tripping can work properly.
 * - ve.dm.Converter: Fix too-much-ascending bug in Converter.
 * - Consistency
 * - Rename character to (grapheme) cluster when dealing with unicode.
 * - Fixes to permaturely merged browser compatibility checks
 * - Message documentation for visualeditor-browserwarning.
 * - Fix double width border between toolbar and surface in dialog.
 * - Unit tests for browser compatibility list
 * - Implement new browser compatibility checks
 * - ve.ce.Document: Introduce getRelativeRange method
 * - makeStaticLoader: Incorporate hardcoded changes and re-sync
 * - Implement Grunt support (grunt jshint,csslint,qunit,watch)
 * - Add .csslintrc file and fix remaining warnings
 * - jshint: Fix trailing comma
 * - Proper support for frame images (do not display magnify icon).
 * - Store DM nodes in InternalList
 * - Make it clear in the labels that this is for sorting
 * - ve.ui.MWTemplateDialog: Implement inferring of template data
 * - Unwrap excess &lt;p&gt;s in inline template rendering
 * - Use grapheme clusters in unicodeJS.TextString
 * - ve.debug: Document why we use global Function#apply+Function#call instead of method.apply
 * - Now we've got PHPCS switched on, kill long lines
 * - JS and PHP code style fixes
 * - Fix demo to convert annotation indexes to actual annotations
 * - Convert GeneratedContentNode into a mixing (instead of an abstract class).
 * - Add icon option to ve.ui.TextInputWidget
 * - Add search icons
 * - Template dialog cleanup
 * - Add support for editing multi-template nodes
 * - Compare objects/arrays fix
 * - Add class mw-figcaption to figcaption tag inside mwimage
 * - Adjust coverter getDomSubtreeFromData method call inside ve.dm.MWBlockImageNode to pass correct arguments (there was an API change).
 * - Fix internal node weirdness
 * - Add tests for ve.dm.InternalLists
 * - Use config object for ve.ui.PagedDialog.addPage optional args
 * - A fix for arrow movements in RTL wikis.
 * - Fix resizable nodes
 * - Naming typo and mw content in demo
 * - Cleanup internalList method names and data stores
 * - Make menus render on the very top of everything
 * - Treat acronyms like words in camel case names
 * - Consistent use of mw in HTML classes, and data element and annotation types

Wikibase

 * - Skip changes in client change handling that with unknown data type
 * - Handle failure to deserialize entity in lua
 * - Hotfix: Make Special:SetSiteLink not set already used Links
 * - parse the copyright message in EntityView
 * - handle exception for unknown data type when formatting PropertyValueSnak
 * - Split EntityPerPage rebuilder code into separate class
 * - Change EntityId::getType to be static
 * - Take globe coordinate data type support out of experimental mode
 * - Renamed &quot;geo coordinate&quot; to &quot;globe coordinate&quot;
 * - Make the intro and rights message consistent in special pages
 * - Use correct plural form
 * - Corrected string and text description
 * - Correct message so it is using plural parser function
 * - Remove query message
 * - Move code for injecting the edit/add links link into class and add tests
 * - add permission, block and read only checks for Special:ModifyEntity
 * - Moving entity operations into separate ChangeOps
 * - Add .jshintrc for Wikibase and make it pass
 * - do null check for invalid site, instead of false
 * - Basic EntityView PHPUnit test
 * - show correct diff revision id in diff view
 * - new Special:SetSiteLink
 * - EntityView::getHtmlForClaims separation into getHtmlForClaim
 * - Inject value formatters into EntityView instead of using global in EntityView
 * - Proper formatting of values in EntityView
 * - Selenium tests for setSitelink special page
 * - This API action is wbcreateclaim but examples were saying action=createclaim
 * - Trigger redirect based on content negot.
 * - Added exception that is thrown when getting an invalid property id
 * - Added InternalEntityIdInterpreter
 * - Fix test which is broken when running Wikibase without ULS
 * - Remove some dead prototyping code
 * - Fix action=purge for Special:EntityData
 * - Removed unused import
 * - remove hardcoded &quot;ERROR: TODO: ...&quot; output from TypedValueFormatter
 * - Allow wikipedia subdomains in Special:ItemByTitle.
 * - Added EntityUpdater
 * - Hooked up EntityRemover to lower level components
 * - Fix incorrect code after merge
 * - Register ALL of the tests in the MW test runner hook
 * - Added EntityRemover
 * - json decode value for addQualifier in SetQualifier api module
 * - Move Set and RemoveQualifier api modules out of experimental
 * - Implemented ValuelessSnakStore-&gt;removeSnaksOfSubject
 * - Implemented ValueSnakStore-&gt;removeSnaksOfSubject
 * - Fix fetching of a TableBuilder after it got moved about
 * - Fixed callback usage in ClaimDiffer and added tests
 * - Fixed testPatch in EntityTest
 * - Added test config and bootstrap for the DataModel component
 * - Remove reference to old config file from travis.yml
 * - Use phpunit config file to work around phpunit bug in the travis build
 * - Added Travis CI config file
 * - getInternalIdForEntity now takes an EntityId rather than its components
 * - Added SnakRemover
 * - Remove useless information from the client SiteModule
 * - Remove EntityTable from EntityInserter
 * - Removed unused import in EntityInserterTest
 * - Fixed some docs in EntityInserter
 * - Removed unused import in EntityInserter
 * - Remove not needed code from evil MW loader
 * - Added @covers tags to unit tests of the QueryEngine component
 * - Checking for valid qualifiers in claimview
 * - Unset language specific aliases set when removing the last alias
 * - Adds a link to corresponding Wikibase Item to action=info
 * - Triggering &quot;animationstep&quot; event in snakview value variation
 * - Dismiss copyright warning in Selenium tests
 * - Added additional sleep on RC load in Selenium tests
 * - Fixed failure in Selenium test due to bubble animation
 * - Use dbKey in query of Special:UnconnectedPage
 * - hide the view source tab for item and property pages
 * - Added evilMediaWikiBootstrap.php so the WikibaseDatabase test runner can also run the MW dependent tests
 * - Take care of TableBuilder TODO in QueryEngine component
 * - Have insert in QueryInterface throw an exception rather then returning a boolean
 * - Added InsertFailedException
 * - Deprecated and removed some getPrefixedId usage in the DataModel component
 * - update and delete methods in QueryInterface now throw exceptions rather then retruning a boolean
 * - Added DeleteFailedException
 * - Added UpdateFailedException
 * - Change EditEntity status failure from session-failure to sessionfailure
 * - Add @throws to QueryInterface interface
 * - Updated depenedencies in composer.json

cldr

 * - Parsing and using currency-related data in cldr that we hadn't previously touched.