# 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 innovative work on the Bases POC revealed that everything that I was hoping might be possible in a future integration with Bases was actually 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 that became a major feature in this release (#422)
- **@TonyAtlas** for the auto-archive feature request that resulted in the new status-based auto-archive system (#547)
- **@anareaty** for requesting clickable project links (#432) and reporting the "This Week" grouping label issue (#516)
- **@pschoenbach** for requesting multi-language NLP support, specifically German language support (#563)
- **@23maverick23** for reporting API status configuration issues that improved custom status handling (#487)
- **@Burrish** for the documentation correction (#597)

---

**Full Changelog**: [3.22.1...3.23.0](https://github.com/callumalpass/tasknotes/compare/3.22.1...3.23.0)

