v0.9.0
0.9.0 - 2026-07-03
✨ Features
- registry: 实施共享注册表 16 项改进并修复审计发现的 4 个 bug (7999995) 补齐 COMPONENTS 缺失元数据并实现双向交叉验证;抽离 locale-zh-cn 为独立 registry item;ComponentMeta 重命名为 RegistryComponentMeta 消除命名冲突;实现 SHA-256 增量构建缓存;validate-registry 补充 type 白名单、依赖去重、交叉引用验证等校验。
- cli: 执行 CLI 改进方案全部 22 项 (7e71edb) 新增 update/list/info/remove/create/cache clean 六个命令;installPackages 改异步 spawn、registry fetch 添加指数退避重试和 TTL 缓存、add 命令写入前快照+失败回滚、导入重写改用 es-module-lexer AST 解析;多组件安装进度显示、doctor --fix 逐项确认、Nuxt 自动注入、VS Code snippets 生成、Monorepo 检测。
- ui: 实施组件深化拓展方案全部 16 批 (f2d98f7, 9922319, 4515469, 229429e, f4bcc10)
- 基础修复与性能:修复 102 个 TS 错误和 61 个测试失败;测试 2350→3314(覆盖率 72%→83%);包体积 429KB→33KB(-92%),启用 tree-shaking 和 preserveModules;新增 useDebounce/useThrottle/useEventListener
- 表单与数据:Input 新增 clearable/showPassword/前后缀插槽;Upload 支持拖拽/进度/错误处理;DataTable 新增展开行/固定列/合并单元格;Form 新增 inline/scrollToError 并暴露验证方法;Pagination/DialogEnhanced 多项增强
- 新组件:Popconfirm、Descriptions、InfiniteScroll、Popover
- 无障碍:axe-core 集成;61 个键盘导航测试;Card/Timeline/KanbanBoard ARIA 语义补全;高对比度模式支持
- 表单状态:Input/Textarea/NumberInput/SelectTrigger 新增 errorMessage 和 error 变体
- 程序化控制:10+ 组件通过 defineExpose 暴露 focus/blur/setValue 等方法
- 主题:ThemeVariables 接口 + 4 套预设主题 + 主题编辑器
- Composable:新增 useKanban/useStepper,hooks 导出同步至 18 个,useLocale fallback 可配置
♻️ Code Refactoring
- ui,docs,registry: 组件合并与共享变体抽取 (f44bf35, 8fa95b6, 93975de, f3a314c) 合并 SubmitButton→Button、SaaSPricing→PricingSection、TabsNav→Tabs、ComboboxMulti→Combobox;抽取 brutal-interaction-variants、floating-animation-classes、form-toggle-base 等共享模块;brutal-danger→brutal-destructive 全局 token 统一。
- ui,cli: 技术债务清理与质量提升 (b169d33, b003999, 2082706, 8e26a0c, 88ca3af, b347ccd) UI:修复 33 项技术债(无障碍/类型守卫/生命周期统一/死代码删除),消除 TS2352/ESLint any 报错,提取魔法数字到 defaults.ts,移除孤儿 type-only 导出。CLI:Logger 输出改 stderr、安全错误统一 CliError、引入 diff 库替代逐行比较、路径匹配精度修复。
- ui: DialogEnhanced 提取至 useDialogEnhanced composable 并修复 data-attribute 旧模式 (70e4521)
- ui: Descriptions 改用
InjectionKey<Ref<T>>类型安全模式,移除 jsdom 零使用依赖 (55c7d2a) - upload: 修复单选模式下无效文件清空已有文件的 bug,补齐 useUpload/Button/UploadCard 测试 (d35ef57)
- ui: 删除 component-preview 死代码(541 行)并清理 typedoc 排除项 (89d8376)
- 清理过期技术文档与组件样式微调 (57afdfc)
🐛 Bug Fixes
- cli: 修复 Windows 集成测试因 pnpm 短/长路径别名导致的失败 (16892ce)
- cli: 修复 10 个 bug 并补齐 update/list/info/remove 测试共 76 个 (74a2ee1) readConfig 补 $version 修复 checkConfigVersion 死循环;resolveComponentFilePath 前缀匹配精度修复;新增 migrateConfig 链式版本迁移和 verifyWrittenPath TOCTOU 防御。
- ui: 修复 12 个逻辑缺陷 (94c40fe) CarouselEnhanced emblaRef 解构恢复;DialogEnhanced destroyOnClose 条件修复;Form provide 改响应式 ComputedRef;DatePicker/ColorPicker 嵌套 button 改 span[role=button]。
- ui: 修复 VirtualScroll 虚拟列表不渲染,改用底层 Virtualizer 类 + shallowRef 管理响应式 (4d1ed4e)
- ui,docs: 修复日历和日期选择器硬阴影丢失与裁剪问题 (12c7799)
- ui: 修复 DialogEnhanced 编译与测试类型错误 (c57c9e6)
- ui: 修复类型检查错误和未使用的引用 (9f17572)
- ui: a11y 测试工具强制使用真实定时器,防止 FakeTimers 污染 (e7b8c9b)
- ui: 优化测试配置并修复 VirtualScroll 斑马线、输入框变体样式等问题 (559fde5)
- 修复 pnpm-lock.yaml 与根 package.json 不一致导致 CI frozen-lockfile 报错 (706e5b9)
- docs: 修正主页浏览组件按钮链接至组件总览页 (35433f1)
- skills: 更新组件参考文件表格格式 (c69c462)
📝 Documentation
- cli: 更新文档网站和 README 以反映全部 9 个 CLI 命令 (9cda214) 新增 update/list/info/remove/create 命令文档,补充 --vscode/--workspace-root/--no-cache/--fix-only 选项,新增 components.json 配置参考和版本锁定语法。
- ui: 添加最佳实践指南和项目模板 (85c4f60) 新增 component-usage/performance/accessibility/styling 四份最佳实践指南,创建 Vue 项目模板和组件模板脚手架。
- 同步更新 11 个组件文档(defineExpose/errorMessage/variant 等 API 变更) (7ee9b98)
- skills: 全面更新 skills 参考文件(5 个组件 + 6 个区块参考) (5808de1)
- 修复 CLI 文档错误并新增兼容性扫描报告 (53cdf17)
- docs: 重构最佳实践概览页为子指南索引 (33ea3b6)
- docs: 翻译同步英文版最佳实践指南及 Blocks 遗漏页面 (3b9b93f)
- blocks: 补充 footer/header/not-found 块的可访问性章节 (988d615)
- 更新 TAILWIND_CLASS_UNIFICATION_PLAN、AGENTS.md、提交规范等项目文档 (144d8d6, a574c83, 38f9f64, 3f3780a, 33bc7ef)
🔧 CI
- 优化 CI/CD 缓存、部署并发和视觉基线工作流 (3d1b319) 添加 Playwright 浏览器缓存;部署并发取消设为 true;Node 22/24 版本矩阵。
📦 Build
✅ Tests
- ui: 优化 axe 可访问性测试性能,统一 wrapper.unmount() 清理防止 DOM 累积超时 (e9ca296)