Skip to content

TaskNotes 4.0.0-beta.3

Beta Release

You may encounter issues. Report problems on GitHub Issues.

Added

  • Updated task card styling
  • Increased status dot size from 16px to 18px
  • Added subtle shadows and transitions to card hover states
  • Updated hover effects on status and priority dots with scaling and removed glow
  • Modified metadata pills with backdrop blur and adjusted spacing
  • Added box shadows to interactive elements (dates, projects, tags) on hover
  • Updated animations to use cubic-bezier easing
  • Added gradient accents to subtask and blocking task borders
  • Fixed subtasks appearing behind parent card hover backgrounds
  • Fixed subtask click and context menu events bubbling to parent cards
  • Fixed subtasks inheriting parent priority and status colors

  • (#361) Added completion-based recurrence support with recurrence_anchor field

  • Tasks can now recur based on completion date instead of scheduled date
  • Set recurrence_anchor: completion in task frontmatter to enable this behavior
  • When completing a recurring task, the next occurrence will be scheduled relative to the completion date
  • The DTSTART in the RRULE automatically updates to the completion date, ensuring calendar views show future occurrences at the correct dates
  • Defaults to scheduled (original behavior) if not specified
  • Useful for tasks like "Exercise weekly" where you want the next occurrence 7 days after you actually complete it, not 7 days after it was scheduled
  • Example: Complete a weekly task 2 days late, and the next occurrence will be 7 days from the completion date (not the original scheduled date)
  • Thanks to @luciolebrillante for the original feature request, and @jhedlund, @nschenone, @BryanWall, @realJohnDoe, and @kazerniel for additional input and interest

  • (#416) Added support for skipped recurrence instances with skipped_instances field

  • Recurring tasks can now have individual instances marked as "skipped" without completing them
  • Skipped instances are stored in the skipped_instances frontmatter array (e.g., ["2025-11-15", "2025-11-22"])
  • Right-click on a recurring task instance in calendar views to skip/unskip it
  • Visual styling differentiates skipped instances:
    • Calendar views: Gray background with muted appearance
    • Task cards: Strike-through text with gray styling
  • Skipped instances don't affect the recurrence pattern - future instances continue as scheduled
  • Useful for holidays, vacations, or other planned exceptions to recurring tasks
  • Thanks to @mdbraber for the suggestion to use an array similar to complete_instances, and @jerzy-dudzic for reporting the issue

Fixed

  • (#893) Fixed yearly recurring tasks not always updating scheduled date to next occurrence when completed
  • Increased look-ahead period for yearly recurrence from 365 days to 800 days (~2.2 years)
  • Also optimized look-ahead periods for other frequencies: daily (30 days), weekly (90 days), monthly (400 days)
  • Ensures the next occurrence is always found when completing recurring task instances
  • Thanks to @VenturaNotes for reporting

  • (#951) Fixed yearly recurring tasks not showing up in calendar's weekly, 3-day, or day views

  • Extended the look-ahead period for yearly recurring tasks when generating calendar instances
  • Calendar views now look ahead ~2.2 years for yearly tasks to ensure occurrences appear even in short date ranges
  • Only displays instances that fall within the actual visible calendar range
  • Weekly recurring tasks were unaffected and continued to work correctly
  • Thanks to @bespokecomp for reporting

  • (#889) Fixed git merge conflicts in calendar subscription metadata

  • Calendar subscription lastFetched and lastError fields are now stored in memory instead of being saved to disk
  • Prevents git conflicts when syncing vaults across multiple computers that independently fetch calendar subscriptions
  • The "last synced" timestamp in settings will reset on plugin reload, but subscriptions will re-fetch automatically
  • Thanks to @karlfrohlich for reporting

  • Fixed recurrence modal not loading DTSTART date/time when editing existing recurrence rules

  • The custom recurrence modal now correctly parses and displays the start date and time fields
  • Fixed parser that was splitting on = instead of : for DTSTART values

  • (#1097) Fixed custom properties and formulas not displaying in Bases views

  • Updated TaskCard to use Bases API's getValue() method for formulas and custom note properties
  • Formulas now work correctly using formula.NAME syntax
  • Custom note properties now work correctly using note.PROPERTY syntax
  • Thanks to @cathywu for reporting

  • (#1099) Fixed issues with default Bases file creation

  • Fixed double-prefix bug in relationships template that generated invalid filter expressions like note.note.projects
  • Fixed race condition where files created during plugin load wouldn't appear in file explorer
  • Default Bases files now generate with correct property paths and appear reliably in the file explorer
  • Thanks to @kmaustral for reporting

  • (#1110) Fixed open recurring tasks appearing crossed out in Tasks view

  • Removed stale selectedDate property that was never updated in v4
  • Tasks view now uses fresh UTC-anchored "today" for correct recurring task completion status
  • Fixes issue where tasks completed yesterday would appear crossed out today for users in positive UTC offset timezones
  • Also fixed KanbanView to use UTC-anchored dates for consistency
  • Thanks to @kmaustral for reporting

  • (#1118) Fixed user-defined fields not working in inline task conversion

  • User-defined fields like >customfield value now properly convert to frontmatter when using the "TaskNote: Convert task to TaskNote" command
  • Fixed fields appearing with internal IDs (e.g., field_1761435101864) instead of configured frontmatter key names
  • Array values are now properly joined with commas
  • Added userFields property to ParsedTaskData interface to support custom fields throughout the conversion flow
  • Thanks to @guncav for reporting

  • Fixed kanban column width CSS constraints not matching settings

  • Updated CSS min-width from 280px to 200px and max-width from 350px to 500px to match slider range
  • Column width slider now works correctly across the full 200-500px range

  • Kanban view now shows empty columns for all user-defined statuses when grouping by status

  • Empty columns appear for custom statuses defined in settings, even when no tasks have that status
  • Allows users to drag tasks into empty status columns
  • Works in both flat kanban view and swimlane mode
  • Respects the existing "Hide empty columns" setting
  • Thanks to @williamcheuk03 for reporting this issue