-
v0.9.0-beta.1 — first beta
Pre-ReleaseCI / unit (8.2) (push) Has been cancelledCI / unit (8.3) (push) Has been cancelledCI / unit (8.4) (push) Has been cancelledCI / psalm (push) Has been cancelledCI / integration (mariadb, 32) (push) Has been cancelledCI / integration (mariadb, 33) (push) Has been cancelledCI / integration (mariadb, 34) (push) Has been cancelledCI / integration (mariadb, 35) (push) Has been cancelledCI / integration (pgsql, 32) (push) Has been cancelledCI / integration (pgsql, 33) (push) Has been cancelledCI / integration (pgsql, 34) (push) Has been cancelledCI / integration (pgsql, 35) (push) Has been cancelledCI / integration (sqlite, 32) (push) Has been cancelledCI / integration (sqlite, 33) (push) Has been cancelledCI / integration (sqlite, 34) (push) Has been cancelledCI / integration (sqlite, 35) (push) Has been cancelledCI / integration-targets (push) Has been cancelledCI / integration-user (32) (push) Has been cancelledCI / integration-user (33) (push) Has been cancelledCI / integration-user (34) (push) Has been cancelledCI / integration-user (35) (push) Has been cancelledCI / integration-full-restore (push) Has been cancelledreleased this
2026-10-07 01:15:40 +02:00 | 223 commits to main since this releaseFirst beta. Tested thoroughly and usable alongside your current backup, but not yet a
drop-in replacement for it. We test what we can ourselves (Nextcloud 32–35, SQLite, MariaDB and
PostgreSQL, S3, SFTP, FTP, SMB and NFS), but we need field experience from other setups: please
report what works and what doesn't, especially on large instances and on storage providers not
listed in the README.Added
- Disaster recovery:
occ backup:key:importandocc backup:restore:fullrestore the database,
data directory and config onto a fresh installation of the same major version. - Per-user backup and restore via user_migration:
occ backup:user:backupand
occ backup:user:restore(replace the account after a safety export, or restore as
<uid>-bak), also onto a server where the user does not exist yet. The commands ask before
installing user_migration (or take--install-user-migration). - Checksum audit:
occ backup:verify, shallow or--deep, for snapshots and per-user exports. - Retention for per-user exports:
occ backup:retention --user-last=N. - FTP and SMB covered by the integration tests; NFS through the
localbackend on a mounted share. docs/HOWTO.md: step by step from setup to a tested restore.- Warnings when a backup finishes with unreadable files or folders, or with files that kept
changing while being read (log,occ, notification, snapshot).
Changed
backup:restore:fullrefuses on an installation with more than one user and asks first;
backup:user:restore --mode=replaceasks before deleting an existing account (--forcefor
scripts in both cases).- A failed scheduled backup is retried at most three times a day, an hour apart.
- The recovery kit carries the deletion delay; the kit file is created owner-only.
- Adding a location through the web API needs password confirmation.
Fixed
- Exports of users whose id contains
.part-could be deleted by cleanup on remote locations. - Cleanup no longer frees the data of a per-user export whose manifest is missing.
- Crash safety of moving snapshots to and from the trash, of catalog writes by concurrent
backups and per-user exports, and of short uploads. - A file that keeps changing no longer makes a backup restart forever.
- Long restores and exports keep their lock on the location alive.
- Floating-point database columns are dumped exactly.
Known limitations
See "Known limitations" in the README: memory use on very large instances, never two servers
writing to one location, removing a passphrase slot does not revoke access, no rollback detection
before a disaster recovery, and a few smaller points. None of them block the road to 1.0.0; they
are on the backlog inPLAN.md.Downloads
- Disaster recovery: