• v3.2.0 ade1b0f1b4

    v3.2.0
    All checks were successful
    deploy / build-and-push (release) Successful in 1m8s
    CI / check (push) Successful in 2m24s
    Stable

    clarity released this 2026-08-25 19:54:26 +00:00 | 0 commits to main since this release

    Added

    • GET /api/events — schedule feed for the info-beamer signage package
      (package-buergerschule).
      Returns yesterday, today and the following days as raw
      JSON, so the package can keep rendering a correct schedule through days of network
      outage on cached data.

      Query parameter days (optional): lookahead days after today, integer 1..14,
      default 5. The response always carries 2 + days day entries — yesterday, today and
      the lookahead — with an empty events array on days without events. An invalid days
      returns HTTP 400; a calendar fetch error returns HTTP 502.

      Deliberately raw data: private events are excluded as everywhere outside
      /wochenplan, but no timeout filter is applied — hiding events that have already
      ended is the renderer's job — and no display strings for headline or date are
      included, since the package renders those itself. Merged repeat bookings are expanded
      to one entry per occurrence, each with its own id. Response shape, field semantics
      and the consuming sync service are documented in the package under
      package-buergerschule/docs/event-display-api.md.

    Changed

    • Added a later entry to the demo fixtures (demo/raum-b.ics), so make demo exercises
      the lookahead days of the new feed.

    Upgrade notes

    No configuration changes. The new route adds no config key and touches no existing one,
    so an existing config.toml works unchanged. /, /wochenplan, /api/hours and
    /no-zoom are unaffected.

    The feed is unauthenticated, like the rest of the app — if the instance is reachable
    beyond the kiosk network, note that /api/events exposes the same non-private events the
    display already shows.

    Downloads