Releases: callumalpass/tasknotes
3.24.3
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
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
- Thanks to @renatomen for reporting this issue
- (#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
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
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
eventMinHeightfor 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
#tasktag 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/efmatchest/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
timeEstimateproperty 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
- @backyardbiomech for the detailed overdue recurring tasks report (#557)
- @prayidae for the detailed task dependencies feature request (#701)
- @jhedlund for requesting task context menu in notes (#576)
- @anareaty for requesting completed date grouping (#430) and reporting kanban custom field drag issues (#494)
- @mdbraber for reporting missing status sorting option (#633)
- @strazto for requesting hashtags template variable (#612)
- @Mara-Li for requesting currentNoteTitle template variable (#637)
- @dsebastien for requesting archive folder template support (#677)
- @nsstrickland for the detailed project variable bug report (#490)
- @realJohnDoe for reporting ICS all-day event duplication (#695)
- @Ruboks-Cube for reporting short duration task rendering issues (#718)
- @same774 for reporting multi-day task creation issues (#564)
- @mikesale for reporting kanban column loss (#689)
- **@camara-t...
3.23.4
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
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
isTaskUsedAsProjectSyncandformatDateForStoragefunctions - Ensures test suite stability for project-related functionality
3.23.2
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:
3.23.1
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
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
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 functionerrors 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