-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(reactivity): prevent endless recursion in computed getters #11797
Conversation
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/reactivity
@vue/runtime-dom
@vue/runtime-core
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
Size ReportBundles
Usages
|
/ecosystem-ci run |
📝 Ran ecosystem CI: Open
|
/ecosystem-ci run nuxt |
⏳ Triggered ecosystem CI: Open |
This doesn't seem to break anything but it would be ideal to have a minimal test case so we better understand what kind of usage leads to need of this fix. |
@yyx990803 I've been trying to understand the situation that creates such a chain and how to create a simple test-case for it all morning, but have not managed to do so yet. It's very tricky, as I don't unterstand the internals of the reactivity system and the situation only occurs in one place in our complex code-base. |
I've finally managed to track this down. I will create a test-case soon, and I also have a simpler fix for this endless recursion than the current one. More to come. |
892d0fa
to
785c471
Compare
So here's a simplified test-case. It turns out that our code had a rare situation where a computed getter would indirectly reference itself. This is of course bad practise, but it should not lead to endless notify recursions (press the "Step" button to see the bug): The same code used to work in 3.4.11: |
I have added a simpler fix for this situation along with a proper test in 785c471 @yyx990803 I look forward to hearing your thoughts on this. |
It's a bit strange that no value is returned from the first use of the getter. One could argue that the behavior of v3.4.15 is actually the correct one in this situation? |
@lehni that is indeed another behavior change from 3.4. I will address it in a separate commit. |
@yyx990803 amazing, thank you for working on this so swiftly! |
Great @lehni & @yyx990803 Thanks for the fast fix! The endless recursion also occurred in floating-vue tooltips, fixed with Vue 3.5.2 |
Why was this reverted? 3.5.2 fixed it and today 3.5.3 broke it again. |
@charlesg99 are you saying you're seeing an endless recursion again? For what it's worth, this fix here wasn't reverted, it's the follow up commit e84c4a6 by @yyx990803 that was reverted. |
The reverted commit references your comment here and not a separate issue, so I'm commenting here :) |
Ok understood. Could you create a new issue with a test-case illustrating your bug? |
@lehni |
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`1.46.1` -> `1.47.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.46.1/1.47.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.16.2` -> `20.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.2/20.16.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.2/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.2/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`15.7.0` -> `15.7.3`](https://renovatebot.com/diffs/npm/happy-dom/15.7.0/15.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/15.7.0/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/15.7.0/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.2` -> `5.4.3`](https://renovatebot.com/diffs/npm/vite/5.4.2/5.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite-plugin-dts](https://redirect.github.com/qmhc/vite-plugin-dts) | [`4.0.3` -> `4.1.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/4.0.3/4.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/4.0.3/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/4.0.3/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`3.4.38` -> `3.5.3`](https://renovatebot.com/diffs/npm/vue/3.4.38/3.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.38/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.38/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://redirect.github.com/vuejs/language-tools) ([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.1.2` -> `2.1.6`](https://renovatebot.com/diffs/npm/vue-tsc/2.1.2/2.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.1.2/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.1.2/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.47.0`](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...d5943def35edadc6f9bd8daeed382559d2a55fbe) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...v1.47.0) </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v15.7.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.2...v15.7.3) ##### 👷♂️ Patch fixes - Fixes bug that occurs when checking if a symbol property exists on `HTMLSelectElement` - By **[@​Cherry](https://redirect.github.com/Cherry)** in task [#​1526](https://redirect.github.com/capricorn86/happy-dom/issues/1526) ### [`v15.7.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.1...v15.7.2) ##### 👷♂️ Patch fixes - Fixes problem where it is not possible to observe again after disconnecting in `MutationObserver` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1524](https://redirect.github.com/capricorn86/happy-dom/issues/1524) ### [`v15.7.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.0...v15.7.1) ##### 👷♂️ Patch fixes - Fixes selector validation and converts selectors to string (e.g. `querySelector(['.class'])`) - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1507](https://redirect.github.com/capricorn86/happy-dom/issues/1507) </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v5.4.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small543-2024-09-03-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v5.4.2...v5.4.3) - fix: allow getting URL of JS files in publicDir ([#​17915](https://redirect.github.com/vitejs/vite/issues/17915)) ([943ece1](https://redirect.github.com/vitejs/vite/commit/943ece177e7709b3ba574e810afce347c51d4442)), closes [#​17915](https://redirect.github.com/vitejs/vite/issues/17915) - fix: cjs warning respect the logLevel flag ([#​17993](https://redirect.github.com/vitejs/vite/issues/17993)) ([dc3c14f](https://redirect.github.com/vitejs/vite/commit/dc3c14f39fcd57867c8ae81b75ae768b53b4b880)), closes [#​17993](https://redirect.github.com/vitejs/vite/issues/17993) - fix: improve CJS warning trace information ([#​17926](https://redirect.github.com/vitejs/vite/issues/17926)) ([5c5f82c](https://redirect.github.com/vitejs/vite/commit/5c5f82c84bb64309875b42eee9d4dd525ab42e8c)), closes [#​17926](https://redirect.github.com/vitejs/vite/issues/17926) - fix: only remove entry assets handled by Vite core ([#​17916](https://redirect.github.com/vitejs/vite/issues/17916)) ([ebfaa7e](https://redirect.github.com/vitejs/vite/commit/ebfaa7e6019783f308db5e759a6a67abb7cc626c)), closes [#​17916](https://redirect.github.com/vitejs/vite/issues/17916) - fix: waitForRequestIdle locked ([#​17982](https://redirect.github.com/vitejs/vite/issues/17982)) ([ad13760](https://redirect.github.com/vitejs/vite/commit/ad1376018a94b42540a8488d897cc520849e1228)), closes [#​17982](https://redirect.github.com/vitejs/vite/issues/17982) - fix(css): fix directory index import in sass modern api ([#​17960](https://redirect.github.com/vitejs/vite/issues/17960)) ([9b001ba](https://redirect.github.com/vitejs/vite/commit/9b001baa70c8489ac5550107c110a5dca281cda4)), closes [#​17960](https://redirect.github.com/vitejs/vite/issues/17960) - fix(css): fix sass `file://` reference ([#​17909](https://redirect.github.com/vitejs/vite/issues/17909)) ([561b940](https://redirect.github.com/vitejs/vite/commit/561b940f6f963fbb78058a6e23b4adad53a2edb9)), closes [#​17909](https://redirect.github.com/vitejs/vite/issues/17909) - fix(css): fix sass modern source map ([#​17938](https://redirect.github.com/vitejs/vite/issues/17938)) ([d428e7e](https://redirect.github.com/vitejs/vite/commit/d428e7e3a05f8da5ea00bb1b6a0827a5cc225899)), closes [#​17938](https://redirect.github.com/vitejs/vite/issues/17938) - fix(deps): bump tsconfck ([#​17990](https://redirect.github.com/vitejs/vite/issues/17990)) ([8c661b2](https://redirect.github.com/vitejs/vite/commit/8c661b20e92f33eb2e3ba3841b20dd6f6076f1ef)), closes [#​17990](https://redirect.github.com/vitejs/vite/issues/17990) - fix(html): rewrite assets url in <template> ([#​17988](https://redirect.github.com/vitejs/vite/issues/17988)) ([413c86a](https://redirect.github.com/vitejs/vite/commit/413c86aa971bc1ad8958578c929f45a368799f74)), closes [#​17988](https://redirect.github.com/vitejs/vite/issues/17988) - fix(preload): add crossorigin attribute in CSS link tags ([#​17930](https://redirect.github.com/vitejs/vite/issues/17930)) ([15871c7](https://redirect.github.com/vitejs/vite/commit/15871c75e0722adeda23f771fd6c45fecba4d118)), closes [#​17930](https://redirect.github.com/vitejs/vite/issues/17930) - chore: reduce diffs with v6 branch ([#​17942](https://redirect.github.com/vitejs/vite/issues/17942)) ([bf9065a](https://redirect.github.com/vitejs/vite/commit/bf9065aa13da6a519014c3bc1d34cfb1cb49ccca)), closes [#​17942](https://redirect.github.com/vitejs/vite/issues/17942) - chore(deps): update all non-major dependencies ([#​17945](https://redirect.github.com/vitejs/vite/issues/17945)) ([cfb621e](https://redirect.github.com/vitejs/vite/commit/cfb621e7a5a3e24d710a9af156e6855e73caf891)), closes [#​17945](https://redirect.github.com/vitejs/vite/issues/17945) - chore(deps): update all non-major dependencies ([#​17991](https://redirect.github.com/vitejs/vite/issues/17991)) ([0ca53cf](https://redirect.github.com/vitejs/vite/commit/0ca53cff9ff49108fcec75ff01d2445f9c2f2a4c)), closes [#​17991](https://redirect.github.com/vitejs/vite/issues/17991) </details> <details> <summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary> ### [`v4.1.1`](https://redirect.github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#411-2024-09-06) [Compare Source](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.1.0...v4.1.1) ##### Bug Fixes - correct resolve Vue when create program ([0621332](https://redirect.github.com/qmhc/vite-plugin-dts/commit/0621332f46606b20365f1b2efdd45ef826e32186)), closes [#​380](https://redirect.github.com/qmhc/vite-plugin-dts/issues/380) ### [`v4.1.0`](https://redirect.github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#410-2024-09-01) [Compare Source](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.3...v4.1.0) ##### Bug Fixes - correctly parse tsconfig paths with nested imports ([#​376](https://redirect.github.com/qmhc/vite-plugin-dts/issues/376)) ([10118ae](https://redirect.github.com/qmhc/vite-plugin-dts/commit/10118aea62fa1ec70b4d93a9d02f05e8642bd891)), closes [#​330](https://redirect.github.com/qmhc/vite-plugin-dts/issues/330) - only clean vue suffix when no duplicated name ([068e711](https://redirect.github.com/qmhc/vite-plugin-dts/commit/068e7119ef6d8e1c99ea18d6a0f56194f32be77d)), closes [#​372](https://redirect.github.com/qmhc/vite-plugin-dts/issues/372) ##### Features - auto switch to original program if no Vue ([a04a191](https://redirect.github.com/qmhc/vite-plugin-dts/commit/a04a191566e996defc071344f59cc76414fce61d)), closes [#​363](https://redirect.github.com/qmhc/vite-plugin-dts/issues/363) #### [4.0.3](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.2...v4.0.3) (2024-08-14) ##### Bug Fixes - normalize typescript lib path for rollup ([#​366](https://redirect.github.com/qmhc/vite-plugin-dts/issues/366)) ([b0c63df](https://redirect.github.com/qmhc/vite-plugin-dts/commit/b0c63dfaf701dc11d2f9cbb2cef5079efe7402e7)) #### [4.0.2](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.1...v4.0.2) (2024-08-09) ##### Bug Fixes - ensure inserted index file be a module ([f93e98c](https://redirect.github.com/qmhc/vite-plugin-dts/commit/f93e98cd84b486ba426c25304c6ce891acec7745)), closes [#​365](https://redirect.github.com/qmhc/vite-plugin-dts/issues/365) #### [4.0.1](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.0...v4.0.1) (2024-08-07) ##### Bug Fixes - correctly match normal export ([589901f](https://redirect.github.com/qmhc/vite-plugin-dts/commit/589901fead8b3aef589f0652b27277f6e0d0d2ac)), closes [#​362](https://redirect.github.com/qmhc/vite-plugin-dts/issues/362) </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.5.3`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.2...v3.5.3) ##### Bug Fixes - **hydration:** check \__asyncHydrate presence for vue3-lazy-hydration compat ([#​11825](https://redirect.github.com/vuejs/core/issues/11825)) ([8e6c337](https://redirect.github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9)), closes [#​11793](https://redirect.github.com/vuejs/core/issues/11793) - Revert "fix(reactivity): self-referencing computed should refresh" ([35c760f](https://redirect.github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f)) - **ssr:** respect app.config.warnHandler during ssr ([bf3d9a2](https://redirect.github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af)), closes [#​11830](https://redirect.github.com/vuejs/core/issues/11830) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11833](https://redirect.github.com/vuejs/core/issues/11833)) ([6b7901d](https://redirect.github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **useId:** make generated IDs selector compatible ([babfb4c](https://redirect.github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710)), closes [#​11828](https://redirect.github.com/vuejs/core/issues/11828) ### [`v3.5.2`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.1...v3.5.2) ##### Bug Fixes - **reactivity:** make toRaw work on proxies created by proxyRef ([46c3ab1](https://redirect.github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d)) - **reactivity:** pass oldValue to computed getter ([#​11813](https://redirect.github.com/vuejs/core/issues/11813)) ([98864a7](https://redirect.github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81)), closes [#​11812](https://redirect.github.com/vuejs/core/issues/11812) - **reactivity:** prevent endless recursion in computed getters ([#​11797](https://redirect.github.com/vuejs/core/issues/11797)) ([716275d](https://redirect.github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2)) - **reactivity:** self-referencing computed should refresh ([e84c4a6](https://redirect.github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2)), closes [/github.com/vuejs/core/pull/11797#issuecomment-2330738633](https://redirect.github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633) - **scheduler:** prevent duplicate jobs being queued ([#​11826](https://redirect.github.com/vuejs/core/issues/11826)) ([df56cc5](https://redirect.github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee)), closes [#​11712](https://redirect.github.com/vuejs/core/issues/11712) [#​11807](https://redirect.github.com/vuejs/core/issues/11807) - **suspense:** avoid updating anchor if activeBranch has not been rendered to the actual container ([#​11818](https://redirect.github.com/vuejs/core/issues/11818)) ([3c0d531](https://redirect.github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795)), closes [#​11806](https://redirect.github.com/vuejs/core/issues/11806) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11778](https://redirect.github.com/vuejs/core/issues/11778)) ([3116553](https://redirect.github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **types:** add HTMLDialogElement missing close event ([#​11811](https://redirect.github.com/vuejs/core/issues/11811)) ([3634f7a](https://redirect.github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01)) - **types:** added name attribute support to details tag ([#​11823](https://redirect.github.com/vuejs/core/issues/11823)) ([c74176e](https://redirect.github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549)), closes [#​11821](https://redirect.github.com/vuejs/core/issues/11821) - **types:** fix defineComponent props inference when setup() has explicit annotation ([fca20a3](https://redirect.github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a)), closes [#​11803](https://redirect.github.com/vuejs/core/issues/11803) - **useTemplateRef:** properly fix readonly warning in dev and ensure prod behavior consistency ([9b7797d](https://redirect.github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc)), closes [#​11808](https://redirect.github.com/vuejs/core/issues/11808) [#​11816](https://redirect.github.com/vuejs/core/issues/11816) [#​11810](https://redirect.github.com/vuejs/core/issues/11810) ##### Features - **compiler-core:** parse modifiers as expression to provide location data ([#​11819](https://redirect.github.com/vuejs/core/issues/11819)) ([3f13203](https://redirect.github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75)) ### [`v3.5.1`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#351-2024-09-04) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.0...v3.5.1) ##### Bug Fixes - **build:** improve built-in components treeshakability ([4eee630](https://redirect.github.com/vuejs/core/commit/4eee630b3122a10d0baf9b91358cfffa92d6fd81)) - **reactivity:** handle non-array arguments in reactive `concat` method ([#​11794](https://redirect.github.com/vuejs/core/issues/11794)) ([475977a](https://redirect.github.com/vuejs/core/commit/475977a6f76b77392610e0a3ec2b0e076d1e1d59)), closes [#​11792](https://redirect.github.com/vuejs/core/issues/11792) - **Transition:** avoid applying transition hooks on comment vnode ([#​11788](https://redirect.github.com/vuejs/core/issues/11788)) ([51912f8](https://redirect.github.com/vuejs/core/commit/51912f8a02e35f172f6d30ed7a2f3a92c1407cf9)), closes [#​11782](https://redirect.github.com/vuejs/core/issues/11782) - **types:** avoid using intersection type in `Readonly<...>` to fix JSDoc emit ([#​11799](https://redirect.github.com/vuejs/core/issues/11799)) ([7518bc1](https://redirect.github.com/vuejs/core/commit/7518bc19dc73ba46dcf1eef6e23f9e6e75552675)) - **useTemplateRef:** fix readonly warning when useTemplateRef has same variable name as template ref ([bc63df0](https://redirect.github.com/vuejs/core/commit/bc63df01992fdbf0b6749ad234153725697ed896)), closes [#​11795](https://redirect.github.com/vuejs/core/issues/11795) [#​11802](https://redirect.github.com/vuejs/core/issues/11802) [#​11804](https://redirect.github.com/vuejs/core/issues/11804) ### [`v3.5.0`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.38...v3.5.0) #### Aggregated Features List for 3.5 (alpha to stable) ##### Reactivity - **reactivity**: Refactor reactivity system to use version counting and doubly-linked list tracking ([#​10397](https://redirect.github.com/vuejs/core/pull/10397)) ([05eb4e0](https://redirect.github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa)) - **reactivity**: Optimize array tracking ([#​9511](https://redirect.github.com/vuejs/core/pull/9511)) ([70196a4](https://redirect.github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e)) - **compiler-sfc:** enable reactive props destructure by default ([d2dac0e](https://redirect.github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d)) - **reactivity:** `onEffectCleanup` API ([2cc5615](https://redirect.github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004)), closes [#​10173](https://redirect.github.com/vuejs/core/issues/10173) - **reactivity:** add `failSilently` argument for `onScopeDispose` ([9a936aa](https://redirect.github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd)) - **reactivity/watch:** base `watch`, `getCurrentWatcher`, and `onWatcherCleanup` ([#​9927](https://redirect.github.com/vuejs/core/issues/9927)) ([205e5b5](https://redirect.github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72)) - **reactivity/watch:** add pause/resume for ReactiveEffect, EffectScope, and WatchHandle ([#​9651](https://redirect.github.com/vuejs/core/issues/9651)) ([267093c](https://redirect.github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582)) - **watch:** support passing number to `deep` option to control the watch depth ([#​9572](https://redirect.github.com/vuejs/core/issues/9572)) ([22f7d96](https://redirect.github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c)) - **types:** export `MultiWatchSources` type ([#​9563](https://redirect.github.com/vuejs/core/issues/9563)) ([998dca5](https://redirect.github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c)) - **types:** allow computed getter and setter types to be unrelated ([#​11472](https://redirect.github.com/vuejs/core/issues/11472)) ([a01675e](https://redirect.github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2)), closes [#​7271](https://redirect.github.com/vuejs/core/issues/7271) ##### SSR - **runtime-core:** `useId()` and `app.config.idPrefix` ([#​11404](https://redirect.github.com/vuejs/core/issues/11404)) ([73ef156](https://redirect.github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247)) - **hydration:** lazy hydration strategies for async components ([#​11458](https://redirect.github.com/vuejs/core/issues/11458)) ([d14a11c](https://redirect.github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4)) - **hydration:** support suppressing hydration mismatch via data-allow-mismatch ([94fb2b8](https://redirect.github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1)) ##### Custom Element - **custom-element:** `useHost()` helper ([775103a](https://redirect.github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0)) - **custom-element:** `useShadowRoot()` helper ([5a1a89b](https://redirect.github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282)), closes [#​6113](https://redirect.github.com/vuejs/core/issues/6113) [#​8195](https://redirect.github.com/vuejs/core/issues/8195) - **custom-element:** expose `this.$host` in Options API ([1ef8f46](https://redirect.github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50)) - **custom-element:** inject child components styles to custom element shadow root ([#​11517](https://redirect.github.com/vuejs/core/issues/11517)) ([56c76a8](https://redirect.github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1)), closes [#​4662](https://redirect.github.com/vuejs/core/issues/4662) [#​7941](https://redirect.github.com/vuejs/core/issues/7941) [#​7942](https://redirect.github.com/vuejs/core/issues/7942) - **custom-element:** support configurable app instance in defineCustomElement ([6758c3c](https://redirect.github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd)), closes [#​4356](https://redirect.github.com/vuejs/core/issues/4356) [#​4635](https://redirect.github.com/vuejs/core/issues/4635) - **custom-element:** support css `:host` selector by applying css vars on host element ([#​8830](https://redirect.github.com/vuejs/core/issues/8830)) ([03a9ea2](https://redirect.github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb)), closes [#​8826](https://redirect.github.com/vuejs/core/issues/8826) - **custom-element:** support emit with options ([e181bff](https://redirect.github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08)), closes [#​7605](https://redirect.github.com/vuejs/core/issues/7605) - **custom-element:** support expose on customElement ([#​6256](https://redirect.github.com/vuejs/core/issues/6256)) ([af838c1](https://redirect.github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624)), closes [#​5540](https://redirect.github.com/vuejs/core/issues/5540) - **custom-element:** support `nonce` option for injected style tags ([bb4a02a](https://redirect.github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded)), closes [#​6530](https://redirect.github.com/vuejs/core/issues/6530) - **custom-element:** support passing custom-element-specific options via 2nd argument of defineCustomElement ([60a88a2](https://redirect.github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e)) - **custom-element:** support `shadowRoot: false` in `defineCustomElement()` ([37d2ce5](https://redirect.github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e)), closes [#​4314](https://redirect.github.com/vuejs/core/issues/4314) [#​4404](https://redirect.github.com/vuejs/core/issues/4404) ##### Teleport - **teleport:** support deferred Teleport ([#​11387](https://redirect.github.com/vuejs/core/issues/11387)) ([59a3e88](https://redirect.github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef)), closes [#​2015](https://redirect.github.com/vuejs/core/issues/2015) [#​11386](https://redirect.github.com/vuejs/core/issues/11386) - **teleport/transition:** support directly nesting Teleport inside Transition ([#​6548](https://redirect.github.com/vuejs/core/issues/6548)) ([0e6e3c7](https://redirect.github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0)), closes [#​5836](https://redirect.github.com/vuejs/core/issues/5836) ##### Misc - **runtime-core:** `useTemplateRef()` ([3ba70e4](https://redirect.github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df)) - **runtime-core:** add `app.onUnmount()` for registering cleanup functions ([#​4619](https://redirect.github.com/vuejs/core/issues/4619)) ([582a3a3](https://redirect.github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e)), closes [#​4516](https://redirect.github.com/vuejs/core/issues/4516) - **runtime-core:** add `app.config.throwUnhandledErrorInProduction` ([f476b7f](https://redirect.github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0)), closes [#​7876](https://redirect.github.com/vuejs/core/issues/7876) - **runtime-dom:** Trusted Types compatibility ([#​10844](https://redirect.github.com/vuejs/core/issues/10844)) ([6d4eb94](https://redirect.github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5)) - **compiler-core:** support `Symbol` global in template expressions ([#​9069](https://redirect.github.com/vuejs/core/issues/9069)) ([a501a85](https://redirect.github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3)) - **types:** export more emit related types ([#​11017](https://redirect.github.com/vuejs/core/issues/11017)) ([189573d](https://redirect.github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733)) <!----> - **types:** add loading prop to iframe ([#​11767](https://redirect.github.com/vuejs/core/issues/11767)) ([d86fe0e](https://redirect.github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68)) ##### Internals - **reactivity:** store value cache on CustomRefs impls ([#​11539](https://redirect.github.com/vuejs/core/issues/11539)) ([e044b6e](https://redirect.github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292)) - **types:** provide internal options for directly using user types in language tools ([#​10801](https://redirect.github.com/vuejs/core/issues/10801)) ([75c8cf6](https://redirect.github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9)) - **types:** provide internal options for using refs type in language tools ([#​11492](https://redirect.github.com/vuejs/core/issues/11492)) ([5ffd1a8](https://redirect.github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76)) #### Bug Fixes - **compiler-sfc:** fix import usage check for kebab-case same name shorthand binding ([0f7c0e5](https://redirect.github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354)), closes [#​11745](https://redirect.github.com/vuejs/core/issues/11745) [#​11754](https://redirect.github.com/vuejs/core/issues/11754) - **cssVars:** correctly escape double quotes in SSR ([#​11784](https://redirect.github.com/vuejs/core/issues/11784)) ([7b5b6e0](https://redirect.github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a)), closes [#​11779](https://redirect.github.com/vuejs/core/issues/11779) - **deps:** update dependency postcss to ^8.4.44 ([#​11774](https://redirect.github.com/vuejs/core/issues/11774)) ([cb843e0](https://redirect.github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505)) - **hydration:** escape css var name to avoid mismatch ([#​11739](https://redirect.github.com/vuejs/core/issues/11739)) ([ca12e77](https://redirect.github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37)), closes [#​11735](https://redirect.github.com/vuejs/core/issues/11735) - **hydration:** handle text nodes with 0 during hydration ([#​11772](https://redirect.github.com/vuejs/core/issues/11772)) ([c756da2](https://redirect.github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5)), closes [#​11771](https://redirect.github.com/vuejs/core/issues/11771) - **reactivity:** correctly handle method calls on user-extended arrays ([#​11760](https://redirect.github.com/vuejs/core/issues/11760)) ([9817c80](https://redirect.github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd)), closes [#​11759](https://redirect.github.com/vuejs/core/issues/11759) - **runtime-dom:** avoid unnecessary prop patch for checkbox ([#​11657](https://redirect.github.com/vuejs/core/issues/11657)) ([c3ce9fe](https://redirect.github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **runtime-dom:** prevent unnecessary DOM update from v-model ([#​11656](https://redirect.github.com/vuejs/core/issues/11656)) ([b1be9bd](https://redirect.github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **server-renderer:** Fix call to serverPrefetch in server renderer with an async setup ([#​10893](https://redirect.github.com/vuejs/core/issues/10893)) ([6039e25](https://redirect.github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab)) - **server-renderer:** render `className` during SSR ([#​11722](https://redirect.github.com/vuejs/core/issues/11722)) ([52cdb0f](https://redirect.github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565)) - **types/defineModel:** allow getter and setter types to be unrelated ([#​11699](https://redirect.github.com/vuejs/core/issues/11699)) ([fe07f70](https://redirect.github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96)), closes [#​11697](https://redirect.github.com/vuejs/core/issues/11697) </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v2.1.6`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#216-supofficialsup-217-supinsiderssup-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/a95b51ac0b0db8825f77fbba37e29932b5be61e4...v2.1.6) ##### Features - **language-plugin-pug:** support initial indentation ([#​4774](https://redirect.github.com/vuejs/language-tools/issues/4774)) - **language-service:** JSDoc display support when typing props on component template ([#​4796](https://redirect.github.com/vuejs/language-tools/issues/4796)) - Thanks to [@​joy-yu](https://redirect.github.com/joy-yu)! - **language-core:** typed directives in template ([#​4807](https://redirect.github.com/vuejs/language-tools/issues/4807)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Bug Fixes - **language-core:** wrap template refs with `unref` in interpolation ([#​4777](https://redirect.github.com/vuejs/language-tools/issues/4777)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** ensure to pass tsc on inline global types ([#​4782](https://redirect.github.com/vuejs/language-tools/issues/4782)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** infer native template ref as build-in element interface ([#​4786](https://redirect.github.com/vuejs/language-tools/issues/4786)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** generate `__VLS_StyleModules` after template ([#​4790](https://redirect.github.com/vuejs/language-tools/issues/4790)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** make `expose` of non-generic template ref required ([#​4795](https://redirect.github.com/vuejs/language-tools/issues/4795)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** avoid using `__typeProps` with runtime props ([#​4800](https://redirect.github.com/vuejs/language-tools/issues/4800)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** ignore unknown attrs error when strictTemplates is not enabled ([#​4785](https://redirect.github.com/vuejs/language-tools/issues/4785)) - **language-core:** prevent append globalTypes to virtual file ([#​4806](https://redirect.github.com/vuejs/language-tools/issues/4806)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** prevent type error when use defineSlots and non-template ([#​4809](https://redirect.github.com/vuejs/language-tools/issues/4809)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **typescript-plugin:** disconnect socket on error ([#​4672](https://redirect.github.com/vuejs/language-tools/issues/4672)) ##### Performance - **language-core:** don't emit event lnlayhint when content is none ([#​4776](https://redirect.github.com/vuejs/language-tools/issues/4776)) - Thanks to [@​Gehbt](https://redirect.github.com/Gehbt)! ##### Other Changes - **language-core:** split `__VLS_templateResult` ([#​4781](https://redirect.github.com/vuejs/language-tools/issues/4781)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** wrap template virtual code into a function ([#​4784](https://redirect.github.com/vuejs/language-tools/issues/4784)) - **language-core:** move `templateRef` into `composibles` ([#​4791](https://redirect.github.com/vuejs/language-tools/issues/4791)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** generate global types for the first parsed Vue component if cannot write global types file ##### Tests - **language-server:** add renaming case for template `ref()` ([#​4794](https://redirect.github.com/vuejs/language-tools/issues/4794)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **tsc:** update to Vue 3.5 ([#​4725](https://redirect.github.com/vuejs/language-tools/issues/4725)) - **tsc:** unknown props on non-strict generic component ([#​4792](https://redirect.github.com/vuejs/language-tools/issues/4792)) ### [`v2.1.5`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#214-supofficialsup-215-supinsiderssup-2024-09-01) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.4...a95b51ac0b0db8825f77fbba37e29932b5be61e4) ##### Features - **typescript-plugin, language-server:** generate global types file into `node_modules/.vue-global-types` ([#​4752](https://redirect.github.com/vuejs/language-tools/issues/4752)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** navigation support for template-ref ([#​4726](https://redirect.github.com/vuejs/language-tools/issues/4726)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Bug Fixes - **language-core, typescript-plugin, language-server:** apply snake case on globalTypes filename ([#​4749](https://redirect.github.com/vuejs/language-tools/issues/4749)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** hoist `$refs` type ([#​4763](https://redirect.github.com/vuejs/language-tools/issues/4763)) - **language-core:** disable lib check on global types file ([#​4767](https://redirect.github.com/vuejs/language-tools/issues/4767)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** prevent circular reference of templateRef ([#​4768](https://redirect.github.com/vuejs/language-tools/issues/4768)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** using interface merging for `GlobalComponents` - **language-core:** `fallthroughAttributes` causes global components to be self-referential ([#​4761](https://redirect.github.com/vuejs/language-tools/issues/4761)) - **language-core:** auto-completion for the last line of template block ([#​4771](https://redirect.github.com/vuejs/language-tools/issues/4771)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** update ast correctly on repeated `v-for` modifications ([#​4772](https://redirect.github.com/vuejs/language-tools/issues/4772)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-server:** leaking named pipes ([#​4672](https://redirect.github.com/vuejs/language-tools/issues/4672)) - **typescript-plugin:** compatible with Yarn PnP ([#​4751](https://redirect.github.com/vuejs/language-tools/issues/4751)) - **vscode:** whitelist `ms-dynamics-smb.al` extension for Vue Hybrid Mode. ([#​4765](https://redirect.github.com/vuejs/language-tools/issues/4765)) - Thanks to [@​kyleweishaupt](https://redirect.github.com/kyleweishaupt)! ##### Other Changes - Add optional "dependencies" textarea to issue template ([#​4758](https://redirect.github.com/vuejs/language-tools/issues/4758)) - Thanks to [@​davidmatter](https://redirect.github.com/davidmatter)! ### [`v2.1.4`](https://redirect.github.com/vuejs/language-tools/compare/v2.1.2...5e197d08eaef57209ff2927c943ba1db3bf4eff6) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.2...v2.1.4) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/slipmatio/logger). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Self-referencing computed is an anti-pattern. The behavior is not strictly defined and has fluctuated between versions in the past. If a change "fixes" a behavior for an anti-pattern but breaks other idiomatic usage, it will be reverted. |
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@playwright/test](https://playwright.dev) ([source](https://redirect.github.com/microsoft/playwright)) | [`1.46.1` -> `1.47.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.46.1/1.47.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.46.1/1.47.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.16.2` -> `20.16.5`](https://renovatebot.com/diffs/npm/@types%2fnode/20.16.2/20.16.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.16.2/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.16.2/20.16.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [happy-dom](https://redirect.github.com/capricorn86/happy-dom) | [`15.7.0` -> `15.7.3`](https://renovatebot.com/diffs/npm/happy-dom/15.7.0/15.7.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/happy-dom/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/happy-dom/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/happy-dom/15.7.0/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/happy-dom/15.7.0/15.7.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://vitejs.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.2` -> `5.4.3`](https://renovatebot.com/diffs/npm/vite/5.4.2/5.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite-plugin-dts](https://redirect.github.com/qmhc/vite-plugin-dts) | [`4.0.3` -> `4.1.1`](https://renovatebot.com/diffs/npm/vite-plugin-dts/4.0.3/4.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-dts/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-dts/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-dts/4.0.3/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-dts/4.0.3/4.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`3.4.38` -> `3.5.3`](https://renovatebot.com/diffs/npm/vue/3.4.38/3.5.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.38/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.38/3.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://redirect.github.com/vuejs/language-tools) ([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.1.2` -> `2.1.6`](https://renovatebot.com/diffs/npm/vue-tsc/2.1.2/2.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.1.2/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.1.2/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>microsoft/playwright (@​playwright/test)</summary> ### [`v1.47.0`](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...d5943def35edadc6f9bd8daeed382559d2a55fbe) [Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.46.1...v1.47.0) </details> <details> <summary>capricorn86/happy-dom (happy-dom)</summary> ### [`v15.7.3`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.3) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.2...v15.7.3) ##### 👷♂️ Patch fixes - Fixes bug that occurs when checking if a symbol property exists on `HTMLSelectElement` - By **[@​Cherry](https://redirect.github.com/Cherry)** in task [#​1526](https://redirect.github.com/capricorn86/happy-dom/issues/1526) ### [`v15.7.2`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.2) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.1...v15.7.2) ##### 👷♂️ Patch fixes - Fixes problem where it is not possible to observe again after disconnecting in `MutationObserver` - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1524](https://redirect.github.com/capricorn86/happy-dom/issues/1524) ### [`v15.7.1`](https://redirect.github.com/capricorn86/happy-dom/releases/tag/v15.7.1) [Compare Source](https://redirect.github.com/capricorn86/happy-dom/compare/v15.7.0...v15.7.1) ##### 👷♂️ Patch fixes - Fixes selector validation and converts selectors to string (e.g. `querySelector(['.class'])`) - By **[@​capricorn86](https://redirect.github.com/capricorn86)** in task [#​1507](https://redirect.github.com/capricorn86/happy-dom/issues/1507) </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v5.4.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small543-2024-09-03-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v5.4.2...v5.4.3) - fix: allow getting URL of JS files in publicDir ([#​17915](https://redirect.github.com/vitejs/vite/issues/17915)) ([943ece1](https://redirect.github.com/vitejs/vite/commit/943ece177e7709b3ba574e810afce347c51d4442)), closes [#​17915](https://redirect.github.com/vitejs/vite/issues/17915) - fix: cjs warning respect the logLevel flag ([#​17993](https://redirect.github.com/vitejs/vite/issues/17993)) ([dc3c14f](https://redirect.github.com/vitejs/vite/commit/dc3c14f39fcd57867c8ae81b75ae768b53b4b880)), closes [#​17993](https://redirect.github.com/vitejs/vite/issues/17993) - fix: improve CJS warning trace information ([#​17926](https://redirect.github.com/vitejs/vite/issues/17926)) ([5c5f82c](https://redirect.github.com/vitejs/vite/commit/5c5f82c84bb64309875b42eee9d4dd525ab42e8c)), closes [#​17926](https://redirect.github.com/vitejs/vite/issues/17926) - fix: only remove entry assets handled by Vite core ([#​17916](https://redirect.github.com/vitejs/vite/issues/17916)) ([ebfaa7e](https://redirect.github.com/vitejs/vite/commit/ebfaa7e6019783f308db5e759a6a67abb7cc626c)), closes [#​17916](https://redirect.github.com/vitejs/vite/issues/17916) - fix: waitForRequestIdle locked ([#​17982](https://redirect.github.com/vitejs/vite/issues/17982)) ([ad13760](https://redirect.github.com/vitejs/vite/commit/ad1376018a94b42540a8488d897cc520849e1228)), closes [#​17982](https://redirect.github.com/vitejs/vite/issues/17982) - fix(css): fix directory index import in sass modern api ([#​17960](https://redirect.github.com/vitejs/vite/issues/17960)) ([9b001ba](https://redirect.github.com/vitejs/vite/commit/9b001baa70c8489ac5550107c110a5dca281cda4)), closes [#​17960](https://redirect.github.com/vitejs/vite/issues/17960) - fix(css): fix sass `file://` reference ([#​17909](https://redirect.github.com/vitejs/vite/issues/17909)) ([561b940](https://redirect.github.com/vitejs/vite/commit/561b940f6f963fbb78058a6e23b4adad53a2edb9)), closes [#​17909](https://redirect.github.com/vitejs/vite/issues/17909) - fix(css): fix sass modern source map ([#​17938](https://redirect.github.com/vitejs/vite/issues/17938)) ([d428e7e](https://redirect.github.com/vitejs/vite/commit/d428e7e3a05f8da5ea00bb1b6a0827a5cc225899)), closes [#​17938](https://redirect.github.com/vitejs/vite/issues/17938) - fix(deps): bump tsconfck ([#​17990](https://redirect.github.com/vitejs/vite/issues/17990)) ([8c661b2](https://redirect.github.com/vitejs/vite/commit/8c661b20e92f33eb2e3ba3841b20dd6f6076f1ef)), closes [#​17990](https://redirect.github.com/vitejs/vite/issues/17990) - fix(html): rewrite assets url in <template> ([#​17988](https://redirect.github.com/vitejs/vite/issues/17988)) ([413c86a](https://redirect.github.com/vitejs/vite/commit/413c86aa971bc1ad8958578c929f45a368799f74)), closes [#​17988](https://redirect.github.com/vitejs/vite/issues/17988) - fix(preload): add crossorigin attribute in CSS link tags ([#​17930](https://redirect.github.com/vitejs/vite/issues/17930)) ([15871c7](https://redirect.github.com/vitejs/vite/commit/15871c75e0722adeda23f771fd6c45fecba4d118)), closes [#​17930](https://redirect.github.com/vitejs/vite/issues/17930) - chore: reduce diffs with v6 branch ([#​17942](https://redirect.github.com/vitejs/vite/issues/17942)) ([bf9065a](https://redirect.github.com/vitejs/vite/commit/bf9065aa13da6a519014c3bc1d34cfb1cb49ccca)), closes [#​17942](https://redirect.github.com/vitejs/vite/issues/17942) - chore(deps): update all non-major dependencies ([#​17945](https://redirect.github.com/vitejs/vite/issues/17945)) ([cfb621e](https://redirect.github.com/vitejs/vite/commit/cfb621e7a5a3e24d710a9af156e6855e73caf891)), closes [#​17945](https://redirect.github.com/vitejs/vite/issues/17945) - chore(deps): update all non-major dependencies ([#​17991](https://redirect.github.com/vitejs/vite/issues/17991)) ([0ca53cf](https://redirect.github.com/vitejs/vite/commit/0ca53cff9ff49108fcec75ff01d2445f9c2f2a4c)), closes [#​17991](https://redirect.github.com/vitejs/vite/issues/17991) </details> <details> <summary>qmhc/vite-plugin-dts (vite-plugin-dts)</summary> ### [`v4.1.1`](https://redirect.github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#411-2024-09-06) [Compare Source](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.1.0...v4.1.1) ##### Bug Fixes - correct resolve Vue when create program ([0621332](https://redirect.github.com/qmhc/vite-plugin-dts/commit/0621332f46606b20365f1b2efdd45ef826e32186)), closes [#​380](https://redirect.github.com/qmhc/vite-plugin-dts/issues/380) ### [`v4.1.0`](https://redirect.github.com/qmhc/vite-plugin-dts/blob/HEAD/CHANGELOG.md#410-2024-09-01) [Compare Source](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.3...v4.1.0) ##### Bug Fixes - correctly parse tsconfig paths with nested imports ([#​376](https://redirect.github.com/qmhc/vite-plugin-dts/issues/376)) ([10118ae](https://redirect.github.com/qmhc/vite-plugin-dts/commit/10118aea62fa1ec70b4d93a9d02f05e8642bd891)), closes [#​330](https://redirect.github.com/qmhc/vite-plugin-dts/issues/330) - only clean vue suffix when no duplicated name ([068e711](https://redirect.github.com/qmhc/vite-plugin-dts/commit/068e7119ef6d8e1c99ea18d6a0f56194f32be77d)), closes [#​372](https://redirect.github.com/qmhc/vite-plugin-dts/issues/372) ##### Features - auto switch to original program if no Vue ([a04a191](https://redirect.github.com/qmhc/vite-plugin-dts/commit/a04a191566e996defc071344f59cc76414fce61d)), closes [#​363](https://redirect.github.com/qmhc/vite-plugin-dts/issues/363) #### [4.0.3](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.2...v4.0.3) (2024-08-14) ##### Bug Fixes - normalize typescript lib path for rollup ([#​366](https://redirect.github.com/qmhc/vite-plugin-dts/issues/366)) ([b0c63df](https://redirect.github.com/qmhc/vite-plugin-dts/commit/b0c63dfaf701dc11d2f9cbb2cef5079efe7402e7)) #### [4.0.2](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.1...v4.0.2) (2024-08-09) ##### Bug Fixes - ensure inserted index file be a module ([f93e98c](https://redirect.github.com/qmhc/vite-plugin-dts/commit/f93e98cd84b486ba426c25304c6ce891acec7745)), closes [#​365](https://redirect.github.com/qmhc/vite-plugin-dts/issues/365) #### [4.0.1](https://redirect.github.com/qmhc/vite-plugin-dts/compare/v4.0.0...v4.0.1) (2024-08-07) ##### Bug Fixes - correctly match normal export ([589901f](https://redirect.github.com/qmhc/vite-plugin-dts/commit/589901fead8b3aef589f0652b27277f6e0d0d2ac)), closes [#​362](https://redirect.github.com/qmhc/vite-plugin-dts/issues/362) </details> <details> <summary>vuejs/core (vue)</summary> ### [`v3.5.3`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.2...v3.5.3) ##### Bug Fixes - **hydration:** check \__asyncHydrate presence for vue3-lazy-hydration compat ([#​11825](https://redirect.github.com/vuejs/core/issues/11825)) ([8e6c337](https://redirect.github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9)), closes [#​11793](https://redirect.github.com/vuejs/core/issues/11793) - Revert "fix(reactivity): self-referencing computed should refresh" ([35c760f](https://redirect.github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f)) - **ssr:** respect app.config.warnHandler during ssr ([bf3d9a2](https://redirect.github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af)), closes [#​11830](https://redirect.github.com/vuejs/core/issues/11830) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11833](https://redirect.github.com/vuejs/core/issues/11833)) ([6b7901d](https://redirect.github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **useId:** make generated IDs selector compatible ([babfb4c](https://redirect.github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710)), closes [#​11828](https://redirect.github.com/vuejs/core/issues/11828) ### [`v3.5.2`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.1...v3.5.2) ##### Bug Fixes - **reactivity:** make toRaw work on proxies created by proxyRef ([46c3ab1](https://redirect.github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d)) - **reactivity:** pass oldValue to computed getter ([#​11813](https://redirect.github.com/vuejs/core/issues/11813)) ([98864a7](https://redirect.github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81)), closes [#​11812](https://redirect.github.com/vuejs/core/issues/11812) - **reactivity:** prevent endless recursion in computed getters ([#​11797](https://redirect.github.com/vuejs/core/issues/11797)) ([716275d](https://redirect.github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2)) - **reactivity:** self-referencing computed should refresh ([e84c4a6](https://redirect.github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2)), closes [/github.com/vuejs/core/pull/11797#issuecomment-2330738633](https://redirect.github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633) - **scheduler:** prevent duplicate jobs being queued ([#​11826](https://redirect.github.com/vuejs/core/issues/11826)) ([df56cc5](https://redirect.github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee)), closes [#​11712](https://redirect.github.com/vuejs/core/issues/11712) [#​11807](https://redirect.github.com/vuejs/core/issues/11807) - **suspense:** avoid updating anchor if activeBranch has not been rendered to the actual container ([#​11818](https://redirect.github.com/vuejs/core/issues/11818)) ([3c0d531](https://redirect.github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795)), closes [#​11806](https://redirect.github.com/vuejs/core/issues/11806) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11778](https://redirect.github.com/vuejs/core/issues/11778)) ([3116553](https://redirect.github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **types:** add HTMLDialogElement missing close event ([#​11811](https://redirect.github.com/vuejs/core/issues/11811)) ([3634f7a](https://redirect.github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01)) - **types:** added name attribute support to details tag ([#​11823](https://redirect.github.com/vuejs/core/issues/11823)) ([c74176e](https://redirect.github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549)), closes [#​11821](https://redirect.github.com/vuejs/core/issues/11821) - **types:** fix defineComponent props inference when setup() has explicit annotation ([fca20a3](https://redirect.github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a)), closes [#​11803](https://redirect.github.com/vuejs/core/issues/11803) - **useTemplateRef:** properly fix readonly warning in dev and ensure prod behavior consistency ([9b7797d](https://redirect.github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc)), closes [#​11808](https://redirect.github.com/vuejs/core/issues/11808) [#​11816](https://redirect.github.com/vuejs/core/issues/11816) [#​11810](https://redirect.github.com/vuejs/core/issues/11810) ##### Features - **compiler-core:** parse modifiers as expression to provide location data ([#​11819](https://redirect.github.com/vuejs/core/issues/11819)) ([3f13203](https://redirect.github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75)) ### [`v3.5.1`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#351-2024-09-04) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.0...v3.5.1) ##### Bug Fixes - **build:** improve built-in components treeshakability ([4eee630](https://redirect.github.com/vuejs/core/commit/4eee630b3122a10d0baf9b91358cfffa92d6fd81)) - **reactivity:** handle non-array arguments in reactive `concat` method ([#​11794](https://redirect.github.com/vuejs/core/issues/11794)) ([475977a](https://redirect.github.com/vuejs/core/commit/475977a6f76b77392610e0a3ec2b0e076d1e1d59)), closes [#​11792](https://redirect.github.com/vuejs/core/issues/11792) - **Transition:** avoid applying transition hooks on comment vnode ([#​11788](https://redirect.github.com/vuejs/core/issues/11788)) ([51912f8](https://redirect.github.com/vuejs/core/commit/51912f8a02e35f172f6d30ed7a2f3a92c1407cf9)), closes [#​11782](https://redirect.github.com/vuejs/core/issues/11782) - **types:** avoid using intersection type in `Readonly<...>` to fix JSDoc emit ([#​11799](https://redirect.github.com/vuejs/core/issues/11799)) ([7518bc1](https://redirect.github.com/vuejs/core/commit/7518bc19dc73ba46dcf1eef6e23f9e6e75552675)) - **useTemplateRef:** fix readonly warning when useTemplateRef has same variable name as template ref ([bc63df0](https://redirect.github.com/vuejs/core/commit/bc63df01992fdbf0b6749ad234153725697ed896)), closes [#​11795](https://redirect.github.com/vuejs/core/issues/11795) [#​11802](https://redirect.github.com/vuejs/core/issues/11802) [#​11804](https://redirect.github.com/vuejs/core/issues/11804) ### [`v3.5.0`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.38...v3.5.0) #### Aggregated Features List for 3.5 (alpha to stable) ##### Reactivity - **reactivity**: Refactor reactivity system to use version counting and doubly-linked list tracking ([#​10397](https://redirect.github.com/vuejs/core/pull/10397)) ([05eb4e0](https://redirect.github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa)) - **reactivity**: Optimize array tracking ([#​9511](https://redirect.github.com/vuejs/core/pull/9511)) ([70196a4](https://redirect.github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e)) - **compiler-sfc:** enable reactive props destructure by default ([d2dac0e](https://redirect.github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d)) - **reactivity:** `onEffectCleanup` API ([2cc5615](https://redirect.github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004)), closes [#​10173](https://redirect.github.com/vuejs/core/issues/10173) - **reactivity:** add `failSilently` argument for `onScopeDispose` ([9a936aa](https://redirect.github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd)) - **reactivity/watch:** base `watch`, `getCurrentWatcher`, and `onWatcherCleanup` ([#​9927](https://redirect.github.com/vuejs/core/issues/9927)) ([205e5b5](https://redirect.github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72)) - **reactivity/watch:** add pause/resume for ReactiveEffect, EffectScope, and WatchHandle ([#​9651](https://redirect.github.com/vuejs/core/issues/9651)) ([267093c](https://redirect.github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582)) - **watch:** support passing number to `deep` option to control the watch depth ([#​9572](https://redirect.github.com/vuejs/core/issues/9572)) ([22f7d96](https://redirect.github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c)) - **types:** export `MultiWatchSources` type ([#​9563](https://redirect.github.com/vuejs/core/issues/9563)) ([998dca5](https://redirect.github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c)) - **types:** allow computed getter and setter types to be unrelated ([#​11472](https://redirect.github.com/vuejs/core/issues/11472)) ([a01675e](https://redirect.github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2)), closes [#​7271](https://redirect.github.com/vuejs/core/issues/7271) ##### SSR - **runtime-core:** `useId()` and `app.config.idPrefix` ([#​11404](https://redirect.github.com/vuejs/core/issues/11404)) ([73ef156](https://redirect.github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247)) - **hydration:** lazy hydration strategies for async components ([#​11458](https://redirect.github.com/vuejs/core/issues/11458)) ([d14a11c](https://redirect.github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4)) - **hydration:** support suppressing hydration mismatch via data-allow-mismatch ([94fb2b8](https://redirect.github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1)) ##### Custom Element - **custom-element:** `useHost()` helper ([775103a](https://redirect.github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0)) - **custom-element:** `useShadowRoot()` helper ([5a1a89b](https://redirect.github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282)), closes [#​6113](https://redirect.github.com/vuejs/core/issues/6113) [#​8195](https://redirect.github.com/vuejs/core/issues/8195) - **custom-element:** expose `this.$host` in Options API ([1ef8f46](https://redirect.github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50)) - **custom-element:** inject child components styles to custom element shadow root ([#​11517](https://redirect.github.com/vuejs/core/issues/11517)) ([56c76a8](https://redirect.github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1)), closes [#​4662](https://redirect.github.com/vuejs/core/issues/4662) [#​7941](https://redirect.github.com/vuejs/core/issues/7941) [#​7942](https://redirect.github.com/vuejs/core/issues/7942) - **custom-element:** support configurable app instance in defineCustomElement ([6758c3c](https://redirect.github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd)), closes [#​4356](https://redirect.github.com/vuejs/core/issues/4356) [#​4635](https://redirect.github.com/vuejs/core/issues/4635) - **custom-element:** support css `:host` selector by applying css vars on host element ([#​8830](https://redirect.github.com/vuejs/core/issues/8830)) ([03a9ea2](https://redirect.github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb)), closes [#​8826](https://redirect.github.com/vuejs/core/issues/8826) - **custom-element:** support emit with options ([e181bff](https://redirect.github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08)), closes [#​7605](https://redirect.github.com/vuejs/core/issues/7605) - **custom-element:** support expose on customElement ([#​6256](https://redirect.github.com/vuejs/core/issues/6256)) ([af838c1](https://redirect.github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624)), closes [#​5540](https://redirect.github.com/vuejs/core/issues/5540) - **custom-element:** support `nonce` option for injected style tags ([bb4a02a](https://redirect.github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded)), closes [#​6530](https://redirect.github.com/vuejs/core/issues/6530) - **custom-element:** support passing custom-element-specific options via 2nd argument of defineCustomElement ([60a88a2](https://redirect.github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e)) - **custom-element:** support `shadowRoot: false` in `defineCustomElement()` ([37d2ce5](https://redirect.github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e)), closes [#​4314](https://redirect.github.com/vuejs/core/issues/4314) [#​4404](https://redirect.github.com/vuejs/core/issues/4404) ##### Teleport - **teleport:** support deferred Teleport ([#​11387](https://redirect.github.com/vuejs/core/issues/11387)) ([59a3e88](https://redirect.github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef)), closes [#​2015](https://redirect.github.com/vuejs/core/issues/2015) [#​11386](https://redirect.github.com/vuejs/core/issues/11386) - **teleport/transition:** support directly nesting Teleport inside Transition ([#​6548](https://redirect.github.com/vuejs/core/issues/6548)) ([0e6e3c7](https://redirect.github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0)), closes [#​5836](https://redirect.github.com/vuejs/core/issues/5836) ##### Misc - **runtime-core:** `useTemplateRef()` ([3ba70e4](https://redirect.github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df)) - **runtime-core:** add `app.onUnmount()` for registering cleanup functions ([#​4619](https://redirect.github.com/vuejs/core/issues/4619)) ([582a3a3](https://redirect.github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e)), closes [#​4516](https://redirect.github.com/vuejs/core/issues/4516) - **runtime-core:** add `app.config.throwUnhandledErrorInProduction` ([f476b7f](https://redirect.github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0)), closes [#​7876](https://redirect.github.com/vuejs/core/issues/7876) - **runtime-dom:** Trusted Types compatibility ([#​10844](https://redirect.github.com/vuejs/core/issues/10844)) ([6d4eb94](https://redirect.github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5)) - **compiler-core:** support `Symbol` global in template expressions ([#​9069](https://redirect.github.com/vuejs/core/issues/9069)) ([a501a85](https://redirect.github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3)) - **types:** export more emit related types ([#​11017](https://redirect.github.com/vuejs/core/issues/11017)) ([189573d](https://redirect.github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733)) <!----> - **types:** add loading prop to iframe ([#​11767](https://redirect.github.com/vuejs/core/issues/11767)) ([d86fe0e](https://redirect.github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68)) ##### Internals - **reactivity:** store value cache on CustomRefs impls ([#​11539](https://redirect.github.com/vuejs/core/issues/11539)) ([e044b6e](https://redirect.github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292)) - **types:** provide internal options for directly using user types in language tools ([#​10801](https://redirect.github.com/vuejs/core/issues/10801)) ([75c8cf6](https://redirect.github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9)) - **types:** provide internal options for using refs type in language tools ([#​11492](https://redirect.github.com/vuejs/core/issues/11492)) ([5ffd1a8](https://redirect.github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76)) #### Bug Fixes - **compiler-sfc:** fix import usage check for kebab-case same name shorthand binding ([0f7c0e5](https://redirect.github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354)), closes [#​11745](https://redirect.github.com/vuejs/core/issues/11745) [#​11754](https://redirect.github.com/vuejs/core/issues/11754) - **cssVars:** correctly escape double quotes in SSR ([#​11784](https://redirect.github.com/vuejs/core/issues/11784)) ([7b5b6e0](https://redirect.github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a)), closes [#​11779](https://redirect.github.com/vuejs/core/issues/11779) - **deps:** update dependency postcss to ^8.4.44 ([#​11774](https://redirect.github.com/vuejs/core/issues/11774)) ([cb843e0](https://redirect.github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505)) - **hydration:** escape css var name to avoid mismatch ([#​11739](https://redirect.github.com/vuejs/core/issues/11739)) ([ca12e77](https://redirect.github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37)), closes [#​11735](https://redirect.github.com/vuejs/core/issues/11735) - **hydration:** handle text nodes with 0 during hydration ([#​11772](https://redirect.github.com/vuejs/core/issues/11772)) ([c756da2](https://redirect.github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5)), closes [#​11771](https://redirect.github.com/vuejs/core/issues/11771) - **reactivity:** correctly handle method calls on user-extended arrays ([#​11760](https://redirect.github.com/vuejs/core/issues/11760)) ([9817c80](https://redirect.github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd)), closes [#​11759](https://redirect.github.com/vuejs/core/issues/11759) - **runtime-dom:** avoid unnecessary prop patch for checkbox ([#​11657](https://redirect.github.com/vuejs/core/issues/11657)) ([c3ce9fe](https://redirect.github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **runtime-dom:** prevent unnecessary DOM update from v-model ([#​11656](https://redirect.github.com/vuejs/core/issues/11656)) ([b1be9bd](https://redirect.github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **server-renderer:** Fix call to serverPrefetch in server renderer with an async setup ([#​10893](https://redirect.github.com/vuejs/core/issues/10893)) ([6039e25](https://redirect.github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab)) - **server-renderer:** render `className` during SSR ([#​11722](https://redirect.github.com/vuejs/core/issues/11722)) ([52cdb0f](https://redirect.github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565)) - **types/defineModel:** allow getter and setter types to be unrelated ([#​11699](https://redirect.github.com/vuejs/core/issues/11699)) ([fe07f70](https://redirect.github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96)), closes [#​11697](https://redirect.github.com/vuejs/core/issues/11697) </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v2.1.6`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#216-supofficialsup-217-supinsiderssup-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/a95b51ac0b0db8825f77fbba37e29932b5be61e4...v2.1.6) ##### Features - **language-plugin-pug:** support initial indentation ([#​4774](https://redirect.github.com/vuejs/language-tools/issues/4774)) - **language-service:** JSDoc display support when typing props on component template ([#​4796](https://redirect.github.com/vuejs/language-tools/issues/4796)) - Thanks to [@​joy-yu](https://redirect.github.com/joy-yu)! - **language-core:** typed directives in template ([#​4807](https://redirect.github.com/vuejs/language-tools/issues/4807)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Bug Fixes - **language-core:** wrap template refs with `unref` in interpolation ([#​4777](https://redirect.github.com/vuejs/language-tools/issues/4777)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** ensure to pass tsc on inline global types ([#​4782](https://redirect.github.com/vuejs/language-tools/issues/4782)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** infer native template ref as build-in element interface ([#​4786](https://redirect.github.com/vuejs/language-tools/issues/4786)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** generate `__VLS_StyleModules` after template ([#​4790](https://redirect.github.com/vuejs/language-tools/issues/4790)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** make `expose` of non-generic template ref required ([#​4795](https://redirect.github.com/vuejs/language-tools/issues/4795)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** avoid using `__typeProps` with runtime props ([#​4800](https://redirect.github.com/vuejs/language-tools/issues/4800)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** ignore unknown attrs error when strictTemplates is not enabled ([#​4785](https://redirect.github.com/vuejs/language-tools/issues/4785)) - **language-core:** prevent append globalTypes to virtual file ([#​4806](https://redirect.github.com/vuejs/language-tools/issues/4806)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** prevent type error when use defineSlots and non-template ([#​4809](https://redirect.github.com/vuejs/language-tools/issues/4809)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **typescript-plugin:** disconnect socket on error ([#​4672](https://redirect.github.com/vuejs/language-tools/issues/4672)) ##### Performance - **language-core:** don't emit event lnlayhint when content is none ([#​4776](https://redirect.github.com/vuejs/language-tools/issues/4776)) - Thanks to [@​Gehbt](https://redirect.github.com/Gehbt)! ##### Other Changes - **language-core:** split `__VLS_templateResult` ([#​4781](https://redirect.github.com/vuejs/language-tools/issues/4781)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** wrap template virtual code into a function ([#​4784](https://redirect.github.com/vuejs/language-tools/issues/4784)) - **language-core:** move `templateRef` into `composibles` ([#​4791](https://redirect.github.com/vuejs/language-tools/issues/4791)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** generate global types for the first parsed Vue component if cannot write global types file ##### Tests - **language-server:** add renaming case for template `ref()` ([#​4794](https://redirect.github.com/vuejs/language-tools/issues/4794)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **tsc:** update to Vue 3.5 ([#​4725](https://redirect.github.com/vuejs/language-tools/issues/4725)) - **tsc:** unknown props on non-strict generic component ([#​4792](https://redirect.github.com/vuejs/language-tools/issues/4792)) ### [`v2.1.5`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#214-supofficialsup-215-supinsiderssup-2024-09-01) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.4...a95b51ac0b0db8825f77fbba37e29932b5be61e4) ##### Features - **typescript-plugin, language-server:** generate global types file into `node_modules/.vue-global-types` ([#​4752](https://redirect.github.com/vuejs/language-tools/issues/4752)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** navigation support for template-ref ([#​4726](https://redirect.github.com/vuejs/language-tools/issues/4726)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Bug Fixes - **language-core, typescript-plugin, language-server:** apply snake case on globalTypes filename ([#​4749](https://redirect.github.com/vuejs/language-tools/issues/4749)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** hoist `$refs` type ([#​4763](https://redirect.github.com/vuejs/language-tools/issues/4763)) - **language-core:** disable lib check on global types file ([#​4767](https://redirect.github.com/vuejs/language-tools/issues/4767)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** prevent circular reference of templateRef ([#​4768](https://redirect.github.com/vuejs/language-tools/issues/4768)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** using interface merging for `GlobalComponents` - **language-core:** `fallthroughAttributes` causes global components to be self-referential ([#​4761](https://redirect.github.com/vuejs/language-tools/issues/4761)) - **language-core:** auto-completion for the last line of template block ([#​4771](https://redirect.github.com/vuejs/language-tools/issues/4771)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** update ast correctly on repeated `v-for` modifications ([#​4772](https://redirect.github.com/vuejs/language-tools/issues/4772)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-server:** leaking named pipes ([#​4672](https://redirect.github.com/vuejs/language-tools/issues/4672)) - **typescript-plugin:** compatible with Yarn PnP ([#​4751](https://redirect.github.com/vuejs/language-tools/issues/4751)) - **vscode:** whitelist `ms-dynamics-smb.al` extension for Vue Hybrid Mode. ([#​4765](https://redirect.github.com/vuejs/language-tools/issues/4765)) - Thanks to [@​kyleweishaupt](https://redirect.github.com/kyleweishaupt)! ##### Other Changes - Add optional "dependencies" textarea to issue template ([#​4758](https://redirect.github.com/vuejs/language-tools/issues/4758)) - Thanks to [@​davidmatter](https://redirect.github.com/davidmatter)! ### [`v2.1.4`](https://redirect.github.com/vuejs/language-tools/compare/v2.1.2...5e197d08eaef57209ff2927c943ba1db3bf4eff6) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.2...v2.1.4) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone Europe/Helsinki, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/slipmatio/toolbelt). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@yyx990803 fully agreeing with you here. But I'd like to point out that the change did not break other idiomatic usage. What I pointed out was another anti-pattern that it broke, leading to its reversal. I still think that leaving this change in would have been the better choice. |
@lehni ok in that case we should re-revert it then 😅 |
I'm ok with that if you are and no new issues come out of the woodwork because of it 😅 |
Thank you! Of course the real app is more complex and doesn't have a self referencing computed (directly that is, probably internally with object proxies or something). The computed causing problem with 3.5.3 uses a bunch of other computed and is passed throught props and such, so hard to pinpoint the exact cause and create a simple repro. All I know is that this piece of code is 4 years old (originally Vue version 2, now version 3) and has worked fine till version 3.5 broke production. So "something" changed that has worked the last 4 years :) |
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@he-tree/vue](https://hetree.phphe.com/) ([source](https://redirect.github.com/phphe/he-tree)) | [`2.8.3` -> `2.8.6`](https://renovatebot.com/diffs/npm/@he-tree%2fvue/2.8.3/2.8.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@he-tree%2fvue/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@he-tree%2fvue/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@he-tree%2fvue/2.8.3/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@he-tree%2fvue/2.8.3/2.8.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@tailwindcss/forms](https://redirect.github.com/tailwindlabs/tailwindcss-forms) | [`0.5.7` -> `0.5.9`](https://renovatebot.com/diffs/npm/@tailwindcss%2fforms/0.5.7/0.5.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2fforms/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2fforms/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2fforms/0.5.7/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2fforms/0.5.7/0.5.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@tailwindcss/typography](https://redirect.github.com/tailwindlabs/tailwindcss-typography) | [`0.5.14` -> `0.5.15`](https://renovatebot.com/diffs/npm/@tailwindcss%2ftypography/0.5.14/0.5.15) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@tailwindcss%2ftypography/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@tailwindcss%2ftypography/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@tailwindcss%2ftypography/0.5.14/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tailwindcss%2ftypography/0.5.14/0.5.15?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/apollo-composable](https://apollo.vuejs.org/) ([source](https://redirect.github.com/vuejs/vue-apollo/tree/HEAD/packages/vue-apollo-composable)) | [`4.0.2` -> `4.2.1`](https://renovatebot.com/diffs/npm/@vue%2fapollo-composable/4.0.2/4.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fapollo-composable/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fapollo-composable/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fapollo-composable/4.0.2/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fapollo-composable/4.0.2/4.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/compiler-sfc](https://redirect.github.com/vuejs/core/tree/main/packages/compiler-sfc#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/compiler-sfc)) | [`3.4.37` -> `3.5.10`](https://renovatebot.com/diffs/npm/@vue%2fcompiler-sfc/3.4.37/3.5.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fcompiler-sfc/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fcompiler-sfc/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fcompiler-sfc/3.4.37/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fcompiler-sfc/3.4.37/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/runtime-dom](https://redirect.github.com/vuejs/core/tree/main/packages/runtime-dom#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/runtime-dom)) | [`3.4.37` -> `3.5.10`](https://renovatebot.com/diffs/npm/@vue%2fruntime-dom/3.4.37/3.5.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fruntime-dom/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fruntime-dom/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fruntime-dom/3.4.37/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fruntime-dom/3.4.37/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@yaireo/tagify](https://redirect.github.com/yairEO/tagify) | [`4.27.0` -> `4.31.3`](https://renovatebot.com/diffs/npm/@yaireo%2ftagify/4.27.0/4.31.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yaireo%2ftagify/4.31.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yaireo%2ftagify/4.31.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yaireo%2ftagify/4.27.0/4.31.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yaireo%2ftagify/4.27.0/4.31.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [tailwindcss](https://tailwindcss.com) ([source](https://redirect.github.com/tailwindlabs/tailwindcss)) | [`3.4.9` -> `3.4.13`](https://renovatebot.com/diffs/npm/tailwindcss/3.4.9/3.4.13) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tailwindcss/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tailwindcss/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tailwindcss/3.4.9/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tailwindcss/3.4.9/3.4.13?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`3.4.37` -> `3.5.10`](https://renovatebot.com/diffs/npm/vue/3.4.37/3.5.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.37/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.37/3.5.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-router](https://redirect.github.com/vuejs/router) | [`4.4.3` -> `4.4.5`](https://renovatebot.com/diffs/npm/vue-router/4.4.3/4.4.5) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-router/4.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-router/4.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-router/4.4.3/4.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-router/4.4.3/4.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue-tsc](https://redirect.github.com/vuejs/language-tools) ([source](https://redirect.github.com/vuejs/language-tools/tree/HEAD/packages/tsc)) | [`2.0.29` -> `2.1.6`](https://renovatebot.com/diffs/npm/vue-tsc/2.0.29/2.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/2.0.29/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/2.0.29/2.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>phphe/he-tree (@​he-tree/vue)</summary> ### [`v2.8.6`](https://redirect.github.com/phphe/he-tree/compare/@he-tree/vue@2.8.5...@he-tree/vue@2.8.6) [Compare Source](https://redirect.github.com/phphe/he-tree/compare/@he-tree/vue@2.8.5...@he-tree/vue@2.8.6) ### [`v2.8.5`](https://redirect.github.com/phphe/he-tree/compare/@he-tree/vue@2.8.4...@he-tree/vue@2.8.5) [Compare Source](https://redirect.github.com/phphe/he-tree/compare/@he-tree/vue@2.8.4...@he-tree/vue@2.8.5) ### [`v2.8.4`](https://redirect.github.com/phphe/he-tree/compare/@he-tree/vue@2.8.3...@he-tree/vue@2.8.4) [Compare Source](https://redirect.github.com/phphe/he-tree/compare/@he-tree/vue@2.8.3...@he-tree/vue@2.8.4) </details> <details> <summary>tailwindlabs/tailwindcss-forms (@​tailwindcss/forms)</summary> ### [`v0.5.9`](https://redirect.github.com/tailwindlabs/tailwindcss-forms/blob/HEAD/CHANGELOG.md#059---2024-09-05) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.8...v0.5.9) ##### Fixed - Fallback to static chevron color if theme is using variables ([#​167](https://redirect.github.com/tailwindlabs/tailwindcss-forms/pull/167)) ### [`v0.5.8`](https://redirect.github.com/tailwindlabs/tailwindcss-forms/blob/HEAD/CHANGELOG.md#058---2024-08-28) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.7...v0.5.8) ##### Fixed - Support installing with alpha versions of Tailwind CSS v4 ([#​163](https://redirect.github.com/tailwindlabs/tailwindcss-forms/pull/163)) </details> <details> <summary>tailwindlabs/tailwindcss-typography (@​tailwindcss/typography)</summary> ### [`v0.5.15`](https://redirect.github.com/tailwindlabs/tailwindcss-typography/blob/HEAD/CHANGELOG.md#0515---2024-08-28) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss-typography/compare/v0.5.14...v0.5.15) ##### Fixed - Support installing with alpha versions of Tailwind CSS v4 ([#​358](https://redirect.github.com/tailwindlabs/tailwindcss-typography/pull/358)) </details> <details> <summary>vuejs/vue-apollo (@​vue/apollo-composable)</summary> ### [`v4.2.1`](https://redirect.github.com/vuejs/vue-apollo/blob/HEAD/CHANGELOG.md#v421) [Compare Source](https://redirect.github.com/vuejs/vue-apollo/compare/v4.2.0...v4.2.1) ##### 🩹 Fixes - Improved pinia support ([#​1571](https://redirect.github.com/vuejs/vue-apollo/issues/1571)) ##### 📖 Documentation - Update broken circleci badge ([`9622392`](https://redirect.github.com/vuejs/vue-apollo/commit/9622392)) - Readme smaller logo ([`ff836ea`](https://redirect.github.com/vuejs/vue-apollo/commit/ff836ea)) - Use nightly.akryum.dev ([`7f3cf7d`](https://redirect.github.com/vuejs/vue-apollo/commit/7f3cf7d)) ##### 🏡 Chore - Specify pnpm version in package.json ([`732e66e`](https://redirect.github.com/vuejs/vue-apollo/commit/732e66e)) ##### ❤️ Contributors - Nick Messing ([@​nickmessing](http://github.com/nickmessing)) - Guillaume Chau ([@​Akryum](http://github.com/Akryum)) ### [`v4.2.0`](https://redirect.github.com/vuejs/vue-apollo/blob/HEAD/CHANGELOG.md#v420) [Compare Source](https://redirect.github.com/vuejs/vue-apollo/compare/v4.1.0...v4.2.0) ##### 🚀 Enhancements - Add updateQuery to useQuery ([#​1552](https://redirect.github.com/vuejs/vue-apollo/issues/1552)) ##### 🩹 Fixes - UseMutations onDone Event hook gets triggered too early ([#​1559](https://redirect.github.com/vuejs/vue-apollo/issues/1559)) - ([@​vue/apollo-option](https://redirect.github.com/vue/apollo-option)) memory leak in wrapped ssrRender ([#​1553](https://redirect.github.com/vuejs/vue-apollo/issues/1553)) - Reuse previous result, fix [#​1483](https://redirect.github.com/vuejs/vue-apollo/issues/1483) ([#​1569](https://redirect.github.com/vuejs/vue-apollo/issues/1569), [#​1483](https://redirect.github.com/vuejs/vue-apollo/issues/1483)) - ResolveClient throwing too soon, fix [#​1557](https://redirect.github.com/vuejs/vue-apollo/issues/1557) ([#​1570](https://redirect.github.com/vuejs/vue-apollo/issues/1570), [#​1557](https://redirect.github.com/vuejs/vue-apollo/issues/1557)) ##### 📖 Documentation - Add github link to documentation ([#​1549](https://redirect.github.com/vuejs/vue-apollo/issues/1549)) - Note about continuous releases ([`51e09e7`](https://redirect.github.com/vuejs/vue-apollo/commit/51e09e7)) ##### 🏡 Chore - Switch some tests to script setup ([`c8e5106`](https://redirect.github.com/vuejs/vue-apollo/commit/c8e5106)) ##### 🤖 CI - Nightly releases ([`319f6ec`](https://redirect.github.com/vuejs/vue-apollo/commit/319f6ec)) ##### ❤️ Contributors - Guillaume Chau ([@​Akryum](http://github.com/Akryum)) - Matt Garrett <mattga@gmail.com> - Mobsean ([@​mobsean](http://github.com/mobsean)) - Leonardo Santos ([@​syllomex](http://github.com/syllomex)) - Alex Liu ([@​Mini-ghost](http://github.com/Mini-ghost)) ### [`v4.1.0`](https://redirect.github.com/vuejs/vue-apollo/blob/HEAD/CHANGELOG.md#v410) [Compare Source](https://redirect.github.com/vuejs/vue-apollo/compare/v4.0.2...v4.1.0) ##### 🩹 Fixes - Change teardown to use onScopeDispose ([#​1545](https://redirect.github.com/vuejs/vue-apollo/issues/1545)) ##### 📖 Documentation - **useQuery:** Document refetch with new variables ([#​1564](https://redirect.github.com/vuejs/vue-apollo/issues/1564)) ##### 🏡 Chore - Updqte pnpm to v9 ([`827ea6e`](https://redirect.github.com/vuejs/vue-apollo/commit/827ea6e)) ##### ✅ Tests - UseSubscription ([`0f5ae61`](https://redirect.github.com/vuejs/vue-apollo/commit/0f5ae61)) - Fix subscription test ([#​1547](https://redirect.github.com/vuejs/vue-apollo/issues/1547)) ##### 🤖 CI - Update versions ([`fe66840`](https://redirect.github.com/vuejs/vue-apollo/commit/fe66840)) ##### ❤️ Contributors - Guillaume Chau ([@​Akryum](http://github.com/Akryum)) - Nick Messing ([@​nickmessing](http://github.com/nickmessing)) </details> <details> <summary>vuejs/core (@​vue/compiler-sfc)</summary> ### [`v3.5.10`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3510-2024-09-27) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.9...v3.5.10) ##### Bug Fixes - **custom-element:** properly set kebab-case props on Vue custom elements ([ea3efa0](https://redirect.github.com/vuejs/core/commit/ea3efa09e008918c1d9ba7226833a8b1a7a57244)), closes [#​12030](https://redirect.github.com/vuejs/core/issues/12030) [#​12032](https://redirect.github.com/vuejs/core/issues/12032) - **reactivity:** fix nested batch edge case ([93c95dd](https://redirect.github.com/vuejs/core/commit/93c95dd4cd416503f43a98a1455f62658d22b0b2)) - **reactivity:** only clear notified flags for computed in first batch iteration ([aa9ef23](https://redirect.github.com/vuejs/core/commit/aa9ef2386a0cd39a174e5a887ec2b1a3525034fc)), closes [#​12045](https://redirect.github.com/vuejs/core/issues/12045) - **types/ref:** handle nested refs in UnwrapRef ([#​12049](https://redirect.github.com/vuejs/core/issues/12049)) ([e2c19c2](https://redirect.github.com/vuejs/core/commit/e2c19c20cfee9788519a80c0e53e216b78505994)), closes [#​12044](https://redirect.github.com/vuejs/core/issues/12044) ### [`v3.5.9`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#359-2024-09-26) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.8...v3.5.9) ##### Bug Fixes - **reactivity:** fix property dep removal regression ([6001e5c](https://redirect.github.com/vuejs/core/commit/6001e5c81a05c894586f9287fbd991677bdd0455)), closes [#​12020](https://redirect.github.com/vuejs/core/issues/12020) [#​12021](https://redirect.github.com/vuejs/core/issues/12021) - **reactivity:** fix recursive sync watcher on computed edge case ([10ff159](https://redirect.github.com/vuejs/core/commit/10ff15924053d9bd95ad706f78ce09e288213fcf)), closes [#​12033](https://redirect.github.com/vuejs/core/issues/12033) [#​12037](https://redirect.github.com/vuejs/core/issues/12037) - **runtime-core:** avoid rendering plain object as VNode ([#​12038](https://redirect.github.com/vuejs/core/issues/12038)) ([cb34b28](https://redirect.github.com/vuejs/core/commit/cb34b28a4a9bf868be4785b001c526163eda342e)), closes [#​12035](https://redirect.github.com/vuejs/core/issues/12035) [vitejs/vite-plugin-vue#353](https://redirect.github.com/vitejs/vite-plugin-vue/issues/353) - **runtime-core:** make useId() always return a string ([a177092](https://redirect.github.com/vuejs/core/commit/a177092754642af2f98c33a4feffe8f198c3c950)) - **types:** correct type inference of union event names ([#​12022](https://redirect.github.com/vuejs/core/issues/12022)) ([4da6881](https://redirect.github.com/vuejs/core/commit/4da688141d9e7c15b622c289deaa81b11845b2c7)) - **vue:** properly cache runtime compilation ([#​12019](https://redirect.github.com/vuejs/core/issues/12019)) ([fa0ba24](https://redirect.github.com/vuejs/core/commit/fa0ba24b3ace02d7ecab65e57c2bea89a2550dcb)) ### [`v3.5.8`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#358-2024-09-22) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.7...v3.5.8) ##### Bug Fixes - **reactivity:** do not remove dep from depsMap when cleaning up deps of computed ([#​11995](https://redirect.github.com/vuejs/core/issues/11995)) ([0267a58](https://redirect.github.com/vuejs/core/commit/0267a588017eee4951ac2a877fe1ccae84cad905)) ### [`v3.5.7`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#357-2024-09-20) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.6...v3.5.7) ##### Bug Fixes - **compile-core:** fix v-model with newlines edge case ([#​11960](https://redirect.github.com/vuejs/core/issues/11960)) ([6224288](https://redirect.github.com/vuejs/core/commit/62242886d705ece88dbcad45bb78072ecccad0ca)), closes [#​8306](https://redirect.github.com/vuejs/core/issues/8306) - **compiler-sfc:** initialize scope with null prototype object ([#​11963](https://redirect.github.com/vuejs/core/issues/11963)) ([215e154](https://redirect.github.com/vuejs/core/commit/215e15407294bf667261360218f975b88c99c2e5)) - **hydration:** avoid observing non-Element node ([#​11954](https://redirect.github.com/vuejs/core/issues/11954)) ([7257e6a](https://redirect.github.com/vuejs/core/commit/7257e6a34200409b3fc347d3bb807e11e2785974)), closes [#​11952](https://redirect.github.com/vuejs/core/issues/11952) - **reactivity:** do not remove dep from depsMap when unsubbed by computed ([960706e](https://redirect.github.com/vuejs/core/commit/960706eebf73f08ebc9d5dd853a05def05e2c153)) - **reactivity:** fix dev-only memory leak by updating dep.subsHead on sub removal ([5c8b76e](https://redirect.github.com/vuejs/core/commit/5c8b76ed6cfbbcee4cbaac0b72beab7291044e4f)), closes [#​11956](https://redirect.github.com/vuejs/core/issues/11956) - **reactivity:** fix memory leak from dep instances of garbage collected objects ([235ea47](https://redirect.github.com/vuejs/core/commit/235ea4772ed2972914cf142da8b7ac1fb04f7585)), closes [#​11979](https://redirect.github.com/vuejs/core/issues/11979) [#​11971](https://redirect.github.com/vuejs/core/issues/11971) - **reactivity:** fix triggerRef call on ObjectRefImpl returned by toRef ([#​11986](https://redirect.github.com/vuejs/core/issues/11986)) ([b030c8b](https://redirect.github.com/vuejs/core/commit/b030c8bc7327877efb98aa3d9a58eb287a6ff07a)), closes [#​11982](https://redirect.github.com/vuejs/core/issues/11982) - **scheduler:** ensure recursive jobs can't be queued twice ([#​11955](https://redirect.github.com/vuejs/core/issues/11955)) ([d18d6aa](https://redirect.github.com/vuejs/core/commit/d18d6aa1b20dc57a8103c51ec4d61e8e53ed936d)) - **ssr:** don't render comments in TransitionGroup ([#​11961](https://redirect.github.com/vuejs/core/issues/11961)) ([a2f6ede](https://redirect.github.com/vuejs/core/commit/a2f6edeb02faedbb673c4bc5c6a59d9a79a37d07)), closes [#​11958](https://redirect.github.com/vuejs/core/issues/11958) - **transition:** respect `duration` setting even when it is `0` ([#​11967](https://redirect.github.com/vuejs/core/issues/11967)) ([f927a4a](https://redirect.github.com/vuejs/core/commit/f927a4ae6f7c453f70ba89498ee0c737dc9866fd)) - **types:** correct type inference of all-optional props ([#​11644](https://redirect.github.com/vuejs/core/issues/11644)) ([9eca65e](https://redirect.github.com/vuejs/core/commit/9eca65ee9871d1ac878755afa9a3eb1b02030350)), closes [#​11733](https://redirect.github.com/vuejs/core/issues/11733) [vuejs/language-tools#4704](https://redirect.github.com/vuejs/language-tools/issues/4704) ##### Performance Improvements - **hydration:** avoid observer if element is in viewport ([#​11639](https://redirect.github.com/vuejs/core/issues/11639)) ([e075dfa](https://redirect.github.com/vuejs/core/commit/e075dfad5c7649c6045e3711687ec888e7aa1a39)) ### [`v3.5.6`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#356-2024-09-16) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.5...v3.5.6) ##### Bug Fixes - **compile-dom:** should be able to stringify mathML ([#​11891](https://redirect.github.com/vuejs/core/issues/11891)) ([85c138c](https://redirect.github.com/vuejs/core/commit/85c138ced108268f7656b568dfd3036a1e0aae34)) - **compiler-sfc:** preserve old behavior when using withDefaults with desutructure ([8492c3c](https://redirect.github.com/vuejs/core/commit/8492c3c49a922363d6c77ef192c133a8fbce6514)), closes [#​11930](https://redirect.github.com/vuejs/core/issues/11930) - **reactivity:** avoid exponential perf cost and reduce call stack depth for deeply chained computeds ([#​11944](https://redirect.github.com/vuejs/core/issues/11944)) ([c74bb8c](https://redirect.github.com/vuejs/core/commit/c74bb8c2dd9e82aaabb0a2a2b368e900929b513b)), closes [#​11928](https://redirect.github.com/vuejs/core/issues/11928) - **reactivity:** rely on dirty check only when computed has deps ([#​11931](https://redirect.github.com/vuejs/core/issues/11931)) ([aa5dafd](https://redirect.github.com/vuejs/core/commit/aa5dafd2b55d42d6a29316a3bc91aea85c676a0b)), closes [#​11929](https://redirect.github.com/vuejs/core/issues/11929) - **watch:** `once` option should be ignored by watchEffect ([#​11884](https://redirect.github.com/vuejs/core/issues/11884)) ([49fa673](https://redirect.github.com/vuejs/core/commit/49fa673493d93b77ddba2165ab6545bae84fd1ae)) - **watch:** unwatch should be callable during SSR ([#​11925](https://redirect.github.com/vuejs/core/issues/11925)) ([2d6adf7](https://redirect.github.com/vuejs/core/commit/2d6adf78a047eed091db277ffbd9df0822fb0bdd)), closes [#​11924](https://redirect.github.com/vuejs/core/issues/11924) ### [`v3.5.5`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#355-2024-09-13) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.4...v3.5.5) ##### Bug Fixes - **compiler-core:** fix handling of delimiterOpen in VPre ([#​11915](https://redirect.github.com/vuejs/core/issues/11915)) ([706d4ac](https://redirect.github.com/vuejs/core/commit/706d4ac1d0210b2d9134b3228280187fe02fc971)), closes [#​11913](https://redirect.github.com/vuejs/core/issues/11913) - **compiler-dom:** fix stringify static edge for partially eligible chunks in cached parent ([1d99d61](https://redirect.github.com/vuejs/core/commit/1d99d61c1bd77f9ea6743f6214a82add8346a121)), closes [#​11879](https://redirect.github.com/vuejs/core/issues/11879) [#​11890](https://redirect.github.com/vuejs/core/issues/11890) - **compiler-dom:** should ignore leading newline in <textarea> per spec ([3c4bf76](https://redirect.github.com/vuejs/core/commit/3c4bf7627649ec1e3220f8c4e4163c20d2afb367)) - **compiler-sfc:** nested css supports atrule and comment ([#​11899](https://redirect.github.com/vuejs/core/issues/11899)) ([0e7bc71](https://redirect.github.com/vuejs/core/commit/0e7bc717e6640644f062957ec5031506f0dab215)), closes [#​11896](https://redirect.github.com/vuejs/core/issues/11896) - **custom-element:** handle nested customElement mount w/ shadowRoot false ([#​11861](https://redirect.github.com/vuejs/core/issues/11861)) ([f2d8019](https://redirect.github.com/vuejs/core/commit/f2d801918841e7673ff3f048d0d895592a2f7e23)), closes [#​11851](https://redirect.github.com/vuejs/core/issues/11851) [#​11871](https://redirect.github.com/vuejs/core/issues/11871) - **hmr:** reload async child wrapped in Suspense + KeepAlive ([#​11907](https://redirect.github.com/vuejs/core/issues/11907)) ([10a2c60](https://redirect.github.com/vuejs/core/commit/10a2c6053bd30d160d0214bb3566f540187e6874)), closes [#​11868](https://redirect.github.com/vuejs/core/issues/11868) - **hydration:** fix mismatch of leading newline in `<textarea>` and `<pre>` ([a5f3c2e](https://redirect.github.com/vuejs/core/commit/a5f3c2eb4d2e7fae93ff93ce865b269f01cc825e)), closes [#​11873](https://redirect.github.com/vuejs/core/issues/11873) [#​11874](https://redirect.github.com/vuejs/core/issues/11874) - **reactivity:** properly clean up deps, fix memory leak ([8ea5d6d](https://redirect.github.com/vuejs/core/commit/8ea5d6d6981ab7febda0be43c3c92b18869c3a2a)), closes [#​11901](https://redirect.github.com/vuejs/core/issues/11901) - **runtime-core:** properly update async component nested in KeepAlive ([#​11917](https://redirect.github.com/vuejs/core/issues/11917)) ([7fe6c79](https://redirect.github.com/vuejs/core/commit/7fe6c795a1fc7ddcea5ad91a56141561192373ac)), closes [#​11916](https://redirect.github.com/vuejs/core/issues/11916) - **TransitionGroup:** not warn unkeyed text children with whitespece preserve ([#​11888](https://redirect.github.com/vuejs/core/issues/11888)) ([7571f20](https://redirect.github.com/vuejs/core/commit/7571f20bc3d1854377a146f41d211e05bb68cd47)), closes [#​11885](https://redirect.github.com/vuejs/core/issues/11885) ### [`v3.5.4`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#354-2024-09-10) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.3...v3.5.4) ##### Bug Fixes - **compiler-sfc:** correct scoped injection for nesting selector ([#​11854](https://redirect.github.com/vuejs/core/issues/11854)) ([b1de75e](https://redirect.github.com/vuejs/core/commit/b1de75ed04626b6423085dfde91fb0cb481a25e8)), closes [#​10567](https://redirect.github.com/vuejs/core/issues/10567) - **reactivity:** fix markRaw error on already marked object ([#​11864](https://redirect.github.com/vuejs/core/issues/11864)) ([67d6596](https://redirect.github.com/vuejs/core/commit/67d6596d40b1807b9cd8eb0d9282932ea77be3c0)), closes [#​11862](https://redirect.github.com/vuejs/core/issues/11862) - Revert "fix: Revert "fix(reactivity): self-referencing computed should refresh"" ([e596378](https://redirect.github.com/vuejs/core/commit/e596378e0be728dad7d60938449f3fa557ca2ec9)) - **runtime-core:** handle shallow reactive arrays in renderList correctly ([#​11870](https://redirect.github.com/vuejs/core/issues/11870)) ([ced59ab](https://redirect.github.com/vuejs/core/commit/ced59ab8f2f2e89c13119bab3a0c25a1a1f1c3d6)), closes [#​11869](https://redirect.github.com/vuejs/core/issues/11869) - **types:** correctly infer `TypeEmits` with both tuple and function syntax ([#​11840](https://redirect.github.com/vuejs/core/issues/11840)) ([dad6738](https://redirect.github.com/vuejs/core/commit/dad673809929c084dcb8e42640eb7daa675d4ea4)), closes [#​11836](https://redirect.github.com/vuejs/core/issues/11836) ##### Performance Improvements - **reactivity:** trigger deps directly instead of storing in an array first ([#​11695](https://redirect.github.com/vuejs/core/issues/11695)) ([f80d447](https://redirect.github.com/vuejs/core/commit/f80d447c17662556e9e3f99f6d199967f4c8cf3d)) ### [`v3.5.3`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.2...v3.5.3) ##### Bug Fixes - **hydration:** check \__asyncHydrate presence for vue3-lazy-hydration compat ([#​11825](https://redirect.github.com/vuejs/core/issues/11825)) ([8e6c337](https://redirect.github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9)), closes [#​11793](https://redirect.github.com/vuejs/core/issues/11793) - Revert "fix(reactivity): self-referencing computed should refresh" ([35c760f](https://redirect.github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f)) - **ssr:** respect app.config.warnHandler during ssr ([bf3d9a2](https://redirect.github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af)), closes [#​11830](https://redirect.github.com/vuejs/core/issues/11830) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11833](https://redirect.github.com/vuejs/core/issues/11833)) ([6b7901d](https://redirect.github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **useId:** make generated IDs selector compatible ([babfb4c](https://redirect.github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710)), closes [#​11828](https://redirect.github.com/vuejs/core/issues/11828) ### [`v3.5.2`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.1...v3.5.2) ##### Bug Fixes - **reactivity:** make toRaw work on proxies created by proxyRef ([46c3ab1](https://redirect.github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d)) - **reactivity:** pass oldValue to computed getter ([#​11813](https://redirect.github.com/vuejs/core/issues/11813)) ([98864a7](https://redirect.github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81)), closes [#​11812](https://redirect.github.com/vuejs/core/issues/11812) - **reactivity:** prevent endless recursion in computed getters ([#​11797](https://redirect.github.com/vuejs/core/issues/11797)) ([716275d](https://redirect.github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2)) - **reactivity:** self-referencing computed should refresh ([e84c4a6](https://redirect.github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2)), closes [/github.com/vuejs/core/pull/11797#issuecomment-2330738633](https://redirect.github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633) - **scheduler:** prevent duplicate jobs being queued ([#​11826](https://redirect.github.com/vuejs/core/issues/11826)) ([df56cc5](https://redirect.github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee)), closes [#​11712](https://redirect.github.com/vuejs/core/issues/11712) [#​11807](https://redirect.github.com/vuejs/core/issues/11807) - **suspense:** avoid updating anchor if activeBranch has not been rendered to the actual container ([#​11818](https://redirect.github.com/vuejs/core/issues/11818)) ([3c0d531](https://redirect.github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795)), closes [#​11806](https://redirect.github.com/vuejs/core/issues/11806) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11778](https://redirect.github.com/vuejs/core/issues/11778)) ([3116553](https://redirect.github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **types:** add HTMLDialogElement missing close event ([#​11811](https://redirect.github.com/vuejs/core/issues/11811)) ([3634f7a](https://redirect.github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01)) - **types:** added name attribute support to details tag ([#​11823](https://redirect.github.com/vuejs/core/issues/11823)) ([c74176e](https://redirect.github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549)), closes [#​11821](https://redirect.github.com/vuejs/core/issues/11821) - **types:** fix defineComponent props inference when setup() has explicit annotation ([fca20a3](https://redirect.github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a)), closes [#​11803](https://redirect.github.com/vuejs/core/issues/11803) - **useTemplateRef:** properly fix readonly warning in dev and ensure prod behavior consistency ([9b7797d](https://redirect.github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc)), closes [#​11808](https://redirect.github.com/vuejs/core/issues/11808) [#​11816](https://redirect.github.com/vuejs/core/issues/11816) [#​11810](https://redirect.github.com/vuejs/core/issues/11810) ##### Features - **compiler-core:** parse modifiers as expression to provide location data ([#​11819](https://redirect.github.com/vuejs/core/issues/11819)) ([3f13203](https://redirect.github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75)) ### [`v3.5.1`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#351-2024-09-04) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.0...v3.5.1) ##### Bug Fixes - **build:** improve built-in components treeshakability ([4eee630](https://redirect.github.com/vuejs/core/commit/4eee630b3122a10d0baf9b91358cfffa92d6fd81)) - **reactivity:** handle non-array arguments in reactive `concat` method ([#​11794](https://redirect.github.com/vuejs/core/issues/11794)) ([475977a](https://redirect.github.com/vuejs/core/commit/475977a6f76b77392610e0a3ec2b0e076d1e1d59)), closes [#​11792](https://redirect.github.com/vuejs/core/issues/11792) - **Transition:** avoid applying transition hooks on comment vnode ([#​11788](https://redirect.github.com/vuejs/core/issues/11788)) ([51912f8](https://redirect.github.com/vuejs/core/commit/51912f8a02e35f172f6d30ed7a2f3a92c1407cf9)), closes [#​11782](https://redirect.github.com/vuejs/core/issues/11782) - **types:** avoid using intersection type in `Readonly<...>` to fix JSDoc emit ([#​11799](https://redirect.github.com/vuejs/core/issues/11799)) ([7518bc1](https://redirect.github.com/vuejs/core/commit/7518bc19dc73ba46dcf1eef6e23f9e6e75552675)) - **useTemplateRef:** fix readonly warning when useTemplateRef has same variable name as template ref ([bc63df0](https://redirect.github.com/vuejs/core/commit/bc63df01992fdbf0b6749ad234153725697ed896)), closes [#​11795](https://redirect.github.com/vuejs/core/issues/11795) [#​11802](https://redirect.github.com/vuejs/core/issues/11802) [#​11804](https://redirect.github.com/vuejs/core/issues/11804) ### [`v3.5.0`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.38...v3.5.0) #### Aggregated Features List for 3.5 (alpha to stable) ##### Reactivity - **reactivity**: Refactor reactivity system to use version counting and doubly-linked list tracking ([#​10397](https://redirect.github.com/vuejs/core/pull/10397)) ([05eb4e0](https://redirect.github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa)) - **reactivity**: Optimize array tracking ([#​9511](https://redirect.github.com/vuejs/core/pull/9511)) ([70196a4](https://redirect.github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e)) - **compiler-sfc:** enable reactive props destructure by default ([d2dac0e](https://redirect.github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d)) - **reactivity:** `onEffectCleanup` API ([2cc5615](https://redirect.github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004)), closes [#​10173](https://redirect.github.com/vuejs/core/issues/10173) - **reactivity:** add `failSilently` argument for `onScopeDispose` ([9a936aa](https://redirect.github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd)) - **reactivity/watch:** base `watch`, `getCurrentWatcher`, and `onWatcherCleanup` ([#​9927](https://redirect.github.com/vuejs/core/issues/9927)) ([205e5b5](https://redirect.github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72)) - **reactivity/watch:** add pause/resume for ReactiveEffect, EffectScope, and WatchHandle ([#​9651](https://redirect.github.com/vuejs/core/issues/9651)) ([267093c](https://redirect.github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582)) - **watch:** support passing number to `deep` option to control the watch depth ([#​9572](https://redirect.github.com/vuejs/core/issues/9572)) ([22f7d96](https://redirect.github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c)) - **types:** export `MultiWatchSources` type ([#​9563](https://redirect.github.com/vuejs/core/issues/9563)) ([998dca5](https://redirect.github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c)) - **types:** allow computed getter and setter types to be unrelated ([#​11472](https://redirect.github.com/vuejs/core/issues/11472)) ([a01675e](https://redirect.github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2)), closes [#​7271](https://redirect.github.com/vuejs/core/issues/7271) ##### SSR - **runtime-core:** `useId()` and `app.config.idPrefix` ([#​11404](https://redirect.github.com/vuejs/core/issues/11404)) ([73ef156](https://redirect.github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247)) - **hydration:** lazy hydration strategies for async components ([#​11458](https://redirect.github.com/vuejs/core/issues/11458)) ([d14a11c](https://redirect.github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4)) - **hydration:** support suppressing hydration mismatch via data-allow-mismatch ([94fb2b8](https://redirect.github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1)) ##### Custom Element - **custom-element:** `useHost()` helper ([775103a](https://redirect.github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0)) - **custom-element:** `useShadowRoot()` helper ([5a1a89b](https://redirect.github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282)), closes [#​6113](https://redirect.github.com/vuejs/core/issues/6113) [#​8195](https://redirect.github.com/vuejs/core/issues/8195) - **custom-element:** expose `this.$host` in Options API ([1ef8f46](https://redirect.github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50)) - **custom-element:** inject child components styles to custom element shadow root ([#​11517](https://redirect.github.com/vuejs/core/issues/11517)) ([56c76a8](https://redirect.github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1)), closes [#​4662](https://redirect.github.com/vuejs/core/issues/4662) [#​7941](https://redirect.github.com/vuejs/core/issues/7941) [#​7942](https://redirect.github.com/vuejs/core/issues/7942) - **custom-element:** support configurable app instance in defineCustomElement ([6758c3c](https://redirect.github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd)), closes [#​4356](https://redirect.github.com/vuejs/core/issues/4356) [#​4635](https://redirect.github.com/vuejs/core/issues/4635) - **custom-element:** support css `:host` selector by applying css vars on host element ([#​8830](https://redirect.github.com/vuejs/core/issues/8830)) ([03a9ea2](https://redirect.github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb)), closes [#​8826](https://redirect.github.com/vuejs/core/issues/8826) - **custom-element:** support emit with options ([e181bff](https://redirect.github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08)), closes [#​7605](https://redirect.github.com/vuejs/core/issues/7605) - **custom-element:** support expose on customElement ([#​6256](https://redirect.github.com/vuejs/core/issues/6256)) ([af838c1](https://redirect.github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624)), closes [#​5540](https://redirect.github.com/vuejs/core/issues/5540) - **custom-element:** support `nonce` option for injected style tags ([bb4a02a](https://redirect.github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded)), closes [#​6530](https://redirect.github.com/vuejs/core/issues/6530) - **custom-element:** support passing custom-element-specific options via 2nd argument of defineCustomElement ([60a88a2](https://redirect.github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e)) - **custom-element:** support `shadowRoot: false` in `defineCustomElement()` ([37d2ce5](https://redirect.github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e)), closes [#​4314](https://redirect.github.com/vuejs/core/issues/4314) [#​4404](https://redirect.github.com/vuejs/core/issues/4404) ##### Teleport - **teleport:** support deferred Teleport ([#​11387](https://redirect.github.com/vuejs/core/issues/11387)) ([59a3e88](https://redirect.github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef)), closes [#​2015](https://redirect.github.com/vuejs/core/issues/2015) [#​11386](https://redirect.github.com/vuejs/core/issues/11386) - **teleport/transition:** support directly nesting Teleport inside Transition ([#​6548](https://redirect.github.com/vuejs/core/issues/6548)) ([0e6e3c7](https://redirect.github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0)), closes [#​5836](https://redirect.github.com/vuejs/core/issues/5836) ##### Misc - **runtime-core:** `useTemplateRef()` ([3ba70e4](https://redirect.github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df)) - **runtime-core:** add `app.onUnmount()` for registering cleanup functions ([#​4619](https://redirect.github.com/vuejs/core/issues/4619)) ([582a3a3](https://redirect.github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e)), closes [#​4516](https://redirect.github.com/vuejs/core/issues/4516) - **runtime-core:** add `app.config.throwUnhandledErrorInProduction` ([f476b7f](https://redirect.github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0)), closes [#​7876](https://redirect.github.com/vuejs/core/issues/7876) - **runtime-dom:** Trusted Types compatibility ([#​10844](https://redirect.github.com/vuejs/core/issues/10844)) ([6d4eb94](https://redirect.github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5)) - **compiler-core:** support `Symbol` global in template expressions ([#​9069](https://redirect.github.com/vuejs/core/issues/9069)) ([a501a85](https://redirect.github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3)) - **types:** export more emit related types ([#​11017](https://redirect.github.com/vuejs/core/issues/11017)) ([189573d](https://redirect.github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733)) <!----> - **types:** add loading prop to iframe ([#​11767](https://redirect.github.com/vuejs/core/issues/11767)) ([d86fe0e](https://redirect.github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68)) ##### Internals - **reactivity:** store value cache on CustomRefs impls ([#​11539](https://redirect.github.com/vuejs/core/issues/11539)) ([e044b6e](https://redirect.github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292)) - **types:** provide internal options for directly using user types in language tools ([#​10801](https://redirect.github.com/vuejs/core/issues/10801)) ([75c8cf6](https://redirect.github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9)) - **types:** provide internal options for using refs type in language tools ([#​11492](https://redirect.github.com/vuejs/core/issues/11492)) ([5ffd1a8](https://redirect.github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76)) #### Bug Fixes - **compiler-sfc:** fix import usage check for kebab-case same name shorthand binding ([0f7c0e5](https://redirect.github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354)), closes [#​11745](https://redirect.github.com/vuejs/core/issues/11745) [#​11754](https://redirect.github.com/vuejs/core/issues/11754) - **cssVars:** correctly escape double quotes in SSR ([#​11784](https://redirect.github.com/vuejs/core/issues/11784)) ([7b5b6e0](https://redirect.github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a)), closes [#​11779](https://redirect.github.com/vuejs/core/issues/11779) - **deps:** update dependency postcss to ^8.4.44 ([#​11774](https://redirect.github.com/vuejs/core/issues/11774)) ([cb843e0](https://redirect.github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505)) - **hydration:** escape css var name to avoid mismatch ([#​11739](https://redirect.github.com/vuejs/core/issues/11739)) ([ca12e77](https://redirect.github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37)), closes [#​11735](https://redirect.github.com/vuejs/core/issues/11735) - **hydration:** handle text nodes with 0 during hydration ([#​11772](https://redirect.github.com/vuejs/core/issues/11772)) ([c756da2](https://redirect.github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5)), closes [#​11771](https://redirect.github.com/vuejs/core/issues/11771) - **reactivity:** correctly handle method calls on user-extended arrays ([#​11760](https://redirect.github.com/vuejs/core/issues/11760)) ([9817c80](https://redirect.github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd)), closes [#​11759](https://redirect.github.com/vuejs/core/issues/11759) - **runtime-dom:** avoid unnecessary prop patch for checkbox ([#​11657](https://redirect.github.com/vuejs/core/issues/11657)) ([c3ce9fe](https://redirect.github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **runtime-dom:** prevent unnecessary DOM update from v-model ([#​11656](https://redirect.github.com/vuejs/core/issues/11656)) ([b1be9bd](https://redirect.github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **server-renderer:** Fix call to serverPrefetch in server renderer with an async setup ([#​10893](https://redirect.github.com/vuejs/core/issues/10893)) ([6039e25](https://redirect.github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab)) - **server-renderer:** render `className` during SSR ([#​11722](https://redirect.github.com/vuejs/core/issues/11722)) ([52cdb0f](https://redirect.github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565)) - **types/defineModel:** allow getter and setter types to be unrelated ([#​11699](https://redirect.github.com/vuejs/core/issues/11699)) ([fe07f70](https://redirect.github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96)), closes [#​11697](https://redirect.github.com/vuejs/core/issues/11697) ### [`v3.4.38`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.38) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.37...v3.4.38) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. </details> <details> <summary>yairEO/tagify (@​yaireo/tagify)</summary> ### [`v4.31.3`](https://redirect.github.com/yairEO/tagify/releases/tag/v4.31.3) [Compare Source](https://redirect.github.com/yairEO/tagify/compare/v4.31.2...v4.31.3) - fixes [#​1372](https://redirect.github.com/yairEO/tagify/issues/1372) - `this.value` was updated twice needlessly. It should only be updated within the `postProcessNewTagNode` method [`7cce53d`](https://redirect.github.com/yairEO/tagify/commit/7cce53d) ### [`v4.31.2`](https://redirect.github.com/yairEO/tagify/releases/tag/v4.31.2) [Compare Source](https://redirect.github.com/yairEO/tagify/compare/v4.31.1...v4.31.2) - fixes [#​1371](https://redirect.github.com/yairEO/tagify/issues/1371) - `add` event should fire ASAP without any delay. Also should include invalid added tags [`f7c7a84`](https://redirect.github.com/yairEO/tagify/commit/f7c7a84) ### [`v4.31.1`](https://redirect.github.com/yairEO/tagify/releases/tag/v4.31.1) [Compare Source](https://redirect.github.com/yairEO/tagify/compare/v4.31.0...v4.31.1) - fixes [#​1369](https://redirect.github.com/yairEO/tagify/issues/1369) & [#​450](https://redirect.github.com/yairEO/tagify/issues/450) [`66c8a7f`](https://redirect.github.com/yairEO/tagify/commit/66c8a7f) - minor refactor [`05c1b05`](https://redirect.github.com/yairEO/tagify/commit/05c1b05) ### [`v4.31.0`](https://redirect.github.com/yairEO/tagify/compare/v4.27.0...v4.31.0) [Compare Source](https://redirect.github.com/yairEO/tagify/compare/v4.27.0...v4.31.0) </details> <details> <summary>tailwindlabs/tailwindcss (tailwindcss)</summary> ### [`v3.4.13`](https://redirect.github.com/tailwindlabs/tailwindcss/releases/tag/v3.4.13) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.12...v3.4.13) ##### Fixed - Improve source glob verification performance ([#​14481](https://redirect.github.com/tailwindlabs/tailwindcss/pull/14481)) ### [`v3.4.12`](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.11...v3.4.12) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.11...v3.4.12) ### [`v3.4.11`](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.10...v3.4.11) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.10...v3.4.11) ### [`v3.4.10`](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.9...v3.4.10) [Compare Source](https://redirect.github.com/tailwindlabs/tailwindcss/compare/v3.4.9...v3.4.10) </details> <details> <summary>vuejs/router (vue-router)</summary> ### [`v4.4.5`](https://redirect.github.com/vuejs/router/releases/tag/v4.4.5) [Compare Source](https://redirect.github.com/vuejs/router/compare/v4.4.4...v4.4.5) Please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md) for details. ### [`v4.4.4`](https://redirect.github.com/vuejs/router/releases/tag/v4.4.4) [Compare Source](https://redirect.github.com/vuejs/router/compare/v4.4.3...v4.4.4) Please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md) for details. </details> <details> <summary>vuejs/language-tools (vue-tsc)</summary> ### [`v2.1.6`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#216-supofficialsup-217-supinsiderssup-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/a95b51ac0b0db8825f77fbba37e29932b5be61e4...v2.1.6) ##### Features - **language-plugin-pug:** support initial indentation ([#​4774](https://redirect.github.com/vuejs/language-tools/issues/4774)) - **language-service:** JSDoc display support when typing props on component template ([#​4796](https://redirect.github.com/vuejs/language-tools/issues/4796)) - Thanks to [@​joy-yu](https://redirect.github.com/joy-yu)! - **language-core:** typed directives in template ([#​4807](https://redirect.github.com/vuejs/language-tools/issues/4807)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Bug Fixes - **language-core:** wrap template refs with `unref` in interpolation ([#​4777](https://redirect.github.com/vuejs/language-tools/issues/4777)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** ensure to pass tsc on inline global types ([#​4782](https://redirect.github.com/vuejs/language-tools/issues/4782)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** infer native template ref as build-in element interface ([#​4786](https://redirect.github.com/vuejs/language-tools/issues/4786)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** generate `__VLS_StyleModules` after template ([#​4790](https://redirect.github.com/vuejs/language-tools/issues/4790)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** make `expose` of non-generic template ref required ([#​4795](https://redirect.github.com/vuejs/language-tools/issues/4795)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** avoid using `__typeProps` with runtime props ([#​4800](https://redirect.github.com/vuejs/language-tools/issues/4800)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** ignore unknown attrs error when strictTemplates is not enabled ([#​4785](https://redirect.github.com/vuejs/language-tools/issues/4785)) - **language-core:** prevent append globalTypes to virtual file ([#​4806](https://redirect.github.com/vuejs/language-tools/issues/4806)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** prevent type error when use defineSlots and non-template ([#​4809](https://redirect.github.com/vuejs/language-tools/issues/4809)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **typescript-plugin:** disconnect socket on error ([#​4672](https://redirect.github.com/vuejs/language-tools/issues/4672)) ##### Performance - **language-core:** don't emit event lnlayhint when content is none ([#​4776](https://redirect.github.com/vuejs/language-tools/issues/4776)) - Thanks to [@​Gehbt](https://redirect.github.com/Gehbt)! ##### Other Changes - **language-core:** split `__VLS_templateResult` ([#​4781](https://redirect.github.com/vuejs/language-tools/issues/4781)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** wrap template virtual code into a function ([#​4784](https://redirect.github.com/vuejs/language-tools/issues/4784)) - **language-core:** move `templateRef` into `composibles` ([#​4791](https://redirect.github.com/vuejs/language-tools/issues/4791)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** generate global types for the first parsed Vue component if cannot write global types file ##### Tests - **language-server:** add renaming case for template `ref()` ([#​4794](https://redirect.github.com/vuejs/language-tools/issues/4794)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **tsc:** update to Vue 3.5 ([#​4725](https://redirect.github.com/vuejs/language-tools/issues/4725)) - **tsc:** unknown props on non-strict generic component ([#​4792](https://redirect.github.com/vuejs/language-tools/issues/4792)) ### [`v2.1.5`](https://redirect.github.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#214-supofficialsup-215-supinsiderssup-2024-09-01) [Compare Source](https://redirect.github.com/vuejs/language-tools/compare/v2.1.4...a95b51ac0b0db8825f77fbba37e29932b5be61e4) ##### Features - **typescript-plugin, language-server:** generate global types file into `node_modules/.vue-global-types` ([#​4752](https://redirect.github.com/vuejs/language-tools/issues/4752)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** navigation support for template-ref ([#​4726](https://redirect.github.com/vuejs/language-tools/issues/4726)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! ##### Bug Fixes - **language-core, typescript-plugin, language-server:** apply snake case on globalTypes filename ([#​4749](https://redirect.github.com/vuejs/language-tools/issues/4749)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** hoist `$refs` type ([#​4763](https://redirect.github.com/vuejs/language-tools/issues/4763)) - **language-core:** disable lib check on global types file ([#​4767](https://redirect.github.com/vuejs/language-tools/issues/4767)) - Thanks to [@​KazariEX](https://redirect.github.com/KazariEX)! - **language-core:** prevent circular reference of templateRef ([#​4768](https://redirect.github.com/vuejs/language-tools/issues/4768)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language-core:** using interface merging for `GlobalComponents` - **language-core:** `fallthroughAttributes` causes global components to be self-referential ([#​4761](https://redirect.github.com/vuejs/language-tools/issues/4761)) - **language-core:** auto-completion for the last line of template block ([#​4771](https://redirect.github.com/vuejs/language-tools/issues/4771)) - Thanks to [@​zhiyuanzmj](https://redirect.github.com/zhiyuanzmj)! - **language- </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on the 2nd through 5th day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/JabRef/JabRefOnline). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45Ny4wIiwidXBkYXRlZEluVmVyIjoiMzguOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tobias Diez <code@tobiasdiez.de> Co-authored-by: Tobias Diez <code@tobiasdiez.com>
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@vue/compiler-core](https://redirect.github.com/vuejs/core/tree/main/packages/compiler-core#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/compiler-core)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/@vue%2fcompiler-core/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fcompiler-core/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fcompiler-core/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fcompiler-core/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fcompiler-core/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/compiler-sfc](https://redirect.github.com/vuejs/core/tree/main/packages/compiler-sfc#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/compiler-sfc)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/@vue%2fcompiler-sfc/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fcompiler-sfc/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fcompiler-sfc/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fcompiler-sfc/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fcompiler-sfc/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/reactivity](https://redirect.github.com/vuejs/core/tree/main/packages/reactivity#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/reactivity)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/@vue%2freactivity/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2freactivity/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2freactivity/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2freactivity/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2freactivity/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/runtime-core](https://redirect.github.com/vuejs/core/tree/main/packages/runtime-core#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/runtime-core)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/@vue%2fruntime-core/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fruntime-core/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fruntime-core/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fruntime-core/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fruntime-core/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/runtime-dom](https://redirect.github.com/vuejs/core/tree/main/packages/runtime-dom#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/runtime-dom)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/@vue%2fruntime-dom/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fruntime-dom/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fruntime-dom/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fruntime-dom/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fruntime-dom/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@vue/shared](https://redirect.github.com/vuejs/core/tree/main/packages/shared#readme) ([source](https://redirect.github.com/vuejs/core/tree/HEAD/packages/shared)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/@vue%2fshared/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fshared/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fshared/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fshared/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fshared/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vue](https://redirect.github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://redirect.github.com/vuejs/core)) | [`^3.4.29` -> `^3.5.12`](https://renovatebot.com/diffs/npm/vue/3.4.29/3.5.12) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.4.29/3.5.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>vuejs/core (@​vue/compiler-core)</summary> ### [`v3.5.12`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3512-2024-10-11) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.11...v3.5.12) ##### Bug Fixes - **compiler-dom:** avoid stringify option with null value ([#​12096](https://redirect.github.com/vuejs/core/issues/12096)) ([f6d9926](https://redirect.github.com/vuejs/core/commit/f6d99262364b7444ebab8742158599e8cdd79eaa)), closes [#​12093](https://redirect.github.com/vuejs/core/issues/12093) - **compiler-sfc:** do not skip TSInstantiationExpression when transforming props destructure ([#​12064](https://redirect.github.com/vuejs/core/issues/12064)) ([d3ecde8](https://redirect.github.com/vuejs/core/commit/d3ecde8a696ff62c8d0ab067fd1d7ee0565b63c5)) - **compiler-sfc:** use sass modern api if available and avoid deprecation warning ([#​11992](https://redirect.github.com/vuejs/core/issues/11992)) ([4474c11](https://redirect.github.com/vuejs/core/commit/4474c113d1fb1c26298dd6794275d5b5c7cc4d93)) - **compiler:** clone loc to `ifNode` ([#​12131](https://redirect.github.com/vuejs/core/issues/12131)) ([cde2c06](https://redirect.github.com/vuejs/core/commit/cde2c0671b00d4f6111fcbd7aa76e45872f20b0c)), closes [vuejs/language-tools#4911](https://redirect.github.com/vuejs/language-tools/issues/4911) - **custom-element:** properly remove hyphenated attribute ([#​12143](https://redirect.github.com/vuejs/core/issues/12143)) ([e16e9a7](https://redirect.github.com/vuejs/core/commit/e16e9a7341e7cfb3c443da4e5e5b06e8158712c3)), closes [#​12139](https://redirect.github.com/vuejs/core/issues/12139) - **defineModel:** handle kebab-case model correctly ([#​12063](https://redirect.github.com/vuejs/core/issues/12063)) ([c0418a3](https://redirect.github.com/vuejs/core/commit/c0418a3b8fa96a0b108ab71b7aab5d3388f90557)), closes [#​12060](https://redirect.github.com/vuejs/core/issues/12060) - **deps:** update dependency monaco-editor to ^0.52.0 ([#​12119](https://redirect.github.com/vuejs/core/issues/12119)) ([f7cbea2](https://redirect.github.com/vuejs/core/commit/f7cbea2111c7770a180b640f36f6a5d4d6abc698)) - **hydration:** provide compat fallback for idle callback hydration strategy ([#​11935](https://redirect.github.com/vuejs/core/issues/11935)) ([1ae545a](https://redirect.github.com/vuejs/core/commit/1ae545a3786abef983be1c969726489685569c92)) - **reactivity:** trigger reactivity for Map key `undefined` ([#​12055](https://redirect.github.com/vuejs/core/issues/12055)) ([7ad289e](https://redirect.github.com/vuejs/core/commit/7ad289e1e7fea654524008ff91e43a8b8a55ef22)), closes [#​12054](https://redirect.github.com/vuejs/core/issues/12054) - **runtime-core:** allow symbol values for slot prop key ([#​12069](https://redirect.github.com/vuejs/core/issues/12069)) ([d9d4d4e](https://redirect.github.com/vuejs/core/commit/d9d4d4e158cd51a9ddda249f29de8467f60b2792)), closes [#​12068](https://redirect.github.com/vuejs/core/issues/12068) - **runtime-core:** fix required prop check false positive for kebab-case edge cases ([#​12034](https://redirect.github.com/vuejs/core/issues/12034)) ([9da1ac1](https://redirect.github.com/vuejs/core/commit/9da1ac156552ac449754e1373aac7e349841becb)), closes [#​12011](https://redirect.github.com/vuejs/core/issues/12011) - **runtime-dom:** prevent unnecessary updates in v-model checkbox when value is unchanged ([#​12146](https://redirect.github.com/vuejs/core/issues/12146)) ([ea943af](https://redirect.github.com/vuejs/core/commit/ea943afe404c4ca4b729906c5e8daf7aa2ccde9b)), closes [#​12144](https://redirect.github.com/vuejs/core/issues/12144) - **teleport:** handle disabled teleport with updateCssVars ([#​12113](https://redirect.github.com/vuejs/core/issues/12113)) ([76a8223](https://redirect.github.com/vuejs/core/commit/76a8223199c148b79a5c0ea19e235164809760cd)), closes [#​12112](https://redirect.github.com/vuejs/core/issues/12112) - **transition/ssr:** make transition appear work with Suspense in SSR ([#​12047](https://redirect.github.com/vuejs/core/issues/12047)) ([f1a4f67](https://redirect.github.com/vuejs/core/commit/f1a4f67aedfe83e440c54222213f070774faa421)), closes [#​12046](https://redirect.github.com/vuejs/core/issues/12046) - **types:** ensure `this.$props` type does not include `string` ([#​12123](https://redirect.github.com/vuejs/core/issues/12123)) ([704173e](https://redirect.github.com/vuejs/core/commit/704173e24276706de672cca6c9507e4dd9651197)), closes [#​12122](https://redirect.github.com/vuejs/core/issues/12122) - **types:** retain union type narrowing with defaults applied ([#​12108](https://redirect.github.com/vuejs/core/issues/12108)) ([05685a9](https://redirect.github.com/vuejs/core/commit/05685a9d7c42d4cd37169b867833776b91154fed)), closes [#​12106](https://redirect.github.com/vuejs/core/issues/12106) - **useId:** ensure useId consistency when using serverPrefetch ([#​12128](https://redirect.github.com/vuejs/core/issues/12128)) ([b4d3534](https://redirect.github.com/vuejs/core/commit/b4d35349d8bc39aa15bd3f1094d230e5928b177c)), closes [#​12102](https://redirect.github.com/vuejs/core/issues/12102) - **watch:** watchEffect clean-up with SSR ([#​12097](https://redirect.github.com/vuejs/core/issues/12097)) ([b094c72](https://redirect.github.com/vuejs/core/commit/b094c72b3d40c52c7124f145a9db028509a11202)), closes [#​11956](https://redirect.github.com/vuejs/core/issues/11956) ##### Performance Improvements - **reactivity:** avoid unnecessary recursion in removeSub ([#​12135](https://redirect.github.com/vuejs/core/issues/12135)) ([ec917cf](https://redirect.github.com/vuejs/core/commit/ec917cfdb9d0169cd0835d3a0e28244242657dc9)) ### [`v3.5.11`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3511-2024-10-03) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.10...v3.5.11) ##### Bug Fixes - **compiler-sfc:** do not skip `TSSatisfiesExpression` when transforming props destructure ([#​12062](https://redirect.github.com/vuejs/core/issues/12062)) ([2328b05](https://redirect.github.com/vuejs/core/commit/2328b051f4efa1f1394b7d4e73b7c3f76e430e7c)), closes [#​12061](https://redirect.github.com/vuejs/core/issues/12061) - **reactivity:** prevent overwriting `next` property during batch processing ([#​12075](https://redirect.github.com/vuejs/core/issues/12075)) ([d3f5e6e](https://redirect.github.com/vuejs/core/commit/d3f5e6e5319b4ffaa55ca9a2ea3d95d78e76fa58)), closes [#​12072](https://redirect.github.com/vuejs/core/issues/12072) - **scheduler:** job ordering when the post queue is flushing ([#​12090](https://redirect.github.com/vuejs/core/issues/12090)) ([577edca](https://redirect.github.com/vuejs/core/commit/577edca8e7795436efd710d1c289ea8ea2642b0e)) - **types:** correctly infer `TypeProps` when it is `any` ([#​12073](https://redirect.github.com/vuejs/core/issues/12073)) ([57315ab](https://redirect.github.com/vuejs/core/commit/57315ab9688c9741a271d1075bbd28cbe5f71e2f)), closes [#​12058](https://redirect.github.com/vuejs/core/issues/12058) - **types:** should not intersect `PublicProps` with `Props` ([#​12077](https://redirect.github.com/vuejs/core/issues/12077)) ([6f85894](https://redirect.github.com/vuejs/core/commit/6f8589437635706f825ccec51800effba1d2bf5f)) - **types:** infer the first generic type of `Ref` correctly ([#​12094](https://redirect.github.com/vuejs/core/issues/12094)) ([c97bb84](https://redirect.github.com/vuejs/core/commit/c97bb84d0b0a16b012f886b6498e924415ed63e5)) ### [`v3.5.10`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3510-2024-09-27) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.9...v3.5.10) ##### Bug Fixes - **custom-element:** properly set kebab-case props on Vue custom elements ([ea3efa0](https://redirect.github.com/vuejs/core/commit/ea3efa09e008918c1d9ba7226833a8b1a7a57244)), closes [#​12030](https://redirect.github.com/vuejs/core/issues/12030) [#​12032](https://redirect.github.com/vuejs/core/issues/12032) - **reactivity:** fix nested batch edge case ([93c95dd](https://redirect.github.com/vuejs/core/commit/93c95dd4cd416503f43a98a1455f62658d22b0b2)) - **reactivity:** only clear notified flags for computed in first batch iteration ([aa9ef23](https://redirect.github.com/vuejs/core/commit/aa9ef2386a0cd39a174e5a887ec2b1a3525034fc)), closes [#​12045](https://redirect.github.com/vuejs/core/issues/12045) - **types/ref:** handle nested refs in UnwrapRef ([#​12049](https://redirect.github.com/vuejs/core/issues/12049)) ([e2c19c2](https://redirect.github.com/vuejs/core/commit/e2c19c20cfee9788519a80c0e53e216b78505994)), closes [#​12044](https://redirect.github.com/vuejs/core/issues/12044) ### [`v3.5.9`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#359-2024-09-26) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.8...v3.5.9) ##### Bug Fixes - **reactivity:** fix property dep removal regression ([6001e5c](https://redirect.github.com/vuejs/core/commit/6001e5c81a05c894586f9287fbd991677bdd0455)), closes [#​12020](https://redirect.github.com/vuejs/core/issues/12020) [#​12021](https://redirect.github.com/vuejs/core/issues/12021) - **reactivity:** fix recursive sync watcher on computed edge case ([10ff159](https://redirect.github.com/vuejs/core/commit/10ff15924053d9bd95ad706f78ce09e288213fcf)), closes [#​12033](https://redirect.github.com/vuejs/core/issues/12033) [#​12037](https://redirect.github.com/vuejs/core/issues/12037) - **runtime-core:** avoid rendering plain object as VNode ([#​12038](https://redirect.github.com/vuejs/core/issues/12038)) ([cb34b28](https://redirect.github.com/vuejs/core/commit/cb34b28a4a9bf868be4785b001c526163eda342e)), closes [#​12035](https://redirect.github.com/vuejs/core/issues/12035) [vitejs/vite-plugin-vue#353](https://redirect.github.com/vitejs/vite-plugin-vue/issues/353) - **runtime-core:** make useId() always return a string ([a177092](https://redirect.github.com/vuejs/core/commit/a177092754642af2f98c33a4feffe8f198c3c950)) - **types:** correct type inference of union event names ([#​12022](https://redirect.github.com/vuejs/core/issues/12022)) ([4da6881](https://redirect.github.com/vuejs/core/commit/4da688141d9e7c15b622c289deaa81b11845b2c7)) - **vue:** properly cache runtime compilation ([#​12019](https://redirect.github.com/vuejs/core/issues/12019)) ([fa0ba24](https://redirect.github.com/vuejs/core/commit/fa0ba24b3ace02d7ecab65e57c2bea89a2550dcb)) ### [`v3.5.8`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#358-2024-09-22) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.7...v3.5.8) ##### Bug Fixes - **reactivity:** do not remove dep from depsMap when cleaning up deps of computed ([#​11995](https://redirect.github.com/vuejs/core/issues/11995)) ([0267a58](https://redirect.github.com/vuejs/core/commit/0267a588017eee4951ac2a877fe1ccae84cad905)) ### [`v3.5.7`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#357-2024-09-20) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.6...v3.5.7) ##### Bug Fixes - **compile-core:** fix v-model with newlines edge case ([#​11960](https://redirect.github.com/vuejs/core/issues/11960)) ([6224288](https://redirect.github.com/vuejs/core/commit/62242886d705ece88dbcad45bb78072ecccad0ca)), closes [#​8306](https://redirect.github.com/vuejs/core/issues/8306) - **compiler-sfc:** initialize scope with null prototype object ([#​11963](https://redirect.github.com/vuejs/core/issues/11963)) ([215e154](https://redirect.github.com/vuejs/core/commit/215e15407294bf667261360218f975b88c99c2e5)) - **hydration:** avoid observing non-Element node ([#​11954](https://redirect.github.com/vuejs/core/issues/11954)) ([7257e6a](https://redirect.github.com/vuejs/core/commit/7257e6a34200409b3fc347d3bb807e11e2785974)), closes [#​11952](https://redirect.github.com/vuejs/core/issues/11952) - **reactivity:** do not remove dep from depsMap when unsubbed by computed ([960706e](https://redirect.github.com/vuejs/core/commit/960706eebf73f08ebc9d5dd853a05def05e2c153)) - **reactivity:** fix dev-only memory leak by updating dep.subsHead on sub removal ([5c8b76e](https://redirect.github.com/vuejs/core/commit/5c8b76ed6cfbbcee4cbaac0b72beab7291044e4f)), closes [#​11956](https://redirect.github.com/vuejs/core/issues/11956) - **reactivity:** fix memory leak from dep instances of garbage collected objects ([235ea47](https://redirect.github.com/vuejs/core/commit/235ea4772ed2972914cf142da8b7ac1fb04f7585)), closes [#​11979](https://redirect.github.com/vuejs/core/issues/11979) [#​11971](https://redirect.github.com/vuejs/core/issues/11971) - **reactivity:** fix triggerRef call on ObjectRefImpl returned by toRef ([#​11986](https://redirect.github.com/vuejs/core/issues/11986)) ([b030c8b](https://redirect.github.com/vuejs/core/commit/b030c8bc7327877efb98aa3d9a58eb287a6ff07a)), closes [#​11982](https://redirect.github.com/vuejs/core/issues/11982) - **scheduler:** ensure recursive jobs can't be queued twice ([#​11955](https://redirect.github.com/vuejs/core/issues/11955)) ([d18d6aa](https://redirect.github.com/vuejs/core/commit/d18d6aa1b20dc57a8103c51ec4d61e8e53ed936d)) - **ssr:** don't render comments in TransitionGroup ([#​11961](https://redirect.github.com/vuejs/core/issues/11961)) ([a2f6ede](https://redirect.github.com/vuejs/core/commit/a2f6edeb02faedbb673c4bc5c6a59d9a79a37d07)), closes [#​11958](https://redirect.github.com/vuejs/core/issues/11958) - **transition:** respect `duration` setting even when it is `0` ([#​11967](https://redirect.github.com/vuejs/core/issues/11967)) ([f927a4a](https://redirect.github.com/vuejs/core/commit/f927a4ae6f7c453f70ba89498ee0c737dc9866fd)) - **types:** correct type inference of all-optional props ([#​11644](https://redirect.github.com/vuejs/core/issues/11644)) ([9eca65e](https://redirect.github.com/vuejs/core/commit/9eca65ee9871d1ac878755afa9a3eb1b02030350)), closes [#​11733](https://redirect.github.com/vuejs/core/issues/11733) [vuejs/language-tools#4704](https://redirect.github.com/vuejs/language-tools/issues/4704) ##### Performance Improvements - **hydration:** avoid observer if element is in viewport ([#​11639](https://redirect.github.com/vuejs/core/issues/11639)) ([e075dfa](https://redirect.github.com/vuejs/core/commit/e075dfad5c7649c6045e3711687ec888e7aa1a39)) ### [`v3.5.6`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#356-2024-09-16) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.5...v3.5.6) ##### Bug Fixes - **compile-dom:** should be able to stringify mathML ([#​11891](https://redirect.github.com/vuejs/core/issues/11891)) ([85c138c](https://redirect.github.com/vuejs/core/commit/85c138ced108268f7656b568dfd3036a1e0aae34)) - **compiler-sfc:** preserve old behavior when using withDefaults with desutructure ([8492c3c](https://redirect.github.com/vuejs/core/commit/8492c3c49a922363d6c77ef192c133a8fbce6514)), closes [#​11930](https://redirect.github.com/vuejs/core/issues/11930) - **reactivity:** avoid exponential perf cost and reduce call stack depth for deeply chained computeds ([#​11944](https://redirect.github.com/vuejs/core/issues/11944)) ([c74bb8c](https://redirect.github.com/vuejs/core/commit/c74bb8c2dd9e82aaabb0a2a2b368e900929b513b)), closes [#​11928](https://redirect.github.com/vuejs/core/issues/11928) - **reactivity:** rely on dirty check only when computed has deps ([#​11931](https://redirect.github.com/vuejs/core/issues/11931)) ([aa5dafd](https://redirect.github.com/vuejs/core/commit/aa5dafd2b55d42d6a29316a3bc91aea85c676a0b)), closes [#​11929](https://redirect.github.com/vuejs/core/issues/11929) - **watch:** `once` option should be ignored by watchEffect ([#​11884](https://redirect.github.com/vuejs/core/issues/11884)) ([49fa673](https://redirect.github.com/vuejs/core/commit/49fa673493d93b77ddba2165ab6545bae84fd1ae)) - **watch:** unwatch should be callable during SSR ([#​11925](https://redirect.github.com/vuejs/core/issues/11925)) ([2d6adf7](https://redirect.github.com/vuejs/core/commit/2d6adf78a047eed091db277ffbd9df0822fb0bdd)), closes [#​11924](https://redirect.github.com/vuejs/core/issues/11924) ### [`v3.5.5`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#355-2024-09-13) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.4...v3.5.5) ##### Bug Fixes - **compiler-core:** fix handling of delimiterOpen in VPre ([#​11915](https://redirect.github.com/vuejs/core/issues/11915)) ([706d4ac](https://redirect.github.com/vuejs/core/commit/706d4ac1d0210b2d9134b3228280187fe02fc971)), closes [#​11913](https://redirect.github.com/vuejs/core/issues/11913) - **compiler-dom:** fix stringify static edge for partially eligible chunks in cached parent ([1d99d61](https://redirect.github.com/vuejs/core/commit/1d99d61c1bd77f9ea6743f6214a82add8346a121)), closes [#​11879](https://redirect.github.com/vuejs/core/issues/11879) [#​11890](https://redirect.github.com/vuejs/core/issues/11890) - **compiler-dom:** should ignore leading newline in <textarea> per spec ([3c4bf76](https://redirect.github.com/vuejs/core/commit/3c4bf7627649ec1e3220f8c4e4163c20d2afb367)) - **compiler-sfc:** nested css supports atrule and comment ([#​11899](https://redirect.github.com/vuejs/core/issues/11899)) ([0e7bc71](https://redirect.github.com/vuejs/core/commit/0e7bc717e6640644f062957ec5031506f0dab215)), closes [#​11896](https://redirect.github.com/vuejs/core/issues/11896) - **custom-element:** handle nested customElement mount w/ shadowRoot false ([#​11861](https://redirect.github.com/vuejs/core/issues/11861)) ([f2d8019](https://redirect.github.com/vuejs/core/commit/f2d801918841e7673ff3f048d0d895592a2f7e23)), closes [#​11851](https://redirect.github.com/vuejs/core/issues/11851) [#​11871](https://redirect.github.com/vuejs/core/issues/11871) - **hmr:** reload async child wrapped in Suspense + KeepAlive ([#​11907](https://redirect.github.com/vuejs/core/issues/11907)) ([10a2c60](https://redirect.github.com/vuejs/core/commit/10a2c6053bd30d160d0214bb3566f540187e6874)), closes [#​11868](https://redirect.github.com/vuejs/core/issues/11868) - **hydration:** fix mismatch of leading newline in `<textarea>` and `<pre>` ([a5f3c2e](https://redirect.github.com/vuejs/core/commit/a5f3c2eb4d2e7fae93ff93ce865b269f01cc825e)), closes [#​11873](https://redirect.github.com/vuejs/core/issues/11873) [#​11874](https://redirect.github.com/vuejs/core/issues/11874) - **reactivity:** properly clean up deps, fix memory leak ([8ea5d6d](https://redirect.github.com/vuejs/core/commit/8ea5d6d6981ab7febda0be43c3c92b18869c3a2a)), closes [#​11901](https://redirect.github.com/vuejs/core/issues/11901) - **runtime-core:** properly update async component nested in KeepAlive ([#​11917](https://redirect.github.com/vuejs/core/issues/11917)) ([7fe6c79](https://redirect.github.com/vuejs/core/commit/7fe6c795a1fc7ddcea5ad91a56141561192373ac)), closes [#​11916](https://redirect.github.com/vuejs/core/issues/11916) - **TransitionGroup:** not warn unkeyed text children with whitespece preserve ([#​11888](https://redirect.github.com/vuejs/core/issues/11888)) ([7571f20](https://redirect.github.com/vuejs/core/commit/7571f20bc3d1854377a146f41d211e05bb68cd47)), closes [#​11885](https://redirect.github.com/vuejs/core/issues/11885) ### [`v3.5.4`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#354-2024-09-10) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.3...v3.5.4) ##### Bug Fixes - **compiler-sfc:** correct scoped injection for nesting selector ([#​11854](https://redirect.github.com/vuejs/core/issues/11854)) ([b1de75e](https://redirect.github.com/vuejs/core/commit/b1de75ed04626b6423085dfde91fb0cb481a25e8)), closes [#​10567](https://redirect.github.com/vuejs/core/issues/10567) - **reactivity:** fix markRaw error on already marked object ([#​11864](https://redirect.github.com/vuejs/core/issues/11864)) ([67d6596](https://redirect.github.com/vuejs/core/commit/67d6596d40b1807b9cd8eb0d9282932ea77be3c0)), closes [#​11862](https://redirect.github.com/vuejs/core/issues/11862) - Revert "fix: Revert "fix(reactivity): self-referencing computed should refresh"" ([e596378](https://redirect.github.com/vuejs/core/commit/e596378e0be728dad7d60938449f3fa557ca2ec9)) - **runtime-core:** handle shallow reactive arrays in renderList correctly ([#​11870](https://redirect.github.com/vuejs/core/issues/11870)) ([ced59ab](https://redirect.github.com/vuejs/core/commit/ced59ab8f2f2e89c13119bab3a0c25a1a1f1c3d6)), closes [#​11869](https://redirect.github.com/vuejs/core/issues/11869) - **types:** correctly infer `TypeEmits` with both tuple and function syntax ([#​11840](https://redirect.github.com/vuejs/core/issues/11840)) ([dad6738](https://redirect.github.com/vuejs/core/commit/dad673809929c084dcb8e42640eb7daa675d4ea4)), closes [#​11836](https://redirect.github.com/vuejs/core/issues/11836) ##### Performance Improvements - **reactivity:** trigger deps directly instead of storing in an array first ([#​11695](https://redirect.github.com/vuejs/core/issues/11695)) ([f80d447](https://redirect.github.com/vuejs/core/commit/f80d447c17662556e9e3f99f6d199967f4c8cf3d)) ### [`v3.5.3`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.2...v3.5.3) ##### Bug Fixes - **hydration:** check \__asyncHydrate presence for vue3-lazy-hydration compat ([#​11825](https://redirect.github.com/vuejs/core/issues/11825)) ([8e6c337](https://redirect.github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9)), closes [#​11793](https://redirect.github.com/vuejs/core/issues/11793) - Revert "fix(reactivity): self-referencing computed should refresh" ([35c760f](https://redirect.github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f)) - **ssr:** respect app.config.warnHandler during ssr ([bf3d9a2](https://redirect.github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af)), closes [#​11830](https://redirect.github.com/vuejs/core/issues/11830) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11833](https://redirect.github.com/vuejs/core/issues/11833)) ([6b7901d](https://redirect.github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **useId:** make generated IDs selector compatible ([babfb4c](https://redirect.github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710)), closes [#​11828](https://redirect.github.com/vuejs/core/issues/11828) ### [`v3.5.2`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.1...v3.5.2) ##### Bug Fixes - **reactivity:** make toRaw work on proxies created by proxyRef ([46c3ab1](https://redirect.github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d)) - **reactivity:** pass oldValue to computed getter ([#​11813](https://redirect.github.com/vuejs/core/issues/11813)) ([98864a7](https://redirect.github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81)), closes [#​11812](https://redirect.github.com/vuejs/core/issues/11812) - **reactivity:** prevent endless recursion in computed getters ([#​11797](https://redirect.github.com/vuejs/core/issues/11797)) ([716275d](https://redirect.github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2)) - **reactivity:** self-referencing computed should refresh ([e84c4a6](https://redirect.github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2)), closes [/github.com/vuejs/core/pull/11797#issuecomment-2330738633](https://redirect.github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633) - **scheduler:** prevent duplicate jobs being queued ([#​11826](https://redirect.github.com/vuejs/core/issues/11826)) ([df56cc5](https://redirect.github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee)), closes [#​11712](https://redirect.github.com/vuejs/core/issues/11712) [#​11807](https://redirect.github.com/vuejs/core/issues/11807) - **suspense:** avoid updating anchor if activeBranch has not been rendered to the actual container ([#​11818](https://redirect.github.com/vuejs/core/issues/11818)) ([3c0d531](https://redirect.github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795)), closes [#​11806](https://redirect.github.com/vuejs/core/issues/11806) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#​11778](https://redirect.github.com/vuejs/core/issues/11778)) ([3116553](https://redirect.github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00)), closes [#​11775](https://redirect.github.com/vuejs/core/issues/11775) - **types:** add HTMLDialogElement missing close event ([#​11811](https://redirect.github.com/vuejs/core/issues/11811)) ([3634f7a](https://redirect.github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01)) - **types:** added name attribute support to details tag ([#​11823](https://redirect.github.com/vuejs/core/issues/11823)) ([c74176e](https://redirect.github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549)), closes [#​11821](https://redirect.github.com/vuejs/core/issues/11821) - **types:** fix defineComponent props inference when setup() has explicit annotation ([fca20a3](https://redirect.github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a)), closes [#​11803](https://redirect.github.com/vuejs/core/issues/11803) - **useTemplateRef:** properly fix readonly warning in dev and ensure prod behavior consistency ([9b7797d](https://redirect.github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc)), closes [#​11808](https://redirect.github.com/vuejs/core/issues/11808) [#​11816](https://redirect.github.com/vuejs/core/issues/11816) [#​11810](https://redirect.github.com/vuejs/core/issues/11810) ##### Features - **compiler-core:** parse modifiers as expression to provide location data ([#​11819](https://redirect.github.com/vuejs/core/issues/11819)) ([3f13203](https://redirect.github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75)) ### [`v3.5.1`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3511-2024-10-03) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.5.0...v3.5.1) ##### Bug Fixes - **compiler-sfc:** do not skip `TSSatisfiesExpression` when transforming props destructure ([#​12062](https://redirect.github.com/vuejs/core/issues/12062)) ([2328b05](https://redirect.github.com/vuejs/core/commit/2328b051f4efa1f1394b7d4e73b7c3f76e430e7c)), closes [#​12061](https://redirect.github.com/vuejs/core/issues/12061) - **reactivity:** prevent overwriting `next` property during batch processing ([#​12075](https://redirect.github.com/vuejs/core/issues/12075)) ([d3f5e6e](https://redirect.github.com/vuejs/core/commit/d3f5e6e5319b4ffaa55ca9a2ea3d95d78e76fa58)), closes [#​12072](https://redirect.github.com/vuejs/core/issues/12072) - **scheduler:** job ordering when the post queue is flushing ([#​12090](https://redirect.github.com/vuejs/core/issues/12090)) ([577edca](https://redirect.github.com/vuejs/core/commit/577edca8e7795436efd710d1c289ea8ea2642b0e)) - **types:** correctly infer `TypeProps` when it is `any` ([#​12073](https://redirect.github.com/vuejs/core/issues/12073)) ([57315ab](https://redirect.github.com/vuejs/core/commit/57315ab9688c9741a271d1075bbd28cbe5f71e2f)), closes [#​12058](https://redirect.github.com/vuejs/core/issues/12058) - **types:** should not intersect `PublicProps` with `Props` ([#​12077](https://redirect.github.com/vuejs/core/issues/12077)) ([6f85894](https://redirect.github.com/vuejs/core/commit/6f8589437635706f825ccec51800effba1d2bf5f)) - **types:** infer the first generic type of `Ref` correctly ([#​12094](https://redirect.github.com/vuejs/core/issues/12094)) ([c97bb84](https://redirect.github.com/vuejs/core/commit/c97bb84d0b0a16b012f886b6498e924415ed63e5)) ### [`v3.5.0`](https://redirect.github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.38...v3.5.0) #### Aggregated Features List for 3.5 (alpha to stable) ##### Reactivity - **reactivity**: Refactor reactivity system to use version counting and doubly-linked list tracking ([#​10397](https://redirect.github.com/vuejs/core/pull/10397)) ([05eb4e0](https://redirect.github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa)) - **reactivity**: Optimize array tracking ([#​9511](https://redirect.github.com/vuejs/core/pull/9511)) ([70196a4](https://redirect.github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e)) - **compiler-sfc:** enable reactive props destructure by default ([d2dac0e](https://redirect.github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d)) - **reactivity:** `onEffectCleanup` API ([2cc5615](https://redirect.github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004)), closes [#​10173](https://redirect.github.com/vuejs/core/issues/10173) - **reactivity:** add `failSilently` argument for `onScopeDispose` ([9a936aa](https://redirect.github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd)) - **reactivity/watch:** base `watch`, `getCurrentWatcher`, and `onWatcherCleanup` ([#​9927](https://redirect.github.com/vuejs/core/issues/9927)) ([205e5b5](https://redirect.github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72)) - **reactivity/watch:** add pause/resume for ReactiveEffect, EffectScope, and WatchHandle ([#​9651](https://redirect.github.com/vuejs/core/issues/9651)) ([267093c](https://redirect.github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582)) - **watch:** support passing number to `deep` option to control the watch depth ([#​9572](https://redirect.github.com/vuejs/core/issues/9572)) ([22f7d96](https://redirect.github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c)) - **types:** export `MultiWatchSources` type ([#​9563](https://redirect.github.com/vuejs/core/issues/9563)) ([998dca5](https://redirect.github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c)) - **types:** allow computed getter and setter types to be unrelated ([#​11472](https://redirect.github.com/vuejs/core/issues/11472)) ([a01675e](https://redirect.github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2)), closes [#​7271](https://redirect.github.com/vuejs/core/issues/7271) ##### SSR - **runtime-core:** `useId()` and `app.config.idPrefix` ([#​11404](https://redirect.github.com/vuejs/core/issues/11404)) ([73ef156](https://redirect.github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247)) - **hydration:** lazy hydration strategies for async components ([#​11458](https://redirect.github.com/vuejs/core/issues/11458)) ([d14a11c](https://redirect.github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4)) - **hydration:** support suppressing hydration mismatch via data-allow-mismatch ([94fb2b8](https://redirect.github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1)) ##### Custom Element - **custom-element:** `useHost()` helper ([775103a](https://redirect.github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0)) - **custom-element:** `useShadowRoot()` helper ([5a1a89b](https://redirect.github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282)), closes [#​6113](https://redirect.github.com/vuejs/core/issues/6113) [#​8195](https://redirect.github.com/vuejs/core/issues/8195) - **custom-element:** expose `this.$host` in Options API ([1ef8f46](https://redirect.github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50)) - **custom-element:** inject child components styles to custom element shadow root ([#​11517](https://redirect.github.com/vuejs/core/issues/11517)) ([56c76a8](https://redirect.github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1)), closes [#​4662](https://redirect.github.com/vuejs/core/issues/4662) [#​7941](https://redirect.github.com/vuejs/core/issues/7941) [#​7942](https://redirect.github.com/vuejs/core/issues/7942) - **custom-element:** support configurable app instance in defineCustomElement ([6758c3c](https://redirect.github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd)), closes [#​4356](https://redirect.github.com/vuejs/core/issues/4356) [#​4635](https://redirect.github.com/vuejs/core/issues/4635) - **custom-element:** support css `:host` selector by applying css vars on host element ([#​8830](https://redirect.github.com/vuejs/core/issues/8830)) ([03a9ea2](https://redirect.github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb)), closes [#​8826](https://redirect.github.com/vuejs/core/issues/8826) - **custom-element:** support emit with options ([e181bff](https://redirect.github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08)), closes [#​7605](https://redirect.github.com/vuejs/core/issues/7605) - **custom-element:** support expose on customElement ([#​6256](https://redirect.github.com/vuejs/core/issues/6256)) ([af838c1](https://redirect.github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624)), closes [#​5540](https://redirect.github.com/vuejs/core/issues/5540) - **custom-element:** support `nonce` option for injected style tags ([bb4a02a](https://redirect.github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded)), closes [#​6530](https://redirect.github.com/vuejs/core/issues/6530) - **custom-element:** support passing custom-element-specific options via 2nd argument of defineCustomElement ([60a88a2](https://redirect.github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e)) - **custom-element:** support `shadowRoot: false` in `defineCustomElement()` ([37d2ce5](https://redirect.github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e)), closes [#​4314](https://redirect.github.com/vuejs/core/issues/4314) [#​4404](https://redirect.github.com/vuejs/core/issues/4404) ##### Teleport - **teleport:** support deferred Teleport ([#​11387](https://redirect.github.com/vuejs/core/issues/11387)) ([59a3e88](https://redirect.github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef)), closes [#​2015](https://redirect.github.com/vuejs/core/issues/2015) [#​11386](https://redirect.github.com/vuejs/core/issues/11386) - **teleport/transition:** support directly nesting Teleport inside Transition ([#​6548](https://redirect.github.com/vuejs/core/issues/6548)) ([0e6e3c7](https://redirect.github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0)), closes [#​5836](https://redirect.github.com/vuejs/core/issues/5836) ##### Misc - **runtime-core:** `useTemplateRef()` ([3ba70e4](https://redirect.github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df)) - **runtime-core:** add `app.onUnmount()` for registering cleanup functions ([#​4619](https://redirect.github.com/vuejs/core/issues/4619)) ([582a3a3](https://redirect.github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e)), closes [#​4516](https://redirect.github.com/vuejs/core/issues/4516) - **runtime-core:** add `app.config.throwUnhandledErrorInProduction` ([f476b7f](https://redirect.github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0)), closes [#​7876](https://redirect.github.com/vuejs/core/issues/7876) - **runtime-dom:** Trusted Types compatibility ([#​10844](https://redirect.github.com/vuejs/core/issues/10844)) ([6d4eb94](https://redirect.github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5)) - **compiler-core:** support `Symbol` global in template expressions ([#​9069](https://redirect.github.com/vuejs/core/issues/9069)) ([a501a85](https://redirect.github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3)) - **types:** export more emit related types ([#​11017](https://redirect.github.com/vuejs/core/issues/11017)) ([189573d](https://redirect.github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733)) <!----> - **types:** add loading prop to iframe ([#​11767](https://redirect.github.com/vuejs/core/issues/11767)) ([d86fe0e](https://redirect.github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68)) ##### Internals - **reactivity:** store value cache on CustomRefs impls ([#​11539](https://redirect.github.com/vuejs/core/issues/11539)) ([e044b6e](https://redirect.github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292)) - **types:** provide internal options for directly using user types in language tools ([#​10801](https://redirect.github.com/vuejs/core/issues/10801)) ([75c8cf6](https://redirect.github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9)) - **types:** provide internal options for using refs type in language tools ([#​11492](https://redirect.github.com/vuejs/core/issues/11492)) ([5ffd1a8](https://redirect.github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76)) #### Bug Fixes - **compiler-sfc:** fix import usage check for kebab-case same name shorthand binding ([0f7c0e5](https://redirect.github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354)), closes [#​11745](https://redirect.github.com/vuejs/core/issues/11745) [#​11754](https://redirect.github.com/vuejs/core/issues/11754) - **cssVars:** correctly escape double quotes in SSR ([#​11784](https://redirect.github.com/vuejs/core/issues/11784)) ([7b5b6e0](https://redirect.github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a)), closes [#​11779](https://redirect.github.com/vuejs/core/issues/11779) - **deps:** update dependency postcss to ^8.4.44 ([#​11774](https://redirect.github.com/vuejs/core/issues/11774)) ([cb843e0](https://redirect.github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505)) - **hydration:** escape css var name to avoid mismatch ([#​11739](https://redirect.github.com/vuejs/core/issues/11739)) ([ca12e77](https://redirect.github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37)), closes [#​11735](https://redirect.github.com/vuejs/core/issues/11735) - **hydration:** handle text nodes with 0 during hydration ([#​11772](https://redirect.github.com/vuejs/core/issues/11772)) ([c756da2](https://redirect.github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5)), closes [#​11771](https://redirect.github.com/vuejs/core/issues/11771) - **reactivity:** correctly handle method calls on user-extended arrays ([#​11760](https://redirect.github.com/vuejs/core/issues/11760)) ([9817c80](https://redirect.github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd)), closes [#​11759](https://redirect.github.com/vuejs/core/issues/11759) - **runtime-dom:** avoid unnecessary prop patch for checkbox ([#​11657](https://redirect.github.com/vuejs/core/issues/11657)) ([c3ce9fe](https://redirect.github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **runtime-dom:** prevent unnecessary DOM update from v-model ([#​11656](https://redirect.github.com/vuejs/core/issues/11656)) ([b1be9bd](https://redirect.github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9)), closes [#​11647](https://redirect.github.com/vuejs/core/issues/11647) - **server-renderer:** Fix call to serverPrefetch in server renderer with an async setup ([#​10893](https://redirect.github.com/vuejs/core/issues/10893)) ([6039e25](https://redirect.github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab)) - **server-renderer:** render `className` during SSR ([#​11722](https://redirect.github.com/vuejs/core/issues/11722)) ([52cdb0f](https://redirect.github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565)) - **types/defineModel:** allow getter and setter types to be unrelated ([#​11699](https://redirect.github.com/vuejs/core/issues/11699)) ([fe07f70](https://redirect.github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96)), closes [#​11697](https://redirect.github.com/vuejs/core/issues/11697) ### [`v3.4.38`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.38) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.37...v3.4.38) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.37`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.37) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.36...v3.4.37) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.36`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.36) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.35...v3.4.36) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.35`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.35) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.34...v3.4.35) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.34`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.34) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.33...v3.4.34) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.33`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.33) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.32...v3.4.33) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.32`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.32) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.31...v3.4.32) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.31`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.31) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.30...v3.4.31) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.30`](https://redirect.github.com/vuejs/core/releases/tag/v3.4.30) [Compare Source](https://redirect.github.com/vuejs/core/compare/v3.4.29...v3.4.30) For stable releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://redirect.github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/fwouts/previewjs). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM4LjExNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
As shared on Twitter with @yyx990803, here the fix for the endless recursion that is sadly very difficult to isolate form our code-base. I will keep trying to create a simple test-case.