PackageTrack
Sign in Get early access

device_calendar_plus_platform_interface

Platform interface for device_calendar_plus plugin.

0.7.0 7.7K downloads/mo #3300 most downloaded on pub.dev bullet-to/device_calendar_plus

What this package is like to depend on

Last release 2 months ago

17 Jun 2026

Ships fairly regularly

a new release about every 6 weeks

Nearly every release is documented

notes for 15 of 15 stable releases

Nothing withdrawn

no release was ever pulled

9 months old

15 releases · first in 2025

15 releases in the last 12 months

see the full history below

Release timeline

15 releases · Nov 2025 to Jun 2026
2026
Release Pre-release

Releases

latest 15
  1. 0.7.0 17 Jun 2026
    Release notes

    Feature release. App-facing API is additive; device_calendar_plus_platform_interface has breaking signature changes for platform implementers.

    Added

    • Write-only accessrequestPermissions(level: CalendarAccessLevel.writeOnly) for the gentler add-only prompt (#89).
    • Automatic permissionsDeviceCalendar.instance.autoPermissions = AutoPermissionMode.asNeeded | .full; methods request access on first use (#90).
    • Optional calendarId — omit it on createEvent to write to the default calendar (#88).
    • Event remindersreminders: List<Duration> on create, Patch<List<Duration>> on update, Event.reminders read back; minute-granular relative offsets (#87).

    Fixed

    • Android: honest permissionDenied (not "no writable calendar") when a default can't be resolved (#112); tighter denial reporting (#108).
    • Docs: iOS write-only re-prompts and upgrades in-app (#109).

    All four packages bumped 0.6.0 → 0.7.0 in lockstep.

    Open source →
    Release notes

    Changed

    • Breaking: createEvent's calendarId is now String? — a null targets the platform's default calendar — and it gains a List<int>? reminders parameter (whole-minute before-start offsets) (#88, #87).
    • Breaking: updateEvent gains a Patch<List<int>>? reminders parameter (#87).
    • Breaking: requestPermissions takes a writeOnly flag to request the add-only access tier (#89).

    Added

    • writePatchFields accepts patches of any serializable value type, not just strings, so non-string fields ride the same clearedFields convention.
    Open source →
  2. 0.6.0 16 Jun 2026
    Release notes

    chore(release): prepare 0.6.0

    Open source →
    Release notes

    Changed

    • Breaking: updateRecurring takes start: DateTime (sent as newStartMillis) instead of startTime: EventTimeOfDay; the anchored occurrence moves to start and the scope translates by that wall-clock delta (#103).
    • Breaking: EventTimeOfDay is removed.
    Open source →
  3. 0.5.2 15 Jun 2026
    Release notes
    • No functional changes; version aligned with the rest of the suite for the 0.5.2 release
    Open source →
  4. 0.5.1 15 Jun 2026
    Release notes
    • iOS: fix showEventModal(edit: true) crash (#77)
    • Docs: clarify showEventModal view modal is not read-only
    Open source →
    Release notes

    Docs

    • Clarified showEventModal docs: the edit flag only sets the modal's starting mode; the native view screen still lets the user edit on both platforms
    Open source →
  5. 0.5.0 11 Jun 2026
    Release notes

    Changed

    • Breaking: updateRecurring() reworked — positional eventId, occurrence timestamp and span, with startTime (EventTimeOfDay) and durationMinutes replacing absolute dates, and recurrenceRule taking a Patch<String> (RRULE); returns the affected scope's event ID
    • Breaking: updateEvent() and deleteEvent() take an optional occurrence timestamp; when set, the operation acts on that single occurrence
    • Breaking: span accepts only allEvents and thisAndFollowing; thisInstance is gone

    Added

    • EventTimeOfDay — validating hour/minute value class
    Open source →
  6. 0.4.0 25 May 2026
    Release notes

    Added

    • updateRecurring() method with EventSpan enum (allEvents / thisAndFollowing / thisInstance)
    • deleteRecurring() method taking an EventSpan
    • url parameter on updateEvent()
    • edit parameter on showEventModal()
    • Patch<T> sealed type (Patch.set / Patch.clear) for clearable optional fields

    Changed

    • Breaking: updateEvent() description, location, and url now take Patch<String> instead of String?
    Open source →
  7. 0.3.5 20 Apr 2026
    Release notes

    Version sync with other packages. No functional changes.

    Open source →
  8. 0.3.4 08 Feb 2026
    Release notes

    Version sync with other packages. No functional changes.

    Open source →
  9. 0.3.3 21 Dec 2025
    Release notes

    Version sync with other packages. No functional changes.

    Open source →
  10. 0.3.2 19 Dec 2025
    Release notes

    feat(android): add CreateCalendarOptionsAndroid for custom account na…

    Open source →
    Release notes

    Added

    • CreateCalendarPlatformOptions base class for platform-specific calendar creation options
    • createCalendar() now accepts optional platformOptions parameter
    Open source →
  11. 0.3.1 07 Nov 2025
    Release notes

    Version sync with other packages. No functional changes.

    Open source →
  12. 0.3.0 05 Nov 2025
    Release notes

    chore: bump version and update changelogs

    Open source →
    Release notes

    Changed

    • BREAKING: deleteEvent() signature changed - removed deleteAllInstances parameter, operations on recurring events now always delete entire series
    • BREAKING: updateEvent() signature changed - removed updateAllInstances parameter, operations on recurring events now always update entire series

    Removed

    • BREAKING: NOT_SUPPORTED platform exception code (no longer needed)
    Open source →
  13. 0.2.0 05 Nov 2025
    Release notes

    Added

    • openAppSettings() method to direct users to app settings for permission management

    Removed

    • BREAKING: getPlatformVersion() method (unused boilerplate)
    Open source →
  14. 0.1.1 04 Nov 2025
    Release notes

    Version sync with other packages. No functional changes.

    Open source →
  15. 0.1.0 04 Nov 2025
    Release notes

    Initial release.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive