更新日志
Changelog
All notable changes to YH-UI will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2026-04-21
Added
- Added a release-candidate gate document and stable-release blocker checklist so
1.0.0publication is backed by an explicit in-repo sign-off flow. - Added open-source community health files and issue templates covering contribution guidance, security reporting, code of conduct expectations, and structured bug/feature intake.
- Added compatibility and support-boundary documentation in both Chinese and English, including runtime/browser expectations and SSR support boundaries.
Changed
- Promoted the repository from the prior
0.1.xpreparation line to the first stable1.0.0release line after a full local RC gate pass. - Split validation into explicit layers for lint, typecheck, unit tests, coverage, perf, package build, docs build, consumer smoke, sandbox validation, and remote CodeSandbox verification.
- Expanded interactive-component coverage using the four-dimensional template established during the stabilization cycle: correctness, SSR/hydration, perf sensitivity, and exception tolerance.
Fixed
- Fixed release-blocking instability in theme history coverage, menu perf baselines,
AiBubbledeclaration generation, docs compatibility dead links, Nuxt style integration, and consumer smoke validation. - Fixed package-level DOM tests being misclassified under Node-only runtime coverage, reducing false confidence and making the CI signal more trustworthy for a stable release.
- Fixed multiple docs/demo/runtime pipeline issues so generated public assets, sandbox demos, and release validation behave consistently on the current mainline.
Notes
1.0.0is the first stable release line and supersedes the0.1.56release-candidate preparation snapshot below.- This release was locally validated on April 21, 2026 by passing:
pnpm typecheck,pnpm lint,pnpm test:ci,pnpm test:coverage,pnpm test:perf,pnpm build,pnpm docs:build,pnpm verify:consumer-smoke,pnpm verify:release, andpnpm verify:codesandbox-remote.
0.1.56 - 2026-04-21
Added
- Added a dedicated
packages-domVitest project so DOM-dependent package tests are no longer mixed into thepackages-noderuntime. - Added layered coverage and perf validation to the release gate, including a dedicated
pnpm test:perfpath and consumer smoke verification for clean Vite and Nuxt apps. - Added public project health files for open-source collaboration:
CONTRIBUTING.mdSECURITY.mdCODE_OF_CONDUCT.md
- Added a stable-release blocker checklist and maintainer release validation flow so repository hardening work is tracked in-repo instead of by ad hoc notes.
Changed
- Updated the release/CI pipeline to treat lint, unit tests, coverage, perf, docs build, and consumer smoke as separate gates instead of one undifferentiated test step.
- Expanded component test coverage with the four-dimensional template used in recent work:
- interaction correctness
- SSR / hydration
- performance-sensitive rendering
- exception tolerance / edge behavior
- Improved sandbox, docs playground, and release verification flows so published demos and example integrations are validated more consistently before and after release.
- Documented the Nuxt module's style-injection behavior around the explicit published CSS entry to match the actual runtime contract.
Fixed
- Fixed the main test-layering risk by moving package-level DOM tests out of the Node-only Vitest project.
- Fixed multiple CI and release-pipeline instability issues across docs builds, sandbox publishing, release redeploys, and publish verification.
- Fixed clean-consumer validation so both Vite + Vue and Nuxt SSR example apps build and render against the packaged library successfully.
- Fixed the Nuxt consumer style integration path by exporting and injecting an explicit CSS subpath, removing the prior SSR style-extraction warning in local smoke verification.
- Fixed repository lint debt down to
pnpm lint= 0 warnings / 0 errors on the current mainline state validated on 2026-04-21.
Notes
- This entry aggregates the release train from
0.1.20through0.1.56, which focused primarily on release engineering, docs/demo stability, test layering, consumer confidence, and stable-public-release preparation. - Earlier detailed component-level history remains below; this top entry closes the gap between the published package line and the documented changelog.
[0.1.19] - 2026-03-26
🛠️ Build & Registry Stabilization (Industrial Grade)
- 构建系统升级: 彻底修复了
@yh-ui/components在 Windows 环境下因mkdist与vue-tsc交互导致的构建崩溃("Cannot read properties of undefined (reading 'errors')")。通过引入独立的vue-tsc声明生成步骤,显著提升了构建流水线的稳定性。 - 类型系统精修 (Strict Mode):
- Menu: 修复了
YhMenuRecursiveItem中由于动态属性访问导致的unknown类型校验错误,并完善了递归组件的 Null 检查。 - Style Prop 标准化: 统一了
Tooltip,Popover,Popconfirm,Menu等所有组件的样式属性(popperStyle,contentStyle等)为StyleValue类型,确保了在 Vue 3.5+ 严格模式下的类型兼容性。 - GanttChart: 解决了
FlattenedGanttTask内部接口在声明导出时“无法命名”的错误,通过提升关键类型至公用导出层,确保了 declaration 文件的正确生成。
- Menu: 修复了
- 质量保障:
- 100% 测试通过率: 验证并确保了全量 3070 个单元测试/SSR 测试用例全部通过。
- 工业级零警告交付: 实现了
pnpm typecheck逻辑层与构建层双重 0 错误目标。
0.1.18 - 2026-03-26
🐛 Bug Fixes
- AiMermaid: 修复了 SSR 环境下缺失
YhSpin组件导致的渲染警告;同步了单测与 SSR 测试的选择器至最新的 BEM 命名规范;优化了header属性的类型定义以增强类型安全。 - AiConversations: 修复了空状态下文案不匹配的问题,通过新增专用的
ai.conversations.noData词条提升了国际化准确性。 - LuckyDraw: 修复了 Vue 模板中多行 HTML 元素的换行格式问题,消除 Lint 警告。
- Type Safety: 修复了
ai-mermaid属性定义中的any不规范用法。
✨ Refactor & Optimization
- i18n: 重构了
Language接口,将 AI 组件(Conversations, Attachments, Mermaid, Canvas)的 locale 配置项改为可选(Optional),确保了与现有 67 种语言包的向后兼容性,彻底解决了构建时的类型检查报错。 - i18n: 同步补全了
zh-cn,en,zh-tw等核心语言包中缺失的 AI 组件词条(如noData,retry,canvas等)。
🧪 Stability
- 全量测试验证: 运行并确保全量 344 个测试文件(共 3070 个单测/SSR 用例)100% 通过。
- Lint & TypeCheck: 实现了 0 警告、0 错误的工业级代码交付标准。
0.1.17 - 2026-03-26
🛠️ Architecture & Standardization (Industrial Grade A+)
- 类型安全: 实现了组件库 100% TypeScript 类型安全,全面杜绝
any类型的使用。 - 导出规范: 统一了所有组件实例和属性的导出方式,强制使用
Yh前缀(如YhButtonInstance,YhTableProps),显著提升了开发者的智能提示体验。 - Nuxt 集成: 完美对齐 Nuxt 自动导入规格,所有组件、Hooks 及全局工具函数均支持在 Nuxt 3 环境下开箱即用,无需手动配置。
0.1.16 - 2026-03-25
📄 Documentation & UX
- FilterBar: 完成了 FilterBar 组件文档的现代化升级,中英文档 100% 对齐。
- 交互示例: 引入了交互式 DemoBlock,解决了多实例状态干扰及价格筛选重置的边界逻辑 Bug,为 SSR 环境提供了生产级用法参考。
- SEO: 全面优化了组件库文档的 SSR 性能及 SEO 标签。
0.1.15 - 2026-03-24
🛒 E-commerce Suite (Premium)
- LuckyDraw: 采用 BEM Mixins 以及全局主题变量重构了 SCSS 样式,在保持原有精美动画的同时,极大提升了样式的解耦度与 SSR 性能。
- CouponCard: 修复了规则展开高度突变的问题,将内容区强制锁定在 100px 基准高度,并补全了 Rules 展开项的 i18n 支持。
- SKUSelector: 优化了库存不足时的交互反馈,确保了在极端网络环境下的状态同步稳定性。
0.1.14 - 2026-03-24
🏗️ Industrial Gantt Chart (Stable)
- 核心功能: 正式发布工业级甘特图组件,支持任务拖拽、依赖可视化及多视图(日/周/月)切换。
- 性能优化: 解决了在极端缩放比例下元素失效及内存泄漏的问题。
- 稳定性: 通过了完整的 SSR 测试用例,确保在所有 Nuxt 场景下表现一致。
0.1.13 - 2026-03-23
✨ Enhancements & Refactoring
- Demo Escaping: 全面优化了文档系统的 Demo 代码转义逻辑,通过
demo-utils.ts彻底解决了 Script/Style 标签嵌套导致的渲染错误。 - Global Styles: 统一了所有 AI 组件及电商组件的圆角、阴影及过渡动画,形成了 V3 风格的统一品牌视觉。
0.1.12 - 2026-03-01
🐛 Bug Fixes
- AiVoiceTrigger: 修复波形动画 SCSS 样式不生效的问题,优化波形条 transform 动画表现
- AiBubble: 修复气泡组件 SCSS 作用域样式隔离问题
- useLocale / dayjs-locale: 修复
Failed to load dayjs locale控制台警告,改用静态 import map 替代动态 import,彻底消除 Vite dev 下的 404 请求 - SSR: 修复多处
setInterval/setInterval在 SSR 环境下未被onMounted/onUnmounted包裹导致的进程挂起问题 - 文档: 修复
ai-voice-trigger文档示例中 HTML 转义格式错误,补充与AiBubble组合使用的实战场景 Demo
📦 依赖
- 同步更新
pnpm-lock.yaml及pnpm-workspace.yaml
0.1.11 - 2026-03-01
🤖 新增 AI 工业级全套组件 (Alpha)
- AiProvider: AI 全局配置中心,支持 base-url、token 注入及打字机配置。
- AiChat: 开箱即用的智能对话流容器。
- AiBubble: 高性能对话气泡,支持多模态及思维链展示。
- AiSender: 增强型 AI 输入框,内置附件上传与指令集支持。
- AiArtifacts: AI 多版本工件管理系统。
- AiAgentCard / AiSources / AiThoughtChain: 完善 Agent 的深度分析。
- AiWelcome / AiPrompts: 提升落地后的首次交互引导。
📄 文档与开发者体验
- 文档三位一体标准: 开发并应用
demo-utils.ts实现文档示例的 TS/JS 100% 自动对齐转换。 - AiProvider 文档: 完善的中英文档,包含身份配置及动态交互 Demo。
- i18n: 补全所有 AI 组件的 67 种国际化词条,强制类型校验。
🧪 稳定性与质量
- 全量测试提升: 覆盖所有 AI 组件的单测与 SSR 测试(312 个用例全部通过)。
- 组件注册: 完善
component.d.ts为 Volar 提供精准的全局组件映射。 - Lint 修正: 全量修复 AI 组件及测试目录中的 13 个重要 Lint 警告及错误。
0.1.10 - 2026-02-23
Fixed
- 修复了若干 AI 交互场景下的 CSS 样式隔离问题。
- 补全了部分包路径错误导致的构建失败问题。
0.1.0 - 2026-02-21
✨ 初始正式发布
这是 YH-UI 的第一个公开版本。经过深度设计与开发,本版本包含:
🧩 组件(61 个)
基础组件
- Button - 按钮,支持 6 种类型、3 种尺寸、plain/round/circle/text/link/block 等变体
- Icon - 图标,基于 SVG 的图标系统
表单组件
- Input - 输入框,支持视觉变体(default/filled/borderless/underlined)、加载状态、状态反馈、聚焦自选、Esc清空、datalist、字数统计自定义
- InputNumber - 数字输入框
- InputTag - 标签输入框,支持动态标签创建
- Select - 选择器,支持单选/多选/远程搜索/分组/虚拟化
- Cascader - 级联选择器
- Checkbox - 复选框 & 组
- Radio - 单选框 & 组
- Switch - 开关
- Slider - 滑块
- Rate - 评分
- ColorPicker - 颜色选择器
- DatePicker - 日期选择器(支持 date/daterange/month/year 等多种 type)
- TimePicker - 时间选择器
- TimeSelect - 时间选择(步进式)
- Form + FormItem - 表单 & 校验,集成 async-validator
- Upload - 上传,支持拖拽/多文件/自定义请求
数据展示
- Table - 表格,媲美 vxe-table 的功能密度:
- 虚拟滚动(万行性能保障)
- 行/列拖拽排序(原生拖拽 API)
- 列宽调整
- 分组表头
- 合并单元格(spanMethod)
- 汇总行
- 右键菜单
- 工具栏(导出/打印/列设置/全屏)
- CSV、XLSX、PDF 导出
- 打印功能
- 行内编辑
- 树形数据(懒加载)
- 表单校验集成
- Tree - 树形控件,支持懒加载/虚拟滚动
- TreeSelect - 树形选择器
- Pagination - 分页
- Badge - 徽标
- Tag - 标签
- Avatar - (规划中)
- Image - 图片,支持懒加载/预览/图片组
- Descriptions - 描述列表
- Calendar - 日历
- Progress - 进度条
- Skeleton - 骨架屏
- Countdown - 倒计时
- InfiniteScroll - 无限滚动指令
- Waterfall - 瀑布流布局(特色组件)
- Watermark - 水印
反馈组件
- Alert - 警告提示
- Dialog - 对话框
- Drawer - 抽屉
- Message - 消息提示
- MessageBox - 消息弹框(Alert/Confirm/Prompt)
- Notification - 通知
- Popconfirm - 气泡确认框
- Loading - 加载(指令和服务调用)
- Spin - 加载旋转
导航组件
- Menu - 导航菜单(水平/垂直/折叠)
- Tabs - 标签页
- Breadcrumb - 面包屑
- Dropdown - 下拉菜单
- Steps - 步骤条
- Affix - 固钉
- BackTop - 返回顶部
布局组件
- Row + Col - 栅格布局(24列系统,响应式断点)
- Divider - 分割线
- Marquee - 滚动公告(特色组件)
配置提供
- ConfigProvider - 全局配置提供(locale/size/zIndex/theme)
🎨 主题系统(行业领先)
- 12 种预设主题(default/dark/blue/green/purple/orange/rose/amber/teal/indigo/slate/zinc)
- 色盲友好模式(protanopia/deuteranopia/tritanopia/achromatopsia)
- WCAG 2.1 对比度自动校验
- 3 种密度配置(comfortable/compact/dense)
- 4 种颜色算法(default/vibrant/muted/pastel)
- 主题快照与历史回滚
- 响应式断点主题
- 主题切换动画
- 从主色自动推导完整调色板
🌍 国际化(67 种语言)
超越 Element Plus(43种)、Naive UI(25种),与 Ant Design 持平。
🔌 原生 Nuxt 3 支持
提供 @yh-ui/nuxt 模块,零配置支持 SSR。
🛠️ Hooks
useNamespace- BEM 命名工具useLocale- 国际化useFormItem- 表单集成useConfig- 全局配置useZIndex- 层级管理useId- 唯一ID生成useScrollLock- 滚动锁定useEventListener- 事件监听useClickOutside- 点击外部useVirtualScroll- 虚拟滚动useCache- 缓存工具