3.5.12 (2024-10-11)
- compiler-dom: avoid stringify option with null value (#12096) (f6d9926), closes #12093
- compiler-sfc: do not skip TSInstantiationExpression when transforming props destructure (#12064) (d3ecde8)
- compiler-sfc: use sass modern api if available and avoid deprecation warning (#11992) (4474c11)
- compiler: clone loc to
ifNode
(#12131) (cde2c06), closes vuejs/language-tools#4911 - custom-element: properly remove hyphenated attribute (#12143) (e16e9a7), closes #12139
- defineModel: handle kebab-case model correctly (#12063) (c0418a3), closes #12060
- deps: update dependency monaco-editor to ^0.52.0 (#12119) (f7cbea2)
- hydration: provide compat fallback for idle callback hydration strategy (#11935) (1ae545a)
- reactivity: trigger reactivity for Map key
undefined
(#12055) (7ad289e), closes #12054 - runtime-core: allow symbol values for slot prop key (#12069) (d9d4d4e), closes #12068
- runtime-core: fix required prop check false positive for kebab-case edge cases (#12034) (9da1ac1), closes #12011
- runtime-dom: prevent unnecessary updates in v-model checkbox when value is unchanged (#12146) (ea943af), closes #12144
- teleport: handle disabled teleport with updateCssVars (#12113) (76a8223), closes #12112
- transition/ssr: make transition appear work with Suspense in SSR (#12047) (f1a4f67), closes #12046
- types: ensure
this.$props
type does not includestring
(#12123) (704173e), closes #12122 - types: retain union type narrowing with defaults applied (#12108) (05685a9), closes #12106
- useId: ensure useId consistency when using serverPrefetch (#12128) (b4d3534), closes #12102
- watch: watchEffect clean-up with SSR (#12097) (b094c72), closes #11956
3.5.11 (2024-10-03)
- 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 isany
(#12073) (57315ab), closes #12058 - types: should not intersect
PublicProps
withProps
(#12077) (6f85894) - types: infer the first generic type of
Ref
correctly (#12094) (c97bb84)
3.5.10 (2024-09-27)
- 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)
- reactivity: fix property dep removal regression (6001e5c), closes #12020 #12021
- reactivity: fix recursive sync watcher on computed edge case (10ff159), closes #12033 #12037
- runtime-core: avoid rendering plain object as VNode (#12038) (cb34b28), closes #12035 vitejs/vite-plugin-vue#353
- runtime-core: make useId() always return a string (a177092)
- types: correct type inference of union event names (#12022) (4da6881)
- vue: properly cache runtime compilation (#12019) (fa0ba24)
3.5.8 (2024-09-22)
3.5.7 (2024-09-20)
- compile-core: fix v-model with newlines edge case (#11960) (6224288), closes #8306
- compiler-sfc: initialize scope with null prototype object (#11963) (215e154)
- hydration: avoid observing non-Element node (#11954) (7257e6a), closes #11952
- reactivity: do not remove dep from depsMap when unsubbed by computed (960706e)
- reactivity: fix dev-only memory leak by updating dep.subsHead on sub removal (5c8b76e), closes #11956
- reactivity: fix memory leak from dep instances of garbage collected objects (235ea47), closes #11979 #11971
- reactivity: fix triggerRef call on ObjectRefImpl returned by toRef (#11986) (b030c8b), closes #11982
- scheduler: ensure recursive jobs can't be queued twice (#11955) (d18d6aa)
- ssr: don't render comments in TransitionGroup (#11961) (a2f6ede), closes #11958
- transition: respect
duration
setting even when it is0
(#11967) (f927a4a) - types: correct type inference of all-optional props (#11644) (9eca65e), closes #11733 vuejs/language-tools#4704
3.5.6 (2024-09-16)
- 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)
- 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)
- 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
3.5.3 (2024-09-06)
- 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)
- reactivity: make toRaw work on proxies created by proxyRef (46c3ab1)
- reactivity: pass oldValue to computed getter (#11813) (98864a7), closes #11812
- reactivity: prevent endless recursion in computed getters (#11797) (716275d)
- reactivity: self-referencing computed should refresh (e84c4a6), closes /github.com/vuejs/core/pull/11797#issuecomment-2330738633
- scheduler: prevent duplicate jobs being queued (#11826) (df56cc5), closes #11712 #11807
- suspense: avoid updating anchor if activeBranch has not been rendered to the actual container (#11818) (3c0d531), closes #11806
- Transition: handle KeepAlive child unmount in Transition out-in mode (#11778) (3116553), closes #11775
- types: add HTMLDialogElement missing close event (#11811) (3634f7a)
- types: added name attribute support to details tag (#11823) (c74176e), closes #11821
- types: fix defineComponent props inference when setup() has explicit annotation (fca20a3), closes #11803
- useTemplateRef: properly fix readonly warning in dev and ensure prod behavior consistency (9b7797d), closes #11808 #11816 #11810
3.5.1 (2024-09-04)
- 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)
- 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 foronScopeDispose
(9a936aa) - reactivity/watch: base
watch
,getCurrentWatcher
, andonWatcherCleanup
(#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
- runtime-core:
useId()
andapp.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:
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
indefineCustomElement()
(37d2ce5), closes #4314 #4404
- teleport: support deferred Teleport (#11387) (59a3e88), closes #2015 #11386
- teleport/transition: support directly nesting Teleport inside Transition (#6548) (0e6e3c7), closes #5836
- 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)
- 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)
- 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)
- 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)
- reactivity: extended methods respect reactive (#11629) (9de1d10), closes #11628
- runtime-core: correct type inference for PascalCase emits (#11579) (d7d0371), closes vuejs/language-tools#4269
- runtime-core: ensure suspense content inherit scopeId (#10652) (ac2a410), closes #5148
- runtime-core: pre jobs without an id should run first (#7746) (b332f80)
- ssr: apply ssr props to the the fallback vnode-based branch in ssr (#7247) (98b83e8), closes #6123
- types/custom-element:
defineCustomElement
with required props (#11578) (5e0f6d5) - types: strip non-prop default values from return type of withDefaults (#9998) (44973bb), closes #9899
- watch: handle errors in computed used as watch source (#11626) (8bcaad4), closes #11624
3.5.0-beta.2 (2024-08-15)
- 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)
3.5.0-beta.1 (2024-08-08)
- 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
- 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)
- 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)
- 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)
- 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)
- runtime-core: useTemplateRef() (3ba70e4)
- runtime-core: useId() and app.config.idPrefix (#11404) (73ef156)
- runtime-core: add app.config.throwUnhandledErrorInProduction (f476b7f), closes #7876
- teleport: support deferred Teleport (#11387) (59a3e88), closes #2015 #11386
- compiler-core: support
Symbol
global in template expressions (#9069) (a501a85) - types: export more emit related types (#11017) (189573d)
3.5.0-alpha.2 (2024-05-04)
- 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
3.5.0-alpha.1 (2024-04-29)
- 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)
See 3.4 changelog
See 3.3 changelog
See 3.2 changelog
See 3.1 changelog
See 3.0 changelog