Skip to content

Releases: callumalpass/tasknotes

3.24.3

30 Sep 08:11

Choose a tag to compare

TaskNotes 3.24.3

  • (#776) Fixed screens failing to load with "toLowerCase is not a function" error
    • Issue occurred when frontmatter tags array contained non-string values (numbers, booleans, etc.)
    • Added type validation to filter out non-string values before processing tags
    • Valid string tags continue to work normally while invalid types are safely skipped
    • Thanks to @kmf and @Andrei-Ioda for help debugging this issue

3.24.2

29 Sep 09:50

Choose a tag to compare

TaskNotes 3.24.2

Fixed

  • (#766) Fixed tag parsing incorrectly identifying notes with tags containing "task" (like "pkm-task") as task notes
    • Added exact hierarchical tag matching for task identification to prevent false positives
    • Preserved substring matching behavior for filter bar searches where it's desired
    • Only exact matches or hierarchical children (like "task/work") now identify notes as tasks
    • Thanks to @anareaty and @fastrick for reporting this issue
  • (#767) Fixed subgroups not rendering under the "Overdue" agenda group
  • (#768) Fixed calendar view appearing empty in week and day views due to invalid time configuration values
    • Added time validation in settings UI with proper error messages and debouncing
    • Added runtime sanitization in calendar with safe defaults (00:00:00, 24:00:00, 08:00:00)
    • Prevents "Cannot read properties of null (reading 'years')" error from FullCalendar
    • Thanks to @kmaustral for reporting
  • (#769) Fixed NLP processor incorrectly assigning hardcoded "waiting" status when "blocked" appears in task titles
    • NLP now only uses user-defined status configurations when available, ignoring hardcoded fallback patterns
    • Prevents unexpected status assignments for users with custom status workflows
    • Fallback patterns still work when no custom status configurations are defined
    • Thanks to @renatomen for reporting this issue

3.24.1

28 Sep 10:23

Choose a tag to compare

TaskNotes 3.24.1

Bug Fixes

Task Card Widget

  • Fixed task card widget appearing on all notes instead of only task notes
  • Widget now properly respects task identification settings (tag or property-based)

This patch release fixes the task card widget introduced in 3.24.0 to only display on actual task notes.

3.24.0

28 Sep 10:13

Choose a tag to compare

TaskNotes 3.24.0

New Features

Agenda View Overdue Section

  • Added separate "Overdue" section in Agenda view instead of mixing overdue tasks with today's tasks (#557, thanks to @backyardbiomech for the detailed report)
  • Collapsible section with task completion statistics and proper internationalization support
  • Includes overdue recurring tasks based on their scheduled dates

Task Dependencies and Blocking Relationships

  • Implemented blocking/blocked task dependencies with persistent relationships (#701, thanks to @prayidae for the detailed feature request)
  • Tasks can be marked as blocking other tasks or blocked by other tasks
  • Dependency relationships persist in frontmatter as structural links
  • Dynamic blocked state computed based on blocking task completion status

Task Card Widget in Notes

  • Added configurable task card widget displaying at the top of task notes (#576, thanks to @jhedlund for the request)
  • Provides immediate access to task actions and context menus without requiring command palette
  • Uses CodeMirror widget system for integration
  • Appears above project subtasks widget when both enabled
  • Can be disabled via settings

Hierarchical Subgrouping

  • Implemented hierarchical subgrouping functionality for TaskListView and AgendaView (thanks to @renatomen for this major feature contribution)
  • Allows two-level task organization (e.g., Group by Status, Subgroup by Priority)
  • Cross-view support with consistent behavior
  • State persistence for expand/collapse preferences
  • Custom user fields supported as subgroup options

Internationalization Support

  • Added i18n framework with multi-language support
  • Support for German, Spanish, French, Russian, Chinese, and Japanese
  • Translation coverage for command palette entries and UI strings
  • Localized agenda and filter interface elements

Template Variables

  • Added {{hashtags}} template variable for space-separated hashtag rendering (#612, thanks to @strazto for the suggestion)
  • Added {{currentNoteTitle}} template variable for note-specific folder organization (#637, thanks to @Mara-Li for the request)
  • Added template variable support for archive folder paths (#677, thanks to @dsebastien for the request)
  • Fixed {{project}} variables to properly extract basenames from wikilinks (#490, thanks to @nsstrickland for the detailed bug report)

Project and Subtask Management

  • Enhanced task modals with project and subtask management capabilities
  • Added "Add to project" and "Add subtasks" sections in task creation/edit modals
  • Context menu options for assigning tasks to projects and adding subtasks
  • Collapsible lists with visual separators between form sections

View and Grouping Enhancements

  • Added "Completed Date" as grouping option for analyzing productivity (#430, thanks to @anareaty for the suggestion)
  • Added "Status" as sorting option in Kanban and Task List views (#633, thanks to @mdbraber for the report)
  • Implemented per-grouping column persistence for Kanban views
  • Smart default ordering respecting StatusManager and PriorityManager configurations

Bug Fixes

Calendar and Advanced Calendar

  • Fixed calendar not refreshing when task duration or time tracking changes
  • Fixed calendar not refreshing after task archive or move operations
  • Fixed agenda duplication for all-day ICS events (#695, thanks to @realJohnDoe for the report)
  • Added configurable eventMinHeight for Advanced Calendar to make short duration tasks readable (#718, thanks to @Ruboks-Cube for the detailed report)
  • Fixed multi-day task creation in month/year view to properly calculate time estimates (#564, thanks to @same774 for the report)

Kanban View

  • Fixed kanban view losing columns after upgrades (#689, thanks to @mikesale for the report)
  • Fixed clearing filters defaulting to "none" instead of "status" grouping (#679, thanks to @camara-tech-pro for the question)
  • Fixed column order changes when switching between views (#710, thanks to @phortx for the report)
  • Fixed kanban drag-and-drop for custom field grouping (#494, thanks to @anareaty for the report)
  • Enhanced save view modal functionality with improved styling and accessibility

Task Management

  • Fixed HTTP API task creation to return sanitized title matching stored content (#635, thanks to @nightroman for the detailed report)
  • Fixed #task tag being incorrectly added when using property-based task identification (#570, thanks to @RobbK17 for the report)
  • Fixed recurring task completion styling in Bases views (#669, thanks to @jordandrako for the report)

Hierarchical Tag Support

  • Added hierarchical tag support with exclusion patterns for Obsidian nested tags (#584, thanks to @renatomen for the detailed feature request)
  • Hierarchical matching allows searching for parent tags to match child tags (e.g., t/ef matches t/ef/project, t/ef/task)
  • Exclusion patterns support using - prefix to exclude specific tags and their children
  • Maintains backward compatibility with existing substring matching

Natural Language Processing and Tags

  • Fixed nested tags losing slashes in agenda view rendering (#712, thanks to @antonio for the report and fix)
  • Added support for hyphens in NLP tag parsing (#568, thanks to @jordandrako for the report)

Settings and Configuration

  • Fixed property value truncation in project autosuggest settings by adding input debouncing (#705, thanks to @aubreyz for the report)
  • Improved webhook transform error handling with detailed logging (#719, thanks to @stephen-netu for the detailed report)
  • Added save button disable logic to prevent duplicate task creation (thanks to @hamlim for the report and implementation)

Code Quality and Development

  • Configured Prettier formatter for consistent code formatting (#717, thanks to @ras0q for the request)
  • Applied ESLint fixes reducing problems from 209 to 97
  • Added format and format:check scripts for development workflow
  • Fixed browser extension repository URL in README (thanks to @elijahmanor for the correction)

Enhancements

Performance and Reliability

  • Added debouncing to project autosuggest property inputs
  • Improved error handling for webhook transform failures

User Interface

  • Added time display based on timeEstimate property in task statistics (thanks to Sergen Aras for the implementation)
  • Enhanced language selection display with native scripts

Settings Organization

  • Reorganized settings with improved categorization
  • Added collapsible functionality to various UI sections
  • Enhanced accessibility with proper button labeling

Documentation

  • Added documentation for task dependencies feature
  • Updated comprehensive subgrouping feature documentation
  • Enhanced template variable documentation
  • Updated various view documentation for new features

Contributors

Special thanks to all this release's contributors:

Feature Contributors

  • @renatomen for implementing the major hierarchical subgrouping feature and hierarchical tag support feature request (#584)
  • @antonio for implementing nested tag slash preservation and providing the fix
  • @elijahmanor for fixing the browser extension repository URL
  • @sergenaras for implementing time display based on timeEstimate property in task statistics
  • @hamlim for implementing save button disable logic to prevent duplicate task creation

Issue Reporters and Feature Requesters

Read more

3.23.4

17 Sep 12:42

Choose a tag to compare

TaskNotes 3.23.4

Bug Fixes

Task Scheduling & Natural Language Processing

  • Fixed Russian weekday scheduling conflict where single weekdays (e.g., "воскресенье") were incorrectly interpreted as recurring tasks instead of single-day scheduling (#665, thanks to @anareaty for the report)
  • Fixed issue where natural language processing failed to save parsed time estimates in task creation modal (#682, thanks to @RumiaKitinari for the detailed report)
  • Fixed scheduled task grouping UTC anchor regression that caused today's tasks to appear under "Past Scheduled" instead of "Today" (#384, thanks to @jcromwell for the report)

Settings & Configuration

  • Fixed plugin failure when excluded folders setting contains trailing commas - the parsing logic now properly filters empty strings (#664, thanks to @Yoav6 for identifying this issue)

Calendar & Time Management

  • Fixed calendar not refreshing when task duration or time tracking changes (#382, thanks to @mdbraber)
  • Fixed calendar not refreshing after task archive or move operations
  • Fixed timeblock editing using stored date instead of current date for past day modifications (#647, thanks to @RumiaKitinari)
  • Fixed Pomodoro timer not preserving task context when auto-starting sessions (#641, thanks to @RumiaKitinari)
  • Fixed all-day tasks not rendering properly across multiple days in calendar view (thanks to Danny Talks Tech for reporting this in his video review)

User Interface

  • Fixed mini calendar header overflow issue in sidebar view (#459, with CSS improvements suggested by @jsonshanks, thanks to @girisumit for the report)

New Features & Enhancements

Visual Improvements

  • Added file-text icon to note cards in agenda view for better visual distinction from headers and consistency with task and calendar event icons (#662, thanks to @ras0q for the suggestion)
  • Improved mini calendar styling, interactions, and legend display
  • Enhanced task dot visualization to reflect accurate matching dates

Settings Organization

  • Moved timeblocking settings to Features tab with improved usage instructions for better discoverability

Documentation

  • Updated documentation to fix auto-archiving settings reference (#673, thanks to @antonio for pointing out the inconsistency)

Contributors

Special thanks to contributors:

  • @anareaty for reporting the Russian weekday scheduling conflict
  • @RumiaKitinari for detailed reports on natural language processing, timeblock editing, and Pomodoro timer issues
  • @jcromwell for reporting the scheduled task grouping UTC regression
  • @Yoav6 for identifying the excluded folders trailing comma issue
  • @mdbraber for reporting calendar refresh issues with time tracking changes
  • @girisumit for reporting the mini calendar header overflow issue
  • @jsonshanks for providing CSS improvement suggestions for the mini calendar
  • @ras0q for suggesting the file-text icon addition to agenda view
  • @antonio for pointing out the auto-archiving documentation inconsistency
  • Danny Talks Tech for reporting the all-day task rendering issue in his video review

This release focuses primarily on bug fixes and stability improvements, particularly around calendar functionality, natural language processing, and user interface polish.

3.23.3

16 Sep 11:06

Choose a tag to compare

TaskNotes 3.23.3

This release addresses critical bugs with project and subtask functionality, ensuring proper field mapping support and expanding project filtering capabilities.

New Features

Project Property Filter Support

  • Added property-based filtering for project picker dropdown
  • Configure projects to appear in picker based on frontmatter properties (e.g., type: project)
  • Complements existing folder and tag filtering options
  • Thanks to @aubreyz for requesting this feature (#660)

Bug Fixes

Project/Subtask Field Mapping

  • Fixed project and subtask functionality not working when users customize project field names
  • ProjectSubtasksService and MinimalNativeCache now properly respect user field mapping configuration
  • Resolves issue where hardcoded 'projects' field lookup ignored custom field mappings
  • Thanks to @JD2026 (#674), @anareaty, (#674) and @Volker-brdb (#672) and for reporting these subtask display issues

Test Infrastructure

  • Added missing test mocks for isTaskUsedAsProjectSync and formatDateForStorage functions
  • Ensures test suite stability for project-related functionality

3.23.2

15 Sep 12:01

Choose a tag to compare

TaskNotes 3.23.2

This release focusses on performance improvements. These improvements should be especially noticeable in vaults with a large number of notes (>1000).

New Features

  • Added agenda/list view to Advanced Calendar
  • New {{contexts}} template variable for joining multiple context values
  • New {{projects}} template variable for joining multiple project values
  • Thanks to @Mara-Li for these additions

Time Format Consistency

  • Plugin-wide 12hr/24hr time format preference support
  • Consistent time display across all calendar views and components
  • Thanks to @anareaty and @Astrusia for this suggestion #431

Performance Architecture

  • Centralized ViewPerformanceService for all TaskNotes views
  • Global task version cache with change detection
  • Debounced updates with configurable batching
  • View-specific update handlers with selective refresh logic
  • Memory management and automatic cache cleanup

Bug Fixes

  • Fixed cursor positioning issues when creating subtask widgets Thanks to @jhedlund for this fix!

Contributors

Special thanks to contributors:

  • @jhedlund for fixing cursor positioning with subtasks
  • @Mara-Li for implementing context/project template variables and bracket fixes
  • @anareaty for reporting time format inconsistencies

3.23.1

08 Sep 22:00

Choose a tag to compare

TaskNotes 3.23.1

Bug Fixes

Bases Plugin Integration

  • Fixed Bases views not recognizing custom field mappings when using non-default property names. Status dots, priority colors, and dates now display correctly in Bases views when using custom field names. Thanks to @anareaty for reporting this issue (#607)

Full Changelog: 3.23.0...3.23.1

3.23.0

08 Sep 11:56

Choose a tag to compare

TaskNotes 3.23.0

New Features

ICS Export and Calendar Integration

  • Added full ICS export functionality with proper RFC 5545 compliance for improved calendar application compatibility
  • Implemented automatic ICS export with configurable interval updates (5-1440 minutes) for calendar subscription workflows
  • Added manual "Export all tasks as ICS file" command for bulk export operations
  • Thanks to @mdbraber for requesting this feature (#422)

Status-Based Auto-Archive

  • Introduced configurable auto-archive system with per-status timeout settings (1-1440 minutes)
  • Added persistent queue that survives plugin restarts for reliable task archiving
  • Implemented settings UI for fine-grained control over auto-archive behavior
  • Thanks to @TonyAtlas for requesting this feature (#547) and to @renatomen for design suggestions

Multi-Language Natural Language Processing

  • Added NLP support for 12 languages: English, Spanish, French, German, Russian, Chinese, Japanese, Italian, Dutch, Portuguese, Swedish, Ukrainian
  • Implemented locale-specific date parsing using chrono-node language support
  • Enhanced pattern matching with proper handling for Latin, Cyrillic, Chinese, and Japanese scripts
  • Thanks to @pschoenbach for requesting German language support (#563)

Enhanced Project Autosuggest

  • Implemented configurable multi-row project cards with customizable display fields
  • Added selective search functionality across chosen fields with simple flag system
  • Introduced fuzzy search option for broader, multi-word matching capabilities
  • Enhanced project selection with clear metadata display (title, aliases, path)
  • Thanks to @renatomen for implementing this feature (#555)

Bases Plugin Integration

  • Added experimental integration with the Bases plugin for enhanced task management workflows
  • Implemented direct formula computation and custom property support
  • Added clickable tags and contexts with accessibility support
  • Created simplified kanban view integration with proper lifecycle management
  • Thanks to @renatomen for his incredible work developing the proof-of-concept for this feature

Settings UI Modernization

  • Complete redesign of settings interface with card-based design system
  • Added collapsible functionality and live API documentation
  • Enhanced calendar subscription interface with local file support

Bug Fixes

Task Creation and File Handling

  • Fixed startup crash when templates contain empty reminders property (reported by @glpayson, #583)
  • Implemented automatic sanitization of forbidden characters in task titles instead of blocking creation (reported by @glpayson, #590)
  • Added support for platform-specific filename characters (hash, square brackets)
  • Resolved inconsistent behavior between instant convert and manual task creation

Project and Link Functionality

  • Added clickable project links in task edit modal for better navigation (requested by @anareaty, #432)
  • Fixed completion date timezone handling to ensure consistent local time recording
  • Corrected frontmatter property naming in Bases kanban drag-and-drop operations

Property Display and Performance

  • Fixed custom property duplication when configured in both settings and filter bar
  • Resolved unwanted total tracked time display showing zero values
  • Standardized custom property identifiers with consistent prefix format

Plugin Integration and Stability

  • Resolved Bases plugin integration issues and view switching problems
  • Fixed kanban view loading with proper static imports and interface consistency
  • Improved error handling and cleanup patterns for better stability
  • Fixed API endpoints to respect custom status configurations (reported by @23maverick23, #487)

Acknowledgments

Special Recognition

We extend special thanks to @renatomen for his exceptional contributions to this release:

  • Created the enhanced project autosuggest system with configurable cards and selective search functionality (PR #555)
  • Developed a proof-of-concept integration with the Bases plugin that demonstrated full compatibility and provided the technical foundation for our experimental Bases integration
  • His work on the Bases POC revealed that everything that I was hoping might be possible in a future integration with Bases was actually already possible!

Community Contributors

We're grateful to the community members whose issues were resolved in this release:

  • @glpayson for providing detailed bug reports with reproduction steps that led to fixes for the startup crash with empty reminders (#583) and character handling improvements (#590)
  • @mdbraber for requesting ICS export functionality (#422)
  • @TonyAtlas for the auto-archive feature request (#547)
  • @anareaty for requesting clickable project links (#432) and reporting the "This Week" grouping label issue (#516)
  • @pschoenbach for requesting multi-language NLP support (#563)
  • @23maverick23 for reporting API status configuration issues that improved custom status handling (#487)
  • @Burrish for the documentation correction (#597)
  • @minchinweb for reporting timezone inconsistencies (#571)
  • @jpmoo for reporting problems with completion dates (#574)

Full Changelog: 3.22.1...3.23.0

3.22.1

01 Sep 12:17

Choose a tag to compare

TaskNotes 3.22.1

New Features

Configurable Recurring Task Due Date Behavior

  • Added optional due date advancement for recurring tasks. When enabled, maintains the time separation between scheduled and due dates when tasks are completed. The new "Maintain due date offset in recurring tasks" setting in Misc preferences controls this behavior and defaults to disabled to preserve existing behavior. Contributed by @jhedlund, fixes issue #470

Bug Fixes

Calendar and Task Display

  • Fixed calendar view issues where tasks were not displaying correctly due to empty status values causing infinite loops and TypeErrors. Resolved timeEntries.filter is not a function errors when loading calendar events and prevented Obsidian freezing during task creation with empty status text. Fixes issue #520 reported by @cathywu

Saved Views and Property Management

  • Fixed property visibility settings not being preserved when saving filter views. View configurations now properly store and restore property display preferences. Fixes issue #545 reported by @anareaty
  • Fixed saved view selection to prefer newly created views over older matching views, ensuring the correct view is activated after saving.
  • Added proper null safety checks for FilterBar interactions to prevent errors during view save operations.

User Interface Improvements

  • Added responsive behavior to filter bar buttons that automatically hide button text when pane width falls below 500px to prevent overflow in narrow sidebars. Uses container queries with media query fallback for broader browser support. Fixes issue #549 reported by @TonyAtlas

Development Improvements

  • Reduced excessive console logging in TaskListView by removing 37+ debug statements while preserving essential error logging for troubleshooting.

Contributors

Thanks to @jhedlund for implementing the configurable recurring task due date feature.

Thanks to the following community members for their bug reports:

  • @cathywu - Reported calendar view task display issues with detailed technical information
  • @anareaty - Identified property visibility persistence problems in saved views
  • @TonyAtlas - Reported filter bar overflow issues in narrow sidebars with helpful screenshots