MediaWiki 1.28/wmf.15/Changelog

Core changes

 * - TextContent: Normalize newlines in preSaveTransform
 * - Move thumbnail rendering to a more appropriate spot
 * - watch.js: Preload module 'mediawiki.notification' after exit paths
 * - GallerySlideshow: getImageInfo: Reject promise if there is no thumbnail
 * - Add a script to build an HHVM RepoAuthoritative bytecode file
 * - Call parent::getFieldsForSearchIndex in ContentHandlers
 * - Remove all assert calls with string parameters
 * - Upgrade PhpParser to 2.1 and update findDeprecated.php
 * - Fix DBLockManager comments
 * - Make autoCreateUser transaction profiler suppression limited in scope
 * - Clone WikiPage before delete and pass the cloned copy to ArticleDeleteComplete
 * - MWUI: Vertically align the icon pseudo elements
 * - HTMLFormFieldCloner: Pass enpty array, not null, to avoid warning
 * - Set Czech (cs) and Slovak (sk) as reciprocal fallbacks
 * - objectcache: expand getWithSetCallback docs a bit
 * - Make various MWCallableUpdate usages rollback-safe
 * - Move bottomScripts call in SkinTemplate
 * - HTMLForm: Use ObjectFactory instead of Reflection
 * - content: Use "::class" when overriding TextContent::getContentClass
 * - Use waitForAll for slow JobRunner commits
 * - Clean up array syntax in docs, part III
 * - DefaultSettings: Clarify enotif documentation
 * - Use cache TTL constant in InfoAction
 * - Add GENDER to messages on Special:(Deleted)Contributions
 * - Better handle already-used rev_id when restoring
 * - objectcache: Add changeTTL method
 * - Revert "Move CSS for patrol from mediawiki.legacy to new module mediawiki.page.patrol"
 * - SkinTemplateTest typofix
 * - AuthManager: Always whitelist some special pages
 * - Defer maybeUpgradeRow post-send since they can trigger on non-POST
 * - This patch adds Localisation to the links, and changes wording around.
 * - Make Database disconnect and error suppression more robust
 * - Upgrade unmatched explicit commit of DBO_TRX to an exception
 * - Fix link to Help:Contents in UPGRADE file
 * - Replace extract with explicit variable definitions in DjVuImage
 * - Remove checks formerly for MySQL server version
 * - Add SpecialPage::getTitleValueFor
 * - Require POST for action=purge in PurgeAction
 * - StashEdit: Refactor and simplify edit.stash.js
 * - This changes grammar, spelling and flow of the README
 * - Fix comment about how to use AutoloadGenerator
 * - Optimize summary-based extension edit stash caches
 * - Make PurgeChangedFiles actually purge old versions too
 * - Deprecate various ResourceLoader modules
 * - Rename 'authmanager' log channel to 'authevents'
 * - Clean up some IDatabase comments
 * - Remove $wgDisableAuthManager
 * - SiteStats: Fix some phpdoc
 * - SpecialEditWatchlist: Use LinkRenderer instead of Linker::link
 * - Introduce UploadStashFile hook, improve API handling of stash errors
 * - Fix comment of get/setLinkRenderer in doxygen
 * - Beef up and generalize IDBAccessObject constants a bit
 * - Add grant for access to private information
 * - LoadBalancer object injection cleanups
 * - resourceloader: Move queue formatting out of OutputPage
 * - registration: Fix adding $formerGlobals in conversion script
 * - Fix display of action table cells on Special:Tags
 * - mw.loader: Clean up unit tests by using newer QUnit syntax
 * - mw.loader: Add 'require' as Promise value for using
 * - Upgrade premature implicit transaction commits to exceptions
 * - Unbreak "localDBMaster" mode in MySqlLockManager by using a separate connection
 * - Add rc_name_type_patrolled_timestamp index

AbuseFilter

 * - Special:AbuseLog: Substitute username parameter in log message before parsing
 * - Update tests for AntiSpoof fixes
 * - Rephrase abusefilter-edit-consequences
 * - Invalidate global abuse filter rules from cache when a previously global filter is edited
 * - Only run filters once for direct uploads (without stash)
 * - Allow users with 'abusefilter-view-private' to view history/diff of private filters

AntiSpoof

 * - Make sure AntiSpoof mappings are mapping in the correct direction.

Babel

 * - Normalise language codes to lower case when used in categories

CentralAuth

 * - SECURITY: Check for valid but unusable user names
 * - Use lazyPush in CentralAuthUser::queueAdminUnattachJob
 * - SpecialGlobalRenameProgress: show backlink subtitle when valid username is specififed

CirrusSearch

 * - Make boost templates depend on language
 * - Support MW_INSTALL_PATH in gen-autoload.php
 * - Reorder Ascii-Folding Before Stemming on English Wikipedia
 * - Defer SearchConfig instantiation when it's actually needed
 * - Update package.json
 * - Increase phrase suggester recall
 * - Fix scripts/gen-autoload.php

CodeEditor

 * - Supply model/format directly to hook

Collection

 * - Optionally include extra notes after rendering

ConfirmEdit

 * - Rename 'authmanager' log channel to 'authevents'

ContactPage

 * - Use $this->msg instead of wfMessage
 * - Don't call $this->getUser twice

ContentTranslation

 * - Source filter: Do not remove references list
 * - Fix IDatabase type doc
 * - ApiContentTranslationPublish: fix broken code causing an exception
 * - Correct the template and reference attribute selectors
 * - TranslationStorage: improvements to save throttling
 * - Update CX Special pages to correctly load the skin styles
 * - Set the configured header to restbase request
 * - Filter out data-template-mapping from published content
 * - Templates: Match and adapt the template parameters of source and target
 * - Template tool: Refactor parameter mapping

DonationInterface

 * - Revert "Legacy PayPal: send pending message."
 * - Avoid undefined variable warnings
 * - Fix dangling references to GatewayType::getRequest
 * - Legacy PayPal: send pending message.
 * - Some decoupling of GatewayPage from GatewayType
 * - Mock TestingGatewayPage->getPageTitle
 * - WmfFramework-ize some HTTP request functions
 * - Replace question with answer.
 * - PHPDoc cleanup for DonationQueue
 * - Add ActiveMQ headers to Redis messages
 * - Revert "Add installer info to composer.json"; update composer libs

Echo

 * - Flip the parameter name and its type in phpdoc of MWEchoEventLogging
 * - Added a period to "Notification-header-reverted".
 * - Check if logging is enabled before logging EchoInteraction
 * - Changing "this" to "these" because it refers to plural criteria (filters)
 * - Log the mark entire cross-wiki bundle as read action
 * - Log Special:Notifications page visits
 * - Emit sortChange only for read/unread actions
 * - Take seentime into account in the CheckLastModified hook
 * - Remove noisy logging of every single thank-you-edit notification
 * - Follow-up 4e64643eb: Count pageless notifications when counting pageless notifications
 * - Make footer notice link blue in Monobook
 * - Fix mention failures not beeing sent.
 * - Bundle mention success and failure notifications
 * - Revert "Allow self mentions"
 * - Fix typo in Dutch message
 * - Revert "Hack around browser bug in IE breaking badge alignment in Monobook"
 * - Browser tests: update to mw-selenium 1.7.2 and https
 * - Log 'mark all read' button click actions

EventLogging

 * - Use "::class" when overriding TextContent::getContentClass

ExtensionDistributor

 * - Use LinkRenderer instead of Linker::link

FlaggedRevs

 * - Try not to make slave lag in updateRecentChanges

Flow

 * - Fix notification cleanup on post moderation
 * - Query wiki DB for logging table, not Flow DB

GeoData

 * - Fix path of GeoDataMagic in PHP shim
 * - Convert GeoData to extension registration

GettingStarted

 * - Don't register EventLogging schema modules directly

GuidedTour

 * - Use async API calls for wikitext parsing

JsonConfig

 * - Add extension.json, empty PHP entry point

Kartographer

 * - Introduce width=full
 * - Deprecate width specified as percentage, other than 100%

MobileFrontend

 * - Remove trademark symbol from logo image alternative text
 * - Don't pass null as 1st parameter to SpecialMobileHistory::shouldUseSpecialHistory
 * - Hide edit and watch icons when JS disabled
 * - Use a common class for search input containers
 * - Use SVG version of the clear icon
 * - Consistently style the language overlay search box
 * - [Beta] Add Contributions menu item
 * - [Hygiene] Break apart SkinMinerva#getPersonalTools
 * - [Hygiene] Further generalise main menu rendering
 * - Run bundle install

MultimediaViewer

 * - Make embed text short URL into a link in HTML mode

ORES

 * - Make FetchScoreJob.php more readable
 * - Fix internal error when score doesn't exist in the table in SpecialContribs
 * - Integrate with Special:Contributions
 * - Jobs fail instead of throwing error when score is not right

PageTriage

 * - Browser tests: update to mw-selenium 1.7.2 and https

Popups

 * - Fix settings dialog layout on IE
 * - Hovercards: Improve layout of settings dialog to design spec

RevisionSlider

 * - Fix loading state of diff page
 * - Abort pending requests
 * - Also track the hook run count
 * - Bump up the version in package.json
 * - Use natural language when referring to feature (but not extension/project)
 * - Convert the few instances of IDs to classes
 * - Do not load RevisionSlider initially, add a button to show/hide it

Scribunto

 * - ScribuntoContent: Use base class preSaveTransform

SemanticForms

 * - Fix for namespace declaration with some SMW setups
 * - Added Google Maps key setting
 * - Update manifest_version to version 2

TemplateData

 * - Dialog must listen for changes to the param names
 * - Make cancelling edit dialog less confusing.

TimedMediaHandler

 * - Update IframeOutput to use OutputPage::getRlClient

Translate

 * - Unbreak translation stash
 * - Replace deprecated 'jquery.mwExtension' by 'mediawiki.RegExp'
 * - Remove TranslateTasks::plainOutput
 * - Send proper Content-Type response header in Special:ExportTranslations
 * - PagePreparation: Add language-independent anchor for page internal links
 * - Special:Translate: avoid undefined index warning for task

UniversalLanguageSelector

 * - Update jquery.ime to 10ae4c0
 * - Update jquery.uls to d873fbc
 * - LanguageSettings: Simplify positioning code
 * - Fix some comment typos
 * - LanguageSettings: Do not render modules twice on initialization
 * - DisplaySettings: disallow focus on tabgroup buttons
 * - List of input methods should display only one item per line
 * - Update compact language links beta feature info and talk links

UploadWizard

 * - Use "::class" when overriding TextContent::getContentClass
 * - mw.FlickrChecker: Display a spinner while loading metadata
 * - mw.FlickrChecker: Set up lazy-loading after showing the placeholders
 * - mw.FlickrChecker: Code style tweaks
 * - mw.UploadWizard: Separate adding uploads and ` ` handling

VipsScaler

 * - Remove default VipsOptions, they're at best, broken

VisualEditor

 * - Update VE core submodule to master (f182b27)
 * - Wikitext surface alpha feature
 * - Update VE core submodule to master (756f7d2)
 * - Centralize some checks for unmodified left clicks
 * - Update VE core submodule to master (f1fa096)
 * - Update VE core submodule to master (070fa4b)
 * - Factor out API deflation and change storeInSerializationCache API
 * - Always forward cookies when $wgVisualEditorParsoidForwardCookies is set

WikiLove

 * - Browser tests: update to mw-selenium 1.7.2 and https

WikimediaEvents

 * - Remove deprecated logging for Schema:Search

timeline

 * - globalise $wgTimelinePloticusCommand too
 * - Fix global typos
 * - Revert "Revert "De-capitalise timeline in wfLoadExtension call""
 * - Remove orphaned registerExtension function
 * - Revert "De-capitalise timeline in wfLoadExtension call"