After two years of development, the user distribution Vanilla OS 3 has been released, based on the Debian package base but going beyond a typical rebuild. The system environment in Vanilla OS is mounted in read-only mode and updated atomically, while applications run in separate containers using a layer based on the Distrobox toolkit. An unmodified GNOME is offered as the user environment, provided as it is originally released by the developers. Custom graphical configurators are written in GTK4 using Libadwaita. The size of the ISO image is 1.8 GB (x86_64, arm64).
For atomic system updates, the project is developing the ABRoot toolkit, which creates two identical root partitions on the storage - active and passive. The system update is fully downloaded and installed in the passive partition, and after a reboot, the partitions swap places - the partition with the installed update becomes active, while the previous active partition switches to passive mode and waits for the next update installation. Updates are checked and installed automatically in the background during minimal system load and when there is sufficient battery charge. The frequency of update checks can be configured. The installed update is activated upon the next reboot. If something goes wrong after the update, a rollback to the previous version is performed.
Additional applications are installed in separate containers using the custom package manager apx, which allows packages from different distributions to be installed in isolated sandbox environments (for example, packages from Debian, Ubuntu, Arch Linux, and Fedora can be installed). The package manager is implemented as a wrapper over the Distrobox toolkit, allowing for quick installation and launching of any Linux distribution in a container and ensuring its integration with the main system. The format of the container-based packages (Flatpak, Snap, or AppImage) is chosen at the first launch.
The VSO (Vanilla System Operator) toolkit is being developed for system administration, allowing tasks such as system updates, configuration changes, and creating tasks linked to specific actions (for example, you can set up a task to display a notification after the battery has finished charging). It offers built-in capabilities to run Android applications using the Waydroid toolkit.

In the new version:
- ARM64 architecture support has been added.
- Support for reproducible builds has been ensured, allowing users to create their own builds that match the provided downloadable pre-built versions bit-for-bit (except for the builds shipped with proprietary NVIDIA drivers). Users can personally verify that the binaries distributed in the installation images are built from the provided source texts and contain no hidden alterations.
- Component versions have been updated, including Linux kernel 7.1 and GNOME 50.
- The terminal emulator has switched from Black Box to Ptyxis, the document viewer from Evince to Papers, and the GNOME System Monitor from Resources. File Roller and Photos have been removed from the base installation.

- The First Setup interface, which automatically starts after an update, has been enhanced with capabilities for installing new applications and removing outdated ones.
- The Apx application manager and the VSO (Vanilla System Operator) configurator have been rewritten using the new Vanilla SDK, which standardizes the typical libraries and utilities used for developing custom applications. Support for localizing the interface into different languages using PO files has been added. Apx settings have been moved from apx.json to config.json. A graphical interface for Apx, provided in Vanilla OS 3 as a flatpak package, has been placed in the Flathub directory. The Debian Testing branch has been used as the basis for forming the VSO image instead of the Debian Sid (unstable).
- A developing branch of the Distrobox 2 toolkit (2.0.0-rc.4) has been utilized for installing and running any Linux distributions in containers, rewritten in Go.
- The Vanilla Continuity backup tool has been added, utilizing snapshots to save backups of files from the home directory, installed Flatpak packages, and ABRoot metadata. Snapshots can be stored in a local directory, on an external drive, or on a remote server, accessible via SFTP, FTP, or NFS.
- The toolkit for creating custom builds of Vib (Vanilla Image Builder) has been updated. The new version includes functions for cleaning up unused directories and mounting the source code into the container during the build instead of copying it.
Source: opennet.ru

