Disembark CLI 2.8.0 adds disembark restore — push a local backup snapshot into any connected site, and undo it with --rollback.
Added
disembark restore <site-url> <folder>: preflight, rollback snapshot, chunked file upload + verified deploy, staged database import (server-side, per-statement transforms), serialize-aware URL rewrite, cross-prefix remap, finalize.--rollback=<id>undoes an import.- Application-password auth:
disembark connect <site-url> "user:application password"— a colon-free argument is still the per-site token. - Source metadata:
disembark backuprecordsdisembark-source.json(origin URL + table prefix) so restore knows what to remap.
Improved
- Plain-permalink sites supported everywhere via the stored
?rest_route=routing style. - Large restores stream in 20MB chunks — neither the file archive nor the database dump ever rides a single request.
- Chunked uploads retry transient connection drops and 502/503/504 gateway errors with backoff.
- Backing up a pre-2.8 site no longer prints a spurious 404 while probing source metadata.
Fixed
- Restore is always recoverable: the rollback id prints immediately after the snapshot and again on any failure with the exact undo command; the snapshot is verified before anything destructive runs; a partial file deploy aborts before the database is touched.
- App-password rollbacks: the destination's preserved token is pinned and saved to
~/.disembark, so--rollbackstill authenticates after the import wipes application passwords.
Security
- Restore never deploys
database-*.sqldumps (orwp-config.php) into the web root; multi-dump snapshots are refused as ambiguous. ~/.disembarkis written with0600permissions.
Requires Disembark plugin v2.8.0 on the destination site for restores.