A few reliability fixes for widgets, particularly around the Handled and checklist indicators introduced in 26.6. Two bugs caused Handled checkmarks and checklist progress counters to disappear from widgets. In the first, marking a date as Handled or checking off a checklist item didn't update the widget immediately — the indicator only appeared after you left the app and came back, so it could be missing for your entire current session. In the second, every sync run (including the automatic background sync) was silently overwriting the widget snapshot without the action-tracking data, wiping all indicators shortly after they appeared. Both are now fixed. Also fixed: later in the day, a date happening today could sometimes sort below one happening tomorrow in your widgets. Today's dates now always appear first, regardless of what time the widget last refreshed.
This update adds quick contact actions, a new single-contact widget, and a set of tools to help you track what you've actually done for the people in your life. A new "Reach Out" button appears in the top bar of every date detail screen. Tap it and iOS opens the full contact card: call, message, FaceTime, and anything else your phone knows how to do with that person. Your same-day reminder notifications now have a "Reach Out" shortcut too: tap the action in the notification and KeepDates opens straight to the contact card. Premium users get a new Contact Spotlight widget. Pick one contact and the widget shows their upcoming dates front and centre. A small size widget shows just the next date with their photo as a full-bleed background; medium shows up to three dates; large shows up to eight. Configure the contact by long-pressing the widget and tapping Edit Widget. Also for premium users: you can now mark an occurrence as Handled. When you've actually reached out (sent the birthday message, made the call) tap the toggle in the "This Occurrence" section of the date detail screen. A green checkmark appears next to that date in the list and in your widgets, and the state resets automatically at the start of next year. If you want to go further, you can attach a checklist to any date. Add the specific things you want to do (book a table, buy a gift, write a card) and check them off as you go. When everything is done the date is automatically marked as Handled. A progress counter (2/3, for example) shows up in the list and on your widgets until all items are checked. Default checklist items can be set in Settings → Action Tracking so new checklists come pre-filled. It also fixes an issue where Today's events could show up after Tomorrow's in the widget in certain conditions.
Two new widget features in this update. A new "Today in KeepDates" widget shows only the contact dates happening today. If nothing is scheduled for today, it stays empty rather than pulling in future dates. It comes in small and lock screen sizes, and is a premium feature. When multiple contacts share the same upcoming date, the small widget now cycles through all of them automatically every ten minutes, with a position indicator showing how many there are. You can also tap the arrows on the edges of the widget to move through them manually at any point. Reminder notifications for dates on your own contact card now read in the first person: "Your Anniversary is tomorrow" instead of your own name. A new toggle in Settings ("Show 'You' for your own contact card") extends the same substitution to the date list and widgets when you switch it on. Also fixed: the What Changed sheet now sorts entries alphabetically by contact name and label. Widget taps now navigate correctly to the date detail screen again.
You can now delete a date or birthday directly from the contact detail screen - swipe left on any date row, confirm, and KeepDates removes it from the contact record and cleans up the calendar event automatically. Each widget now has its own "Show Today's Events" toggle in widget configuration, so you can show or hide today's dates independently on each one. If you share only some of your contacts with KeepDates, the app now works fully with whatever you've shared. A soft banner in the date list lets you add more contacts via Settings if you want to expand the view. The contact picker also tells you when a search result is missing because that contact isn't shared. Contacts with a nickname can now show that nickname everywhere: in the list, widgets, calendar events, and reminder notifications. It updates automatically on the next sync. A new Diagnostics screen in Settings logs each sync run with full detail: outcome, date counts, any calendar errors, and your device info. You can copy or share the log, which is useful for bug reports. Calendar events are now checked and corrected on every sync. If an event was previously created starting from a future date instead of the contact's original year, it's automatically fixed and the old series is replaced with one starting from the right date. Contacts with two dates on the same day but different years (like two anniversaries) are now correctly kept as separate events rather than treated as duplicates. Also in this update: interactive controls in the date and contact detail views take on a colour from the contact's photo; the date type label in medium and large widgets is now softer and less prominent; the lock screen widget avatar renders in monochrome with boosted contrast; past dates no longer appear in the widget when the snapshot is slightly stale; and a background sync without calendar access no longer records as a failure.
Contact photos are now everywhere — in the date list, detail views, and every widget. The small widget can show a full-bleed contact photo with a colour-matched background. Medium and large widgets show a circular photo next to each row. Tap any contact to open a dedicated screen with all their dates, sync controls, and per-contact settings in one place. Search is here. Start typing in the main list and it filters by contact name or date type instantly. You can now add a date to any contact in your address book, even one with no existing dates. Set or update birthdays too, right from within the app. Widgets are now individually configurable — long-press to set contact photos, birthday visibility, and (premium) a per-widget lookahead window. Detail views got a visual refresh with a prominent header and a soft color tint drawn from the contact's photo.
Minor fixes to reminder notification content and widget rendering logic. Also fixes a crash that occurs when duplicate dates are found.
Group upcoming dates by month or contact. Contact photos now appear inline in reminder notifications. New label filter rules. Redesigned first-run setup with a skippable calendar step.
Minor fix: Fixes notifications settings toggle behavior and the settings links
Added a "view changes" screen, where you can see what dates were added/removed recently An option to receive notifications when dates are removed (not only when new ones are found) An option to override the app's appearance - choose to always have it in light or dark mode (regardless of the system setting)