MediaWiki 1.27/wmf.2/Changelog

Core changes

 * - Enable PSR2.Methods.MethodDeclaration.Underscore
 * - Reenable LineLength phpcs check
 * - Fix long line to make phpcs pass
 * - Added @since to Database
 * - Add User-Agent support to MultiHttpClient requests
 * - Sort MWNamespace::getValidNamespaces list numerically
 * - objectcache: Add BagOStuff::getWithSetCallback convenience method
 * - Break numerous long lines in InfoAction
 * - Make WANObjectCache sets account for slave lag
 * - objectcache: Add BagOStuff::READ_VERIFIED flag to get
 * - Title: Fix @param for TS_MW to be string instead of int
 * - Fix DatabaseSqlite::__toString
 * - Database debug log cleanup (remove wgDebugDumpSqlLength/wgDebugDBTransactions)
 * - Remove mismatched COMMIT from FileDeleteForm
 * - resourceloader: Tiny optimization to ResourceLoader::isValidModuleName
 * - mw.widgets: Split CategorySelector widget to its own module
 * - Add null to @return tags if a method can return null
 * - mediawiki.jqueryMsg: Always parse messages with '&amp;'
 * - mediawiki.jqueryMsg: Refactor handling of replacements/parameters in links
 * - Update various @params from DatabaseBase to IDatabase
 * - Remove setting of $wgReadOnly in LBFactoryMulti
 * - Cleanups to MigrateFileRepoLayout
 * - Clean up Special:Undelete read-only checks
 * - Remove return value from FormSpecialPage::checkExecutePermissions
 * - Start rename of DatabaseBase =&gt; Database
 * - Make generalizeSQL protected
 * - Fix DatabaseMysqlBase.php IDEA errors
 * - Converted DatabaseBase::mTrxAtomicLevels to an array
 * - resourceloader: cache minified user and site modules
 * - Remove ?maxlag check in index.php
 * - Rename ObjectFactoryTest_Fixture to camel case name
 * - Enable MediaWiki.NamingConventions.PrefixedGlobalFunctions.wfPrefix
 * - Enable Generic.WhiteSpace.DisallowSpaceIndent.SpacesUsed
 * - Fix the last Generic.Files.LineLength phpcs failures
 * - Fix remaining Generic.Files.LineLength failures
 * - Fix Generic.Files.LineLength phpcs check under phpunit/includes/api
 * - Fix ObjectCache::newAccelerator with string fallback in PHP 5.3
 * - Fix Generic.Files.LineLength phpcs check in files under phpunit/includes
 * - Fix Generic.Files.LineLength phpcs failure in 11 files under includes/
 * - mediawiki.widgets: Add title attribute to TitleOptionWidget description
 * - mediawiki.widgets: Fix TitleOptionWidget styles
 * - Fix spelling of &quot;fragment&quot; in test descriptions
 * - Make lines short to pass phpcs in WikiReferenceTest.php
 * - Make lines short to pass phpcs in WikitextContentTest.php
 * - Add @codingStandardsIgnoreStart to 5 files under tests/phpunit/includes
 * - Converted InfoAction::pageInfo to using getWithSetCallback
 * - Apply $wgReadOnly to all file backends
 * - Various getHTMLDebugLog cleanups
 * - Add page purge limiter
 * - Clean up getLagTimes docs
 * - Remove redundant ApiQuery::shouldCheckMaxlag
 * - objectcache: Implement 'fallback' param for newAccelerator
 * - Added pt-heartbeat support to DatabaseMysqlBase
 * - mw.Upload.BookletLayout: Show errors and try to recover from warnings
 * - Don't clobber existing styles when adding more in IE9
 * - mw.Upload: Add details of error when uploading to stash
 * - Fix-up for I21bb3f08e7f: make ResourceLoaderModule::expandRelativePaths public
 * - Fix-up for I21bb3f08e7f: ResourceLoaderModule::expandRelativePaths
 * - Modernized slave wait checks in recompressTracked.php
 * - resourceloader: Fix-up missing expandRelativePaths in preloadModuleInfo
 * - Added replication=async option to FileBackendMultiWrite
 * - resourceloader: Minify per-module instead of per-response
 * - mediawiki.Uri: Support names of Object prototypes as keys in query
 * - build: Enable jscs jsDoc rule 'checkTypes' and make pass
 * - Upgrade composer/semver to 1.0.0
 * - objectcache: Add some newlines to WANObjectCache docs
 * - Removed wfDataCenter/wfDataCenter roles
 * - Make lines short to pass phpcs in media tests PHP files
 * - Make lines short to pass phpcs in parser tests PHP files
 * - Use correct comment format for codingStandardsIgnoreStart
 * - Make lines short to pass phpcs in 3 files under tests/phpunit/includes/
 * - Add @codingStandardsIgnoreStart to pass phpcs in 2 files in tests/phpunit/includes
 * - Remove unused minor and major in WikiReference
 * - UploadBase: Remove UPLOAD_VERIFICATION_ERROR
 * - API: mention how to get page property names
 * - Made WikiPage::isRedirect actually use page_is_redirect
 * - Reword &quot;passwordreset-emailsent&quot;
 * - Added $wgDataCenterId/$wgDataCenterRoles
 * - Made LBFactorySimple set &quot;master&quot; flags like LBFactoryMulti
 * - Fixed remaning IDEA errors in DatabaseBase
 * - Refactor hashing utility functions from MWCryptRand and make public
 * - build: Don't run Travis CI for wmf/* branches
 * - Retry getting CatChange RC from master
 * - resourceloader: Deprecate two pointless minification config vars
 * - Made User::loadFromId skip cache with READ_LATEST
 * - mediawiki.messagePoster: Update comments after mw.Api file renames
 * - Fix LESS file dependency tracking in ResourceLoader
 * - mw.Upload.BookletLayout: Go back to upload page on upload error
 * - mw.Upload.BookletLayout: Make all errors unrecoverable
 * - mw.Upload.BookletLayout: Move error checking for uploadToStash to uploadFile
 * - API: Remove warning about continuation change
 * - mediawiki.page.watch.ajax: Add dependency on mediawiki.page.startup
 * - Make lines short to pass phpcs in 2 files under tests/phpunit/includes/
 * - Make lines short to pass phpcs in BagOStuffTest.php
 * - Make lines short to pass phpcs in ResourcesTest.php
 * - Rename RESTBase1/Parsoid3 `bodyOnly` parameter to `body_only`
 * - mediawiki.action.edit.preview: Remove spurious 'return'
 * - Pass real boolean or array params to mw.Api#get and #post when convenient
 * - Rename message 'move-new-title' back to 'newtitle'
 * - Converted checkRedirect to using getWithSetCallback
 * - Converted Interwiki::load to using getWithSetCallback
 * - Cleaned up WANObjectCache toy example code blocks
 * - Make lines short to pass phpcs in 2 files under includes/
 * - Added testStaleSet WAN cache test
 * - resourceloader: Vary module_deps on language (in addition to skin)
 * - Added DeleteLinksJob to support purging backlinks via job runners
 * - Improved getWithSetCallback docs to have more use cases
 * - resourceloader: Store relative instead of absolute paths in module_deps
 * - Remove b/c dependency of mediawiki.widgets upon the DateInputWidget
 * - ForeignStructuredUpload: Depend on mediawiki.widgets.DateInputWidget
 * - Introduce CategoryMembershipChange
 * - mediawiki.api.upload: Fix jsduck indentation error
 * - FauxResponse: Honor cookie options, and other cleanup
 * - Bump oyejorge/less.php to 1.7.0.9
 * - Split DateInputWidget &amp; CalendarWidget into a separate ResourceLoader module
 * - Refactored global state out of EnqueueableDataUpdate
 * - Add option to expose original sha1 in thumb url
 * - Update OOjs UI to v0.12.10
 * - Avoid paranoid IDEA error on $conn-&gt;getSlavePos call
 * - Work around IE9's broken handling of .styleSheet.cssText
 * - mw.widgets.CategorySelector: Link to category page and display existence status
 * - User::incEditCountImmediate: Add explicit IS NOT NULL check
 * - More namespace translations for Extremeñu (ext)
 * - Remove $wgUseLinkNamespaceDBFields
 * - Removed $options from RecentChange::newFromConds
 * - Make it more obvious that users can remove their email address
 * - Add mw.ForeignStructuredUpload.BookletLayout
 * - Actually declare the base LoadMonior::clearCaches
 * - Removed old fake slave hacks used for debug log testing
 * - Chinese Conversion Table Update 2015-8
 * - Do not split parser cache if limitation is reached.
 * - Fix Memcached key decode
 * - Improve brevity of Special:MovePage form and its description

Vendor

 * - Upgrade composer/semver to 1.0.0
 * - Add wikimedia/relpath 1.0.3
 * - Ignore bin directory
 * - Bump oyejorge/less.php to 1.7.0.9

CentralAuth

 * - Add Urdu localization for Special:GlobalRenameRequest

CheckUser

 * - Spacey style code convention

CirrusSearch

 * - Enable communication with multiple datacenters
 * - Add support for CommonTermsQuery
 * - Fix Undefined index in CirrusSearch/includes/Hooks.php

Cite

 * - Show an error if a named ref is defined multiple times

Citoid

 * - Fix restoring of last used inspector tab

ContentTranslation

 * - Dashboard: Reduce vertical padding for sidebar links
 * - Flip the image alignment if the target language direction is different
 * - Cleanup the code of ext.cx.tools.images.js
 * - Use mw.loader.load instead of using inside try-catch
 * - Make interlanguage link entry point gray in Monobook and Modern
 * - Correct lang and dir elements in suggestion list items
 * - Add lang and dir to language names and codes on CXStats bars
 * - Clarify responsibility for Parsoid/RESTBase errors
 * - Speed up a query in fix-stats.php by 99.98%
 * - Use recommended version and configuration for CodeSniffer
 * - Prevent page scroll when overlay is shown
 * - Dashboard: Show empty list information when suggestions or translations are empty
 * - Fix: Clicking on down arrow in language selector should trigger ULS
 * - Stats: Set maximum height for callouts in bar charts
 * - Refactor all column related styles
 * - Style adjustment for translation view column subheading
 * - Use color codes from ext.cx.common.less
 * - Update mediawiki-codesniffer and parallel-lint settings
 * - Interlanguage link: Simplify the autonym identification
 * - Interlanguage link: Avoid the requirement of jquery.uls.data module on page load

DonationInterface

 * - Add Amazon recurring widget and front-end logic
 * - Add 'recurring' switch to mustache forms
 * - Ensure card selected before clicking 'Donate'
 * - Move some WMF-specific links to settings
 * - Send different OrderNumbers for each WP transaction

Echo

 * - Remove jshint from package.json
 * - Update formatting
 * - Add a comment to counting unread page notifications
 * - Fix lowercasing and bolding of text in popups in Modern skin
 * - Remove orange bar when all talk notifications are read
 * - Mark notifications as automatically read only after the popup loads
 * - Initialize 'mark as read' button hidden unless needed
 * - Also override Modern's :hover styles
 * - Close popup when badge is clicked
 * - NotificationBadgeWidget: Fix button icon positioning for change in OOUI
 * - Fix Echo popup alignment in RTL
 * - Do not reset an option that has no reset method

EventLogging

 * - Add eventlogging client side --endpoint option to test_load.py
 * - Comment out python-etcd dependency so we can install on Trusty
 * - Lower python-etcd version requirement, we run a patched 0.3.3 in prod

Flow

 * - Fix exception on board and topic history pages
 * - Clarify that both Parsoid and RESTBase can respond to VRS requests
 * - Hide actions when viewing a board through Special:Undelete
 * - Fix &quot;undefined method last_session_ids=&quot; error in browser tests
 * - Get rid of $wgFlowMigrateReferenceWiki
 * - Disable auto-enroll for opt-in beta feature
 * - dirname( __FILE__ ) → __DIR__
 * - FlowUpdateBetaFeaturePreference: Add missing parent constructor call
 * - Browser tests: eliminate deprecation warnings
 * - Rename RESTBase1/Parsoid3 `bodyOnly` parameter to `body_only`
 * - Remove obsolete comment

GeoData

 * - Move php class files to /includes subdirectory

GlobalBlocking

 * - Add missing read-only check

GuidedTour

 * - Remove dead reference to .ve-init-mw-viewPageTarget-saveDialog-slide-review

Math

 * - Append error container to inspector
 * - Fix the check for the error class in generated content
 * - Check for error in Parsoid response for math node

MobileFrontend

 * - Clean up in mobile.contentOverlays module
 * - Change &quot;Topic subject&quot; to &quot;Subject&quot;
 * - Footer should be constrained by max-width
 * - Support alternate message keys in footer
 * - Log VE saveIntent/saveAttempt
 * - Kill the tag experiment
 * - Revert &quot;Add a &quot;SkinMinervaLicenseFooter&quot; hook&quot;
 * - Add a &quot;SkinMinervaLicenseFooter&quot; hook

PageImages

 * - Revert &quot;Include foreign files in ApiQueryPageImages&quot;

Popups

 * - Move the article renderer in to the renderers property

Renameuser

 * - Add tests

RestBaseUpdateJobs

 * - RestbaseUpdateJob: Set User-Agent

Score

 * - Append error container to inspector
 * - Consistently use spaces inside brackets in CSS
 * - Add grunt linting tasks
 * - Improve the score inspector interface
 * - Always render error message in LTR as it's English
 * - Check for error in Parsoid response for score node

SemanticForms

 * - Added missing FancyBox images
 * - Added initialization of variables for date input

TemplateData

 * - build: Update mediawiki-codesniffer from v0.3.0 to v0.4.0
 * - Add a url type for URLs
 * - Fix FOUC for TemplateData html rendering

TimedMediaHandler

 * - Standardize version of php-parallel-lint

Translate

 * - Remove ApiBase::PARAM_DFLT =&gt; null from ApiTranslationStash
 * - Add and fix lots of PHPDoc @param, @return and @var tags
 * - Autocomplete search operators
 * - Ignore the language query parameter when a title with language subpage is given.
 * - Remove group descriptions for real
 * - Display nice nojs error on Special:Translate

UniversalLanguageSelector

 * - Update jquery.uls to d4de09ffb94dd9682
 * - Remove !defined( 'MEDIAWIKI' )

UploadWizard

 * - i18n: Remove unused messages
 * - Use mediawiki.widgets.CategorySelector module for CategorySelector
 * - Prevent form submission without debug mode
 * - Remove superfluous ExceptionFlow event class
 * - Use recommended version of jakub-onderka/php-parallel-lint
 * - Add missing dependency on mediawiki.widgets
 * - Remove unused function 'prefillLicense' littered with 'XXX' comments
 * - Remove direct dependencies on 'jquery.ui.widget' and 'jquery.ui.core'
 * - Only depend upon the DateInputWidget, not all of mediawiki.widgets

VisualEditor

 * - Update VE core submodule to master (737a235)
 * - Ensure full error message is shown when inspector is closed
 * - Update VE core submodule to master (8feaeef)
 * - Add error element to MWLiveExtensionInspector
 * - ve.ui.MWParameterPage: Use more natural DOM order for text field and buttons
 * - Consistently use spaces inside brackets in CSS
 * - Toolbar config: Prevent 'Table' from moving after menu expand
 * - MWExtensionNode: Fix selector to find dimension-less images
 * - Hack to stop logging edit events for non-desktop targets
 * - Update VE core submodule to master (54ec246)
 * - Call updatePreview when closing the LiveExtensionInspector
 * - MWExtenionNode: Ensure objects are deep copied when used in the hash
 * - MWExtensionNode: Copy mw data before modifying
 * - Update VE core submodule to master (a98e11c)
 * - More autodisable script fixes
 * - Call afterRender whether or not images emit 'load'
 * - Fix output from autodisable pref script
 * - Rename RESTBase1/Parsoid3 `bodyOnly` parameter to `body_only`
 * - Update VE core submodule to master (ca4bd8c)
 * - Follow-up If556afa10: Fix typo: nodeType -&gt; nodeName
 * - build: Alter settings to force utf-8 and allow .php5/.inc extensions
 * - Use ve.setProp to set new pages list in MWTemplateTitleInputWidget#getLookupRequest

WikidataPageBanner

 * - Add `toc` as a valid parameter

WikimediaMessages

 * - Change license text of m.wikidata.org to match the desktop one

ZeroBanner

 * - Fix banner injection
 * - Fixed missing ns ref for ResourceLoader
 * - Fix deprecation warnings

Vector

 * - Make it easer to debug php code sniffer, Update mediawiki/mediawiki-codesniffer to 0.4.0