MediaWiki 1.27/wmf.19/Changelog

Core changes

 * - Don't emit 404 status code on Special:Redirect
 * - [1.27.0-wmf.15] MF cache pollution debug log
 * - Fix @param and @return types on all PPFrame::getArgument methods
 * - Use ::class in place of string constants
 * - ApiMain: Correct typo in variable name
 * - API: Normalize input URL in ApiQueryExtLinksUsage
 * - Lower pcTTL in checkRedirect to 30
 * - Clear process cache in parser tests
 * - Use distinct log actions for patrol
 * - moment: Correct support language codes sr-el and sr
 * - Request-local caching of image_redirect
 * - jquery.ui.datepicker: Support sr-ec as user interface language
 * - Unblock form handling: Check for 'Tags' index in $data from UI before trying to access it
 * - Fix-up for Iaf90c20c33: add missing slash
 * - Provide a unique request identifier
 * - Http::getProxy method to get proxy configuration
 * - mediawiki.widgets: Remove use of bind for lexical 'this' binding
 * - Datepicker: Use language code sr-el for Serbian with Latin script
 * - media: Misc code clean up in DjVu.php
 * - Allow titles with falsy title text in suggestions
 * - Set doesWrites for Special:Undelete
 * - Avoid master queries on deletion form view
 * - mw.widgets.TitleWidget: Use the Promise for the data as well
 * - Define 'zh-hans' and 'zh-hant' localisations for Moment.js
 * - Throw an exception when the $key argument to hash_hmac is not a string
 * - mw.widgets.TitleWidget.js: Share interwikiPrefixes between multiple instances
 * - Set $wgIncludeLegacyJavaScript false by default
 * - Use WIS:addWatchBatchForUser in SpecialEditWatchlist
 * - Switch Signature of WatchedItemStore::addWatchBatch
 * - Sync up with Parsoid parserTests.
 * - wgUseMediaWikiUIEverywhere false in Html/XmlTest
 * - Factor SpecilaPageExecutor out of SpecialPageTestBase
 * - Introduce basic SpecialEditWatchlistTest
 * - Introduce basic SpecialWatchlistTest
 * - Add missing 'public' keywords to some Language methods
 * - Use WIS::getWatchedItemsForUser in SpecialEditWatchlist
 * - Split Pager classes out of SpecialPage files
 * - Dont count RC_CATEGORIZE in Special:ActiveUsers
 * - Split LocalisationCache.php classes into own files
 * - Cast row namespace to int in SpecialWatchlist
 * - ZipDirectoryReader: Don't try to parse zero-length files
 * - MimeMagic: Prevent PHP warning when trying to read zero bytes
 * - Always use 'bool' instead of 'boolean' in Doxygen tags
 * - Title: Fix inaccurate documentation of getUserPermissionsErrorsInternal
 * - OutputPage: Minor clean up of and HTML
 * - jquery.suggestions: Fix typo "singleton" in documentation
 * - parserTest: Remove mention of non-existent 'noxml' option
 * - Request-local caching of DjVu dimensions
 * - mediawiki.requestIdleCallback: Implement timeRemaining
 * - Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist
 * - Cleanups to WikiRevision
 * - Add WatchedItemStore::getWatchedItemsForUser
 * - Request-local caching of revision text
 * - Fix typos in docs/memcached.txt
 * - Update OOjs UI to v0.16.4
 * - Add new index to make updateCollation.php painless
 * - SessionManager: Use existing backend for the ID if one is loaded
 * - Revert "Add link to anon's user page; remove "Not logged in""
 * - Explicitly mark SkinTemplate properties as public
 * - SpecialUploadStash: Add links to view a thumb of each uploaded file
 * - Ensure that User::getId returns int
 * - Improve sign-up portion of the login form
 * - Use Diffusion for default Git Viewer
 * - Enable filtering by action on Special:Log

Babel

 * - Clean up Doxygen tags

CharInsert

 * - Use type-safe compare

CirrusSearch

 * - Ignore ResultSets that do not return pages
 * - Fix undefined index warnings in prod
 * - Support for Elastica 2.3.1
 * - Add unique id and page ids returned to CirrusSearchRequestSet
 * - Added various rescore functions
 * - Fix cross-namespace redirect scores
 * - Backend support for test swapping second and third result
 * - Don't close an already closed socket
 * - Collect timing information about pool counter usage
 * - Discount aggressively fuzzy suggestions
 * - Collect timing information for getting a pooled curl handle

Cite

 * - Improve handling of cite warnings
 * - Preview of list-defined references

Citoid

 * - VE: Only pass process panel name when mode=auto
 * - build: Bump development dependencies to latest

ConfirmEdit

 * - Add "gook" to blacklist

ContentTranslation

 * - Try to avoid JS error
 * - Fix JS error in MT Card
 * - Translation list: Replace the elipses text with icon
 * - Follow-up I1575901: Don't register a non-existant i18n key
 * - Fix interlanguage suggestions not showing up in IE/Edge
 * - MT: Store the MT provider preference in localstorage
 * - Dashboard: Show thumbnail image even if the title is redirect
 * - Send normalized titles to cxserver

DonationInterface

 * - Fix fiscal number error messages
 * - Fix language setup for AstroPay test
 * - Prefer canonical parameter names in form chooser
 * - Fix AstroPay submethod unstaging
 * - Encapsulate PayPal staging logic
 * - Finish encapsulating Ingenico staging logic
 * - Tests for new ResultPages functions
 * - Catch and log errors in adapter constructors
 * - Stop spinning onunload
 * - Enable fail page without adapter instance
 * - Make parameter optional to thwart type hinting

Echo

 * - Change threshold for survey invitation from 2 unread notifs to 1
 * - Change parameters for user survey footer message
 * - Stop counting notifications objects on the client
 * - jscs: Enable checkParamNames and make pass
 * - jscs: Add "checkTypes": "strictNativeCase" and make pass
 * - Styling changes to the footer message
 * - Bundle memcached requests
 * - build: Bump npm devDependencies to latest
 * - Apply text-decoration: none; on non-hover as well
 * - Remove duplicate mobile module
 * - Rename MobileNotificationsWrapper to NotificationsWrapper
 * - Notification titles should differentiate subpages of the talk page
 * - Let EchoUserNotificationGateway return a different notification count

Flow

 * - Fix new topic notifications
 * - Remove / from Flow.namespaces.php
 * - Clarify comment
 * - Use strong and em instead of wiki markup bold and italics
 * - Remove unused error messages, switch API errors to HTML, and handle that on the client.
 * - Use correct title text for topic reopen/resolve notifications
 * - build: Bump npm devDependencies to latest
 * - Notify when a topic is marked as resolved or reopened
 * - Remove nonexistent message from Resources.php
 * - Add topic-title-plaintext content format to reduce boilerplate code

Gadgets

 * - Gadgets.namespaces localisation for aragonese

GlobalBlocking

 * - Use $this->address instead of $data['Address'] in SpecialGlobalBlock submission

Kartographer

 * - now shows geojson data
 * - Fix
 * - Fix marker support in API
 * - Validation API
 * - [Alternative] Fix the map stopping the scroll and zooming with

Math

 * - Insert MathML content after tidy

MobileApp

 * - Roll out RESTBase usage to Android production app: 50%
 * - Roll out RESTBase usage to Android production app: 25%

MobileFrontend

 * - Have npm doc to install jsduck with bundler
 * - Do not load mobile JS in desktop
 * - Resolve $wgMFLazyLoadImages server-side and vary per-page
 * - Hygiene: Embrace templates
 * - Correctly log the language button position for the Main_Page
 * - Remove MobileWebWatching schema
 * - Hygiene: LESS cleanup
 * - Beta: show language button on Main Page when languags are available
 * - Hygiene: mobile.search.api should not be a parsed message module
 * - Use UnreadNotificationCounter to count notifications
 * - QA: Add browser tests to cover the alternative language button in beta
 * - Add variants to the list of preferred languages
 * - Restore legacy language overlay sort order
 * - Do not bundle languages into subgroups
 * - Remove unnecessary whitespace from LanguageOverlay
 * - Don't parse URL to manipulate query parameters
 * - mobile.editor.api does not depend on mobile.abusefilter
 * - LanguageOverlay: send the correct position tapped value for EventLogging
 * - Regression: Show gray warning triangle in issues overlay
 * - Simplify MobileContext::isBlacklistedPageInternal
 * - Disable problematic integration test
 * - Restore `margin-top` to last modified bar
 * - Make MobileFrontend a private package
 * - Align the drawer in the middle
 * - Update 2 packages
 * - Adjust to renaming of MobileNotificationsWrapper

NavigationTiming

 * - navtiming: No longer send domLoading to EventLogging

OATHAuth

 * - Reintroduce TwoFactorIsEnabled hook
 * - Encrypt password when stored in user session
 * - Fix i18n merge errors
 * - Move token login to separate page
 * - Add user right for enabling two-factor auth
 * - Allow for using separate database for OATH creds
 * - Add grunt-contrib-jshint to npm
 * - Refactored special pages into HTMLForm and proxy
 * - Refactor extension key storage

OpenStackManager

 * - Wikitech: Remove address, domain, proxy special pages.

PageTriage

 * - Pass through deletion reason parameters to talk page notif templates as well
 * - Remove nonexistent messages from Resources.php

Scribunto

 * - Modify Scribunto namespaces for Aragonese

SemanticForms

 * - Small improvements to SF_Hooks.php
 * - Improvements to new SFFormField::setValuesWithMappingProperty method
 * - Removed setting of JS from formHTML (set via sfAddJavascriptToForm hook)
 * - Moved mapping-related methods from SFValuesUtils to SFFormField
 * - Fixes for ec27acd
 * - Fixes for 4c57214
 * - Moved template parsing from SFTemplateInForm to SFTemplate

TemplateData

 * - build: Bump devDependencies to latest and make pass

TimedMediaHandler

 * - Update video-js to 5.8.6, Update videojs-resolution-switcher to 0.4.1
 * - Update parser test for core change

Translate

 * - Fix regressions in insertables placement
 * - Fix message group selector for IE/Edge
 * - Update comments for dir=auto
 * - Change hook docs to be more consistent in style
 * - Remove unneeded return trues from most hooks
 * - Use bool over less common boolean in docs
 * - Disable user resize of translation textareas
 * - Remove local helplink implementation

TranslationNotifications

 * - build: Bump some npm devDependencies
 * - Update mediawiki-codesniffer to 0.6.0

UniversalLanguageSelector

 * - jQuery.IME: Bump to master (b6102fb)

UploadWizard

 * - uw.controller.Step: Refactor simultaneous transitions
 * - mw.UploadWizard: Recreate the after every value change
 * - Don't make failed thumbnails smaller
 * - Prevent browsers from caching errored thumbnails
 * - Don't try to read a file to make thumbnails if there's none
 * - Remove full stop from message 'mwe-upwiz-override'
 * - Give Grade C browsers the correct no-JavaScript experience
 * - Remove the ability to configure enableFormData, enableMultiFileSelect, enableMultipleFiles
 * - Remove mw.isEmpty
 * - uw.TitleDetailsWidget: Use spaces rather than underscores in file name in error messages

VisualEditor

 * - Update VE core submodule to master (18bac29)
 * - Select tool when it's been closed by education tool popup button
 * - Target loading: Only parse oldid if it is non-null
 * - Remove icon properties from windows
 * - Toolbar: Add tooltips to structure and insert groups
 * - MWPopupTool: Don't pass $1 to visualeditor-beta-warning any more
 * - Update VE core submodule to master (59e4090)
 * - MWLinkAnnotationInspector: select entire link when switching tabs
 * - i18n: Drop another two references to the wikitext editor
 * - MWAceEditorWidget: Update maxRows and minRows if minRows is changed
 * - ArticleTarget: Don't assume an explicit oldid is old; check against current
 * - Update VE core submodule to master (b286f7f)
 * - Don't strip namespace from text that we replace firstHeading with
 * - Defer the user save in onCustomEditor to post-send
 * - Avoid master queries on GET requests for blocking
 * - Template Dialog: pushPending while the dialog is closing
 * - Rename startSave -> onSaveDialogSave
 * - Make data-mw/body.html attribute comparable
 * - Don't change focus to VE surface if we're opening the SET dialog

WikidataPageBanner

 * - Optimise for automatic page images banners on mobile views

WikimediaEvents

 * - Add "user_wpzero" AbuseFilter variable

WikimediaIncubator

 * - Use checkPermissions in SpecialViewUserLang
 * - Update code to match current coding conventions

WikimediaMaintenance

 * - [1.27.0-wmf.19] Fix makeDumpList for WikimediaMaintenance removal

WikimediaMessages

 * - "Established editor" → "Extended confirmed user"