What's new
CalDAV sync-token (RFC 6578)
The big one: calrs now uses delta sync instead of fetching every event on every sync. This makes it viable for deployments with hundreds of users against CalDAV servers like BlueMind.
- ctag comparison skips unchanged calendars entirely (zero events fetched)
- sync-collection REPORT fetches only additions, modifications, and deletions since the last sync
- Automatic fallback to full fetch for servers that don't support RFC 6578
calrs sync --fullflag to force a complete re-sync when needed
Admin group management
Admins can now create, edit, toggle, and delete event types for any group, even groups they're not a member of. This lets IT teams configure group meetings on behalf of other teams.
Background calendar sync
The reminder loop (every 60s) now syncs the stalest CalDAV source each tick. With ctag + sync-token this is near-instant for unchanged calendars, but ensures deletions are caught even when nobody visits the booking page.
External cancellation detection
When a CalDAV event is deleted on the server side (e.g. someone deletes a meeting in BlueMind), the corresponding calrs booking is automatically marked as cancelled. Previously, the booking would stay as "confirmed" in calrs until a manual full sync.
See the full changelog.