Taskline v2.1.0
A performance release: the app now does dramatically less work behind the scenes, plus one recurrence correctness fix.
Highlights
Performance
- Notification scheduling is batched. Creating, editing, or completing a task used to fire up to ~150 platform calls one at a time; they're now issued together and awaited once. Cancelling a task's reminders sweeps only the notification slots actually in use instead of all 100.
- Cosmetic settings no longer reschedule everything. Changing the theme, palette, date format, or notes visibility used to re-read the task database and cancel + reschedule every Windows notification. Now only changes to the reminder-interval settings trigger a resync — flipping dark mode does zero extra work.
- The blinking header cursor no longer renders at full frame rate. It was scheduling a new frame every vsync (60–144 fps) for the app's entire tray-resident lifetime; it now wakes twice per blink cycle, letting the app go fully idle between blinks — a real battery win for an always-running app.
- Calendar recurrence math is O(1). Finding a recurring task's occurrences used to walk day-by-day from the original deadline (a 3-year-old daily task = ~1,100 steps, repeated 13× per calendar rebuild). It's now a single arithmetic jump.
Recurrence fix
- Monthly tasks on the 29th–31st now land on the right days. Previously the calendar's occurrence list drifted after a short month (a task due Jan 31 showed Mar 3, Apr 3, …, permanently stuck on the 3rd) while the day markers clamped correctly — the two disagreed. Both now follow the same rule: clamp to the last day of shorter months and return to the anchor day where it exists (Jan 31 → Feb 28 → Mar 31).
Under the hood
- 12 new unit tests pinning recurrence behavior, including leap-year clamping and equivalence of the new O(1) catch-up with the old stepping.
Install (Windows)
First-time installers must trust the self-signed certificate once:
- Download
taskline.cer, right-click → Install Certificate. - Choose Local Machine → Place all certificates in the following store → Trusted People → Finish.
- Double-click
taskline.msixto install.
Re-installs do not require re-trusting the cert.
Files
taskline.msix— the signed installer (20.5 MB)taskline.cer— public cert for the one-time trust step above