MediaWiki 1.27/wmf.9/Changelog

Core changes

 * - Updated extensions/Wikidata
 * - Update CentralNotice submodule
 * - Remove mediawiki.special.javaScriptTest module
 * - Update VisualEditor for I9a47e5d6 & Id0563a14
 * - Update CentralNotice
 * - Allow overriding the resultSetType reported via event logging of suggestions
 * - No-op the notify*/purge methods in JobQueueAggregatorRedis
 * - Make ApiStashEdit use statsd metrics
 * - mw.MessagePoster: Fix creation of mw.Api object
 * - Make edit stashing use named DB locks
 * - Remove OutputPage::loginToUse: deprecated since 1.19 & unused
 * - Remove OutputPage::appendSubtitle; deprecated since 1.19 & unused
 * - ApiLogin: Deprecate certain response values
 * - Tweak wording for 'contentmodelediterror'
 * - mw.ForeignStructuredUpload.BookletLayout: Remove unnecessary @embed annotations
 * - mw.ForeignStructuredUpload.BookletLayout: Option 4: Add RTL images
 * - mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form
 * - mediawiki.api.user: New module, factored out of mediawiki.user
 * - mw.ForeignStructuredUpload: Add '' template if no categories given
 * - mw.ForeignStructuredUpload.BookletLayout: Option 2: Image improvements
 * - mw.ForeignStructuredUpload.BookletLayout: Option 4: Image improvements
 * - Avoid "CAS updated failed" errors on Special:Preferences double post
 * - mw.ForeignStructuredUpload.BookletLayout: A/B test of 4 different interfaces
 * - Follow-up 23cfe1bba: harmonize image embedding CSS
 * - mw.Upload.Dialog: Make the dialog higher (600px)
 * - Add release notes for removed function and class
 * - Special:Preferences Remove red box in email and changed confirm error to warning
 * - Add case-changing magic words to mw.jqueryMsg
 * - registration: When converting, place 'namemsg' under 'name'
 * - Fix HHVM RepoAuthorative mode again
 * - SpecialChangeEmail: Remove dead code (whole 'mediawiki.special.changeemail' module)
 * - Move PSR-3 support check right after autoloader setup
 * - Work around APCu memory corruption bug
 * - Fix missing semi-colon: &#160 -> &#160;
 * - resourceloader: Remove obsolete msg_resource database table
 * - resourceloader: Remove obsolete msg_resource_links table
 * - Fix case of wfWikiID calls
 * - Add user and previous rev to HistoryRevisionTools, and user to DiffRevisionTools
 * - Remove wfIsConfiguredProxy, deprecated since 1.24
 * - Remove wfDebugTimer, deprecated in 1.25
 * - Remove wfIsTrustedProxy, deprecated since 1.24
 * - Remove wfGetIP, deprecated since 1.19
 * - Fix spelling in EXIF message: seperated -> separated
 * - No prefix suggestion of special and media namespace on special pages
 * - Localization: Gave each special page its own message
 * - Remove wrong usage documentation in comments
 * - Fix some MWExceptionHandler IDEA errors
 * - Add various point release release notes to HISTORY.
 * - Fixed Special:PasswordReset message
 * - Fixed incorrect size for api result
 * - Resolve code invoking Title::newFromURL
 * - Rename getSquidURLs => getCdnUrls
 * - Cleanup test jobs better
 * - Check User::getId in makeTestEdits.php
 * - Use GAID_FOR_UPDATE for getArticleID in LinksUpdate
 * - Add script to generate random test edits for a user
 * - Make redis JobQueueConnectionError mention the host
 * - Improve addNewAccountMailPassword docs
 * - Localisation: Gave each special page its own message
 * - Remove wfForeignMemcKey usage from JobQueueRedis::getQueueKey
 * - Remove JobQueue::setTestingPrefix hack
 * - Fix bad regex in 6fe2f48df
 * - Add per-partition JobQueueRedis aggregation
 * - Timing::measure: handle missing marks better
 * - Add $wgCdnReboundPurgeDelay for more consistent CDN purges
 * - mw.Feedback: Support leaving feedback on foreign wikis
 * - mw.messagePoster: Support foreign wikis
 * - Removed unnecessary blank line in Special:Export page
 * - Fix MovePage Special Page for Korean
 * - Replace "squid" with "CDN" in various comments
 * - resourceloader: Avoid using 'message' in log message key
 * - Rename setSquidMaxage => setCdnMaxage
 * - Rename SquidUpdate => CdnCacheUpdate
 * - Move inline $wgStatsdMetricPrefix default to DefaultSettings.php
 * - Update grunt-jscs to 2.5.0
 * - resourceloader: Re-enable getVersionHash test
 * - Remove redundant 'type' attributes from style and script tags
 * - TOC: Move JavaScript-related styles to the same module
 * - Make TitleMoveComplete hook events apply in transactions
 * - Fix various mistakes in PHPDoc comments
 * - ApiSiteInfo: Added a way to check if uploads are enabled
 * - Additional release note for I495683
 * - Fix stray $1 in some Special:Tags error messages
 * - Clean up recentChangesFlags rollups
 * - Reserve data-mw and data-parsoid attribute prefix for trusted values
 * - Update OOjs UI to v0.14.1
 * - resourceloader: Migrate from msg_resource table to object cache
 * - Set Language in SpecialSearchTest.php
 * - Remove INSERT value for page_counter variable
 * - Remove dead code about nlinks from Special:Wantedpages
 * - Comment out getSubpagesForPrefixSearch of Special:Tags
 * - Adjust datetime in email confirmation email
 * - PHP 7 compatibility: Fix variable interpolation in RevisionDeleter.php
 * - PHP 7 compatibility: Fix variable interpolation in ImageGalleryBase.php
 * - Call Skin::setRelevantUser on Special:UserRights
 * - Remove uncalled Skin::getNamespaceNotice
 * - Add error checking for file argument
 * - SpecialPagesWithProp: Use 'combobox' field and convert to OOUI
 * - DefaultSettings.php: Use .invalid as invalid e-mail address (RFC 2606)
 * - Support all values for exif PhotometricInterpretation

BetaFeatures

 * - BetaFeatures only add whitelisted preferences

Cards

 * - Use background-size:cover for thumbnails
 * - Add release notes

CentralAuth

 * - Use Database::addQuotes instead of rolling our own
 * - Allow filtering on Special:GlobalRenameQueue
 * - Replace DB begin/commit with startAtomic/endAtomic as needed
 * - Remove stray commit in WikiSet::delete
 * - Remove some unnecessary begin/commit calls
 * - Replace DB begin/commit with startAtomic/endAtomic as needed
 * - Replace DB begin/commit with startAtomic/endAtomic as needed

CirrusSearch

 * - override the resultSetType reported for search as you type event logging
 * - Fix array-to-string conversion
 * - Add Completion Suggester as a Beta Feature
 * - Always output arrays for user testing log parameters that are uniqued
 * - Suggester index should index only NS_MAIN for now.
 * - Optimize suggester index creation
 * - Utilize the master timeout for creation and deletion as well
 * - Include language detection results in control bucket
 * - Add $wgCirrusSearchMasterTimeout to deal with master slowdowns

Citoid

 * - Remove no longer needed ContentHandlerDefaultModelFor hook
 * - VE: Rename parent tool

ContentTranslation

 * - Fix Undefined index: targetRevisionId in ContentTranslation
 * - Add targets to duplicated resource loader definitions (EasyDeflate)
 * - Category tool: Use the correct sitemapper instance
 * - Improve the coloring of error and success messages.
 * - Save the revision id of source and published article in cx_translations
 * - Display abusefilter errors nicely
 * - Suggestions: Use flexbox to align action items in middle
 * - Fix check for JWT
 * - Avoid fetching the draft if it was deleted
 * - Do not drop id-less draft sections
 * - Cleanup jshint config
 * - Adjust the visual hierarchy of suggestion items
 * - Add support for running jshint and jscs through npm

DonationInterface

 * - fiddle with iframe container/content height
 * - Store new ID to the session when regenerating Order ID
 * - Handle another GC error indicating Order ID reuse

Echo

 * - Add missing @throws tag and change Exception subclass being thrown
 * - Fix broken and incomplete PHPDoc tags
 * - Fix visibility of setUp methods in tests
 * - Unbreak notformat=text|html in the API
 * - Add support for cross-wiki notifications to Schema:EchoInteraction
 * - Also support continuation requests for $unreadFirst
 * - Share code between EchoNotificationMapper::fetchByUser & fetchUnreadByUser
 * - Update grunt-jsonlint to 1.0.6
 * - Presentation model for edit-user-talk
 * - Bump Schema:Echo to oldid=7731316
 * - Use CentralIdLookup instead of hardcoding for CentralAuth
 * - Redirect anonymous user to login page from Special:Notifications

ExtensionDistributor

 * - Remove commented out var_dump
 * - Fix closing div if popular list isn't enabled

FlaggedRevs

 * - Resolve code invoking Title::newFromURL

Flow

 * - Revert "Include Flow topics in Nuke"
 * - Revert "Fix a database connection that was not cluster-aware in Nuke hook"
 * - Fix a database connection that was not cluster-aware in Nuke hook
 * - Include Flow topics in Nuke
 * - Make patch-reference_wiki*.sql work with prefixed tables
 * - Implement AbstractCollection::newFromRevisionId
 * - Make InvalidInputException loggable
 * - Show topic title in plaintext in ToC
 * - Fix misspelled setUp in RevisionStorageTest
 * - Fix broken and incomplete PHPDoc tags
 * - setUp methods in tests must be protected, not public
 * - FlowPopulateRefId.php: Only process the current wiki
 * - Update messagePoster implementation for foreign wiki support
 * - Unbreak references to rename VisualEditor mw.ArticleTarget class
 * - Use plaintext topic title rather than wiktext for the
 * - Wrap topic lock/unlock standalone instance with flow-board div
 * - Flow notification presentation models
 * - Fix braces by
 * - Add GENDER to flow-notification-link-text-enabled-on-talkpage

Gadgets

 * - Fix double "MediaWiki:MediaWiki:" namespace on Special:Gadgets
 * - Bump MediaWikiGadgetsDefinitionRepo cache version

GeoData

 * - Ditch $wgGeoDataDisableParserFunction

Graph

 * - Bumped to d3 3.5.12, vega to 2.4.2
 * - Fixed CORS issue with MW api calls
 * - VE: Mark all graphs with ver 1
 * - Fixed http(s) untrusted header bypass
 * - Add custom wiki protocols for data access
 * - Bumped Vega lib, don't send Treat-As-Untrusted
 * - Compress graph_specs page property
 * - Add tracking category for obsolete Vega1.0 graphs
 * - Fix graphs overlapping with next line in readmode
 * - VE: Rename parent tool
 * - Fix icon position in Play button
 * - Interactive graphs button cleanup

LiquidThreads

 * - Resolve code invoking Title::newFromURL

Math

 * - Logging: adjust the log entry levels
 * - Minor: rename checkTex to checkTeX
 * - Ask for the MathML and SVG renders only if the input is valid
 * - browser test: fix logic to find edit action
 * - Make math usable without RESTbase
 * - Begining -> beginning
 * - MathRestbaseInterface: Only read properties we know exist
 * - Do not cache MathML results in database

MobileApp

 * - Roll out RESTBase usage to Android Beta app: 55%
 * - Roll out RESTBase usage to Android Beta app: 30%

MobileFrontend

 * - Schema:MobileWebSectionUsage: always log the isTestA field
 * - API: Use page_touched for cache invalidation
 * - Add username to title on Special:Uploads
 * - MobileFrontend fix back on Special:Nearby
 * - Rename 'onSurfaceReady' to 'surfaceReady'
 * - Allow measuring impact of section collapsing in Schema:MobileWebSectionUsage
 * - Solved arrow-up as arrow-down scaled in Y by -1
 * - Use WikidataPageBanner instead of MobileFrontend specific code from banners
 * - Don't redirect Flow boards to SpecialMobileHistory
 * - Ensure the parser cache varies on images disabled and 'light' images
 * - Don't render a toast on page load
 * - MobileFrontend allow anons to see per user uploads

MultimediaViewer

 * - Upgrade to the latest version of mediawiki_selenium Ruby gem
 * - Fixed Style/StringLiterals RuboCop offense
 * - Fixed Style/VariableName RuboCop offense
 * - Fixed Style/TrailingBlankLines RuboCop offense
 * - Fixed Style/Semicolon RuboCop offense
 * - Fixed Style/RegexpLiteral RuboCop offense
 * - Fixed Style/LeadingCommentSpace RuboCop offense
 * - Fixed Lint/UnusedBlockArgument RuboCop offense

Nuke

 * - Hooks to extend pages retrieval and deletion

OAuth

 * - Revert "Add owner-only consumers"
 * - Fix MWOAuthDAO IDEA errors
 * - Update .gitignore for Composer
 * - Fix typo in special page name

OpenStackManager

 * - OSM trying not to create empty groups
 * - OpenStackManager: remove obsolete isVirtual handling

Popups

 * - Use ExtensionRegistry to determine whether TextExtracts is installed

Quiz

 * - Remove unused i18n shim

RelatedArticles

 * - Fix loading related articles on small screens

Score

 * - VE: Rename parent tool

SemanticForms

 * - Remove deprecated loadContent
 * - Remove position from ext.semanticforms.wikieditor module

SpamBlacklist

 * - Removed useless begin/commit calls from CLI script

SyntaxHighlight_GeSHi

 * - Fix inheritance of ve.ui.MWSyntaxHighlightDialogTool

TextExtracts

 * - Add missing use statement
 * - Converted TextExtracts to new extension registration system

Thanks

 * - ApiFlowThank: Update for topic title changes in Flow

TimedMediaHandler

 * - Update grunt-jscs to 2.5.0

Translate

 * - Cleanup jshint rules

UploadWizard

 * - mw.UploadWizardDetails: Don't fail when 'description' is given, but 'descriptionlang' isn't
 * - Don't use a hook to add CSS to Campaign pages
 * - Remove unnecessary begin/commit pair in onPageContentSaveComplete
 * - Campaigns: Add templatelinks through ParserOutput

VisualEditor

 * - Update VE core for I293442a6
 * - Fix inheritance of ve.ui.MWTransclusionDialogTool
 * - Try to actually resolve visualeditor-editor preference setting when switching editors
 * - Fix up "Simplify some SET logic"
 * - Simplify some SET logic
 * - Revert "DesktopArticleTarget: Don't abort in SET mode if veswitched is set"
 * - ve.ui.MWMediaDialog: Make the dialog higher (600px)
 * - Update VE core submodule to master (c9ab407)
 * - Take pageCanLoadVE into account when figuring out whether VE will load in-page or not
 * - Fix setEditorPreference call
 * - Remove no longer needed ContentHandlerDefaultModelFor hook
 * - DesktopArticleTarget: Don't abort in SET mode if veswitched is set
 * - DesktopArticleTarget: Consolidate editor preference setting code
 * - Try to clean up the WT->VE prompt opened -> closing -> closed data callbacks
 * - Remember switching into VE from WT when discarding changes
 * - Check that we really want VE before loading it for section edits
 * - build: Update various devDependencies to latest
 * - Update VE core submodule to master (19e50b7)
 * - Use upstreamed actionGroups functionality
 * - [BREAKING CHANGE] Create ve.init.mw.Target base class
 * - DesktopArticleTarget: Fix signature of editNotices
 * - Single edit tab: Fall back to the wikitext editor when certain parameters show up
 * - Update VE core submodule to master (601ba8c)
 * - Let the feedback tool be configured for a remote wiki
 * - Rename mw.Target to mw.ArticleTarget
 * - Don't check editor preferences etc. if user wants veaction=edit
 * - Hide VE tabs preference when user has disabled VE
 * - Single edit tab: Update preference value
 * - Switch numbered link context to "delete" instead of "clear"
 * - Edit mode switching: Tell VE if the wikitext was modified
 * - Avoid useless jQuery.click shortcut
 * - DesktopArticleTarget: Handle section edit link clicks in single edit tab mode
 * - Fix typos
 * - Make clear button on numbered external links remove the node
 * - EducationPopup: Increase z-index above toolbar dialog's
 * - Update VE core submodule to master (cd979fe)
 * - build: Add grunt-tyops
 * - ve.ui.Icons.css: Fix inpsector typo
 * - MWSaveDialog: De-flag the 'return to save' button on diffs

WikidataPageBanner

 * - Add jscs to grunt
 * - Added WikidataPageBanner support for extraClass

WikimediaEvents

 * - Actually define tags for cross-wiki upload A/B test
 * - Multimedia cross-wiki upload A/B test
 * - i18n: Don't mis-lead people on source of cross-wiki uploads
 * - Only report timing.editResponseTime if start/end measures are present

WikimediaMaintenance

 * - refreshMessageBlobs: MessageBlobStore::clear is not static
 * - Update refreshMessageBlobs.php to match MessageBlobStore changes in core

WikimediaMessages

 * - Remove now unused extdist-* messages

Vector

 * - Make "Not logged in" gray text WCAG AA compliant
 * - Update grunt-jscs to 2.5.0
 * - Make placeholder in logged-out personal bar greyed out