Changelog
2026-07-19v0.19.1— Migration Fixes
- Fixed: False "conflict" on legacy task migration —
migrateTasksToTopLevelreported.kandown/tasks/and./tasks/as conflicting (and silently left an old install un-migrated) whenever.kandown/tasks/existed but was actually empty, even though there was nothing to protect. It now checks the legacy folder's real content first and only defers to the "don't clobber" guard when there's genuinely something to migrate. - Fixed: Legacy folder cleanup never actually ran —
cleanupLegacyTasksDircalledfs.rmSync(dir, { recursive: false })on an already-confirmed-empty directory, which throwsEISDIR(Node'srmSyncrequiresrecursive: trueto remove a directory at all, even an empty one — introduced by the earlierrmdirSync→rmSynccleanup in v0.19.0). Found by testing this release's migration fix against kandown's own dev install before shipping.