Magento 2: Origin of the Update Folders

Full details are in this old article (self link), but here's the high level overview.

When you say

composer create-project --no-install --repository-url=https://repo.magento.com/ magento/project-community-edition my-magento2

you're telling Composer to download the magento/project-community-edition package and drop its contents directly in the my-magento2 folder. In addition to containing the composer.json file with all the Magento 2 packages listed, the magento/project-community-edition package includes the updated application in a top level update folder.


It is part of the project-community-edition zip file. If you look into it (easy to get from composer cache dir), you will see the following:

composer.json
update/
.gitignore