Skip to content

Full Calendar Changelog

This page provides a detailed breakdown of every version of the Full Calendar plugin, including new features, improvements, and bugfixes.


Version 0.12.3

  • New: Deep Tasks Integration with Backlog & Filtering (#122, #128, #136) Full Calendar now has first-class support for the Obsidian Tasks plugin. A new "Tasks" calendar source syncs your tasks directly onto the calendar. Features include a dedicated task backlog, drag-and-drop rescheduling, and in-calendar completion. Create, update, and delete tasks without leaving the calendar view.

  • New: Advanced Date Navigation (#106) Navigate your calendar with precision using the new "Go To" dropdown in the toolbar. It features a reusable DatePicker and context-aware navigation. Right-click on the calendar to jump to a specific month, week, or day.

  • Improvement: Task Management Workflow & Parsing (#132, #134, #138) The Tasks integration includes advanced parsing for dated and undated tasks, multi-day event support, and custom status detection. A new setting allows stripping tags from task titles for a cleaner display. The entire parsing logic is covered by a comprehensive test suite for maximum reliability.

  • Improvement: Performance & Stability The plugin now performs surgical updates on file changes instead of full-vault rescans, significantly improving performance in large vaults. Remote calendars now load in a non-blocking, priority-ordered manner, and race conditions during event source removal have been fixed.

  • Improvement: Provider Architecture The provider registry now loads calendars with priority and uses a new isFileRelevant() hook for cleaner file-change handling. "Manage calendar" logic has been delegated to the respective providers for better modularity.

  • Fix: Notification and Reminder Reliability End-time reminders now fire correctly for events that are already in progress, ensuring you never miss the end of an important block of time.

  • Fix: Core Component Stability (#100, #101, #126) Fixed numerous bugs, including a race condition when removing event sources, an issue preventing the create modal from appearing if no editable calendars exist, and a bug where the Daily Notes calendar would fail without a template. New calendars now appear instantly in settings without a "Provider not found" flash.


Version 0.12.2 (beta)

  • New: Multi-day Daily Note events with explicit endDate
    Daily Note calendar now supports explicit multi‑day events via [endDate:: YYYY-MM-DD] while remaining backward compatible with legacy overnight detection.

  • New: Central TimeEngine
    Single timer maintains a sorted time-sensitive cache and publishes a time-tick event consumed by status bar, notifications, and other listeners.

  • New: Status Bar current/upcoming events
    Lightweight status bar UI subscribes to TimeEngine to surface what's happening now and next.

  • New: Interactive time‑axis zoom (#96)
    Ctrl/Cmd + scroll to dynamically zoom the vertical (timeGrid) or horizontal (resourceTimeline) axis for fast focus changes.

  • New: Advanced recurrence intervals & positional monthly rules (#97)
    Support for interval-based repeats (e.g., every 2 weeks) and positional monthly rules (2nd Tuesday, last Friday) with iCal import/export parity.

  • Improvement: Codebase compliance & safety
    Replaced loose any casts, moved inline styles to CSS, added instanceof guards for file/folder objects, removed custom leaf detaching on unload.

  • Improvement: Reactive calendar view lifecycle
    view-config-changed now triggers targeted cache repopulation and a new resync event prompts precise re-renders for snappier UI updates.

  • Improvement: NotificationManager refactor
    No internal timer; now a passive subscriber to TimeEngine, reducing duplicate intervals and simplifying lifecycle management.

  • Fix: Robust timezone conversion for cross-day events
    convertEvent rewritten as a pure function; correctly handles explicit endDate and legacy overnight semantics with stricter type guards.


Version 0.12.1 (beta)

  • New: Event Reminder System with Desktop Notifications (BETA) Introducing the NotificationManager for native desktop notifications. Users can opt-in to receive reminders 10 minutes before events start and, optionally, 10 minutes before they end. Perfect for never missing important meetings or deadlines.

  • New: Multi-Account Google Calendar Integration
    Google Calendar integration now supports connecting and managing multiple accounts simultaneously. Features a dedicated account management hub with a streamlined two-step wizard for adding new calendars from any connected account.

  • Improvement: Provider-Based Architecture with Multi-Account Support
    Complete architectural overhaul to a provider-based system where each calendar source (Local, Daily Notes, ICS, CalDAV, Google) is a self-contained, instanced provider. The new ProviderRegistry acts as a central persistence gateway, managing all I/O and abstracting storage details. This enables stateful features and robust multi-account Google Calendar integration.

  • Improvement: Event-Driven Settings with Instant Updates
    Settings persistence refactored to a publish/subscribe model. The saveSettings function now diffs old vs new state and publishes granular events (sources-changed, view-config-changed, settings-updated). Calendar views re-render instantly without flicker or unnecessary reloads.

  • Improvement: Lazy-Loading for Faster Startup Performance
    Heavy dependencies are now dynamically imported only when needed: FullCalendar engine loads when opening a calendar view, React modals load on demand. This dramatically reduces startup time and memory usage.

  • Improvement: Centralized Event Enhancement Pipeline
    New EventEnhancer module centralizes all timezone conversions and category parsing, essentially intercepting all raw events befor it reaches the Cache. Business logic extracted into dedicated stateless modules with a new WorkspaceManager handling all workspace filtering and display logic.

  • Fix: Timezone Handling for Recurring Events #94 Recurring events now properly handle timezones with endDate support, resolving timezone branching issues and ensuring correct time display across different time zones.

  • Fix: ICS events now loads properly #91 Parsing issues in Remote ICS calendar is fixed and should now load properly.


Version 0.11.9

  • New: Calendar Workspaces (#90)
    Save and switch between customized calendar setups (sources, filters, and view preferences). Workspaces include a header switcher, a command palette action ("Full Calendar: Switch Workspace"), and an optional default workspace on startup. Saved state covers selected sources (Local, Daily Notes, ICS, CalDAV, Google), category/sub‑category filters, tasks visibility, all‑day toggle, initial view (month/week/day/timeline), week start, and time‑grid display options.

  • Improvement: Faster Switching and Rendering
    Workspace application is incremental (sources → filters → view) to avoid full calendar rebuilds. Switching preserves context where possible (e.g., scroll/selection) and significantly improves responsiveness on large vaults.

  • Improvement: Workspace Management UX
    Add Save as Workspace, Rename, Delete in the calendar header menu; set a Default Workspace in Settings; and assign hotkeys through Obsidian’s Hotkeys for one‑press switching.

  • Fix: Edit Modal Sub‑category Parsing
    Fixes a regression where sub‑categories could disappear when editing the title in the modal. The title parser now consistently preserves the Category - SubCategory - Title format on save.

  • Fix: Workspace Persistence Edge Cases
    Improved robustness when loading a workspace that references a removed or renamed source. Adds safe fallbacks to an "All Events" view and clearer status messaging.


Version 0.11.8

  • New: Business Hours and Background Events Support Highlight working hours in calendar views and display events as background highlights (e.g., vacations or focus blocks). Configurable via settings and event frontmatter.

  • New: Timeline View Category Shadow Events (#76) Adds optional display of category shadow events in Timeline View for better visual context and planning.

  • New: Real-Time Duplicate Event Validation (#67) Prevents creation of duplicate events in the calendar interface, improving scheduling accuracy.

  • Improvement: Edit Modal Now Supports Subcategory Editing The "Edit Event" modal now parses and displays sub-categories directly in the event title. Users can edit them inline and changes are preserved.

  • Improvement: Settings Modal Reorganization and Footer UI updates include reorganized settings for better clarity, hover hints for display options, and a new footer for versioning and help links.

  • Improvement: Configuration Migration for Legacy Support Legacy settings like subprojectKeywords_exclude are migrated automatically, and missing fields (e.g., persona) are filled safely.

  • Improvement: Type Safety and Safer DOM Manipulations (#69, #71) Removed unsafe type assertions across key modules (DailyNoteCalendar, GoogleCalendar, interop) and introduced robust DOM update utilities (safeCreateEl, safeEmpty).

  • Fix: Recurring Task Completion Preserves Child Timing (#75) Undoing completed recurring tasks now correctly retains the timing of override events. Adds full test coverage for various edge cases.

  • Fix: All-Day Events Treated as Floating in RRULE All-day recurring events now behave correctly as floating events, fixing unintended start time offsets.

  • Test: Coverage for Business Hours, Background Events, and Override Logic New test suites validate schema correctness, UI rendering, and recurring timing behavior.


Version 0.11.7

  • New: Full Google Calendar Integration with Two‑Way Sync Connect your Google account to create, modify, and delete events (including recurring events) directly in Obsidian. Includes OAuth 2.0 authentication, calendar selection, and proper token refresh handling.

  • Improvement: Centralized and Reusable Form Components Inputs like URL, Username, Password, Directory Select, and Heading have been refactored into dual‑mode primitives with a readOnly mode for consistent display. A generic TextInput replaces one‑off components.

  • Improvement: Modularized Settings Tab and Changelog Component Settings sections are now organized into dedicated renderers with improved type safety. A new Changelog.tsx component has been added for clearer update visibility.

  • Improvement: Unified Event Parsing Pipeline Calendar parsers now output raw events without settings dependencies and pass them through a single enhanceEvent function for category logic. Tests have been updated to separately verify raw parsing and enhancement.

  • Improvement: Modular Event Cache Management The EventCache logic is split into dedicated modules (RemoteCacheUpdater, LocalCacheUpdater, IdentifierManager, RecurringEventManager), making synchronization and recurring event handling more reliable.

  • Fix: Daily Note Calendar Parsing and Cache Update Logic Parsing bugs in DailyNoteCalendar have been fixed, and modifyEvent now correctly flags dirty events to ensure the UI updates when frontmatter changes (e.g., skipDate).

  • Other: Codebase Refactor for Type Safety and Maintainability Shared types and utilities have been centralized, internal names clarified, and redundant code removed—all without changing user‑facing behavior.


Version 0.11.6

  • New: Advanced Categorization with Hierarchical Timeline View
    Events can now be organized by categories and sub-categories in a new Resource Timeline view. Expandable groups and aggregated parent rows make it easier to manage complex schedules.

  • New: Drag-and-Drop Category Reassignment
    Change an event’s category or sub-category directly from the timeline view by dragging it to a different lane. Titles and metadata update automatically.

  • Improvement: Cleaner UI and Initial View Options
    The event modal and settings UI have been polished with dropdown options and a new initial view setting that supports the timeline view.

  • Improvement: Smarter Event Titles and Filenames
    Events now display clearer titles (e.g., SubCategory - Event Name) while keeping filenames and internal data consistent.

  • Fix: Multi-Level Category Parsing
    Parsing of event titles with multiple category levels (e.g., Category - SubCategory - Title) has been fixed, ensuring correct category and sub-category assignment.

  • Other: License Update
    The plugin license has been updated to GPLv3 to comply with FullCalendar requirements.


Version 0.11.5-beta

  • New: Monthly and Yearly Recurring Events
    You can now create events that repeat every month or every year — perfect for things like anniversaries, billing cycles, or project reviews.

  • New: Smarter "Repeats" Menu in Event Modal
    The old "Recurring" checkbox is gone. Instead, use a new dropdown to choose from Weekly, Monthly, or Yearly recurrence. The UI updates dynamically to match your selection.

  • Improvement: Human-Friendly Filenames for Recurring Notes
    Recurring event notes now get cleaner, more descriptive names like (Every year on July 30th) My Event.md.

  • Improvement: Enhanced Timezone and All-Day Support
    Timezone handling for recurring events is now more accurate, and All-Day events display correctly across time boundaries.

  • Fix: Right-Click Task Toggle for Recurring Tasks
    Recurring tasks can now be marked as complete using the right-click menu, just like one-off tasks.

  • Fix: Safer Rendering and UI Cleanups
    Removed use of unsafe HTML injection in the UI. Improved event rendering, loading states, and general UI responsiveness.


Version 0.11.4

  • New: Smarter Recurring Events and Tasks
    Recurring events can now be edited per-instance — drag, resize, or complete a task without affecting the whole series. Changes are reversible and tracked cleanly.

  • Improvement: Safe Deletion with Confirmation Options
    Deleting a recurring event now asks whether to remove just one instance, the entire series, or promote existing edits to standalone events.

  • Improvement: Better Task Behavior for Repeating Events
    Recurring tasks now behave just like regular ones — you can check them off individually, and they show up correctly in the calendar.

  • Fix: Multi-day all-day events fix by @yalikebaz Multi-day all-day events made inclusive for local calendars. Thanks to @yalikebaz for the fix!

  • Fix: Performance and Architecture Improvements Refactored recurring event logic, improved performance on large calendars, and cleaned up the plugin architecture to prepare for future features.


Version 0.11.3

  • New: Insights Engine has smarter Dashboard with Personas
    Adding persona (predefined rules like "Productivity", "Routine") to Categories in Insight Config Setting now cater to more powerful analysis.
  • Fix: Insights Panel and Dashboard Bugfixes
    Multiple bugfixes and UI adjustments focused on the Insights panel.

Version 0.11.2

  • New: Insights Engine in ChronoAnalyser
    New intelligent engine that can analyse your calendar for past events and give you cool insights.
  • Improvement: Redesigned ChronoAnalyser UI/UX
    Chronoanalyser now much more elegant. Check it using the Analysis button in the Full-Calendar Window.
  • Fix: Multiple Bugfixes in ChronoAnalyser
    Make ChronoAnalyser more stable and reliable. Plotting and Insights now work more reliably.

Version 0.11.1

  • New: Category Coloring Engine and Settings UI
    A new optional setting, 'Enable Category Coloring,' allows you to color events based on a category defined in the event's title (e.g., 'Work - Project Meeting'). This overrides the default calendar color for fine-grained visual organization.
  • New: Category-Aware Event Modal
    The Edit/Create Event modal now features a dedicated 'Category' input field. It provides intelligent autocomplete suggestions based on all your previously used categories, making categorization fast and consistent.
  • Improvement: Redesigned Event Modal UI/UX
    The Edit/Create Event modal has been completely redesigned with a polished two-column layout, logical grouping of fields, and a dedicated footer for actions, improving clarity and ergonomics.
  • Improvement: Color Palette Enhancements
    Colors no longer default to black, but are now rotated from a carefully chosen Palette.
  • Improvement: "Open Note" Workflow Enhancement
    Clicking 'Open Note' in the modal now opens the note in a split view, improving calendar-note navigation.

Version 0.10.13-beta

  • Improvement: Robust Timezone Support
    Events from local and remote calendars are now fully timezone-aware, fixing bugs related to DST and travel.
  • New: Strict Timezone Mode for Daily Notes
    A new setting allows users to anchor daily note events to a specific timezone, just like regular notes.
  • Fix: Correctly Parse UTC Events from ICS Feeds
    Fixed a critical bug where events specified in UTC from Google Calendar and other sources would appear at the wrong time.

Version 0.10.8

  • New: ChronoAnalyser Released
    ChronoAnalyser can now analyse your time spending! Check the new Analysis button in the Full-Calendar Window.

Version 0.10.7

  • New: Initial Plugin Release
    Welcome to the first version of the enhanced Full Calendar!

For a summary of major features, see What's New.