Skip to content

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 configurations
  • PropertySelectorModal - 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 StatusSuggestionService wrapper with direct NaturalLanguageParser usage
  • Consolidated trigger configuration into unified TriggerConfigService
  • Enhanced NaturalLanguageParser with full trigger and user field support
  • Removed custom # tag autocomplete in favor of Obsidian's native tag suggester (when using # trigger)
  • Task card and editor improvements
  • Simplified TaskCard interface - removed unused options (showCheckbox, showArchiveButton, groupByDate)
  • Refactored TaskLinkWidget to use unified TaskCard component for consistency
  • Added support for inline vs. block layout modes in task cards
  • Improved task card BEM CSS with better styling for inline mode
  • 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

Removed

  • Removed StatusSuggestionService (functionality consolidated into NaturalLanguageParser)

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.base file