MediaWiki 1.23/wmf10/Changelog

Core changes

 * - Fixed use of X-Newest in Swift backend
 * - Update VisualEditor to 1.23wmf10 branch for cherry-picks
 * - Bump GettingStarted to 1.23wmf10 branch for hotfix
 * - Fixed wrong usage of $tmpFile in Swift backend
 * - Add TextExtracts
 * - Update Wikibase, allow populate sites script to run without Wikibase enabled
 * - Revert &quot;Add sequence support for externallinks table&quot;
 * - Update Wikibase, fix for xml api exceptions
 * - Update MobileFrontend
 * - Fixed temp URL breakage in Swift
 * - Optimized copyFileBackend to use MD5 from listing if given (e.g. Swift)
 * - Update MobileFrontend to wmf/1.23wmf10 tip
 * - Fixed http_build_query warnings on PHP &lt; 5.4
 * - Fixed bogus var usage in SwiftFileBackend
 * - filebackend: Added supported for retrieving file metadata/headers
 * - Update TMH
 * - Fixed minor unit test dir leakage
 * - Made use of proper backend-fail-store message
 * - Added sanity check for doGetLocalCopyMulti in Swift
 * - Declare visibility on all properties in ForkController
 * - Add hook to allow extensions to modify the LonelyPages query
 * - Do not suggest to use unused local vars
 * - Merge RELEASE-NOTES-1.22 into HISTORY
 * - Fix missing apostrophe in maintenance/generateJsonI18n.php
 * - Call to a member function getCommonMetaArray on a non-object at
 * - Use file handle caching in newSequentialPerNodeIDs
 * - Replace deprecated User::editToken with User::getEditToken (1.19)
 * - Removed cloudfiles dependency in SwiftFileBackend
 * - Remove searchlimit preference
 * - Make imagelinks work like templatelinks
 * - Make WikiPage::$mPreparedEdit public
 * - Moved HashRing to /libs
 * - Moved MappedIterator to /libs and changed exception type
 * - Add ProfilerMwprof
 * - DatabaseInstaller::setVarsFromRequest needs array
 * - Move redirect rendering into WikitextContent
 * - Remove #mw_trackbacks CSS from shared.css.
 * - Update PHPUnit version check to 3.7.0
 * - API: Add prop=contributors
 * - Revert Id39d4457a: Remove experiment code for moduleStorage
 * - Include namespaces in output
 * - Don't suggest if the search term is a known title
 * - Merge AssertEdit extension into core
 * - Update docs for CLDRPluralRuleEvaluator.php
 * - Mechanism for renaming/aliasing classes
 * - Exclude toggle button of collapsible elements from user selection
 * - Add reference to the current user to the PageRenderingHash hook
 * - Make message key optional
 * - Cleanup HTMLCheckMatrixTest.
 * - Gender aliases for user namespaces in French and Cajun French
 * - Replace usage of deprecated SpecialPage::getTitle function
 * - Set Italian (it) as fallback for Corsican (co)
 * - Revert &quot;L10n: gender aliases for user namespaces in French&quot;
 * - No need to return true/false from AutoLoader
 * - Cleanup of includes/rcfeed
 * - Deoptimize SVG versions of enhanced recent changes collapse/show arrows
 * - Properly peform deletion updates when moving over a redirect
 * - Remove extra parenthesis on where conditions
 * - Call Language::getLocalisationCache static
 * - L10n: gender aliases for user namespaces in French
 * - Improve TestUser group handling
 * - Add CASCADINGSOURCES parser function
 * - Fix user-friendlyness of block confirmation screen
 * - Remove methods from SpecialPage deprecated in 1.17 and 1.18
 * - Further cleanup to Special:Version
 * - Revert &quot;Optimize all SVGs&quot;
 * - Fix doc for Database::upsert
 * - Add sequence support for externallinks table
 * - Add licensing for extensions to Special:Version
 * - Call Database::makeInsertOptions from Database::insertSelect
 * - Send cache purges for action=raw after editing user css/js
 * - Do not reveal RevDeled file title
 * - Revert &quot;Declare visibility for class properties in MySQLMasterPos&quot;
 * - Typofix: less bunny hoppers
 * - Remove reference to deleted file
 * - CLDR 24 update - release notes
 * - Fix SearchEngineTest when $wgSearchType is set to non-default
 * - Add fastcgi_finish_request where appropriate
 * - MWMessagePack: improvements to test suite, exception handling, array detection
 * - Update Russian(ru) plural rules to CLDR 24
 * - Move RunningStat from profiler/ to libs/
 * - Update plural rules to CLDR 24
 * - Prevent selection of &quot;Jump to&quot; text
 * - Add class implementing MessagePack serialization
 * - Don't convert bad curids to the Main Page
 * - Added per-node sequential ID method and made SquidUpdate use it
 * - Random documentation tweaks
 * - Adding a message for api-error-stasherror
 * - Stop using the unholy trinity in DatabaseError
 * - Update RELEASE-NOTES
 * - Sync up with Parsoid parserTests.
 * - Remove deprecated convertLinkToAllVariants
 * - MWException doesn't care about $wgTitle anymore
 * - Allow hiding redirects in Special:ProtectedPages
 * - Update documentation for SpecialPage and SpecialPageFactory
 * - Update documentation for ParserCache::save
 * - Avoid interacting with LBFactory singleton in tests
 * - Fix bad usage of empty function
 * - Change Title::isExternal to use strict comparsion
 * - Change Title::getInterwiki in conditions to Title::isExternal
 * - Add JobQueueDB::selectFields and use it
 * - No variable assignment on return statement
 * - Leading semicolon line-bolding made visible in printable version
 * - Deprecate $wgPasswordSenderName
 * - Return void for LogPager::limitPerformer and limitTitle
 * - Various fixes for EnhancedChangesList
 * - Declare visibility for class properties in MySQLMasterPos
 * - Declare visibility for class properties in DatabasePostgres.php
 * - Declare visibility for class properties of LBFactoryMulti
 * - Declare visibility for class properties in DatabaseSqlite
 * - Declare visibility for class properties of LBFactory and LBFactorySimple
 * - Remove &quot;or other&quot; option for stubtreshold
 * - jquery.client: Component-wise version comparison in #test with strings
 * - Migrate redirectToFragment from wikibits.js to own module
 * - jquery.client: Component-wise version comparison in #test with strings
 * - Migrate redirectToFragment from wikibits.js to own module

AbuseFilter

 * - always show diff link if available
 * - Restore the Details link in Special:AbuseLog
 * - Removed the &quot;details&quot; link if the user is already in details page
 * - $res is a bool, not a resultwrapper..
 * - Removed visibility status of &quot;Notes&quot; section
 * - Removing AbuseFilter::checkConditions' param

ApiSandbox

 * - Don't use bogus nonefm format
 * - Check whether history.pushState is supported

Babel

 * - Validate json
 * - Prepare for composer

CentralAuth

 * - Correct failure message when account is locked

CheckUser

 * - Replace usage of deprecated Title::escapeLocalURL

CirrusSearch

 * - Don't suggest anything if a result is a full match
 * - Escape more bad syntax

Collection

 * - Redo API
 * - Replace deprecated User::editToken with User::getEditToken (1.19)
 * - i18n: Native digits on '#renderingProgress'
 * - Replace usage of SpecialPage::getTitle with getPageTitle
 * - Revert &quot;Rewrite of interaction with renderer&quot;
 * - Remove background-color statements from CSS
 * - Don't use back-compat globals $wgTitle and $wgRequest

DonationInterface

 * - Send the ipnUrl override parameter.

EventLogging

 * - Add user-agent logging for server-side events

FlaggedRevs

 * - Use WikitextContent to render redirects

Flow

 * - Fix invalid memcache key
 * - Remove obsolete columns during update
 * - Revert &quot;Temporarily add obsolete columns to $allowUpateColumns&quot;
 * - Temporarily add obsolete columns to $allowUpateColumns
 * - Dont try and do sane things, like generalizing specific exceptions
 * - Generalize .flow-creator
 * - Revert &quot;Utilize BufferedCache in TreeRepository&quot;
 * - Don't toss in parent post as old revision when validating reply
 * - Check User::isBlocked for write actions
 * - SpamBlacklist integration
 * - SpamRegex implementation
 * - Fix multi-error message: &lt;ul&gt; wasn't output
 * - Make general SpamFilter controller, allowing more than just AbuseFilter
 * - Revert &quot;emergency spam prevention&quot;
 * - AbuseFilter integration
 * - emergency spam prevention
 * - Only make the last paragraph of a post inline
 * - Make command to update ee-flow from anywhere configured
 * - [Untested] Drop sqlite-specific script to add *_user_ip columns
 * - No longer pass $user arround to action message callbacks
 * - Get rid of unused var causing E_NOTICE
 * - Fix typo: convetedContent -&gt; convertedContent
 * - Updated Ruby, RubyGems and Firefox
 * - Fix undefined variable in recentchanges formatter
 * - No longer pass $permissionsUser in Templating
 * - Remove unused variable
 * - Explicitly specify db transaction
 * - Clean up meaningless &quot;post body&quot; language
 * - Utilize BufferedCache in TreeRepository
 * - Any user can hide, not just autoconfirmed
 * - Fix double moderation dialog
 * - Automatically run FlowSetUserIp on update.php
 * - Use container namespace
 * - Fix small errors in board history page
 * - Improve code to update related revision tables
 * - Use AbstractRevision::getRevisionType instead of array['rev_type']
 * - Fix FlowSetUserIp to run against larger-than-mBatchSize revision sets
 * - Improve fix comment.

GettingStarted

 * - Change how presence of VisualEditor is determined
 * - Breaking Change: All lower case excludedtitle for consistency

GlobalBlocking

 * - Guard against no valid IPs being provided to GlobalBlocking::checkIpsForBlock

MapSources

 * - Fix mapsources i18n alias include
 * - Add alias file for MapSources special page

MobileFrontend

 * - Correctly identify lead section
 * - Fixed broken concatenation causing diff breakage in mobile
 * - Hygiene: Prevent random campaign interfering with A/B test
 * - Hide languages link if no languages available
 * - Story 1516: New A/B test for Sign-up Edit Guider
 * - Fix KeepGoing Overlay - step 1
 * - Generate JSDoc from Common folder
 * - Fix header buttons with new header style [beta]
 * - Warn user when attempting to switch modes without cookies
 * - Reove obsolete getVersion functions
 * - QA: Updated Ruby, RubyGems and Firefox
 * - Hygiene: Cleanup Special:MobileOptions markup
 * - Add protection information to mobileview
 * - Hide empty message after first upload
 * - Restore the upload button to Special:Upload in stable
 * - Fix main menu animation glitches
 * - Make title in new header bold and centered
 * - Hygiene: Break out ajax pages RL
 * - Revert &quot;Add short-curcuit in api.getTokens for tokens availble in user.tokens&quot;
 * - Story 882: Upload overlay back behaviour
 * - Add browser back support to new languages overlay
 * - Remove the header in LoadingOverlayNew
 * - Remove spinner in media viewer only after the image is fully loaded
 * - Fix image preview for tablets
 * - 4
 * - Don't rely (solely) on templates for geonotahack
 * - Script: Add make mygerrit command

MultimediaViewer

 * - Load images normally
 * - Version our EL profiling
 * - Make the behavior of the lightbox more consistent with scroll
 * - Use chevron for panel opening affordance
 * - Fix painful bug in eventlogging code
 * - Styling fixes for media panel
 * - Animate the metadata div to show the user it's there
 * - Make sure the post-image div is always the same height
 * - Fixed positioning for the image
 * - Make the imageinfo fetch more generic
 * - Fix issues pointed out by aarcos
 * - Added No description message
 * - Fix image bucketing resize engine
 * - Changed 'lightbox' to 'fullscreen interface' in i18n

OAuth

 * - Remove grant management sister-project warning

OpenStackManager

 * - Pass context to HTMLForm, don't use HTMLForm::setTitle
 * - Revert &quot;Constrain service group names to alphanumerics, -, and _&quot;
 * - Constrain service group names to alphanumerics, -, and _
 * - Remove some dead code

ProofreadPage

 * - Increase scan size on horizontal edit mode
 * - Remove unneeded use of global variables

Scribunto

 * - Namespace translations for Serbian, Serbo-Croatian
 * - Namespace translation updates

SemanticForms

 * - Fixed bad bug in which &quot;minimum instances&quot; deleted all field values

SpamBlacklist

 * - Revert &quot;Use WikiPage::prepareContentForEdit in SpamBlacklistHooks::filterMergedContent&quot;

TemplateSandbox

 * - Use WikitextContent to render redirects

TimedMediaHandler

 * - 0

Translate

 * - Change used email domains to blackhole.io
 * - Rename reset_preferences.rb to reset_preferences_page.rb
 * - Leaking script to create language models from translations
 * - Allow installing spyc via composer
 * - Set dir and lang of insertables to the source messages' values
 * - Fix the plural form checker false positives for good
 * - Add ULS and Babel to composer suggestions
 * - Send test email to blackhole.io to avoid useless bounces
 * - Avoid errors like &quot;TypeError: response.error is undefined&quot;
 * - Small tweaks to TUX on resize &amp; scroll events
 * - Make composer more descriptive
 * - Add COPYING
 * - Updated Ruby, RubyGems and Firefox
 * - Must set global $wgResourceModules to empty in tests
 * - Prepare for composer support
 * - Editor shortcuts, only accept Alt alone
 * - Add clearer classes to Accept and Reject buttons in the sandbox
 * - Do not list groups without changes on Special:ManageMessageGroups

TranslationNotifications

 * - Fix SpecialTranslatorSignup::getOtherWikis

UnicodeConverter

 * - Replace usage of deprecated Title::escapeLocalURL

UniversalLanguageSelector

 * - Renamed page
 * - Add RailwaysSans font
 * - When clicking a region, scroll only the list and not the whole page
 * - Validate json
 * - Fix alignment issue of ULS trigger
 * - Prepare for composer
 * - Fixing Scheherazade to properly target local font
 * - Updated Ruby, RubyGems and Firefox

UploadWizard

 * - Add support for more Flickr URLs
 * - Add basic UI tests to LicenseInput class.
 * - Including api-error-stasherror from core
 * - Adding code comments of resulting keys

VisualEditor

 * - About-group extra DOM data in toDomElements
 * - Wrap text nodes in spans if trying to mark as data-ve-ignore
 * - Provide content format faux reqeust now that content format is validated
 * - Remove expensive sleep for beta warning
 * - Unwrap unnecessary array_key_exists in BetaFeatures hook registration
 * - Protect against JS error when langlinks API query returns an error
 * - Remove standalone demos from MediaWiki extension
 * - Let users set status
 * - Refactor extraModules to $wgVisualEditorPreferenceModules
 * - Bump copyright like it's 2014
 * - Fix path to VE core i18n
 * - Let users set &amp;  status
 * - Use JSON support in core for i18n messages
 * - Use $.parseHTML to parse HTML in the transclusion preview
 * - Don't send edit token in action=visualeditor requests
 * - Use GET rather than POST in ve.ui.MWLanguagesPage
 * - Give name of our licence in $wgExtensionCredits
 * - [browser test] Updated Ruby and RubyGems
 * - [browser test] change list_item to li
 * - Use image sources from the fileRepo API

WikiEditor

 * - document.selection is undefined in IE11

Wikibase

 * - Allow populate sites table to work without wikibase enabled
 * - Make ResultBuilder's &quot;indexed mode&quot; work consistently.

WikimediaMessages

 * - Add wikisource sitelink section message for Wikidata