MediaWiki 1.25/wmf19/Changelog

Core changes

 * - PostreSQL: DatabaseBase constructor cleanups
 * - Run maintenance/generateLocalAutoload.php
 * - Don't alias tt special pages to titles with double underscore
 * - Start moving objectcache into libs/
 * - Allow subscribing to module loading exceptions
 * - mediawiki.sectionAnchor: Indent with tabs
 * - Avoid calling rollback in handleWriteError if there is no trx
 * - Fix parameter order for block logs
 * - Remove getSecondaryDataUpdates and friends from ParserOutput.
 * - Add i18n for the infamous &quot;Fatal exception of type MWException&quot; errorbox
 * - More debug diagnostics for upload by URL
 * - DatabaseBase constructor cleanups
 * - Move API release notes to correct places
 * - Warn when user trying to block nonexistent user
 * - Require ext-iconv and suggest ext-intl in composer.json
 * - New hooks ApiMain::moduleManager and ApiQuery::moduleManager
 * - ComposerJson: Ignore dependencies that start with &quot;ext-&quot;
 * - CategoryView modified to use css columns
 * - Special:WantedPages only lists page which having at least one red link pointing to it.
 * - Remove &quot;transwiki import&quot; jargon term
 * - Make HashBagOStuff::lock compatible with BagOStuff::lock
 * - Removed cas from ReplicatedBagOStuff as it is unused
 * - Made BagOStuff::cas properly optional
 * - Removed FORCE INDEX from API category queries
 * - Add a ReplicatedBagOStuff class
 * - Small optimization to ResourceLoader's canExpandStylesheetWith
 * - Revert &quot;Make eval.php try to handle newlines in code&quot;
 * - Removed doCascadeProtectionUpdates method to avoid DB writes on page views
 * - Wait for slaves in RecentChangesUpdateJob
 * - Export: Preloading the category name through a URL parameter
 * - Give objects to DatabaseLogEntry::newFromRow
 * - Avoid @backupGlobals in ExtensionRegistryTest
 * - DatabaseBase: Document behavior of nulls in array conditions
 * - DatabaseInstaller::getGlobalDefaults: Return all needed globals
 * - Pass user to File::delete from Special:MovePage
 * - Skip missed dependencies in ResourcesTest::testUnsatisfiableDependencies
 * - Fix @backupGlobals annotation in ExtensionRegistryTest
 * - Upgrade composer-merge-plugin to 1.0.0
 * - Adding sample code to TemplateParser::processTemplate docs
 * - Fixing links on NoLocalSettings page
 * - More descriptive message for autoloader failures
 * - Correct misleading documentation
 * - Some clean-up of TemplateParser
 * - API: Don't allow '#' in title-parts
 * - Remove maintenance script dumpSisterSites.php
 * - Escape message editsection on action=view
 * - Revert &quot;Removed doCascadeProtectionUpdates method to avoid DB writes on page views&quot;
 * - Allow override of page disply within CategoryViewer
 * - mediawiki.special.preferences.js: Simplify creating elements
 * - mediawiki.special.preferences.js: Simplify modulo
 * - Maintenance script for exporting site definitions
 * - Preferences: Use mediawiki.confirmCloseWindow module
 * - resourceloader: Simplify log message for getDefinitionMtime cache miss
 * - Convert UtfNormalTest into a PHPUnit test
 * - Removed doCascadeProtectionUpdates method to avoid DB writes on page views
 * - Made TransactionProfiler log regardless of Profiler
 * - Adding TemplateParser class providing interface to Mustache templates
 * - Sync up with Parsoid parserTests.
 * - Add clickable link for section headers
 * - API: Add authz features for RESTBase
 * - database: Move LoadBalancer::getConnection debugmsg to getReaderIndex
 * - database: Avoid use of PDO transaction system for SQLite
 * - SpecialLinkSearch: clean up munged query variable handling
 * - Fix hook situation for Skin::doEditSectionLink
 * - Explicitly allow lines up to 100 chars in Rubocop
 * - Fix the Rubocop offense TrailingBlankLines
 * - Fix the Rubocop offense SpaceInsideHashLiteralBraces
 * - Remove outdated Rubocop offenses from .rubocop_todo.yml
 * - Fix the Rubocop offense SpaceAroundOperators
 * - Fix the Rubocop offense LeadingCommentSpace
 * - Fix the Rubocop offense EmptyLinesAroundBody
 * - Fix the Rubocop offense EmptyLines
 * - Fix the Rubocop offense AmbiguousRegexpLiteral
 * - Disable edit section buttons on live preview
 * - DatabaseMssql: Don't duplicate body of makeList
 * - Resources: Use OOjs UI distribution with vector→raster fallback
 * - Update OOjs UI to v0.8.0
 * - API: Unconditionally load ipb_timestamp in ApiQueryBlocks
 * - Html::openElement: Don't omit closing tags.
 * - Adjusting patrol checks for RC and watchlist prefs
 * - Detect duplicate archived files by SHA1 search on upload
 * - ResourceLoaderImage: tighten up svg handling
 * - Maintenance script for importing site info.
 * - Made TransactionProfiler affected-row warnings not trigger for JobRunner
 * - Made ActiveUsers work a bit better on small wikis
 * - Made BloomFilterTitleHasLogs refresh odds linear to be smoother
 * - mediawiki.skinning: Remove italics from q tag for IE7 and below
 * - Avoid double word-separator when using Linker::userToolLinks
 * - Fixed a path issue in NoLocalSettings
 * - Use new log system when create log entry for revision delete
 * - Migrate block log to new log system
 * - Add default type param for recentchanges and watchlist query api modules
 * - Escape message 'redirectto' in Article
 * - Use context when parsing message 'redirectedfrom'
 * - Call LogFormatter::getPreloadTitles on ChangesListSpecialPage
 * - Use the request object provided in User::setCookies

Vendor

 * - Upgrade composer-merge-plugin to 1.0.0

AbuseFilter

 * - Avoid &quot;recent-contributors&quot; queries that cause timeouts

CentralAuth

 * - Use onTransactionPreCommitOrIdle in GlobalRenameUserStatus
 * - Fix return value of SpecialGlobalGroupMembership::changeableGroups
 * - QA: Refactoring tests for MediaWiki-Selenium 1.0.0.pre.2
 * - Throw Exception in CentralAuthUser::localUserData if not found

CirrusSearch

 * - Convert Cirrus to use PSR3 style logging

Collection

 * - Collection session: protect against 'enabled' key being unset

ContentTranslation

 * - Refactor the guided tour initialization out of publish module
 * - Extension Registration: Add missing modules to extension.json
 * - Expose published translation with source-target URL pairs
 * - Add the server down message to source selector module too
 * - Publish module code cleanup
 * - Load the source filter configuration early to avoid flickering content
 * - Load the category informaton in parallel with source load
 * - Categories: Update categories code and unit tests
 * - Add composer.lock to .gitignore
 * - Add extension.json

Echo

 * - QA: rubocop fixes broke the tests in the builds
 * - QA: update for rubocop offenses
 * - QA: more rubocop updates
 * - QA: update for rubocop offenses

Flow

 * - Don't overflow ms on historical uid generation
 * - Tweak the new-topic API help.
 * - Fix typo which prevents arbitrary diffs
 * - Backfill moderation (delete, suppress) logging that was dropped
 * - Consider moderated posts to have 0 content length
 * - Test only works if NS_MAIN is a capitalized namespace
 * - Update Image and Placeholder extraction routines
 * - Don't assume mw.flow.editor already exists
 * - Explicitly handle title to preview content against
 * - Repair infinite scroll behaviour
 * - Properly handle interwiki in FlowUpdateRevisionContentLength
 * - Clean up flow-menus to use section delimiters
 * - User only requires history access to see the username on a revision
 * - Hygiene: Don't use !important for shrinking compressed textarea height
 * - Clarify apihelp-flow+view-topiclist-param-limit
 * - Clarify new-topic API param messages
 * - Handle CategoryViewer hooks for prettier output
 * - Make POST responses uncacheable in all browsers
 * - Update references on topic moderation change
 * - Category support for topic summary and header
 * - Fix batching in FlowFixEditCount
 * - Consistently use TopicBlock::getDisallowedErrorMessage
 * - Wire up moderation logging listener
 * - Fix 'Thank' title text being lower case
 * - Clarify i18n message
 * - Add link to history for hidden, deleted, and suppressed comments
 * - Hygiene: remove unused var
 * - Hygiene: PostRevisionTestCase cleanup

GeoData

 * - Store coordinates as decimal

GettingStarted

 * - Use an actual registration to test GettingStarted returnto behavior.

GlobalUserPage

 * - Add top margin to notice

Graph

 * - Updated to latest vega/d3/topojson, use correct server name

Math

 * - Ignore missing SVG attribute

MobileFrontend

 * - TOC: horizontal scrolling added for long words
 * - Don't modify an array while iterating over it
 * - Hygiene: Follow up &quot;Show edit pencils on all headings&quot;
 * - Always define $talkButton in SkinMinvervaBeta
 * - Implement design review for beta styles
 * - Hygiene: Edit pencil images shouldn't overlap floated images.
 * - Hygiene: Don't set robots policy for a skin
 * - Hygiene: Use Config object in SpecialPages
 * - Hide MediaWiki's clickable link for section headers
 * - Remove WikiGrok related stuff
 * - Don't ask for leave, if the content hasn't changed
 * - Update ApiResult handling for mediawiki/core change I7b37295e

MultimediaViewer

 * - Fix IE crop/stretch problems
 * - Make logging less noisy in debug mode
 * - Remove delay when logging link clicks
 * - Fix canvas height calculation

PageTriage

 * - Change RSpec 2 should syntax to RSpec 3 expect syntax

Popups

 * - fix mw.popups.selectPopupElements
 * - Disable Navigation Popups on render rather than document load
 * - Add a check for the EventLogging library before the logEvent call

RestBaseUpdateJobs

 * Newly deployed extension

Scribunto

 * - Update Scribunto tests after I562e437e
 * - Revert &quot;Revert &quot;Make tests work when $wgLanguageCode != 'en'&quot;&quot;
 * - Revert &quot;Make tests work when $wgLanguageCode != 'en'&quot;
 * - Make tests work when $wgLanguageCode != 'en'

SemanticForms

 * - Version 3.2
 * - One more fix for jQuery for MW 1.24+
 * - Changes to remove use of global variables like $wgOut in some classes
 * - Added handling for Special:AdminLinks when SMW is not installed

TemplateData

 * - Correct jsduck documentation tags casing
 * - Convert to use extension registration
 * - Enable $wgTemplateDataUseGUI by default
 * - Kill reference to $wgPageProps
 * - Update author credits
 * - Move to wfUseMW for compatibility detection
 * - Allow adding a new parameter again
 * - Warn if a TemplateData block already exists in related page
 * - Change global class variables to mw.TemplateData
 * - Display a message when no parameters are defined
 * - Display TemplateData parameter table according to param order

Thanks

 * - Put back removed code coverage annotation
 * - Register directory with UnitTestsList hook
 * - Add custom title text for Yes and No Thank confirmations

TimedMediaHandler

 * - Fix an undeclared and RL dependency
 * - Check MwEmbed dependency only before it is needed

Translate

 * - IntuitionTextdomains: Update comment and remove redundant regex filter
 * - Migrate Intuition to JSON

TranslationNotifications

 * - fix parameter ordering
 * - Add signup URL to onwiki notification

UploadWizard

 * - QA: disambiguate step name for Cucumber regex
 * - Update ApiResult handling for mediawiki/core change I7b37295e
 * - Add browser test for &quot;copy file metadata&quot; feature

VisualEditor

 * - Update VE core submodule to master (f81b990)
 * - Follow-up I0b4b8dca: Set redirect checkbox correctly on page setup
 * - VisualEditorDataModule depends on ext.visualEditor.mediaWiki
 * - Follow-up I5636e744: Only set noeditsection class for no edit checkbox
 * - Check whether template is altered before allowing apply
 * - Use mw.Api to run requests rather than our own stuff in ve.init.mw.Target
 * - Update VE core submodule to master (31fb72a)
 * - Remove unused $popupOverlay
 * - Factor out the Parsoid API request into its own method
 * - Fix a few silly RL module dependencies
 * - Update VE core submodule to master (e6a37e2)
 * - Load mw.feedback on demand
 * - Update VE core submodule to master (2eaf5c9)
 * - mw.ViewPageTarget: Remove obsolete transitions for margin
 * - Use prefixed page title for browser title bar
 * - Follow-up 14a4a4ae1: *actually* fix back compat for this.timeStamp
 * - [BrowserTest] Remove upload.rb - it's fully replaced with the gem
 * - mw.ViewPageTarget: Remove JS animations from transformPage
 * - mw.ViewPageTarget.init: Add missing 'return target'
 * - Update VE core submodule to master (8434ab8)
 * - Fix transclusion clipboard logic
 * - Follow-up 9b582485: implement back compat for timeStamp correctly
 * - mw.ViewPageTarget.init: Reduce duplication around getTarget calls
 * - Use new attachToolbar method for attaching the toolbar
 * - Update VE core submodule to master (bf202b6)
 * - ve.init.mw.ViewPageTarget: Avoid content shift due to #contentSub
 * - ve.init.mw.ViewPageTarget: Update toolbox on activated instead of active
 * - Don't try to route any events into schema.Edit if it's not actually installed
 * - Fix ve.init.mw.trackSubscriber.js
 * - Blacklist Safari versions 6 and below; whitelist 7+
 * - [BrowserTest] Remove outdated offenses from .rubocop_todo.yml
 * - [BrowserTest] Remove extra empty line to make Rubocop pass
 * - Update VE core submodule to master (c65f3bd)
 * - Update VE core submodule to master (a7cd696)
 * - Add dependency on ext.ve.mw in ext.ve.mwreference
 * - Add a warning about $wgVisualEditorPluginModules race condition
 * - Update ve.init.mw.trackSubscriber to emit 'wgVersion'
 * - extension.json: Rebuild using maintenance/convertExtensionToRegistration.php
 * - [BrowserTest] Edited language screenshot steps which had iframe elements
 * - [BrowserTest] Move the screenshot uploading to a gem
 * - Update VE core submodule to master (032c9a4)
 * - Update VE core submodule to master (7d2a68e)
 * - In setupSurface, build the model tree separately
 * - Add a bunch of trace.foo.{enter|exit} events logged through ve.track
 * - Adjust Queue and Provider to work with generalized parents
 * - Don't log against undefined target constructor name

WikiEditor

 * - Skip an old IE 8 bug workaround in WikiEditor on IE 11/Spartan
 * - Enable search-replace dialog on IE 11+
 * - Remove color overwrite for dialog header border bottom

WikiGrok

 * - Declaring Hooks::isUIEnabled as a static function
 * - Remove WikiGrok version A
 * - Instrument the widget-click-none WikiGrok action
 * - Don't enable the UI if CentralAuth is not installed
 * - Move over WikiGrok front end code from Mobile Frontend

WikiLove

 * - Fixing extension documentation in WikiLove.php
 * - RSpec 3 expect syntax incorporation
 * - wikilove-terms-url, wikilove-commons-url -&gt; protorel
 * - Remove get-started-ltr.png and get-started-rtl.png

Wikidata

 * - Update Wikibase

WikimediaEvents

 * - Update Edit schema to revision 11319708

WikimediaMessages

 * - Add i18n messages for Wikibooks sitelinks in Wikidata
 * - Standardize the name of interface editor groups
 * - Added grammar forms for Wikimedia Commons for Ukrainian

ZeroBanner

 * - Show XFF header to the user in case of missig zero domain

Vector

 * - Change styling of clickable link for section headers