Repository navigation
v0.4.52
curl -fsSL https://github.com/inkly/CasaOS-Install/releases/latest/download/install.sh | sudo bashRunning it on an existing install upgrades it.
A disk without SMART is no longer "damaged"
On a virtual machine — a QEMU disk under Proxmox, for instance — the storage widget showed a red Damaged tag while the storage manager's Disk tab called the same disk healthy. LocalStorage read smartctl's smart_status.passed as a plain yes/no: a disk that has no SMART at all came back as the zero value, counted as failed on the widget's path and forced healthy on the Disk tab's.
LocalStorage v0.4.30 reports a three-state smart_status — passed, failed, unavailable — computed by one helper for every path (the system-status feed, /v1/disks, the storage list). A disk is failed only when SMART says so, or smartctl reports DISK FAILING; a disk smartctl cannot open, one in standby, or one with no SMART is unavailable. The existing health fields keep their names and shapes, so an older dashboard keeps working. The dashboard (v0.4.41) shows Healthy, Damage or No SMART data in the widget and Healthy / Damage / N/A in the Disk tab, and falls back to the old field against an older LocalStorage — reading its string "false" as failed, which the previous Disk tab did not.
No "0.0W / 0°C" without sensors
On the same machine the system-status dial printed 0.0W / 0°C. The core always sends a temperature and a power sample, zero when there is no thermal zone or RAPL counter; the dial now prints nothing when neither is real, and still prints a real wattage next to a missing temperature.
The uninstall script is digest-checked
install.sh copied the uninstall script it downloads from the release to /usr/bin/casaos-uninstall without a check, although checksums.txt carried its digest. The release workflow now writes that digest into install.sh, and the script is verified before the copy with the same message as the packages. The Docker and rclone install scripts some paths pipe to bash remain unchecked; they are not ours.
Verified with unit tests on recorded smartctl output (a healthy SATA disk, a failing one, a QEMU disk, a device smartctl cannot open, standby, no smartctl), the real router over stubbed disks, real dashboard mounts in both languages, and a local rebuild of the installer bundle driven against a corrupted copy; not on a live box — this release is for the box that reported it.
Components
LocalStorage v0.4.30, CasaOS-UI v0.4.41. CasaOS v0.4.43, AppManagement v0.4.24, UserService v0.4.19, Gateway v0.4.20, MessageBus v0.4.19 are unchanged. Exact commits in components.lock; every package the installer downloads, and now the uninstall script, is verified against a digest taken from the component's own release or, for the dashboard and the App Store, computed from the package as published.