Releases: obsidian-tasks-group/obsidian-tasks
7.1.0: Improve Edit Task modal usability
Please quit and restart Obsidian after updating the plugin. Thank you.
π Edit Task modal usability improved
- Add access keys for Created, Done and Cancelled by @claremacrae in #2787
- Improve Edit Task modal's use of space by @claremacrae and @ilandikov in #2788
- fix: set correct font size to Priority label by @ilandikov in #2790
We will improve the layout for mobile-phones and other smaller screens in a future release.
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.0.0: Major improvements to Boolean/Combined filters
What's Changed
Please quit and restart Obsidian after updating the plugin. Thank you.
Breaking change
Any Boolean filters with mixed delimiters, like this, will now give an error:
(not done) AND "is recurring"
They must be changed to use consistent delimiters. Example fixed lines:
(not done) AND (is recurring)
"not done" AND "is recurring"
See Breaking Changes for full details of these changes.
Boolean filters radically improved
Boolean filters can now contain parentheses - (....)
- and double quotes - "
- so long as the sub-expressions do not end with any closing delimiters.
The Troubleshooting Boolean Filters guide shows patterns to use, to get any Boolean filter to work now, however complex.
Breaking change:
- Disallow mixing delimiter types in Boolean queries by @claremacrae in #2762
New features:
- Provide better Boolean help messages by @claremacrae in #2761
- Support square brackets and curly braces to surround Boolean sub-expressions by @claremacrae in #2763
- Fix any missing spaces around Boolean operators by @claremacrae in #2767
- Further improve Boolean help messages by @claremacrae in #2770
Bug fixes:
- 'explain' omitted the instruction line in some Boolean expressions by @claremacrae in #2719
- allow Boolean filters such as "description includes abc" by @claremacrae in #2755
- allow filters with ( ) and " delimiters in Boolean filters by @claremacrae in #2759
Documentation: Combining Filters - Tasks User Guide - Obsidian Publish
Main changes
Here are the other most notable user-visible changes.
π Features
- Add timing code to Tasks code block rendering code by @claremacrae in #2740
- See Console timing facilities in Tasks in the Contributing guide.
π Documentation
- Add Resources page by @claremacrae in #2733
- Document many improvements to Boolean searches by @claremacrae in #2772
π οΈ Behind the scenes
Improvements made to new features prior to their release:
Other changes:
- refactor: adopt SASS and break up styles.css file by @ilandikov in #2717
- refactor: move
TasksFile
object toTaskLocation
by @ilandikov in #2752 - refactor: Introduce BooleanDelimiters class by @claremacrae in #2754
- refactor: Start new code for preprocessing Boolean instructions by @claremacrae in #2756
- refactor: Implement new preprocessor for Boolean searches by @claremacrae in #2758
- vault: Speed up rendering in the Tasks demo vault by @claremacrae in #2741
- vault: explore parent child tasks with dataview by @ilandikov in #2769
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
6.2.0: 'explain' shows Continuations & Placeholders for filters
What's Changed
Please quit and restart Obsidian after updating the plugin. Thank you.
π Features
- 'explain' shows Continuations and Placeholders for filters by @claremacrae in #2711
Below: The original layout of line continuations is now shown in explain output:
Below: The original text of placeholders is now shown in explain output:
π οΈ Behind the scenes
- refactor: move date functions to DateTools.ts by @ilandikov in #2704
- refactor: Introduce Statement class by @claremacrae in #2710
- refactor: create DateEditor Svelte component by @ilandikov in #2713
- test: add Edit Task modal snapshot test by @ilandikov in #2705
- chore: lint Svelte files by @ilandikov in #2714
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
6.1.2: Fix toggling of tasks in Canvas cards
What's Changed
Please quit and restart Obsidian after updating the plugin. Thank you.
πͺ Fixes
- Tasks no longer prevents checking off tasks on Canvas cards by @claremacrae in #2698
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
6.1.1: Fix reading of β and β«οΈ for some users
What's Changed
Please quit and restart Obsidian after updating the plugin. Thank you.
πͺ Fixes
Fix the handling of invisible Variant Selector 16 characters on β and priority emojis.
- fix: Enable reading of high priority emoji with Variant Selector 16 appended by @claremacrae in #2695
- fix: Enable Tasks to read "no entry" emoji from Emoji Shortcodes plugin by @claremacrae in #2696
- fix: Stop writing Variant Selector 16 on dependsOn emojis - β by @claremacrae in #2697
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
6.1.0: Task Dependencies feature & Edit Task modal fixes
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
6.0.0: Custom sorting, improve default sort order and handling of invalid dates
What's Changed
π Most Notable
Please quit and restart Obsidian after updating the plugin. Thank you.
- the default sort order
- how invalid dates are handled
- styling of the Pencil and Postpone buttons (thank you @Cito)
See Breaking Changes for full details of these changes.
Here are the most notable user-visible changes.
π Features
- Added
sort by function
, for custom sorting - See Custom Sorting
Examples:
sort by function task.tags.filter( (tag) => tag.includes("#context/")).sort().join(",")
- Sort by tags that contain
#context/
. - Any tasks without that tag are sorted first.
sort by function reverse task.tags.length
- Sort by the number of tags on the task.
- The
reverse
option puts tasks with the most tags first.
sort by function task.file.path === query.file.path
- Tasks in the same file as the query will be sorted before all other tasks.
sort by function task.description.length
- Sort by length of description, shortest first.
Commits:
- Add 'sort by function' by @claremacrae in #2577
- Complete implementation of 'sort by function' by @claremacrae in #2584
- Enable use of Query Properties like query.file.path in 'sort by function' by @claremacrae in #2586
- 'sort by function' now sorts 'true' before 'false' by @claremacrae in #2597
- docs: Document custom sorting and
sort by function
by @claremacrae in #2604
πͺ Fixes
- Use similar styling for Edit and Postpone buttons by @Cito in #2562
- Make default sort order sort first by status type by @claremacrae in #2599
Better handling of invalid dates:
- Sort invalid dates before valid ones in query results by @claremacrae in #2590
task.due.category
andtask.due.fromNow
now handle invalid dates by @claremacrae in #2593group by [date]
now putsInvalid [date] date
as first heading by @claremacrae in #2595- Make
happens
date now ignore invalid dates by @claremacrae in #2596 - Make the Urgency calculation ignore invalid dates by @claremacrae in #2600
π οΈ Behind the scenes
- refactor: rewrite TaskLayoutOptions to key on TaskLayoutComponent by @ilandikov in #2575
- refactor: cleanup
TaskLayout.ts
by @ilandikov in #2578
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
5.6.0: Add 'today' and 'tomorrow' to Postpone context menu
What's Changed
Please quit and restart Obsidian after updating the plugin. Thank you.
π Features
- Add 'today' and 'tomorrow' to Postpone context menu by @claremacrae in #2566
π Documentation
- Update example in markdown by @github-actions in #2559
- Add Tags page to 'About Getting Started' by @claremacrae in 604b707
- Show features of earlier releases in a callout by @claremacrae in 254ad99
- Group the list of release features by version, for readability by @claremacrae in 687f0e6
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
5.5.0: Add 'cancelled date'; improve Edit Task modal
What's Changed
Please quit and restart Obsidian after updating the plugin. Thank you.
π Most Notable
Here are the most notable user-visible changes.
- π New
cancelled date
field added- [-] take out the trash β 2023-04-18
- [-] take out the trash [cancelled:: 2023-04-18]
- It's enabled in settings by default - and can be turned off.
- It's added automatically via all of the following, when the next status type is CANCELLED:
- Toggling tasks with mouse
- Running the 'Tasks: Toggle task done' command
- 'Change task status' context menu
- The value can be edited in the Edit task modal.
- Tasks already supports filtering, sorting and grouping by
cancelled
date. - Docs - for the field - which links to filter, sort and group docs too.
- Find tasks with potentially invalid data updated for
created
and other recently added fields.
- π Edit task Modal improvements
created
,done
andcancelled
dates can all now be edited.- There is now a warning displayed, about limitations of changing status in the modal.
- On small screens, the
Apply
andCancel
buttons are now always visible. Thank you @DanielTMolloy919.
π Features
- feat: Add initial support for Cancelled Date field by @claremacrae in #2550
- feat: Add all Tasks query block instructions for Cancelled Dates by @claremacrae in #2553
- feat: Add editing of Created, Done and Cancelled dates in Modal by @claremacrae in #2557
- feat: Make modal action buttons always visible by @DanielTMolloy919 in #2484
πͺ Fixes
- fix: Warn in Edit Task modal about Status-editing limitations by @claremacrae in #2558
π οΈ Dependencies
- build(deps-dev): bump @testing-library/jest-dom from 5.17.0 to 6.1.6 by @dependabot in #2540
- build(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #2506
- build(deps): bump github/codeql-action from 2 to 3 by @dependabot in #2504
π οΈ Behind the scenes
- refactor: do not add data attribute when it's value is empty by @ilandikov in #2543
- refactor: replace
className()
method withaddClassName()
by @ilandikov in #2548 - test: test
LayoutOptions
with the full task fromTaskBuilder
by @ilandikov in #2524 - test: improve rendering tests with matchers by @ilandikov in #2525
- test: convert tests with
testHiddenComponentClasses()
toit.each()
& use test task fromTaskBuilder
by @ilandikov in #2544 - test: remove FieldRenderer from TaskLineRenderer tests by @ilandikov in #2545
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
5.4.0: Better statuses on Recurring tasks - and 'explain' improvements
What's Changed
π Most Notable
Please quit and restart Obsidian after updating the plugin. Thank you.
Here are the most notable user-visible changes.
π Features
- Show non-standard recurrence transitions in Mermaid diagrams by @claremacrae in #2528
- Update "Check your Statuses" text for new behaviour by @claremacrae in #2530
- Add
full mode
instruction, to negateshort mode
by @claremacrae in #2535- See π Full Mode
- Make
explain
showgroup by
commands by @claremacrae in #2536 - Make
explain
showsort by
commands by @claremacrae in #2539 - Make
explain
use indentation to separate global & code block query explanation by @claremacrae in #2538
πͺ Fixes
- Prevent default action when clicking the postpone button by @Cito in #2513
- Cycle through statuses until
TODO
is found when marking recurring tasks asDONE
by @asokawotulo in #2516 - Next recurrent of recurring tasks is now always
TODO
,IN_PROGRESS
or space by @claremacrae in #2527 - Tidy up blank lines in 'explain' output by @claremacrae in #2537
π Documentation
- docs: Updates for recent fixes of statuses with recurrence by @claremacrae in #2534
π οΈ Behind the scenes
- refactor: extract QueryLayoutOptions from LayoutOptions by @ilandikov in #2521
- refactor: Move new status calculation for recurring tasks to StatusRegistry by @claremacrae in #2526
- test: improve
testLayoutOptions()
test function to have the expected description in one parameter with other expected components by @ilandikov in #2515 - test: test adding data attributes with only name & only value by @ilandikov in #2518
- test: use the toHaveDataAttributes() matcher in TaskFieldRenderer tests by @ilandikov in #2523
New Contributors
- @asokawotulo made their first contribution in #2516
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development