Skip to content

Apsis 0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 07:34
· 46 commits to main since this release

[0.5.0] - 2026-10-04

Restoring the whole system to a snapshot, at the next start. Experimental; Pop!_OS 24.04
with systemd-boot only.

Added

  • Restore in the window's toolbar: Apsis checks the snapshot fits this computer (the
    same installation, UEFI, Pop!_OS with systemd-boot, a plain ext4 system disk, the
    snapshot's kernel files, no update waiting, the same crypttab), offers to keep or
    restore the home folders and to take a safety snapshot first (on by default), prepares
    (the space is measured with dry runs, the safety snapshot taken, the plan written), and
    asks once more at "Ready to restore". "Restart now" arms the next start and restarts;
    "Cancel restore", Esc or closing the window drops the plan and keeps the safety snapshot.
    While a restore waits for its restart, a second one is refused and leaves the first as
    it is, and no snapshot can be deleted.
  • The restore itself runs at the next start with the desktop stopped (systemd's
    offline-update mode, with plymouth), keeps the live fstab and crypttab, the boot and
    recovery partitions, other mounts and the kernel the computer started with, refreshes the
    boot files with kernelstub as Pop!_OS's own hooks do, checks them byte for byte, and
    keeps the old ones if the refresh or the check fails. A copy that breaks is tried again at
    the next start, three times at most. After login, the window's status line says how it
    went.
  • A recovery note with this machine's UUIDs on the backup disk
    (timeshift/apsis-restore-RECOVER.txt), and "If a restore goes wrong" in the README.
  • Each snapshot's row says in its tooltip when it was made in the older format (without
    ACLs and extended attributes), and the restore dialog says what that means.
  • /root is restored with the system only when the snapshot has it with content; otherwise
    it's kept as it is.

Changed

  • apsis-helper's D-Bus interface is io.github.atraxsrc.Apsis.Helper3: List carries
    each snapshot's format, and CheckRestore, Restore, RestartToRestore,
    CancelRestore and RestoreResult are new. A panel applet still running from 0.4.x shows
    an error until it's re-added (log out and in).
  • A sixth polkit action, io.github.atraxsrc.Apsis.restore (auth_admin, asked every
    time).
  • apsis-helper --apply-restore and --disarm are the offline entry points; the .deb's
    purge removes the restore's state folder and anything an unfinished restore left.
  • While a restore plan waits at its prompt, creating, deleting and saving the settings are
    refused as busy in every window, and lists go on.
  • Removing the package (apt remove) now also removes what an armed restore wrote (Apsis's
    own /system-update link, the restore unit, its wants link and the drop-in) and stops the
    disarm timer; the config and /var/lib/apsis still go only on purge.

Fixed

  • Upgrading, reinstalling or removing the package no longer stops a running job part-way
    (a reinstall during a delete had left a half-removed snapshot). The helper holds a lock on
    /run/apsis/job.lock while a job runs, and the package's prerm refuses while it's held:
    apt stops with apsis: an Apsis job is running; try again when it has finished, the
    package stays as it was and the job goes on. This takes effect once 0.5.0 is the installed
    version: the upgrade from 0.4.x still runs the old script.