• v0.2.0 8371535875

    v0.2.0
    All checks were successful
    CI / shellcheck (push) Successful in 4s
    CI / python (push) Successful in 41s
    CI / build (push) Successful in 1m41s
    CI / integration (push) Successful in 5s
    Publish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Successful in 6m40s
    Publish / Update the Homebrew tap formula (stable or -rc per tag) (push) Successful in 5s
    Publish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Successful in 32s
    Stable

    Cody Bryant released this 2026-07-23 18:29:26 -07:00 | 520 commits to main since this release

    • ux: the terminal output is redesigned for readability — long operations show a live spinner
      with elapsed time instead of minutes of silence, phase headings show where you are in the
      journey, output from the robot is set off from the tool's own messages, text wraps to your
      terminal, and the long walkthroughs pause between chunks instead of printing everything at once.
      Respects NO_COLOR; piped output stays plain.
    • change: everything the tool creates now lives under one ~/dreame-valetudo/ folder — work/
      (working files) and backups/ (your factory un-brick backups). Upgrading migrates your old files
      into it automatically on first run (or run dreame-valetudo migrate); uninstalling never touches
      your backups.
    • feat: name your robots — spaces and capitals are kept — and manage them with
      dreame-valetudo rename, forget, and clean (each picks from a list if run with no name).
      Re-running recon on a robot you've already set up reuses it instead of making a duplicate, and
      you can name the very first robot right away.
    • feat: every factory backup now carries a manifest.json describing what it is, and backups
      are identified by hardware — renaming a robot updates its backups automatically.
    • feat: running recon on a robot you've already reconned offers to refresh it, instead of only
      hinting at --force.
    • ux: when a model doesn't expose a serial over fastboot (e.g. the X30), the check.builder
      rescue block flags that it's expected rather than a missing field to chase down.
    • change: the recon disaster-recovery backup is now called the "recovery backup" throughout —
      the recon --no-samples flag is now --no-recovery-backup, and the on-disk dreame_samples.zip
      is renamed to dreame_recovery_backup.zip for you on upgrade.
    • feat: your recon recovery backup is decrypted on upgrade into a compressed, readable stock
      image (the sealed originals are kept), so it's usable locally instead of an opaque blob. Guarded by
      a free-space check; skip it with DREAME_NO_DECRYPT=1.
    • feat: on upgrade the tool prints what changed since the version you last ran (from the bundled
      changelog) — once, then stays quiet.
    • feat: a best-effort, once-a-day check notes when a newer release is out and prints the right
      upgrade command for how you installed it. It fails silently offline; opt out with
      DREAME_NO_UPDATE_CHECK=1.
    • fix: logs you're invited to share no longer leak identifying secrets — diagnose no longer
      records your robot's device key, and the run log now redacts the identifying flash token that
      previously slipped the scrubber.
    • feat: on Linux, sudo dreame-valetudo install-udev sets up sudo-less USB access in one command
      (macOS needs nothing; the .deb/.rpm still do it automatically at install). If it isn't set up,
      the tool now stops up front with that exact reminder, instead of failing later with a cryptic USB
      permission error.
    • feat: a Fedora/RHEL/openSUSE .rpm is now published alongside the .deb — same self-contained
      bundle, and it sets up sudo-less USB access automatically at install too.

    Dependencies

    • chore(deps): update dependency hypfer/valetudo to v2026.07.0
    • chore(deps): update actions/setup-python action to v7
    • chore(deps): update actions/checkout action to v7.0.1
    Downloads