We changed how recurring events handle exceptions this week
The NestBoard team · 2026-07-21
The change
As of this week, you can edit a single occurrence of a recurring event without breaking the entire series. Move Tuesday's piano lesson to 4pm instead of 3pm, and next Tuesday stays at 3pm. Delete one soccer practice because of a holiday, and the rest of the season continues as planned.
Before this, touching any instance would either modify every future occurrence or force you to split the series entirely. It worked, but it wasn't how families actually need to use a calendar.
Why it took so long
This sounds like table stakes for any calendar app, and it is. But the implementation is surprisingly messy.
The standard approach—used by Google Calendar, Outlook, and most others—relies on something called the iCalendar RFC. It's a decades-old specification that handles exceptions using a format called EXDATE and RECURRENCE-ID. It works, but it's also brittle and hard to reason about when you're trying to sync changes across multiple devices in real time.
We spent a month trying to bolt that standard onto our existing event model. It kept breaking in edge cases: moving an exception, then editing the series; deleting the original date of a moved instance; handling conflicts when two people edited different instances offline.
Eventually we rewrote the whole recurring event system from scratch. Same user-facing behavior, but with a simpler internal model that treats exceptions as first-class objects instead of annotations on a rule.
What it means now
You can move, edit, or delete any single instance. The series remembers what you changed. If you later edit the series itself—say, moving soccer practice from Tuesdays to Wednesdays—your exceptions move with it or get cleared if they no longer make sense.
It's not flashy. But it's the kind of thing that should have been there from the start, and we're glad it finally is.
We're still working on a few related pieces: bulk exception editing, and better handling when you forward Robin an email that cancels "next week's meeting" for a recurring event. If you've tried that and it didn't work the way you expected, we saw your feedback and we're on it.