Split recurring tasks and reminders content into dedicated pages,
condense existing guides for clarity, and update all documentation
screenshots. Refactor e2e screenshot tests with shared openView()
helper and retry support. Refine MdbaseSpec field types (enum,
datetime, link) and replace MCPService @ts-expect-error workarounds
with bound tool pattern.
* feat: implement multi-field user properties for dynamic filtering
- Add userFields[] data model with id, key, displayName, type
- Migrate legacy userField to userFields array on load
- Extend FilterOptions with userProperties from settings
- Update FilterBar to include user properties in dropdown
- Add evaluation logic for user:* property conditions
- Create Settings UI for managing multiple user fields
- Add comprehensive unit tests for all components
- Support Text, Number, Date, Boolean, List field types
* fix(settings/user-fields): widen inputs and align layout with Priority section
- Use grid tailored for user-fields (1fr 1fr 160px 80px)
- Make Property Name and Display Name inputs flex to full width
- Standardize type dropdown width; stack neatly on mobile
- Follow existing settings-view patterns for consistency
* feat: add bracket/quote-aware CSV splitting and missing numeric operators
- Add src/utils/stringSplit.ts with splitListPreservingLinksAndQuotes()
- Single-pass O(n) algorithm preserves commas inside [[...]] and quotes
- Handles wikilink aliases [[path|alias]] correctly
- Trims tokens and ignores empty values
- Integrate splitter in FilterService.normalizeUserListValue for string inputs
- Add missing numeric operators: is-greater-than-or-equal, is-less-than-or-equal
- Update FilterOperator type and FILTER_OPERATORS labels
- Add support for timeEstimate and user number fields
- Implement comparison logic in FilterUtils
- Fix instant user field availability in FilterBar after settings changes
- Invalidate filter options cache in main.saveSettings()
- Push fresh options to open views in settings.ts
- Add comprehensive unit tests for string splitting and filter normalization
- Fix TypeScript compilation issue with new operator validation
* docs: add comprehensive user fields documentation and examples
- Add User Fields section to Advanced Settings with setup guide
- Document all 5 field types (text, number, date, boolean, list) with examples
- Explain smart list filtering that preserves wikilinks and quotes
- Document numeric intelligence for mixed text-number formats
- Add new comparison operators (equal or greater/less than) to filtering docs
- Include practical filtering examples for custom user fields
- Add technical implementation guide for developers
- Include demonstration GIFs showing list and numeric field filtering
- Update main settings overview to reference user fields feature
## OpenAPI Specification
- Add decorator-based OpenAPI system with @OpenAPIController and @OpenAPI decorators
- Generate machine-readable OpenAPI 3.0 spec at /api/docs
- Serve interactive Swagger UI documentation at /api/docs/ui
- Complete schema definitions for all API types and responses
- Enable TypeScript experimental decorators support
## Pomodoro API Endpoints
- POST /api/pomodoro/start - Start new pomodoro session with optional task
- POST /api/pomodoro/stop - Stop current session
- POST /api/pomodoro/pause - Pause running session
- POST /api/pomodoro/resume - Resume paused session
- GET /api/pomodoro/status - Get current session status and statistics
- GET /api/pomodoro/sessions - Get session history with filtering
- GET /api/pomodoro/stats - Get daily/date-specific statistics
## Documentation Updates
- Add comprehensive HTTP API documentation with pomodoro examples
- Include JavaScript PomodoroController integration example
- Update feature documentation with view types and settings
- Improve navigation structure across documentation files
## Dependencies
- Add reflect-metadata for decorator metadata support
- Remove unused express dependency
- Update TypeScript configuration for decorator support
All endpoints include proper error handling, OpenAPI documentation, and support for recurring task integration.
- Rename "Performance" tab to "Misc" and move to end of tab list
- Move status bar toggle, project subtasks widget, and notes indexing to
Misc tab
- Update all documentation to reflect new settings organization
- Bump version to 3.12.1 in manifest.json and package.json
• Removed outdated/redundant docs files:
– Deleted "docs/concepts-rationale.md" and "docs/creating-editing-tasks.md" which duplicated content now integrated into core-concepts and task management documentation.
– Removed "docs/features/natural-language.md" and "docs/features/time-tracking.md" as their content has been merged or rephrased in other feature docs.
– Deleted the legacy "docs/views/task-view.md" to avoid overlap with the new Task List View documentation.
• Revised core concept and feature documents:
– Updated "docs/core-concepts.md" to better explain the “note-per-task” approach and YAML frontmatter benefits.
– Streamlined "docs/features.md" and its subpages (Inline Task Integration, Calendar Integration, and the new Time Management doc) to reflect a unified, concise explanation of TaskNotes’ feature set.
– Refined inline task, calendar, and settings docs (including advanced, inline task, and task defaults) for consistent language and structure.
• Introduced new documentation:
– Added "docs/features/time-management.md" to clearly outline time tracking, Pomodoro timer, and productivity analytics.
– Created "docs/views/task-list.md" to complement the suite of views now including Agenda, Kanban, Notes, Calendar, and Pomodoro views.
• General improvements:
– Reworded and reorganized sections across multiple docs to enhance readability and better align with the new design philosophy.
– Consolidated similar topics and removed duplicate descriptions to simplify the overall documentation structure.
These changes improve the organization, clarity, and maintainability of the TaskNotes documentation, making it easier for users to understand the core concepts and features.