havm 0.3.0
What's new in v0.3.0
Runs on macOS 15 or later
The minimum deployment target drops from macOS 27 (Golden Gate) to
macOS 15 (Sequoia). All core functionality — EFI boot, bridge/NAT
networking, the interactive serial console, the SSH-key CONFIG disk,
graceful shutdown, and Prometheus metrics — works unchanged on
macOS 15 and 26.
USB accessory passthrough (the menu bar hot-attach of Zigbee
coordinators etc.) remains a macOS 27 feature: it depends on the
AccessoryAccess framework and VZUSBPassthroughDevice. On macOS 15–26,
havm run logs a message and continues without it. The CONFIG disk is
unaffected — SSH key import still works on every supported release.
New --log-level option
havm run --log-level {debug,info,warning,error} overrides
logging.level from the config file — handy for debugging a Homebrew
service without touching its config.
Reliability & diagnostics
logging.level: errornow maps to.error(previously mapped to
.critical, which suppressed all output).- An unexpected VM stop now exits with status 1, so launchd
(brew services) reliably restarts the process. - A warning is logged when the Home Assistant web UI doesn't respond
within 5 minutes of the guest becoming reachable. - Config hot-reload parse failures, PID file write/remove errors, MAC
address regeneration, and console cmdline patch failures are now
logged instead of failing silently. MemorySizeparsing rejects values at the exact 2^64 boundary.
Dependencies
- swift-log 1.15.0
Full Changelog: v0.2.4...v0.3.0