• v1.1.2 70f81caf47

    v1.1.2
    All checks were successful
    Release / Publish image & release (push) Successful in 3m56s
    Stable

    rbrooks released this 2026-09-26 10:41:59 +00:00 | 35 commits to main since this release

    Fixed

    • The published image could not run a scheduler job or push to the lights
      (#173). The Dockerfile installed from backend/requirements.txt, a
      hand-kept copy of pyproject.toml's dependencies that stopped being kept:
      prometheus-client (#15), defusedxml (#18) and zeroconf (#50) were
      added to pyproject.toml and never to it. Every scheduler job records
      itself through log_run, and every push through _try_push, and both
      import the metrics module — so in the 1.1.0 and 1.1.1 images the on, dim and
      off jobs all failed with ModuleNotFoundError: prometheus_client before
      doing anything, while the container started and passed its health check.
      Off-site S3 backup and controller discovery were broken the same way, and
      pytest and respx shipped in the runtime image instead.

      The image now installs from uv.lock: the build exports the locked runtime
      set with hashes and installs it in hash-checking mode, so what ships is
      exactly what the tests ran against, and there is no second list to drift —
      requirements.txt is gone. The weekly dependency audit, which had been
      auditing that same stale file, now audits the same export. And CI imports
      every app.* module inside the built image, which fails on the 1.1.1 image
      and passes on this one: nothing had ever checked that the image could import
      its own code, because the tests run from a full uv sync and the E2E never
      runs a job.

      Upgrading: nothing to do beyond pulling 1.1.2. Do not deploy 1.1.0 or
      1.1.1.

    Downloads