vuejs/core (vue)
### [`v3.4.27`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.26...v3.4.27)
##### Bug Fixes
- **compat:** include legacy scoped slots ([#10868](https://togithub.com/vuejs/core/issues/10868)) ([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)), closes [#8869](https://togithub.com/vuejs/core/issues/8869)
- **compiler-core:** add support for arrow aysnc function with unbracketed ([#5789](https://togithub.com/vuejs/core/issues/5789)) ([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)), closes [#5788](https://togithub.com/vuejs/core/issues/5788)
- **compiler-dom:** restrict createStaticVNode usage with option elements ([#10846](https://togithub.com/vuejs/core/issues/10846)) ([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)), closes [#6568](https://togithub.com/vuejs/core/issues/6568) [#7434](https://togithub.com/vuejs/core/issues/7434)
- **compiler-sfc:** handle keyof operator ([#10874](https://togithub.com/vuejs/core/issues/10874)) ([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)), closes [#10871](https://togithub.com/vuejs/core/issues/10871)
- **hydration:** handle edge case of style mismatch without style attribute ([f2c1412](https://togithub.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)), closes [#10786](https://togithub.com/vuejs/core/issues/10786)
### [`v3.4.26`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3426-2024-04-29)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.25...v3.4.26)
##### Bug Fixes
- **compiler-core:** fix bail constant for globals ([fefce06](https://togithub.com/vuejs/core/commit/fefce06b41e3b75de3d748dc6399628ec5056e78))
- **compiler-core:** remove unnecessary constant bail check ([09b4df8](https://togithub.com/vuejs/core/commit/09b4df809e59ef5f4bc91acfc56dc8f82a8e243a)), closes [#10807](https://togithub.com/vuejs/core/issues/10807)
- **runtime-core:** attrs should be readonly in functional components ([#10767](https://togithub.com/vuejs/core/issues/10767)) ([e8fd644](https://togithub.com/vuejs/core/commit/e8fd6446d14a6899e5e8ab1ee394d90088e01844))
- **runtime-core:** ensure slot compiler marker writable ([#10825](https://togithub.com/vuejs/core/issues/10825)) ([9c2de62](https://togithub.com/vuejs/core/commit/9c2de6244cd44bc5fbfd82b5850c710ce725044f)), closes [#10818](https://togithub.com/vuejs/core/issues/10818)
- **runtime-core:** properly handle inherit transition during clone VNode ([#10809](https://togithub.com/vuejs/core/issues/10809)) ([638a79f](https://togithub.com/vuejs/core/commit/638a79f64a7e184f2a2c65e21d764703f4bda561)), closes [#3716](https://togithub.com/vuejs/core/issues/3716) [#10497](https://togithub.com/vuejs/core/issues/10497) [#4091](https://togithub.com/vuejs/core/issues/4091)
- **Transition:** re-fix [#10620](https://togithub.com/vuejs/core/issues/10620) ([#10832](https://togithub.com/vuejs/core/issues/10832)) ([accf839](https://togithub.com/vuejs/core/commit/accf8396ae1c9dd49759ba0546483f1d2c70c9bc)), closes [#10632](https://togithub.com/vuejs/core/issues/10632) [#10827](https://togithub.com/vuejs/core/issues/10827)
### [`v3.4.25`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3425-2024-04-24)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.24...v3.4.25)
##### Bug Fixes
- **defineModel:** align prod mode runtime type generation with defineProps ([4253a57](https://togithub.com/vuejs/core/commit/4253a57f1703a7f1ac701d77e0a235689203461d)), closes [#10769](https://togithub.com/vuejs/core/issues/10769)
- **runtime-core:** properly get keepAlive child ([#10772](https://togithub.com/vuejs/core/issues/10772)) ([3724693](https://togithub.com/vuejs/core/commit/3724693a25c3f2dd13d70a8a1af760b03a4fb783)), closes [#10771](https://togithub.com/vuejs/core/issues/10771)
- **runtime-core:** use normal object as internal prototype for attrs and slots ([064e82f](https://togithub.com/vuejs/core/commit/064e82f5855f30fe0b77fe9b5e4dd22700fd634d)), closes [/github.com/vuejs/core/commit/6df53d85a207986128159d88565e6e7045db2add#r141304923](https://togithub.com//github.com/vuejs/core/commit/6df53d85a207986128159d88565e6e7045db2add/issues/r141304923)
### [`v3.4.24`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3424-2024-04-22)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.23...v3.4.24)
##### Bug Fixes
- **compiler-core:** handle template ref bound via v-bind object on v-for ([#10706](https://togithub.com/vuejs/core/issues/10706)) ([da7adef](https://togithub.com/vuejs/core/commit/da7adefa844265eecc9c336abfc727bc05b4f16e)), closes [#10696](https://togithub.com/vuejs/core/issues/10696)
- **compiler-core:** properly parse await expressions in edge cases ([b92c25f](https://togithub.com/vuejs/core/commit/b92c25f53dff0fc1687f57ca4033d0ac25218940)), closes [#10754](https://togithub.com/vuejs/core/issues/10754)
- **compiler-sfc:** handle readonly operator and ReadonlyArray/Map/Set types ([5cef52a](https://togithub.com/vuejs/core/commit/5cef52a5c23ba8ba3239e6def03b8ff008d3cc72)), closes [#10726](https://togithub.com/vuejs/core/issues/10726)
- **compiler-ssr:** fix hydration mismatch for conditional slot in transition ([f12c81e](https://togithub.com/vuejs/core/commit/f12c81efca3fcf9a7ce478af2261ad6ab9b0bfd7)), closes [#10743](https://togithub.com/vuejs/core/issues/10743)
- **compiler-ssr:** fix v-html SSR for nullish values ([1ff4076](https://togithub.com/vuejs/core/commit/1ff407676f9495883b459779a9b0370d7588b51f)), closes [#10725](https://togithub.com/vuejs/core/issues/10725)
- **deps:** update compiler ([#10760](https://togithub.com/vuejs/core/issues/10760)) ([15df5c1](https://togithub.com/vuejs/core/commit/15df5c1b261b9b471eb811fd47ab7b3cfc41cf83))
- **runtime-core:** fix edge case of KeepAlive inside Transition with slot children ([#10719](https://togithub.com/vuejs/core/issues/10719)) ([e51ca61](https://togithub.com/vuejs/core/commit/e51ca61ca060b2772e967d169548fc2f58fce6d1)), closes [#10708](https://togithub.com/vuejs/core/issues/10708)
- **runtime-core:** further fix slots \_ctx check ([cde7f05](https://togithub.com/vuejs/core/commit/cde7f05787d16dbb93d9419ef5331adf992816fd)), closes [#10724](https://togithub.com/vuejs/core/issues/10724)
- **runtime-core:** props should be readonly via direct template access ([b93f264](https://togithub.com/vuejs/core/commit/b93f26464785de227b88c51a88328ae80e80d804)), closes [#8216](https://togithub.com/vuejs/core/issues/8216) [#10736](https://togithub.com/vuejs/core/issues/10736)
- **transition:** transition is breaking/flickering when enter is canceled ([#10688](https://togithub.com/vuejs/core/issues/10688)) ([65109a7](https://togithub.com/vuejs/core/commit/65109a70f187473edae8cf4df11af3c33345e6f6))
### [`v3.4.23`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3423-2024-04-16)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.22...v3.4.23)
##### Bug Fixes
- **runtime-core:** fix regression for $attrs tracking in slots ([6930e60](https://togithub.com/vuejs/core/commit/6930e60787e4905a50417190263ae7dd46cf5409)), closes [#10710](https://togithub.com/vuejs/core/issues/10710)
- **runtime-core:** use same internal object mechanism for slots ([6df53d8](https://togithub.com/vuejs/core/commit/6df53d85a207986128159d88565e6e7045db2add)), closes [#10709](https://togithub.com/vuejs/core/issues/10709)
### [`v3.4.22`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3422-2024-04-15)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.21...v3.4.22)
##### Bug Fixes
- **compat:** fix $options mutation + adjust private API initialization ([d58d133](https://togithub.com/vuejs/core/commit/d58d133b1cde5085cc5ab0012d544cafd62a6ee6)), closes [#10626](https://togithub.com/vuejs/core/issues/10626) [#10636](https://togithub.com/vuejs/core/issues/10636)
- **compile-sfc:** analyze v-bind shorthand usage in template ([#10518](https://togithub.com/vuejs/core/issues/10518)) ([e5919d4](https://togithub.com/vuejs/core/commit/e5919d4658cfe0bb18c76611dd3c3432c57f94ab)), closes [#10515](https://togithub.com/vuejs/core/issues/10515)
- **compiler-core:** fix loc.source for end tags with whitespace before > ([16174da](https://togithub.com/vuejs/core/commit/16174da21d6c8ac0aae027dd964fc35e221ded0a)), closes [#10694](https://togithub.com/vuejs/core/issues/10694) [#10695](https://togithub.com/vuejs/core/issues/10695)
- **compiler-core:** fix v-bind shorthand for component :is ([04af950](https://togithub.com/vuejs/core/commit/04af9504a720c8e6de26c04b1282cf14fa1bcee3)), closes [#10469](https://togithub.com/vuejs/core/issues/10469) [#10471](https://togithub.com/vuejs/core/issues/10471)
- **compiler-sfc:** :is() and :where() in compound selectors ([#10522](https://togithub.com/vuejs/core/issues/10522)) ([660cadc](https://togithub.com/vuejs/core/commit/660cadc7aadb909ef33a6055c4374902a82607a4)), closes [#10511](https://togithub.com/vuejs/core/issues/10511)
- **compiler-sfc:** also search for `.tsx` when type import's extension is omitted ([#10637](https://togithub.com/vuejs/core/issues/10637)) ([34106bc](https://togithub.com/vuejs/core/commit/34106bc9c715247211273bb9c64712f04bd4879d)), closes [#10635](https://togithub.com/vuejs/core/issues/10635)
- **compiler-sfc:** fix defineModel coercion for boolean + string union types ([#9603](https://togithub.com/vuejs/core/issues/9603)) ([0cef65c](https://togithub.com/vuejs/core/commit/0cef65cee411356e721bbc90d731fc52fc8fce94)), closes [#9587](https://togithub.com/vuejs/core/issues/9587) [#10676](https://togithub.com/vuejs/core/issues/10676)
- **compiler-sfc:** fix universal selector scope ([#10551](https://togithub.com/vuejs/core/issues/10551)) ([54a6afa](https://togithub.com/vuejs/core/commit/54a6afa75a546078e901ce0882da53b97420fe94)), closes [#10548](https://togithub.com/vuejs/core/issues/10548)
- **compiler-sfc:** use options module name if options provide runtimeModuleName options ([#10457](https://togithub.com/vuejs/core/issues/10457)) ([e76d743](https://togithub.com/vuejs/core/commit/e76d7430aa7470342f3fe263145a0fa92f5898ca)), closes [#10454](https://togithub.com/vuejs/core/issues/10454)
- **custom-element:** avoid setting attr to null if it is removed ([#9012](https://togithub.com/vuejs/core/issues/9012)) ([b49306a](https://togithub.com/vuejs/core/commit/b49306adff4572d90a42ccd231387f16eb966bbe)), closes [#9006](https://togithub.com/vuejs/core/issues/9006) [#10324](https://togithub.com/vuejs/core/issues/10324)
- **hydration:** properly handle optimized mode during hydrate node ([#10638](https://togithub.com/vuejs/core/issues/10638)) ([2ec06fd](https://togithub.com/vuejs/core/commit/2ec06fd6c8383e11cdf4efcab1707f973bd6a54c)), closes [#10607](https://togithub.com/vuejs/core/issues/10607)
- **reactivity:** computed should not be detected as true by isProxy ([#10401](https://togithub.com/vuejs/core/issues/10401)) ([9da34d7](https://togithub.com/vuejs/core/commit/9da34d7af81607fddd1f32f21b3b4002402ff1cc))
- **reactivity:** fix hasOwnProperty key coercion edge cases ([969c5fb](https://togithub.com/vuejs/core/commit/969c5fb30f4c725757c7385abfc74772514eae4b))
- **reactivity:** fix tracking when hasOwnProperty is called with non-string value ([c3c5dc9](https://togithub.com/vuejs/core/commit/c3c5dc93fbccc196771458f0b43cd5b7ad1863f4)), closes [#10455](https://togithub.com/vuejs/core/issues/10455) [#10464](https://togithub.com/vuejs/core/issues/10464)
- **runtime-core:** fix errorHandler causes an infinite loop during execution ([#9575](https://togithub.com/vuejs/core/issues/9575)) ([ab59bed](https://togithub.com/vuejs/core/commit/ab59bedae4e5e40b28804d88a51305b236d4a873))
- **runtime-core:** handle invalid values in callWithAsyncErrorHandling ([53d15d3](https://togithub.com/vuejs/core/commit/53d15d3f76184eed67a18d35e43d9a2062f8e121))
- **runtime-core:** show hydration mismatch details for non-rectified mismatches too when **PROD_HYDRATION_MISMATCH_DETAILS** is set ([#10599](https://togithub.com/vuejs/core/issues/10599)) ([0dea7f9](https://togithub.com/vuejs/core/commit/0dea7f9a260d93eb6c39aabac8c94c2c9b2042dd))
- **runtime-dom:** `v-model` string/number coercion for multiselect options ([#10576](https://togithub.com/vuejs/core/issues/10576)) ([db374e5](https://togithub.com/vuejs/core/commit/db374e54c9f5e07324728b85c74eca84e28dd352))
- **runtime-dom:** fix css v-bind for suspensed components ([#8523](https://togithub.com/vuejs/core/issues/8523)) ([67722ba](https://togithub.com/vuejs/core/commit/67722ba23b7c36ab8f3fa2d2b4df08e4ddc322e1)), closes [#8520](https://togithub.com/vuejs/core/issues/8520)
- **runtime-dom:** force update v-model number with leading 0 ([#10506](https://togithub.com/vuejs/core/issues/10506)) ([15ffe8f](https://togithub.com/vuejs/core/commit/15ffe8f2c954359770c57e4d9e589b0b622e4a60)), closes [#10503](https://togithub.com/vuejs/core/issues/10503) [#10615](https://togithub.com/vuejs/core/issues/10615)
- **runtime-dom:** sanitize wrongly passed string value as event handler ([#8953](https://togithub.com/vuejs/core/issues/8953)) ([7ccd453](https://togithub.com/vuejs/core/commit/7ccd453dd004076cad49ec9f56cd5fe97b7b6ed8)), closes [#8818](https://togithub.com/vuejs/core/issues/8818)
- **ssr:** don't render v-if comments in TransitionGroup ([#6732](https://togithub.com/vuejs/core/issues/6732)) ([5a96267](https://togithub.com/vuejs/core/commit/5a9626708e970c6fc0b6f786e3c80c22273d126f)), closes [#6715](https://togithub.com/vuejs/core/issues/6715)
- **Transition:** ensure the KeepAlive children unmount w/ out-in mode ([#10632](https://togithub.com/vuejs/core/issues/10632)) ([fc99e4d](https://togithub.com/vuejs/core/commit/fc99e4d3f01b190ef9fd3c218a668ba9124a32bc)), closes [#10620](https://togithub.com/vuejs/core/issues/10620)
- **TransitionGroup:** avoid set transition hooks for comment nodes and text nodes ([#9421](https://togithub.com/vuejs/core/issues/9421)) ([140a768](https://togithub.com/vuejs/core/commit/140a7681cc3bba22f55d97fd85a5eafe97a1230f)), closes [#4621](https://togithub.com/vuejs/core/issues/4621) [#4622](https://togithub.com/vuejs/core/issues/4622) [#5153](https://togithub.com/vuejs/core/issues/5153) [#5168](https://togithub.com/vuejs/core/issues/5168) [#7898](https://togithub.com/vuejs/core/issues/7898) [#9067](https://togithub.com/vuejs/core/issues/9067)
- **types:** avoid merging object union types when using withDefaults ([#10596](https://togithub.com/vuejs/core/issues/10596)) ([37ba93c](https://togithub.com/vuejs/core/commit/37ba93c213a81f99a68a99ef5d4065d61b150ba3)), closes [#10594](https://togithub.com/vuejs/core/issues/10594)
##### Performance Improvements
- add `__NO_SIDE_EFFECTS__` comments ([#9053](https://togithub.com/vuejs/core/issues/9053)) ([d46df6b](https://togithub.com/vuejs/core/commit/d46df6bdb14b0509eb2134b3f85297a306821c61))
- optimize component props/slots internal object checks ([6af733d](https://togithub.com/vuejs/core/commit/6af733d68eb400a3d2c5ef5f465fff32b72a324e))
- **ssr:** avoid calling markRaw on component instance proxy ([4bc9f39](https://togithub.com/vuejs/core/commit/4bc9f39f028af7313e5cf24c16915a1985d27bf8))
- **ssr:** optimize setup context creation for ssr in v8 ([ca84316](https://togithub.com/vuejs/core/commit/ca84316bfb3410efe21333670a6ad5cd21857396))
### [`v3.4.21`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3421-2024-02-28)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.20...v3.4.21)
##### Bug Fixes
- **runtime-dom:** avoid unset option's value ([#10416](https://togithub.com/vuejs/core/issues/10416)) ([b3f8b5a](https://togithub.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb)), closes [#10412](https://togithub.com/vuejs/core/issues/10412) [#10396](https://togithub.com/vuejs/core/issues/10396)
- **suspense:** ensure nested suspense patching if in fallback state ([#10417](https://togithub.com/vuejs/core/issues/10417)) ([7c97778](https://togithub.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106)), closes [#10415](https://togithub.com/vuejs/core/issues/10415)
- **warning:** stringify args in warn handler ([#10414](https://togithub.com/vuejs/core/issues/10414)) ([bc37258](https://togithub.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124)), closes [#10409](https://togithub.com/vuejs/core/issues/10409)
### [`v3.4.20`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3420-2024-02-26)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.19...v3.4.20)
##### Bug Fixes
- **parser:** should not treat uppercase components as special tags ([e0e0253](https://togithub.com/vuejs/core/commit/e0e02535cdea1aeb1cfaff0d61d4b2555e555c36)), closes [#10395](https://togithub.com/vuejs/core/issues/10395)
- **runtime-dom:** avoid always resetting nullish option value ([ff130c4](https://togithub.com/vuejs/core/commit/ff130c470204086edaa093fb8fdc1247c69cba69)), closes [#10396](https://togithub.com/vuejs/core/issues/10396)
- **runtime-dom:** fix nested v-show priority regression ([364f890](https://togithub.com/vuejs/core/commit/364f8902c8657faec7c3a4d70a5b2c856567e92d)), closes [#10338](https://togithub.com/vuejs/core/issues/10338)
- **runtime-dom:** v-bind style should clear previous css string value ([#10373](https://togithub.com/vuejs/core/issues/10373)) ([e2d3235](https://togithub.com/vuejs/core/commit/e2d323538e71d404e729148fd19a08bbc2e3da9b)), closes [#10352](https://togithub.com/vuejs/core/issues/10352)
- **suspense:** handle suspense switching with nested suspense ([#10184](https://togithub.com/vuejs/core/issues/10184)) ([0f3da05](https://togithub.com/vuejs/core/commit/0f3da05ea201761529bb95594df1e2cee20b7107)), closes [#10098](https://togithub.com/vuejs/core/issues/10098)
- **types:** better typing for direct setup signature of defineComponent ([#10357](https://togithub.com/vuejs/core/issues/10357)) ([eadce5b](https://togithub.com/vuejs/core/commit/eadce5b75356656fd2209ebdb406d34823c961b7)), closes [#8604](https://togithub.com/vuejs/core/issues/8604) [#8855](https://togithub.com/vuejs/core/issues/8855)
### [`v3.4.19`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3419-2024-02-13)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.18...v3.4.19)
##### Bug Fixes
- **deps:** pin lru-cache to avoid hashing error ([b8be990](https://togithub.com/vuejs/core/commit/b8be99018ceae92d1732dfb414df12b36b90b31f)), closes [#10300](https://togithub.com/vuejs/core/issues/10300)
- **hydration:** fix css vars hydration mismatch false positive on non-root nodes ([995d2fd](https://togithub.com/vuejs/core/commit/995d2fdcca485c24849c99f498c1edc163722e04)), closes [#10317](https://togithub.com/vuejs/core/issues/10317) [#10325](https://togithub.com/vuejs/core/issues/10325)
- **runtime-dom:** should not trigger transition when v-show value is falsy ([#10311](https://togithub.com/vuejs/core/issues/10311)) ([e509639](https://togithub.com/vuejs/core/commit/e50963903d93a7f24003b6e2c03647fdf7454b1e))
##### Features
> Note: this warning is categorized as a feature but released in a patch because it does not affect public APIs.
- **dx:** warn users when computed is self-triggering ([#10299](https://togithub.com/vuejs/core/issues/10299)) ([f7ba97f](https://togithub.com/vuejs/core/commit/f7ba97f9754a9882c1f6b1c07ca1a4040479dd13))
##### Performance Improvements
- **runtime:** improve `getType()` GC and speed ([#10327](https://togithub.com/vuejs/core/issues/10327)) ([603a1e1](https://togithub.com/vuejs/core/commit/603a1e1f5ad587c077f0d974c1bbe856be22ebe9))
### [`v3.4.18`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3418-2024-02-09)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.17...v3.4.18)
##### Bug Fixes
- **dx:** warn against reserved keys as prop name ([77a804b](https://togithub.com/vuejs/core/commit/77a804b1d0d6a3f12fb3674cdceb85ebd6481e02)), closes [#10281](https://togithub.com/vuejs/core/issues/10281)
- **runtime-dom:** ensure v-show respects display value set via v-bind ([#10297](https://togithub.com/vuejs/core/issues/10297)) ([c224897](https://togithub.com/vuejs/core/commit/c224897dd4e189a10ec601a97fe08cb638ebee19)), closes [#10151](https://togithub.com/vuejs/core/issues/10151)
### [`v3.4.17`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3417-2024-02-09)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.16...v3.4.17)
##### Reverts
- fix(runtime-dom): ensure v-show respects display value set via v-bind ([#10161](https://togithub.com/vuejs/core/issues/10161)) ([2cd5b05](https://togithub.com/vuejs/core/commit/2cd5b05c3bf171be5c0b473c084c01704a058ffa)), closes [#10294](https://togithub.com/vuejs/core/issues/10294) [#10151](https://togithub.com/vuejs/core/issues/10151)
### [`v3.4.16`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3416-2024-02-08)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.15...v3.4.16)
##### Bug Fixes
- **compiler-core:** handle same-name shorthand edge case for in-DOM templates ([cb87b62](https://togithub.com/vuejs/core/commit/cb87b6213d7b003fa7280712c285c7c9d9f291ca)), closes [#10280](https://togithub.com/vuejs/core/issues/10280)
- **compiler-core:** support v-bind shorthand syntax for dynamic slot name ([#10218](https://togithub.com/vuejs/core/issues/10218)) ([91f058a](https://togithub.com/vuejs/core/commit/91f058a90cd603492649633d153b120977c4df6b)), closes [#10213](https://togithub.com/vuejs/core/issues/10213)
- **deps:** update compiler ([#10269](https://togithub.com/vuejs/core/issues/10269)) ([336bb65](https://togithub.com/vuejs/core/commit/336bb65820243006efdf990e6ea3610696467508))
- **hydration:** fix SFC style v-bind hydration mismatch warnings ([#10250](https://togithub.com/vuejs/core/issues/10250)) ([f0b5f7e](https://togithub.com/vuejs/core/commit/f0b5f7ed8ddf74f9f5ba47cb65e8300370875291)), closes [#10215](https://togithub.com/vuejs/core/issues/10215)
- **reactivity:** avoid infinite recursion from side effects in computed getter ([#10232](https://togithub.com/vuejs/core/issues/10232)) ([0bced13](https://togithub.com/vuejs/core/commit/0bced13ee5c53a02d5f10e5db76fe38b6e131440)), closes [#10214](https://togithub.com/vuejs/core/issues/10214)
- **reactivity:** handle `MaybeDirty` recurse ([#10187](https://togithub.com/vuejs/core/issues/10187)) ([6c7e0bd](https://togithub.com/vuejs/core/commit/6c7e0bd88f021b0b6365370e97b0c7e243d7d70b)), closes [#10185](https://togithub.com/vuejs/core/issues/10185)
- **reactivity:** skip non-extensible objects when using `markRaw` ([#10289](https://togithub.com/vuejs/core/issues/10289)) ([2312184](https://togithub.com/vuejs/core/commit/2312184bc335e0d32aa4c0c0b49190b6334849b4)), closes [#10288](https://togithub.com/vuejs/core/issues/10288)
- **runtime-core:** avoid inlining isShallow ([#10238](https://togithub.com/vuejs/core/issues/10238)) ([53eee72](https://togithub.com/vuejs/core/commit/53eee72c3a96420db35236b5e8e4d9308a56e1b4))
- **runtime-core:** support for nested calls to runWithContext ([#10261](https://togithub.com/vuejs/core/issues/10261)) ([75e02b5](https://togithub.com/vuejs/core/commit/75e02b5099a08166bdf407127916734c48209ee9)), closes [#10260](https://togithub.com/vuejs/core/issues/10260)
- **runtime-dom:** ensure v-show respects display value set via v-bind ([#10161](https://togithub.com/vuejs/core/issues/10161)) ([9b19f09](https://togithub.com/vuejs/core/commit/9b19f0912104bfccb10c8cf5beab02b21a648935)), closes [#10151](https://togithub.com/vuejs/core/issues/10151)
- **runtime-dom:** fix option selected update failed ([#10200](https://togithub.com/vuejs/core/issues/10200)) ([f31d782](https://togithub.com/vuejs/core/commit/f31d782e4668050a188ac0f11ba8d5b861b913ca)), closes [#10194](https://togithub.com/vuejs/core/issues/10194) [#10267](https://togithub.com/vuejs/core/issues/10267)
##### Reverts
- perf(templateRef): avoid double render when using template ref on v-for ([eb1b911](https://togithub.com/vuejs/core/commit/eb1b9116d7cd4a5747e8dadcdc5ba921df011f64)), closes [#9908](https://togithub.com/vuejs/core/issues/9908) [#10210](https://togithub.com/vuejs/core/issues/10210) [#10234](https://togithub.com/vuejs/core/issues/10234)
### [`v3.4.15`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3415-2024-01-18)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.14...v3.4.15)
##### Bug Fixes
- **compiler-sfc:** fix type resolution for symlinked node_modules structure w/ pnpm ([75e866b](https://togithub.com/vuejs/core/commit/75e866bd4ef368b4e037a4933dbaf188920dc683)), closes [#10121](https://togithub.com/vuejs/core/issues/10121)
- correct url for production error reference links ([c3087ff](https://togithub.com/vuejs/core/commit/c3087ff2cce7d96c60a870f8233441311ab4dfb4))
- **hydration:** fix incorect mismatch warning for option with non-string value and inner text ([d16a213](https://togithub.com/vuejs/core/commit/d16a2138a33b106b9e1499bbb9e1c67790370c97))
- **reactivity:** re-fix [#10114](https://togithub.com/vuejs/core/issues/10114) ([#10123](https://togithub.com/vuejs/core/issues/10123)) ([c2b274a](https://togithub.com/vuejs/core/commit/c2b274a887f61deb7e0185d1bef3b77d31e991cc))
- **runtime-core:** should not warn out-of-render slot fn usage when mounting another app in setup ([#10125](https://togithub.com/vuejs/core/issues/10125)) ([6fa33e6](https://togithub.com/vuejs/core/commit/6fa33e67ec42af140a86fbdb86939032c3a1f345)), closes [#10124](https://togithub.com/vuejs/core/issues/10124)
##### Performance Improvements
- **templateRef:** avoid double render when using template ref on v-for ([de4d2e2](https://togithub.com/vuejs/core/commit/de4d2e2143ea8397cebeb1c7a57a60007b283c9f)), closes [#9908](https://togithub.com/vuejs/core/issues/9908)
- **v-model:** optimize v-model multiple select w/ large lists ([2ffb956](https://togithub.com/vuejs/core/commit/2ffb956efe692da059f4895669084c5278871351)), closes [#10014](https://togithub.com/vuejs/core/issues/10014)
### [`v3.4.14`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3414-2024-01-15)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.13...v3.4.14)
##### Bug Fixes
- **compiler-sfc:** enable prefixIdentifiers by default when reparsing on consumed AST ([#10105](https://togithub.com/vuejs/core/issues/10105)) ([48bf8e4](https://togithub.com/vuejs/core/commit/48bf8e4c708ec620e4852d71c8713394457108ee))
- **deps:** update dependency postcss to ^8.4.33 ([#10110](https://togithub.com/vuejs/core/issues/10110)) ([a557006](https://togithub.com/vuejs/core/commit/a557006f8e7f110c6f322de38931dceaab8e9cbb))
- **reactivity:** fix regression for computed with mutation ([#10119](https://togithub.com/vuejs/core/issues/10119)) ([20f62af](https://togithub.com/vuejs/core/commit/20f62afaafd422e42b99dde9c16f9a4ebfb9c5f7)), closes [#10114](https://togithub.com/vuejs/core/issues/10114)
### [`v3.4.13`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3413-2024-01-13)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.12...v3.4.13)
##### Bug Fixes
- **reactivity:** fix dirtyLevel checks for recursive effects ([#10101](https://togithub.com/vuejs/core/issues/10101)) ([e45a8d2](https://togithub.com/vuejs/core/commit/e45a8d24b46c174deb46ed952bdaf54c81ad5a85)), closes [#10082](https://togithub.com/vuejs/core/issues/10082)
### [`v3.4.12`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3412-2024-01-13)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.11...v3.4.12)
##### Reverts
- fix(reactivity): correct dirty assign in render function ([#10091](https://togithub.com/vuejs/core/issues/10091)) ([8b18481](https://togithub.com/vuejs/core/commit/8b1848173b0bc8fd84ce1da1af8d373c044bf073)), closes [#10098](https://togithub.com/vuejs/core/issues/10098) [#10100](https://togithub.com/vuejs/core/issues/10100)
### [`v3.4.11`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3411-2024-01-12)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.10...v3.4.11)
##### Bug Fixes
- **hydration:** improve mismatch when client valut is null or undefined ([#10086](https://togithub.com/vuejs/core/issues/10086)) ([08b60f5](https://togithub.com/vuejs/core/commit/08b60f5d0d5b57fcf3347ef66cbeab472c475a88))
- **reactivity:** correct dirty assign in render function ([#10091](https://togithub.com/vuejs/core/issues/10091)) ([8d04205](https://togithub.com/vuejs/core/commit/8d042050411fdf04d9d1d6c153287164b12e0255)), closes [#10082](https://togithub.com/vuejs/core/issues/10082)
- **runtime-core:** filter single root for nested DEV_ROOT_FRAGMENT ([#8593](https://togithub.com/vuejs/core/issues/8593)) ([d35b877](https://togithub.com/vuejs/core/commit/d35b87725ab3e2bdc86fb5781ab34939f7ec1029)), closes [#5203](https://togithub.com/vuejs/core/issues/5203) [#8581](https://togithub.com/vuejs/core/issues/8581) [#10087](https://togithub.com/vuejs/core/issues/10087)
### [`v3.4.10`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3410-2024-01-11)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.9...v3.4.10)
##### Bug Fixes
- **hydration:** should not warn on falsy bindings of non-property keys ([3907c87](https://togithub.com/vuejs/core/commit/3907c87ce23cc6ef4a739b5a66ddb553e8723114))
### [`v3.4.9`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#349-2024-01-11)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.8...v3.4.9)
##### Bug Fixes
- **build:** avoid accessing **FEATURE_PROD_DEVTOOLS** flag in root scope ([dfd9654](https://togithub.com/vuejs/core/commit/dfd9654665890d1bc7129f6e3c2faaa5b1f28f72))
- **hydration:** do not warn against bindings w/ object values ([dcc68ef](https://togithub.com/vuejs/core/commit/dcc68ef7d48973abd8dd3178b46e50e3b0785ea4))
- **runtime-dom:** unify behavior for v-show + style display binding ([#10075](https://togithub.com/vuejs/core/issues/10075)) ([cd419ae](https://togithub.com/vuejs/core/commit/cd419aec3cb615eaea8b2324356f38f4c0ff1fcc)), closes [#10074](https://togithub.com/vuejs/core/issues/10074)
- **suspense:** avoid double-patching nested suspense when parent suspense is not resolved ([#10055](https://togithub.com/vuejs/core/issues/10055)) ([bcda96b](https://togithub.com/vuejs/core/commit/bcda96b525801eb7a1d397300fb3f2f9b827ddfb)), closes [#8678](https://togithub.com/vuejs/core/issues/8678)
### [`v3.4.8`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#348-2024-01-10)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.7...v3.4.8)
##### Bug Fixes
- **hydration:** fix class and style hydration mismatch message ([5af3987](https://togithub.com/vuejs/core/commit/5af398729168481c3bee741b4f36fa4f375e0f4a)), closes [#10067](https://togithub.com/vuejs/core/issues/10067)
- **hydration:** improve attr hydration mismatch check for boolean attrs ([972face](https://togithub.com/vuejs/core/commit/972facee0d892a1b6d9d4ad1da5da9306ed45c3f)), closes [#10057](https://togithub.com/vuejs/core/issues/10057) [#10060](https://togithub.com/vuejs/core/issues/10060)
- **suspense:** fix more suspense patch before resolve edge cases ([70ad4ca](https://togithub.com/vuejs/core/commit/70ad4caad7d19938f8ccf1ede3228a81254dd4bf)), closes [#10017](https://togithub.com/vuejs/core/issues/10017)
### [`v3.4.7`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#347-2024-01-09)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.6...v3.4.7)
##### Bug Fixes
- **parser:** skip compat mode check for SFC root `` tags ([#10034](https://togithub.com/vuejs/core/issues/10034)) ([923d560](https://togithub.com/vuejs/core/commit/923d560d0b6713144671809b6dfeb1e2da503b1f))
- **types:** fix functional component for `h` ([#9991](https://togithub.com/vuejs/core/issues/9991)) ([438a74a](https://togithub.com/vuejs/core/commit/438a74aad840183286fbdb488178510f37218a73))
##### Reverts
- "dx(computed): warn incorrect use of getCurrentInstance inside computed" ([2fd3905](https://togithub.com/vuejs/core/commit/2fd39057386644c8bfee426c60a51f2b07a79b09))
### [`v3.4.6`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#346-2024-01-08)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.5...v3.4.6)
##### Bug Fixes
- **build:** revert "build: add production/development export conditions ([#9977](https://togithub.com/vuejs/core/issues/9977))" ([7bd4e90](https://togithub.com/vuejs/core/commit/7bd4e90506547c42234165776b01793abd37b148)), closes [#10012](https://togithub.com/vuejs/core/issues/10012) [#10020](https://togithub.com/vuejs/core/issues/10020)
- fix post watcher fire timing on nested app mounts ([3c3561e](https://togithub.com/vuejs/core/commit/3c3561e7203091f49d57f1da6d822c91e462bc46)), closes [#10005](https://togithub.com/vuejs/core/issues/10005)
- **hydration:** avoid hydration mismatch warning for styles with different order ([#10011](https://togithub.com/vuejs/core/issues/10011)) ([2701355](https://togithub.com/vuejs/core/commit/2701355e8eb07ab664e398d9fc05d6c4e2e9b20e)), closes [#10000](https://togithub.com/vuejs/core/issues/10000) [#10006](https://togithub.com/vuejs/core/issues/10006)
- **runtime-core:** handle fragment with null children ([#10010](https://togithub.com/vuejs/core/issues/10010)) ([3bf34b7](https://togithub.com/vuejs/core/commit/3bf34b767e4dd3cf6a974301ecf0363ae4dda4ec)), closes [#10007](https://togithub.com/vuejs/core/issues/10007)
- **scheduler:** sort nested postFlushCbs ([d9162df](https://togithub.com/vuejs/core/commit/d9162dfc2ee0c3a369fb9bf32ff413e74761bee6)), closes [#10003](https://togithub.com/vuejs/core/issues/10003)
- **suspense:** fix anchor for suspense with transition out-in ([#9999](https://togithub.com/vuejs/core/issues/9999)) ([a3fbf21](https://togithub.com/vuejs/core/commit/a3fbf2132b0cd3655e969e290548c8fabc08fd33)), closes [#9996](https://togithub.com/vuejs/core/issues/9996)
- **types:** allow `null` type for textarea value ([#9997](https://togithub.com/vuejs/core/issues/9997)) ([c379bc2](https://togithub.com/vuejs/core/commit/c379bc29efc70d6ac5840de10c357ee3dad998c0)), closes [#9904](https://togithub.com/vuejs/core/issues/9904)
### [`v3.4.5`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#345-2024-01-04)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.4...v3.4.5)
##### Bug Fixes
- **compiler-sfc:** fix co-usage of defineModel transform options and props destructure ([b20350d](https://togithub.com/vuejs/core/commit/b20350ded562d27e5901f308d0bc13344f840c4a)), closes [#9972](https://togithub.com/vuejs/core/issues/9972)
- **compiler-sfc:** fix sfc template unref rewrite for class instantiation ([ae60a91](https://togithub.com/vuejs/core/commit/ae60a91cc23424493071ad9088782763eb1e8ff7)), closes [#6483](https://togithub.com/vuejs/core/issues/6483) [#6491](https://togithub.com/vuejs/core/issues/6491)
- **compiler-ssr:** fix node clone edge case caused by AST reuse ([#9983](https://togithub.com/vuejs/core/issues/9983)) ([7dbdb3e](https://togithub.com/vuejs/core/commit/7dbdb3edf0ab648965331ca42f069387c97a1c8a)), closes [#9981](https://togithub.com/vuejs/core/issues/9981)
- **watch:** cleanup watcher effect from scope when manually stopped ([#9978](https://togithub.com/vuejs/core/issues/9978)) ([d2d8955](https://togithub.com/vuejs/core/commit/d2d89551bb06dc05cb7ae0496b8f345ae0de78ed))
### [`v3.4.4`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#344-2024-01-03)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.3...v3.4.4)
##### Bug Fixes
- **compiler-sfc:** fix scss source map regression ([71d3121](https://togithub.com/vuejs/core/commit/71d3121b72c449351e718ee1539bdfa35b68bb32)), closes [#9970](https://togithub.com/vuejs/core/issues/9970) [#9969](https://togithub.com/vuejs/core/issues/9969)
- **compiler-sfc:** use compilerOptions when re-parsing consumed AST ([d94d8d4](https://togithub.com/vuejs/core/commit/d94d8d4bffd1daf171a655b292745ffc3e63052d))
- **defineModel:** support kebab-case/camelCase mismatches ([#9950](https://togithub.com/vuejs/core/issues/9950)) ([10ccb9b](https://togithub.com/vuejs/core/commit/10ccb9bfa0f5f3016207fc32b9611bab98e6f090))
- **runtime-core:** correctly assign suspenseId to avoid conflicts with the default id ([#9966](https://togithub.com/vuejs/core/issues/9966)) ([0648804](https://togithub.com/vuejs/core/commit/06488047c184dae3070d0008379716690edceb46)), closes [#9944](https://togithub.com/vuejs/core/issues/9944)
- **ssr:** avoid rendering transition-group slot content as a fragment ([#9961](https://togithub.com/vuejs/core/issues/9961)) ([0160264](https://togithub.com/vuejs/core/commit/0160264d677478ee928e8e851f39a9e94f97e337)), closes [#9933](https://togithub.com/vuejs/core/issues/9933)
- **watch:** remove instance unmounted short circuit in getter of `watchEffect` ([#9948](https://togithub.com/vuejs/core/issues/9948)) ([f300a40](https://togithub.com/vuejs/core/commit/f300a4001ec40cadef2520267eb5841ab48cf005))
- **watch:** revert watch behavior when watching shallow reactive objects ([a9f781a](https://togithub.com/vuejs/core/commit/a9f781a92cbc7de7b25c9e3d5b1295ca99eb6d86)), closes [#9965](https://togithub.com/vuejs/core/issues/9965)
##### Performance Improvements
- **watch:** avoid double traverse for reactive source ([24d77c2](https://togithub.com/vuejs/core/commit/24d77c25ce5d5356adb5367beef1d23e6e340b35))
### [`v3.4.3`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#343-2023-12-30)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.2...v3.4.3)
##### Bug Fixes
- **compiler-sfc:** respect sfc parse options in cache key ([b8d58ec](https://togithub.com/vuejs/core/commit/b8d58ec4f42cbeb9443bf06138add46158db9af0))
### [`v3.4.2`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#342-2023-12-30)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.1...v3.4.2)
##### Bug Fixes
- **compiler-sfc:** fix dev regression for dot / namespace component usage ([dce99c1](https://togithub.com/vuejs/core/commit/dce99c12df981ca45a4d848c37ba8b16496025f0)), closes [#9947](https://togithub.com/vuejs/core/issues/9947)
- **runtime-core:** support deep: false when watch reactive ([#9928](https://togithub.com/vuejs/core/issues/9928)) ([4f703d1](https://togithub.com/vuejs/core/commit/4f703d120d76d711084346f73ea295c73e6ef6b6)), closes [#9916](https://togithub.com/vuejs/core/issues/9916)
- **ssr:** fix hydration error for slot outlet inside transition-group ([#9937](https://togithub.com/vuejs/core/issues/9937)) ([6cb00ed](https://togithub.com/vuejs/core/commit/6cb00ed0f9b64428ec18fada0f68467d6a813fde)), closes [#9933](https://togithub.com/vuejs/core/issues/9933)
### [`v3.4.1`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#341-2023-12-30)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.4.0...v3.4.1)
##### Bug Fixes
- **compat:** correct enum value for COMPILER_FILTERS feature ([#9875](https://togithub.com/vuejs/core/issues/9875)) ([77d33e2](https://togithub.com/vuejs/core/commit/77d33e263cf19983caf4e5c53a0eb0bee374843c))
- **defineModel:** always default modifiers to empty object ([9bc3c7e](https://togithub.com/vuejs/core/commit/9bc3c7e29cf15f5ca96703542d10cfd786a3fc55)), closes [#9945](https://togithub.com/vuejs/core/issues/9945)
- **defineModel:** support local mutation when only prop but no listener is passed ([97ce041](https://togithub.com/vuejs/core/commit/97ce041910b6ca4bef10f939493d6b5a06ea5b07))
- **types:** fix defineModel watch type error ([#9942](https://togithub.com/vuejs/core/issues/9942)) ([4af8583](https://togithub.com/vuejs/core/commit/4af85835f7e593a7dffa7dc7e99f14877eb70fd1)), closes [#9939](https://togithub.com/vuejs/core/issues/9939)
##### Features
- **compiler-sfc:** support passing template parsing options when parsing sfc ([6fab855](https://togithub.com/vuejs/core/commit/6fab8551e4aeef4610987640de8b435b1ae321bb)) (necessary to fix [https://github.com/vitejs/vite-plugin-vue/issues/322](https://togithub.com/vitejs/vite-plugin-vue/issues/322))
### [`v3.4.0`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#340-Slam-Dunk-2023-12-29)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.3.13...v3.4.0)
> Read [this blog post](https://blog.vuejs.org/posts/vue-3-4) for an overview of the release highlights.
##### Potential Actions Needed
1. To fully leverage new features in 3.4, it is recommended to also update the following dependencies when upgrading to 3.4:
- Volar / vue-tsc@^1.8.27 (**required**)
- [@vitejs/plugin-vue](https://togithub.com/vitejs/plugin-vue)@^5.0.0 (if using Vite)
- nuxt@^3.9.0 (if using Nuxt)
- vue-loader@^17.4.0 (if using webpack or vue-cli)
2. If using TSX with Vue, check actions needed in [Removed: Global JSX Namespace](https://blog.vuejs.org/posts/vue-3-4#global-jsx-namespace).
3. Make sure you are no longer using any deprecated features (if you are, you should have warnings in the console telling you so). They may have been [removed in 3.4](https://blog.vuejs.org/posts/vue-3-4#other-removed-features).
##### Features
- **general:** MathML support ([#7836](https://togithub.com/vuejs/core/issues/7836)) ([d42b6ba](https://togithub.com/vuejs/core/commit/d42b6ba3f530746eb1221eb7a4be0f44eb56f7d3)), closes [#7820](https://togithub.com/vuejs/core/issues/7820)
- **reactivity:** more efficient reactivity system ([#5912](https://togithub.com/vuejs/core/issues/5912)) ([16e06ca](https://togithub.com/vuejs/core/commit/16e06ca08f5a1e2af3fc7fb35de153dbe0c3087d)), closes [#311](https://togithub.com/vuejs/core/issues/311) [#1811](https://togithub.com/vuejs/core/issues/1811) [#6018](https://togithub.com/vuejs/core/issues/6018) [#7160](https://togithub.com/vuejs/core/issues/7160) [#8714](https://togithub.com/vuejs/core/issues/8714) [#9149](https://togithub.com/vuejs/core/issues/9149) [#9419](https://togithub.com/vuejs/core/issues/9419) [#9464](https://togithub.com/vuejs/core/issues/9464)
- **reactivity:** expose last result for computed getter ([#9497](https://togithub.com/vuejs/core/issues/9497)) ([48b47a1](https://togithub.com/vuejs/core/commit/48b47a1ab63577e2dbd91947eea544e3ef185b85))
- **runtime-core / dx:** link errors to docs in prod build ([#9165](https://togithub.com/vuejs/core/issues/9165)) ([9f8ba98](https://togithub.com/vuejs/core/commit/9f8ba9821fe166f77e63fa940e9e7e13ec3344fa))
- **runtime-core:** add `once` option to watch ([#9034](https://togithub.com/vuejs/core/issues/9034)) ([a645e7a](https://togithub.com/vuejs/core/commit/a645e7aa51006516ba668b3a4365d296eb92ee7d))
- **runtime-core:** provide full props to props validator functions ([#3258](https://togithub.com/vuejs/core/issues/3258)) ([8e27692](https://togithub.com/vuejs/core/commit/8e27692029a4645cd54287f776c0420f2b82740b))
- **compiler-core:** export error message ([#8729](https://togithub.com/vuejs/core/issues/8729)) ([f7e80ee](https://togithub.com/vuejs/core/commit/f7e80ee4a065a9eaba98720abf415d9e87756cbd))
- **compiler-core:** support specifying root namespace when parsing ([40f72d5](https://togithub.com/vuejs/core/commit/40f72d5e50b389cb11b7ca13461aa2a75ddacdb4))
- **compiler-core:** support v-bind shorthand for key and value with the same name ([#9451](https://togithub.com/vuejs/core/issues/9451)) ([26399aa](https://togithub.com/vuejs/core/commit/26399aa6fac1596b294ffeba06bb498d86f5508c))
- **compiler-core:** improve parsing tolerance for language-tools ([41ff68e](https://togithub.com/vuejs/core/commit/41ff68ea579d933333392146625560359acb728a))
- **compiler-core:** support accessing Error as global in template expressions ([#7018](https://togithub.com/vuejs/core/issues/7018)) ([bcca475](https://togithub.com/vuejs/core/commit/bcca475dbc58d76434cd8120b94929758cee2825))
- **compiler-core:** lift vnode hooks deprecation warning to error ([8abc754](https://togithub.com/vuejs/core/commit/8abc754d5d86d9dfd5a7927b846f1a743f352364))
- **compiler-core:** export runtime error strings ([#9301](https://togithub.com/vuejs/core/issues/9301)) ([feb2f2e](https://togithub.com/vuejs/core/commit/feb2f2edce2d91218a5e9a52c81e322e4033296b))
- **compiler-core:** add current filename to TransformContext ([#8950](https://togithub.com/vuejs/core/issues/8950)) ([638f1ab](https://togithub.com/vuejs/core/commit/638f1abbb632000553e2b7d75e87c95d8ca192d6))
- **compiler-sfc:** analyze import usage in template via AST ([#9729](https://togithub.com/vuejs/core/issues/9729)) ([e8bbc94](https://togithub.com/vuejs/core/commit/e8bbc946cba6bf74c9da56f938b67d2a04c340ba)), closes [#8897](https://togithub.com/vuejs/core/issues/8897) [nuxt/nuxt#22416](https://togithub.com/nuxt/nuxt/issues/22416)
- **compiler-sfc:** expose resolve type-based props and emits ([#8874](https://togithub.com/vuejs/core/issues/8874)) ([9e77580](https://togithub.com/vuejs/core/commit/9e77580c0c2f0d977bd0031a1d43cc334769d433))
- **compiler-sfc:** bump postcss-modules to v6 ([2a507e3](https://togithub.com/vuejs/core/commit/2a507e32f0e2ef73813705a568b8633f68bda7a9))
- **compiler-sfc:** promote defineModel stable ([#9598](https://togithub.com/vuejs/core/issues/9598)) ([ef688ba](https://togithub.com/vuejs/core/commit/ef688ba92bfccbc8b7ea3997eb297665d13e5249))
- **compiler-sfc:** support import attributes and `using` syntax ([#8786](https://togithub.com/vuejs/core/issues/8786)) ([5b2bd1d](https://togithub.com/vuejs/core/commit/5b2bd1df78e8ff524c3a184adaa284681aba6574))
- **compiler-sfc:** `defineModel` support local mutation by default, remove local option ([f74785b](https://togithub.com/vuejs/core/commit/f74785bc4ad351102dde17fdfd2c7276b823111f)), closes [/github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278](https://togithub.com//github.com/vuejs/rfcs/discussions/503/issues/discussioncomment-7566278)
- **ssr:** add `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` feature flag ([#9550](https://togithub.com/vuejs/core/issues/9550)) ([bc7698d](https://togithub.com/vuejs/core/commit/bc7698dbfed9b5327a93565f9df336ae5a94d605))
- **ssr:** improve ssr hydration mismatch checks ([#5953](https://togithub.com/vuejs/core/issues/5953)) ([2ffc1e8](https://togithub.com/vuejs/core/commit/2ffc1e8cfdc6ec9c45c4a4dd8e3081b2aa138f1e)), closes [#5063](https://togithub.com/vuejs/core/issues/5063)
- **types:** use enum to replace const enum ([#9261](https://togithub.com/vuejs/core/issues/9261)) ([fff7b86](https://togithub.com/vuejs/core/commit/fff7b864f4292d0430ba2bda7098ad43876b0210)), closes [#1228](https://togithub.com/vuejs/core/issues/1228)
- **types:** add emits and slots type to `FunctionalComponent` ([#8644](https://togithub.com/vuejs/core/issues/8644)) ([927ab17](https://togithub.com/vuejs/core/commit/927ab17cfc645e82d061fdf227c34689491268e1))
- **types:** export `AriaAttributes` type ([#8909](https://togithub.com/vuejs/core/issues/8909)) ([fd0b6ba](https://togithub.com/vuejs/core/commit/fd0b6ba01660499fa07b0cf360eefaac8cca8287))
- **types:** export `ObjectPlugin` and `FunctionPlugin` types ([#8946](https://togithub.com/vuejs/core/issues/8946)) ([fa4969e](https://togithub.com/vuejs/core/commit/fa4969e7a3aefa6863203f9294fc5e769ddf6d8f)), closes [#8577](https://togithub.com/vuejs/core/issues/8577)
- **types:** expose `DefineProps` type ([096ba81](https://togithub.com/vuejs/core/commit/096ba81817b7da15f61bc55fc1a93f72ac9586e0))
- **types:** expose `PublicProps` type ([#2403](https://togithub.com/vuejs/core/issues/2403)) ([44135dc](https://togithub.com/vuejs/core/commit/44135dc95fb8fea26b84d1433839d28b8c21f708))
- **types:** improve event type inference when using `h` with native elements ([#9756](https://togithub.com/vuejs/core/issues/9756)) ([a625376](https://togithub.com/vuejs/core/commit/a625376ac8901eea81bf3c66cb531f2157f073ef))
- **types:** provide `ComponentInstance` type ([#5408](https://togithub.com/vuejs/core/issues/5408)) ([bfb8565](https://togithub.com/vuejs/core/commit/bfb856565d3105db4b18991ae9e404e7cc989b25))
- **types:** support passing generics when registering global directives ([#9660](https://togithub.com/vuejs/core/issues/9660)) ([a41409e](https://togithub.com/vuejs/core/commit/a41409ed02a8c7220e637f56caf6813edeb077f8))
##### Performance Improvements
- **compiler-sfc:** avoid sfc source map unnecessary serialization and parsing ([f15d2f6](https://togithub.com/vuejs/core/commit/f15d2f6cf69c0c39f8dfb5c33122790c68bf92e2))
- **compiler-sfc:** remove magic-string trim on script ([e8e3ec6](https://togithub.com/vuejs/core/commit/e8e3ec6ca7392e43975c75b56eaaa711d5ea9410))
- **compiler-sfc:** use faster source map addMapping ([50cde7c](https://togithub.com/vuejs/core/commit/50cde7cfbcc49022ba88f5f69fa9b930b483c282))
- **compiler-core:** optimize away isBuiltInType ([66c0ed0](https://togithub.com/vuejs/core/commit/66c0ed0a3c1c6f37dafc6b1c52b75c6bf60e3136))
- **compiler-core:** optimize position cloning ([2073236](https://togithub.com/vuejs/core/commit/20732366b9b3530d33b842cf1fc985919afb9317))
- **codegen:** optimize line / column calculation during codegen ([3be53d9](https://togithub.com/vuejs/core/commit/3be53d9b974dae1a10eb795cade71ae765e17574))
- **codegen:** optimize source map generation ([c11002f](https://togithub.com/vuejs/core/commit/c11002f16afd243a2b15b546816e73882eea9e4d))
- **shared:** optimize makeMap ([ae6fba9](https://togithub.com/vuejs/core/commit/ae6fba94954bac6430902f77b0d1113a98a75b18))
##### BREAKING CHANGES
##### Global JSX Registration Removed
Starting in 3.4, Vue no longer registers the global `JSX` namespace by default. This is necessary to avoid global namespace collision with React so that TSX of both libs can co-exist in the same project. This should not affect SFC-only users with latest version of Volar.
If you are using TSX, there are two options:
1. Explicitly set [jsxImportSource](https://www.typescriptlang.org/tsconfig#jsxImportSource) to `'vue'` in `tsconfig.json` before upgrading to 3.4. You can also opt-in per file by adding a `/* @jsxImportSource vue */` comment at the top of the file.
2. If you have code that depends on the presence of the global `JSX` namespace, e.g. usage of types like `JSX.Element` etc., you can retain the exact pre-3.4 global behavior by explicitly referencing `vue/jsx`, which registers the global `JSX` namespace.
Note that this is a type-only breaking change in a minor release, which adheres to our [release policy](https://vuejs.org/about/releases.html#semantic-versioning-edge-cases).
##### Deprecated Features Removed
- [Reactivity Transform](https://vuejs.org/guide/extras/reactivity-transform.html) was marked deprecated in 3.3 and is now removed in 3.4. This change does not require a major due to the feature being experimental. Users who wish to continue using the feature can do so via the [Vue Macros plugin](https://vue-macros.dev/features/reactivity-transform.html).
- `app.config.unwrapInjectedRef` has been removed. It was deprecated and enabled by default in 3.3. In 3.4 it is no longer possible to disable this behavior.
- `@vnodeXXX` event listeners in templates are now a compiler error instead of a deprecation warning. Use `@vue:XXX` listeners instead.
- `v-is` directive has been removed. It was deprecated in 3.3. Use the [`is` attribute with `vue:` prefix](https://vuejs.org/api/built-in-special-attributes.html#is) instead.
### [`v3.3.13`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3313-2023-12-19)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.3.12...v3.3.13)
##### Bug Fixes
- **compiler-core:** fix v-on with modifiers on inline expression of undefined ([#9866](https://togithub.com/vuejs/core/issues/9866)) ([bae79dd](https://togithub.com/vuejs/core/commit/bae79ddf8564a2da4a5365cfeb8d811990f42335)), closes [#9865](https://togithub.com/vuejs/core/issues/9865)
- **runtime-dom:** cache event handlers by key/modifiers ([#9851](https://togithub.com/vuejs/core/issues/9851)) ([04d2c05](https://togithub.com/vuejs/core/commit/04d2c05054c26b02fbc1d84839b0ed5cd36455b6)), closes [#9849](https://togithub.com/vuejs/core/issues/9849)
- **types:** extract properties from extended collections ([#9854](https://togithub.com/vuejs/core/issues/9854)) ([24b1c1d](https://togithub.com/vuejs/core/commit/24b1c1dd57fd55d998aa231a147500e010b10219)), closes [#9852](https://togithub.com/vuejs/core/issues/9852)
### [`v3.3.12`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3312-2023-12-16)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.3.11...v3.3.12)
##### Bug Fixes
- **hydration:** handle appear transition before patch props ([#9837](https://togithub.com/vuejs/core/issues/9837)) ([e70f4c4](https://togithub.com/vuejs/core/commit/e70f4c47c553b6e16d8fad70743271ca23802fe7)), closes [#9832](https://togithub.com/vuejs/core/issues/9832)
- **sfc/cssVars:** fix loss of CSS v-bind variables when setting inline style with string value ([#9824](https://togithub.com/vuejs/core/issues/9824)) ([0a387df](https://togithub.com/vuejs/core/commit/0a387dfb1d04afb6eae4296b6da76dfdaca77af4)), closes [#9821](https://togithub.com/vuejs/core/issues/9821)
- **ssr:** fix suspense hydration of fallback content ([#7188](https://togithub.com/vuejs/core/issues/7188)) ([60415b5](https://togithub.com/vuejs/core/commit/60415b5d67df55f1fd6b176615299c08640fa142))
- **types:** add `xmlns:xlink` to `SVGAttributes` ([#9300](https://togithub.com/vuejs/core/issues/9300)) ([0d61b42](https://togithub.com/vuejs/core/commit/0d61b429ecf63591d31e09702058fa4c7132e1a7)), closes [#9299](https://togithub.com/vuejs/core/issues/9299)
- **types:** fix `shallowRef` type error ([#9839](https://togithub.com/vuejs/core/issues/9839)) ([9a57158](https://togithub.com/vuejs/core/commit/9a571582b53220270e498d8712ea59312c0bef3a))
- **types:** support for generic keyof slots ([#8374](https://togithub.com/vuejs/core/issues/8374)) ([213eba4](https://togithub.com/vuejs/core/commit/213eba479ce080efc1053fe636f6be4a4c889b44))
### [`v3.3.11`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3311-2023-12-08)
[Compare Source](https://togithub.com/vuejs/core/compare/v3.3.10...v3.3.11)
##### Bug Fixes
- **custom-element:** correctly handle number type props in prod ([#8989](https://togithub.com/vuejs/core/issues/8989)) ([d74d364](https://togithub.com/vuejs/core/commit/d74d364d62db8e48881af6b5a75ce4fb5f36cc35))
- **reactivity:** fix mutation on user proxy of reactive Array ([6ecbd5c](https://togithub.com/vuejs/core/commit/6ecbd5ce2a7f59314a8326a1d193874b87f4d8c8)), closes [#9742](https://togithub.com/vuejs/core/issues/9742) [#9751](https://togithub.com/vuejs/core/issues/9751) [#9750](https://togithub.com/vuejs/core/issues/9750)
- **runtime-dom:** fix width and height prop check condition ([5b00286](https://togithub.com/vuejs/core/commit/5b002869c533220706f9788b496b8ca8d8e98609)), closes [#9762](https://togithub.com/vuejs/core/issues/9762)
- **shared:** handle Map with symbol keys in toDisplayString ([#9731](https://togithub.com/vuejs/core/issues/9731)) ([364821d](https://togithub.com/vuejs/core/commit/364821d6bdb1775e2f55a69bcfb9f40f7acf1506)), closes [#9727](https://togithub.com/vuejs/core/issues/9727)
- **shared:** handle more Symbol cases in toDisplayString ([983d45d](https://togithub.com/vuejs/core/commit/983d45d4f8eb766b5a16b7ea93b86d3c51618fa6))
- **Suspense:** properly get anchor when mount fallback vnode ([#9770](https://togithub.com/vuejs/core/issues/9770)) ([b700328](https://togithub.com/vuejs/core/commit/b700328342e17dc16b19316c2e134a26107139d2)), closes [#9769](https://togithub.com/vuejs/core/issues/9769)
- **types:** ref() return type should not be any when initial value is any ([#9768](https://togithub.com/vuejs/core/issues/9768)) ([cdac121](https://togithub.com/vuejs/core/commit/cdac12161ec27b45ded48854c3d749664b6d4a6d))
- **watch:** should not fire pre watcher on child component unmoun
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.3.2
->3.4.27
Release Notes
vuejs/core (vue)
### [`v3.4.27`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3427-2024-05-06) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.26...v3.4.27) ##### Bug Fixes - **compat:** include legacy scoped slots ([#10868](https://togithub.com/vuejs/core/issues/10868)) ([8366126](https://togithub.com/vuejs/core/commit/83661264a4ced3cb2ff6800904a86dd9e82bbfe2)), closes [#8869](https://togithub.com/vuejs/core/issues/8869) - **compiler-core:** add support for arrow aysnc function with unbracketed ([#5789](https://togithub.com/vuejs/core/issues/5789)) ([ca7d421](https://togithub.com/vuejs/core/commit/ca7d421e8775f6813f8943d32ab485e0c542f98b)), closes [#5788](https://togithub.com/vuejs/core/issues/5788) - **compiler-dom:** restrict createStaticVNode usage with option elements ([#10846](https://togithub.com/vuejs/core/issues/10846)) ([0e3d617](https://togithub.com/vuejs/core/commit/0e3d6178b02d0386d779720ae2cc4eac1d1ec990)), closes [#6568](https://togithub.com/vuejs/core/issues/6568) [#7434](https://togithub.com/vuejs/core/issues/7434) - **compiler-sfc:** handle keyof operator ([#10874](https://togithub.com/vuejs/core/issues/10874)) ([10d34a5](https://togithub.com/vuejs/core/commit/10d34a5624775f20437ccad074a97270ef74c3fb)), closes [#10871](https://togithub.com/vuejs/core/issues/10871) - **hydration:** handle edge case of style mismatch without style attribute ([f2c1412](https://togithub.com/vuejs/core/commit/f2c1412e46a8fad3e13403bfa78335c4f704f21c)), closes [#10786](https://togithub.com/vuejs/core/issues/10786) ### [`v3.4.26`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3426-2024-04-29) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.25...v3.4.26) ##### Bug Fixes - **compiler-core:** fix bail constant for globals ([fefce06](https://togithub.com/vuejs/core/commit/fefce06b41e3b75de3d748dc6399628ec5056e78)) - **compiler-core:** remove unnecessary constant bail check ([09b4df8](https://togithub.com/vuejs/core/commit/09b4df809e59ef5f4bc91acfc56dc8f82a8e243a)), closes [#10807](https://togithub.com/vuejs/core/issues/10807) - **runtime-core:** attrs should be readonly in functional components ([#10767](https://togithub.com/vuejs/core/issues/10767)) ([e8fd644](https://togithub.com/vuejs/core/commit/e8fd6446d14a6899e5e8ab1ee394d90088e01844)) - **runtime-core:** ensure slot compiler marker writable ([#10825](https://togithub.com/vuejs/core/issues/10825)) ([9c2de62](https://togithub.com/vuejs/core/commit/9c2de6244cd44bc5fbfd82b5850c710ce725044f)), closes [#10818](https://togithub.com/vuejs/core/issues/10818) - **runtime-core:** properly handle inherit transition during clone VNode ([#10809](https://togithub.com/vuejs/core/issues/10809)) ([638a79f](https://togithub.com/vuejs/core/commit/638a79f64a7e184f2a2c65e21d764703f4bda561)), closes [#3716](https://togithub.com/vuejs/core/issues/3716) [#10497](https://togithub.com/vuejs/core/issues/10497) [#4091](https://togithub.com/vuejs/core/issues/4091) - **Transition:** re-fix [#10620](https://togithub.com/vuejs/core/issues/10620) ([#10832](https://togithub.com/vuejs/core/issues/10832)) ([accf839](https://togithub.com/vuejs/core/commit/accf8396ae1c9dd49759ba0546483f1d2c70c9bc)), closes [#10632](https://togithub.com/vuejs/core/issues/10632) [#10827](https://togithub.com/vuejs/core/issues/10827) ### [`v3.4.25`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3425-2024-04-24) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.24...v3.4.25) ##### Bug Fixes - **defineModel:** align prod mode runtime type generation with defineProps ([4253a57](https://togithub.com/vuejs/core/commit/4253a57f1703a7f1ac701d77e0a235689203461d)), closes [#10769](https://togithub.com/vuejs/core/issues/10769) - **runtime-core:** properly get keepAlive child ([#10772](https://togithub.com/vuejs/core/issues/10772)) ([3724693](https://togithub.com/vuejs/core/commit/3724693a25c3f2dd13d70a8a1af760b03a4fb783)), closes [#10771](https://togithub.com/vuejs/core/issues/10771) - **runtime-core:** use normal object as internal prototype for attrs and slots ([064e82f](https://togithub.com/vuejs/core/commit/064e82f5855f30fe0b77fe9b5e4dd22700fd634d)), closes [/github.com/vuejs/core/commit/6df53d85a207986128159d88565e6e7045db2add#r141304923](https://togithub.com//github.com/vuejs/core/commit/6df53d85a207986128159d88565e6e7045db2add/issues/r141304923) ### [`v3.4.24`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3424-2024-04-22) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.23...v3.4.24) ##### Bug Fixes - **compiler-core:** handle template ref bound via v-bind object on v-for ([#10706](https://togithub.com/vuejs/core/issues/10706)) ([da7adef](https://togithub.com/vuejs/core/commit/da7adefa844265eecc9c336abfc727bc05b4f16e)), closes [#10696](https://togithub.com/vuejs/core/issues/10696) - **compiler-core:** properly parse await expressions in edge cases ([b92c25f](https://togithub.com/vuejs/core/commit/b92c25f53dff0fc1687f57ca4033d0ac25218940)), closes [#10754](https://togithub.com/vuejs/core/issues/10754) - **compiler-sfc:** handle readonly operator and ReadonlyArray/Map/Set types ([5cef52a](https://togithub.com/vuejs/core/commit/5cef52a5c23ba8ba3239e6def03b8ff008d3cc72)), closes [#10726](https://togithub.com/vuejs/core/issues/10726) - **compiler-ssr:** fix hydration mismatch for conditional slot in transition ([f12c81e](https://togithub.com/vuejs/core/commit/f12c81efca3fcf9a7ce478af2261ad6ab9b0bfd7)), closes [#10743](https://togithub.com/vuejs/core/issues/10743) - **compiler-ssr:** fix v-html SSR for nullish values ([1ff4076](https://togithub.com/vuejs/core/commit/1ff407676f9495883b459779a9b0370d7588b51f)), closes [#10725](https://togithub.com/vuejs/core/issues/10725) - **deps:** update compiler ([#10760](https://togithub.com/vuejs/core/issues/10760)) ([15df5c1](https://togithub.com/vuejs/core/commit/15df5c1b261b9b471eb811fd47ab7b3cfc41cf83)) - **runtime-core:** fix edge case of KeepAlive inside Transition with slot children ([#10719](https://togithub.com/vuejs/core/issues/10719)) ([e51ca61](https://togithub.com/vuejs/core/commit/e51ca61ca060b2772e967d169548fc2f58fce6d1)), closes [#10708](https://togithub.com/vuejs/core/issues/10708) - **runtime-core:** further fix slots \_ctx check ([cde7f05](https://togithub.com/vuejs/core/commit/cde7f05787d16dbb93d9419ef5331adf992816fd)), closes [#10724](https://togithub.com/vuejs/core/issues/10724) - **runtime-core:** props should be readonly via direct template access ([b93f264](https://togithub.com/vuejs/core/commit/b93f26464785de227b88c51a88328ae80e80d804)), closes [#8216](https://togithub.com/vuejs/core/issues/8216) [#10736](https://togithub.com/vuejs/core/issues/10736) - **transition:** transition is breaking/flickering when enter is canceled ([#10688](https://togithub.com/vuejs/core/issues/10688)) ([65109a7](https://togithub.com/vuejs/core/commit/65109a70f187473edae8cf4df11af3c33345e6f6)) ### [`v3.4.23`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3423-2024-04-16) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.22...v3.4.23) ##### Bug Fixes - **runtime-core:** fix regression for $attrs tracking in slots ([6930e60](https://togithub.com/vuejs/core/commit/6930e60787e4905a50417190263ae7dd46cf5409)), closes [#10710](https://togithub.com/vuejs/core/issues/10710) - **runtime-core:** use same internal object mechanism for slots ([6df53d8](https://togithub.com/vuejs/core/commit/6df53d85a207986128159d88565e6e7045db2add)), closes [#10709](https://togithub.com/vuejs/core/issues/10709) ### [`v3.4.22`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3422-2024-04-15) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.21...v3.4.22) ##### Bug Fixes - **compat:** fix $options mutation + adjust private API initialization ([d58d133](https://togithub.com/vuejs/core/commit/d58d133b1cde5085cc5ab0012d544cafd62a6ee6)), closes [#10626](https://togithub.com/vuejs/core/issues/10626) [#10636](https://togithub.com/vuejs/core/issues/10636) - **compile-sfc:** analyze v-bind shorthand usage in template ([#10518](https://togithub.com/vuejs/core/issues/10518)) ([e5919d4](https://togithub.com/vuejs/core/commit/e5919d4658cfe0bb18c76611dd3c3432c57f94ab)), closes [#10515](https://togithub.com/vuejs/core/issues/10515) - **compiler-core:** fix loc.source for end tags with whitespace before > ([16174da](https://togithub.com/vuejs/core/commit/16174da21d6c8ac0aae027dd964fc35e221ded0a)), closes [#10694](https://togithub.com/vuejs/core/issues/10694) [#10695](https://togithub.com/vuejs/core/issues/10695) - **compiler-core:** fix v-bind shorthand for component :is ([04af950](https://togithub.com/vuejs/core/commit/04af9504a720c8e6de26c04b1282cf14fa1bcee3)), closes [#10469](https://togithub.com/vuejs/core/issues/10469) [#10471](https://togithub.com/vuejs/core/issues/10471) - **compiler-sfc:** :is() and :where() in compound selectors ([#10522](https://togithub.com/vuejs/core/issues/10522)) ([660cadc](https://togithub.com/vuejs/core/commit/660cadc7aadb909ef33a6055c4374902a82607a4)), closes [#10511](https://togithub.com/vuejs/core/issues/10511) - **compiler-sfc:** also search for `.tsx` when type import's extension is omitted ([#10637](https://togithub.com/vuejs/core/issues/10637)) ([34106bc](https://togithub.com/vuejs/core/commit/34106bc9c715247211273bb9c64712f04bd4879d)), closes [#10635](https://togithub.com/vuejs/core/issues/10635) - **compiler-sfc:** fix defineModel coercion for boolean + string union types ([#9603](https://togithub.com/vuejs/core/issues/9603)) ([0cef65c](https://togithub.com/vuejs/core/commit/0cef65cee411356e721bbc90d731fc52fc8fce94)), closes [#9587](https://togithub.com/vuejs/core/issues/9587) [#10676](https://togithub.com/vuejs/core/issues/10676) - **compiler-sfc:** fix universal selector scope ([#10551](https://togithub.com/vuejs/core/issues/10551)) ([54a6afa](https://togithub.com/vuejs/core/commit/54a6afa75a546078e901ce0882da53b97420fe94)), closes [#10548](https://togithub.com/vuejs/core/issues/10548) - **compiler-sfc:** use options module name if options provide runtimeModuleName options ([#10457](https://togithub.com/vuejs/core/issues/10457)) ([e76d743](https://togithub.com/vuejs/core/commit/e76d7430aa7470342f3fe263145a0fa92f5898ca)), closes [#10454](https://togithub.com/vuejs/core/issues/10454) - **custom-element:** avoid setting attr to null if it is removed ([#9012](https://togithub.com/vuejs/core/issues/9012)) ([b49306a](https://togithub.com/vuejs/core/commit/b49306adff4572d90a42ccd231387f16eb966bbe)), closes [#9006](https://togithub.com/vuejs/core/issues/9006) [#10324](https://togithub.com/vuejs/core/issues/10324) - **hydration:** properly handle optimized mode during hydrate node ([#10638](https://togithub.com/vuejs/core/issues/10638)) ([2ec06fd](https://togithub.com/vuejs/core/commit/2ec06fd6c8383e11cdf4efcab1707f973bd6a54c)), closes [#10607](https://togithub.com/vuejs/core/issues/10607) - **reactivity:** computed should not be detected as true by isProxy ([#10401](https://togithub.com/vuejs/core/issues/10401)) ([9da34d7](https://togithub.com/vuejs/core/commit/9da34d7af81607fddd1f32f21b3b4002402ff1cc)) - **reactivity:** fix hasOwnProperty key coercion edge cases ([969c5fb](https://togithub.com/vuejs/core/commit/969c5fb30f4c725757c7385abfc74772514eae4b)) - **reactivity:** fix tracking when hasOwnProperty is called with non-string value ([c3c5dc9](https://togithub.com/vuejs/core/commit/c3c5dc93fbccc196771458f0b43cd5b7ad1863f4)), closes [#10455](https://togithub.com/vuejs/core/issues/10455) [#10464](https://togithub.com/vuejs/core/issues/10464) - **runtime-core:** fix errorHandler causes an infinite loop during execution ([#9575](https://togithub.com/vuejs/core/issues/9575)) ([ab59bed](https://togithub.com/vuejs/core/commit/ab59bedae4e5e40b28804d88a51305b236d4a873)) - **runtime-core:** handle invalid values in callWithAsyncErrorHandling ([53d15d3](https://togithub.com/vuejs/core/commit/53d15d3f76184eed67a18d35e43d9a2062f8e121)) - **runtime-core:** show hydration mismatch details for non-rectified mismatches too when **PROD_HYDRATION_MISMATCH_DETAILS** is set ([#10599](https://togithub.com/vuejs/core/issues/10599)) ([0dea7f9](https://togithub.com/vuejs/core/commit/0dea7f9a260d93eb6c39aabac8c94c2c9b2042dd)) - **runtime-dom:** `v-model` string/number coercion for multiselect options ([#10576](https://togithub.com/vuejs/core/issues/10576)) ([db374e5](https://togithub.com/vuejs/core/commit/db374e54c9f5e07324728b85c74eca84e28dd352)) - **runtime-dom:** fix css v-bind for suspensed components ([#8523](https://togithub.com/vuejs/core/issues/8523)) ([67722ba](https://togithub.com/vuejs/core/commit/67722ba23b7c36ab8f3fa2d2b4df08e4ddc322e1)), closes [#8520](https://togithub.com/vuejs/core/issues/8520) - **runtime-dom:** force update v-model number with leading 0 ([#10506](https://togithub.com/vuejs/core/issues/10506)) ([15ffe8f](https://togithub.com/vuejs/core/commit/15ffe8f2c954359770c57e4d9e589b0b622e4a60)), closes [#10503](https://togithub.com/vuejs/core/issues/10503) [#10615](https://togithub.com/vuejs/core/issues/10615) - **runtime-dom:** sanitize wrongly passed string value as event handler ([#8953](https://togithub.com/vuejs/core/issues/8953)) ([7ccd453](https://togithub.com/vuejs/core/commit/7ccd453dd004076cad49ec9f56cd5fe97b7b6ed8)), closes [#8818](https://togithub.com/vuejs/core/issues/8818) - **ssr:** don't render v-if comments in TransitionGroup ([#6732](https://togithub.com/vuejs/core/issues/6732)) ([5a96267](https://togithub.com/vuejs/core/commit/5a9626708e970c6fc0b6f786e3c80c22273d126f)), closes [#6715](https://togithub.com/vuejs/core/issues/6715) - **Transition:** ensure the KeepAlive children unmount w/ out-in mode ([#10632](https://togithub.com/vuejs/core/issues/10632)) ([fc99e4d](https://togithub.com/vuejs/core/commit/fc99e4d3f01b190ef9fd3c218a668ba9124a32bc)), closes [#10620](https://togithub.com/vuejs/core/issues/10620) - **TransitionGroup:** avoid set transition hooks for comment nodes and text nodes ([#9421](https://togithub.com/vuejs/core/issues/9421)) ([140a768](https://togithub.com/vuejs/core/commit/140a7681cc3bba22f55d97fd85a5eafe97a1230f)), closes [#4621](https://togithub.com/vuejs/core/issues/4621) [#4622](https://togithub.com/vuejs/core/issues/4622) [#5153](https://togithub.com/vuejs/core/issues/5153) [#5168](https://togithub.com/vuejs/core/issues/5168) [#7898](https://togithub.com/vuejs/core/issues/7898) [#9067](https://togithub.com/vuejs/core/issues/9067) - **types:** avoid merging object union types when using withDefaults ([#10596](https://togithub.com/vuejs/core/issues/10596)) ([37ba93c](https://togithub.com/vuejs/core/commit/37ba93c213a81f99a68a99ef5d4065d61b150ba3)), closes [#10594](https://togithub.com/vuejs/core/issues/10594) ##### Performance Improvements - add `__NO_SIDE_EFFECTS__` comments ([#9053](https://togithub.com/vuejs/core/issues/9053)) ([d46df6b](https://togithub.com/vuejs/core/commit/d46df6bdb14b0509eb2134b3f85297a306821c61)) - optimize component props/slots internal object checks ([6af733d](https://togithub.com/vuejs/core/commit/6af733d68eb400a3d2c5ef5f465fff32b72a324e)) - **ssr:** avoid calling markRaw on component instance proxy ([4bc9f39](https://togithub.com/vuejs/core/commit/4bc9f39f028af7313e5cf24c16915a1985d27bf8)) - **ssr:** optimize setup context creation for ssr in v8 ([ca84316](https://togithub.com/vuejs/core/commit/ca84316bfb3410efe21333670a6ad5cd21857396)) ### [`v3.4.21`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3421-2024-02-28) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.20...v3.4.21) ##### Bug Fixes - **runtime-dom:** avoid unset option's value ([#10416](https://togithub.com/vuejs/core/issues/10416)) ([b3f8b5a](https://togithub.com/vuejs/core/commit/b3f8b5a4e700d4c47a146b6040882287d180f6cb)), closes [#10412](https://togithub.com/vuejs/core/issues/10412) [#10396](https://togithub.com/vuejs/core/issues/10396) - **suspense:** ensure nested suspense patching if in fallback state ([#10417](https://togithub.com/vuejs/core/issues/10417)) ([7c97778](https://togithub.com/vuejs/core/commit/7c97778aec1e3513035e5df265e1b8a7801f6106)), closes [#10415](https://togithub.com/vuejs/core/issues/10415) - **warning:** stringify args in warn handler ([#10414](https://togithub.com/vuejs/core/issues/10414)) ([bc37258](https://togithub.com/vuejs/core/commit/bc37258caa2f6f67f4554ab8587aca3798d92124)), closes [#10409](https://togithub.com/vuejs/core/issues/10409) ### [`v3.4.20`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3420-2024-02-26) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.19...v3.4.20) ##### Bug Fixes - **parser:** should not treat uppercase components as special tags ([e0e0253](https://togithub.com/vuejs/core/commit/e0e02535cdea1aeb1cfaff0d61d4b2555e555c36)), closes [#10395](https://togithub.com/vuejs/core/issues/10395) - **runtime-dom:** avoid always resetting nullish option value ([ff130c4](https://togithub.com/vuejs/core/commit/ff130c470204086edaa093fb8fdc1247c69cba69)), closes [#10396](https://togithub.com/vuejs/core/issues/10396) - **runtime-dom:** fix nested v-show priority regression ([364f890](https://togithub.com/vuejs/core/commit/364f8902c8657faec7c3a4d70a5b2c856567e92d)), closes [#10338](https://togithub.com/vuejs/core/issues/10338) - **runtime-dom:** v-bind style should clear previous css string value ([#10373](https://togithub.com/vuejs/core/issues/10373)) ([e2d3235](https://togithub.com/vuejs/core/commit/e2d323538e71d404e729148fd19a08bbc2e3da9b)), closes [#10352](https://togithub.com/vuejs/core/issues/10352) - **suspense:** handle suspense switching with nested suspense ([#10184](https://togithub.com/vuejs/core/issues/10184)) ([0f3da05](https://togithub.com/vuejs/core/commit/0f3da05ea201761529bb95594df1e2cee20b7107)), closes [#10098](https://togithub.com/vuejs/core/issues/10098) - **types:** better typing for direct setup signature of defineComponent ([#10357](https://togithub.com/vuejs/core/issues/10357)) ([eadce5b](https://togithub.com/vuejs/core/commit/eadce5b75356656fd2209ebdb406d34823c961b7)), closes [#8604](https://togithub.com/vuejs/core/issues/8604) [#8855](https://togithub.com/vuejs/core/issues/8855) ### [`v3.4.19`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3419-2024-02-13) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.18...v3.4.19) ##### Bug Fixes - **deps:** pin lru-cache to avoid hashing error ([b8be990](https://togithub.com/vuejs/core/commit/b8be99018ceae92d1732dfb414df12b36b90b31f)), closes [#10300](https://togithub.com/vuejs/core/issues/10300) - **hydration:** fix css vars hydration mismatch false positive on non-root nodes ([995d2fd](https://togithub.com/vuejs/core/commit/995d2fdcca485c24849c99f498c1edc163722e04)), closes [#10317](https://togithub.com/vuejs/core/issues/10317) [#10325](https://togithub.com/vuejs/core/issues/10325) - **runtime-dom:** should not trigger transition when v-show value is falsy ([#10311](https://togithub.com/vuejs/core/issues/10311)) ([e509639](https://togithub.com/vuejs/core/commit/e50963903d93a7f24003b6e2c03647fdf7454b1e)) ##### Features > Note: this warning is categorized as a feature but released in a patch because it does not affect public APIs. - **dx:** warn users when computed is self-triggering ([#10299](https://togithub.com/vuejs/core/issues/10299)) ([f7ba97f](https://togithub.com/vuejs/core/commit/f7ba97f9754a9882c1f6b1c07ca1a4040479dd13)) ##### Performance Improvements - **runtime:** improve `getType()` GC and speed ([#10327](https://togithub.com/vuejs/core/issues/10327)) ([603a1e1](https://togithub.com/vuejs/core/commit/603a1e1f5ad587c077f0d974c1bbe856be22ebe9)) ### [`v3.4.18`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3418-2024-02-09) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.17...v3.4.18) ##### Bug Fixes - **dx:** warn against reserved keys as prop name ([77a804b](https://togithub.com/vuejs/core/commit/77a804b1d0d6a3f12fb3674cdceb85ebd6481e02)), closes [#10281](https://togithub.com/vuejs/core/issues/10281) - **runtime-dom:** ensure v-show respects display value set via v-bind ([#10297](https://togithub.com/vuejs/core/issues/10297)) ([c224897](https://togithub.com/vuejs/core/commit/c224897dd4e189a10ec601a97fe08cb638ebee19)), closes [#10151](https://togithub.com/vuejs/core/issues/10151) ### [`v3.4.17`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3417-2024-02-09) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.16...v3.4.17) ##### Reverts - fix(runtime-dom): ensure v-show respects display value set via v-bind ([#10161](https://togithub.com/vuejs/core/issues/10161)) ([2cd5b05](https://togithub.com/vuejs/core/commit/2cd5b05c3bf171be5c0b473c084c01704a058ffa)), closes [#10294](https://togithub.com/vuejs/core/issues/10294) [#10151](https://togithub.com/vuejs/core/issues/10151) ### [`v3.4.16`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3416-2024-02-08) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.15...v3.4.16) ##### Bug Fixes - **compiler-core:** handle same-name shorthand edge case for in-DOM templates ([cb87b62](https://togithub.com/vuejs/core/commit/cb87b6213d7b003fa7280712c285c7c9d9f291ca)), closes [#10280](https://togithub.com/vuejs/core/issues/10280) - **compiler-core:** support v-bind shorthand syntax for dynamic slot name ([#10218](https://togithub.com/vuejs/core/issues/10218)) ([91f058a](https://togithub.com/vuejs/core/commit/91f058a90cd603492649633d153b120977c4df6b)), closes [#10213](https://togithub.com/vuejs/core/issues/10213) - **deps:** update compiler ([#10269](https://togithub.com/vuejs/core/issues/10269)) ([336bb65](https://togithub.com/vuejs/core/commit/336bb65820243006efdf990e6ea3610696467508)) - **hydration:** fix SFC style v-bind hydration mismatch warnings ([#10250](https://togithub.com/vuejs/core/issues/10250)) ([f0b5f7e](https://togithub.com/vuejs/core/commit/f0b5f7ed8ddf74f9f5ba47cb65e8300370875291)), closes [#10215](https://togithub.com/vuejs/core/issues/10215) - **reactivity:** avoid infinite recursion from side effects in computed getter ([#10232](https://togithub.com/vuejs/core/issues/10232)) ([0bced13](https://togithub.com/vuejs/core/commit/0bced13ee5c53a02d5f10e5db76fe38b6e131440)), closes [#10214](https://togithub.com/vuejs/core/issues/10214) - **reactivity:** handle `MaybeDirty` recurse ([#10187](https://togithub.com/vuejs/core/issues/10187)) ([6c7e0bd](https://togithub.com/vuejs/core/commit/6c7e0bd88f021b0b6365370e97b0c7e243d7d70b)), closes [#10185](https://togithub.com/vuejs/core/issues/10185) - **reactivity:** skip non-extensible objects when using `markRaw` ([#10289](https://togithub.com/vuejs/core/issues/10289)) ([2312184](https://togithub.com/vuejs/core/commit/2312184bc335e0d32aa4c0c0b49190b6334849b4)), closes [#10288](https://togithub.com/vuejs/core/issues/10288) - **runtime-core:** avoid inlining isShallow ([#10238](https://togithub.com/vuejs/core/issues/10238)) ([53eee72](https://togithub.com/vuejs/core/commit/53eee72c3a96420db35236b5e8e4d9308a56e1b4)) - **runtime-core:** support for nested calls to runWithContext ([#10261](https://togithub.com/vuejs/core/issues/10261)) ([75e02b5](https://togithub.com/vuejs/core/commit/75e02b5099a08166bdf407127916734c48209ee9)), closes [#10260](https://togithub.com/vuejs/core/issues/10260) - **runtime-dom:** ensure v-show respects display value set via v-bind ([#10161](https://togithub.com/vuejs/core/issues/10161)) ([9b19f09](https://togithub.com/vuejs/core/commit/9b19f0912104bfccb10c8cf5beab02b21a648935)), closes [#10151](https://togithub.com/vuejs/core/issues/10151) - **runtime-dom:** fix option selected update failed ([#10200](https://togithub.com/vuejs/core/issues/10200)) ([f31d782](https://togithub.com/vuejs/core/commit/f31d782e4668050a188ac0f11ba8d5b861b913ca)), closes [#10194](https://togithub.com/vuejs/core/issues/10194) [#10267](https://togithub.com/vuejs/core/issues/10267) ##### Reverts - perf(templateRef): avoid double render when using template ref on v-for ([eb1b911](https://togithub.com/vuejs/core/commit/eb1b9116d7cd4a5747e8dadcdc5ba921df011f64)), closes [#9908](https://togithub.com/vuejs/core/issues/9908) [#10210](https://togithub.com/vuejs/core/issues/10210) [#10234](https://togithub.com/vuejs/core/issues/10234) ### [`v3.4.15`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3415-2024-01-18) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.14...v3.4.15) ##### Bug Fixes - **compiler-sfc:** fix type resolution for symlinked node_modules structure w/ pnpm ([75e866b](https://togithub.com/vuejs/core/commit/75e866bd4ef368b4e037a4933dbaf188920dc683)), closes [#10121](https://togithub.com/vuejs/core/issues/10121) - correct url for production error reference links ([c3087ff](https://togithub.com/vuejs/core/commit/c3087ff2cce7d96c60a870f8233441311ab4dfb4)) - **hydration:** fix incorect mismatch warning for option with non-string value and inner text ([d16a213](https://togithub.com/vuejs/core/commit/d16a2138a33b106b9e1499bbb9e1c67790370c97)) - **reactivity:** re-fix [#10114](https://togithub.com/vuejs/core/issues/10114) ([#10123](https://togithub.com/vuejs/core/issues/10123)) ([c2b274a](https://togithub.com/vuejs/core/commit/c2b274a887f61deb7e0185d1bef3b77d31e991cc)) - **runtime-core:** should not warn out-of-render slot fn usage when mounting another app in setup ([#10125](https://togithub.com/vuejs/core/issues/10125)) ([6fa33e6](https://togithub.com/vuejs/core/commit/6fa33e67ec42af140a86fbdb86939032c3a1f345)), closes [#10124](https://togithub.com/vuejs/core/issues/10124) ##### Performance Improvements - **templateRef:** avoid double render when using template ref on v-for ([de4d2e2](https://togithub.com/vuejs/core/commit/de4d2e2143ea8397cebeb1c7a57a60007b283c9f)), closes [#9908](https://togithub.com/vuejs/core/issues/9908) - **v-model:** optimize v-model multiple select w/ large lists ([2ffb956](https://togithub.com/vuejs/core/commit/2ffb956efe692da059f4895669084c5278871351)), closes [#10014](https://togithub.com/vuejs/core/issues/10014) ### [`v3.4.14`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3414-2024-01-15) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.13...v3.4.14) ##### Bug Fixes - **compiler-sfc:** enable prefixIdentifiers by default when reparsing on consumed AST ([#10105](https://togithub.com/vuejs/core/issues/10105)) ([48bf8e4](https://togithub.com/vuejs/core/commit/48bf8e4c708ec620e4852d71c8713394457108ee)) - **deps:** update dependency postcss to ^8.4.33 ([#10110](https://togithub.com/vuejs/core/issues/10110)) ([a557006](https://togithub.com/vuejs/core/commit/a557006f8e7f110c6f322de38931dceaab8e9cbb)) - **reactivity:** fix regression for computed with mutation ([#10119](https://togithub.com/vuejs/core/issues/10119)) ([20f62af](https://togithub.com/vuejs/core/commit/20f62afaafd422e42b99dde9c16f9a4ebfb9c5f7)), closes [#10114](https://togithub.com/vuejs/core/issues/10114) ### [`v3.4.13`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3413-2024-01-13) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.12...v3.4.13) ##### Bug Fixes - **reactivity:** fix dirtyLevel checks for recursive effects ([#10101](https://togithub.com/vuejs/core/issues/10101)) ([e45a8d2](https://togithub.com/vuejs/core/commit/e45a8d24b46c174deb46ed952bdaf54c81ad5a85)), closes [#10082](https://togithub.com/vuejs/core/issues/10082) ### [`v3.4.12`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3412-2024-01-13) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.11...v3.4.12) ##### Reverts - fix(reactivity): correct dirty assign in render function ([#10091](https://togithub.com/vuejs/core/issues/10091)) ([8b18481](https://togithub.com/vuejs/core/commit/8b1848173b0bc8fd84ce1da1af8d373c044bf073)), closes [#10098](https://togithub.com/vuejs/core/issues/10098) [#10100](https://togithub.com/vuejs/core/issues/10100) ### [`v3.4.11`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3411-2024-01-12) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.10...v3.4.11) ##### Bug Fixes - **hydration:** improve mismatch when client valut is null or undefined ([#10086](https://togithub.com/vuejs/core/issues/10086)) ([08b60f5](https://togithub.com/vuejs/core/commit/08b60f5d0d5b57fcf3347ef66cbeab472c475a88)) - **reactivity:** correct dirty assign in render function ([#10091](https://togithub.com/vuejs/core/issues/10091)) ([8d04205](https://togithub.com/vuejs/core/commit/8d042050411fdf04d9d1d6c153287164b12e0255)), closes [#10082](https://togithub.com/vuejs/core/issues/10082) - **runtime-core:** filter single root for nested DEV_ROOT_FRAGMENT ([#8593](https://togithub.com/vuejs/core/issues/8593)) ([d35b877](https://togithub.com/vuejs/core/commit/d35b87725ab3e2bdc86fb5781ab34939f7ec1029)), closes [#5203](https://togithub.com/vuejs/core/issues/5203) [#8581](https://togithub.com/vuejs/core/issues/8581) [#10087](https://togithub.com/vuejs/core/issues/10087) ### [`v3.4.10`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3410-2024-01-11) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.9...v3.4.10) ##### Bug Fixes - **hydration:** should not warn on falsy bindings of non-property keys ([3907c87](https://togithub.com/vuejs/core/commit/3907c87ce23cc6ef4a739b5a66ddb553e8723114)) ### [`v3.4.9`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#349-2024-01-11) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.8...v3.4.9) ##### Bug Fixes - **build:** avoid accessing **FEATURE_PROD_DEVTOOLS** flag in root scope ([dfd9654](https://togithub.com/vuejs/core/commit/dfd9654665890d1bc7129f6e3c2faaa5b1f28f72)) - **hydration:** do not warn against bindings w/ object values ([dcc68ef](https://togithub.com/vuejs/core/commit/dcc68ef7d48973abd8dd3178b46e50e3b0785ea4)) - **runtime-dom:** unify behavior for v-show + style display binding ([#10075](https://togithub.com/vuejs/core/issues/10075)) ([cd419ae](https://togithub.com/vuejs/core/commit/cd419aec3cb615eaea8b2324356f38f4c0ff1fcc)), closes [#10074](https://togithub.com/vuejs/core/issues/10074) - **suspense:** avoid double-patching nested suspense when parent suspense is not resolved ([#10055](https://togithub.com/vuejs/core/issues/10055)) ([bcda96b](https://togithub.com/vuejs/core/commit/bcda96b525801eb7a1d397300fb3f2f9b827ddfb)), closes [#8678](https://togithub.com/vuejs/core/issues/8678) ### [`v3.4.8`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#348-2024-01-10) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.7...v3.4.8) ##### Bug Fixes - **hydration:** fix class and style hydration mismatch message ([5af3987](https://togithub.com/vuejs/core/commit/5af398729168481c3bee741b4f36fa4f375e0f4a)), closes [#10067](https://togithub.com/vuejs/core/issues/10067) - **hydration:** improve attr hydration mismatch check for boolean attrs ([972face](https://togithub.com/vuejs/core/commit/972facee0d892a1b6d9d4ad1da5da9306ed45c3f)), closes [#10057](https://togithub.com/vuejs/core/issues/10057) [#10060](https://togithub.com/vuejs/core/issues/10060) - **suspense:** fix more suspense patch before resolve edge cases ([70ad4ca](https://togithub.com/vuejs/core/commit/70ad4caad7d19938f8ccf1ede3228a81254dd4bf)), closes [#10017](https://togithub.com/vuejs/core/issues/10017) ### [`v3.4.7`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#347-2024-01-09) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.6...v3.4.7) ##### Bug Fixes - **parser:** skip compat mode check for SFC root `` tags ([#10034](https://togithub.com/vuejs/core/issues/10034)) ([923d560](https://togithub.com/vuejs/core/commit/923d560d0b6713144671809b6dfeb1e2da503b1f)) - **types:** fix functional component for `h` ([#9991](https://togithub.com/vuejs/core/issues/9991)) ([438a74a](https://togithub.com/vuejs/core/commit/438a74aad840183286fbdb488178510f37218a73)) ##### Reverts - "dx(computed): warn incorrect use of getCurrentInstance inside computed" ([2fd3905](https://togithub.com/vuejs/core/commit/2fd39057386644c8bfee426c60a51f2b07a79b09)) ### [`v3.4.6`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#346-2024-01-08) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.5...v3.4.6) ##### Bug Fixes - **build:** revert "build: add production/development export conditions ([#9977](https://togithub.com/vuejs/core/issues/9977))" ([7bd4e90](https://togithub.com/vuejs/core/commit/7bd4e90506547c42234165776b01793abd37b148)), closes [#10012](https://togithub.com/vuejs/core/issues/10012) [#10020](https://togithub.com/vuejs/core/issues/10020) - fix post watcher fire timing on nested app mounts ([3c3561e](https://togithub.com/vuejs/core/commit/3c3561e7203091f49d57f1da6d822c91e462bc46)), closes [#10005](https://togithub.com/vuejs/core/issues/10005) - **hydration:** avoid hydration mismatch warning for styles with different order ([#10011](https://togithub.com/vuejs/core/issues/10011)) ([2701355](https://togithub.com/vuejs/core/commit/2701355e8eb07ab664e398d9fc05d6c4e2e9b20e)), closes [#10000](https://togithub.com/vuejs/core/issues/10000) [#10006](https://togithub.com/vuejs/core/issues/10006) - **runtime-core:** handle fragment with null children ([#10010](https://togithub.com/vuejs/core/issues/10010)) ([3bf34b7](https://togithub.com/vuejs/core/commit/3bf34b767e4dd3cf6a974301ecf0363ae4dda4ec)), closes [#10007](https://togithub.com/vuejs/core/issues/10007) - **scheduler:** sort nested postFlushCbs ([d9162df](https://togithub.com/vuejs/core/commit/d9162dfc2ee0c3a369fb9bf32ff413e74761bee6)), closes [#10003](https://togithub.com/vuejs/core/issues/10003) - **suspense:** fix anchor for suspense with transition out-in ([#9999](https://togithub.com/vuejs/core/issues/9999)) ([a3fbf21](https://togithub.com/vuejs/core/commit/a3fbf2132b0cd3655e969e290548c8fabc08fd33)), closes [#9996](https://togithub.com/vuejs/core/issues/9996) - **types:** allow `null` type for textarea value ([#9997](https://togithub.com/vuejs/core/issues/9997)) ([c379bc2](https://togithub.com/vuejs/core/commit/c379bc29efc70d6ac5840de10c357ee3dad998c0)), closes [#9904](https://togithub.com/vuejs/core/issues/9904) ### [`v3.4.5`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#345-2024-01-04) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.4...v3.4.5) ##### Bug Fixes - **compiler-sfc:** fix co-usage of defineModel transform options and props destructure ([b20350d](https://togithub.com/vuejs/core/commit/b20350ded562d27e5901f308d0bc13344f840c4a)), closes [#9972](https://togithub.com/vuejs/core/issues/9972) - **compiler-sfc:** fix sfc template unref rewrite for class instantiation ([ae60a91](https://togithub.com/vuejs/core/commit/ae60a91cc23424493071ad9088782763eb1e8ff7)), closes [#6483](https://togithub.com/vuejs/core/issues/6483) [#6491](https://togithub.com/vuejs/core/issues/6491) - **compiler-ssr:** fix node clone edge case caused by AST reuse ([#9983](https://togithub.com/vuejs/core/issues/9983)) ([7dbdb3e](https://togithub.com/vuejs/core/commit/7dbdb3edf0ab648965331ca42f069387c97a1c8a)), closes [#9981](https://togithub.com/vuejs/core/issues/9981) - **watch:** cleanup watcher effect from scope when manually stopped ([#9978](https://togithub.com/vuejs/core/issues/9978)) ([d2d8955](https://togithub.com/vuejs/core/commit/d2d89551bb06dc05cb7ae0496b8f345ae0de78ed)) ### [`v3.4.4`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#344-2024-01-03) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.3...v3.4.4) ##### Bug Fixes - **compiler-sfc:** fix scss source map regression ([71d3121](https://togithub.com/vuejs/core/commit/71d3121b72c449351e718ee1539bdfa35b68bb32)), closes [#9970](https://togithub.com/vuejs/core/issues/9970) [#9969](https://togithub.com/vuejs/core/issues/9969) - **compiler-sfc:** use compilerOptions when re-parsing consumed AST ([d94d8d4](https://togithub.com/vuejs/core/commit/d94d8d4bffd1daf171a655b292745ffc3e63052d)) - **defineModel:** support kebab-case/camelCase mismatches ([#9950](https://togithub.com/vuejs/core/issues/9950)) ([10ccb9b](https://togithub.com/vuejs/core/commit/10ccb9bfa0f5f3016207fc32b9611bab98e6f090)) - **runtime-core:** correctly assign suspenseId to avoid conflicts with the default id ([#9966](https://togithub.com/vuejs/core/issues/9966)) ([0648804](https://togithub.com/vuejs/core/commit/06488047c184dae3070d0008379716690edceb46)), closes [#9944](https://togithub.com/vuejs/core/issues/9944) - **ssr:** avoid rendering transition-group slot content as a fragment ([#9961](https://togithub.com/vuejs/core/issues/9961)) ([0160264](https://togithub.com/vuejs/core/commit/0160264d677478ee928e8e851f39a9e94f97e337)), closes [#9933](https://togithub.com/vuejs/core/issues/9933) - **watch:** remove instance unmounted short circuit in getter of `watchEffect` ([#9948](https://togithub.com/vuejs/core/issues/9948)) ([f300a40](https://togithub.com/vuejs/core/commit/f300a4001ec40cadef2520267eb5841ab48cf005)) - **watch:** revert watch behavior when watching shallow reactive objects ([a9f781a](https://togithub.com/vuejs/core/commit/a9f781a92cbc7de7b25c9e3d5b1295ca99eb6d86)), closes [#9965](https://togithub.com/vuejs/core/issues/9965) ##### Performance Improvements - **watch:** avoid double traverse for reactive source ([24d77c2](https://togithub.com/vuejs/core/commit/24d77c25ce5d5356adb5367beef1d23e6e340b35)) ### [`v3.4.3`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#343-2023-12-30) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.2...v3.4.3) ##### Bug Fixes - **compiler-sfc:** respect sfc parse options in cache key ([b8d58ec](https://togithub.com/vuejs/core/commit/b8d58ec4f42cbeb9443bf06138add46158db9af0)) ### [`v3.4.2`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#342-2023-12-30) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.1...v3.4.2) ##### Bug Fixes - **compiler-sfc:** fix dev regression for dot / namespace component usage ([dce99c1](https://togithub.com/vuejs/core/commit/dce99c12df981ca45a4d848c37ba8b16496025f0)), closes [#9947](https://togithub.com/vuejs/core/issues/9947) - **runtime-core:** support deep: false when watch reactive ([#9928](https://togithub.com/vuejs/core/issues/9928)) ([4f703d1](https://togithub.com/vuejs/core/commit/4f703d120d76d711084346f73ea295c73e6ef6b6)), closes [#9916](https://togithub.com/vuejs/core/issues/9916) - **ssr:** fix hydration error for slot outlet inside transition-group ([#9937](https://togithub.com/vuejs/core/issues/9937)) ([6cb00ed](https://togithub.com/vuejs/core/commit/6cb00ed0f9b64428ec18fada0f68467d6a813fde)), closes [#9933](https://togithub.com/vuejs/core/issues/9933) ### [`v3.4.1`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#341-2023-12-30) [Compare Source](https://togithub.com/vuejs/core/compare/v3.4.0...v3.4.1) ##### Bug Fixes - **compat:** correct enum value for COMPILER_FILTERS feature ([#9875](https://togithub.com/vuejs/core/issues/9875)) ([77d33e2](https://togithub.com/vuejs/core/commit/77d33e263cf19983caf4e5c53a0eb0bee374843c)) - **defineModel:** always default modifiers to empty object ([9bc3c7e](https://togithub.com/vuejs/core/commit/9bc3c7e29cf15f5ca96703542d10cfd786a3fc55)), closes [#9945](https://togithub.com/vuejs/core/issues/9945) - **defineModel:** support local mutation when only prop but no listener is passed ([97ce041](https://togithub.com/vuejs/core/commit/97ce041910b6ca4bef10f939493d6b5a06ea5b07)) - **types:** fix defineModel watch type error ([#9942](https://togithub.com/vuejs/core/issues/9942)) ([4af8583](https://togithub.com/vuejs/core/commit/4af85835f7e593a7dffa7dc7e99f14877eb70fd1)), closes [#9939](https://togithub.com/vuejs/core/issues/9939) ##### Features - **compiler-sfc:** support passing template parsing options when parsing sfc ([6fab855](https://togithub.com/vuejs/core/commit/6fab8551e4aeef4610987640de8b435b1ae321bb)) (necessary to fix [https://github.com/vitejs/vite-plugin-vue/issues/322](https://togithub.com/vitejs/vite-plugin-vue/issues/322)) ### [`v3.4.0`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#340-Slam-Dunk-2023-12-29) [Compare Source](https://togithub.com/vuejs/core/compare/v3.3.13...v3.4.0) > Read [this blog post](https://blog.vuejs.org/posts/vue-3-4) for an overview of the release highlights. ##### Potential Actions Needed 1. To fully leverage new features in 3.4, it is recommended to also update the following dependencies when upgrading to 3.4: - Volar / vue-tsc@^1.8.27 (**required**) - [@vitejs/plugin-vue](https://togithub.com/vitejs/plugin-vue)@^5.0.0 (if using Vite) - nuxt@^3.9.0 (if using Nuxt) - vue-loader@^17.4.0 (if using webpack or vue-cli) 2. If using TSX with Vue, check actions needed in [Removed: Global JSX Namespace](https://blog.vuejs.org/posts/vue-3-4#global-jsx-namespace). 3. Make sure you are no longer using any deprecated features (if you are, you should have warnings in the console telling you so). They may have been [removed in 3.4](https://blog.vuejs.org/posts/vue-3-4#other-removed-features). ##### Features - **general:** MathML support ([#7836](https://togithub.com/vuejs/core/issues/7836)) ([d42b6ba](https://togithub.com/vuejs/core/commit/d42b6ba3f530746eb1221eb7a4be0f44eb56f7d3)), closes [#7820](https://togithub.com/vuejs/core/issues/7820) - **reactivity:** more efficient reactivity system ([#5912](https://togithub.com/vuejs/core/issues/5912)) ([16e06ca](https://togithub.com/vuejs/core/commit/16e06ca08f5a1e2af3fc7fb35de153dbe0c3087d)), closes [#311](https://togithub.com/vuejs/core/issues/311) [#1811](https://togithub.com/vuejs/core/issues/1811) [#6018](https://togithub.com/vuejs/core/issues/6018) [#7160](https://togithub.com/vuejs/core/issues/7160) [#8714](https://togithub.com/vuejs/core/issues/8714) [#9149](https://togithub.com/vuejs/core/issues/9149) [#9419](https://togithub.com/vuejs/core/issues/9419) [#9464](https://togithub.com/vuejs/core/issues/9464) - **reactivity:** expose last result for computed getter ([#9497](https://togithub.com/vuejs/core/issues/9497)) ([48b47a1](https://togithub.com/vuejs/core/commit/48b47a1ab63577e2dbd91947eea544e3ef185b85)) - **runtime-core / dx:** link errors to docs in prod build ([#9165](https://togithub.com/vuejs/core/issues/9165)) ([9f8ba98](https://togithub.com/vuejs/core/commit/9f8ba9821fe166f77e63fa940e9e7e13ec3344fa)) - **runtime-core:** add `once` option to watch ([#9034](https://togithub.com/vuejs/core/issues/9034)) ([a645e7a](https://togithub.com/vuejs/core/commit/a645e7aa51006516ba668b3a4365d296eb92ee7d)) - **runtime-core:** provide full props to props validator functions ([#3258](https://togithub.com/vuejs/core/issues/3258)) ([8e27692](https://togithub.com/vuejs/core/commit/8e27692029a4645cd54287f776c0420f2b82740b)) - **compiler-core:** export error message ([#8729](https://togithub.com/vuejs/core/issues/8729)) ([f7e80ee](https://togithub.com/vuejs/core/commit/f7e80ee4a065a9eaba98720abf415d9e87756cbd)) - **compiler-core:** support specifying root namespace when parsing ([40f72d5](https://togithub.com/vuejs/core/commit/40f72d5e50b389cb11b7ca13461aa2a75ddacdb4)) - **compiler-core:** support v-bind shorthand for key and value with the same name ([#9451](https://togithub.com/vuejs/core/issues/9451)) ([26399aa](https://togithub.com/vuejs/core/commit/26399aa6fac1596b294ffeba06bb498d86f5508c)) - **compiler-core:** improve parsing tolerance for language-tools ([41ff68e](https://togithub.com/vuejs/core/commit/41ff68ea579d933333392146625560359acb728a)) - **compiler-core:** support accessing Error as global in template expressions ([#7018](https://togithub.com/vuejs/core/issues/7018)) ([bcca475](https://togithub.com/vuejs/core/commit/bcca475dbc58d76434cd8120b94929758cee2825)) - **compiler-core:** lift vnode hooks deprecation warning to error ([8abc754](https://togithub.com/vuejs/core/commit/8abc754d5d86d9dfd5a7927b846f1a743f352364)) - **compiler-core:** export runtime error strings ([#9301](https://togithub.com/vuejs/core/issues/9301)) ([feb2f2e](https://togithub.com/vuejs/core/commit/feb2f2edce2d91218a5e9a52c81e322e4033296b)) - **compiler-core:** add current filename to TransformContext ([#8950](https://togithub.com/vuejs/core/issues/8950)) ([638f1ab](https://togithub.com/vuejs/core/commit/638f1abbb632000553e2b7d75e87c95d8ca192d6)) - **compiler-sfc:** analyze import usage in template via AST ([#9729](https://togithub.com/vuejs/core/issues/9729)) ([e8bbc94](https://togithub.com/vuejs/core/commit/e8bbc946cba6bf74c9da56f938b67d2a04c340ba)), closes [#8897](https://togithub.com/vuejs/core/issues/8897) [nuxt/nuxt#22416](https://togithub.com/nuxt/nuxt/issues/22416) - **compiler-sfc:** expose resolve type-based props and emits ([#8874](https://togithub.com/vuejs/core/issues/8874)) ([9e77580](https://togithub.com/vuejs/core/commit/9e77580c0c2f0d977bd0031a1d43cc334769d433)) - **compiler-sfc:** bump postcss-modules to v6 ([2a507e3](https://togithub.com/vuejs/core/commit/2a507e32f0e2ef73813705a568b8633f68bda7a9)) - **compiler-sfc:** promote defineModel stable ([#9598](https://togithub.com/vuejs/core/issues/9598)) ([ef688ba](https://togithub.com/vuejs/core/commit/ef688ba92bfccbc8b7ea3997eb297665d13e5249)) - **compiler-sfc:** support import attributes and `using` syntax ([#8786](https://togithub.com/vuejs/core/issues/8786)) ([5b2bd1d](https://togithub.com/vuejs/core/commit/5b2bd1df78e8ff524c3a184adaa284681aba6574)) - **compiler-sfc:** `defineModel` support local mutation by default, remove local option ([f74785b](https://togithub.com/vuejs/core/commit/f74785bc4ad351102dde17fdfd2c7276b823111f)), closes [/github.com/vuejs/rfcs/discussions/503#discussioncomment-7566278](https://togithub.com//github.com/vuejs/rfcs/discussions/503/issues/discussioncomment-7566278) - **ssr:** add `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` feature flag ([#9550](https://togithub.com/vuejs/core/issues/9550)) ([bc7698d](https://togithub.com/vuejs/core/commit/bc7698dbfed9b5327a93565f9df336ae5a94d605)) - **ssr:** improve ssr hydration mismatch checks ([#5953](https://togithub.com/vuejs/core/issues/5953)) ([2ffc1e8](https://togithub.com/vuejs/core/commit/2ffc1e8cfdc6ec9c45c4a4dd8e3081b2aa138f1e)), closes [#5063](https://togithub.com/vuejs/core/issues/5063) - **types:** use enum to replace const enum ([#9261](https://togithub.com/vuejs/core/issues/9261)) ([fff7b86](https://togithub.com/vuejs/core/commit/fff7b864f4292d0430ba2bda7098ad43876b0210)), closes [#1228](https://togithub.com/vuejs/core/issues/1228) - **types:** add emits and slots type to `FunctionalComponent` ([#8644](https://togithub.com/vuejs/core/issues/8644)) ([927ab17](https://togithub.com/vuejs/core/commit/927ab17cfc645e82d061fdf227c34689491268e1)) - **types:** export `AriaAttributes` type ([#8909](https://togithub.com/vuejs/core/issues/8909)) ([fd0b6ba](https://togithub.com/vuejs/core/commit/fd0b6ba01660499fa07b0cf360eefaac8cca8287)) - **types:** export `ObjectPlugin` and `FunctionPlugin` types ([#8946](https://togithub.com/vuejs/core/issues/8946)) ([fa4969e](https://togithub.com/vuejs/core/commit/fa4969e7a3aefa6863203f9294fc5e769ddf6d8f)), closes [#8577](https://togithub.com/vuejs/core/issues/8577) - **types:** expose `DefineProps` type ([096ba81](https://togithub.com/vuejs/core/commit/096ba81817b7da15f61bc55fc1a93f72ac9586e0)) - **types:** expose `PublicProps` type ([#2403](https://togithub.com/vuejs/core/issues/2403)) ([44135dc](https://togithub.com/vuejs/core/commit/44135dc95fb8fea26b84d1433839d28b8c21f708)) - **types:** improve event type inference when using `h` with native elements ([#9756](https://togithub.com/vuejs/core/issues/9756)) ([a625376](https://togithub.com/vuejs/core/commit/a625376ac8901eea81bf3c66cb531f2157f073ef)) - **types:** provide `ComponentInstance` type ([#5408](https://togithub.com/vuejs/core/issues/5408)) ([bfb8565](https://togithub.com/vuejs/core/commit/bfb856565d3105db4b18991ae9e404e7cc989b25)) - **types:** support passing generics when registering global directives ([#9660](https://togithub.com/vuejs/core/issues/9660)) ([a41409e](https://togithub.com/vuejs/core/commit/a41409ed02a8c7220e637f56caf6813edeb077f8)) ##### Performance Improvements - **compiler-sfc:** avoid sfc source map unnecessary serialization and parsing ([f15d2f6](https://togithub.com/vuejs/core/commit/f15d2f6cf69c0c39f8dfb5c33122790c68bf92e2)) - **compiler-sfc:** remove magic-string trim on script ([e8e3ec6](https://togithub.com/vuejs/core/commit/e8e3ec6ca7392e43975c75b56eaaa711d5ea9410)) - **compiler-sfc:** use faster source map addMapping ([50cde7c](https://togithub.com/vuejs/core/commit/50cde7cfbcc49022ba88f5f69fa9b930b483c282)) - **compiler-core:** optimize away isBuiltInType ([66c0ed0](https://togithub.com/vuejs/core/commit/66c0ed0a3c1c6f37dafc6b1c52b75c6bf60e3136)) - **compiler-core:** optimize position cloning ([2073236](https://togithub.com/vuejs/core/commit/20732366b9b3530d33b842cf1fc985919afb9317)) - **codegen:** optimize line / column calculation during codegen ([3be53d9](https://togithub.com/vuejs/core/commit/3be53d9b974dae1a10eb795cade71ae765e17574)) - **codegen:** optimize source map generation ([c11002f](https://togithub.com/vuejs/core/commit/c11002f16afd243a2b15b546816e73882eea9e4d)) - **shared:** optimize makeMap ([ae6fba9](https://togithub.com/vuejs/core/commit/ae6fba94954bac6430902f77b0d1113a98a75b18)) ##### BREAKING CHANGES ##### Global JSX Registration Removed Starting in 3.4, Vue no longer registers the global `JSX` namespace by default. This is necessary to avoid global namespace collision with React so that TSX of both libs can co-exist in the same project. This should not affect SFC-only users with latest version of Volar. If you are using TSX, there are two options: 1. Explicitly set [jsxImportSource](https://www.typescriptlang.org/tsconfig#jsxImportSource) to `'vue'` in `tsconfig.json` before upgrading to 3.4. You can also opt-in per file by adding a `/* @jsxImportSource vue */` comment at the top of the file. 2. If you have code that depends on the presence of the global `JSX` namespace, e.g. usage of types like `JSX.Element` etc., you can retain the exact pre-3.4 global behavior by explicitly referencing `vue/jsx`, which registers the global `JSX` namespace. Note that this is a type-only breaking change in a minor release, which adheres to our [release policy](https://vuejs.org/about/releases.html#semantic-versioning-edge-cases). ##### Deprecated Features Removed - [Reactivity Transform](https://vuejs.org/guide/extras/reactivity-transform.html) was marked deprecated in 3.3 and is now removed in 3.4. This change does not require a major due to the feature being experimental. Users who wish to continue using the feature can do so via the [Vue Macros plugin](https://vue-macros.dev/features/reactivity-transform.html). - `app.config.unwrapInjectedRef` has been removed. It was deprecated and enabled by default in 3.3. In 3.4 it is no longer possible to disable this behavior. - `@vnodeXXX` event listeners in templates are now a compiler error instead of a deprecation warning. Use `@vue:XXX` listeners instead. - `v-is` directive has been removed. It was deprecated in 3.3. Use the [`is` attribute with `vue:` prefix](https://vuejs.org/api/built-in-special-attributes.html#is) instead. ### [`v3.3.13`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3313-2023-12-19) [Compare Source](https://togithub.com/vuejs/core/compare/v3.3.12...v3.3.13) ##### Bug Fixes - **compiler-core:** fix v-on with modifiers on inline expression of undefined ([#9866](https://togithub.com/vuejs/core/issues/9866)) ([bae79dd](https://togithub.com/vuejs/core/commit/bae79ddf8564a2da4a5365cfeb8d811990f42335)), closes [#9865](https://togithub.com/vuejs/core/issues/9865) - **runtime-dom:** cache event handlers by key/modifiers ([#9851](https://togithub.com/vuejs/core/issues/9851)) ([04d2c05](https://togithub.com/vuejs/core/commit/04d2c05054c26b02fbc1d84839b0ed5cd36455b6)), closes [#9849](https://togithub.com/vuejs/core/issues/9849) - **types:** extract properties from extended collections ([#9854](https://togithub.com/vuejs/core/issues/9854)) ([24b1c1d](https://togithub.com/vuejs/core/commit/24b1c1dd57fd55d998aa231a147500e010b10219)), closes [#9852](https://togithub.com/vuejs/core/issues/9852) ### [`v3.3.12`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3312-2023-12-16) [Compare Source](https://togithub.com/vuejs/core/compare/v3.3.11...v3.3.12) ##### Bug Fixes - **hydration:** handle appear transition before patch props ([#9837](https://togithub.com/vuejs/core/issues/9837)) ([e70f4c4](https://togithub.com/vuejs/core/commit/e70f4c47c553b6e16d8fad70743271ca23802fe7)), closes [#9832](https://togithub.com/vuejs/core/issues/9832) - **sfc/cssVars:** fix loss of CSS v-bind variables when setting inline style with string value ([#9824](https://togithub.com/vuejs/core/issues/9824)) ([0a387df](https://togithub.com/vuejs/core/commit/0a387dfb1d04afb6eae4296b6da76dfdaca77af4)), closes [#9821](https://togithub.com/vuejs/core/issues/9821) - **ssr:** fix suspense hydration of fallback content ([#7188](https://togithub.com/vuejs/core/issues/7188)) ([60415b5](https://togithub.com/vuejs/core/commit/60415b5d67df55f1fd6b176615299c08640fa142)) - **types:** add `xmlns:xlink` to `SVGAttributes` ([#9300](https://togithub.com/vuejs/core/issues/9300)) ([0d61b42](https://togithub.com/vuejs/core/commit/0d61b429ecf63591d31e09702058fa4c7132e1a7)), closes [#9299](https://togithub.com/vuejs/core/issues/9299) - **types:** fix `shallowRef` type error ([#9839](https://togithub.com/vuejs/core/issues/9839)) ([9a57158](https://togithub.com/vuejs/core/commit/9a571582b53220270e498d8712ea59312c0bef3a)) - **types:** support for generic keyof slots ([#8374](https://togithub.com/vuejs/core/issues/8374)) ([213eba4](https://togithub.com/vuejs/core/commit/213eba479ce080efc1053fe636f6be4a4c889b44)) ### [`v3.3.11`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3311-2023-12-08) [Compare Source](https://togithub.com/vuejs/core/compare/v3.3.10...v3.3.11) ##### Bug Fixes - **custom-element:** correctly handle number type props in prod ([#8989](https://togithub.com/vuejs/core/issues/8989)) ([d74d364](https://togithub.com/vuejs/core/commit/d74d364d62db8e48881af6b5a75ce4fb5f36cc35)) - **reactivity:** fix mutation on user proxy of reactive Array ([6ecbd5c](https://togithub.com/vuejs/core/commit/6ecbd5ce2a7f59314a8326a1d193874b87f4d8c8)), closes [#9742](https://togithub.com/vuejs/core/issues/9742) [#9751](https://togithub.com/vuejs/core/issues/9751) [#9750](https://togithub.com/vuejs/core/issues/9750) - **runtime-dom:** fix width and height prop check condition ([5b00286](https://togithub.com/vuejs/core/commit/5b002869c533220706f9788b496b8ca8d8e98609)), closes [#9762](https://togithub.com/vuejs/core/issues/9762) - **shared:** handle Map with symbol keys in toDisplayString ([#9731](https://togithub.com/vuejs/core/issues/9731)) ([364821d](https://togithub.com/vuejs/core/commit/364821d6bdb1775e2f55a69bcfb9f40f7acf1506)), closes [#9727](https://togithub.com/vuejs/core/issues/9727) - **shared:** handle more Symbol cases in toDisplayString ([983d45d](https://togithub.com/vuejs/core/commit/983d45d4f8eb766b5a16b7ea93b86d3c51618fa6)) - **Suspense:** properly get anchor when mount fallback vnode ([#9770](https://togithub.com/vuejs/core/issues/9770)) ([b700328](https://togithub.com/vuejs/core/commit/b700328342e17dc16b19316c2e134a26107139d2)), closes [#9769](https://togithub.com/vuejs/core/issues/9769) - **types:** ref() return type should not be any when initial value is any ([#9768](https://togithub.com/vuejs/core/issues/9768)) ([cdac121](https://togithub.com/vuejs/core/commit/cdac12161ec27b45ded48854c3d749664b6d4a6d)) - **watch:** should not fire pre watcher on child component unmounConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.