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.
Bolting that standard onto a live event model breaks in predictable places: moving an exception and then editing the series, deleting the original date of a moved instance, resolving conflicts when two people edit different instances offline. NestBoard uses a simpler internal model instead, treating exceptions as first-class objects rather than annotations on a rule.
What it means now
You can move, edit, or delete any single instance. The series remembers what you changed. Editing the series itself is the rough edge we're still smoothing. An exception is pinned to the date it was made on, so moving a whole series can leave an old exception stranded on a day the series no longer touches.
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 have tried that and it did not work the way you expected, tell us at hello@mynestboard.com.