What's Changed
🌟 Most Notable
Please quit and restart Obsidian after updating the plugin. Thank you.
🌟 New team member: Ilyas Landikov
I'm delighted to announce that @ilandikov - Ilyas Landikov - has joined me as a core contributor to the Tasks plugin.
He has been working tirelessly behind the scenes for the last year, and it really helps to have somebody to discuss ideas and issues with, and to help improve the visible and hidden quality of the code and its tests.
Thank you Ilyas, and a warm welcome!
🌟 Edit Task modal status-editing is fixed
Editing task statuses via the modal now correctly updates Done and Cancelled dates, and creates the next task when completing a recurring task.
Thanks to @ilandikov for invaluable help writing the first test for this.
🌟 Task Dependencies facility - thank you @DanielTMolloy919!
The Tasks plugin now allows for 'Finish to start (FS)' dependencies, meaning Task A needs to be finished before you start on Task B. You can learn more about this concept on Wikipedia.
- User Documentation: Task Dependencies
- Below: Documentation sample: Editing Dependencies
- Below: Documentation sample: Search Concepts for Dependencies
Main changes
Here are the most notable user-visible changes.
🌟 Features
- Implement Task Dependencies by @DanielTMolloy919 in #2568
- Expose
query.allTasks
in scripting by @claremacrae in #2617
💪 Fixes
- Make context menu for Postpone button work on iOS by @Cito in #2640
- Improve auto-suggest for dataview task format by @Yaozhuwa in #2664
- Make Completion and Done dates & Recurrence work in modal status edits by @claremacrae in #2686
📖 Documentation
User documentation:
- Add docs for task properties isBlocked() and isBlocking() by @claremacrae in #2637
- Update Quickadd.md by @st-- in #2602
- Add HTML samples in Styling docs by @claremacrae in #2644
- Use dates other than 'today' with Daily Notes core plugin by @YuShigurey in #2677
- Finish documenting Task Dependencies by @claremacrae in #2688
- Document how to find tasks with invalid recurrence rules by @claremacrae in 08bf784
- Add more links to 'Finding unread emojis' by @claremacrae in a9441da
- The table of Auto-Suggest keywords is now machine-generated and complete by @claremacrae in 955475c
Contributing guide:
🛠️ Dependencies
- chore(deps): bump peter-evans/create-pull-request from 5 to 6 by @dependabot in #2633
🛠️ Behind the scenes
Improvements made to new features prior to their release:
- feat: Add search, sort and group by Task Id by @claremacrae in #2614
- feat: Add 'blocked by' presence and absence instructions by @claremacrae in #2615
- feat: Add consistent searches for 'blocked' and 'blocked' by @claremacrae in #2634
- feat: Edit Task modal improvements & add plugins to speed up testing by @ilandikov in #2679
- feat: Allow hyphens (
-
) and underscores (_
) in task ids by @claremacrae in 3ac8034 - feat: Improve the wording of placeholders for Dependency fields by @claremacrae in 8ccd04a
- feat: Set unique access key for 'After this' field in Edit Task modal by @claremacrae in ffb2efe
- feat: Editing task dependencies now uses fuzzy search by @claremacrae in 9fc7022
- fix!!: Rename field to Task.dependsOn to fix "blocked by" ambiguity by @claremacrae in #2639
- fix!!: Rename 'blocked by' filters to 'depends on' by @claremacrae in #2641
- fix: enable edit task modal to save multiple tasks by @ilandikov in #2653
- fix: Dataview-format parses 'Task.id' and 'Task.dependsOn' same as emoji by @claremacrae in #2671
- fix: Correct reading of dependsOn values with more than one space by @claremacrae in 61ac20a
- fix: Remove Task.id and Task.dependsOn in new occurrences of recurring tasks by @claremacrae in 528fd76
- fix: Allow tags to be searched in 'Before this' and 'After this' fields by @claremacrae in 459df16
- fix: More predictable search of task descriptions for dependencies by @claremacrae in 01d7383%
Other changes:
- chore: Fix pre-commit hooks for filenames with spaces, on Windows by @therden in #2622
- chore: Added more file extensions and LICENSE file to .gitattributes by @therden in #2635
- refactor: Rearrange src/ and tests/ so structure is easier to see by @claremacrae in #2607
- refactor: remove inheritance between
TaskLayout
andQueryLayout
by @ilandikov in #2610 - refactor: Move task dependency input to svelte component by @DanielTMolloy919 in #2609
- refactor: Reduce cyclic dependencies in src/ by @claremacrae in #2612
- refactor:
TaskLayout
&QueryLayout
renames by @ilandikov in #2613 - refactor: Create Task.isBlocked() and Task.isBlocking() by @claremacrae in #2632
- refactor: convert
TaskLayoutOptions
toenum
by @ilandikov in #2631 - refactor: prepare to add Jest tests for QueryRenderer by @claremacrae in #2659
- refactor: add tests and refactor auto suggest by @ilandikov in #2675
- refactor: Reduce complexity in Task.handleNewStatus() by @claremacrae in #2676
- refactor: OnCompletion (preparing to later add Delete Action) by @therden in #2666
- test: add
setDependencies()
for editing dependencies by @ilandikov in #2645 - vault: Set up the Tasks-Demo vault to show API in QuickAdd by @claremacrae in #2642
New Contributors
- @therden made their first contribution in #2622
- @st-- made their first contribution in #2602
- @Yaozhuwa made their first contribution in #2664
- @YuShigurey made their first contribution in #2677
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
🙏 Support Tasks development