Choose how far back and how far ahead each calendar syncs

· v2.14.0

Every connected calendar copied the same span of time, which is fine until one of them is a decade old. A calendar you joined for a single project would drag its whole history into the calendar you actually live in.

Each calendar now carries its own window, set separately for the past and the future: one week, one month, three months, six months, twelve months or two years. The default is one month back and two years ahead, which suits most people without any change. Narrowing a window is not cosmetic — Keeper.sh stops fetching outside it, so a source that was slow because it held years of history gets faster, and events already copied outside the new window are cleaned up rather than left stranded.

Changing a window does not wait for the next scheduled run. Saving it asks for a sync straight away, so widening a calendar to six months of history fills that history in rather than only collecting what arrives from then on.

Read more about what a paid plan adds.

New

  • A newly connected calendar now hides event titles, descriptions and locations by default, rather than relying on the setting being applied afterwards.

  • Self-hosted installs bundle the assistant server into the standalone image, so running one no longer means running a second service alongside it.

Improved

  • Reconciling an iCloud, Fastmail or other CalDAV calendar now downloads only the copies Keeper.sh made, so a busy calendar syncs noticeably faster.

  • Large CalDAV calendars import every event instead of stopping partway through.

  • Errors now explain what actually went wrong instead of showing a status code and a URL.

  • Following a link from the bottom of a page opens the next page at the top.

  • Elevated surfaces in the light theme now stand apart from the page the way they do in dark.

Fixed

  • An event deleted on iCloud, Fastmail or another CalDAV calendar now removes its copy instead of leaving it behind.

  • Events no longer go missing when Microsoft rate-limits your mailbox, because writes now wait and retry.

  • An Outlook event with no title no longer stops the whole calendar from being read.

  • Connecting a Microsoft account works when Microsoft returns permissions in its resource-qualified form.

  • Connecting a Google account works when it has no readable calendars, or when one calendar has no name.

  • A deleted Google event is no longer deleted twice.

  • An event with no duration now arrives on the other calendar instead of being retried forever.

  • All-day events keep their date when the calendars either side of them sit in different timezones.

  • Events written to a CalDAV calendar carry their timezone, and one unreadable event no longer stops the rest arriving.

  • A calendar link whose events carry their own timezone now imports, instead of the whole feed failing.

  • A slow CalDAV server or a timeout no longer asks you to reconnect an account that is working.

  • Your published feed now stays inside the range you set for it.

  • The first import of a calendar link uses the range you configured, rather than a default.

  • Reading a repeating series too large to expand now returns a clear explanation instead of a generic error.

  • A paid plan no longer shows as free when the billing provider is slow to answer.

  • An error page in production no longer shows the development one.

Can Keeper.sh use cookies for analytics?