MediaWiki 1.21/wmf10/Changelog

Core changes

 * - IcuCollation::$tailoringFirstLetters: implement letter removal
 * - Update Math to fix nasty caching bug
 * - Fixed redis auth error spam in logs.
 * - create language-specific collations for category sorting
 * - Bump to disable gettingstarted tour (wmf10)
 * - mediawiki.jqueryMsg.test: Fix expected number.
 * - Update Wikibase
 * - Update Wikibase, Diff, DataValues
 * - Update MF and Zero
 * - Added --postime option syncFileBackend.
 * - Read of arbitrary files through mwdoc-filter.php
 * - Add username for GENDER in LogFormatter only when visible
 * - API action=unblock should return the user name, not the full user object
 * - Deal with garbage user_token values in the DB.
 * - Init the user token before adding users.
 * - Update GeoData: https://gerrit.wikimedia.org/r/#/c/50844/
 * - Update Wikibase
 * - Updating MobileFrontend to tip of production branch
 * - Fix siprop=protocols in XML format
 * - Update Scribunto for today's deployment
 * - Update Wikibase, Diff, DataValues and WikimediaMessages
 * - Fix documentation of DatabaseBase::fetchObject and DatabaseBase::fetchRow
 * - Fix copyright notice shown as Â© instead of ©
 * - Fix check of return value from SpecialPageFactory::resolveAlias
 * - fix hardcoded quote in BacklinkCache
 * - Add url param 'extended' to Special:Watchlist
 * - [Regression] Do not trim spaces on edit preview or show changes
 * - Cleanup of API:Account creation documentation.
 * - Revert &quot;Overriding Vector's footer margin when in print mode&quot;
 * - Move my name up to developers in the credits file
 * - Add a handful of missing @return
 * - Correct name in CREDITS, per request.
 * - [JobQueue] Avoid spamming the runJobs log with large blobs.
 * - Temporarily reverting change Ifbeae7e9 for 2 weeks to allow time to
 * - Check whether this request is a POST before allowing a query module to run, if required by the query module
 * - Return boolean from status object.
 * - move jquery.collapsibleTabs module to Vector extension
 * - [BagOStuff] De-breakified cas for SqlBagOStuff.
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - [LockManager] Created PostgreSqlLockManager class.
 * - [Database] Set bytea_output to match pg_unescape_bytea.
 * - [Database] Added support for lock/unlock in Postgres.
 * - Add siprop=protocols to SiteInfo API
 * - Update code formatting
 * - Update formatting
 * - Fix parentheses
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - InfoAction: Heading ID should not include # character.
 * - Fixed waitForSlave.php constructor.
 * - Better error message for invalid user name in cleanupSpam.php
 * - Update plural rules from CLDR, and correct Armenian plural rules
 * - Treat a null result of Job::run like &quot;true&quot;.
 * - Start yelling if a job's run does not return bool
 * - phpcs: Pass DefaultSettings.php
 * - Revert &quot;phpcs: Convert var to public in SpecialUserlogin.php&quot;
 * - Set $wgUseTidy = false on TextContentTest
 * - QUnit testrunner: Fix extend call
 * - Added --all option and other features to purgeList.php
 * - Support WAI-ARIA's role=&quot;presentation&quot; inside of WikiText.
 * - Break long line.
 * - Filename cannot be empty in SwiftFileBackend
 * - Implement mw.message.text:
 * - Don't pre-fill username when creating.
 * - Avoid Jenkins' CodeSniffer warnings for Userlogin
 * - Fixed unmatched begin/commit in SiteStatsUpdate.
 * - [Database] Log transaction mismatch errors to the DB log.
 * - Set timeout for Sites object in memcached.
 * - Fixed some comments and removed redundant constant.
 * - $.suggestions: make it possible to re-show suggestions
 * - Use and forward returntoquery parameter in Special:ChangePassword
 * - Russian grammar updates
 * - Avoid undefined offset for $wgImageLimits
 * - Set correct number separators for Northern Sami
 * - remove not needed return and break
 * - fix some spacing
 * - Do not attempt to send a real e-mail in ApiAccountCreationTest
 * - remove space before semicolon
 * - TRUE, FALSE and NULL must be lowercase
 * - Attribtue -&gt; Attribute
 * - Title.php: replace some '*' with explicit fields in selects
 * - Add some missing readonly checks:
 * - The right casing is IcuCollation
 * - Use OldLocalFile::selectFields
 * - Add ArchivedFile::selectFields and use it
 * - add a getter for ICU version to ICUCollation
 * - API PageSet allows generator for non-query modules
 * - Add null lock manager to parser tests to support code that uses it by default.
 * - apitests leaks wgUser
 * - Correct check whether the e-mail field was filled in Special:Userlogin/signup
 * - Add languages anp, ks, mai and pi to the line-height fix
 * - Add languages ne and new to the line-height adjustment
 * - fix logic introduced in addNewAccountInternal
 * - Reformatted to satisfy PHP_CodeSniffer
 * - API tests to verify basic query functionality (list &amp; props)
 * - Replace AJAX by search in 'mwsuggest-disable'
 * - Weaken the recursion guard on RequestContext::getLanguage
 * - Expand $wgLanguageCode documentation
 * - [ExternalStore] Made ExternalStoreMwstore use private containers.
 * - make jquery.json module run on mobile
 * - Fixed bogus function call.
 * - Load default variant tables before using them
 * - Clean up ApiQueryImageInfo continuation
 * - Made Page an interface, since it is only there to pass type checks.
 * - Use wfShellExec in UIDGenerator and style fixes.
 * - [ExternalStore] Small documentation tweaks.
 * - [ExternalStore] Added ExternalStoreMwstore class that uses a file backend.
 * - Added UIDGenerator class for getting statistically unique IDs.
 * - [JobQueue] Added unit tests for job queue code.
 * - update the sites cache version
 * - Vector: Phase out one-pixel images.
 * - Removed cruft variable assignment.
 * - Improve description of paths/urls in the INSTALL file.
 * - Deprecate in_string
 * - style: fix up commas in function arguments
 * - [JobQueue] Improved job recycle rate for small queues.
 * - kill $wgUseDynamicDates
 * - Remove Preprocessor_HipHop
 * - Improve parser handling of nested braces.
 * - mediawiki.action.view.dblClickEdit: Fix undefined $content.
 * - Swedish Collation (uppercase-sv). Swaps Ä and Æ
 * - Changes to composer.json.
 * - [JobQueue] Update &quot;empty&quot; cache key when jobs are recycled.
 * - API: Fix using the same module as generator and prop
 * - Added MediaWiki version to composer.json
 * - added wiki entry in support section of composer.json
 * - composer.json to register MediaWiki in Packagist
 * - [FileBackend] Documentation tweaks.
 * - API module manager and help rewrite
 * - add zone &quot;transcoded&quot; for audio/video
 * - Improve the shell cgroup feature
 * - limit memory via cgroups if available
 * - Replace php_sapi_name with PHP_SAPI
 * - fix some spacing
 * - fix some spacing
 * - fix some spacing
 * - fix some spacing
 * - fix some spacing
 * - Fixes to the &quot;reset password&quot; mode of Special:ChangeEmail
 * - Fixed E_STRICT notices in PostgresUpdater::renameIndex.
 * - Clarify move over redirect in movepagetext
 * - [JobQueue] Cross-wiki queue access cleanups.
 * - Drop parenthesis from no/nb/nn to match CLDR
 * - LanguageTest::testIsSupportedLanguage fails on Windows
 * - Ensure jqueryMsg treats plain messages as plain, with tests.
 * - Show no size links on image pages with errors
 * - Remove unneeded noprint classes after CSS change.
 * - [FileBackend] Set ignore_user_abort in file operations.
 * - Initial input focus on Special:ListUsers isn't set
 * - Rename Image namespace to File for 'be' locale
 * - add a getter for ICU version to ICUCollation
 * - misc style issues
 * - Add message when there are few watchers
 * - Added deprecation comment to constant that when used throws deprecation exception
 * - make $.tablesorter treat alt attribute like text
 * - By default, keep users in HTTPS with wgSecureLogin
 * - generateId -&gt; mw.user.generateRandomSessionId
 * - [JobQueue] Added a JobQueueRedis class.
 * - Preserve tab selection after submit in Special:Preferences

AbuseFilter

 * - Add composer.json
 * - AbuseFilter: Invalid argument supplied for foreach
 * - Remove in_string usage
 * - Escape AbuseFilter description properly (disallow wikitext)

AntiSpoof

 * - Add composer.json

ApiSandbox

 * - Explicit ltr direction for api-sandbox-output

CentralNotice

 * - refactor without code change
 * - defaultrebase=0
 * - Removing SVG Directory
 * - non-destructive refactor into classes
 * - php_sapi_name -&gt; PHP_SAPI
 * - Add a global to CN Init Script

DataValues

 * - Stopgap to avoid excessively long string values
 * - Add check for valid data type ID in JS dataTypes.DataType
 * - Gives names to all important constructors for improved debugging experience.
 * - Add composer to make the project accessible from packagist/composer
 * - dv.util.inherit has new parameter for defining a constructor's name
 * - Fix for DataValue QUnit test using global assert
 * - fix of dv.util.inherit test which was using global assert
 * - Moved jquery.inputAutoExpand module from WikibaseLib extension
 * - string valueview will now also resize when setting text via value etc.
 * - string valueview is able to handle null as value now
 * - use strpos instead of deprecated in_string
 * - Added property datavalue
 * - Register time datatype
 * - Using location protocol in commonsMedia widget
 * - Throw exception rather then doing an assert as this is input data and we have a test expecting an exception

Diff

 * - Version 0.5
 * - make use of assertContainsOnlyInstancesOf
 * - Added comparison callback option to MapDiffer and added CallbackListDiffer
 * - Moved version defenition to more logical place and improved entry point checks
 * - add doc
 * - fix indenting in composer.json
 * - added version to composer.josn
 * - Added support to composer.json, fixed licence format and temporarily changed type to mediawiki-extension
 * - added suggestion for mediawiki packag in composer file

DonationInterface

 * - Updating credits
 * - Removing false alarms resulting from calling set_html_file_path from what should be non-fatal places
 * - Adding UTM source to the missing form error log lines so we can tell where they're all coming from
 * - It would help if I had ever learned to read.
 * - Card 824 - Add Name and Email to EW/RTBT Payment Methods
 * - Adding log error information to RapidHTML form selection process
 * - Use email instead of e-mail
 * - (FR #823) remove address info unless using AVS
 * - Card 793 - Adding a new i18n message for bank transfer
 * - Fix typo: Paypal -&gt; PayPal
 * - (FR #508) New Paypal adapter
 * - feed getAllEnabledGateways
 * - Removing remnants of the name-email test
 * - Setting default personal information request to name and email only.
 * - Adding Special:SystemStatus
 * - Adding an address template for HK, adding street2 and removing postal code
 * - Adding new iDEAL bank to the adapter as well

E3Experiments

 * - Use American English spelling for behavior
 * - Remove openTask (being moved == Core changes ==
 * - Allow first letter data to be invalidated
 * - Reduce disruption during updateCollation.php
 * - IcuCollation::$tailoringFirstLetters: implement letter removal
 * - Update Math to fix nasty caching bug
 * - Fixed redis auth error spam in logs.
 * - create language-specific collations for category sorting
 * - Bump to disable gettingstarted tour (wmf10)
 * - mediawiki.jqueryMsg.test: Fix expected number.
 * - Update Wikibase
 * - Update Wikibase, Diff, DataValues
 * - Update MF and Zero
 * - Added --postime option syncFileBackend.
 * - Read of arbitrary files through mwdoc-filter.php
 * - Add username for GENDER in LogFormatter only when visible
 * - API action=unblock should return the user name, not the full user object
 * - Deal with garbage user_token values in the DB.
 * - Init the user token before adding users.
 * - Update GeoData: https://gerrit.wikimedia.org/r/#/c/50844/
 * - Update Wikibase
 * - Updating MobileFrontend to tip of production branch
 * - Fix siprop=protocols in XML format
 * - Update Scribunto for today's deployment
 * - Update Wikibase, Diff, DataValues and WikimediaMessages
 * - Fix documentation of DatabaseBase::fetchObject and DatabaseBase::fetchRow
 * - Fix copyright notice shown as Â© instead of ©
 * - Fix check of return value from SpecialPageFactory::resolveAlias
 * - fix hardcoded quote in BacklinkCache
 * - Add url param 'extended' to Special:Watchlist
 * - [Regression] Do not trim spaces on edit preview or show changes
 * - Cleanup of API:Account creation documentation.
 * - Revert &quot;Overriding Vector's footer margin when in print mode&quot;
 * - Move my name up to developers in the credits file
 * - Add a handful of missing @return
 * - Correct name in CREDITS, per request.
 * - [JobQueue] Avoid spamming the runJobs log with large blobs.
 * - Temporarily reverting change Ifbeae7e9 for 2 weeks to allow time to
 * - Check whether this request is a POST before allowing a query module to run, if required by the query module
 * - Return boolean from status object.
 * - move jquery.collapsibleTabs module to Vector extension
 * - [BagOStuff] De-breakified cas for SqlBagOStuff.
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - [LockManager] Created PostgreSqlLockManager class.
 * - [Database] Set bytea_output to match pg_unescape_bytea.
 * - [Database] Added support for lock/unlock in Postgres.
 * - Add siprop=protocols to SiteInfo API
 * - Update code formatting
 * - Update formatting
 * - Fix parentheses
 * - Update formatting
 * - Update formatting
 * - Update formatting
 * - InfoAction: Heading ID should not include # character.
 * - Fixed waitForSlave.php constructor.
 * - Better error message for invalid user name in cleanupSpam.php
 * - Update plural rules from CLDR, and correct Armenian plural rules
 * - Treat a null result of Job::run like &quot;true&quot;.
 * - Start yelling if a job's run does not return bool
 * - phpcs: Pass DefaultSettings.php
 * - Revert &quot;phpcs: Convert var to public in SpecialUserlogin.php&quot;
 * - Set $wgUseTidy = false on TextContentTest
 * - QUnit testrunner: Fix extend call
 * - Added --all option and other features to purgeList.php
 * - Support WAI-ARIA's role=&quot;presentation&quot; inside of WikiText.
 * - Break long line.
 * - Filename cannot be empty in SwiftFileBackend
 * - Implement mw.message.text:
 * - Don't pre-fill username when creating.
 * - Avoid Jenkins' CodeSniffer warnings for Userlogin
 * - Fixed unmatched begin/commit in SiteStatsUpdate.
 * - [Database] Log transaction mismatch errors to the DB log.
 * - Set timeout for Sites object in memcached.
 * - Fixed some comments and removed redundant constant.
 * - $.suggestions: make it possible to re-show suggestions
 * - Use and forward returntoquery parameter in Special:ChangePassword
 * - Russian grammar updates
 * - Avoid undefined offset for $wgImageLimits
 * - Set correct number separators for Northern Sami
 * - remove not needed return and break
 * - fix some spacing
 * - Do not attempt to send a real e-mail in ApiAccountCreationTest
 * - remove space before semicolon
 * - TRUE, FALSE and NULL must be lowercase
 * - Attribtue -&gt; Attribute
 * - Title.php: replace some '*' with explicit fields in selects
 * - Add some missing readonly checks:
 * - The right casing is IcuCollation
 * - Use OldLocalFile::selectFields
 * - Add ArchivedFile::selectFields and use it
 * - add a getter for ICU version to ICUCollation
 * - API PageSet allows generator for non-query modules
 * - Add null lock manager to parser tests to support code that uses it by default.
 * - apitests leaks wgUser
 * - Correct check whether the e-mail field was filled in Special:Userlogin/signup
 * - Add languages anp, ks, mai and pi to the line-height fix
 * - Add languages ne and new to the line-height adjustment
 * - fix logic introduced in addNewAccountInternal
 * - Reformatted to satisfy PHP_CodeSniffer
 * - API tests to verify basic query functionality (list &amp; props)
 * - Replace AJAX by search in 'mwsuggest-disable'
 * - Weaken the recursion guard on RequestContext::getLanguage
 * - Expand $wgLanguageCode documentation
 * - [ExternalStore] Made ExternalStoreMwstore use private containers.
 * - make jquery.json module run on mobile
 * - Fixed bogus function call.
 * - Load default variant tables before using them
 * - Clean up ApiQueryImageInfo continuation
 * - Made Page an interface, since it is only there to pass type checks.
 * - Use wfShellExec in UIDGenerator and style fixes.
 * - [ExternalStore] Small documentation tweaks.
 * - [ExternalStore] Added ExternalStoreMwstore class that uses a file backend.
 * - Added UIDGenerator class for getting statistically unique IDs.
 * - [JobQueue] Added unit tests for job queue code.
 * - update the sites cache version
 * - Vector: Phase out one-pixel images.
 * - Removed cruft variable assignment.
 * - Improve description of paths/urls in the INSTALL file.
 * - Deprecate in_string
 * - style: fix up commas in function arguments
 * - [JobQueue] Improved job recycle rate for small queues.
 * - kill $wgUseDynamicDates
 * - Remove Preprocessor_HipHop
 * - Improve parser handling of nested braces.
 * - mediawiki.action.view.dblClickEdit: Fix undefined $content.
 * - Swedish Collation (uppercase-sv). Swaps Ä and Æ
 * - Changes to composer.json.
 * - [JobQueue] Update &quot;empty&quot; cache key when jobs are recycled.
 * - API: Fix using the same module as generator and prop
 * - Added MediaWiki version to composer.json
 * - added wiki entry in support section of composer.json
 * - composer.json to register MediaWiki in Packagist
 * - [FileBackend] Documentation tweaks.
 * - API module manager and help rewrite
 * - add zone &quot;transcoded&quot; for audio/video
 * - Improve the shell cgroup feature
 * - limit memory via cgroups if available
 * - Replace php_sapi_name with PHP_SAPI
 * - fix some spacing
 * - fix some spacing
 * - fix some spacing
 * - fix some spacing
 * - fix some spacing
 * - Fixes to the &quot;reset password&quot; mode of Special:ChangeEmail
 * - Fixed E_STRICT notices in PostgresUpdater::renameIndex.
 * - Clarify move over redirect in movepagetext
 * - [JobQueue] Cross-wiki queue access cleanups.
 * - Drop parenthesis from no/nb/nn to match CLDR
 * - LanguageTest::testIsSupportedLanguage fails on Windows
 * - Ensure jqueryMsg treats plain messages as plain, with tests.
 * - Show no size links on image pages with errors
 * - Remove unneeded noprint classes after CSS change.
 * - [FileBackend] Set ignore_user_abort in file operations.
 * - Initial input focus on Special:ListUsers isn't set
 * - Rename Image namespace to File for 'be' locale
 * - add a getter for ICU version to ICUCollation
 * - misc style issues
 * - Add message when there are few watchers
 * - Added deprecation comment to constant that when used throws deprecation exception
 * - make $.tablesorter treat alt attribute like text
 * - By default, keep users in HTTPS with wgSecureLogin
 * - generateId -&gt; mw.user.generateRandomSessionId
 * - [JobQueue] Added a JobQueueRedis class.
 * - Preserve tab selection after submit in Special:Preferences

AbuseFilter

 * - Add composer.json
 * - AbuseFilter: Invalid argument supplied for foreach
 * - Remove in_string usage
 * - Escape AbuseFilter description properly (disallow wikitext)

AntiSpoof

 * - Add composer.json

ApiSandbox

 * - Explicit ltr direction for api-sandbox-output

CentralNotice

 * - refactor without code change
 * - defaultrebase=0
 * - Removing SVG Directory
 * - non-destructive refactor into classes
 * - php_sapi_name -&gt; PHP_SAPI
 * - Add a global to CN Init Script

DataValues

 * - Stopgap to avoid excessively long string values
 * - Add check for valid data type ID in JS dataTypes.DataType
 * - Gives names to all important constructors for improved debugging experience.
 * - Add composer to make the project accessible from packagist/composer
 * - dv.util.inherit has new parameter for defining a constructor's name
 * - Fix for DataValue QUnit test using global assert
 * - fix of dv.util.inherit test which was using global assert
 * - Moved jquery.inputAutoExpand module from WikibaseLib extension
 * - string valueview will now also resize when setting text via value etc.
 * - string valueview is able to handle null as value now
 * - use strpos instead of deprecated in_string
 * - Added property datavalue
 * - Register time datatype
 * - Using location protocol in commonsMedia widget
 * - Throw exception rather then doing an assert as this is input data and we have a test expecting an exception

Diff

 * - Version 0.5
 * - make use of assertContainsOnlyInstancesOf
 * - Added comparison callback option to MapDiffer and added CallbackListDiffer
 * - Moved version defenition to more logical place and improved entry point checks
 * - add doc
 * - fix indenting in composer.json
 * - added version to composer.josn
 * - Added support to composer.json, fixed licence format and temporarily changed type to mediawiki-extension
 * - added suggestion for mediawiki packag in composer file

DonationInterface

 * - Updating credits
 * - Removing false alarms resulting from calling set_html_file_path from what should be non-fatal places
 * - Adding UTM source to the missing form error log lines so we can tell where they're all coming from
 * - It would help if I had ever learned to read.
 * - Card 824 - Add Name and Email to EW/RTBT Payment Methods
 * - Adding log error information to RapidHTML form selection process
 * - Use email instead of e-mail
 * - (FR #823) remove address info unless using AVS
 * - Card 793 - Adding a new i18n message for bank transfer
 * - Fix typo: Paypal -&gt; PayPal
 * - (FR #508) New Paypal adapter
 * - feed getAllEnabledGateways
 * - Removing remnants of the name-email test
 * - Setting default personal information request to name and email only.
 * - Adding Special:SystemStatus
 * - Adding an address template for HK, adding street2 and removing postal code
 * - Adding new iDEAL bank to the adapter as well

E3Experiments

 * - Use American English spelling for behavior
 * - Remove openTask (being moved to Extension:GettingStarted).
 * - Change IDs again after approval from Dario.
 * - Bump ob3 to ob4, with associated schema id change.
 * - Housecleaning.
 * - Remove isPageAppropriate entirely.
 * - Use email instead of e-mail
 * - Remove e3.clickTrack and e3.isUserAnonymous

Echo

 * - make sure dismiss works across all supported types

EducationProgram

 * - Fix class name
 * - remove hardcoded table prefix in sql patch
 * - Improve settings system
 * - Fix MySQL incompatibility
 * - Fix artciles typo in message keys
 * - Fix addition typo
 * - Add review in wrong column
 * - else if =&gt; elseif
 * - Fatal error: Class 'EducationProgram\Article' not found
 * - Fixed fatal db errors due to incorrect logic
 * - prevent page from jumping when clicking controls in the students table
 * - Return false in onclick handler to prevent page from jumping
 * - increase default limit of article pager to 200
 * - Do not show extra form if it does not contain any visible inputs
 * - Migrated DYK box from DYK extension and added msg.
 * - Added MenuTest
 * - Added TimelineTest
 * - Renamed EP classes to avoid confusion with core classes
 * - Use strpos rather then deprecated in_string
 * - Fix caching bug causing course pages to not be rebuilt for logged in users
 * - Added ep_events table to deletion script
 * - Change deletion script to actually drop rather then truncate
 * - SQLite compatbility changes
 * - Update use of Page interface for 7fa1aa7364a9f89669a457fd098a0cc51954529d
 * - fix message keys of ambassador profiles
 * - removed obsolete comment

EventLogging

 * - Tidy up and document JavaScript API
 * - Shift responsibility for annotating events with UUID
 * - Holy grail: 'unquote_plus' w/consistent behavior
 * - Drop unused import
 * - Fix utf-8 decoding of client-side URLs

GettingStarted

 * - Disable tour for everyone.
 * - Values of 0 shouldn't have units specified
 * - Internationalize title text parsing and use everywhere.
 * - Remove generateId (unused) and use mw.Title for full title.
 * - Only use the click event workaround when it's actually a click
 * - Add gettingstarted-welcome-back-site-user and tweak anon msg.
 * - Move OpenTask from E3Experiments.
 * - CSS changes for question mark and move core notices down.
 * - Add .jshintrc
 * - Update wording on GettingStarted page (including tour).
 * - Show CSS with JS disabled.
 * - Randomize task order and switch spelling to clarification.
 * - Remove fromSignup code, since it will not actually be passed.
 * - Show guiders on hover over question mark too
 * - Use defineTour and the new isSinglePage field.

GuidedTour

 * - Update for new guiders cookie settings.
 * - Update documentation to fully use jsduck; related refactoring
 * - Don't test for next being required. It's not, since 4d643b69.
 * - Document dependence on E3Experiments.

LiquidThreads

 * - Fallback for custom namespace tabs with no nstab message
 * - Thread history page times should be user-adjusted
 * - Set initial focus on Special:MoveThread
 * - Fix &quot;You cannot post a blank message&quot; error on every summary edit
 * - Add LQT status to action=info
 * - JSHint: Catch some big fish.
 * - JSHint: unescaped square brackets in regex

Math

 * - Write cache unless there *is* a cache hit:
 * - Fix check for avoiding re-cache&quot;
 * - Fix check for avoiding re-cache

MobileFrontend

 * - Wait until Commons CentralAuth image is loaded
 * - Add margins to not logged in users
 * - Alpha: Move dynamic section loading from beta to alpha
 * - Story 420: Promote last modified to stable
 * - locally track languages the reader can speak (alpha)
 * - Use American English spelling for behavior
 * - : Fix watchlist star jump
 * - changed the scripts to use Selenium_user instead of uploadwizardtest and removed the login success page now that we use Central Auth
 * - changed the scripts to use Selenium_user instead of uploadwizardtest and removed the login success page now that we use Central Auth
 * - story 428: Log username for watch star and photo uploads
 * - Regression: Fix broken tests
 * - Reorganize navigation (#362)
 * - Regression: Fix section-rendered callbacks
 * - Asset change: Update camera icon for upload button
 * - Regression: Fix full screen navigation (when JS is disabled)
 * - : Standardise account creation and login forms
 * - : Avoid API call to check watch status on pages
 * - Code cleanup: Rename module to watchstar
 * - Protect scripts and tests with .htaccess
 * - Fix paths to .lessignore file
 * - Reorg: Promote less to top level directory
 * - Change the way main page is detected
 * - Force mobile view when using local_browser
 * - Fix tests broken by 51d33e111088c2e94dce9a068cf93363588c8811
 * - Don't remove div.infobox which also doesn't work anyway
 * - Downgrade page-object gem to 0.8.5
 * - Use https to access rubygems.org
 * - Make user name more generic
 * - Standardize the hamburger and remove isOverlay (#375)
 * - Remove noMargins and the need for addArticleClass
 * - Tweak: Position fixed elements and open navigation panel
 * - : Ensure uploads dashboard uploads are in correct order
 * - : style all pre and code tags
 * - Alpha: Reactivate inline style scrubber
 * - : Ensure error message appears when a bad token is visible
 * - Regression: Do not enable random module on special pages
 * - Honor the no images setting on watchlist
 * - Updated Ruby gems
 * - Profiling
 * - Use email instead of e-mail
 * - : Kill close this section in stable
 * - Fixed page URL
 * - Cleanup: deleted unused file
 * - : no longer lowercase save settings button
 * - Fixed HomePage URL
 * - Feature: Manage Watchlist, Scenario: Sign up link leads to Sign up page
 * - Feature: Manage Watchlist, Scenario: Login link leads to login page
 * - : correct nearby dependencies (regression)
 * - regression: fix diff dependencies

MoodBar

 * - Moodbar always assumed an AbuseFilter hit

Narayam

 * - Fix JS error
 * - Lekhani was tested by Subhashish and should be deployed

NewUserMessage

 * - Use the content language for all messages

ProofreadPage

 * - Add namespaces for fi

TimedMediaHandler

 * - Use select form for language instead of input field
 * - dont show dimensions for audio files in download dialog
 * - use mw.msg for messages
 * - add wiki embed code to &quot;Share&quot; dialog
 * - playerAttribtues -&gt; playerAttributes
 * - else if -&gt; elseif in php files
 * - display time for audio embeds
 * - : cleaup credits for small embeds
 * - : show players only if we have more than one
 * - avoid index undefined warning by using isset
 * - store derivatives in &quot;transcoded&quot; zone

Translate

 * - Only export languages that can be translated
 * - Do not load messages on init
 * - Fix JS errors in Special:Translate with tux=0
 * - Add missing return values to jobs
 * - Avoid warnings when /en does not exist
 * - Refactor the loading of language stats
 * - Proofreading mode button label i18n
 * - Formatting updates
 * - MessageTable plugin
 * - Update string
 * - Unbreak messagetable search for me
 * - Do another sanity check in MessageHandle::isValid
 * - Reduce textarea state check delay
 * - Fix accesskey problems
 * - Focus on the textarea after using a suggestion
 * - Git rid of some CodeSniffer comments
 * - Improve the &quot;Hide translated&quot; button's behavior
 * - Remove !!FUZZY!! from translations
 * - Cleanup message loading and filter handling
 * - Fix typo in 'translate-manage-nochanges-other'
 * - Change apiURL to mw.Api
 * - Make '!translated' the really default filter
 * - Call mangler in AndroidXmlFFS
 * - Only ever create one editor for each message
 * - Always show &quot;unsaved&quot; label
 * - Paste source button now triggers resize
 * - Hide the message group selector when &quot;load all&quot; is clicked
 * - Avoid doing two calls to messagegroups api
 * - Simplify show/hide of groupselector
 * - Add a dirmark for correct display of source and translation
 * - Add a clear icon to the message list filter
 * - Group the workflow selector to the Translate header
 * - Whitespace fixes
 * - Do not show workflow selector twice
 * - Enable the save button on pasting source message
 * - Make the &quot;optional&quot; checkbox filter optional messages
 * - Simplify TuxMessageTable
 * - Fix the behavior of &quot;optional&quot; filter and the buttons near it
 * - Styling adjustments for workflow status selector
 * - General cleanup
 * - Cleanup whitespace and jQuery calls in editor.js
 * - Code cleanup
 * - Parse the priority reason.
 * - Update file comment
 * - Rename TranslatablePage::removeTags to unmarkTranslatablePage

UniversalLanguageSelector

 * - Update jquery.uls from upstream
 * - Update jquery.ime from upstream
 * - Add 'ar' as a language supported by the Amiri font
 * - Update from upstream
 * - Styling of settings to fit the botom of the ULS
 * - Update jquery.uls from upstream

UploadWizard

 * - only set async if we want to enable async
 * - Update the right element while publishing a resource
 * - More workarounds for change Ifbeae7e9
 * - partially reverting Change I694e7ab1 to fix buttons

Vector

 * - move jquery.collapsibleTabs module from MediaWiki core

VisualEditor

 * - Abort activation when changing to view mode.
 * - Optimize ve.filterArray a bit
 * - Change the HTML attribute prefix from html/ to html/0/
 * - Check for instance of generic LinkAnnotation when querying target.
 * - docsgen: Fix error on Ubuntu
 * - Transactions for metadata modification.
 * - Add user interface widgets
 * - Added new icons
 * - Fix the problem with placing cursor by clicking next to article content.
 * - Add Ed
 * - Implement inline documentation examples.
 * - ve.dm.DocumentSlice does not extend ve.Node
 * - Use .static.isMeta to communicate meta-ness

Wikibase

 * - Hotfix for &lt;0&gt; in language urls
 * - Add missing param for LangLinkHandler
 * - Copyright notice on editing will use Wikidata license text if available
 * - make string datatype non-experimental
 * - Don't display (none) in case we don't have langlinks
 * - Fix for no-JS anonymous edit warning messages
 * - Add setting to exclude namespaces
 * - Fix typo in name of LangLinkHandler class
 * - Correctly accessing entity object for anon edit warning
 * - /) Deleted properties handling by the JavaScript UI
 * - Make use of new data model constructors all over the UI now
 * - Changes wb.RepoApi.getEntities to promise a collection of wb.Entity
 * - Introduction of wb.Entity and related constructors and its usage in our code
 * - implemented wb.Claim.equals
 * - Claims now use wb.SnakList instead of wb.Snak[] for their qualifiers
 * -, ) Add ItemByTitle and ItemDisambiguation to the special pages list
 * -, 45353) Add Special:ItemByTitle and Special:ItemDisambiguation to Special:SpecialPages
 * - Change squashing to trimming of whitespace and control chars
 * - Further work on claim diff visualization
 * - Simple diff visualization
 * - enhanced claim diff visualizaion including refs
 * - (testing) fix for selenium sitelinks tests
 * - automatically include ask extension if available
 * - Added to SetupTest and moved mock service object implementions to non-test code
 * - Moving &quot;entitysearch&quot; to experimental features
 * - Fixing namespace renaming aftermath
 * - Improve class refs
 * - Change namespaces and prefixes for API-classes
 * - Added DataValueHandlerTest stub
 * - Added to QueryEngineResultTest
 * - Added to QueryEngineTest
 * - Added to QueryStoreTest
 * - Remove static from LangLinkHandler methods
 * - Remove href link to Special:CreateItem for none link in client
 * - Using rawElement for intro
 * - Added test stubs for new Query code
 * - Regsiter Query classes
 * - Added a bunch of docs and stub classes
 * - Remove link to Special:PropertyDisambiguation in new property page
 * - Re-registering onBeforePageDisplay hook
 * - Revert introduction of ApiModifyClaim
 * - (testing) necessary adjustment to blockeduser selenium test
 * - Move registration of tests for experimental code to experimental file
 * - Added TableBuilderTest
 * - Added TableDefinitionTest
 * - Registered Wikibase\Repo\Database classes and added test for FieldDefinition
 * - Add MessageReporter since core CR is slow as usual
 * - Cleanup client example settings
 * - Use anon function to not polute global scope with function definition
 * - Add Special:ItemsWithoutSitelinks that list all items without any site link
 * - Remove empty test cases
 * - Set entity field as expected
 * - Include client ExampleSettings
 * - rem comma at end of list
 * - Optimizing entity selector's &quot;blur&quot; event handling
 * - Gives names to all important constructors for improved debugging experience
 * - Made docs more clear and include example settings
 * - Added missing doc
 * - Fix fatal error due to unknown exception.
 * - Only load lib and repo
 * - Detaching toolbar from listview and claimlistview widget
 * - Renaming entity selector widget to $.wikibase.entityselector
 * - Adjusting selenium test to entity selector search box
 * - Adding &quot;datatype&quot; to ApiGetEntities default parameters
 * - More query store code prototyping
 * - Added DBConnectionProvider and scaffolding for query engine work
 * - Fix for tests using global assert
 * - rename wb.utilities.abstractFunction into wb.utilities.abstractMember
 * - redirect wb.utilities.inherit to dv.util.inherit
 * - Removes jquery.inputAutoExpand module since it went into DataTypes extension
 * - Allow calling already initialized inputAutoExpand without options
 * - Fixes handling of unsupported data types in snakview's value variation
 * - Make string data type available in Wikidata
 * - Change PropertySerializer to only include data type if specified by options
 * - SerializerOptions: add entity specific (e.g. for item) properties as default
 * - Replace search box with item selector
 * - Don't use a closure for wgExtensionFunctions
 * - Detaching toolbar from claimview widget
 * - Adding query definition to query entity
 * - ApiGetClaims does not support a token param
 * - Using only the custom config in wikibase qunit test environment
 * - Using compatible css class option name in suggester
 * - SerializerFactory functions now take options as param and pass it to serializer
 * - Show copyright warning when editing language terms
 * - Add check to see if we can test with Query class
 * - Removing &quot;experimental&quot; check for language terms
 * - Language terms reacting on page edit mode event
 * - Give wbclient.watchlist some love (jshint + code style)
 * - Make wbclient.linkItem experimental for now + non-JS fallback
 * - Remove dependency on Services_JSON class
 * - Error tooltip still visible after changing site
 * - improvement for options handling of wb.ui.Base
 * - Move WikibaseDiffOpFactory class to own file
 * - Robust serialization of change objects
 * - Overhauled site input field of wbclient.linkItem.js
 * - Log API errors in JavaScript to console if in debug mode
 * - Revert &quot;Revert &quot;Set 1 hour timeout for entities cached on the client.&quot;&quot;
 * - copyright warning now using its own message instead of EditPage::getCopyrightWarning
 * - Make wbclient.linkItem more user friendly
 * - Fix ChangeHandler and ChangeHandlerTest.
 * -, 44165, 44166) autocomments for claims.
 * - (minor) Define supports0Height in inputAutoExpand before it is first used.
 * - Revert &quot;Set 1 hour timeout for entities cached on the client.&quot;
 * - Add &amp;bot param to API modules that are missing it
 * - Document configuration settings.
 * - copyright tooltip can now be disabled (using a cookie)
 * - (44661) fix display of correct revision in diff view
 * - copyright tooltip will now always be shown
 * - css: Coloring for reference errors
 * - start/stopEditing events for claimview widget
 * - Improving inputAutoExpand plugin compatibility
 * - Add minwiki to sort order
 * - Site links table: Attaching table headers earlier
 * - Preventing suggestion list scrollbars in entity selector widget
 * - entityselector: Showing id if entity has no label
 * - Fix message parsing on the client in wbclient.linkItem
 * - Return true from ChangeNotificationJob.
 * - check for enhanced changes preference in more places
 * - Watchlist does not show when a watched article is added or removed from wikidata
 * - copyright warning now also displayed when adding claims/references
 * - Collapsing references when there is at least one
 * - Added checks for permissions and blocked status
 * - Remove exception assertion from ItemTest constructor
 * - Improved interaction between toolbars
 * - Avoid fatal on changes to deleted item.
 * - notification with copyright warning in JavaScript UI
 * - cleanup to getContent in ViewEntityAction
 * - remove unused ref to deprecated interface
 * - Improved position of toggler icon
 * - Remove unused getLocalizedType
 * - Set 1 hour timeout for entities cached on the client.
 * - rem me as author since most my stuff has been moved out
 * - suggester widget: Improved resizing the suggestion list
 * - The Query functionality is experimental, so moving it to expiremental config
 * - Entity selector widget: &quot;more&quot; link
 * - current revision of statements shown in old revision view
 * - first version of claim diff visualization in DiffView
 * - Make client robust against unknown sites.
 * - Renamed &quot;Wikidata repository&quot; special page group into &quot;Wikibase repository&quot;
 * - EntityView selectTerms simplified
 * - Use PLURAL uppercase consistently.
 * - Optimizing wbsearchentities and adding some documentation
 * - EntityView::selectTerms improvements
 * - Language names in language terms table now links to the entity in that language
 * - improved tooltip for language terms table in edit mode
 * - language terms table has now edit features in JavaScript UI
 * - mark wikibase edits as autopatrolled in client
 * - Omit wikidata changes from enhanced changes
 * - Call the repo &quot;Wikibase Repo&quot; rather then just &quot;Wikibase&quot;
 * - Add use of ID as implicit alias in wbsearchentity
 * - New setclaim API module that allows creating or updating an entire claim given JSON serialization
 * - Switching from use of getText to getFullText
 * - Improvements to serializer code to facilitate unserialization
 * - Step towards splitting the settings of lib, repo and client into dedicated interfaces
 * - Optional custom list item for suggester widget
 * - entityselector: Using messaging system if available
 * - Use plural for 'wikibase-comment-multi' and numParams
 * - Use XHTML breaks
 * - minor cleanup of EntityView::selectTerms
 * - Registered time datatype as being supported
 * - entityselector: Option to define custom aliases label
 * - using wb.utilities.buildPendingCounter for references counter now
 * - Fix qqq message for add links, re-add lost qqq message for RC pref
 * - Simple counter for statementview's references
 * - Adds setSquidMaxage( 10 ) to Special:EntitiesWithoutLabel
 * - Fix of mixup in signature and call to getResult
 * - (minor) fix show-wikidata-rc preferences message
 * - claimlistview: Correct list member widget error event name
 * - Refactoring of PropertyEditTool's counter into a more generic function
 * - remove ChangeNotifierTest.php, it's just an empty file
 * - Make the pages subclassing from SpecialWikibasePage respect i18n
 * - UI for linking articles to Wikidata items from the client
 * - Add ClaimTest to autoloader, as required by statement tests
 * - Preventing keydown event when disabled
 * - Removing keydown event when stopping edit mode
 * - Improving inputAutoExpand jQuery plugin's compatibility
 * - Improving template engine's compatibility
 * - add/removeListItem functions for wb.listview plus related events
 * - (minor) use CSS3 transformation for toggle icon
 * - Make test providers static
 * - Add ListDatatypes to wikibaserepo group.
 * - jQuery.wikibase.listview.ListItemAdapter value awareness
 * - selenium tests for references
 * -, 44575) EntityData: filename-like syntax
 * - Limit labels etc to 250 characters.
 * - (hotfix) fixes sitelinks view: added missing return;
 * - hiding all ui-toolbars when not in editView
 * - (minor) using object instead of array for saving revisions
 * - removing experimental flag from statements selenium tests
 * - entity edit buttons not disabled when user has no rights
 * - Statements are no longer an experimental feature
 * - Fix JS error if repoScriptPath or repoUrl settings not defined
 * - More profiling points.
 * - Allows for toggling the 'source' sections of Statements
 * - introduction of wb.utilities.ui.buildToggle
 * - display jQuery.wikibase.snakview's property as link in nonedit mode
 * - introduction of wb.utilities.ui.buildEntityLink
 * - Entity ID is now available in 'id' field in each entity of wb.entities
 * - fix edit links link to include namespace
 * - References css improvement
 * - Selenium tests for claims edit conflicts
 * - Fix WikibaseLib.php in case not loaded in the default environment
 * - Changed ClaimAggregate::getClaims to return Claim[] rather then Claims
 * - fixed assertion violation caused by inconsistent state of Claims object
 * - use map diffing rather then list diffing for claim lists
 * - Fixed test failing after change to reference serialization
 * - added HashArray indicesAreUpToDate and rebuildIndices
 * - Removed reference to ReferenceObject
 * - (minor) referenceview will add 'wb-reference-&lt;hash&gt;' class to root element
 * - Include Wikibase.sql in schema update
 * - (minor) move Wikibase special pages into right group

WikimediaMaintenance

 * - Add the d IW link for wikidata to extra
 * - Bring back wikimedia/chapter even though it's a lie. Broke other wikimedia entries

WikimediaMessages

 * - Add messages used in the mediawiki.org ExtensionDistributor
 * - Add messages for new user group
 * - Added Wikidata license notice for pop up
 * - : Polish declesion for &quot;Wikipodróże&quot;
 * - Minor capitalisation change to wikimedia-copyrightwarning

ZeroRatedMobileAccess

 * - Fix wrong case in i18n files for axiata
 * - Add i18n entries for more carriers to Wikipedia Zero