Skip to content

Releases: SunnyYYLin/obsidian-tasklite

0.5.0: Dual-Mode Syntax Standardization, Fallback Rendering & Core Concurrency Hardening

Choose a tag to compare

@github-actions github-actions released this 20 Oct 19:44

TaskLite 0.5.0: Dual-Mode Syntax Standardization, Fallback Rendering & Core Concurrency Hardening

这是一个里程碑式(Major)架构升级版本,全面打通并标准化了 Dataview 与 Tasks 双模式语法,引入原生回退渲染引擎、单文件互斥写屏障与领域事件总线,彻底消灭高并发并发竞态并大幅提升库内响应速度。


🌟 核心亮点 (Highlights)

  1. 双模式语法全面收敛与标准化 (Dual-Mode Task Syntax)

    • 属性收敛:Dataview 行内字段统一并严格收敛为 recurrence、assignee、location、dependsOn。全面废除不一致别名,彻底统一 DQL 解析逻辑。
    • 平滑双向转换:支持在 Dataview 括号语法([field:: value])与 Tasks Emoji 语法(🔁 / 📍 / ⛔)之间无损互转与混用,并提供按库批量规范化命令 Normalize Vault Task Format。
  2. 原生 Dataview 回退渲染引擎 (Native Fallback Renderer)

    • 在未安装或关闭 Dataview 插件的环境中,TaskLite 自动接管并渲染漂亮的胶囊状行内字段徽标(InlineFieldWidget),无需重型外部插件依赖即可享受一致的美化体验。
  3. 单文件互斥锁与并发写屏障 (KeyedMutex Concurrency Hardening)

    • 核心 API 全面接入 KeyedMutex。针对同一文件的高频操作(如快速连击勾选子任务、批量编辑、父子级联完成)采用 Promise 互斥排队,从根源上杜绝读-改-写时序错位(Read-Modify-Write Race Condition)导致的丢任务问题。
  4. 跨插件领域事件总线 (Domain Event Bus)

    • 移除第三方插件对全局 vault.on("modify") 的低频轮询依赖。TaskLite 在任务写盘与状态变动后通过 Workspace 主动广播 tasklite:tasks-changed 领域事件,避免全库任意笔记输入惊醒看板重绘。
  5. DQL AST 语义化推断引擎 (DQL Semantic Analysis)

    • 暴露 isQueryExcludingCompleted(query) Core API。基于 DQL 抽象语法树进行严密的已完成任务语义推断(递归识别 status != "DONE"、status = "TODO"、is(todo)、NOT 逻辑与复合 AND/OR 条件),彻底淘汰易失效的字符串切片检测。
  6. 子树级联失效与缓存自愈 (Subtree Invalidation)

    • 增强文件夹删除与重命名监听。当整个文件夹发生移动或删除时,底层 taskDocumentStore 自动调用 forgetFolder 清理全部失效子树缓存,彻底杜绝僵尸任务残留。

🛠 缺陷修复与稳定性提升 (Bug Fixes & Refinements)

  • 级联落盘安全:合并并强化了 0.4.12 级联保存机制,修复 Frontmatter 文件级任务在自动级联完成时子任务未落盘的边缘缺陷。
  • 设备本地独立身份:配置的默认 Assignee 采用设备本地存储隔离,避免多端云同步 data.json 时相互覆盖个人身份。
  • 地点字段 📍 原生支持:支持 [location:: ...] 与 📍 双模式双向解析、建议自动补全与 DQL 过滤。
  • 100% 测试覆盖与官方合规:新增 1150+ 行边界单元测试(全量 156 项测试通过),严格遵循 eslint-plugin-obsidianmd 社区安全规范,0 错误 0 警告。

⚠️ 迁移指南 (Migration Notes)

  • 插件已保持向下兼容解析,但推荐在笔记和查询中统一使用标准化字段:
    • 循环任务:推荐 [recurrence:: ...](兼容 [recur:: ...])
    • 责任人:推荐 [assignee:: ...](兼容 [person:: ...])
    • 依赖关系:推荐 [dependsOn:: ...](兼容 [blockedBy:: ...])

0.4.12

Choose a tag to compare

@SunnyYYLin SunnyYYLin released this 10 Sep 13:37

Release 0.4.12

  • fix: resolve file-level task disappearing temporarily after completing subtask
  • fix: save body subtask status when parent frontmatter task is auto-completed
  • fix: save cascaded subtask changes to disk when completing file-level task

0.4.11

Choose a tag to compare

@github-actions github-actions released this 06 Sep 18:42

Full Changelog: 0.4.10...0.4.11

0.4.10

Choose a tag to compare

@github-actions github-actions released this 08 Jul 12:56

Full Changelog: 0.4.9...0.4.10

0.4.9

Choose a tag to compare

@SunnyYYLin SunnyYYLin released this 08 Jul 12:41

Fix Obsidian community plugin review lint issues.

Full Changelog: 0.4.8...0.4.9

0.4.8

Choose a tag to compare

@github-actions github-actions released this 07 Jul 09:18

Full Changelog: 0.4.7...0.4.8

0.4.7

Choose a tag to compare

@github-actions github-actions released this 29 Jun 11:10

Full Changelog: 0.4.6...0.4.7

0.4.6

Choose a tag to compare

@github-actions github-actions released this 29 Jun 08:37

Full Changelog: 0.4.5...0.4.6

0.4.5

Choose a tag to compare

@SunnyYYLin SunnyYYLin released this 10 Jun 16:39

v0.4.5 更新日志

  • 解决打字中途负责人记录保存问题:避免了在输入负责人时将类似 B、Bo 等无意义前缀保存进设置,彻底杜绝打字时的频繁磁盘写入。
  • 支持 WebDAV 及多端同步:天然支持 Obsidian 原生文件监听,自动同步刷新缓存。新增的「重建任务缓存并重新索引库」命令现已支持在刷新前自动重载设置。
  • 修复自动补全光标位置:自动补全负责人、日期、依赖关系等项目后,光标会自动精确移至末尾,打字更加流畅。

0.4.4

Choose a tag to compare

@github-actions github-actions released this 06 Jun 20:51

Full Changelog: 0.4.3...0.4.4