-
v0.3.0-rc.45
Pre-releaseAll checks were successfulPublish / Refuse anything that is not a release tag (push) Successful in 2sPublish / Publish to PyPI (push) Successful in 28sPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Successful in 17sPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Successful in 6m51sPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Successful in 8sPublish / Add the bottle block to the tap (second pass) (push) Successful in 21sPublish / Bridge the GitHub-built assets → NAS (push) Successful in 16sPublish / Bridge the bottles → NAS (push) Successful in 9sPublish / Hand the finished release to both install matrices (push) Successful in 2sPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Successful in 20m3sPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been skippedreleased this
2026-08-29 16:36:13 -07:00 | 17 commits to main since this releaseThe release where a lost SSH key stopped meaning a reflash.
rekeygets you back into an
already-rooted robot, andrestorereturns a fastboot robot to stock firmware.Added
rekeyauthorizes your SSH key on an already-rooted robot over USB. Firmware and calibration are untouched.rekey --over-sshdoes the same over the robot's own Wi-Fi, with no cable and nothing flashed.restorereturns a fastboot robot to stock firmware from your capture, leaving toc0 and data alone.- A robot rooted by an older or manual method can be adopted with no reflash, then backed up and updated.
- Runs survive closed terminals and dropped SSH. Re-running rejoins the run.
- RPM packages for Fedora, RHEL 8 to 10 and openSUSE, plus an
uninstallcommand. - Setup saves the serial from the label under the dustbin, so a lost key never means turning the robot over.
- DustBuilder guidance is written per model and stamped with the date it was last verified.
benchruns recorded hardware test campaigns against the real production phases.
Changed
- All persistent files now live under
~/dreame-valetudo/. Existing layouts migrate automatically. - Recon records the model, and rooting refuses to flash unless it matches.
- A robot whose recon ran under 0.2.x carries no model record. Run
recon --forcebefore rooting it. - Recon writes a portable
dreame_recovery_backup.zipfrom the three-slice capture. - Adopting an already-rooted robot now says an uploaded key will not take effect, and points at
rekey. - Linux packages start faster, installing as a directory instead of unpacking on every run.
- Release packages require glibc 2.28 or newer.
- The X40 Ultra, X30 Ultra and L10s Pro Ultra Heat R2338 are marked hardware verified.
- openSUSE Leap 15.6 is now listed as the minimum supported version. It was already tested; the table understated it.
- The published
.rpmis now installed and run on the oldest maintained Fedora, which the support table already promised.
Fixed
- Installing Valetudo and capturing a factory backup work again. Both checked a file no Dreame robot has.
- USB work no longer needs the internet, which the robot's own Wi-Fi does not have.
- Answering "continue?" after a failure retries that command instead of running the whole setup chain.
- Destructive work binds model, image, config, robot and backup together before writing.
- Interrupted work no longer leaves partial state that could authorize a later write.
- Closing a terminal or pressing Ctrl+Z during a flash no longer interrupts the write.
- Robot SSH no longer falls back to a password or to unrelated agent keys.
rekey --over-sshconfirms the robot answers as Valetudo before using the serial-derived password.rekey --over-sshasks first when the serial does not match the selected robot.rekeyover USB no longer announces a reboot it never confirmed.- Release candidates are told when a newer candidate is out, and how to move to it.
- A refused serial names the likelier cause first, and no longer forgets the serial you saved.
fix-implno longer reports the web UI as down when authentication is simply turned on.- An unreachable robot AP now names the usual cause: a VPN holding the robot's address.
- Downloads and transfers time out instead of hanging, and a cached Valetudo works on the offline AP.
- Shareable logs redact robot names, credentials, keys and flash tokens.
- macOS packages bundle the FEL runtime libraries.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download