MediaWiki 1.28/wmf.7/Changelog

Core changes

 * - Updated git submodules
 * - Updated git submodules
 * - add option to XML dump stubs of page ranges with explicit rev_id ordering
 * - mediawiki.action.edit.stash: Restore dependency to 'jquery.getAttrs'
 * - UsageException: Validate that $codestr is a non-empty string
 * - Restore load position override for 'site.styles' module
 * - registration: Add support for $wgGrantPermissions & $wgGrantPermissionGroups
 * - Show request id in Exception pages even if $wgShowExceptionDetails is false
 * - Provide CategoryAfterPageRemoved hook handlers with deleted page IDs
 * - Add 'ApiMakeParserOptions' hook
 * - Fix LegacyHookPreAuthenticationProvider::testUserForCreation
 * - Add $options parameter for testUserForCreation
 * - Add tests for ApiQueryWatchlistRaw
 * - Fix documentation of the dir parameter of list=watchlistraw API action
 * - Render bad images in wikitext as links
 * - Deprecate Parser::disableCache
 * - Add statsd logging of DeferredUpdates
 * - Handle session reset errors in invalidateSessionsForUser.php
 * - Improve edit stashing when vary-revision is used
 * - Remove no-longer needed backported class from phpunit
 * - Split off basic styles from the JavaScript module 'mediawiki.action.history'
 * - test: basic test for ApiStashEdit
 * - mediawiki.action.edit: Merge with mediawiki.action.edit.stash
 * - Fix handling of error messages from the 'SpecialPasswordResetOnSubmit' hook
 * - Fix typo in 'log-action-filter-suppress-block'
 * - Rephrase 'upload-foreign-cant-load-config' for clarity
 * - Add invalidateUserSessions.php maintenance script
 * - Add hook to modify Special:Contributions lines
 * - Revert "wfShellExec: Work around PHP 5.3 stream_select issue"
 * - resourceloader: Create 'site.styles' module
 * - Fix typo in mw-config/overrides/README
 * - Set getCacheTTL to 50 for SpecialRecentChanges
 * - Simplify and cleanup maxIncludeCacheTime code
 * - Fix WAN cache stashing bug due to missing list call
 * - Fix FakeTemplate usage in LoginSignupSpecialPage
 * - Fix RSpec::Expectations::ExpectationNotMetError in Selenium tests
 * - Make Selenium tests work with AuthManager
 * - update.php: Don't check for mbstring extension
 * - Let EnhancedChangesListModifyLineData Hook change classes as well
 * - Use GenderCache service in ApiQueryWatchlistIntegrationTest
 * - Remove "jshint evil:true" where not required
 * - Make transcluded special pages not disable cache in miser mode.
 * - Use a low TTL for parser output when special pages are included
 * - Maintenance: Use __DIR__ instead of dirname( __FILE__ )
 * - Improve client-side edit stash change detection
 * - Move fatal PHP functions checks to initialization
 * - Improvements to handling
 * - Track deletion timestamp in LinksDeletionUpdate
 * - Perform edit stashing when the edit preview or diff form is requested
 * - Sync up with Parsoid parserTests.
 * - Explicitly specify the width of the search input on Special:Search
 * - Don't misname login button
 * - Remove unused and undocumented $wgUseMasterForMaintenance
 * - Use the specified page ID for LinksDeletionUpdate
 * - Add an audio file parser test
 * - DumpUploads: output local path instead of mwstore path

AbuseFilter

 * - Avoid using computed variables to determine stash keys
 * - Move the filter pre-caching outside of the DB lock
 * - Add $options parameter for testUserForCreation
 * - Cache AbuseFilter::checkAllFilters during edit stashing

AntiSpoof

 * - Add $options parameter for testUserForCreation
 * - Revert "Make sure AntiSpoof mappings are mapping in the correct direction."

CentralAuth

 * - Split CentralAuthUser::queryAttached into cheap and expensive part
 * - Cleanup handling of unattached users in session and authn providers
 * - Add UserIsLocked and UserIsHidden hook handlers
 * - Improve provider's canCreateAccount logic
 * - Account for changed login process

CirrusSearch

 * - Checker: properly check if a page is a redirect

Cite

 * - Relicense ApiQueryReferences as GPL-2.0+

ConfirmEdit

 * - Fix No metadata block in the lzh messages file error

ContentTranslation

 * - Add full stop to echo-pref-tooltip-cx
 * - cxpublish API: Confirm the ownership of translation while publishing
 * - Change TimeStamp to Timestamp
 * - Allow anon users to use query API to find translation
 * - Adapt the contributions menu campaign description style

DonationInterface

 * - Add express checkout identifier to order_id
 * - Removes some aberrant single quotes.
 * - Fix test mode typo
 * - Kill staged_vars

Echo

 * - SubGroupListWidget: use timestamp from model, not from listWidget
 * - Improve client-side unread count estimation
 * - Define global transition vars before using them
 * - Clarify mention error log comment
 * - Gracefully handle outdated echo_unread_wikis rows
 * - Add missing parameter to a message
 * - Remove automatic mark-as-read-when-seen
 * - Try to extract an excerpt from a revision
 * - backfillUnreadWikis.php: Add rebuild mode
 * - NotifUser: rename preloadKeys to getPreloadKeys and make it tolerate uncomputable keys
 * - Revert "Implement backfillUnreadWikis.php in terms of resetNotificationCount"
 * - Maintenance script generates edit-thank notifications
 * - Follow-up 05e531c7b6: actually unset notcrosswikisummary
 * - Add index on notification_event
 * - Don't set title for user-rights notifications
 * - Don't mark alerts as read when seen
 * - Allow the primary link to set all bundled notifications as read
 * - ApiEchoNotificatons: Add nottitles parameter

EventBus

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

Flow

 * - Also delete topics that have more recent updates by (only) talk page manager
 * - Don't reimport existing headers
 * - Script to restore LQT topics to their pre-import state
 * - Fix DB source store for nested structures
 * - After completing move, allow a new one to begin
 * - Make BoardMover transactions start implicitly, then commit if needed
 * - Move only ES entries about the current wiki
 * - Follow-up 89880f89d: Actually notify topic watchers of topic-resolved/topic-reopened

Graph

 * - Updated to latest graph2 lib
 * - Ignore optional tags in sandbox
 * - Added geoshape protocol

Kartographer

 * - Automatically set map view if not defined explicitly
 * - Remove 'beta', updated OSM URL
 * - Make full screen control a real link so users
 * - Make a real link so users can open it in
 * - Fix mapframe not displaying properly when placed
 * - Updated style based on forum suggestions
 * - Search for maplinks inside and outside of content.
 * - SECURITY: Fix XSS via __proto__

MobileFrontend

 * - Introduce config variable to control tagline
 * - Remove login and create_account_failure_messages Cucumber features
 * - Promote the enhanced search bar to stable
 * - Remove mobile.special.mobilediff.scripts from extension.json
 * - Enable wikibase descriptions for beta, even if disabled for production
 * - Fix reflow from lazy loaded images improvements
 * - Add missing dependencies to nearby and editor
 * - Prepare Wikidata descriptions for rollout to stable
 * - Restore OverlayManager tests and move back to mobile.startup library

OATHAuth

 * - Fixup qrcode-generating js, to stop race condition.

ORES

 * - Add addQuotes to $threshold
 * - Performance boost on hidenondamaging
 * - Skip when an edit is errored in PopulateDatabase.php

PageAssessments

 * Newly deployed extension

Scribunto

 * - Expose ParserOutput::addWarning to modules
 * - Add namespace translation for gd

SemanticForms

 * - Fix for IDs and tab index for section inputs, from Seb35

SyntaxHighlight_GeSHi

 * - Add pygments/AUTHORS file

TemplateSandbox

 * - Fix doc comments
 * - empty php entry point

Thanks

 * - Remove mobile.special.mobilediff.scripts dependency

TimedMediaHandler

 * - Add a parser test for elements

TitleBlacklist

 * - Add $options parameter for testUserForCreation
 * - chmod -x TitleBlacklist.list.php
 * - Don't show blacklist warning for autoconfirmed protection

Translate

 * - Restore translate-page-showing-none, removed by mistake
 * - Always output a metadata block
 * - PageTranslationHooks::replaceSubtitle: sync with core

UniversalLanguageSelector

 * - Update jquery.ime from upstream
 * - LanguageNameIndexer: Add new language names
 * - LanguageNameIndexer: Rename variables to make this code more understandable

UploadWizard

 * - mw.ApiUploadFormDataHandler: Also handle rejected promises

VisualEditor

 * - Pass empty summary to parseAndStash to avoid warnings
 * - Update VE core submodule to master (a5063fb)
 * - Decode encoded link titles when generating them from text

WikimediaEvents

 * - Fix schema name
 * - searchSatisfaction: extraParams field only takes strings
 * - Textcat search satisfaction subtest for multiple wikis
 * - Fix four bugs in search satisfaction fulltext clicks improperly recorded