v0.9.5
0.9.5 - 2026-07-18
⚠️ Breaking Changes
- ui/exports:
brutx-ui-vue/calendar不再导出DatePicker/useDatePicker,brutx-ui-vue/carousel不再导出useCarousel,改用独立子路径 (d3a35ac) - ui/re-export: 移除主入口
index.ts中全部 reka-ui 值 re-export,import { Dialog, Popover, Tooltip, ... } from 'brutx-ui-vue'需改为直接从reka-ui导入 (4c0d7e0)
✨ Features
- cli/manifest: Ed25519 签名校验基础设施 + 公钥轮换 + REGISTRY_SIGNATURE_INVALID (4ce99d7)
- cli/registry: 多 registry 源与离线韧性(离线模式 + auth + reachability) (b084a17)
- cli/cache: 缓存层升级(条件请求 + 并发去重 + LRU 上限 + registry 版本绑定) (30b7e1c)
- cli/doctor: 消费 manifest 实现 integrity 漂移与孤儿检测,新增
--sbom与签名默认 warn 严格模式 (0adf138, 2c1adf6) - cli/update: 版本约束体系(version-pinned 默认锁定 +
--across-versions解锁) (b92d426) - cli/deps: 组件版本治理体系化(resolveDeps 去重 + 去硬编码 URL + manifest 版本契约) (9ff275d)
- cli/audit: CLI 操作审计日志与全局 dry-run(
BRUTX_DRY_RUN=1或--dry-run) (d9bc8fc) - registry: CycloneDX 1.5 SBOM 生成 + 依赖分析深化与依赖图导出 + build watch 模式 + 构建增量透明化(verify/bench) (400928e, 1d39b6a, 1c8ea7d, eb38422)
- docs: 新增 i18n 镜像校验脚本 (6d4a9cf)
♻️ Code Refactoring
- ui: SSR 兼容性治理(env.ts 工具层 + lint 拦截 + smoke 测试) (f13c3f0)
- ui: exports 子路径自动化与多入口 ESM 构建 (d3a35ac)
- registry: 重构注册表系统,改用 AST 自动扫描组件清单 (edb335b)
- shared: 重构组件索引生成与设计令牌系统,简化 Tailwind 版本检测 (e986f3c, 6d187af, 7fadf0e)
🐛 Bug Fixes
- ui/toast: 修复 useToast 与 Toast.vue 双定时器冲突 (24a7c38)
- ui: 修复 FormWizard/Dialog/TreeView 三处状态与 i18n 问题 (8e72cb2)
- ui/dialog: handleClose 并发守卫与 initSize rAF 取消 (9fec2ff)
- ui/cascader: 预选值未找到时不再错误高亮首页 (ec0bcdd)
- ui/data-table: 重置 warnedColumns 并提取魔法数字为默认常量 (eaa6239)
- ui/lib: date.ts 安全 WW token 解析与 render-imperative timer 跟踪 (072682f)
- ui/theme: useTheme fallback 引用计数清理 (5cf76a2)
- ui: 修复 reka-ui 下拉菜单组件命名错误与 Upload 类型 import 路径 (5343591, 600ef27)
- dialog: 修复无文档或无 body 时的弹窗创建异常 (e01aeb9)
- cli: 修复打包后 doctor 命令找不到 package.json 与 fetchWithSources 离线全失败时丢失 cause 的问题 (5df18fa, a7e36ef)
- cli: 修复辅助包 bug 扫描发现的 5 项问题(project/doctor/package-manager/validate-utils) (6e40d92)
- registry: validate 排除 registry-sbom.json + verify-build 在 npm_execpath 缺失时回退 PATH 中的 pnpm (f1b6392, fa876ea)
- shared: 拆分 scan 入口隔离 typescript 依赖,修复 CLI 打包 ESM 崩溃 (1277013)
- ui: 修复浏览器测试 CI 失败(playwright provider + Node-only 依赖隔离) (efc64fc, 69a9fc4)
- visual-test: 修复跨系统字体差异导致的视觉快照失败 (b704ff2)
- docs: 修复组件总览卡片链接 404、Demo 组件内存泄漏与英文首页 SEO 路径 (a8e641b, 27f4af9, f230406)
- vercel: 修复 Vercel 部署 base 路径、outputDirectory 与 buildCommand 多项问题 (e21fae2, b56550c, fc1c554, 009d23f)
- 修复根仓库扫描报告 5 项发现 + 补齐方案 V2 验收遗漏项 (35a201c, 8680c28)
📝 Documentation
- 新增供应链安全、仓库基础设施与架构优化方案 V2/V3 文档 (9e07480, 5ec0ec3, dc38499)
- cli: 补全版本锁定、供应链安全、breaking change 迁移规范与 monorepo 提示文档 (7db7b53, 9995151)
- docs: 抽离贡献指南、精简首页、重构卡片样式与本地搜索弹窗 (9dfdaf2, b427ec2, f575ab6, 03a2a00)
- 清理冗余过时设计文档,显式注明开发仅允许使用 pnpm 约定 (517593f, 3839f51)
✅ Tests
- cli: 更新集成测试用例以匹配新的目录结构 (1ad3df5)
⚡ Performance
- ui: 运行时性能体系(bench 基准 + 组件审计 + 最佳实践文档) (6da8a43)
📦 Build
- 引入 turbo 构建增量编排 + changeset 版本管理,移除 shamefullyHoist 显式化包间依赖 (86ba7bf, 5e28af6, 0409f43)
- ci: 修复 turbo.json 缓存输出,解决测试与文档部署资源缺失问题 (b724597)
- ui: 添加 @vitest/browser-playwright 依赖并更新配置 (6cd490d)