# 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](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/612), thanks to @strazto for the suggestion)
- Added `{{currentNoteTitle}}` template variable for note-specific folder organization ([#637](https://github.com/callumalpass/tasknotes/issues/637), thanks to @Mara-Li for the request)
- Added template variable support for archive folder paths ([#677](https://github.com/callumalpass/tasknotes/issues/677), thanks to @dsebastien for the request)
- Fixed `{{project}}` variables to properly extract basenames from wikilinks ([#490](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/430), thanks to @anareaty for the suggestion)
- Added "Status" as sorting option in Kanban and Task List views ([#633](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/695), thanks to @realJohnDoe for the report)
- Added configurable `eventMinHeight` for Advanced Calendar to make short duration tasks readable ([#718](https://github.com/callumalpass/tasknotes/issues/718), thanks to @Ruboks-Cube for the detailed report)
- Fixed multi-day task creation in month/year view to properly calculate time estimates ([#564](https://github.com/callumalpass/tasknotes/issues/564), thanks to @same774 for the report)

### Kanban View

- Fixed kanban view losing columns after upgrades ([#689](https://github.com/callumalpass/tasknotes/issues/689), thanks to @mikesale for the report)
- Fixed clearing filters defaulting to "none" instead of "status" grouping ([#679](https://github.com/callumalpass/tasknotes/issues/679), thanks to @camara-tech-pro for the question)
- Fixed column order changes when switching between views ([#710](https://github.com/callumalpass/tasknotes/issues/710), thanks to @phortx for the report)
- Fixed kanban drag-and-drop for custom field grouping ([#494](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/635), thanks to @nightroman for the detailed report)
- Fixed `#task` tag being incorrectly added when using property-based task identification ([#570](https://github.com/callumalpass/tasknotes/issues/570), thanks to @RobbK17 for the report)
- Fixed recurring task completion styling in Bases views ([#669](https://github.com/callumalpass/tasknotes/issues/669), thanks to @jordandrako for the report)

### Hierarchical Tag Support

- Added hierarchical tag support with exclusion patterns for Obsidian nested tags ([#584](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/712), thanks to @antonio for the report and fix)
- Added support for hyphens in NLP tag parsing ([#568](https://github.com/callumalpass/tasknotes/issues/568), thanks to @jordandrako for the report)

### Settings and Configuration

- Fixed property value truncation in project autosuggest settings by adding input debouncing ([#705](https://github.com/callumalpass/tasknotes/issues/705), thanks to @aubreyz for the report)
- Improved webhook transform error handling with detailed logging ([#719](https://github.com/callumalpass/tasknotes/issues/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](https://github.com/callumalpass/tasknotes/issues/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

- **@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-tech-pro** for the kanban grouping question (#679)
- **@phortx** for reporting column order changes (#710)
- **@nightroman** for the detailed HTTP API title sanitization report (#635)
- **@RobbK17** for reporting property identification tag issue (#570)
- **@jordandrako** for reporting recurring task styling in Bases (#669) and NLP tag parsing with hyphens (#568)
- **@aubreyz** for reporting project autosuggest truncation issue (#705)
- **@ras0q** for requesting code formatting improvements (#717)
- **@stephen-netu** for the detailed webhook transform script loading report (#719)
