MediaWiki 1.23/wmf2/Changelog

Core changes

 * - Revert &quot;Support CIDR ranges in $wgSquidServersNoPurge&quot;
 * - In Special:AllPages, limit the size of hierarchical lists
 * - Update MobileFrontend to wmf2 tip
 * - Support CIDR ranges in $wgSquidServersNoPurge
 * - Fixed loading of stat cache entries into the wrong key
 * - Speed up thumbnail purging a bit for stash script
 * - filebackend: improved &quot;adviseStat&quot; performance
 * - Made cleanupUploadStash use batching for the last two loops
 * - Rename mw.util.wikiGetlink to getUrl
 * - Migrate usage of wikibits in legacy protect.js and upload.js
 * - Handle Swift JSON listings with unqualified timestamps
 * - Catch temp container thumbnails in cleanup script
 * - Fixed redis reconnect handling when passwords are used in luaEval
 * - Bump GuidedTour for Growth team deploy
 * - Bump GettingStarted for Growth team deploy
 * - Include server in redis lua errors
 * - Update Wikibase, use siteGroup setting instead of doing lookup
 * - Invalid argument supplied for foreach in FormatMetadata.php on line 1566
 * - Update VisualEditor to wmf2 branch for cherry-pick
 * - mediawiki.inspect#dumpTable: fix broken FF workaround
 * - Vector: Set media screen on styles.less
 * - mw.inspect: add report for mw.loader.store
 * - Catch all stash errors in cleanup script
 * - Revert &quot;Add new recentchanges field rc_source to replace rc_type&quot;
 * - Commit of various wmf-branch live hacks
 * - Use HTTPS for the link in FAQ
 * - Avoid strip markes on transcluded Special:RecentChanges[Linked]
 * - Put get diff body cache key into own function
 * - use getOldid and getNewid methods in DifferenceEngineTest
 * - More 1.22 -&gt; 1.23
 * - mw.loader.store: temporarily allow users to opt-in via cookie
 * - exception: Use MWExceptionHandler::logException in more places
 * - Exception: Clean up html document for error pages
 * - Vector: Remove media=screen from skins.vector.beta module
 * - Add tests for DifferenceEngine for revision loading
 * - Wrap up remaining legacy javascript (IEFixes, wikibits)
 * - wfShellExec: Work around PHP 5.3 stream_select issue
 * - Remove linkprefix message, add $linkPrefixCharset
 * - mw.loader.store: do one eval per batch, rather than one per module
 * - Rewrite Vector's special.preferences.less with LESS nesting
 * - Move Vector's preferences css out of screen.less
 * - Add language handling to imageinfo/extmetadata API
 * - Add extmetadata to the ForeignAPIFile iiprops
 * - Add &quot;extended&quot; file metadata to API
 * - Make FormatMetadata accept RequestContext, instead of hard coding $wgLang.
 * - Add an interface for getting &quot;standard&quot; file metadata.
 * - UploadStash::removeFileNoAuth shouldn't need auth
 * - Adding description how to use Special:Redirect
 * - Remove poorly-phrased doc comment and the FIXME which went with it
 * - Fix double space in trigger_error call
 * - mediawiki.js: Fix docucumentation breakage
 * - Fix populateRevisionLength.php so it's not trying to select revision
 * - Minor optimization to the AutoLoader
 * - Revert .htaccess permissions back to 0644
 * - Cache ResourceLoader modules in localStorage
 * - Improve logging for wfShellExec and ignore missing cgroup
 * - Add correct font color override to beta variables
 * - Update populateRevisionLength maintenance script to populate archive.ar_len
 * - Remove unneeded methods in tests
 * - vector: Restore gray search input placeholder
 * - Fix typo in doc comment for Message.prototype#toString
 * - Fix typo in usage of mwjsduck-gen
 * - mediawiki.Title: Generalise filename-matching in newFromImg
 * - Improve wording of eauthentsent message for email confirmation
 * - Correctly update wl_notificationtimestamp when viewing old revisions
 * - API: Remove leading/trailing spaces from error and description text
 * - vector: Restore @body-font-color to black
 * - Test for Status::hasMessage
 * - Add HTML ID to tag filter input
 * - Revert &quot;Revert &quot;Add new recentchanges field rc_source to replace rc_type&quot;&quot;
 * - mw.loader: Always log exceptions caught from userland callbacks
 * - Fix Tidy quietly breaking TOC disabling
 * - mediawiki.js: Handle error better in log and move out of mw.loader
 * - Distinguish redactions from the string &quot;REDACTED&quot; in formatRedactedTrace
 * - Replace php_sapi_name with PHP_SAPI
 * - Fixed use of wrong callback array element
 * - Add some missing :'s
 * - Pass language to File::getDescriptionText
 * - Fixed broken quickDescribe method
 * - Triple default $wgMaxShellMemory (raise to 300 MB)
 * - add basic Status unit test
 * - Set $parentLen in contributions
 * - @covers tags for the rest of test files..
 * - mediawiki.inspect: Support IE8's style.sheet.rules property
 * - @covers tags for more test classes
 * - Fix undefined variable in Status::getMessage
 * - Merge SimpleAntiSpam extension into core
 * - Backport information boxes' styles from vforms to shared CSS
 * - Cleanup Api phpunit Tests
 * - @covers tags for maintenance tests
 * - Add more ApiFormat format tests
 * - @covers tags for the rest of /media/* tests
 * - @covers tags for unit tests
 * - @covers tags for inclues/*Test
 * - @covers for ApiQuery stuff
 * - installer: Run the LESS compiler for *.less files
 * - Use i18n instead of hardcoded brackets and spaces
 * - Add method for inspecting module dependency relations
 * - Make TOC hideable
 * - Set relevant User on Special:Unblock
 * - FormatJson: Remove whitespace from empty arrays and objects
 * - Accessibility: Make the collapsible sidebar screen reader friendly

BetaFeatures

 * ** Newly deployed extension

CirrusSearch

 * - Skip pages without revisions in forceSearchIndex
 * - Fix problems highlighting redirects
 * - Always fork Cirrus LinksUpdate behavior
 * - Trim text on the way into elasticsearch
 * - Remove useless debug log
 * - Save links to the search index
 * - Fix two more query types that cause ES to choke
 * - Use filtered query rather than results filtering
 * - Term containing * match against unstemmed text
 * - Tests for term containing * match unstemmed text
 * - 'Main Page' might not exist, use localized name
 * - Add Elasticsearch version to Special:Version
 * - Send updates for link counts instead of indexes
 * - Push bulk indexing onto the job queue
 * - Better handle PoolErrors.
 * - Tests for boolean operators around quotes
 * - Escape query string during phrase search detection
 * - Use a job to handle link updates.
 * - Don't write to _all field.
 * - Make test more resilient to things taking longer.
 * - Don't mention Solr since we don't use it
 * - General code cleanup
 * - Tests catching some invalid word count causes
 * - Prevent search index updates of nonexistant pages
 * - Tests for boolean operators.
 * - Allow boolean operators.
 * - Add comments about Elasticsearch prod config
 * - Rename --rebuild to --startOver
 * - Moving shared code to mediawiki-selenium Ruby gem

CommonsMetadata

 * ** Newly deployed extension

DonationInterface

 * - Switching javascript trims to jquery trims to help appease IE8.
 * - Altering a check for field existance to make IE8 less angry.
 * - Removing unsupported countries from the RapidHTML country dropdown.

Echo

 * - Fatal error: Cannot use object of type EchoEvent as array at EventLogging.php
 * - Unbreak the unit tests
 * - Actually run all the unit tests.
 * - Suppressed agent name should be hidden in API
 * - Remove full stop from 'echo-new-messages' message
 * - ext.echo.alert: Restore orange background on Monobook
 * - Update to latest revision of Echo schema

Elastica

 * - Fix ElasticaConnection to not care what wiki we're on

LiquidThreads

 * - Preventing joining cursive script character across HTML elements

MassMessage

 * - Add $wgAllowGlobalMessaging to the README
 * - Remove link to Special:MassMessage in log entry description
 * - Add tests for LiquidThreads functionality

MobileFrontend

 * - Don't throw fatals for non-existant usernames
 * - Make sure header is rendered before binding events to it
 * - Design tweak: Fix horizontal padding for top bar (last edited)
 * - Moving mobile notifications overlay to stable
 * - Golden toast wins
 * - Update mobile specialpages to use executeWhenAvailable
 * - Beta: Add Special:History
 * - Add the phantom schema MobileWebCta
 * - QA: Moving some common test steps into a 'common' file.
 * - Docs: Updating some Selenium documentation for MobileFrontend
 * - Collect mobileview API memcache hit statistics
 * - Story 1283: Add infinite scroll to Special:Uploads in stable
 * - Define wgMFMode as stable for desktop Nearby
 * - Regression: Adjust thumbnail size in uploads overlay
 * - Add template partials support to View
 * - Regression: Fix Geonotahack
 * - Deprecate $wgMFForceSecureLogin in favor of core setting
 * - Hygiene: Address wgMFMode FIXME
 * - Show loader whilst lazy loading geonotahack
 * - Upstream: Use core's facilities for disabling TOC
 * - Hygiene: Clean up overlays.less and pagelist.less
 * - Hygiene: Standardise docs
 * - i18n: Native digits on Minerva skin notification count
 * - Load notifications overlay dynamically
 * - Renamed tests/acceptance folder to tests/browser
 * - Regression: Ensure last modified link renders consistently when dynamically loaded
 * - Making last modified text darker so that it is readable.

MultimediaViewer

 * ** Newly deployed extension

OAuth

 * - Various grants management message cleanups
 * - Removed MW prefix from special pages
 * - Improve wiki selection
 * - Font size, width, and padding tweaks to authorize form
 * - Disabled the feature to change wiki scope for a consumer
 * - Slight tweak to grant list ordering

Parsoid

 * - Fix CurlMultiClient and improve error handling in Parsoid job
 * - Improved setting of tracing flags in parse.js and roundtrip-test.js.
 * - Set up this.url for ParsoidCacheRequest too
 * - Only set cookie header on API requests when one was passed in
 * - Re-parse selser DOM to avoid confusing failures without caching
 * - Update package.json.
 * - Edge-case bug fix in migrateTrailingNLs dom pass
 * - Add repository field to package.json
 * - Don't perform any recursive requests from recursive requests
 * - Increase cache request timeout to 60s
 * - Revert &quot;Parse multipart/form-data with busboy&quot;
 * - Revert &quot;Upgrade express to 3.x and enable compression&quot;
 * - Revert &quot;Use UTF8 busboy version by default&quot;
 * - Sync parser tests from core
 * - Updated getParserEnv call to fix the broken script
 * - Fix a _rtselser crash
 * - Disable gzip encoding support
 * - Use UTF8 busboy version by default
 * - : Allow content attribute on parsoid-generated meta tokens
 * - Improved selser test generation for lists and tables
 * - Don't assume that trs are two wide, and transfer end tag stx
 * - : Alternative solution for &lt;pre&gt; tokenization
 * - Parse multipart/form-data with busboy
 * - Refined quote wt-escape handler
 * - Upgrade express to 3.x and enable compression
 * - Bunch of improvements and tweaks to selser/wt2wt sep handling
 * - Fix sync-parserTests.js when used with relative paths.
 * - : Batch database title requests in rt-testing server
 * - Fix errCB in web service
 * - Parse a page on noinput
 * - Re-enable jshint warnings
 * - Avoid infinite loop if oldid and a cookie.
 * - Redirect GET requests for pages w/o oldid to oldid location
 * - Check for undefined as well
 * - Consolidate API for page-less html2wt / wt2html
 * - : Only trigger indent-pre on space
 * - : Only trigger indent pre on spaces
 * - : Use https to pull in es6-shim
 * - Disable persistent connections in curl client
 * - Updated migrateStartMetas to handle migrate both start/end metas
 * - ParserService middleware cleanup
 * - Move data-parsoid into a JSON structure outside the DOM
 * - Generate less timeouts on pages that make a lot of API requests
 * - Fix crash in parserTests
 * - Move migrateStartMetas pass after markTreeBuilderFixups pass

ProofreadPage

 * - Escape index entry name in regex

TemplateData

 * - Require Set#params to be non-empty and improve error

Thanks

 * - Only allow Thanks for public revisions
 * - Add API help url
 * - Fix phpdoc

TimedMediaHandler

 * - Don't use the &quot;Pop-up&quot; video viewer thing during iframe embed.
 * - Native digits on Special:TimedMediaHandler
 * - Don't break $wgFileExtensions structure when removing 'mp4'

Translate

 * - Replace monospace have to not use non-free fonts
 * - Update version date.
 * - Allow multiple user IDs in sandbox API calls
 * - Remove unneeded font family directive
 * - Remove broken #translationdialog
 * - Show the number of translations for each user
 * - Made the reload step pending
 * - Sandbox: Show language preferences of the user

UniversalLanguageSelector

 * - Refactoring Input method menu is not offscreen
 * - Autonym font integration tests.
 * - Check if compile.php target directories exist, exit if not
 * - Rebuild OpenDyslexic eot and woff files from ttf using sfnttool.jar
 * - Refactor Sticky input methods
 * - Update order of CSS properties
 * - Add BoldItalic OpenDyslexic fonts
 * - Add Batak font (no default).
 * - Update OpenDyslexic fonts from upstream
 * - Refactoring Applying the live preview of interface font
 * - Refactoring Discarding live preview of interface font
 * - Update jQuery.IME from upstream
 * - Rename OpenDyslexic fonts to reduce maintenance burden
 * - Update jQuery.IME from upstream
 * - Adding Hanuman, Nokora and Suwannaphum fonts for Khmer
 * - Update version date and copyright year.
 * - Refactoring ime tests
 * - Change the assertion back to original state
 * - Mark a step as pending since it fails because of a known bug
 * - More refactoring ULS font selection tests

VisualEditor

 * - Send the old category and language types to Parsoid for back compat
 * - Button tool to switch to edit source with changes
 * - Add visualeditor-enable-mwmath preference to default user prefs
 * - Use new BetaFetaures message fields
 * - Rename 'formulæ' to 'formulae'.
 * - [browser test] changes make it convenient to click Refs icon
 * - [browser test] changes make it more convenient to click Transclusion icon
 * - [browser test] disabled indent/outdent are now spans not links
 * - [browser test] remove OS-specific part of elements using :title
 * - [Browser tests] Fix a couple of stray ve-ui classes that moved to oo-ui
 * - Allow direct opening of pages in the meta dialog
 * - Use a toolbar for the actions buttons in ve.init.mw.ViewPageTarget
 * - Add OO.ui.PopupTool
 * - Support programmatic tool titles
 * - Isolate links within OO.ui.Tool
 * - [browser test] fixed Cucumber tags
 * - Detangle triggers from OOUI
 * - Document the 'small' config option in OO.ui.Dialog
 * - Split oojs-ui from ve.ui
 * - Convert the mass Beta Feature into feature-level ones, enabling formulæ
 * - [browser test] workaround for VE bug probably caused by https://bugzilla.wikimedia.org/show_bug.cgi?id=56274
 * - Re-word visualeditor-preference-enable to not specify NSes
 * - and review
 * - [browser test] organize tags for running in beta, test2
 * - Get rid of dmRendering hack in ve.ce.MWInternalLinkAnnotation
 * - Render resolved URLs for href and src attributes in CE
 * - Give ce.Annotations a reference to their ce.ContentBranchNode
 * - Track the original HTMLDocument in ve.dm.Document
 * - Create CE nodes and annotations with the correct $$
 * - Add ve.resolveUrl for URL resolution
 * - Don't render href as src in MWBlockImageNode
 * - Rename 'html' to 'body' in converter tests
 * - [browser tests] add the double-logout fix to the other Before clause
 * - Resolve rendered URLs according to the provided &lt;base&gt;
 * - Remove ve.ce.Surface.static.textPattern
 * - Fixup selection after ContentBranchNode rerender
 * - .change( null, foo ) -&gt; .setSelection( foo )
 * - Remove SurfaceObserver locking (unused)
 * - Implement ve.dm.Surface.prototype.undo and redo in terms of change
 * - Enslave dm.Surface to dm.Document
 * - Remove dm.Surface's 'change' event
 * - [browser test] Workaround for the problem when Cucumber hook executes twice
 * - [browser test] Use the latest version of mediawiki-selenium gem
 * - Filter DOM load/save deferreds through ve.track callback
 * - Migrate away from using the 'change' event in dm.Surface
 * - Make dm.Surface's 'select' event more useful
 * - Don't corrupt categories/langlinks with new types

WikimediaMaintenance

 * - Clean up WikimediaMaintenance class
 * - (failure of revision row deletion)
 * - Add description to createExtensionTables.php