The top-level task filter was excluding non-task files from the Projects
view. Since projects can be any file type (not just tasks), the filter
is now applied per-view:
- Subtasks, Blocked By, Blocking: include task filter (these are tasks)
- Projects: no task filter (projects can be any file type)
Users with existing relationships.base files should delete and
regenerate them to get the fix.
The Blocking view filter in the Relationships base threw "Cannot find
function map on type Link" when blockedBy contained a single entry.
Bases returns single values as Link objects without a map() method.
Wrap with list() to ensure array operations work regardless of whether
blockedBy contains one or many dependencies, consistent with the
existing Blocked By view implementation.
Add "Span tasks between scheduled and due dates" toggle to Calendar view
Layout settings. When enabled, tasks with both scheduled and due dates
display as multi-day all-day bars spanning the full duration, providing
Gantt chart-style visualization for project planning.
Thanks to @0atman for the feature request.
Fixes#1028, #1140, #1152, #1354, #1362
Tasks were appearing twice in Agenda view - once as TaskNotes events
and again as property-based events (shown with file icon). This was
confusing because both represented the same underlying task.
- Set showPropertyBasedEvents: false in default Agenda template
- Updated documentation with explanation
- Users can re-enable in view settings if needed for non-task dates
Update timeEstimateCategory and trackingStatus formulas to include
explicit null check alongside the existing falsy and zero checks.
This ensures tasks with unset timeEstimate show "No estimate" correctly.
- Add v3 to v4 migration guide with Bases setup instructions
- Expand core-concepts.md with YAML structure, property types, and methodology examples
- Streamline index.md to be a concise landing page with quickstart
- Remove developer-focused timezone docs (TIMEZONE_HANDLING_*.md)
- Update releases.md to show v4.x as current
- Fix broken relative links in features.md
- Reduce repetition across docs by centralizing Bases info in core-concepts.md
- Consolidate task-management.md recurring tasks and reminders sections
- Simplify features/integrations.md and features/calendar-integration.md
- Reduce task-defaults.md Default Reminders section from 227 to 24 lines
- Add v4/Bases troubleshooting and OAuth calendar troubleshooting sections
- Update troubleshooting.md with current settings paths and GitHub link
- Update calendar-setup.md with Azure manifest redirect URI instructions
Tasks with multiple values in list properties (contexts, tags, projects)
now appear in each individual column instead of a single combined column.
- Added "Show items in multiple columns" option (default: true)
- Fixed drag-and-drop to add/remove individual values instead of replacing
- Fixed swimlane mode to also respect list property explosion
- Added regression tests for grouping and drag-and-drop behavior
- Fix Kanban template missing groupBy property
* Default Kanban now includes groupBy on status field
* Resolves error requiring manual group configuration
* Thanks to @randomness42 and @seepage87 for reporting
- Fix user-defined fields appearing as user:field_xxx in templates
* Custom fields now use actual property names from settings
* Also fixed totalTrackedTime to map to timeEntries property
* Ensures Bases can properly query user-defined fields
- Fix documentation quote escaping in YAML examples
* Use single quotes for strings containing double quotes
* Makes examples copyable and syntactically correct
- Remove internal Bases filtering guide
* Direct users to official Obsidian Bases documentation
* Eliminates duplicate documentation of Obsidian functionality
Moves the default base templates documentation from obsidian-help to the
main docs folder for better accessibility and maintenance.
Changes:
- Move obsidian-help/en/Bases/Default base templates.md → docs/views/default-base-templates.md
- Update frontmatter to match docs format (add title, remove obsidian-help fields)
- Replace wiki-style links with markdown links to Obsidian help docs
- Update code comment in defaultBasesFiles.ts to reference new path
- Add cross-references from:
- docs/views.md (Bases Plugin Requirement section)
- docs/views/task-list.md (Further Reading section)
- docs/features/filtering-and-views.md (Additional Resources section)
- Document hierarchical subgrouping in filtering-and-views.md with demo GIF
- Add subgrouping section to task-list.md with usage examples
- Update agenda-view.md to reference subgrouping support
- Enhance features.md overview to mention two-level organization
- Include subgroups.gif demonstration of the feature in action
Provides complete documentation for the new hierarchical subgrouping
functionality that allows two-level task organization across views.
* 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
* feat(filter): group by custom user fields; add dynamic group dropdown
- Support user: group keys (text/number/boolean/date/list)
- Sorting: date asc, boolean true→false, number desc, others alphabetic
- FilterBar includes user properties from FilterOptions.userProperties
- test: add coverage for boolean/list/date/unknown and FilterBar options
* feat(filtering): add sorting by user fields and wire Sort dropdown; fix grouped user-field header order to follow sort direction; emit immediate query change for sort/group; list empty values sort last
* docs(filtering): add docs for sorting/grouping by custom user fields and embed demo GIF
---------
Co-authored-by: Callum Alpass <callumalpass@gmail.com>
- Add proper spacing for readability in recurring tasks section
- Fix missing newline at end of file
- Improve list formatting for drag behavior descriptions
Enhanced the recurring task support section to document:
- Visual hierarchy: Solid borders for next occurrence, dashed for pattern instances
- Drag behaviors: Different actions based on event type being dragged
- User feedback: Specific notice messages for each drag operation
- Flexible scheduling: Next occurrence can appear outside the recurring pattern
Replaces basic description with detailed explanation of the sophisticated
drag-and-drop system and visual distinctions that give users complete control
over recurring task scheduling.
Add comprehensive documentation for the new configurable custom multi-day
calendar view feature implemented in d27594a:
- Update calendar-views.md with Custom Days view section explaining features
and configuration steps
- Enhance calendar-settings.md to document default view option and custom
day count setting
- Update calendar-integration.md to include custom days view in Advanced
Calendar description
- Update features.md to include custom days view in main features overview
Provides complete user guidance for the custom multi-day calendar view that
allows users to configure any number of days (1-14) in their calendar display.
Enhance documentation to reflect the new view options feature that allows
saved views to preserve view-specific display preferences alongside filters.
- Update filtering-and-views.md to explain view options preservation in saved views
- Enhance agenda-view.md with documentation for view-specific options and persistence
- Document Advanced Calendar View options and their persistence in calendar-views.md
- Add comprehensive developer guidelines for implementing view options in saved views
- Update releases.md to reference version 3.15.0
These documentation updates complement the code implementation committed in 1fb02e8
and provide complete user and developer guidance for the view options feature.
- Update instant task conversion to reflect universal line support (any line type, not just checkboxes)
- Document clickable project group headers in Task List View
- Add FilterBar integration details for project subtasks widget
- Update main README to reflect universal line-to-task conversion capability
These changes document the user-facing improvements introduced since v3.15.1.
- Add auto-stop time tracking feature documentation to time management
- Move auto-stop settings to advanced settings under Pomodoro section
- Completely rewrite Notes view documentation with accurate inclusion criteria
- Remove incorrect context menu information from Notes view
- Add detailed settings and performance guidance for Notes view