Endless OS uses OSTree, a non-destructive and atomic technique to deploy operating system updates. That means updates can be installed without affecting the running state of the system, making the process safe and robust from environmental factors such as a sudden power loss.
After an upgrade, one previous version of the OS is kept on your computer. This makes it possible to roll back to the old version if there is a problem with the new version. Endless OS uses OSTree to deploy operating system upgrades. With OSTree, keeping a previous version of the OS does not double the disk space used: only the differences between the two versions need to be stored. For minor upgrades (such as 3.4.0 to 3.4.1) the difference is typically only a few megabytes. For major upgrades (such as 3.3.17 to 3.4.0) the difference is much larger, but the ability to roll back to the old version is even more valuable.
If you are very short of disk space after a major upgrade, you can remove the previous version by opening a Terminal window and running this command:
$ sudo ostree admin undeploy 1
This will last until the next time an OS upgrade is available.