Skip to content

Update all non-major dependencies - #621

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-minor-patch
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
@commitlint/cli (source) ^21.2.3 → ^21.2.4 age confidence pnpm.catalog.default patch
@commitlint/config-conventional (source) ^21.2.3 → ^21.2.4 age confidence pnpm.catalog.default patch
@iconify-json/tabler ^1.2.40 → ^1.2.43 age confidence pnpm.catalog.default patch
@types/node (source) ^24.19.0 → ^24.19.2 age confidence pnpm.catalog.default patch
@v-c/slider (source) 1.1.4 → 1.1.5 age confidence pnpm-workspace.overrides patch
@vitejs/plugin-vue (source) ^6.0.9 → ^6.0.10 age confidence pnpm.catalog.default patch
@vue/compiler-core (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/compiler-dom (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/compiler-sfc (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/compiler-ssr (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/runtime-core (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/runtime-dom (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/server-renderer (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
@vue/shared (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
antdv-next (source) 1.5.6 → 1.7.1 age confidence pnpm-workspace.overrides minor
antdv-next (source) 1.5.6 → 1.7.1 age confidence pnpm.catalog.default minor
antdv-next (source) ^1.5.6 → ^1.7.1 age confidence peerDependencies minor
antdv-next (source) >=1.5.6 → >=1.7.1 age confidence peerDependencies minor
axios (source) ^1.20.0 → ^1.21.0 age confidence pnpm.catalog.default minor
eslint (source) ^10.11.0 → ^10.14.0 age confidence pnpm.catalog.default minor
jsdom ^30.1.1 → ^30.1.3 age confidence pnpm.catalog.default patch
mermaid ^11.12.2 → ^11.17.2 age confidence pnpm.catalog.default minor
node 24.21.0 → 24.22.2 age confidence uses-with minor
pinia (source) ^4.0.3 → ^4.1.0 age confidence pnpm.catalog.default minor
pnpm (source) 12.6.0 → 12.16.1 age confidence uses-with minor
postcss (source) ^8.5.6 → ^8.5.32 age confidence pnpm.catalog.default patch
undici-types (source) 8.11.2 → 8.12.3 age confidence pnpm-workspace.overrides minor
unocss (source) ^66.10.5 → ^66.12.0 age confidence pnpm.catalog.default minor
vite (source) 8.3.3 → 8.3.5 age confidence pnpm-workspace.overrides patch
vitepress>@vitejs/plugin-vue (source) ^6.0.9 → ^6.0.10 age confidence pnpm-workspace.overrides patch
vitest (source) ^4.0.18 → ^4.1.12 age confidence pnpm.catalog.default patch
vue (source) 3.5.43 → 3.5.44 age confidence pnpm-workspace.overrides patch
vue (source) 3.5.43 → 3.5.44 age confidence pnpm.catalog.default patch
vue (source) ^3.5.43 → ^3.5.44 age confidence peerDependencies patch
vue-i18n (source) ^11.4.12 → ^11.4.16 age confidence pnpm.catalog.default patch
vue-router (source) 5.3.1 → 5.4.0 age confidence pnpm-workspace.overrides minor
vue-router (source) 5.3.1 → 5.4.0 age confidence pnpm.catalog.default minor
vue-router (source) ^5.3.1 → ^5.4.0 age confidence peerDependencies minor
vue-router (source) >=5.3.1 → >=5.4.0 age confidence peerDependencies minor
vue-tsc (source) 3.3.11 → 3.3.14 age confidence pnpm.catalog.default patch

Release Notes

conventional-changelog/commitlint (@​commitlint/cli)

v21.2.4

Compare Source

Note: Version bump only for package @​commitlint/cli

conventional-changelog/commitlint (@​commitlint/config-conventional)

v21.2.4

Compare Source

Note: Version bump only for package @​commitlint/config-conventional

antdv-next/vue-components (@​v-c/slider)

v1.1.5

Compare Source

vitejs/vite-plugin-vue (@​vitejs/plugin-vue)

v6.0.10

Bug Fixes
  • plugin-vue: compile transformed normal scripts outside vapor mode (#​857) (7b63e3c)
  • plugin-vue: correct AST reuse checks and allow Vue 3.6 RC (ccc06dd)
Documentation
  • plugin-vue: clarify compiler initialization hooks (55d0cab)
vuejs/core (@​vue/compiler-core)

v3.5.44

Compare Source

Bug Fixes
antdv-next/antdv-next (antdv-next)

v1.7.1

Compare Source

This release advances ant-design upstream tracking to master after 6.6.8 (912d4066db) and is mostly bug fixes. Splitter can set destroyOnHidden once at the top level. A group of fixes stops unmounted components from staying referenced and never being collected (module-level shared vnodes, watcher cleanups on unmount, DOM held by FormItem). It also fixes FormItem field registration after a rename, Steps rendering clickable semantics without a change binding, the Statistic #formatter slot being ignored, and more. A batch of @v-c/* packages is upgraded: allowClear is unified across the input components, and Pagination moves its interaction semantics onto the inner controls.

✨ Features

  • feat(splitter): support a top-level destroyOnHidden that applies to every panel and can be overridden per panel (#​1046)

🐞 Fixes

  • fix(empty, popconfirm, float-button, cascader, qrcode): module-level built-in image / icon vnodes, and vnodes passed in through props, slots or ConfigProvider, kept the component instance they were first mounted in, so it was never collected after unmounting; they are now cloned at render time (#​1056)
  • fix(anchor, checkbox, form, grid, affix): watcher cleanups on unmount no longer read reactive state, so unmounting a child no longer re-renders the parent and the parent no longer holds the unmounted component's computeds. This covers Anchor, CheckboxGroup, Form, Affix, and the components using useBreakpoint: Row, Table, Avatar, Pagination, Descriptions, Steps, Masonry and FormItem
  • fix(form): FormItem releases detached DOM after unmounting (#​1040); FormItem re-registers its field when name changes, so in dynamic lists a newly added item no longer overwrites a renamed one and validateFields / resetFields no longer skip fields; a trailing | in a string label is kept (#​59599)
  • fix(steps): steps no longer render clickable semantics such as role="button" and tabindex when neither change nor v-model:current is bound, and the wave effect is back when only v-model:current is bound (#​1057); props no longer leak into root DOM attributes (#​1054); the error step icon renders CloseOutlined (#​1049)
  • fix(statistic): implement the documented #formatter slot with a { value } scope; it takes precedence over the formatter prop and works for Statistic.Timer too (#​1047)
  • fix(modal): restore the confirm content typography styles (#​1051); the internal panel (PurePanel) called the #footer slot without originNode / extra, which threw when destructured
  • fix(table): a dynamically registered expandedRowRender slot did not render the expand column (#​1048)
  • fix(switch): expose nativeElement, focus and blur through the ref (#​1055)
  • fix(slider): blur fires exactly once in range mode (#​1037); support rendering the mark slot (#​1041)
  • fix(spin): semantic classes / styles apply to a custom indicator (#​1043)
  • fix(space): the separator class is derived from prefixCls, matching upstream (#​1042)
  • fix(listy): the virtual scrollbar background uses colorSplit (#​1053)
  • fix(message): the message list content no longer captures pointer events (#​1045)
  • fix(upload): ignore the query and hash of a URL when detecting thumbnails (#​59649); the preview promise settles and resources are cleaned up when an image fails to decode (#​59583)
  • fix(pagination): keep the pagination unselectable (#​59638); preserve focus styles on the inner controls (#​59573)
  • fix(progress): aria-valuenow uses percent instead of the success percent (#​59634); the line progress respects a string width (#​59597)
  • fix(card): reset the margins of Typography titles in the card title (#​59613)
  • fix(color-picker): restore the format selector font size and spacing (#​59610)

📖 Documentation

  • docs(config-provider): the wave demo uses HappyProvider from happy-work-theme (#​1052)
  • docs(spin): add section / description / container to the semantic demo (#​1044)
  • docs: fix typos in the FAQ (#​59656); bump the CDN example to 1.7.0; replace the site's Qixi easter egg with a 1024 Programmer's Day egg (/1024)

🧰 Infrastructure & Dependencies

  • chore(deps): upgrade @v-c/util 1.4.0, input 1.3.0, textarea 1.2.0, input-number 1.2.0, select 1.3.0, picker 1.6.0 and mentions 1.3.0, which unify the allowClear config (allowClear.disabled: true no longer renders a clear button at all); @v-c/pagination 1.3.0 moves the interaction semantics of page items and the prev / next buttons from the li onto the inner control
  • chore(deps): upgrade @v-c/menu 1.4.4, tabs 1.4.3, tour 1.1.3, slick 1.0.3 and color-picker 1.0.8 (unmount cleanup fixes: unmounting Menu or ColorPicker no longer re-renders the parent, and Tour no longer leaves window listeners behind), plus virtual-list 1.1.4, progress 1.1.0, upload 1.1.1, switch 1.0.2, image 1.1.3 and table 1.3.5
  • refactor(style): remove obsolete selectors and styles from Tabs (#​59662), Tooltip (#​59644), Notification (#​59645), Dropdown (#​59605) and Input (#​59604); Anchor drops the unused anchorBallSize component token (#​59389)
  • chore(sync): advance ant-design upstream tracking to master after 6.6.8 (912d4066db)

本次版本将 ant-design 上游跟踪推进到 6.6.8 之后的 master(912d4066db),以问题修复为主。Splitter 支持在顶层统一配置 destroyOnHidden;集中修复了组件卸载后实例仍被引用、无法回收的问题(模块级共享的 vnode、卸载时的 watcher 清理、FormItem 持有的 DOM),以及 FormItem 改名后字段注册错乱、Steps 未绑定 change 时仍渲染可点击语义、Statistic 的 #formatter 插槽不生效等问题。同时升级了一批 @v-c/* 基础组件:输入类组件的 allowClear 配置统一,Pagination 的交互语义移到内部控件上。

✨ 新功能 Features

  • feat(splitter):Splitter 支持顶层 destroyOnHidden,作用于所有面板,可在单个面板上覆盖(#​1046)

🐞 问题修复 Fixes

  • fix(empty, popconfirm, float-button, cascader, qrcode):模块级共享的内置图片 / 图标 vnode 以及从 props、插槽、ConfigProvider 传入的 vnode 会一直持有首次挂载的组件实例,导致卸载后无法回收;现在在渲染阶段克隆(#​1056)
  • fix(anchor, checkbox, form, grid, affix):卸载时的 watcher 清理不再读取响应式状态,子组件卸载不会让父组件多渲染一次,父组件也不再持有已卸载组件的 computed。涉及 Anchor、CheckboxGroup、Form、Affix,以及使用 useBreakpoint 的 Row、Table、Avatar、Pagination、Descriptions、Steps、Masonry、FormItem
  • fix(form):FormItem 卸载后释放已脱离文档的 DOM(#​1040);FormItem 的 name 变化时重新注册字段,动态列表中新增的项不再覆盖改名的项,validateFields / resetFields 不再漏掉字段;字符串 label 末尾的 | 不再被去掉(#​59599)
  • fix(steps):未绑定 change 或 v-model:current 时不再渲染 role="button"、tabindex 等可点击语义,只绑定 v-model:current 时恢复波纹效果(#​1057);props 不再泄漏为根元素的 DOM 属性(#​1054);错误状态的步骤图标渲染为 CloseOutlined(#​1049)
  • fix(statistic):实现文档中的 #formatter 插槽,作用域参数为 { value },优先于 formatter 属性,Statistic.Timer 同样生效(#​1047)
  • fix(modal):恢复确认框内容的排版样式(#​1051);内部面板(PurePanel)的 #footer 插槽没有传入 originNode / extra 参数,解构时报错
  • fix(table):动态注册的 expandedRowRender 插槽不渲染展开列(#​1048)
  • fix(switch):通过 ref 暴露 nativeElement、focus、blur(#​1055)
  • fix(slider):范围模式下 blur 事件只触发一次(#​1037);支持 mark 插槽渲染(#​1041)
  • fix(spin):语义化 classes / styles 作用到自定义指示器(#​1043)
  • fix(space):分隔符的 class 由 prefixCls 派生,与上游一致(#​1042)
  • fix(listy):虚拟滚动条背景色使用 colorSplit(#​1053)
  • fix(message):消息列表的内容区不再拦截指针事件(#​1045)
  • fix(upload):判断缩略图时忽略 URL 中的查询参数与 hash(#​59649);图片解码失败时预览 Promise 正常结束并清理资源(#​59583)
  • fix(pagination):分页禁止文本选中(#​59638);内部控件保留焦点样式(#​59573)
  • fix(progress):aria-valuenow 使用 percent,而不是成功进度(#​59634);线形进度条支持字符串形式的 width(#​59597)
  • fix(card):重置标题中 Typography 标题的外边距(#​59613)
  • fix(color-picker):恢复格式选择器的字号与间距(#​59610)

📖 文档 Documentation

  • docs(config-provider):wave 示例改用 happy-work-theme 的 HappyProvider(#​1052)
  • docs(spin):语义化示例补充 section / description / container(#​1044)
  • docs:修正 FAQ 错别字(#​59656);CDN 示例版本更新到 1.7.0;站点的七夕彩蛋替换为 1024 程序员节彩蛋(/1024)

🧰 工程与依赖 Infrastructure & Dependencies

  • chore(deps):升级 @v-c/util 1.4.0、input 1.3.0、textarea 1.2.0、input-number 1.2.0、select 1.3.0、picker 1.6.0、mentions 1.3.0,统一 allowClear 配置(allowClear.disabled 为 true 时不再渲染清除按钮);@v-c/pagination 1.3.0,页码与上一页 / 下一页的交互语义从 li 移到内部控件上
  • chore(deps):升级 @v-c/menu 1.4.4、tabs 1.4.3、tour 1.1.3、slick 1.0.3、color-picker 1.0.8(卸载清理修复:Menu、ColorPicker 卸载不再触发父组件重渲染,Tour 不再遗留 window 监听),以及 virtual-list 1.1.4、progress 1.1.0、upload 1.1.1、switch 1.0.2、image 1.1.3、table 1.3.5
  • refactor(style):移除 Tabs(#​59662)、Tooltip(#​59644)、Notification(#​59645)、Dropdown(#​59605)、Input(#​59604)中已失效的选择器与样式;Anchor 移除未使用的组件 token anchorBallSize(#​59389)
  • chore(sync):ant-design 上游跟踪推进到 6.6.8 之后的 master(912d4066db)

v1.7.0

Compare Source

v1.6.0

Compare Source

This release is a performance pass: the derived design token chain is shared across component instances, style hooks resolve the token once, the wrapper layers forward only the props that are actually set to @v-c/*, Table hands @v-c/table referentially stable column config, and the delayed style-removal timer no longer keeps unmounted component trees in memory. On a production build, 1000 Buttons hot-mount in 116 ms instead of 157 ms with the heap down from 92 MB to 48 MB, 200 DatePickers go from 368 ms to 156 ms, and a 1000-row Table cold-mounts in 225 ms instead of 439 ms. @antdv-next/cssinjs 1.1.0 ships alongside with new public APIs, and @v-c/util, trigger, picker, select, table, menu and tooltip move to their matching stable releases; since the dependency floor moves as a whole, this is a minor release. It also advances ant-design upstream tracking to 820e1a8c2d and fixes a batch of Form validation, Alert, Drawer, Descriptions, ColorPicker and ConfigProvider issues; the IDE web-types are now generated from global.d.ts and cover all 128 global components.

⚡ Performance

All numbers are production builds on the same machine (Apple M2 Pro, Chrome 154), 3 pages × 5 hot mounts averaged, compared with 1.5.6:

scene instances hot mount ms heap MB
Button 1000 157 → 116 92 → 48
Input 500 91 → 65 54 → 27
Select 500 305 → 200 80 → 77
DatePicker 200 368 → 156 61 → 47
Menu (inline, 500 items) 1 206 → 143 77 → 47
Form (100 Form.Item + Input) 1 84 → 57 40 → 21
Table (1000 rows, cold mount) 1 439 → 225 64 → 57
typical admin page (menu + filter form + paginated table) 1 50 → 38 18 → 13
  • perf(theme): the derived design token is computed once per ConfigProvider / DesignTokenProvider / StyleProvider combination and shared by every component instance under it; previously each style hook rebuilt the whole derivation chain, and a Button paid for four of them. Computeds per component instance: Button 219 → 51, Input 263 → 65, FormItem + Input 901 → 178 (via @antdv-next/cssinjs 1.1.0)
  • perf(theme): genStyleHooks resolves useToken() once and hands it to both the component style hook and the CSS variable register; useStyleRegister keeps a single computed (the cache path), useBaseConfig / useComponentBaseConfig return getter refs, and usePrefix / useCSP are memoized per config ref
  • perf(date-picker, select, menu): the wrappers forward only the props that are set to @v-c/picker, @v-c/select and @v-c/menu instead of spreading every declared prop (mostly undefined) into layers that normalise them again; props normalisation and reactive proxy spreads used to account for about a third of DatePicker mount time
  • perf(table): InternalTable hands @v-c/table referentially stable columns, column transforms and expandable config, and reuses the source column list when no column is responsive; these objects used to be rebuilt on every render, which @v-c/table treated as a column change and re-rendered every row and cell. Rows and cells now render exactly once per mount, 1000 rows cold mount 439 → 225 ms
  • perf(semantic): classes / styles resolve the merged component props object only for the function form; plain objects no longer pay for a full spread per instance
  • perf(form): a validateDebounce wait timer is released as soon as a newer event arrives or the item unmounts, so each Form.Item keeps at most one timer instead of one per keystroke
  • fix(cssinjs): the 500 ms delayed style-removal timer now lives at module level and no longer retains the unmounted component tree (computeds, DOM refs, app root) through its closure. Heap retained 300 ms after unmounting 1000 Buttons drops from 79 MB to 2.4 MB; the 500 ms delay kept for Transition is unchanged
  • perf(vc): @v-c/trigger 1.1.6 creates its alignment / position-tracking effects on first open, so closed Triggers no longer hold them; @v-c/table 1.3.4 keeps one hover memo per row instead of a computed per cell per render and measures the scrollbar only with scroll.y / sticky; @v-c/picker 1.5.2, @v-c/select 1.2.8, @v-c/menu 1.4.2 and @v-c/tooltip 1.1.4 forward only defined props between their layers and replace per-prop computeds with getter refs. Computeds per instance: Select 329 → 140, DatePicker 367 → 111, Menu item 262 → 70, Table row 47 → 9

🐞 Fixes

  • fix(form): event-driven validation (change / blur / focus) honours validateDebounce: validating is published right away while the rules run after the wait; validateFields, submit and rule checks stay immediate (#​981)
  • fix(form): an async validation superseded by a newer one, clearValidate or resetField no longer writes its stale result; resetField no longer swallows the user's next change when the value did not actually change (#​977)
  • fix(table): Shift-clicking the selection checkbox triggers range selection and rowSelection.onSelect receives the click event instead of the change event; with preserveSelectedRowKeys, onSelect / onSelectAll / onSelectMultiple receive the preserved records that are no longer in the current data (#​59449); the fixed selection header z-index matches ant-design (#​968); scrolling to the first row after pagination, sorting or filtering reads the scroll config merged with ConfigProvider table.scroll (#​969)
  • fix(alert): the object form of closable supports onClose / afterClose callbacks and disabled, ConfigProvider alert.closeIcon takes effect and the ref exposes nativeElement (#​971, #​59432); the close button's semantic class is no longer emitted twice and the icon's semantic class matches React (#​59384)
  • fix(drawer): extra renders as a direct child of the header instead of nesting inside header-title (#​975); the never-implemented afterOpenChange event declaration and docs are removed (#​976)
  • fix(descriptions): in bordered mode the semantic classes / styles apply to the cell instead of the inner span, and attrs.style is merged in (#​972); an empty label / content no longer renders an empty span (#​973)
  • fix(color-picker): class / style and other attrs go to the trigger instead of the panel (#​966); clearing the colour no longer emits change and update:value twice (#​964); the showText function and slot receive { color } instead of a double-wrapped object (#​962, #​963)
  • fix(config-provider): the popupMatchSelectWidth, popupOverflow, calendar, carousel, cardMeta, ribbon and warning configs reach the components (#​967)
  • fix(date-picker): consume ConfigProvider datePicker.allowClear / clearIcon (#​970); RangePicker reads the DatePicker locale instead of the Calendar one (#​978)
  • fix(card): fall back to tabProps.defaultActiveKey when defaultActiveTabKey is not set (#​978)
  • fix(cascader): ConfigProvider cascader.clearIcon no longer triggers the deprecated clearIcon warning
  • fix(dropdown, tooltip, popover): a plain-text or Fragment default slot on the trigger is wrapped in a span, so the popup still opens when there is no element to attach events to (#​979)
  • fix(select, dropdown, mentions): the _InternalPanelDoNotUseOrYouWillBeFired pure panels no longer leak undeclared attrs onto the wrapper div (#​980)
  • fix(float-button): update:open is emitted only when the open state actually changes (#​983)
  • fix(flex): ConfigProvider flex.style is applied to the rendered style (#​982)
  • fix(carousel): vertical carousels are no longer mirrored in RTL, including when the orientation comes from dotPlacement (#​59436)
  • fix(mentions, tree-select): the empty state calls renderEmpty with the correct component names Mentions / TreeSelect (#​59364)
  • fix(breadcrumb): menu item links no longer get an undefined prefix when there is no href (#​59423)
  • fix(tree): DirectoryTree Shift range selection works again with numeric keys (#​59375)
  • fix(transfer): removing items in one-way mode clears the right-hand selection (#​59428)
  • fix(types): resolve the type errors vue-tsc reported in the sources: useLocale returns a readonly tuple, and a few internal types in Carousel, Table, Tag, Timeline and FormItem are tightened without runtime changes

📖 Documentation

  • docs(table): the three scroll fields are marked as supporting global config; docs(form): document that the horizontal layout stacks labels above controls at viewports of 575px or less, and how to customise that through the xs settings of labelCol / wrapperCol (#​59398, #​59417)

🧰 Infrastructure & Dependencies

  • chore(cssinjs): @antdv-next/cssinjs 1.1.0 adds createGlobalCache + useGlobalCacheEntry (a shareable reactive cache entry plus per-instance reference counting), createCacheToken, and the GlobalCacheEntry and UseToken type exports; onCacheRemove callbacks receive the StyleContextProps as a third argument so they can be module-level functions instead of closures over the hook scope
  • chore(deps): upgrade @v-c/util 1.3.2 (adds pickDefined), @v-c/trigger 1.1.6, @v-c/picker 1.5.2, @v-c/select 1.2.8, @v-c/table 1.3.4, @v-c/menu 1.4.2, @v-c/tooltip 1.1.4, @v-c/notification 2.0.5 (repeated pauses no longer bill the paused span into the elapsed time) and @v-c/tree-select 1.1.3
  • chore(web-types): the IDE web-types are generated with global.d.ts as the single source of tags and cover all 128 global components (25 of them, such as the layout sections, radio, textarea, tab pane and table column, had no entry before, and 17 pseudo tags like a-参数 were emitted); doc headings resolve to real components, ~~prop~~ rows are marked deprecated, extends can omit parent items, and markdown escapes and entities in attribute types are cleaned up (Record<K, V> is no longer stripped as an HTML tag); a-textarea goes from 3 to 24 attributes and zh descriptions cover 1603 / 1685 attributes; global.d.ts declares AListy, ATableColumnGroup, ACheckableTagGroup, AMentionsOption and AMenuDivider (#​965)
  • chore(perf): add the tests/perf reactive-count regression test (computeds / watchers / child components per component instance, failing above the committed baseline), the pnpm bench browser benchmark (headless Chrome over CDP, reporting cold / hot mount time, mounted heap, heap retained after unmount and interaction time, with --profile recording a CPU profile) and the VC_LOCAL alias for testing against local @v-c/* builds
  • chore(sync): ant-design upstream tracking advances to 820e1a8c2d (after 6.6.5); incidental deprecated API usages in tests migrate to the current APIs

本次版本是一轮性能专项:共享设计 token 的派生链、样式 hook 只解析一次 token、各封装层只向 @v-c/* 转发实际设置的属性、Table 向 @v-c/table 传递引用稳定的列配置,并修复了样式延迟卸载定时器把已卸载组件树留在内存里的问题。生产构建下 1000 个 Button 的热挂载从 157 ms 降到 116 ms、堆内存从 92 MB 降到 48 MB,200 个 DatePicker 从 368 ms 降到 156 ms,1000 行 Table 的冷挂载从 439 ms 降到 225 ms。@antdv-next/cssinjs 同步发布 1.1.0 并新增公开 API,@v-c/util、trigger、picker、select、table、menu、tooltip 全部升级到配套的正式版,依赖下限整体抬高,因此本次以 minor 版本发布。同时把 ant-design 上游跟踪推进到 820e1a8c2d,并集中修复了一批 Form 校验、Alert、Drawer、Descriptions、ColorPicker、ConfigProvider 等组件的问题;IDE 的 web-types 改为从 global.d.ts 生成,覆盖全部 128 个全局组件。

⚡ 性能 Performance

以下数据均为生产构建、同一台机器(Apple M2 Pro,Chrome 154)、3 页 × 5 次热挂载取均值,对比对象是 1.5.6:

场景 实例数 热挂载 ms 堆内存 MB
Button 1000 157 → 116 92 → 48
Input 500 91 → 65 54 → 27
Select 500 305 → 200 80 → 77
DatePicker 200 368 → 156 61 → 47
Menu(inline,500 项) 1 206 → 143 77 → 47
Form(100 个 Form.Item + Input) 1 84 → 57 40 → 21
Table(1000 行,冷挂载) 1 439 → 225 64 → 57
典型后台页(菜单 + 筛选表单 + 分页表格) 1 50 → 38 18 → 13
  • perf(theme):派生设计 token 在同一组 ConfigProvider / DesignTokenProvider / StyleProvider 下只计算一次并由所有组件实例共享;此前每个样式 hook 都会重建一整条 token 派生链,一个 Button 要付 4 次。每个组件实例的 computed 数量:Button 219 → 51,Input 263 → 65,FormItem + Input 901 → 178(依赖 @antdv-next/cssinjs 1.1.0)
  • perf(theme):genStyleHooks 只解析一次 useToken() 并同时交给组件样式 hook 与 CSS 变量注册;useStyleRegister 只保留缓存路径一个 computed,useBaseConfig / useComponentBaseConfig 改用 getter ref,usePrefix / useCSP 按配置引用记忆化
  • perf(date-picker, select, menu):封装层只向 @v-c/picker、@v-c/select、@v-c/menu 转发实际设置的属性,不再把整包声明属性(绝大多数是 undefined)展开到下层逐

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "after 2am and before 3am"
  • Automerge
    • "after 1am and before 2am"

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@changeset-bot

changeset-bot Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 9930f15

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from f59736d to 2c1fde8 Compare October 8, 2026 13:28
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 13 times, most recently from 7a7f439 to f760586 Compare October 16, 2026 19:44
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 6 times, most recently from e6aa33e to 22705fa Compare October 18, 2026 20:48
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from b65f3f3 to 1ddc313 Compare October 27, 2026 11:03
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 6 times, most recently from c2047ae to cd9b72b Compare October 29, 2026 20:52
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch from cd9b72b to 9930f15 Compare October 30, 2026 18:55

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants