-
v0.3.0-rc.46
Pre-releaseAll checks were successfulPublish / Refuse anything that is not a release tag (push) Successful in 2sPublish / Publish to PyPI (push) Successful in 25sPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Successful in 34sPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Successful in 5m53sPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Successful in 6sPublish / Add the bottle block to the tap (second pass) (push) Successful in 56sPublish / Bridge the bottles → NAS (push) Successful in 14sPublish / Bridge the GitHub-built assets → NAS (push) Successful in 1m28sPublish / 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 20m22sPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been skippedreleased this
2026-08-30 15:38:28 -07:00 | 12 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
-
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
-
v0.3.0-rc.44
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Successful in 1sPublish / Publish to PyPI (push) Successful in 24sPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Failing after 2m22sPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Successful in 7m12sPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Successful in 6sPublish / Bridge the GitHub-built assets → NAS (push) Successful in 22sPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Successful in 17m6sPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledreleased this
2026-08-29 15:03:33 -07:00 | 19 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.43
Pre-releaseAll checks were successfulPublish / Refuse anything that is not a release tag (push) Successful in 2sPublish / Publish to PyPI (push) Successful in 32sPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Successful in 2m15sPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Successful in 6m13sPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Successful in 7sPublish / Bridge the GitHub-built assets → NAS (push) Successful in 28sPublish / Add the bottle block to the tap (second pass) (push) Successful in 54sPublish / Hand the finished release to both install matrices (push) Successful in 3sPublish / Bridge the bottles → NAS (push) Successful in 9sPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Successful in 17m46sPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been skippedreleased this
2026-08-29 13:25:56 -07:00 | 21 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.42
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Has been cancelledPublish / Publish to PyPI (push) Has been cancelledPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Has been cancelledPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Has been cancelledPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledPublish / Bridge the GitHub-built assets → NAS (push) Has been cancelledPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledreleased this
2026-08-29 00:03:19 -07:00 | 27 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.41
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Has been cancelledPublish / Publish to PyPI (push) Has been cancelledPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Has been cancelledPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Has been cancelledPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledPublish / Bridge the GitHub-built assets → NAS (push) Has been cancelledPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledreleased this
2026-08-28 23:30:50 -07:00 | 27 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.40
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Has been cancelledPublish / Publish to PyPI (push) Has been cancelledPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Has been cancelledPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Has been cancelledPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledPublish / Bridge the GitHub-built assets → NAS (push) Has been cancelledPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledreleased this
2026-08-28 07:27:26 -07:00 | 31 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.39
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Has been cancelledPublish / Publish to PyPI (push) Has been cancelledPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Has been cancelledPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Has been cancelledPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledPublish / Bridge the GitHub-built assets → NAS (push) Has been cancelledPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledreleased this
2026-08-28 01:20:21 -07:00 | 34 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.38
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Has been cancelledPublish / Publish to PyPI (push) Has been cancelledPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Has been cancelledPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Has been cancelledPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledPublish / Bridge the GitHub-built assets → NAS (push) Has been cancelledPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledreleased this
2026-08-27 21:55:25 -07:00 | 39 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.3.0-rc.37
Pre-releaseSome checks failedPublish / Refuse anything that is not a release tag (push) Has been cancelledPublish / Publish to PyPI (push) Has been cancelledPublish / Build .debs + tarball, create releases (Forgejo, NAS, GitHub) (push) Has been cancelledPublish / Publish .deb/.rpm into the apt/dnf repositories (push) Has been cancelledPublish / Update the Homebrew tap formula (stable or -rc per tag) (push) Has been cancelledPublish / Add the bottle block to the tap (second pass) (push) Has been cancelledPublish / Bridge the GitHub-built assets → NAS (push) Has been cancelledPublish / Bridge the bottles → NAS (push) Has been cancelledPublish / Reconcile releases across registries (bridge .pkgs to NAS, heal history) (push) Has been cancelledPublish / Hand the finished release to both install matrices (push) Has been cancelledPublish / Prune the rc releases/tags a shipped stable supersedes (stable tags only) (push) Has been cancelledreleased this
2026-08-27 19:27:31 -07:00 | 42 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)
0 downloads
-
Source code (TAR.GZ)
0 downloads