MediaWiki 1.22/wmf3/Changelog

Core changes

 * - Updated Zero ext to latest
 * - Reverting deployment
 * - Updating to last zero ext
 * - Updating to last zero ext
 * - Revert &quot;Bump GettingStarted for E3 lightning deploy&quot;
 * - Bump GettingStarted for E3 lightning deploy
 * - Make checkUsernames.php use batches
 * - Update: Adding aa_method to AccountAudit
 * - Bump GuidedTour for E3 deployment.
 * - Re-applying patch to track weird bug in Zero extension. Need more logging data.
 * - Revert &quot;temp patch for extensions/ZeroRatedMobileAccess&quot;
 * - temp patch for extensions/ZeroRatedMobileAccess
 * - Revert &quot;Zero update&quot;
 * - Zero update
 * - Completely blacklist Opera Mobile from RL
 * - Fixed bug in LocalFile::isCacheable.
 * - Fixed LocalFile::isCacheable to account for object type metadata.
 * - Update Gadgets to catch https://gerrit.wikimedia.org/r/#/c/60954/
 * - Added wiki ID to backend copy script errors.
 * - Made copyFileBackend.php skip files that cannot be copied instead of stopping.
 * - [FileBackend] Cleaned up resyncFiles and added conservative resync option to FileBackendMultiWrite.
 * - Updates to CentralAuth maintenance script
 * - [FileBackend] Optimize the case were no operations are provided.
 * - [FileBackend] Added &quot;adviseStat&quot; option for the &quot;listing followed by stat&quot; case.
 * - Reduced memory usage a bit for copyFileBackend.php with --missingonly.
 * - One more minor update to CentralAuth logging
 * - Updates to CentralAuth for SUL finalization
 * - Bump GuidedTour for E3 deployment.
 * - Updating Zero to the master branch
 * - tests: Don't set wgStyleSheetPath in addition to wgStylePath
 * - E3 lightning deploy for GettingStarted (submodule bump):
 * - Cherry-picking e37e9d9ae6b8a581569c39ede38fc21827983128
 * - Update CN and core for HTML Forms
 * - HTMLTextAreaField: Allow sizes to be overridden by child classes
 * - HTMLForm entity labels are now optional and escaped
 * - Removing exception in case rev is null
 * - Adding check to make sure rev isn't null
 * - Adding GetNewMessagesAlert hook and wgUserNewMsgRevisionId JS global
 * - Merging MobileFrontend Vary updates.
 * - Bump GuidedTour for E3 deployment
 * - Change font size for edit links to small
 * - Import: Fix incorrect wfRunHooks usage
 * - Update Zero
 * - Update GeoData to grab https://gerrit.wikimedia.org/r/61962
 * - GettingStarted: set serializer to none to avoid segfaults
 * - jquery.badge: Add CSS inline-block fix for IE 7 and earlier
 * - Update GettingStarted to use RedisConnectionPool
 * - Updating CentralNotice for Historical Allocations.
 * - Update Wikibase, DataValues and Diff
 * - Adding Extension:AccountAudit
 * - Call jQuery.ready before &lt;/body&gt;
 * - Fix $wgVersion to 1.22wmf3
 * - Add TemplateData extension
 * - Update wikidata extensions to versions in 1.22wmf2
 * - Fix gitreview defaultbranch
 * - Hook for changing language links.
 * - Split line and fixed spacing in skins folder
 * - wfRandomString: Correct bias toward digits 1-7
 * - [JobQueue] Added a delayedJobsEnabled function.
 * - Move section edit links to after the headings
 * - Created ProfileSection class to avoid wfProfileOut whack-a-mole.
 * - Fixed spacing around parenthesis in languages/tests/maintenance
 * - Fixed spacing around parenthesis in includes
 * - Fix email address formatting in API credits.
 * - Fix PHPUnit ORM Tests to work with Postgres
 * - Don't underline a elements with the mw-ui-button class:
 * -, not outdated
 * - Pass array to Title::getLocalURL instead of an urlencoded string
 * - Use wfShellExec in parserTest.inc
 * - Avoid use of __METHOD__ in closures.
 * - Updated wikitext-escaping tests to reflect Parsoid's latest output
 * - Added space after switch/Removed spaces after unset
 * - Clean-up to global overrides in NewParserTest
 * - Update code formatting
 * - Update messages.inc and rebuild MessagesEn.php.
 * - Update maintenance file with new message keys slipped in sometime...
 * - Removed space after isset
 * - Ignore message 'today-at' for translation
 * - Add input checks for Language::sprintfDate
 * - Remove unused local variables in tests
 * - Fix &quot;contributors this month&quot; # in signup form
 * - Create account-specific header for its error box
 * - Moved RC purge logic to RecentChange::purgeExpiredChanges.
 * - Changed on-request job running to shell out instead of doing a loop.
 * - MyISAM warning when InnoDB is not available
 * - Fixed maintenance/tables.sql (typo i guess)
 * - Updated onTransactionIdle docs a bit.
 * - test: describe the parser tests recorder
 * - Use wfShellExec in MimeMagic
 * - Add linkprefix test to parserTests.txt.
 * - Fixed dumpBlocks fcn
 * - Add parserTests for tilde and equals signs in links.
 * - Update checkStorage.php to not use deprecated Revision::getText
 * - Remove globals unneeded after 47d1060
 * - Add some recently added messages as ignored
 * - Clarified PoolCounter::execute docs a bit.
 * - Add parentid to output of list=usercontribs
 * - Simplify the logic to decide whether to show &quot;variant&quot; and &quot;noconvertlink&quot; on Special:Preferences
 * - Docs for Redis' -&gt;exec return value
 * - Remove is_numeric check from Title::checkUserBlock
 * - Fix bug in OOM avoidance for RepoGroup cache.
 * - Create account form with vertical form appearance
 * - Fixed return value for RedisBagOStuff::cas.
 * - Introducing a new variable
 * - Check read permissions in ApiFeedContribs
 * - Include cluster name in JobQueueDB cache keys.
 * - Minor fixes to the code documentation
 * - Move &quot;SpecialSearchResultsPrepend&quot; note back to 1.21
 * - Update AutoLoader
 * - Fix TimestampTest broken by 7e3386d4
 * - Simplify the nested ifs of Preprocessor_DOM::preprocessToObj
 * - User::addGroup could cause duplicate groups
 * - Moved CryptRand.php to MWCryptRand.php
 * - StatCounter doc tweaks.
 * - Fix case of $wgLocalTZoffset from 7e3386d4
 * - Renamed QoS_Atomic =&gt; QOS_ATOMIC in some places.
 * - update file metadata in importImages
 * - Make current year default value in the Special:Contributions
 * - Don't repeat label styling
 * - HTMLForms: Support non submit buttons
 * - Move template header inside form so CAPTCHA works
 * - Web installer: always autoselect some DB type
 * - Replace weird usage of explode
 * - Bumped RING_SIZE to use 28 bits to improve weight accuracy a bit.
 * - mediawiki.util: Fix roundtripping of tooltip in portlet links
 * - Avoid use of __METHOD__ in closure.
 * - Refactor MWTimestamp::getHumanTimestamp and add hook.
 * - Fix HTMLForm's documentation example
 * - Cleaned up Hooks code, comments, and documentation.
 * - LogEventsList:showLogExtract should ignore WebRequest
 * - Fix debug log line for $userLimit.
 * - Handle search engine returning status objects to the API
 * - Placeholder attribute of searchInput element
 * - Fixed spacing in files direct in includes folder
 * - Fixed spacing in context/installer/media/templates/upload folder
 * - Add doc for SpecialPage::postText
 * - Added more fine grained groups for parser tests
 * - Improved readability of MediaWikiParserTest::suite code
 * - Fixed spacing in db/debug/diff/externalstore/objectcache folder
 * - Fixed spacing in actions/cache/filebackend/filerepo/job folder
 * - Remove duplicate code from Setup.php
 * - Fixed spacing in logging/parser/profiler/rl/revdel/search folder
 * - Remove subpage from form target on Special:BlockList
 * - Fixed spacing in specials folder
 * - Update formatting
 * - Fixed spacing in api folder
 * - Separate language generation from outputPage
 * - [JobQueue] Fixed numbers given to redis queue stat calls.
 * - [JobQueue] Use regular wfDebug in some places.
 * - Added abandoned job stats.
 * - API: Add new hook 'APIGetPossibleErrors'
 * - Only allow fields from isFieldSortable to be sorted on.
 * - [FileBackend] Made stat cache factor in last-modified time.
 * - [FileBackend] Disallow files ending in / and clarified some docs.
 * - [JobQueue] Added JobQueueFederated class for partitioned queues.
 * - [LockManager] Added a RedisLockManager class.
 * - [JobQueue] Deprecated confusing Job::getId function.
 * - Factored JobQueueRedis::redisEval into RedisConnRef::luaEval.
 * - Moved Block and Title purgeExpired functions to onTransactionIdle.
 * - UIDGenerator: better support for 32-bit machines
 * - Fix @return type hint for Title::newFromID
 * - Clean up, comments, remove obsolete mw-ui-formlist
 * - [JobQueue] Added per-type stat counter calls for better graphs.
 * - Wrap job execution around profiling calls.
 * - Fixed some spacing in maintenance folder
 * - Pass a limit to BackLinkCache::getNumLinks in some places to avoid OOMs.
 * - Normalise user names passed to Special:BlockList
 * - Use a combined const, instead of string concat in Exif.php
 * - Move list generation out of TablePager::getLimitSelect
 * - Cleaned up test cleanup for FileBackend and avoid use of @.
 * - [JobQueue] Simplified a bit of code in JobQueueRedis.
 * - Make UserCache only look up a user once.
 * - Do not bother with ForkController for procs=1.
 * - Got rid of some global $wgContLang usage in SpecialAllpages
 * - Add gender to 'passwordreset-emailerror-capture' message
 * - Make concurrent runs of FileBackendTest independent
 * - Fixed spacing in languages folder
 * - Add missing braces to for in wfGetCallerTest
 * - [FileBackend] Simplified the shard list iterator to use AppendIterator and FilterIterator.
 * - Reduced DB contention in User::saveOptions.
 * - Small doc fix to JobQueueRedis.
 * - Set up the profiler in CLI mode.
 * - Clean up SpecialFilepath.
 * - else if -&gt; elseif
 * - Move release notes from 1.21 to 1.22
 * - Rebuild MessagesEn.php
 * - Clean up old way to disable variants (using a special name 'disable')
 * - Set 'skin' template parameter rather than override parent method
 * - Support HTTP timeout detection in curl backend
 * - Use onTransactionIdle for page invalidations when not using the job queue.
 * - Add non DBMS depending SQL tests for DatabaseBase
 * - Some tweaks to the database commit callback docs.
 * - Account for $wgSquidMaxage in OutputPage::checkLastModified.
 * - Pushed updateCategoryCounts to transaction end to reduce contention.
 * - [Database] Added onTransactionPreCommitOrIdle function.
 * - Some more editor files to ignore.
 * - Added a function to LoginForm to show the &quot;return to&quot; page.
 * - Disable external entities in Import
 * - Disable external entities in XMLReader
 * - Sanitize $limitReport before outputting
 * - Add git HEAD date to Special:Version for core and extensions
 * - Fixed spacing in skins folder
 * - Modifying ArticleEditUpdateNewTalk hook so that it passes the recipient
 * - Set Agora font stack to mw-ui-container in Vector
 * - Fixes to Special:ConfirmEmail form
 * - 5 new tests (3 Parsoid serializer, 2 parser) &amp; fixed 4 tests.
 * - jquery.makeCollapsible: minor fixes to togglingHandler
 * - Fixes to Special:BookSources form
 * - Moved JobQueueDB::recycleAndDeleteStaleJobs function below overriden ones.
 * - test: abstract parser test result
 * - Cleanup and performance tweaks for BacklinkCache.
 * - Fix HTML output of TablePager
 * - $.tablesorter: require separators when detecting dates

AbuseFilter

 * - Deprecate addHolder for addHolders.
 * - Added css class for hidden logs.
 * - Add a &quot;ucase&quot; function to convert the provided string to uppercase.
 * - Use POST method for action=abusefilterchecksyntax API requests
 * - Add .jshintrc for AbuseFilter and make it pass

AccountAudit

 * - Adding aa_method field to track login method.
 * - Shorten extension description and remove punctuation

ArticleFeedbackv5

 * - Timestamp params (no longer Message-&gt;escaped) still need to be escaped

CentralAuth

 * - Adding a maintenance script to confirm the validity of entries in centralauth.localnames.
 * - Adding a maintenance script to resend email confirmation emails.
 * - Adding the ability to confirm email address while sending users to Special:MergeAccount
 * - Output a newline too
 * - Output on creating account
 * - Fix memc usage
 * - Add JavaScript login check against the central wiki
 * - Adding i18n msg for merge request email
 * - Adding UserInvalidateEmailComplete hook to CentralAuth.
 * - Whitespace fix followup to I72aba35
 * - Slight refactoring of migrateAccount for better stats. Adding resetting of authToken.
 * - Cleaned up the UI for the redirect login.
 * - Fix token parameter documentation on a couple of API modules
 * - Making sure state is loaded before resetting the auth token
 * - Moving one more debug log line to the CentralAuthVerbose group
 * - Adding a bit of logging to distinguish $wgCentralAuthAutoMigrate migrations from others.
 * - Modifications to migrateAccount to allow specifying the home wiki
 * - Modifying CentralAuthUser-&gt;attemptAutoMigration to allow for home wiki specification.
 * - Adding CentralAuthVerbose wfDebugLog.
 * - Defer the SiteStatsUpdate in attemptAddUser.
 * - Add .jshintrc for CentralAuth and make it pass
 * - Fixup function parameter documentation
 * - Fixup hardcoded usages of &quot;User:&quot; in CentralAuth
 * - Site links on Special:MergeAccount all link to same domain
 * - Add missing &lt;td&gt; to Special:CentralAuth
 * - Added $wgCentralAuthLoginWiki option.
 * - Sanitize user auto creation in CentralAuth
 * - Refactoring SpecialGlobalUsers.php and SpecialMergeAccount.php to use XML and HTML forms.
 * - meta=globaluserinfo doesn't display homewiki
 * - Add option to meta=globaluserinfo to provide global edit count
 * - Refactoring Special:CentralAuth to use XML and HTML forms.
 * - Refactoring specials/SpecialGlobalGroupPermissions.php to use XML forms.
 * - Updates to migrateAccount.

CentralNotice

 * - Previews now work in all languages
 * - Use .change instead of .click in UI elements
 * - CentralNotice Campaign Log Pager Bugfix
 * - Fix broken links to banner
 * - Save banner messages even if the name contains a hyphen
 * - Make Dialog Boxes Wider for TextBox
 * - Translation Message Updates for CN
 * - handle the empty case better
 * - stopgap so allocations doesn't melt down when banner logs are missing
 * - Forgot to Log Device Changes...
 * - Fixing some UI bugs
 * - Make CentralNotice device aware
 * - CentralNotice UI Message Handling ++Graceful
 * - Banner preview is done in an iframe
 * - Some Simple Cleanup in the CN Controller

ConfirmEdit

 * - Position the &quot;Refresh&quot; link over the image
 * - Disable autocomplete for Simple, Fancy, Math, and Questy.

DataValues

 * - Stopgap to avoid excessively long string values (backport)
 * - Revert of I4873abce509e391cbe3104883965c91dd0b592d1 and correct valueview dependencies
 * - Replace incorrectly used asserts by exceptions
 * - Added tests for notifier
 * - rem unused import
 * - rem unused imports
 * - Remove ValueFormatters Result interface
 * - Remove ValueParsers Result interface
 * - Remove Result interface
 * - Deprecate ValueParser Result interface in favour of throwing ParseException

Diff

 * - Introduced ValueComparer interface
 * - Fixed since tag

DonationInterface

 * - (FR #901) Recurring Amazon
 * - Adjustment to the iFrame liberator such that it hides all elements that other resourses might add (skin stuff, whatever) while we're waiting for the liberated iframe contents to load.

Echo

 * - Adding new talk page message alert for logged in users
 * - Remove dead code
 * - Fix notification listing query.
 * - Make Echo talk page notification rely on enotifusertalkpages
 * - Trailing dot in link is ignored in plain text email
 * - Mention notif has wrong anchor for header with link
 * - Add 'Feedback' link to the Notifications flyout
 * - Add new EventLogging schema: EchoMail along with code refactor
 * - Minor edit should not trigger talk page notif
 * - New logic for how Echo interacts with new message alerts (OBOD)
 * - Add extra security check to Echo API to prevent vandalism
 * - Fix the maintenance script
 * - Echo API should use a standard continue parameter
 * - Do not send notifications for page links when the page is a redirect
 * - keep section link in edit summary
 * - Add extra db slave wait to digest email cron
 * - notlimit parameter does not accept &quot;max&quot; as a value

EducationProgram

 * - Added CourseActivity special page
 * - Sort events within their groups as well + new tests
 * - Pass in correct timestamp format to event query
 * - Moved logic into CourseActivityView from the action that is using it
 * - Added course not found support to view course activity action
 * - Added __METHOD__ to MW DB abstraction layer calls in course store
 * - Added extra tests for the course store and fixed some found issues
 * - Added tests for top level factory
 * - Fix tab selection check
 * - Added getCourseById and getCourseByTitle to CourseStore
 * - Further implementation work on ViewCourseActivity action
 * - Started implementation of CourseActivityView and fixed dependency injection issues in the Timeline code
 * - Fix how student id is passed to ArticleTable
 * - Displat &quot;No summary provided&quot; for edit events that have no associated summary
 * - Split up event grouping logic and added tests
 * - Modified text for Special:MyCourses when it is blank to be more general

EventLogging

 * - Prevent defaults from clobbering event properties
 * - ...and back to utf8 as default charset
 * - Default MariaDB character encoding for EL data: utf8 -&gt; utf8mb4
 * - Use more precise type annotation for promise.
 * - Show newlines and whitespace in schema values.
 * - Partial revert of Idc3d42be7
 * - Make &quot;count&quot; optional
 * - Add optional &quot;count&quot; argument for injecting seq ids

Gadgets

 * - Allow disabling of legacy gadgets (Mobile support)
 * - tests: Rename file to end in Test.php

GeoData

 * - : More fractional tweaks
 * - Fix GeoData validation fail observed in the wild
 * - Fix test I broke during merge conflict resolution
 * - makefile
 * - : empty globe should be treated as $wgDefaultGlobe
 * - : Coordinate value in dec format does not work on de,da,is
 * - Detect fractional numbers where they shouldn't be in coordinates

GettingStarted

 * - Exclude current article when you choose &quot;Try another&quot;
 * - Use Next/Okay conditionally depending on whether there are edit links.
 * - Add back filtering for length, editability, and category.
 * - Implement new GSv3 design
 * - Use mediawiki.ui for returnto button.

GuidedTour

 * - Add check for missing onclick function, document, fix exception
 * - Allow suppressing the automatic okay button.
 * - Show 'Next' button for action next and remove end tour checkbox.
 * - wgUserId is now in core.

Math

 * - Add support to MathJax for RGB colors
 * - MathJax: Ignore pagecolor command
 * - : Protect against tex nodes wrapped in tex nodes.
 * - MathJax: Update to version 2.1
 * - MathJax: Remove support for wikEd and AjaxPreview
 * - MathJax: Add a renderTex hook to render elements on demand
 * - Do not poison the tex formula with markup
 * - Remove even more unused variables
 * - MathJax: Allow user to configure MathJax
 * - remove unused code
 * - debug log was attempting to show a Blob object
 * - tests: skip math table creation for SQLite DB
 * - renaming of read and write methods for database access
 * - rename tests/MathRenderTest.php
 * - escape literal % in tex input

MobileFrontend

 * - : Avoid flash of unstyled content on diff view
 * - Rm unused variables
 * - Add hook to allow template tweaks before rendering
 * - Drop Skin from names of templates
 * - Kill unnecessary template variables
 * - Remove unnecessary CSS rule
 * - Tweak the nearby preview
 * - Add more profiling to mobile action=parse
 * - Copy text tweak
 * - : Hide uploads of zero
 * - : Fix more API stupidity
 * - : enable toggling same way in JS as in PHP
 * - Make toggle dynamic an extension of toggle.js
 * - : Improve error handling in nearby
 * - Give grep a chance to find the usages
 * - Move ResourceLoader modules to their own file
 * - Fix captcha field margin on create account page
 * - Anonymize nested function to fix PHP fatal on multiple executions
 * - : Stop mobile leaking into Special:Nearby on desktop
 * - Code cleanup: [ '..' ] to ['']
 * - : Report correct mode and whether to disable images or not
 * - Use ' instead of ’ for consistency
 * - Fix special pages spewing modules to Special:Specialpages
 * - Animate refresh icon correctly
 * - Remove red border on error toast messages
 * - Make footer links clickable when drawer is hidden (beta)
 * - Add message for toast to the module that uses it
 * - Make elements at the bottom of the nav clickable
 * - Re-enable mobile.site module
 * - 1
 * - : Deal with false positives
 * - Don't add parent property to Overlay's prototype
 * - : Let people toggle sections in editor
 * - Add refresh button to nearby
 * - Tweak disabled and cancel button colors
 * - Regression: Make login submit button's corners rounded
 * - : Cleanup how we do config
 * - Remove unused CSS rules
 * - Regression: Fix Login button in CTA drawer
 * - Promote transitions/transforms/animations to beta
 * - : Make button padding consistent
 * - Follow up to I3ae653ac2777e19843182b420d33cd8f3420fa29
 * - : Make dt bold
 * - Run make less
 * - Story 578: Allow photo uploads on pages with infoboxes
 * - Story 483: Show intermediate copyvio/scope message
 * - Regression: Make uploads succeed again rather than throw error handler
 * - : CC by SA not SA by CC
 * - Handle all the Node.js dependencies the same way
 * - Alpha: Add watchlist star to nearby view
 * - Story 757: Beta: Add upload photo CTA to watchlist view as well
 * - Fix nearby / Move nearby overlays to separate module
 * - Style the more link in watchlist so it doesn't look so ugly
 * - : Prevent undefined photos being added to the page
 * - Fixed Watchlist tests
 * - Refactoring: introduced URL module
 * - Refactor search input and watchlist buttons CSS
 * - Make sure tests for history get run
 * - : meta.m.wikimedia.org user login screen inexplicably has &quot;W&quot; icon
 * - Tweaks to search css when no javascript
 * - Allow validation testing for arbitary pages
 * - Move mobile-frontend-overlay-escape key to correct module
 * - : Remove DeviceDetection js
 * - : Remove table tweaks on opera mini
 * - i18n: Slay the dragon in favour of plain language
 * - Document mf-stop-mobile-redirect.js
 * - Update readme
 * - Updated parallel_tests Ruby gem
 * - Story 757: Add text to upload CTA in lists of articles
 * - : NaN NaN NaN NaN NaN NaN batttman
 * - Story 498 Beta: Promote lazy loaded sections from alpha
 * - Make header button markup more universal
 * - Story 487: Footer update
 * - Message key dependency fix 'mobile-frontend-drawer-cancel'
 * - : Show last modified again
 * - Alpha: Lazy-load sections
 * - Cache should vary on X-CS instead of X-Carrier
 * - : Support gender in mobile-frontend-photo-ownership
 * - Make search overlay emit a hook 'write-results' after rendering
 * - Alpha: Homepage special casing: make images float
 * - Make Special:Nearby work on desktop
 * - Code hygiene: Move drawer css into separate file
 * - Code hygiene: Move overlays into separate stylesheet
 * - Separate notifications styling
 * - Support hlists out in the world out of the box
 * - Alpha table module: Blacklist tables with class metadata or navbox

Narayam

 * - Add .jshintrc
 * - Update spelling for Odia

OpenStackManager

 * - Call $project-&gt;editArticle for all member changes.
 * - Fix gidNumber conflicts for service groups vs. project groups.

ProofreadPage

 * - Fix some regressions included in EditProofreadIndePage
 * - Replaced Xml class by Html.

RSS

 * - updated version number to 2.21

Scribunto

 * - Fix sandboxing with require
 * - Magic word localization in Galician.
 * - Don't pass negative years to Language::sprintfDate
 * - lang:parseFormattedNumber should return a number, not a string

ShortUrl

 * - jshint fixes

TimedMediaHandler

 * - only filter out files not directory
 * - deduplicate transcode jobs

TorBlock

 * - Fixed classification of Tor nodes to only block exit nodes.

Translate

 * - Disable upload from URL on Special:ImportTranslations by default
 * - Update the target language direction when changing the language
 * - Ensure translated pages are rendered with data from master
 * - Drop Special:MyLanguage from wiki page group descriptions
 * - Small comment fixes
 * - Add refresh-translatable-pages.php script
 * - Documentation formatting update
 * - &lt;tvar|&gt; visible on translation pages in source language
 * - Replace method which already exists as strtr
 * - Simplify tracking of changed units and fix invalidation
 * - Code consistency
 * - Check that there are editing controls when removing tipsy
 * - Add group description for Vicuña Uploader
 * - Remove some no longer needed description messages
 * - Add message for blockly groups
 * - Show &quot;Cancel&quot; instead of &quot;Skip&quot; at the last message
 * - Make sure that the proofread tipsy is hidden when editing
 * - Update .jshintrc
 * - Bump version
 * - Always show the empty-list helpers
 * - Update comment
 * - Word-wrap the source text to prevent overflow
 * - Fix double escaping
 * - Better adapt textarea to content
 * - Reminding functionality for sandbox
 * - Implement empty state indicators for proofread mode
 * - Removed repeated function calls.
 * - Add dropdown menu as a separate module

TranslationNotifications

 * - notifytranslators.js: Fix broken closure
 * - Add .jshintrc

UniversalLanguageSelector

 * - Force anonymous mode also in when the ULS is not shown in the sidebar
 * - Update from upstream
 * - I18n for System font
 * - Changes to show the display settings in the sidebar
 * - Add backward compatibility for fetchLanguageNames
 * - Update from upstream
 * - Fix tipsy behaviour
 * - Join some appends to one call
 * - Rename confusingly named function
 * - Avoid null in the IME languages buttons
 * - Fix typo
 * - Don't let anonymous users change interface language
 * - Fix JSHint issues
 * - Update webfonts and uls libs from upstream
 * - Cleanup for jslint and coding conventions
 * - Load ULS language list from a resource loader module
 * - Use wmf geoip by default
 * - Styling for the Language settings panel
 * - Update from upstream
 * - Fix Undefined offset notice
 * - Ignore libs for JSHint
 * - Introduced $wgULSAnonCanChangeLanguage
 * - Don't show tipsy for an unknown language
 * - Scroll the ULS panel into view automatically
 * - Update ULS from upstream
 * - Add help text above the buttons
 * - Show the web fonts selectors only if they are enabled
 * - Split language settings view into two tabs
 * - Update from upstream
 * - Add the sidebar ULS cog icon and $wgULSPosition variable
 * - Cleanup CSS
 * - Remove uls-select-content-language
 * - Update .jshintrc
 * - Update from upstream

UploadWizard

 * - Fix concurrent upload preference
 * - Restore concurrent uploading functionality.
 * - Use $.each instead of for(in) loop on Array's
 * - Cleanup: missing &quot;var&quot;s, unused locals, etc.
 * - Making sure disclaimer message is parsed in Flickr interface
 * - Hide the 'Next' button until a license is chosen.
 * - User preference for maxSimultaneousUpload

VisualEditor

 * - Fix ce.AlienNode
 * - Revert &quot;Redo ve.createDocumentFromHTML properly&quot;
 * - Use duck typing instead of instanceof Node
 * - Fixing Phantom placement in RTL
 * - Fixed docs
 * - makeStaticLoader: Fix trailing slash
 * - makeStaticLoader: Implement --fixdir option
 * - Create meta item for defaultsort
 * - Fix new test case to use new domElements instead of html
 * - AlienNode stores original DOM elements instead of HTML
 * - Paragraph-&gt;heading conversion was broken when cursor next to an inline node
 * - Add Matma Rex to AUTHORS.txt
 * - Allow fixUpInsertion to move offsets when inserting at start/end
 * - Stop dropping properties in copyObject/copyArray
 * - Add a copy of jquery.client so the standalone still works
 * - UI Refactor
 * - Add TableCaptionNode
 * - Fix FF specific bug
 * - Further AnnotationSet optimisation: create containsIndex
 * - Add method to ElementLinearData to get IVStore items in use

Wikibase

 * - Cleanup of edit-conflict Selenium test
 * - Fix issues in Entity::patch
 * - Show correct revision of entity when viewing an old revision
 * - Pass language from property parser function to entity id label formatter
 * - Mark Selenium test for including property by label as experimental
 * - Attempt fix for the linkitem selenium tests
 * - Selenium tests for autocomments/autosummaries
 * - Autosummary for setClaim
 * - (hotfix) Fix for broken snakview key handling
 * - Basic validation for snaks JSON in SetReference
 * - Added IDs for entity page's sitelink and claim headings
 * - (hotfix) Fixes broken editing introduced in 55e6d866
 * - Fix summary for new items and properties
 * - Fix an error in the README
 * - Update the README
 * - Use RecentChange::getTitle in ExternalChangesLine
 * - Quote regexp delimiter in SearchEntities
 * - Refactor wikibase.store - introduce AbstractedRepoApi
 * - Slightly overhaul SetAliases
 * - info about approved copyright message in one language will remain
 * - ChunkCache for speeding up dispatchChanges.
 * - Puts twisted dependencies from I4873abce509e391cbe3104883965c91dd0b592d1 where they belong
 * - Fix linkItem widget for articles with an item
 * - Fix problem with dismissing copyright notice
 * - Make check for ULS language case-insensitive in Selenium tests
 * - Moved class registration of WikibaseLib into dedicated file
 * - Remove usage of LibRegistry in WBR SpecialPages
 * - Remove usage of LibRegistry in WBR API
 * - Remove usage of LibRegistry in ClaimSaver
 * - Add getDefaultInstance to repo top level factory
 * - Remove usage of LibRegistry from WBC extension
 * - Remove obsolete test files
 * - Rem WB Query from test entrypoint as it is causing problems for jenkins
 * - Factor ClientStoreFactory into WikibaseClient.
 * - Added WikibaseRepo top level factory
 * - Fix English spelling
 * - Expand legend on Special:DispatchStats
 * - Unserialize on the fly to Save memory in Change.
 * - Remove redundant bloat from API modules.
 * - Use getUserPermissionsErrors in EditEntityAction::showPermissionError
 * - Introduced setError in claimview and referenceview widget
 * - ClaimInserter now obtains the insertion id needed to insert the snaks
 * - Added getInsertId to QueryInterface
 * - Finish up initial SnakInserter code
 * - Triggering &quot;afterremove&quot; on the widget managing the remove process
 * - Avoid redundant filtering in dispatcher.
 * - Added parent widget reference to edit &quot;toolbar&quot; options
 * - Simplified toolbar definition
 * - Removed direct use of _trigger from edittoolbar widget
 * - Remove usage of removed ValueFormatter Result interface
 * - Work on implementation of SnakInserter
 * - Added SnakRowBuilder
 * - Implementation work in ClaimInserter
 * - Changed QueryEngine test namespace to Wikibase\Tests\QueryEngine
 * - Split off ClaimRowBuilder to its own file and added tests
 * - Move classes into ClaimStore namespace
 * - Some implementation in ClaimInserter
 * - Take a InternalEntityIdFinder in ClaimInserter
 * - Added exception to EntityIdMap
 * - Preliminary implementation of EntityIdMap
 * - Add more verbosity to dispatch changes
 * - Removed __continueStopEditing flag
 * - Shaping the ClaimInserter interface
 * - make wgRateLimits apply to Wikibase.
 * - Resolve merge conflict
 * - Do not require specifying a snak type for ValuelessSnakStore
 * - Implented ClaimsTable-&gt;insertClaimRow
 * - Added base for ClaimsTable
 * - Added ClaimRow data structure
 * - optimized imports
 * - Added internal snak type restriction to ValuelessSnakStore
 * - Improved test ValueSnakStoreTest-&gt;testStoreSnak
 * - Rename QueryEngine Updater to Writer
 * - Added tests for exception cases
 * - Implemented ValueSnakStore-&gt;storeSnakRow
 * - Merge SomeValueSnakStore and NoValueSnakStore as ValuelessSnakStore
 * - Split SnakRow into ValueSnakRow and ValuelessSnakRow
 * - Implemented SnakRow-&gt;getInternalSnakType and added tests for SnakRow getters
 * - Added SnakRow-&gt;getInternalSnakType
 * - NoValueSnakStore now takes a tableName rather then tableDefinition
 * - Update field names of valueless snaks table for clarity
 * - Implemented NoValueSnakStore-&gt;storeSnakRow
 * - Renamed SnakStore-&gt;storeSnak to SnakStore-&gt;storeSnakRow
 * - Rename StoreSnak to SnakRow
 * - Removed unused imports
 * - Updated SnakStore interface to use StoreSnak data structure
 * - Introduction of StoreSnak class
 * - Implented ClaimsTable-&gt;insertClaimRow
 * - Added base for ClaimsTable
 * - Handle blocked-user and protected-page different in UI
 * - Added ClaimRow data structure
 * - optimized imports
 * - Added internal snak type restriction to ValuelessSnakStore
 * - Improved test ValueSnakStoreTest-&gt;testStoreSnak
 * - Rename QueryEngine Updater to Writer
 * - Added tests for exception cases
 * - Implemented ValueSnakStore-&gt;storeSnakRow
 * - Merge SomeValueSnakStore and NoValueSnakStore as ValuelessSnakStore
 * - Split SnakRow into ValueSnakRow and ValuelessSnakRow
 * - Implemented SnakRow-&gt;getInternalSnakType and added tests for SnakRow getters
 * - Added SnakRow-&gt;getInternalSnakType
 * - NoValueSnakStore now takes a tableName rather then tableDefinition
 * - Update field names of valueless snaks table for clarity
 * - Implemented NoValueSnakStore-&gt;storeSnakRow
 * - Renamed SnakStore-&gt;storeSnak to SnakStore-&gt;storeSnakRow
 * - Rename StoreSnak to SnakRow
 * - Removed unused imports
 * - Updated SnakStore interface to use StoreSnak data structure
 * - Introduction of StoreSnak class
 * - Spell-check: occured -&gt; occurred
 * - Fix query interface mocking
 * - Consistency tweak: article -&gt; page
 * - Remove usage of ValueFormatters\Result
 * - Remove usage of ValueParser Result interface
 * - Removing me as author since this code changed into something I do not want to be associated with
 * - Renamed/Moved toolbar jQuery widgets
 * - Introducing toolbarbase widget
 * - Add newline otherwise translatewiki.net scripts freaks out
 * - refactor testCanStore method down
 * - Added NoValue and SomeValue SnakStores
 * - Added SnakStore and some initial implementation
 * - wikibase.ui.Toolbar: Fixed using incorrect scope reference
 * - Some implementation for in the SQLStore updater
 * - Added QueryStoreUpdater tests
 * - Remove unused imports
 * - Generalized access to Claims by property ID.
 * - Remove unused imports
 * - Remove unused import
 * - Added COPYING INSTALL README and RELEASE-NOTES to WikibaseQuery
 * - Removed ObservableQueryInterface

WikimediaMaintenance

 * - Add AccountAudit table to new wikis
 * - Fix eol-style
 * - Adding Wikivoyage to the list.

WikimediaMessages

 * - Move Create account messages and links here.
 * - i18n/cs: Adding Wikivoyage and Wikidata.
 * - Temporary message for skin removal no longer needed

ZeroRatedMobileAccess

 * - Fix CSS issue with undismissible warnings
 * - Adding interstitials for MobileFrontend 'Read in other language' section and footer.
 * - Fixed last patch I853496a860742ba906b756b26f4c13b51bacb82f
 * - Use &quot;sites&quot; parameter to show banner
 * - Renamed $render* to $show* variables, del dbg flag
 * - Scripts to match IPs against known CIDR blocks and choose the best.
 * - Added logging to zero dog log
 * - Stop echoing article content when carrier is unknown for X-Subdomain: ZERO requests.
 * - TEMPORARY: Log lots of info to catch a bug&quot;
 * - Fix bug with null Zero config
 * - TEMPORARY: Log lots of info to catch a bug&quot;&quot;
 * - TEMPORARY: Log lots of info to catch a bug&quot;
 * - TEMPORARY: Log lots of info to catch a bug
 * - Refactored two confirmation funds into one
 * - Revert &quot;TEMPORARY patch to help find the source of warnings in production&quot;
 * - TEMPORARY patch to help find the source of warnings in production
 * - Cache invalid X-CS IDs
 * - Removing partnerId from Wikipedia Zero JSON configuration blobs and TSV.
 * - Removed 'partnerId' config setting
 * - Maintenance scripts - optimize the VCL file's CIDR
 * - Removed $wgZeroDisableImages dependency
 * - Banner code cleanup and refactoring
 * - Zero config regular font size
 * - add warning interstitials for non-whitelisted langs.
 * - tests and scripts cleanup
 * - Use XHTML compliant breaks
 * - Allow zero config to be shown in the user language
 * - ETL script and i18n file for preparing v1.1.0 of ZeroRatedMobileAccess.