github home-assistant/operating-system 18.3.rc1
Home Assistant OS 18.3.rc1

pre-release3 hours ago

Changes

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 DHCP
  • 20-custom.conf: timesyncd.conf imported from the CONFIG partition
  • 50-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

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

Open Virtual Appliance

Generic x86-64

Hardkernel ODROID

Khadas VIM Series

Generic aarch64

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)

Don't miss a new operating-system release

NewReleases is sending notifications on new releases.