• 26.13-alpha 6030e556d3

    26.13-alpha
    All checks were successful
    CI / validate (push) Successful in 5s
    CI / shellcheck (push) Successful in 12s
    Release / release (push) Successful in 5s
    Pre-release

    daniel released this 2026-08-23 16:04:29 +02:00 | 0 commits to main since this release

    Added

    • Mosquitto (v1.0.0, image eclipse-mosquitto:2.0). MQTT broker, the
      first dependency provider in the catalog. Auth is mandatory
      (allow_anonymous false); the broker ships no hand-managed accounts.
      Instead it carries two hook scripts (scripts/provision-client.sh,
      scripts/ensure-client.sh) that any consumer app references from its
      requires block — they run inside the mosquitto container, create a
      per-consumer mosquitto_passwd account, and hand the credentials back to
      the consumer. One Docker volume (data) for persistence + the password
      file + a provider-side password stash so on_start can restore an account
      after a volume wipe. The ensure-client.sh hook prefers the consumer
      password that post-26.17 core injects as FURTKA_CONSUMER_ENV_MQTT_PASS and
      falls back to the stash on 26.17, so it works on both. Publishes 1883 on the
      host so consumers in separate compose projects can reach it via
      host.docker.internal.
    • Zigbee2MQTT (v1.0.0, image koenkk/zigbee2mqtt:1.42.0). First
      dependency consumer: requires mosquitto, so installing it pulls the
      broker in automatically and wires up MQTT credentials with no manual config.
      MQTT settings are injected via ZIGBEE2MQTT_CONFIG_* env from the hook
      output; the Zigbee USB coordinator path is a text setting
      (ZIGBEE_SERIAL_PORT) mapped through devices:. Frontend on host port 8084
      (8080 is taken by it-tools). Needs a physical Zigbee coordinator to fully
      start; the MQTT-credential handshake is observable without one.
    • These two are the catalog's first real exercise of core 26.17's app-to-app
      dependency feature — until now every catalog app was standalone. Building
      them surfaced three framework limitations now documented in
      apps/README.md:
      on_start can't talk back to the consumer, there is no shared app network,
      and there is no device/serial setting type.

    Changed

    • Bumped the vendored scripts/vendor/furtka_manifest.py from the
      26.10-era copy to core 26.17, so the catalog validator actually understands
      and validates the requires / on_install / on_start schema instead of
      silently ignoring it.
    • CI now shellchecks app hook scripts (apps/*/scripts/*.sh), not just
      the repo-root scripts/.
    Downloads