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