包详细信息

@vue/compiler-dom

vuejs40.7mMIT3.5.17

@vue/compiler-dom

vue

自述文件

vuejs/core npm build status Download

Getting Started

Please follow the documentation at vuejs.org!

Sponsors

Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers. If you'd like to join them, please consider sponsoring Vue's development.

Special Sponsor

special sponsor appwrite

sponsors

Questions

For questions and support please use the official forum or community chat. The issue list of this repo is exclusively for bug reports and feature requests.

Issues

Please make sure to respect issue requirements and use the new issue helper when opening an issue. Issues not conforming to the guidelines may be closed immediately.

Stay In Touch

Contribution

Please make sure to read the Contributing Guide before making a pull request. If you have a Vue-related project/component/tool, add it with a pull request to this curated list!

Thank you to all the people who already contributed to Vue!

Note: Showing the first 500 contributors only due to GitHub image size limitations

License

MIT

Copyright (c) 2013-present, Yuxi (Evan) You

更新日志

3.5.17 (2025-06-18)

Bug Fixes

  • compat: allow v-model built in modifiers on component (#12654) (cb14b86), closes #12652
  • compile-sfc: handle mapped types work with omit and pick (#12648) (4eb46e4), closes #12647
  • compiler-core: do not increase newlines in InEntity state (#13362) (f05a8d6)
  • compiler-core: ignore whitespace when matching adjacent v-if (#12321) (10ebcef), closes #9173
  • compiler-core: prevent comments from blocking static node hoisting (#13345) (55dad62), closes #13344
  • compiler-sfc: improved type resolution for function type aliases (#13452) (f3479aa), closes #13444
  • custom-element: ensure configureApp is applied to async component (#12607) (5ba1afb), closes #12448
  • custom-element: prevent injecting child styles if shadowRoot is false (#12769) (73055d8), closes #12630
  • reactivity: add __v_skip flag to Dep to prevent reactive conversion (#12804) (e8d8f5f), closes #12803
  • runtime-core: unset old ref during patching when new ref is absent (#12900) (47ddf98), closes #12898
  • slots: make cache indexes marker non-enumerable (#13469) (919c447), closes #13468
  • ssr: handle initial selected state for select with v-model + v-for/v-if option (#13487) (1552095), closes #13486
  • types: typo of vOnce and vSlot (#13343) (762fae4)

3.5.16 (2025-05-29)

Reverts

  • Revert "fix(compiler-sfc): add scoping tag to trailing universal selector" (#13406) (19f23b1), closes #13406
  • Revert "fix(compiler-sfc): add error handling for defineModel() without variable" (#13390) (42f879f), closes #13390

3.5.15 (2025-05-26)

Bug Fixes

3.5.14 (2025-05-15)

Bug Fixes

Features

3.5.13 (2024-11-15)

Bug Fixes

  • compiler-core: handle v-memo + v-for with functional key (#12014) (99009ee), closes #12013
  • compiler-dom: properly stringify template string style (#12392) (2d78539), closes #12391
  • custom-element: avoid triggering mutationObserver when relecting props (352bc88), closes #12214 #12215
  • deps: update dependency postcss to ^8.4.48 (#12356) (b5ff930)
  • hydration: the component vnode's el should be updated when a mismatch occurs. (#12255) (a20a4cb), closes #12253
  • reactivity: avoid unnecessary watcher effect removal from inactive scope (2193284), closes #5783 #5806
  • reactivity: release nested effects/scopes on effect scope stop (#12373) (bee2f5e), closes #12370
  • runtime-dom: set css vars before user onMounted hooks (2d5c5e2), closes #11533
  • runtime-dom: set css vars on update to handle child forcing reflow in onMount (#11561) (c4312f9)
  • ssr: avoid updating subtree of async component if it is resolved (#12363) (da7ad5e), closes #12362
  • ssr: ensure v-text updates correctly with custom directives in SSR output (#12311) (1f75d4e), closes #12309
  • ssr: handle initial selected state for select with v-model + v-for option (#12399) (4f8d807), closes #12395
  • teleport: handle deferred teleport update before mounted (#12168) (8bff142), closes #12161
  • templateRef: set ref on cached async component which wrapped in KeepAlive (#12290) (983eb50), closes #4999 #5004
  • test: update snapshot (#12169) (828d4a4)
  • Transition: fix transition memory leak edge case (#12182) (660132d), closes #12181
  • transition: reflow before leave-active class after leave-from (#12288) (4b479db), closes #2593
  • types: defineEmits w/ interface declaration (#12343) (1022eab), closes #8457
  • v-once: setting hasOnce to current block only when in v-once (#12374) (37300fc), closes #12371

Performance Improvements

  • reactivity: do not track inner key `__v_skip`` (#11690) (d637bd6)
  • runtime-core: use feature flag for call to resolveMergedOptions (#12163) (1755ac0)

3.5.12 (2024-10-11)

Bug Fixes

Performance Improvements

  • reactivity: avoid unnecessary recursion in removeSub (#12135) (ec917cf)

3.5.11 (2024-10-03)

Bug Fixes

  • compiler-sfc: do not skip TSSatisfiesExpression when transforming props destructure (#12062) (2328b05), closes #12061
  • reactivity: prevent overwriting next property during batch processing (#12075) (d3f5e6e), closes #12072
  • scheduler: job ordering when the post queue is flushing (#12090) (577edca)
  • types: correctly infer TypeProps when it is any (#12073) (57315ab), closes #12058
  • types: should not intersect PublicProps with Props (#12077) (6f85894)
  • types: infer the first generic type of Ref correctly (#12094) (c97bb84)

3.5.10 (2024-09-27)

Bug Fixes

  • custom-element: properly set kebab-case props on Vue custom elements (ea3efa0), closes #12030 #12032
  • reactivity: fix nested batch edge case (93c95dd)
  • reactivity: only clear notified flags for computed in first batch iteration (aa9ef23), closes #12045
  • types/ref: handle nested refs in UnwrapRef (#12049) (e2c19c2), closes #12044

3.5.9 (2024-09-26)

Bug Fixes

3.5.8 (2024-09-22)

Bug Fixes

  • reactivity: do not remove dep from depsMap when cleaning up deps of computed (#11995) (0267a58)

3.5.7 (2024-09-20)

Bug Fixes

Performance Improvements

  • hydration: avoid observer if element is in viewport (#11639) (e075dfa)

3.5.6 (2024-09-16)

Bug Fixes

  • compile-dom: should be able to stringify mathML (#11891) (85c138c)
  • compiler-sfc: preserve old behavior when using withDefaults with desutructure (8492c3c), closes #11930
  • reactivity: avoid exponential perf cost and reduce call stack depth for deeply chained computeds (#11944) (c74bb8c), closes #11928
  • reactivity: rely on dirty check only when computed has deps (#11931) (aa5dafd), closes #11929
  • watch: once option should be ignored by watchEffect (#11884) (49fa673)
  • watch: unwatch should be callable during SSR (#11925) (2d6adf7), closes #11924

3.5.5 (2024-09-13)

Bug Fixes

  • compiler-core: fix handling of delimiterOpen in VPre (#11915) (706d4ac), closes #11913
  • compiler-dom: fix stringify static edge for partially eligible chunks in cached parent (1d99d61), closes #11879 #11890
  • compiler-dom: should ignore leading newline in <textarea> per spec (3c4bf76)
  • compiler-sfc: nested css supports atrule and comment (#11899) (0e7bc71), closes #11896
  • custom-element: handle nested customElement mount w/ shadowRoot false (#11861) (f2d8019), closes #11851 #11871
  • hmr: reload async child wrapped in Suspense + KeepAlive (#11907) (10a2c60), closes #11868
  • hydration: fix mismatch of leading newline in <textarea> and <pre> (a5f3c2e), closes #11873 #11874
  • reactivity: properly clean up deps, fix memory leak (8ea5d6d), closes #11901
  • runtime-core: properly update async component nested in KeepAlive (#11917) (7fe6c79), closes #11916
  • TransitionGroup: not warn unkeyed text children with whitespece preserve (#11888) (7571f20), closes #11885

3.5.4 (2024-09-10)

Bug Fixes

  • compiler-sfc: correct scoped injection for nesting selector (#11854) (b1de75e), closes #10567
  • reactivity: fix markRaw error on already marked object (#11864) (67d6596), closes #11862
  • Revert "fix: Revert "fix(reactivity): self-referencing computed should refresh"" (e596378)
  • runtime-core: handle shallow reactive arrays in renderList correctly (#11870) (ced59ab), closes #11869
  • types: correctly infer TypeEmits with both tuple and function syntax (#11840) (dad6738), closes #11836

Performance Improvements

  • reactivity: trigger deps directly instead of storing in an array first (#11695) (f80d447)

3.5.3 (2024-09-06)

Bug Fixes

  • hydration: check __asyncHydrate presence for vue3-lazy-hydration compat (#11825) (8e6c337), closes #11793
  • Revert "fix(reactivity): self-referencing computed should refresh" (35c760f)
  • ssr: respect app.config.warnHandler during ssr (bf3d9a2), closes #11830
  • Transition: handle KeepAlive child unmount in Transition out-in mode (#11833) (6b7901d), closes #11775
  • useId: make generated IDs selector compatible (babfb4c), closes #11828

3.5.2 (2024-09-05)

Bug Fixes

Features

  • compiler-core: parse modifiers as expression to provide location data (#11819) (3f13203)

3.5.1 (2024-09-04)

Bug Fixes

  • build: improve built-in components treeshakability (4eee630)
  • reactivity: handle non-array arguments in reactive concat method (#11794) (475977a), closes #11792
  • Transition: avoid applying transition hooks on comment vnode (#11788) (51912f8), closes #11782
  • types: avoid using intersection type in Readonly<...> to fix JSDoc emit (#11799) (7518bc1)
  • useTemplateRef: fix readonly warning when useTemplateRef has same variable name as template ref (bc63df0), closes #11795 #11802 #11804

3.5.0 (2024-09-03)

Aggregated Features List for 3.5 (alpha to stable)

Reactivity

  • reactivity: Refactor reactivity system to use version counting and doubly-linked list tracking (#10397) (05eb4e0)
  • reactivity: Optimize array tracking (#9511) (70196a4)
  • compiler-sfc: enable reactive props destructure by default (d2dac0e)
  • reactivity: onEffectCleanup API (2cc5615), closes #10173
  • reactivity: add failSilently argument for onScopeDispose (9a936aa)
  • reactivity/watch: base watch, getCurrentWatcher, and onWatcherCleanup (#9927) (205e5b5)
  • reactivity/watch: add pause/resume for ReactiveEffect, EffectScope, and WatchHandle (#9651) (267093c)
  • watch: support passing number to deep option to control the watch depth (#9572) (22f7d96)
  • types: export MultiWatchSources type (#9563) (998dca5)
  • types: allow computed getter and setter types to be unrelated (#11472) (a01675e), closes #7271

SSR

  • runtime-core: useId() and app.config.idPrefix (#11404) (73ef156)
  • hydration: lazy hydration strategies for async components (#11458) (d14a11c)
  • hydration: support suppressing hydration mismatch via data-allow-mismatch (94fb2b8)

Custom Element

  • custom-element: useHost() helper (775103a)
  • custom-element: useShadowRoot() helper (5a1a89b), closes #6113 #8195
  • custom-element: expose this.$host in Options API (1ef8f46)
  • custom-element: inject child components styles to custom element shadow root (#11517) (56c76a8), closes #4662 #7941 #7942
  • custom-element: support configurable app instance in defineCustomElement (6758c3c), closes #4356 #4635
  • custom-element: support css :host selector by applying css vars on host element (#8830) (03a9ea2), closes #8826
  • custom-element: support emit with options (e181bff), closes #7605
  • custom-element: support expose on customElement (#6256) (af838c1), closes #5540
  • custom-element: support nonce option for injected style tags (bb4a02a), closes #6530
  • custom-element: support passing custom-element-specific options via 2nd argument of defineCustomElement (60a88a2)
  • custom-element: support shadowRoot: false in defineCustomElement() (37d2ce5), closes #4314 #4404

Teleport

Misc

  • runtime-core: useTemplateRef() (3ba70e4)
  • runtime-core: add app.onUnmount() for registering cleanup functions (#4619) (582a3a3), closes #4516
  • runtime-core: add app.config.throwUnhandledErrorInProduction (f476b7f), closes #7876
  • runtime-dom: Trusted Types compatibility (#10844) (6d4eb94)
  • compiler-core: support Symbol global in template expressions (#9069) (a501a85)
  • types: export more emit related types (#11017) (189573d)
  • types: add loading prop to iframe (#11767) (d86fe0e)

Internals

  • reactivity: store value cache on CustomRefs impls (#11539) (e044b6e)
  • types: provide internal options for directly using user types in language tools (#10801) (75c8cf6)
  • types: provide internal options for using refs type in language tools (#11492) (5ffd1a8)

Bug Fixes

  • compiler-sfc: fix import usage check for kebab-case same name shorthand binding (0f7c0e5), closes #11745 #11754
  • cssVars: correctly escape double quotes in SSR (#11784) (7b5b6e0), closes #11779
  • deps: update dependency postcss to ^8.4.44 (#11774) (cb843e0)
  • hydration: escape css var name to avoid mismatch (#11739) (ca12e77), closes #11735
  • hydration: handle text nodes with 0 during hydration (#11772) (c756da2), closes #11771
  • reactivity: correctly handle method calls on user-extended arrays (#11760) (9817c80), closes #11759
  • runtime-dom: avoid unnecessary prop patch for checkbox (#11657) (c3ce9fe), closes #11647
  • runtime-dom: prevent unnecessary DOM update from v-model (#11656) (b1be9bd), closes #11647
  • server-renderer: Fix call to serverPrefetch in server renderer with an async setup (#10893) (6039e25)
  • server-renderer: render className during SSR (#11722) (52cdb0f)
  • types/defineModel: allow getter and setter types to be unrelated (#11699) (fe07f70), closes #11697

3.5.0-rc.1 (2024-08-29)

Bug Fixes

  • compiler-sfc: skip circular tsconfig project reference (#11680) (9c4c2e5), closes #11382
  • custom-element: handle keys set on custom elements (#11655) (f1d1831), closes #11641
  • deps: update dependency monaco-editor to ^0.51.0 (#11713) (434f8a9)
  • keep-alive: reset keep alive flag when the component is removed from include (#11718) (29c321b), closes #11717
  • reactivity: avoid infinite recursion when mutating ref wrapped in reactive (313e4bf), closes #11696
  • reactivity: ensure watcher with once: true are properly removed from effect scope (#11665) (fbc0c42)
  • runtime-dom: setting innerHTML when patching props should go through trusted types (d875de5)
  • types: GlobalDirective / GlobalComponents should not be records (42e8df6)

3.5.0-beta.3 (2024-08-20)

Bug Fixes

Features

  • reactivity: base watch, getCurrentWatcher, and onWatcherCleanup (#9927) (205e5b5)

Performance Improvements

  • runtime-core: use apply to avoid spreading. (#5985) (bb6babc)

3.5.0-beta.2 (2024-08-15)

Bug Fixes

  • build: revert entities to 4.5 to avoid runtime resolution errors (e9e0815), closes #11603
  • compiler-core: use ast-based check for function expressions when possible (5861229), closes #11615
  • compiler-sfc: fix prefixIdentifier default value (3d6f015)
  • compiler-sfc: handle keyof operator with index object (#11581) (fe00815)
  • custom-element: keep instance.isCE for backwards compat (e19fc27)
  • deps: update dependency postcss to ^8.4.41 (#11585) (4c4e12a)
  • keep-alive: ensure include/exclude regexp work with global flag (#11595) (3653bc0)
  • reactivity: ensure extended method arguments are not lost (#11574) (4085def), closes #11570
  • reactivity: sync watch should be executed correctly (#11589) (3bda3e8), closes #11577
  • types/computed: ensure type safety for WritableComputedRef (#11608) (5cf5a16)
  • types: add fallback stub for DOM types when DOM lib is absent (#11598) (fee6697)

Features

  • deprecated: remove deprecated parseExpressions option (#11597) (4e7d5db)

3.5.0-beta.1 (2024-08-08)

Bug Fixes

  • custom-element: delay mounting of custom elements with async parent (37ccb9b), closes #8127 #9341 #9351 #9351
  • custom-element: delete prop on attribute removal (506c4c5), closes #11276
  • custom-element: ignore scoped id (7f2c505)
  • custom-element: reflect prop default value on custom element (63689ed), closes #9006 #10537
  • custom-element: support early-set domProps for async custom elements (a07e7bf), closes #11081 #11082
  • types/custome-element: defineCustomElement props inference with array emits (#11384) (e94b01b), closes #11353
  • types: allow using InjectionKey as valid property key (321d807), closes #5089

Features

  • custom-element: expose this.$host in Options API (1ef8f46)
  • custom-element: inject child components styles to custom element shadow root (#11517) (56c76a8), closes #4662 #7941 #7942
  • custom-element: support configurable app instance in defineCustomElement (6758c3c), closes #4356 #4635
  • custom-element: support css :host selector by applying css vars on host element (#8830) (03a9ea2), closes #8826
  • custom-element: support emit with options (e181bff), closes #7605
  • custom-element: support for expose on customElement (#6256) (af838c1), closes #5540
  • custom-element: support nonce option for injected style tags (bb4a02a), closes #6530
  • custom-element: support passing custom-element-specific options via 2nd argument of defineCustomElement (60a88a2)
  • custom-element: support shadowRoot: false in defineCustomElement() (37d2ce5), closes #4314 #4404
  • custom-element: useHost() helper (775103a)
  • custom-element: useShadowRoot() helper (5a1a89b), closes #6113 #8195
  • hydration: allow fine tuning of lazy hydration strategy triggers (#11530) (261c8b1)
  • reactivity/watch: add pause/resume for ReactiveEffect, EffectScope, and WatchHandle (#9651) (267093c)
  • reactivity: store value cache on CustomRefs impls (#11539) (e044b6e)
  • runtime-dom: Trusted Types compatibility (#10844) (6d4eb94)
  • support specifying allowed keys via generic argument in useTemplateRef() (1fbfa69)
  • types: allow computed getter and setter types to be unrelated (#11472) (a01675e), closes #7271
  • types: export MultiWatchSources type (#9563) (998dca5)
  • types: provide internal options for using refs type in language tools (#11492) (5ffd1a8)
  • watch: support passing number to deep option to control the watch depth (#9572) (22f7d96)

3.5.0-alpha.5 (2024-07-31)

Features

  • hydration: support suppressing hydration mismatch via data-allow-mismatch (94fb2b8)
  • lazy hydration strategies for async components (#11458) (d14a11c)

3.5.0-alpha.4 (2024-07-24)

Bug Fixes

  • suspense/hydration: fix hydration timing of async component inside suspense (1b8e197), closes #6638
  • useId: properly mark async boundary for already resolved async component (cd28172)

3.5.0-alpha.3 (2024-07-19)

Bug Fixes

  • build: enable SSR branches in esm-browser builds (b14cd9a)
  • compiler-core: change node hoisting to caching per instance (#11067) (cd0ea0d), closes #5256 #9219 #10959
  • compiler-sfc: should properly walk desutructured props when reactive destructure is not enabled (0fd6193), closes #11325
  • types: respect props with default on instance type when using __typeProps (96e4738)

Features

3.5.0-alpha.2 (2024-05-04)

Bug Fixes

  • types: fix app.component() typing with inline defineComponent (908f70a), closes #10843
  • types: fix compat with generated types that rely on CreateComponentPublicInstance (c146186), closes #10842
  • types: props in defineOptions type should be optional (124c4ca), closes #10841

Features

  • runtime-core: add app.onUnmount() for registering cleanup functions (#4619) (582a3a3), closes #4516

3.5.0-alpha.1 (2024-04-29)

Bug Fixes

  • reactivity: fix call sequence of ontrigger in effect (#10501) (28841fe)

Features

  • compiler-sfc: enable reactive props destructure by default (d2dac0e)
  • reactivity: onEffectCleanup API (2cc5615), closes #10173
  • reactivity: add failSilently argument for onScopeDispose (9a936aa)
  • transition: support directly nesting Teleport inside Transition (#6548) (0e6e3c7), closes #5836
  • types: provide internal options for directly using user types in language tools (#10801) (75c8cf6)

Performance Improvements

Previous Changelogs

3.4.x (2023-10-28 - 2024-08-15)

See 3.4 changelog

3.3.x (2023-02-05 - 2023-12-29)

See 3.3 changelog

3.2.x (2021-07-16 - 2023-02-02)

See 3.2 changelog

3.1.x (2021-05-08 - 2021-07-16)

See 3.1 changelog

3.0.x (2019-12-20 - 2021-04-01)

See 3.0 changelog