Home Assistant OS 18.3.rc1
Pre-releaseChanges
Home Assistant OS 18.3 is a bugfix release with several reliability improvements. Container image layers are now synced to disk right after they are unpacked, which prevents corrupted images when the power is cut shortly after an update. For installations where the container images are already corrupted, a new ha docker reset-storage command allows wiping the Docker storage and downloading all images again. F2FS is now supported on all targets. On Raspberry Pi, HDMI output on displays larger than 1920x1080 and booting from USB SSDs on Raspberry Pi 3 have been fixed, and Bluetooth on Home Assistant Yellow is stable again after the regression introduced in 18.0. The Linux kernel has been updated to the latest stable version across all targets. All users are encouraged to upgrade.
Noteworthy changes
Docker storage reset
A corrupted Docker storage could until now only be recovered by wiping it manually from the OS shell. Removing and pulling a single image again is often not enough, because image layers are shared between images. The OS now provides a service which wipes the whole Docker storage on the next reboot when requested by the Supervisor. The reset can be scheduled from the CLI:
ha docker reset-storage
Use it to recover from a corrupted or inconsistent Docker storage, for example when containers fail to start or images cannot be updated. All container images, including Supervisor, Home Assistant Core, plugins and apps, are deleted and downloaded again once the system is back up. Configuration and data of Home Assistant and apps are kept, as they are stored outside of the Docker storage.
Before resetting, please note:
- Internet connectivity is required for downloading all container images again
- A reboot is required to apply the reset
NTP configuration as drop-in files
The persistent time synchronization (timesyncd) configuration is now stored as drop-in files in /etc/systemd/timesyncd.conf.d. Until now, a single copy of the whole /etc/systemd/timesyncd.conf was persisted, which meant that changes to the shipped defaults never reached existing installations and that NTP servers could not be updated reliably through the OS Agent. The configuration is now layered, from lowest to highest priority:
10-ntp.conf: NTP servers received from DHCP20-custom.conf:timesyncd.confimported from the CONFIG partition50-os-agent.conf: NTP servers set through the OS Agent D-Bus API (used by the Supervisor)
On upgrade, any settings in the previously persisted timesyncd.conf that differ from the shipped defaults are moved to 20-custom.conf automatically, so no action is needed. Importing timesyncd.conf from the CONFIG partition keeps working and lands in 20-custom.conf. Drop-ins with a higher priority can be added for more complex customizations.
Home Assistant Operating System
- Update Go to v1.26.8 (#4998) @sairon
- Bump Buildroot to 2025.02.17 (#4997) @sairon
- Force filesystem sync when unpacking container image layers (#4994) @agners, @claude
- Bump OS Agent to v1.13.0 (#4990) @sairon
- Persist timesyncd config in /etc/systemd/timesyncd.conf.d (#4988) @sairon
- Enable autofs support explicitly (#4984) @agners, @claude
- Bump OS Agent to v1.12.0 (#4983) @sairon
- Add service to reset Docker storage when requested (#4982) @sairon
- Re-add rootfstype to kernel command line (#4976) @sairon
- Enable F2FS on all targets (#4977) @sairon
- Update to Docker v29.7.2, runC v1.4.3, containerd v2.3.3 (#4960) @sairon
- Update Go to v1.26.5 (#4959) @sairon
- Bump OS Agent to v1.11.0 (#4958) @sairon
- Keep Dropbear alive during Supervisor and Docker shutdown (#4923) @agners, @claude
Raspberry Pi
- RaspberryPi: Update kernel to 6.18.39 - stable_20260724 (#4956) @sairon
- Relocate Rasberry Pi FDT out of the CMA alloc-range (#4954) @sairon
- Increase USB hub debounce timeout to fix USB SSD boot on RPi 3 (#4940) @dlxmax
Home Assistant Yellow
- Avoid polling for SD card on CM5 Lite on Yellow (#4968) @sairon
- Enable HW flow control on Yellow's mini UART to stabilize Bluetooth (#4957) @sairon
- RaspberryPi: Update kernel to 6.18.39 - stable_20260724 (#4956) @sairon
- Relocate Rasberry Pi FDT out of the CMA alloc-range (#4954) @sairon
- Make Yellow CM4 DTS less confusing, drop invalid property (#4947) @sairon
Home Assistant Green
- Linux: Update kernel to 6.18.49 (#4922, #4930, #4941, #4953, #4972, #4978, #4989, #4996) @sairon, @agners
Open Virtual Appliance
- Linux: Update kernel to 6.18.49 (#4922, #4930, #4941, #4953, #4972, #4978, #4989, #4996) @sairon, @agners
- Use rootfs compression hints also for OVA, LZMA-compress large binaries (#4973) @sairon
Generic x86-64
- Linux: Update kernel to 6.18.49 (#4922, #4930, #4941, #4953, #4972, #4978, #4989, #4996) @sairon, @agners
- Use rootfs compression hints also for OVA, LZMA-compress large binaries (#4973) @sairon
- Enable Goodix touchscreen driver for GDIX1002 panels (#4933) @angelolsantos
- Move Apple SMC option to generic-x86-64 kernel config (#4928) @agners, @claude
Hardkernel ODROID
- Linux: Update kernel to 6.18.49 (#4922, #4930, #4941, #4953, #4972, #4978, #4989, #4996) @sairon, @agners
Khadas VIM Series
- Linux: Update kernel to 6.18.49 (#4922, #4930, #4941, #4953, #4972, #4978, #4989, #4996) @sairon, @agners
Generic aarch64
- Linux: Update kernel to 6.18.49 (#4922, #4930, #4941, #4953, #4972, #4978, #4989, #4996) @sairon, @agners
Build System
- Bump erofs-utils to v1.8.10 and add multithreading support (#4974) @sairon
- Test landing page on port 80 and redirect from port 8123 (#4970) @sairon
Dependencies
Dependency updates (click to expand)
- Bump mikepenz/action-junit-report from 6.4.2 to 6.5.0 (#4992) @dependabot[bot]
- Bump hadolint/hadolint-action from 3.4.0 to 3.5.0 (#4991) @dependabot[bot]
- Bump docker/setup-buildx-action from 4.2.0 to 4.3.0 (#4980) @dependabot[bot]
- Bump shogo82148/actions-upload-release-asset from 1.10.3 to 1.10.4 (#4979) @dependabot[bot]
- Bump shogo82148/actions-upload-release-asset from 1.10.2 to 1.10.3 (#4955) @dependabot[bot]
- Bump actions/stale from 10.4.0 to 11.0.0 (#4945) @dependabot[bot]
- Bump release-drafter/release-drafter from 7.6.0 to 7.7.0 (#4944) @dependabot[bot]
- Bump docker/login-action from 4.5.1 to 4.6.0 (#4943) @dependabot[bot]
- Bump hadolint/hadolint-action from 3.3.0 to 3.4.0 (#4942) @dependabot[bot]
- Bump docker/login-action from 4.4.0 to 4.5.1 (#4921) @dependabot[bot]
- Bump actions/checkout from 7.0.0 to 7.0.1 (#4920) @dependabot[bot]