Skip to content

havm 0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 15:03
· 55 commits to main since this release
0f1e34c

v0.2.0

Breaking changes

  • Bridge networking is now the default. The VM gets a LAN-reachable IP
    for mDNS discovery (homeassistant.local) and local integrations. Self‑compiled
    binaries without the com.apple.vm.networking entitlement automatically fall
    back to NAT with a warning. Explicit type: nat in config.yml overrides as
    before.

Added

  • havm_disk_usage_bytes Prometheus gauge. Tracks the main disk image's
    logical (configured) and allocated (actual APFS) size. Computed on scrape,
    no timer overhead.

Changed

  • Event-driven idle — zero polling, zero run-loop drain. After guest boot
    completes, no GCD timers, no CFRunLoopRun, no run(mode:before:). Signals
    and VZ delegate callbacks arrive through GCD dispatch sources. VM stop is
    detected via VZVirtualMachineDelegate instead of state polling.

  • GitHub API requests use ETag conditional caching. Persists the ETag
    between runs; subsequent requests return 304 Not Modified which costs zero
    rate-limit tokens. Only counts against the rate limit when a new HA OS
    release is actually published.

  • Rate-limited errors show the reset time. The x-ratelimit-reset Unix
    timestamp is parsed and translated into a human‑readable duration
    ("try again in 6m 24s").

Fixed

  • Setup errors use the structured logger instead of raw fputs to stderr,
    matching the log format configured for the session.