Repository navigation
Releases: SunnyYYLin/obsidian-tasklite
Releases · SunnyYYLin/obsidian-tasklite
Release list
0.5.0: Dual-Mode Syntax Standardization, Fallback Rendering & Core Concurrency Hardening
TaskLite 0.5.0: Dual-Mode Syntax Standardization, Fallback Rendering & Core Concurrency Hardening
这是一个里程碑式(Major)架构升级版本,全面打通并标准化了 Dataview 与 Tasks 双模式语法,引入原生回退渲染引擎、单文件互斥写屏障与领域事件总线,彻底消灭高并发并发竞态并大幅提升库内响应速度。
🌟 核心亮点 (Highlights)
-
双模式语法全面收敛与标准化 (Dual-Mode Task Syntax)
- 属性收敛:Dataview 行内字段统一并严格收敛为
recurrence、assignee、location、dependsOn。全面废除不一致别名,彻底统一 DQL 解析逻辑。 - 平滑双向转换:支持在 Dataview 括号语法(
[field:: value])与 Tasks Emoji 语法(🔁/📍/⛔)之间无损互转与混用,并提供按库批量规范化命令Normalize Vault Task Format。
- 属性收敛:Dataview 行内字段统一并严格收敛为
-
原生 Dataview 回退渲染引擎 (Native Fallback Renderer)
- 在未安装或关闭 Dataview 插件的环境中,TaskLite 自动接管并渲染漂亮的胶囊状行内字段徽标(
InlineFieldWidget),无需重型外部插件依赖即可享受一致的美化体验。
- 在未安装或关闭 Dataview 插件的环境中,TaskLite 自动接管并渲染漂亮的胶囊状行内字段徽标(
-
单文件互斥锁与并发写屏障 (KeyedMutex Concurrency Hardening)
- 核心 API 全面接入
KeyedMutex。针对同一文件的高频操作(如快速连击勾选子任务、批量编辑、父子级联完成)采用 Promise 互斥排队,从根源上杜绝读-改-写时序错位(Read-Modify-Write Race Condition)导致的丢任务问题。
- 核心 API 全面接入
-
跨插件领域事件总线 (Domain Event Bus)
- 移除第三方插件对全局
vault.on("modify")的低频轮询依赖。TaskLite 在任务写盘与状态变动后通过 Workspace 主动广播tasklite:tasks-changed领域事件,避免全库任意笔记输入惊醒看板重绘。
- 移除第三方插件对全局
-
DQL AST 语义化推断引擎 (DQL Semantic Analysis)
- 暴露
isQueryExcludingCompleted(query)Core API。基于 DQL 抽象语法树进行严密的已完成任务语义推断(递归识别status != "DONE"、status = "TODO"、is(todo)、NOT逻辑与复合AND/OR条件),彻底淘汰易失效的字符串切片检测。
- 暴露
-
子树级联失效与缓存自愈 (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
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
0.4.10
0.4.9
Fix Obsidian community plugin review lint issues.
Full Changelog: 0.4.8...0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
v0.4.5 更新日志
- 解决打字中途负责人记录保存问题:避免了在输入负责人时将类似 B、Bo 等无意义前缀保存进设置,彻底杜绝打字时的频繁磁盘写入。
- 支持 WebDAV 及多端同步:天然支持 Obsidian 原生文件监听,自动同步刷新缓存。新增的「重建任务缓存并重新索引库」命令现已支持在刷新前自动重载设置。
- 修复自动补全光标位置:自动补全负责人、日期、依赖关系等项目后,光标会自动精确移至末尾,打字更加流畅。