TaskNotes 4.0.0-beta.2
Beta Release
You may encounter issues. Report problems on GitHub Issues.
Added
- (#1090) Portuguese (Brazil) translation
- Full Portuguese (pt-BR) localization support
- A big thanks to @andysteel for the contribution
- Configurable task modal fields
- New "Modal Fields" settings tab for complete control over task creation and edit modals
- Configure which fields appear in creation vs edit modals independently
- Drag-and-drop reordering of fields within groups (metadata, organization, dependencies, custom)
- Enable/disable individual fields (including core fields like contexts, tags, time estimate)
- Organize fields into groups
- Automatic migration of existing user-defined fields
- Title and details fields support visibility toggling (ordering fixed for consistency)
- Rich markdown editor for NLP task creation
- Replaced plain textarea with full CodeMirror markdown editor
- Live preview, syntax highlighting, and wikilink support
- Ctrl/Cmd+Enter keyboard shortcut to save task
- Esc/Tab keyboard shortcuts for modal control
- Customizable NLP triggers with autocomplete
- Configure custom trigger characters/strings for each property type (tags, contexts, projects, status, priority)
- Supports user-defined field triggers
- CodeMirror-based autocomplete with keyboard navigation (arrow keys, Enter, Tab)
- Quote support for multi-word values in user fields
- Native tag suggester integration when using # trigger
- Inline task link overlay enhancements
- Configurable visible properties for inline task cards
- PropertySelectorModal for selecting which properties to display
- Improved layout: title prioritized, horizontal scrolling for metadata
- Real-time updates when task data changes
- New utility services
TriggerConfigService- manages NLP trigger configurationsPropertySelectorModal- reusable multi-select property picker- Property helpers for consistent property handling across views
- Kanban column reordering via drag and drop
- Drag column headers to reorder columns
- Column order is saved per grouping property
- Visual feedback during drag operations
- Mini calendar enhancements (in progress)
- Week numbers column
- Heat map intensity visualization
- Note preview tooltips on hover
- Keyboard navigation
- Unified Relationships widget
- Consolidated project subtasks, task dependencies, and blocking relationships into a single dynamic widget
- Four automatic tabs: Subtasks (Kanban), Projects (List), Blocked By (List), Blocking (Kanban)
- Tabs automatically show/hide based on available relationship data
- Bases views handle all data updates reactively - no manual refresh needed
- Single configuration setting: show/hide and position (top/bottom)
- Significantly reduced code complexity (430 fewer lines)
Fixed
- (#1084) Fixed word wrapping in NLP preview items
- Thanks to @maybetm for the fix
- (#975) Fixed advanced calendar list headers not respecting theme colors
- Thanks to @hugohil for the fix
- (#1089) Fixed embedded task list bases growing unbounded and leaving large empty space
- Embedded bases now scroll internally instead of expanding to show all tasks
- Consistent behavior between task list and kanban embedded views
- Thanks to @same774 for reporting with screenshot
- Bases Calendar view options now working correctly
- Fixed "Highlight today" toggle not applying - now properly adds/removes CSS class when toggled
- Fixed calendar view type (month/week/day/etc) not being saved when changed via calendar buttons
- View type is now persisted when users click month/week/day buttons in the calendar UI
- (#1050) Task modal no longer adds unwanted empty contexts and projects arrays
- FieldMapper now checks if arrays are empty before writing to frontmatter
- Thanks to @nightroman for reporting this issue
- Inline task link overlay fixes
- Fixed layout prioritization: title now prioritized over metadata
- Added horizontal scrolling for metadata to prevent overflow
- Fixed real-time update listeners for task data changes
- Fixed group collapse/expand functionality in TaskListView
- Re-registered click event listener for group headers using Component API
- Groups can now be properly collapsed and expanded
- Fixed config loading race condition in KanbanView and CalendarView
- Config is now properly loaded in onload() lifecycle method
- Views wait for config before rendering options
- Fixed MiniCalendarView to use direct Bases API like other views
- Consistent use of Component lifecycle methods
- Proper cleanup in onunload()
Changed
- NLP system overhaul
- Replaced
StatusSuggestionServicewrapper with directNaturalLanguageParserusage - Consolidated trigger configuration into unified
TriggerConfigService - Enhanced
NaturalLanguageParserwith full trigger and user field support - Removed custom # tag autocomplete in favor of Obsidian's native tag suggester (when using # trigger)
- Replaced
- Task card and editor improvements
- Simplified
TaskCardinterface - removed unused options (showCheckbox, showArchiveButton, groupByDate) - Refactored
TaskLinkWidgetto use unifiedTaskCardcomponent for consistency - Added support for inline vs. block layout modes in task cards
- Improved task card BEM CSS with better styling for inline mode
- Simplified
- Settings UI enhancements
- NLP triggers now configurable through Settings > Features tab
- Added settings for inline task card visible properties
- Improved appearance tab with property selector integration
- Better organization of NLP-related settings
- Refactored Bases views to use Component lifecycle properly
- Views now extend Component and use onload()/onunload()
- Automatic cleanup of event listeners via Component.registerDomEvent()
- Improved state management and ephemeral state handling
- Improved development experience
- Converted ESLint errors to warnings for non-blocking development
- Fixed various linting issues and unused imports
Breaking Changes
- Relationships widget settings consolidated (automatic migration)
- Old settings removed:
showProjectSubtasks,projectSubtasksPosition,showTaskDependencies,taskDependenciesPosition - New unified settings:
showRelationships,relationshipsPosition - Widget now appears on ALL notes (tasks, projects, regular notes) - Bases filtering controls which tabs are visible
- Migration: Existing users will see the new unified widget automatically. If you had project subtasks enabled, relationships widget will be enabled by default
- Bases file change: The command mapping changed from
'project-subtasks': 'TaskNotes/Views/project-subtasks.base'to'relationships': 'TaskNotes/Views/relationships.base' - Run "Create Default Files" in Settings > General to create the new
relationships.basefile
- Old settings removed: