Skip to content

v2.8.0

Latest

Choose a tag to compare

@austinginder austinginder released this 17 Jul 22:54

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 backup records disembark-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 --rollback still authenticates after the import wipes application passwords.

Security

  • Restore never deploys database-*.sql dumps (or wp-config.php) into the web root; multi-dump snapshots are refused as ambiguous.
  • ~/.disembark is written with 0600 permissions.

Requires Disembark plugin v2.8.0 on the destination site for restores.