Releases: obsidian-tasks-group/obsidian-tasks
7.23.1: Correct query.file.hasProperty() and query.file.property()
What's Changed
- fix: Correct
query.file.hasProperty()andquery.file.property()by @claremacrae in #3776
Full Changelog: 7.23.0...7.23.1
7.23.0: Filter & copy searches, nicer settings UI, hide fields in modal, ON_HOLD statuses & Vietnamese translation
What's Changed
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
Most Notable
π New toolbar on Tasks search results, with 'Filter by description' box and 'Copy results' button.
π Ability to hide fields facility to the 'Create or edit Task' modal, for unused fields.
π Add ON_HOLD status type.
π No more big red "Changing any settings requires a restart of obsidian"!
- Changes to most of the Tasks settings now take immediate effect.
- A few remaining settings are marked with
REQUIRES RESTART.
π Add Vietnamese translation of 'Settings', 'Editing a Status' and 'Check your Statuses'.
Main changes
Here are the most notable user-visible changes.
π Features
- feat: add 'RESTART REQUIRED' to specific settings sections by @ilandikov in #3635
- feat: Add 'Copy results' button to search results by @ilandikov in #3658
- feat: copy results improvements by @ilandikov in #3661
- feat: copy tree results by @ilandikov in #3682
- feat: show/hide toolbar instruction by @ilandikov in #3688
- feat: render explanation in Markdown by @ilandikov in #3696
- feat: Add text box to filter searches by description by @ilandikov in #3701
- feat: Add new ON_HOLD status type by @mdbraber in #3650
- feat: Add show/hide toolbar to Query File Defaults facility by @claremacrae in #3710
- feat: make Edit Task modal fields optional by @ilandikov in #3721
- feat: Speed up the search in results toolbar, by debouncing by @claremacrae in #3731
- feat: Add toolbar to hide_query_elements preset, for new vaults by @claremacrae in #3769
πͺ Fixes
- fix: Correct typo in default presets: backinks => backlinks by @claremacrae in #3666
- fix: copy button position by @ilandikov in #3685
- fix: toggling query file defaults can show and hide fields again by @ilandikov in #3704
- fix: copy results provides filtered results by @ilandikov in #3705
- fix: Results filter now re-applied when settings or tasks edited by @ilandikov in #3706
- fix: 'Tasks: Toggle task done' keeps list markers if no Global Filter (#3708) by @claremacrae in #3709
- fix: 'Tasks: Toggle task done' converts plain text straight to checkbox by @claremacrae in #3711
- fix: Fix #3715 - occasionally corrupt search results with latest code by @claremacrae in #3719
- fix: add '1 day' option if postponing future dates by @claremacrae in #3723
- fix: display search errors by @ilandikov in #3762
- fix: prevent accidental editing of dates in Task objects by @claremacrae in #3767
π Translations
π Documentation
- docs: Show 'group by function' inheriting tags from parent task by @claremacrae in #3649
- docs: Update snippets and examples in markdown by @github-actions[bot] in #3700
- docs: Write up the toolbar and 'hide unused fields' features by @claremacrae in #3770
- docs: Add more info about ON_HOLD status type by @claremacrae in #3773
- contrib: Add some examples of using SimulatedFile by @claremacrae in #3655
π Test Vault
- vault: Add files to reproduce issue #3715 by @claremacrae in #3716
- vault: Update snippets and examples in markdown for #3741 fix by @github-actions[bot] in #3744
π οΈ Behind the scenes
Improvements made to new features prior to their release:
Other changes:
- chore: Update plugins in all vaults by @claremacrae in #3654
- chore: Clarify and strengthen requirements for Pull Requests by @claremacrae in #3752
- refactor: Extract HTML results rendering to separate class by @ilandikov in #3667
- refactor: Simplify interface of rendering code by @claremacrae in #3668
- refactor: Allow TaskLineRenderer to render to multiple UL elements by @claremacrae in #3671
- refactor: store
QueryRendererParametersinHtmlQueryResultsRendererby @ilandikov in #3672 - refactor: Improve HtmlQueryResultsRenderer interface by @claremacrae in #3673
- refactor: extract
QueryResultsRendererBaseclass by @ilandikov in #3675 - refactor: create
HTMLLIElementoutside ofTaskLineRenderermethods by @ilandikov in #3678 - refactor: render children from
QueryResultsRendererBaseby @ilandikov in #3679 - refactor: simplify
HtmlQueryResultsRendererandQueryResultsRendererBaseby @ilandikov in #3681 - refactor: reuse
QueryResultby @ilandikov in #3690 - refactor: filter query results by @ilandikov in #3697
- refactor: move toolbar rendering to
QueryResultsRendererby @ilandikov in #3699 - refactor: extract PriorityEditor component by @ilandikov in #3720
- refactor: Remove repetition in field reading code by @claremacrae in #3766
- test: better
QueryResultsRenderercoverage by @ilandikov in #3665 - test: test adding to
HtmlQueryResultsRenderer.alreadyAddedItemsby @ilandikov in #3674 - test: move HTML rendering tests to own file by @ilandikov in #3692
- test: issue 3702 by @ilandikov in #3703
New Contributors
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.22.0: Korean translation; Streamline handling edits of Global Filter and Global Query; bug fixes
What's Changed
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
Here are the most notable user-visible changes.
π Features
- feat: redraw search results after global query is edited by @ilandikov and @claremacrae in #3596
- feat: re-read vault and redraw search results after global filter is edited by @ilandikov and @claremacrae in #3597
πͺ Fixes
- fix: No longer break recurring tasks if scheduled dates are removed by @chmac in #3592
- fix: Enable themes to modify indentation in Live Preview (#3603) by @claremacrae in #3610
- fix: Update code & docs for new ITS Theme docs & status by @Happypig375 in #3611
- fix: prevent mouse cursor becoming stuck in "scroll" mode when middle clicking a task backlink by @NatKarmios in #3628
- fix: Prevent native menu hiding Status context menu (#2739,#3582) by @claremacrae in #3629
π Translations
- i18n: add Korean localization support by @Hong-Seungmin in #3609
π Documentation
- docs: Document access to nested and object properties by @claremacrae in #3581
- docs: Refine 'Priority of Dates' section for recurring tasks by @claremacrae in #3598
- docs: String "return" in function returns "undefined" (#3625) by @claremacrae in #3626
π οΈ Behind the scenes
- refactor: Add failing test and prepare to fix #3553 by @claremacrae in #3558
- refactor: reduce memory usage with dynamic destination path by @ilandikov in #3586
- refactor: Remove repetition from menu-handling code by @claremacrae in #3630
- test: Refactor loading of test data, to simplify code by @claremacrae in #3631
- test: Remove uses of a singleton in mocked Obsidian functions by @claremacrae in #3633
New Contributors
- @Hong-Seungmin made their first contribution in #3609
- @Happypig375 made their first contribution in #3611
- @NatKarmios made their first contribution in #3628
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.21.0: Urgent fix for recent iOS/iPadOS; access Links; API can edit task lines
What's Changed
π Most Notable
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
Links facility
- Obsidian links are now accessible in custom searches, sorting and grouping.
- We plan to provide built-in instructions for these features in future.
- Written by @rhhub, and refined by @claremacrae and @ilandikov.
- See the user documentation
Tasks API
- The Tasks API can now edit existing task lines.
- Note that the caller needs to save the modified task line (or lines).
- Written by @justise.
- See the user documentation.
Fix Tasks on iOS and iPadOS versions 18.6 and 26 Public Beta 2
- Fixed an issue reported by many uses, that Task was broken by/on iPadOS/iOs 18.6 and iPadOS/iOs 26 Public Beta 2.
- Fixed by @claremacrae in #3563
Details of the iPadOS/iOs bug
Here is a minimal reproduction, which can be pasted in the Obsidian Console.
The Tasks plugin uses code like the following very simplified example to parse Markdown lines:
/β³/u.test('πΊβ³')
/β³/u.test('πΊ β³')
/β³/u.test('πΊ β³')It is expected that on all platforms, all the above 3 test examples should return true, saying that the character β³ is present in the test string.
In iPadOS/iOs 18.6 and iPadOS/iOs 26 Public Beta 2, the middle example - with a single space - wrongly returns false!!!.
This completely breaks the Task plugin's parsing of task lines, in all the normal cases where there is only a single space between fields.
Main changes
Here are the most notable user-visible changes.
π Features
- feat: Add ability to filter and group by linked note by @rhhub in #3466
- Additional contributions:
- refactor: Minor refactoring of links code and tests by @claremacrae in #3495
- refactor: Rename
outLinksgetters tooutlinks- changing unreleased code by @claremacrae in #3520 - feat: Add
outlinksInPropertiesandoutlinksInBody-outlinksreturns both by @claremacrae in #3526 - feat: Add
Link.markdownfor reliable rendering of links by @claremacrae in #3527 - feature: Add
Link.isLinkTo(), for easy 'filter by function' by @ilandikov in #3542 - feat: Add
Link.destinationPathby @claremacrae in #3555 - fix:
Link.isLinkTo()now works when passedTasksFileobjects by @claremacrae in #3556 - refactor: Rename
Link.isLinkTo()toLink.linksTo()by @claremacrae in #3557
- feat: Add the ability to launch the task modal to edit an existing line by @justise in #3528
πͺ Fixes
- fix: Allow text selection with mouse in Preset settings by @claremacrae in #3511
- fix: Allow other plugins to auto-suggest & document settings for this by @rhhub in #3503
- fix: Enable adding dependencies from modal created via API's createTaskLineModal() by @justise in #3509
- fix: Inline attachment previews are now visible in Live Preview and Reading modes by @ramarivera in #3498
- fix: Enable new iPad/iPhone OS versions to read Emoji tasks (#3546,#3560) by @claremacrae in #3563
π Translations
π Documentation
- docs: Initial documentation for Links feature by @claremacrae in #3569
π οΈ Dependencies
- build(deps-dev): bump async-mutex from 0.4.0 to 0.5.0 by @dependabot[bot] in #3209
- chore(deps-dev): bump esbuild-svelte from 0.8.0 to 0.8.2 by @dependabot[bot] in #3253
- chore(deps): bump nanoid from 3.3.7 to 3.3.8 by @dependabot[bot] in #3234
- chore(deps): bump undici from 6.21.0 to 6.21.3 by @dependabot[bot] in #3507
- chore(deps): bump rrule from 2.7.2 to 2.8.1 by @dependabot[bot] in #3258
- chore(deps): bump @babel/runtime from 7.23.2 to 7.27.6 by @dependabot[bot] in #3506
- chore(deps-dev): bump jest-environment-jsdom from 29.7.0 to 30.0.4 by @dependabot[bot] in #3518
π οΈ Behind the scenes
- test: Save the parsing diffs from Obsidian 1.9.2 to 1.9.4 by @claremacrae in #3517
- vault, tests: Visualise Obsidian, dataview & Tasks behaviour with #3481 by @claremacrae in #3516
New Contributors
- @rhhub made their first contribution in #3466
- @aoaoho made their first contribution in #3501
- @justise made their first contribution in #3509
- @ramarivera made their first contribution in #3498
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.20.0: Re-use query instructions in "Presets" - and big performance improvements
What's Changed
π Most Notable
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
Here are the most notable user-visible changes.
π Features
Presets facility (fixes #2443 and #2267)
- Presets allow you to save commonly used task query instructions and reuse them across multiple queries.
- Instead of repeatedly typing the same complex filters and sorting options, you can define them once in settings and reference them by name.
- For example, this is useful for daily notes with standard task queries, where you can now change search criteria in one place and have all your task views update automatically.
Written by @claremacrae and @ilandikov.
See the user documentation.
Major performance boost
- Tasks searches now only run when visible, and not on inactive tabs by (fixes #2999) @claremacrae in #3438
Review and check your Statuses
- The 'Review and check your Statuses' feature in Tasks Settings now adds sample tasks, so you can test your custom statuses easily, and check their styling by @claremacrae in #3440
Obsidian 1.9.x (Insiders) Users
- Beware the breaking changes in Obsidian: See our guide Missing tags, aliases and cssclasses in some Obsidian 1.9.x versions.
πͺ Fixes
- fix: Support line continuations in TQ_extra_instructions & placeholders by @claremacrae in #3450
- fix: Suppress Tasks Auto-Suggest in Task-Board plugin modal (#3475) by @claremacrae in #3477
π Translations
- i18n: Ukrainian, Belarusian and Russian translations of sample tasks by @bav2653 and @claremacrae in #3441
- i18n: Add German translation of settings UI by @i-am-the-slime and @claremacrae in #3465
π Documentation
- docs: Link Sorting.md to related section in Grouping.md by @adam in #3461
- docs: Write up observations on Obsidian 1.9.x property reading by @claremacrae in #3491
π οΈ Behind the scenes
Some of the significant volume of work required to create the Presets feature (originally called Includes):
- feat: Partial implementation of 'include' instruction by @ilandikov in #3437
- feat: First try at editing named reusable task block statements by @claremacrae in #3446
- feat: Add error-checking of duplicate names of "Includes" by @claremacrae in #3460
- feat: Editing any Includes setting redraws open Tasks searches by @claremacrae in #3463
- feat: Arrange the delete button in the includes settings by @ilandikov in #3473
- feat: Allow Includes settings to be re-ordered by @claremacrae in #3476
- feat!!: Rename 'include' facility to 'preset' by @claremacrae in #3485
- fix: Improve the layout of Includes section in settings by @claremacrae in #3452
- fix: Includes settings now work on mobile and narrow windows by @claremacrae in #3472
Other changes:
- refactor: add IncludesSettingsService class by @claremacrae in #3457
- refactor: Improve the maintainability of
IncludesSettingsUI.scssby @claremacrae in #3470
New Contributors
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.19.1: Fix '{{query.file...}}' handling of renames; Chinese translation of new setting
What's Changed
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
Here are the most notable user-visible changes.
- fix:
{{query.file...}}no longer broken when renaming other files (#3335, #3428) by @claremacrae in #3429 - i18n: Update Chinese (zh) translation file by @dangehub in #3427
π οΈ Behind the scenes
Improvements made to new features prior to their release:
- refactor: prepare includes by @ilandikov and @claremacrae in #3426
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.19.0: Option to remove Scheduled date on new recurring tasks; improve 'On Completion'
What's Changed
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
Here are the most notable user-visible changes.
π Features
- Add option to remove Scheduled date on new recurring tasks by @chmac in #3423

- Use this setting to control whether the Scheduled date should be removed from the next occurrence. The Scheduled date is only removed the task also has a Start or Due date.
- This is useful when you want the Start and Due dates to carry forward to the next recurrence, but you will set the Scheduled date in future, once you know when you intend to work on it.
πͺ Fixes
- Stop
onCompletion: deleteleaving blank lines for non-recurring tasks by @claremacrae in #3424
π οΈ Behind the scenes
- refactor: Small refinements to drop/remove scheduled dates setting by @claremacrae in #3425
- vault, docs,contrib: Update all plugins, and install 'Vault Nickname' plugin by @claremacrae in #3409
New Contributors
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.18.5: Performance improvement and support "1)"-style numbered lists
What's Changed
Please run the Reload app without saving command or quit and restart Obsidian after updating the plugin. Thank you.
πͺ Fixes
- fix: Improve performance when multiple files are edited quickly by @claremacrae in #3394
- fix: Support Check boxes and List Items in "1)"-style numbered lists by @claremacrae in #3402
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.18.4: Fixes for Auto-Suggest and 'group by function'
What's Changed
Please quit and restart Obsidian or run the Reload app without saving command after updating the plugin. Thank you.
πͺ Fixes
- Prevent Auto-Suggest for
NON_TASKstatuses by @claremacrae in #3384 - Stable
group by function task.urgencyorder by @claremacrae in #3392
π οΈ Behind the scenes
- refactor:
ListItem.fromListItemLine()now correctly returnsnullby @ilandikov and @claremacrae in #3390 - refactor: Remove need to construct temporary Task objects by @claremacrae and by @ilandikov in #3391
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
7.18.3: Prevent use of missing properties in placeholders
What's Changed
- fix: Prevent use of missing properties in placeholders (#3249) by @claremacrae in #3380
- This stops things like
{{query.file.property('non-existent frontmatter property')}}becoming accidentally used in queries.
- This stops things like
- refactor: Move code for rendering
ListItemtoTaskLineRendererby @claremacrae and @ilandikov in #3377
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):
π Support Tasks development
Please reload the vault after updating the plugin. Thank you.
