Releases: obsidian-tasks-group/obsidian-tasks
0.6.0
Changes
Tasks now supports recurring tasks 🔁 🎉
Recurring tasks (repetition)
Tasks can be recurring.
In order to specify a recurrence rule of a task, you must append the "recurrence signifier 🔁" followed by the recurrence rule.
For example: 🔁 every weekday
means the task will repeat every week on Monday through Friday.
When you toggle the status of a recurring task to anything but "todo" (i.e. "done"), the orginal task that you wanted to toggle will be marked as done and get the done date appended to it, like any other task.
In addition, a new task will be put one line above the original task.
The new task will have the due date of the next occurrence after the due date of the original task.
Take as example the following task::
- [ ] take out the trash 🔁 every Sunday 📅 2021-04-25
If you mark the above task "done" on Saturday, the 24th of April, the file will now look like this:
- [ ] take out the trash 🔁 every Sunday 📅 2021-05-02
- [x] take out the trash 🔁 every Sunday 📅 2021-04-25 ✅ 2021-04-24
For best compatibility, a recurring task should have a due date and the recurrence rule should appear before the due date of a task.
Right now there is no direct feedback to whether your recurrence rule is valid.
You can validate that tasks understands your rule by checking that the task includes the recurrence rule when it is rendered, for example in the markdown preview of the file where it is defined or in another tasks query.
When it is shown (with the checkbox on the left), then tasks understands it.
Examples of possible recurrence rules (mix and match as desired; these should be considered inspirational):
🔁 every weekday
(meaning every Mon - Fri)🔁 every week on Sunday
🔁 every 2 weeks
🔁 every 3 weeks on Friday
🔁 every 2 months
🔁 every month on the 1st
🔁 every 6 months on the 1st Wednesday
🔁 every January on the 15th
🔁 every year
0.5.1
Changes
Tasks no longer removes text after a 🔁 emoji.
0.5.0
Changes
Complete rewrite of the plug-in. It now utilizes the new capabilities of the metadata cache that were introduced in obsidian 12.
This is the first (pre-)release of the rewrite.
I have not tested it extensively, yet. I will do that this coming week by using it as my daily driver.
Check the readme for details.
Tracking Tasks
Tasks are no longer tracked by specific identifiers like - TODO
. Instead, regular checklist items are treated as tasks.
Global Filter
There are now settings and they include a global filter. A global filter filters checklist items so that you can have checklist items which aren't tasks.
As an example, you could set your global filter to #task
. It can be any string. It doesn't have to be a tag. If it is set, a checklist item has to have the defined global filter on its line.
Example:
- [ ] #task this would be considered a task with a due date 📅 2021-04-23
- [ ] this as well #task
- [x] and also this #task 📅 2021-03-03 ✅ 2021-04-04
- [ ] this is a regular checklist item and not a task (won't have done date or appear in queries)
Migration Support
I understand that this is a big change and potentially means a lot of work for you, as you need to change all existing tasks to be in the new format if you want to migrate to this version. Contact me if you need help with this.
If you know how to use sed
on the command line, you can do the following. I tested it only on Linux. I know that macOS' sed
has some peculiarities, so I am not sure whether it works on macOS.
If you try these, make sure first that you have a backup of your vault!
Moving to the new model with #task as the task identifier:
# From within your vault directory:
sed -i 's/- TODO/- \[ \] #task/' ./**/*.md
sed -i 's/- DONE/- \[x\] #task/' ./**/*.md
Without any global filter:
# From within your vault directory:
sed -i 's/- TODO/- \[ \]/' ./**/*.md
sed -i 's/- DONE/- \[x\]/' ./**/*.md
0.4.0
Changes
This is a performance release. Performance of the plugin is much smoother now 🚀
0.3.0
Changes
Tasks now works on iOS!
Includes some refactoring to clean-up some messy code.
0.2.0
Changes
Cache now also updates on create, rename, delete
The cache wasn't update when a file was created, renamed, or deleted.
Tasks would then list double (as the original and the one from the
renamed file, for example).
The cache now subscribes to further vault events in order to stay in
sync with the vault.
Task blocks now list all tasks by default
When including tasks via a ```tasks block, the results now shall all
tasks by default, regardless of their indentation.
There is now a new query option exclude sub-items
to re-enable the
original behavior.
Before, the result list would only show top-level tasks, which was
confusing.
0.1.0
Initial release. More like a proof of concept at this stage 😅
For installation and usage, check the readme.