Breaking changes by release, with migration steps. See CHANGELOG.md for the full release history.
color rejectsOn iOS, createRemindersList(...) and updateRemindersList(...) used to ignore unrecognized color strings (create left EventKit’s color unset; update left the list color unchanged).
Invalid values now reject with Invalid color format., same as calendar color parsing. Valid input is a known system name (blue, …) or hex #RRGGBB / #RRGGBBAA.
// Unknown name was ignored (create: no color set; update: color unchanged)
await CapacitorCalendar.createRemindersList({ title: 'Groceries', color: 'navy' });
// Rejects with Invalid color format.
await CapacitorCalendar.createRemindersList({ title: 'Groceries', color: 'navy' });
// Valid: system name or hex
await CapacitorCalendar.createRemindersList({ title: 'Groceries', color: 'indigo' });
await CapacitorCalendar.createRemindersList({ title: 'Groceries', color: '#007AFF' });
SystemColorName or a valid hex string (#RRGGBB / #RRGGBBAA) for color.Invalid color format. if you previously relied on silent ignore.Omitting color on create still leaves the list color unset so the platform chooses it.
See CHANGELOG.md.
color TypeScript typeCreateCalendarOptions.color and ModifyCalendarOptions.color are now a SystemColorName or hex #RRGGBB / #RRGGBBAA instead of unbound string. Reminders-list create/update use the same inline union (no RemindersListColor / SystemOrHexColor aliases). Runtime hex write and omit-on-create (#007AFF) are unchanged. On iOS, named colors are newly accepted for calendars; on Android, named colors still reject with Invalid color format.
SystemColorName or hex template literal (#RRGGBB / #RRGGBBAA), or narrow/cast unbound string values.See CHANGELOG.md.
frequency is a stringOn iOS, reminder recurrence frequency used EventKit integer raw values (0–3) in these places:
modifyReminder(...) inputgetReminderById(...) / getRemindersFromLists(...) read-backThe public TypeScript contract already used string RecurrenceFrequency ('daily' | 'weekly' | 'monthly' | 'yearly'). Create had been migrated earlier; modify and read-back now match.
await CapacitorCalendar.modifyReminder({
id,
recurrence: {
frequency: 1, // or ReminderRecurrenceFrequency.WEEKLY
interval: 1,
},
});
const { result } = await CapacitorCalendar.getReminderById({ id });
result?.recurrence[0]?.frequency; // 0 | 1 | 2 | 3
await CapacitorCalendar.modifyReminder({
id,
recurrence: {
frequency: 'weekly',
interval: 1,
},
});
const { result } = await CapacitorCalendar.getReminderById({ id });
result?.recurrence[0]?.frequency; // 'daily' | 'weekly' | 'monthly' | 'yearly'
ReminderRecurrenceFrequency.* with string literals ('daily', 'weekly', 'monthly', 'yearly').0–3 or to ReminderRecurrenceFrequency enum members.RecurrenceRule / RecurrenceFrequency. ReminderRecurrenceFrequency and ReminderRecurrenceRule remain deprecated.Passing a non-string frequency (for example 0) now rejects with Invalid frequency.