MediaWiki 1.27/wmf.17/Changelog

Core changes

 * - [1.27.0-wmf.15] MF cache pollution debug log
 * - Fix ApiQueryInfo break from use of WatchedItemStore
 * - Add WatchedItemStore::countWatchedItems
 * - WatchedItemStore add db connection helper methods
 * - Reset WatchedItemStore default instance after tests
 * - Move dbSetup=true; follow-up d920237
 * - Fix undefined $modelId in MWUnknownContentModelException
 * - Add a structure test to validate all extension.json files
 * - SpecialVersion: Just use HTTPS links to mw.org instead of protocol-relative
 * - Remove support for non-Composer PHPUnit
 * - resourceloader: Remove 'require' and 'module' from debug mode
 * - Use WatchedItemStore::countWatchers in SpecialWatchlist
 * - Add countUnreadNotifications to WatchedItemStore
 * - Move countVisitingWatchers to WatchedItemStore
 * - Move counting of watchers to WatchedItemStore
 * - Improve cache assertions in WatchedItemStoreUnitTest
 * - Make use of …::class feature in ContentHandler/DatabaseUpdater
 * - Uncache things in WatchedItemStore::updateNotificationTimestamp
 * - Follow-up Ia16e19985: Fix table sort arrow direction
 * - Don't add label-elements for elements that doesn't have one
 * - build: Update grunt-jscs to 2.8.0
 * - registration: Improve error message for non-array attributes
 * - Update Karma's QUnit to v1.22.0
 * - Convert array syntax to [] in Makefile.py
 * - Upgrade QUnit to v1.22.0
 * - Add support for External Store for unit tests
 * - Add description for mw.hook#event-postEdit in JavaScript
 * - Add link to anon's user page; remove "Not logged in"
 * - Move some LocalFile comments around
 * - Change remaining places to use short array syntax
 * - Wikimedia\Assert\Assert is never used
 * - Don't return PHPUnit_Framework_MockObject_MockObject when not needed
 * - Update and correct documentation in Language class
 * - i18n of submit button on Special:ChangeContentModel
 * - completionSearch: try an exact match even if the backend returns no result
 * - OutputPage: Set wgPageContentLanguage to pageViewLang instead of pageLang
 * - mediawiki.api.parse: Allow parsing pages
 * - Chinese Conversion Table Update 2016-1
 * - resourceloader: Create ResourceLoaderContext::msg method
 * - resourceloader: Inverse hasOwn check to fix require in debug mode
 * - Avoid rebuilding database fixtures for every test run
 * - Replace create_function with a closure
 * - Convert timing to ms before we've recorded too much data
 * - Remove some deprecated functions from ApiBase
 * - HTMLFormFieldWithButton: Don't make the button primary by default
 * - Use ipb_id when updating expiry in Block::updateTimestamp
 * - composer-merge-plugin: Bump to latest upstream version
 * - Clean up XCFHandler::getImageSize
 * - Fix mw.viewport.isElementInViewport with scrolled page
 * - Respect undeclared command line options
 * - HttpFunctions: Log in English
 * - Allow passing a language into Status::getWikiText etc.
 * - Check User::isSafeToLoad in LanguageConverter
 * - Include user name in Special:BotPassword success messages
 * - Log a backtrace with "sessions are supposed to be disabled" message
 * - phpunit: Abstract user-lang override in MediaWikiTestCase
 * - StubObject: Remove redundant _call method in StubUserLang
 * - mediawiki.inspect: Expose total size in bytes from mw.inspect
 * - Don't quote assert expressions in DairikiDiff
 * - HTMLForm: Use OOUI\Element::configFromHtmlAttributes instead of rolling our own
 * - OutputPage::out was removed
 * - OutputPage::setAllowedModules was removed
 * - OutputPage::getHeadItems was removed
 * - OutputPage::getScript was removed
 * - Update OOjs UI to v0.16.2
 * - Remove deprecated Language::getLangObj
 * - Remove deprecated Language::specialPage
 * - Remove deprecated Language::GetLanguageName
 * - Normalize user provided URL link for Special:LinkSearch page
 * - Remove deprecated Language::getTranslatedLanguageNames
 * - Remove deprecated Language::getLanguageNames
 * - Hygiene: Add wrapHTML method
 * - Use header_register_callback to avoid caching responses with Set-Cookie headers
 * - Minor update on login form on layout and buttons
 * - user: Remove debug entries from User::isValidUserName rejections
 * - ChangesList: Add support for context source in ChangesList::flag
 * - ChangesList: Use context language for LogPage::getName message
 * - Use an example with working digit transformation
 * - Remove use of "successful" in strings
 * - Make UploadBase use TempFSFile to wrap the temporary file
 * - build: Ignore phpcs in /skins but not /includes/skins
 * - Deprecating: Consolidating `progressive` & `constructive` buttons

Vendor

 * - Update TextCat to 1.1.3
 * - composer-merge-plugin v1.3.1

CheckUser

 * - Extract duplicated code into its own method
 * - SpecialCheckUser: Minor code cleanup
 * - SpecialCheckUser: Use Linker instead of  tags directly

CirrusSearch

 * - Adding scripts to restart elasticsearch cluster.
 * - Attempt to fix intermittent failure of frozen_index_api.feature:30
 * - Allow phraseBoost to be set to 1 or lower
 * - CompletionSuggester: add support for ICU Folding
 * - CompletionSuggester: add support for crossnamespace redirects
 * - Encode data transfered between processes in StreamingForkController
 * - Fix Cindy tests

Cite

 * - Drop backwards-compatibility ext.visualEditor.mwreference module
 * - Use ResourceLoaderContext::msg in CiteDataModule
 * - Remove num parameter from referencesKey function

Citoid

 * - CitoidDataModule: Fetch JSON config in content language
 * - Inspector: Position button above mw-body-content

CodeEditor

 * - Update Ace and use scoped require / define

ConfirmEdit

 * - Allow IP whitelist to be modified on wiki

ContentTranslation

 * - API cxsave: Prevent php error when target title object is null
 * - Fix PHP error in ApiContentTranslationDelete
 * - Better announce new optional MT services available
 * - Revert "Do not attempt adding orphan section unless source article is old revision"

DonationInterface

 * - Don't log exception on refused CC authorization
 * - Actually fix messageExists test
 * - Remove fiscal number validation for PE and MX
 * - Don't ask for fiscal number in Mexico or Peru
 * - Move getBlahPage methods out of gateway class
 * - Fix BBVA Bancomer bank code
 * - Fix some Mustache CSS for narrow screens
 * - Add form settings for new AstroPay methods
 * - Add PSE bank trasfer to AstroPay adapter
 * - Add UYU currency to AstroPay adapter
 * - Fix bug so we use invalid amount error
 * - Fix one currency selector edge case
 * - Partial fix for busted check that a translation exists
 * - Ensure $results is defined before use

Echo

 * - Have mw.echo.api.APIHandler.markItemRead actually return a promise
 * - Ignore value of MW_PHPUNIT_TEST
 * - Make clear not to translate 'alert'/'message'/'all' in API docs.
 * - Follow-up 9a1defa5: unbreak mention notifications
 * - Allow mark-as-unread in notifications
 * - thank-you-edit: Cast counts as integers before comparing
 * - thank-you-edit: canRender for deleted page and extra fix
 * - Follow-up 9a1defa: fix function name typo
 * - Fix bundled notification width
 * - Call static Language::fetchLanguageName statically
 * - Bidi isolate content items in notification header text
 * - Defer onPersonalUrls DB writes to post-send (try #2)
 * - Fix duplicate impression logging
 * - thank-you-edit: Only call User::getEditCount once
 * - Revert "Defer onPersonalUrls DB writes to post-send"
 * - Clean up some code in EchoEmailBatch
 * - Add debug logging for when the thank-you-edit code detects a race condition

EducationProgram

 * - Bidi-embed course names in notifications

FlaggedRevs

 * - Revert "Compress PNGs with zopflipng"
 * - Add jshint to npm

Flow

 * - Unblock pasting of links in VE
 * - Wrap section name in tags in 'new topic' notification text
 * - Bidi-embed topic titles in notifications
 * - Split flow-action-unsupported into two errors, and add real messages
 * - Replace create_function with a closure
 * - Only phplint PHP files that actually changed
 * - Minor qqq tweak for notification-links-flow-description-edited-view-page
 * - Turn dumpBackup into proper Maintenance script

Gather

 * - Pass extension.json schema validation
 * - Failed to find gather-remove-from-failed-collection-toast

GettingStarted

 * - Add jshint to npm

Kartographer

 * - Add CSS style
 * - Add coordinate formatter

LiquidThreads

 * - Replace deprecated OutputPage::addParserOutputNoText

Math

 * - Document command-line arguments for texvc

MobileFrontend

 * - Avoid request overhead for legacy modules
 * - Updates to MobileFormatter and ApiMobileView PHPUnit tests
 * - Lazy-load: Avoid jQuery filter due to pushStack memory
 * - Lazy-load: Remove redundant spinner lookup
 * - Limit mobile-specific editor stylings to mobile mode only
 * - Only lazy load images after the first section
 * - MobileFormatter: Move lazyLoadImages rewrite to be per-section
 * - Minor clean up of MFResourceLoaderParsedMessageModule
 * - Perform sectioning in MobileFormater via DOM
 * - Add message box styles to non-js editor
 * - Hygiene: Call static Language::fetchLanguageName statically
 * - Use the src attribute Luke
 * - mobileview api should support revisions
 * - Remove util.isElementInViewport in favor of mw.viewport
 * - Do not show the parent language if it doesn't exist
 * - Upgrade isElementInViewport to be more exact
 * - Add a missing language code
 * - Do not impact API with lazy loading changes
 * - Remove reference to echo-notification-count (unused)
 * - Fix parser cache issues
 * - Hygiene: Re-remove qqq codes
 * - Fix use of non-existing messages
 * - Trigger lazy loading images after Skin changes

OAuth

 * - Use HTMLComboboxField on Special:OAuthConsumerRegistration

OpenStackManager

 * - Add jshint to npm
 * - Remove useless proxy modification code
 * - Bidi-embed instance names in notifications
 * - Remove deprecated ApiBase::getPossibleErrors override

PageImages

 * - Refactor duplicate code in LinksUpdateHookHandlerTest

Renameuser

 * - Use mediawiki-codesniffer 0.6.0

Scribunto

 * - Restrict cached results to their original frame

SecurePoll

 * - Replace deprecated Language::getLanguageName(s)
 * - Convert code to using startAtomic/endAtomic
 * - Convert code to using startAtomic/endAtomic

SemanticForms

 * - Update grunt-contrib-jshint to 1.0.0
 * - Use JS from OpenLayers extension if it is installed
 * - Moved all Special:CreateForm functions into SFCreateForm class
 * - Removed unused function SFPageSection::getParamValues
 * - Version 3.6-alpha

TemplateSandbox

 * - Fix param type of hook handler

UploadWizard

 * - Check for "albums" keyword when matching Flickr URL

UrlShortener

 * Newly deployed extension

VisualEditor

 * - Update VE core submodule to master (08b32fd)
 * - Suppress meta dialog on refresh pages if we want to show SET dialog
 * - CommandHelpDialog: Inherit non-corruptively
 * - AceEditorWidget: Use namespaced 'require'
 * - [BrowserTest] Increase the time Selenium waits for VisualEditor to load
 * - Update VE core submodule to master (c1e1bd7)
 * - Prefer error *code* when logging unknown errors
 * - Update VE core submodule to master (5f451d2)
 * - Remove message entries for messages that got deleted a month ago
 * - Use ResourceLoaderContext::msg in VisualEditorDataModule
 * - MWSaveDialog: Fix vertical alignment
 * - Log readonly code for readonly errors
 * - Fix logging of event_action.saveFailure.message for responseUnknown
 * - Better handling of read-only mode
 * - Suppress welcome dialog this time if we're showing the SET pref dialog
 * - Update VE core submodule to master (bf1f2cc)
 * - build: Bump all devDependencies to latest
 * - [BrowserTest] Disable failing language screenshot scenario
 * - build: Tweak jscs jsDoc rule 'checkAnnotations'
 * - mw.DesktopArticleTarget: Fix "Uncaught: Cannot read done of undefined"
 * - [BrowserTest] Disable failing language screenshots

WikiLove

 * - Various WikiLove performance clean up
 * - Clean up hook usage
 * - Remove broken and obsolete WikiLoveLocal::getMessages method

WikimediaEvents

 * - Dont submit invalid events
 * - Run AB test with phrase boost of 1

WikimediaMessages

 * - Add Adyghe Wikipedia to search-interwiki-results

ZeroBanner

 * - Fix broken external links