state/CHANGELOG.md
2026-05-17 16:48:29 +08:00

2.0 KiB
Raw Blame History

CHANGELOG

v1.0.2 (2026-05-17)

优化

  • 稳定性: src/dom.js 中的 bind 属性逻辑改为使用 setTimeout 确保 DOM 更新完成后同步值,提高双向绑定在高频操作下的可靠性。
  • 健壮性: src/observer.jsNewState 增加对已观察对象的检查,防止重复包装导致的性能损耗。
  • 功能: src/dom.js_translator 支持 {key} 模板替换,增强国际化组件的灵活性。
  • 清理: 全面规范代码缩进Tab移除 src/core.js 中的调试注释。

v1.0.1 (2026-05-15)

优化

  • 性能: 重构 _unbindTree 清理逻辑,将时间复杂度从 O(N \cdot K \cdot B) 降至 $O(N \cdot B)$。1000 项更新性能提升约 60%。
  • 稳定性: 引入 MAX_UPDATE_DEPTH (100) 递归保护机制,防止双向绑定循环导致爆栈。
  • 内存: 优化绑定追踪机制,通过 binding._sets 实现更精确的依赖清理。

测试

  • 引入 Benchmark 自动化校验,确保后续修改不会引入性能回退(>20% 容差)。
  • 增加 $each 对极端数据null/undefined/非 Iterable的鲁棒性测试。

文档

  • 完善 TEST.md 性能基准数据。
  • 校准全案版本号一致性。

v1.0.0 (2026-05-14)

修复

  • 修正 src/dom.js 中 SVG 加载的 fetch 缓存参数名错误 (cache1 -> cache)。
  • 优化 src/index.js 入口逻辑,支持在 DOMContentLoaded 之后加载时自动初始化。

优化

  • 完善 playwright.config.js 自动化测试配置,支持 webServer
  • test/index.html 引入 importmap 映射,实现真正的“零构建”开发体验。

测试

  • 大幅提升 test/dom.test.js 测试覆盖率,涵盖 $if, $each, $bind 等核心指令。
  • 引入性能基准测试Benchmark监控大规模 DOM 渲染性能。

文档

  • 新增 README.mdTEST.md
  • 明确记录架构设计决策:维持“单层响应式”与“基于索引复用”列表机制,以确保极致轻量。