MediaWiki 1.28/wmf.8/Changelog

Core changes

 * - add option to XML dump stubs of page ranges with explicit rev_id ordering
 * - Allow Message::newFromSpecifier to handle ApiMessages
 * - UsageException: Validate that $codestr is a non-empty string
 * - ApiQuerySiteInfo: Expose wgFixArabicUnicode and wgFixMalayalamUnicode
 * - mediawiki.js: Correct a typo in documentation
 * - mediawiki.api.edit: Add edit and create methods
 * - Expose $wgMaxArticleSize in siteinfo query api
 * - Fix misleading comment about svg filtering.
 * - mediawiki.ui: Align `.mw-ui-input:focus` to design spec
 * - Follow-up 9e45850: Temporarily duplicate styles back to shared.css
 * - Follow-up ebe7205c: Edit stash: Unbreak jQuery selectors
 * - Restore load position override for 'site.styles' module
 * - Mark the APIEditBeforeSave hook as deprecated
 * - Mock Http in MediaWikiPageNameNormalizerTest and add more test cases
 * - build: Bump grunt-stylelint to v0.4.0 and make pass
 * - registration: Support Change/RemoveCredentialsBlacklist in extension.json
 * - Edit stash: Support CodeEditor
 * - Fix unit tests running on non-DB environment
 * - Extended login: Don't use a $wg config variable, add UserName
 * - Count subject and talk page conflict separately
 * - Remove unused MediaWikiPageLinkRenderer class and interface
 * - SpecialLinkSearch: Use LinkRenderer instead of MediaWikiPageLinkRenderer
 * - Parser: Use LinkRenderer for building ISBN magic links
 * - Chinese Conversion Table Update 2016-4
 * - SpecialCategories: Use LinkRenderer instead of MediaWikiPageLinkRenderer
 * - SpecialNewpages: Use LinkRenderer instead of Linker::link
 * - SpecialMovepage: Use LinkRenderer instead of Linker::link
 * - SpecialBotPasswords: Use LinkRenderer instead of Linker::link
 * - SpecialListredirects: Use LinkRenderer instead of Linker::link
 * - Only attempt to calculate the TTL in Language::sprintfDate if needed
 * - Fix phpdoc in IP.php (ipv4&6)
 * - Fix phpdoc of User::isIP
 * - Re-word action-createpage and action-createtalk in singular
 * - mw.jqueryMsg: Add support for and
 * - SpecialUnusedtemplates: Use LinkRenderer instead of Linker::link
 * - Add SpecialPage::getLinkRenderer
 * - Remove references to AdminSettings.php
 * - resourceloader: remove redundant mw.loader type-checks
 * - resourceloader: Simplify CSS loading by removing IE8 hacks
 * - Make deprecated TestUser properties private
 * - Remove uses of deprecated TestUser properties
 * - SpecialSearch: simplify CSS selectors
 * - installer: Allow specifying where LocalSettings.php should be saved
 * - Add ą, č, ę, ė, į, š, ų, ū, ž to linkTrail for lt language
 * - mediawiki.action.edit.stash: Restore dependency to 'jquery.getAttrs'
 * - Move changeslist CSS classes from mediawiki.legacy.shared
 * - RELEASE-NOTES: Don't imply that HHVM 3.1 is supported
 * - Switch EditForm to using editRevId in place of edittimestamp
 * - search: did you mean should always go to SERP
 * - Simplify translatewiki.net links from Special:AllMessages
 * - Update namespaces for Konkani gom-deva

AbuseFilter

 * - Avoid using computed variables to determine stash keys
 * - Remove "minor_edit" variable
 * - Move the filter pre-caching outside of the DB lock
 * - Minor code quality tweaks
 * - Remove backwards-compatibility code using APIEditBeforeSave hook
 * - Add GENDER to abusefilter-revert-preview-item
 * - Support GENDER in two more log messages

CategoryTree

 * - Fixing Special:CategoryTree by skipping data from request for 'mode' field.
 * - Convert Special:CategoryTree to use OOUI.
 * - Remove some dead code

CentralAuth

 * - Make CentralAuth explicitly say which cookies need to be extended

CirrusSearch

 * - Use class name scalars where available
 * - Adjust Searcher maximum result depth
 * - Generalize mw_cirrus_versions into a multi-purpose meta index

Cite

 * - Make visualeditor-cite-tool-definition.json always exist, rename to cite-tool-definition.json
 * - Trim search queries in VE's reference search widget

Citoid

 * - Make citoid-template-type-map.json message always exist

CleanChanges

 * - Avoid JavaScript error on Special:Watchlist

ConfirmEdit

 * - Use correct message for account creation
 * - Remove backwards-compatibility code using APIEditBeforeSave hook

ContentTranslation

 * - Really remove empty segment spans

Echo

 * - Don't send empty emails
 * - ToggleReadCircleButtonWidget: Tweak colors per Pau
 * - Follow-up 6c4bf99da88: Fix incorrect comment
 * - Add support for querying notifications not associated with any page
 * - Add a PromisePrioritizer and use it for notifications fetching
 * - Fix position of page filters in firefox
 * - CrossWikiUnreadFilterWidget: Remove unused this.localSource
 * - ApiUnreadNotificationPages: Output pages as an array rather than an object
 * - Change link to help page on Special:Notifications
 * - Support for PlaceholderWidget with no link
 * - Use the actual total notification count in the special page sidebar
 * - docs: Fix typo of 'begining' instead of 'beginning' in phpdoc
 * - Add a cross-wiki sidebar to the Special:Notifications page
 * - Wrap table-cell buttons in table-row
 * - Change mark as read buttons to circles
 * - SubGroupListWidget: use timestamp from model, not from listWidget
 * - Improve client-side unread count estimation
 * - Clean up and fix updateEchoSchemaForSuppression.php

EventBus

 * - Match the expected format of 'response' log key

EventLogging

 * - Removed i18n shim

ExtensionDistributor

 * - Hide submit button with CSS instead of
 * - Case-insensitive sort repository list

FlaggedRevs

 * - Make ext.flaggedRevs.review.css top loading

Flow

 * - Fix notice on flow history page
 * - Include parameters when performing &workflow= redirects
 * - Browser tests: update local URL
 * - Also delete topics that have more recent updates by (only) talk page manager
 * - Add maintenance script to update page IDs of topic-resolved notifications
 * - Split flow-* and flowusertalk-* notifications
 * - Don't reimport existing headers
 * - Script to restore LQT topics to their pre-import state

Gadgets

 * - Added Dutch translation

Graph

 * - Remove right pannel split, hide graph on error
 * - Updated to latest graph2 lib

Kartographer

 * - Fix auto position/zoom regression after codebase refactor
 * - Split the JS codebase into several modules.

MassMessage

 * - Show an error to the user if the spamlist has no targets on it

MobileFrontend

 * - Un-break page actions on User pages
 * - Don't set RL target in SkinPreloadExistence handler
 * - Introduce config variable to control tagline
 * - Lazy-load references section's content when the section is expanded
 * - Fix main menu rasterized icon regression
 * - Check if a page is a special page without creating a new Title
 * - Explicitly depend on mediawiki.util where needed
 * - Remove canonical URL from Special:MobileCite
 * - Add an indexing policy and a link back to the article from Special:MobileCite
 * - Hide "Loading..." text in Special:Nearby after loading is done
 * - Change the term 'preferred' to 'suggested' in language overlay
 * - Document mw.mobileFrontend events
 * - Remove usage of deprecated ApiResult::getData
 * - Use throttled events for lazy loading images

OATHAuth

 * - Set license-name in extension.json
 * - Fixup qrcode-generating js, to stop race condition.

PdfHandler

 * - Cast width, height, page to int as paranoia measure

Popups

 * - Align Hovercards' Less to Coding Standards

ProofreadPage

 * - VisualEditor: Disallow insertion before tag
 * - Makes VE -> Wikieditor switch work
 * - VisualEditor: Avoid concurrent loading of the regular page target
 * - Makes sure to remove the WikiEditor UI
 * - Debug the onEditFilterMergedContent hook
 * - Simplifies the retrieval of user options in JavaScript
 * - phpcs: Enable MediaWiki.WhiteSpace.MultipleEmptyLines.MultipleEmptyLines and make pass
 * - phpcs: Enable Generic.Functions.OpeningFunctionBraceKernighanRitchie.ContentAfterBrace and make pass
 * - phpcs: Enable MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.SingleSpaceBeforeSingleLineComment and make pass
 * - phpcs: Enable Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore and make pass
 * - Hooks: Replace deprecated APIEditBeforeSave with EditFilterMergedContent
 * - Removes dead code
 * - VisualEditor support of the pagequality tag
 * - Makes user options also work when the value is "1" instead of 1
 * - More lenient parser
 * - Avoids to fail if Image::transform returns false
 * - Sectioned edit target for page namespace
 * - Remove from wikitext output

SemanticForms

 * - Fix for 65d5517 to work with PHP < 5.4
 * - Another refactoring fix

SpamBlacklist

 * - Use EditFilterMergedContent instead of APIEditBeforeSave hook

SyntaxHighlight_GeSHi

 * - Add missing LICENSE and AUTHORS files

TemplateSandbox

 * - Add API support

TimedMediaHandler

 * - Update ogv.js to 1.1.3
 * - TMH: Remove old commented code of video.js player
 * - Very simple info button for video.js
 * - Remove poster attribute from elements
 * - TimedMediaHandler: Don't try to calculate width and height for audio files
 * - Update videojs-ogvjs to 1.2.0
 * - Enable 720p and 1080p .ogv Ogg Theora transcodes
 * - Generate src timedtext links with current protocol
 * - Don't resample audio with ffmpeg2theora, it's unreliable
 * - Allow mwEmbed to pick up classes from media element

Translate

 * - TranslateDeleteJob: Fix result of errors value when deletions fail
 * - SpecialManageTranslatorSandbox: avoid FOUC
 * - Improve statsbar updates
 * - Improve accuracy of message status updates
 * - Remove JsSelectToInput::setSourceId
 * - TranslateHooks::searchProfileForm: Add link to Special:SearchTranslations
 * - TranslateHooks::searchProfileForm: use TranslateUtils::getLanguageNames
 * - Use User::newSystemUser if available
 * - Remove expanded class from message group selector
 * - Improve message group selection in Special:Translate
 * - Use page content language instead of content language in Special:PageTranslation

UniversalLanguageSelector

 * - Revert "Fix ULSCompactLinksEnableAnon configuration"
 * - Fix ULSCompactLinksEnableAnon configuration

UploadWizard

 * - mw.UploadWizardDetails: Fix handling for 'titleblacklist-forbidden' error
 * - mw.errorDialog: Make the error message dialog larger
 * - uw.TitleDetailsWidget: Parse TitleBlacklist messages

VisualEditor

 * - Ensure text version of counter is written to external links when copying
 * - Update VE core submodule to master (be57e9c)
 * - screenshots: Add task for Math dialog
 * - screenshots: Groups some tasks into sessions to improve performance
 * - screenshots: Add multi-language support
 * - Add screenshots grunt task for taking documentation screenshots
 * - Allow extensions to register a specific target per content model
 * - Use debug for stash messages to match core
 * - Make visualeditor-quick-access-characters.json always exist
 * - Make namespace and content model lists extensible

WikimediaEvents

 * - search satisfaction: Check session is still active after page load

ZeroBanner

 * - Remove ZeroOpts & obsolete protocol detection and logic variation

ZeroPortal

 * - Minor updates to reflect switch to HTTPS-only