• v4.0.1 71d4afa49a

    v4.0.1
    All checks were successful
    deploy / build-and-push (release) Successful in 46s
    CI / check (push) Successful in 1m45s
    Stable

    clarity released this 2026-09-09 21:17:53 +00:00 | 0 commits to main since this release

    Changed

    • /api/events no longer spends seconds of CPU expanding recurring events.
      v4.0.0 cut the CalDAV traffic to one REPORT per calendar, but a 7-day feed still
      took 4–5 s on the production host: the 12 requests finish in about half a second,
      and the rest was the app's own recurrence expansion, which ran once per day per
      master and leaned on dayjs timezone comparisons that are slow on the Alpine image.
      Every event is now resolved once over the whole window and attributed to its days
      locally, with instants compared numerically. The 7-day expansion drops from about
      1.2 s to 0.2 s of CPU on a workstation; production is several times faster than
      that ratio suggests, because the slow calls were disproportionately slow there.

    • The response is unchanged, apart from one process-timezone-independent edge:
      "all day" for an event that is exactly one day long is now a 24 h duration check
      rather than a date step in the process zone.

    Upgrade notes

    No configuration changes and no change to the container unit. Hosts that already
    run v4.0.0 with the /api/health healthcheck pull this via podman-auto-update
    as usual. Hosts still on v3.x must first update the healthcheck line as described
    in the v4.0.0 notes.

    Downloads