Use taskw-ng for interacting with Taskwarrior
Synchronizations that interact with Taskwarrior will now use the taskw-ng
python wrapper instead of the currently unmaintained taskw
wraper. This will allow faster development of new features and quicker bugfixing since we're also developing and publishing the taskw-ng package.
IMPORTANT When transitioning to the v1.8.0
release, you 'll need to update your cache files situated in ~/.config/syncall/
. taskw-ng
is largely compatible with taskw
, except its very name. As part of the caching of objects, we pickle items that we write to Taskwarrior and as a result, already cached items, will not be read back correctly since we 've now stopped depending on taskw
and instead depend on taskw-ng
. To fix this, you have to **replace all occurrences of taskw
with takw_ng
in the cache directory. To do that you can run a command like the following. Note that I'm using the sd and ripgrep to execute the replacements:
sd "taskw\b" tasnw_ng (rg --hidden -l "taskw\b")
If this doesn't work you can reset your synchronization as explained in the repo FAQ. If you still have problems after this please create a issue.
Rename twgcalsyncduration
-> syncallduration
A task that 's written to / read from taskwarrior in the past could have a UDA twgcalsyncduration
of type duration. We can now make use of this UDA in synchronizations other than the TW
<> Google Calendar
and we 've therefore renamed it to syncallduration
to reflect this.
Please include the following snippet in your TASKRC
file to correctly read/write this UDA:
uda.syncallduration.type=duration
uda.syncallduration.label=Task Duration
Introduce more powerful Taskwarrior filtering
We now have more powerful Taskwarrior filtering across all synchronizations that interact with Taskwarrior. This means you can now use the following options:
-f, --tw-filter TEXT Taskwarrior filter for specifying the tasks
to synchronize. These filters will be
concatenated using OR with potential tags
and projects potentially specified.
--all, --taskwarrior-all-tasks Sync all taskwarrior tasks (potentially very
slow).
-t, --taskwarrior-tags TEXT Taskwarrior tags to synchronize.
-p, --tw-project TEXT Taskwarrior project to synchronize.
--days, --only-modified-last-X-days TEXT
Only synchronize Taskwarrior tasks that have
been modified in the last X days (specify X,
e.g., 1, 30, 0.5, etc.).
--prefer-scheduled-date Prefer using the "scheduled" date field
instead of the "due" date if the former is
available.
This affects the following synchronizations:
tw_asana_sync.py
tw_caldav_sync.py
tw_gcal_sync.py
tw_gkeep_sync.py
tw_gtasks_sync.py
tw_notion_sync.py
You can read more about this in the taskwarrior-filtering page
Full Changelog: v1.7.2...v1.8.0