What's Changed
Please restart Obsidian after updating the plugin. Thank you.
Most notable
⚠️ Important group by urgency
now puts most urgent tasks first, not last.
If your vault uses group by urgency
, please update your query blocks like this:
Old instruction | Use this instruction instead |
---|---|
group by urgency reverse
| group by urgency
|
group by urgency
| group by urgency reverse
|
🌟 group by function
custom groups! - by @claremacrae and @hauntedhost
- A powerful, flexible mechanism to give users total control over task grouping.
- Credit: This work was only made possible by @hauntedhost, who kindly taught me how to evaluate user-supplied functions in TypeScript.
- Docs
Some example custom groups:
# Group by due date year and month number
group by function task.due.format("YYYY-MM")
# Group by any tags that contain "#context/"
group by function task.tags.filter( (tag) => tag.includes("#context/") )
# The opposite: create headings for all tags that do not contain "#tag".
group by function task.tags.filter( (tag) => ! tag.includes("#tag") )
You can also embed formatting in the group names, as markdown there is rendered.
For example, see the paler text in these group headings:
🙏 Supporting Tasks development (Optional!)
The Tasks plugin is completely free to use, and very willingly developed and supported by Clare Macrae since May 2022.
Making the group by function
facility so well documented and usable, and this thoroughly tested, has been many, many days of work. It opens up some very exciting future capabilities.
If you would like to support Tasks development, and are able to do so, please see:
Donations will go towards my computing costs and licenses for development tools that I use for productivity. Thank you 🙏.
Main changes
Here are the most notable user-visible changes.
🌟 Features
- feat: Add custom grouping, with
group by function
option by @claremacrae and @hauntedhost in #2028 - feat: Add TasksDate class for use in
group by function
by @claremacrae in #2032 - feat:
group by priority
names are now more readable by @ilandikov in #2047 - feat:
group by status.type
names are now more readable by @ilandikov in #2045
💪 Fixes
- fix: Stop bundling Moment in release by @claremacrae in #2016
- fix: 'remove global filter' broke display of sub-tags of global filter by @ilandikov in #2022
- fix!!:
group by urgency
now puts most urgent tasks first, not last by @ilandikov in #2046
📖 Documentation
- docs: Add Scripting column to Quick Reference, showing property names by @claremacrae in #2033
- docs: Update snippets and examples in markdown by @github-actions in #2048
- contrib: Update snippets and examples in markdown by @github-actions in #2002
🛠️ Behind the scenes
- chore: Automate content generation of some Priority docs by @claremacrae in #2011
- chore(deps): bump peter-evans/create-pull-request from 3 to 5 by @dependabot in #2004
- chore: Fix "Cannot write file '....../global-setup.js' errors'" by @ilandikov in #2008
- chore(deps-dev): bump @types/jest from 29.5.1 to 29.5.2 by @dependabot in #2005
- test: add custom matcher to test group sort order by @ilandikov in #1999
- test: Add TaskBuilder.createFullyPopulatedTask() by @claremacrae in #2013
- test: add group sort order tests by @ilandikov in #2024
New Contributors
- @github-actions made their first contribution in #2002
- @hauntedhost made their first contribution in #2028
Full Changelog (including changes too small to note above, and that do not affect the behaviour of the plugin itself):