Skip to content

v0.2.0

Choose a tag to compare

@wiiiimm wiiiimm released this 10 Jun 02:17
· 31 commits to main since this release

Highlights

  • Background migration UI (Media → Migrate to R2): resumable WP-Cron-driven runs with live progress, Pause/Resume/Stop, an activity log, and a "How does the background job work?" explainer. Single-pass: no automatic re-scans on large libraries.
  • Plaintext secret key storage (SWR-383): survives WordPress updates and salt rotation; DB value overrides the R2OFFLOAD_SECRET_KEY constant; legacy encrypted blobs auto-migrate on the next settings save.
  • Safe deactivation CLI: wp r2offload pull (restore everything to local uploads, then clear registration — keyset pagination, legacy-manifest derivation, subdir-size-safe path mapping) and wp r2offload reset (clear registration only, chunked with cache invalidation).
  • Error management: per-error Retry (mode-aware, lock-held, CAS-persisted), Retry All, Clear All Errors, and a Start confirmation when unresolved errors exist.
  • Fixes: stateless partial migrations no longer un-register attachments whose variants exist only in R2; 404 source files count as skipped rather than errors; connection loss auto-pauses the run.

All changes were reviewed across PRs #3#6, #9, #10 with multiple rounds of automated review (CodeRabbit, Cursor Bugbot, Codex, Blocks) — every finding fixed or explicitly dispositioned.

🤖 Generated with Claude Code