Skip to content

v0.2.0

Choose a tag to compare

@tsirysndr tsirysndr released this 11 Jun 16:43

[0.2.0] - 2026-06-11

Added

  • mDNS / zeroconf discovery. The server advertises itself as
    _zerod._tcp.local. via a new zerod-discovery crate (pure-Rust
    mdns-sd, no Avahi / Bonjour). The instance name defaults to the
    machine hostname and the published TXT records include the daemon
    version.
  • zerod discover subcommand — lists every responder on the LAN
    with name, host, port, and advertised version.
  • --name / ZEROD_NAME flag — when multiple servers respond,
    pick one by its mDNS instance name.
  • --discover-timeout-ms / ZEROD_DISCOVER_TIMEOUT_MS flag
    override the default 1500 ms browse window.
  • [mdns] section in zerod.tomlenabled (default true) and
    name (empty → hostname).

Changed

  • --host is now optional. Omitting it (and ZEROD_HOST) triggers
    mDNS discovery and connects to the only responder. Previously it
    defaulted to localhost.
  • IPv4 address selection during discovery skips loopback and Docker's
    172.17.0.0/16 default bridge, so zerod running inside Docker or
    next to a docker0 interface no longer leaks the bridge IP to clients.
  • zerod service install post-install hint now reflects the
    discovery-first UX (zerod system health instead of
    zerod --host <pi> system health).

Full Changelog: v0.1.0...v0.2.0