Calendar Icon

Calendar

0.2.0

May 1st, 2026

What's new

  • Add OccurrenceBuilding, a cache-build event for enriching materialized occurrences with custom fields (#15)
  • Persist custom occurrence fields through cached OccurrenceData, JSON API responses, and {{ calendar }} tag output
  • Expose both the source entry and resolved occurrence to listeners, so extras can depend on occurrence-specific data like start/end dates
  • Add pagination to the REST API with page / per_page parameters and api.max_per_page limits (#7)
  • Add Statamic-style pagination to {{ calendar }} and {{ calendar:for_organizer }}, including paginate, page_name, and as support (#7)

What's changed

  • Align calendar tag output with Statamic's OutputsItems conventions and default paginated key occurrences
  • Keep core occurrence fields authoritative when custom extras use reserved keys
  • Document custom occurrence fields and pagination options in README, config comments, and event class docblock

0.1.2

April 20th, 2026

What's fixed

  • Fix {{ calendar:ics_download_url }} inside {{ calendar }} loops β€” loop items now expose occurrence_id (composed {entry_id}-{Y-m-d-His}), so .ics download links resolve correctly instead of 404-ing (#10)

0.1.1

April 20th, 2026

What's fixed

  • Fix eloquent driver compatibility: normalize numeric organizer IDs and tag-level entry IDs to strings (#9)

0.1.0

February 8th, 2026

πŸŽ‰ Initial Release

Recurring events and cached occurrences for Statamic v5/v6.

Features

  • Recurring events β€” define recurrence rules (RRULE) on entries; occurrences are expanded and cached automatically
  • calendar:month tag β€” render a monthly grid view in your Antlers templates
  • current_occurrence tag β€” resolve the current or next upcoming occurrence for an entry
  • iCalendar (.ics) export β€” full calendar feed and per-event download
  • "Add to calendar" links β€” generate links for Google Calendar, Outlook, etc.
  • JSON REST API β€” query occurrences programmatically via /!/calendar/occurrences
  • Auto-registered routes β€” index and date-segment routes configured from config/calendar.php
  • Default templates β€” ships with ready-to-use index, show, and month-grid views (Tailwind CDN)