- Convert all .css files to .scss format
- Add sass and esbuild-sass-plugin dependencies
- Configure esbuild with sassPlugin for SCSS compilation
- Update all component imports from .css to .scss
- Add _variables.scss for shared SCSS variables
- Add native-layout.scss for new layout styles
- Add TimerStatisticsPanel component for displaying active and completed timers
- Implement completed timer history with configurable max records
- Add timer controls (start/pause/resume/stop) to task list and tree views
- Integrate timer auto-start option in quick capture settings
- Add Working On navigation item for viewing active timers
- Refactor timer manager with unified storage abstraction
- Add i18n translations for timer features (en/zh-cn)
- Add timer statistics CSS styles
- Add comprehensive property mapping system with metadata mappings support
- Implement bidirectional status mapping (symbol to metadata value)
- Add direct frontmatter update capability for Bases entry tasks
- Include default status mappings as fallback for common values
- Deprecate calendar DayView and MonthView components
- Improve property key resolution with custom metadata mappings
- Add debug logging for status conversion troubleshooting
Remove redundant custom date adapter implementations in favor of the DateFnsAdapter exported directly from @taskgenius/calendar library.
- Delete local DateFnsAdapter utility class
- Remove inline NormalizedDateFnsAdapter from calendar component
- Import DateFnsAdapter from @taskgenius/calendar package
- Extend regex patterns to support HH:mm time format in date fields
- Add date-utils with isDateOnly() and formatDateSmart() helpers
- Enhance time-parsing-service to normalize parsed dates with time
- Update WriteAPI and executors to handle date-time patterns
- Add pnpm-workspace.yaml for monorepo configuration
- Move esbuild-plugin-inline-worker to workspace package
- Update package.json to use workspace:* references
- Add workspace-related entries to .gitignore
- Refactor calendar component to use @taskgenius/calendar for month/week/day views
- Add working hours configuration (showWorkingHoursOnly, workingHoursStart/End)
- Fix drag-and-drop date handling for all-day and timed events
- Add handleTGEventResize for event resizing support
- Improve event callback signatures to match library API
- Add NormalizedDateFnsAdapter for date-fns v4 compatibility
- Add multi-cycle status support in ReadModeTextMark with getNextStatusPrimary
- Integrate getAllMarks in status-cycler for multi-cycle mark validation
- Update status-switcher to use multi-cycle configuration with fallback
- Maintain backward compatibility with legacy single-cycle mode
- Ensure consistent status cycling behavior across reading and editing views
- Add public getElement() method to KanbanColumnComponent
- Mark Other column with data attribute to identify it
- Configure Sortable to disallow dropping tasks into Other column (put: false)
- Refactor to use Obsidian's createEl API (ProjectPopover, PlacementStep)
- Improve object literal formatting consistency
- Add cycle selector button in kanban controls to filter by specific status cycle
- Display 'Other' column for tasks not in selected cycle
- Prevent status updates when dragging to Other column (returns null)
- Save cycle selection to localStorage per view
- Add getUnmatchedTasks() to collect tasks outside current cycle
- Update getTasksForStatus() to respect cycle selection
- Add getStatusMarkForColumn() to handle Other column drag prevention
- Add translations for cycle selector UI (en, zh-cn)
- Update kanban styles for cycle selector button
- Update Fluent UI components and styles
- Update status switcher and task grouping logic
- Update read mode text mark handling
- Introduce StatusCycle interface for defining multiple independent task status cycles
- Add priority-based cycle selection (lower number = higher priority)
- Implement status-cycle-resolver utilities for finding applicable cycles and next states
- Add settings migration from legacy single-cycle to multi-cycle format
- Update task cycling commands to support multi-cycle with fallback to legacy mode
- Enhance status switching UI in FluentActionHandlers with cycle-aware menu
- Maintain backward compatibility with existing taskStatusCycle settings
- Add validation and repair utilities for status cycle configurations
- Deprecate taskStatusCycle, taskStatusMarks, and excludeMarksFromCycle settings
The new multi-cycle system allows users to define multiple status workflows
with different priorities, enabling context-specific task state management
while preserving compatibility with existing single-cycle configurations.
Fixed status modification failure caused by incorrect editor plugin
registration sequence. Transaction filters execute in reverse order,
so cycleCompleteStatus must be registered last to execute first,
followed by autoDateManager.
Also improved position mapping in date-manager using tr.changes.mapPos
instead of inverse.mapPos for correct change composition.