Renovate: Update dependency vue to v3 #6

Open
renovate wants to merge 1 commit from renovate/major-vue-monorepo into main
Collaborator

This PR contains the following updates:

Package Type Update Change
vue (source) dependencies major ^2.7.14 -> ^3.0.0

Release Notes

vuejs/core (vue)

v3.5.17

Compare Source

Bug Fixes

v3.5.16

Compare Source

Reverts

v3.5.15

Compare Source

Bug Fixes

v3.5.14

Compare Source

Bug Fixes
Features

v3.5.13

Compare Source

Bug Fixes
Performance Improvements

v3.5.12

Compare Source

Bug Fixes
Performance Improvements

v3.5.11

Compare Source

Bug Fixes

v3.5.10

Compare Source

Bug Fixes

v3.5.9

Compare Source

Bug Fixes

v3.5.8

Compare Source

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

v3.5.7

Compare Source

Bug Fixes
Performance Improvements

v3.5.6

Compare Source

Bug Fixes

v3.5.5

Compare Source

Bug Fixes
  • compiler-core: fix handling of delimiterOpen in VPre (#​11915) (706d4ac), closes #​11913
  • compiler-dom: fix stringify static edge for partially eligible chunks in cached parent (1d99d61), closes #​11879 #​11890
  • compiler-dom: should ignore leading newline in per spec (<a href="<a href="https://github.com/vuejs/core/commit/3c4bf7627649ec1e3220f8c4e4163c20d2afb367" class="commit"><code class="nohighlight">3c4bf76276</code></a>">3c4bf76</a>)</li> <li><strong>compiler-sfc:</strong> nested css supports atrule and comment (<a href="<a href="https://github.com/vuejs/core/issues/11899" class="link">https://github.com/vuejs/core/issues/11899</a>">#​11899</a>) (<a href="<a href="https://github.com/vuejs/core/commit/0e7bc717e6640644f062957ec5031506f0dab215" class="commit"><code class="nohighlight">0e7bc717e6</code></a>">0e7bc71</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11896" class="link">https://github.com/vuejs/core/issues/11896</a>">#​11896</a></li> <li><strong>custom-element:</strong> handle nested customElement mount w/ shadowRoot false (<a href="<a href="https://github.com/vuejs/core/issues/11861" class="link">https://github.com/vuejs/core/issues/11861</a>">#​11861</a>) (<a href="<a href="https://github.com/vuejs/core/commit/f2d801918841e7673ff3f048d0d895592a2f7e23" class="commit"><code class="nohighlight">f2d8019188</code></a>">f2d8019</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11851" class="link">https://github.com/vuejs/core/issues/11851</a>">#​11851</a> <a href="<a href="https://github.com/vuejs/core/issues/11871" class="link">https://github.com/vuejs/core/issues/11871</a>">#​11871</a></li> <li><strong>hmr:</strong> reload async child wrapped in Suspense + KeepAlive (<a href="<a href="https://github.com/vuejs/core/issues/11907" class="link">https://github.com/vuejs/core/issues/11907</a>">#​11907</a>) (<a href="<a href="https://github.com/vuejs/core/commit/10a2c6053bd30d160d0214bb3566f540187e6874" class="commit"><code class="nohighlight">10a2c6053b</code></a>">10a2c60</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11868" class="link">https://github.com/vuejs/core/issues/11868</a>">#​11868</a></li> <li><strong>hydration:</strong> fix mismatch of leading newline in <code><textarea></code> and <code><pre></code> (<a href="<a href="https://github.com/vuejs/core/commit/a5f3c2eb4d2e7fae93ff93ce865b269f01cc825e" class="commit"><code class="nohighlight">a5f3c2eb4d</code></a>">a5f3c2e</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11873" class="link">https://github.com/vuejs/core/issues/11873</a>">#​11873</a> <a href="<a href="https://github.com/vuejs/core/issues/11874" class="link">https://github.com/vuejs/core/issues/11874</a>">#​11874</a></li> <li><strong>reactivity:</strong> properly clean up deps, fix memory leak (<a href="<a href="https://github.com/vuejs/core/commit/8ea5d6d6981ab7febda0be43c3c92b18869c3a2a" class="commit"><code class="nohighlight">8ea5d6d698</code></a>">8ea5d6d</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11901" class="link">https://github.com/vuejs/core/issues/11901</a>">#​11901</a></li> <li><strong>runtime-core:</strong> properly update async component nested in KeepAlive (<a href="<a href="https://github.com/vuejs/core/issues/11917" class="link">https://github.com/vuejs/core/issues/11917</a>">#​11917</a>) (<a href="<a href="https://github.com/vuejs/core/commit/7fe6c795a1fc7ddcea5ad91a56141561192373ac" class="commit"><code class="nohighlight">7fe6c795a1</code></a>">7fe6c79</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11916" class="link">https://github.com/vuejs/core/issues/11916</a>">#​11916</a></li> <li><strong>TransitionGroup:</strong> not warn unkeyed text children with whitespece preserve (<a href="<a href="https://github.com/vuejs/core/issues/11888" class="link">https://github.com/vuejs/core/issues/11888</a>">#​11888</a>) (<a href="<a href="https://github.com/vuejs/core/commit/7571f20bc3d1854377a146f41d211e05bb68cd47" class="commit"><code class="nohighlight">7571f20bc3</code></a>">7571f20</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11885" class="link">https://github.com/vuejs/core/issues/11885</a>">#​11885</a></li> </ul> <h3 id="user-content-v3-5-4-https-github-com-vuejs-core-blob-head-changelog-md-354-2024-09-10" dir="auto"><a href="<a href="https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#354-2024-09-10" class="link">https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#354-2024-09-10</a>"><code>v3.5.4</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.5.3...v3.5.4" class="link">https://github.com/vuejs/core/compare/v3.5.3...v3.5.4</a>">Compare Source</a></p> <h5 id="user-content-bug-fixes-12" dir="auto">Bug Fixes</h5> <ul dir="auto"> <li><strong>compiler-sfc:</strong> correct scoped injection for nesting selector (<a href="<a href="https://github.com/vuejs/core/issues/11854" class="link">https://github.com/vuejs/core/issues/11854</a>">#​11854</a>) (<a href="<a href="https://github.com/vuejs/core/commit/b1de75ed04626b6423085dfde91fb0cb481a25e8" class="commit"><code class="nohighlight">b1de75ed04</code></a>">b1de75e</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/10567" class="link">https://github.com/vuejs/core/issues/10567</a>">#​10567</a></li> <li><strong>reactivity:</strong> fix markRaw error on already marked object (<a href="<a href="https://github.com/vuejs/core/issues/11864" class="link">https://github.com/vuejs/core/issues/11864</a>">#​11864</a>) (<a href="<a href="https://github.com/vuejs/core/commit/67d6596d40b1807b9cd8eb0d9282932ea77be3c0" class="commit"><code class="nohighlight">67d6596d40</code></a>">67d6596</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11862" class="link">https://github.com/vuejs/core/issues/11862</a>">#​11862</a></li> <li>Revert "fix: Revert "fix(reactivity): self-referencing computed should refresh"" (<a href="<a href="https://github.com/vuejs/core/commit/e596378e0be728dad7d60938449f3fa557ca2ec9" class="commit"><code class="nohighlight">e596378e0b</code></a>">e596378</a>)</li> <li><strong>runtime-core:</strong> handle shallow reactive arrays in renderList correctly (<a href="<a href="https://github.com/vuejs/core/issues/11870" class="link">https://github.com/vuejs/core/issues/11870</a>">#​11870</a>) (<a href="<a href="https://github.com/vuejs/core/commit/ced59ab8f2f2e89c13119bab3a0c25a1a1f1c3d6" class="commit"><code class="nohighlight">ced59ab8f2</code></a>">ced59ab</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11869" class="link">https://github.com/vuejs/core/issues/11869</a>">#​11869</a></li> <li><strong>types:</strong> correctly infer <code>TypeEmits</code> with both tuple and function syntax (<a href="<a href="https://github.com/vuejs/core/issues/11840" class="link">https://github.com/vuejs/core/issues/11840</a>">#​11840</a>) (<a href="<a href="https://github.com/vuejs/core/commit/dad673809929c084dcb8e42640eb7daa675d4ea4" class="commit"><code class="nohighlight">dad6738099</code></a>">dad6738</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11836" class="link">https://github.com/vuejs/core/issues/11836</a>">#​11836</a></li> </ul> <h5 id="user-content-performance-improvements-3" dir="auto">Performance Improvements</h5> <ul dir="auto"> <li><strong>reactivity:</strong> trigger deps directly instead of storing in an array first (<a href="<a href="https://github.com/vuejs/core/issues/11695" class="link">https://github.com/vuejs/core/issues/11695</a>">#​11695</a>) (<a href="<a href="https://github.com/vuejs/core/commit/f80d447c17662556e9e3f99f6d199967f4c8cf3d" class="commit"><code class="nohighlight">f80d447c17</code></a>">f80d447</a>)</li> </ul> <h3 id="user-content-v3-5-3-https-github-com-vuejs-core-blob-head-changelog-md-353-2024-09-06" dir="auto"><a href="<a href="https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06" class="link">https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06</a>"><code>v3.5.3</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.5.2...v3.5.3" class="link">https://github.com/vuejs/core/compare/v3.5.2...v3.5.3</a>">Compare Source</a></p> <h5 id="user-content-bug-fixes-13" dir="auto">Bug Fixes</h5> <ul dir="auto"> <li><strong>hydration:</strong> check __asyncHydrate presence for vue3-lazy-hydration compat (<a href="<a href="https://github.com/vuejs/core/issues/11825" class="link">https://github.com/vuejs/core/issues/11825</a>">#​11825</a>) (<a href="<a href="https://github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9" class="commit"><code class="nohighlight">8e6c337867</code></a>">8e6c337</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11793" class="link">https://github.com/vuejs/core/issues/11793</a>">#​11793</a></li> <li>Revert "fix(reactivity): self-referencing computed should refresh" (<a href="<a href="https://github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f" class="commit"><code class="nohighlight">35c760f82f</code></a>">35c760f</a>)</li> <li><strong>ssr:</strong> respect app.config.warnHandler during ssr (<a href="<a href="https://github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af" class="commit"><code class="nohighlight">bf3d9a2af4</code></a>">bf3d9a2</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11830" class="link">https://github.com/vuejs/core/issues/11830</a>">#​11830</a></li> <li><strong>Transition:</strong> handle KeepAlive child unmount in Transition out-in mode (<a href="<a href="https://github.com/vuejs/core/issues/11833" class="link">https://github.com/vuejs/core/issues/11833</a>">#​11833</a>) (<a href="<a href="https://github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62" class="commit"><code class="nohighlight">6b7901d28e</code></a>">6b7901d</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11775" class="link">https://github.com/vuejs/core/issues/11775</a>">#​11775</a></li> <li><strong>useId:</strong> make generated IDs selector compatible (<a href="<a href="https://github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710" class="commit"><code class="nohighlight">babfb4cbcb</code></a>">babfb4c</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11828" class="link">https://github.com/vuejs/core/issues/11828</a>">#​11828</a></li> </ul> <h3 id="user-content-v3-5-2-https-github-com-vuejs-core-blob-head-changelog-md-352-2024-09-05" dir="auto"><a href="<a href="https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05" class="link">https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05</a>"><code>v3.5.2</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.5.1...v3.5.2" class="link">https://github.com/vuejs/core/compare/v3.5.1...v3.5.2</a>">Compare Source</a></p> <h5 id="user-content-bug-fixes-14" dir="auto">Bug Fixes</h5> <ul dir="auto"> <li><strong>reactivity:</strong> make toRaw work on proxies created by proxyRef (<a href="<a href="https://github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d" class="commit"><code class="nohighlight">46c3ab1d71</code></a>">46c3ab1</a>)</li> <li><strong>reactivity:</strong> pass oldValue to computed getter (<a href="<a href="https://github.com/vuejs/core/issues/11813" class="link">https://github.com/vuejs/core/issues/11813</a>">#​11813</a>) (<a href="<a href="https://github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81" class="commit"><code class="nohighlight">98864a7ef5</code></a>">98864a7</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11812" class="link">https://github.com/vuejs/core/issues/11812</a>">#​11812</a></li> <li><strong>reactivity:</strong> prevent endless recursion in computed getters (<a href="<a href="https://github.com/vuejs/core/issues/11797" class="link">https://github.com/vuejs/core/issues/11797</a>">#​11797</a>) (<a href="<a href="https://github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2" class="commit"><code class="nohighlight">716275d1b1</code></a>">716275d</a>)</li> <li><strong>reactivity:</strong> self-referencing computed should refresh (<a href="<a href="https://github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2" class="commit"><code class="nohighlight">e84c4a608e</code></a>">e84c4a6</a>), closes <a href="<a href="https://github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633" class="link">https://github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633</a>">/github.com/vuejs/core/pull/11797#issuecomment-2330738633</a></li> <li><strong>scheduler:</strong> prevent duplicate jobs being queued (<a href="<a href="https://github.com/vuejs/core/issues/11826" class="link">https://github.com/vuejs/core/issues/11826</a>">#​11826</a>) (<a href="<a href="https://github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee" class="commit"><code class="nohighlight">df56cc5287</code></a>">df56cc5</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11712" class="link">https://github.com/vuejs/core/issues/11712</a>">#​11712</a> <a href="<a href="https://github.com/vuejs/core/issues/11807" class="link">https://github.com/vuejs/core/issues/11807</a>">#​11807</a></li> <li><strong>suspense:</strong> avoid updating anchor if activeBranch has not been rendered to the actual container (<a href="<a href="https://github.com/vuejs/core/issues/11818" class="link">https://github.com/vuejs/core/issues/11818</a>">#​11818</a>) (<a href="<a href="https://github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795" class="commit"><code class="nohighlight">3c0d531fa7</code></a>">3c0d531</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11806" class="link">https://github.com/vuejs/core/issues/11806</a>">#​11806</a></li> <li><strong>Transition:</strong> handle KeepAlive child unmount in Transition out-in mode (<a href="<a href="https://github.com/vuejs/core/issues/11778" class="link">https://github.com/vuejs/core/issues/11778</a>">#​11778</a>) (<a href="<a href="https://github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00" class="commit"><code class="nohighlight">3116553529</code></a>">3116553</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11775" class="link">https://github.com/vuejs/core/issues/11775</a>">#​11775</a></li> <li><strong>types:</strong> add HTMLDialogElement missing close event (<a href="<a href="https://github.com/vuejs/core/issues/11811" class="link">https://github.com/vuejs/core/issues/11811</a>">#​11811</a>) (<a href="<a href="https://github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01" class="commit"><code class="nohighlight">3634f7a4c1</code></a>">3634f7a</a>)</li> <li><strong>types:</strong> added name attribute support to details tag (<a href="<a href="https://github.com/vuejs/core/issues/11823" class="link">https://github.com/vuejs/core/issues/11823</a>">#​11823</a>) (<a href="<a href="https://github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549" class="commit"><code class="nohighlight">c74176ec7b</code></a>">c74176e</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11821" class="link">https://github.com/vuejs/core/issues/11821</a>">#​11821</a></li> <li><strong>types:</strong> fix defineComponent props inference when setup() has explicit annotation (<a href="<a href="https://github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a" class="commit"><code class="nohighlight">fca20a39aa</code></a>">fca20a3</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11803" class="link">https://github.com/vuejs/core/issues/11803</a>">#​11803</a></li> <li><strong>useTemplateRef:</strong> properly fix readonly warning in dev and ensure prod behavior consistency (<a href="<a href="https://github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc" class="commit"><code class="nohighlight">9b7797d0d1</code></a>">9b7797d</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11808" class="link">https://github.com/vuejs/core/issues/11808</a>">#​11808</a> <a href="<a href="https://github.com/vuejs/core/issues/11816" class="link">https://github.com/vuejs/core/issues/11816</a>">#​11816</a> <a href="<a href="https://github.com/vuejs/core/issues/11810" class="link">https://github.com/vuejs/core/issues/11810</a>">#​11810</a></li> </ul> <h5 id="user-content-features-1" dir="auto">Features</h5> <ul dir="auto"> <li><strong>compiler-core:</strong> parse modifiers as expression to provide location data (<a href="<a href="https://github.com/vuejs/core/issues/11819" class="link">https://github.com/vuejs/core/issues/11819</a>">#​11819</a>) (<a href="<a href="https://github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75" class="commit"><code class="nohighlight">3f13203564</code></a>">3f13203</a>)</li> </ul> <h3 id="user-content-v3-5-1-https-github-com-vuejs-core-blob-head-changelog-md-3517-2025-06-18" dir="auto"><a href="<a href="https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3517-2025-06-18" class="link">https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3517-2025-06-18</a>"><code>v3.5.1</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.5.0...v3.5.1" class="link">https://github.com/vuejs/core/compare/v3.5.0...v3.5.1</a>">Compare Source</a></p> <h5 id="user-content-bug-fixes-15" dir="auto">Bug Fixes</h5> <ul dir="auto"> <li><strong>compat:</strong> allow v-model built in modifiers on component (<a href="<a href="https://github.com/vuejs/core/issues/12654" class="link">https://github.com/vuejs/core/issues/12654</a>">#​12654</a>) (<a href="<a href="https://github.com/vuejs/core/commit/cb14b860f150c4a83bcd52cd26096b7a5aa3a2bf" class="commit"><code class="nohighlight">cb14b860f1</code></a>">cb14b86</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/12652" class="link">https://github.com/vuejs/core/issues/12652</a>">#​12652</a></li> <li><strong>compile-sfc:</strong> handle mapped types work with omit and pick (<a href="<a href="https://github.com/vuejs/core/issues/12648" class="link">https://github.com/vuejs/core/issues/12648</a>">#​12648</a>) (<a href="<a href="https://github.com/vuejs/core/commit/4eb46e443f1878199755cb73d481d318a9714392" class="commit"><code class="nohighlight">4eb46e443f</code></a>">4eb46e4</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/12647" class="link">https://github.com/vuejs/core/issues/12647</a>">#​12647</a></li> <li><strong>compiler-core:</strong> do not increase newlines in <code>InEntity</code> state (<a href="<a href="https://github.com/vuejs/core/issues/13362" class="link">https://github.com/vuejs/core/issues/13362</a>">#​13362</a>) (<a href="<a href="https://github.com/vuejs/core/commit/f05a8d613bd873b811cfdb9979ccac8382dba322" class="commit"><code class="nohighlight">f05a8d613b</code></a>">f05a8d6</a>)</li> <li><strong>compiler-core:</strong> ignore whitespace when matching adjacent v-if (<a href="<a href="https://github.com/vuejs/core/issues/12321" class="link">https://github.com/vuejs/core/issues/12321</a>">#​12321</a>) (<a href="<a href="https://github.com/vuejs/core/commit/10ebcef8c870dbc042b0ea49b1424b2e8f692145" class="commit"><code class="nohighlight">10ebcef8c8</code></a>">10ebcef</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/9173" class="link">https://github.com/vuejs/core/issues/9173</a>">#​9173</a></li> <li><strong>compiler-core:</strong> prevent comments from blocking static node hoisting (<a href="<a href="https://github.com/vuejs/core/issues/13345" class="link">https://github.com/vuejs/core/issues/13345</a>">#​13345</a>) (<a href="<a href="https://github.com/vuejs/core/commit/55dad625acd9e9ddd5a933d5e323ecfdec1a612f" class="commit"><code class="nohighlight">55dad625ac</code></a>">55dad62</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/13344" class="link">https://github.com/vuejs/core/issues/13344</a>">#​13344</a></li> <li><strong>compiler-sfc:</strong> improved type resolution for function type aliases (<a href="<a href="https://github.com/vuejs/core/issues/13452" class="link">https://github.com/vuejs/core/issues/13452</a>">#​13452</a>) (<a href="<a href="https://github.com/vuejs/core/commit/f3479aac9625f4459e650d1c0a70e73863147903" class="commit"><code class="nohighlight">f3479aac96</code></a>">f3479aa</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/13444" class="link">https://github.com/vuejs/core/issues/13444</a>">#​13444</a></li> <li><strong>custom-element:</strong> ensure configureApp is applied to async component (<a href="<a href="https://github.com/vuejs/core/issues/12607" class="link">https://github.com/vuejs/core/issues/12607</a>">#​12607</a>) (<a href="<a href="https://github.com/vuejs/core/commit/5ba1afba09c3ea56c1c17484f5d8aeae210ce52a" class="commit"><code class="nohighlight">5ba1afba09</code></a>">5ba1afb</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/12448" class="link">https://github.com/vuejs/core/issues/12448</a>">#​12448</a></li> <li><strong>custom-element:</strong> prevent injecting child styles if shadowRoot is false (<a href="<a href="https://github.com/vuejs/core/issues/12769" class="link">https://github.com/vuejs/core/issues/12769</a>">#​12769</a>) (<a href="<a href="https://github.com/vuejs/core/commit/73055d8d9578d485e3fe846726b50666e1aa56f5" class="commit"><code class="nohighlight">73055d8d95</code></a>">73055d8</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/12630" class="link">https://github.com/vuejs/core/issues/12630</a>">#​12630</a></li> <li><strong>reactivity:</strong> add <code>__v_skip</code> flag to <code>Dep</code> to prevent reactive conversion (<a href="<a href="https://github.com/vuejs/core/issues/12804" class="link">https://github.com/vuejs/core/issues/12804</a>">#​12804</a>) (<a href="<a href="https://github.com/vuejs/core/commit/e8d8f5f604e821acc46b4200d5b06979c05af1c2" class="commit"><code class="nohighlight">e8d8f5f604</code></a>">e8d8f5f</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/12803" class="link">https://github.com/vuejs/core/issues/12803</a>">#​12803</a></li> <li><strong>runtime-core:</strong> unset old ref during patching when new ref is absent (<a href="<a href="https://github.com/vuejs/core/issues/12900" class="link">https://github.com/vuejs/core/issues/12900</a>">#​12900</a>) (<a href="<a href="https://github.com/vuejs/core/commit/47ddf986021dff8de68b0da72787e53a6c19de4c" class="commit"><code class="nohighlight">47ddf98602</code></a>">47ddf98</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/12898" class="link">https://github.com/vuejs/core/issues/12898</a>">#​12898</a></li> <li><strong>slots:</strong> make cache indexes marker non-enumerable (<a href="<a href="https://github.com/vuejs/core/issues/13469" class="link">https://github.com/vuejs/core/issues/13469</a>">#​13469</a>) (<a href="<a href="https://github.com/vuejs/core/commit/919c44744bba1f0c661c87d2059c3b429611aa7e" class="commit"><code class="nohighlight">919c44744b</code></a>">919c447</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/13468" class="link">https://github.com/vuejs/core/issues/13468</a>">#​13468</a></li> <li><strong>ssr:</strong> handle initial selected state for select with v-model + v-for/v-if option (<a href="<a href="https://github.com/vuejs/core/issues/13487" class="link">https://github.com/vuejs/core/issues/13487</a>">#​13487</a>) (<a href="<a href="https://github.com/vuejs/core/commit/15520954f9f1c7f834175938a50dba5d4be0e6c4" class="commit"><code class="nohighlight">15520954f9</code></a>">1552095</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/13486" class="link">https://github.com/vuejs/core/issues/13486</a>">#​13486</a></li> <li><strong>types:</strong> typo of <code>vOnce</code> and <code>vSlot</code> (<a href="<a href="https://github.com/vuejs/core/issues/13343" class="link">https://github.com/vuejs/core/issues/13343</a>">#​13343</a>) (<a href="<a href="https://github.com/vuejs/core/commit/762fae4b57ad60602e5c84465a3bff562785b314" class="commit"><code class="nohighlight">762fae4b57</code></a>">762fae4</a>)</li> </ul> <h3 id="user-content-v3-5-0-https-github-com-vuejs-core-blob-head-changelog-md-350-2024-09-03" dir="auto"><a href="<a href="https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03" class="link">https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03</a>"><code>v3.5.0</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.38...v3.5.0" class="link">https://github.com/vuejs/core/compare/v3.4.38...v3.5.0</a>">Compare Source</a></p> <h4 id="user-content-aggregated-features-list-for-3-5-alpha-to-stable" dir="auto">Aggregated Features List for 3.5 (alpha to stable)</h4> <h5 id="user-content-reactivity" dir="auto">Reactivity</h5> <ul dir="auto"> <li><strong>reactivity</strong>: Refactor reactivity system to use version counting and doubly-linked list tracking (<a href="<a href="https://github.com/vuejs/core/pull/10397" class="link">https://github.com/vuejs/core/pull/10397</a>">#​10397</a>) (<a href="<a href="https://github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa" class="commit"><code class="nohighlight">05eb4e0fef</code></a>">05eb4e0</a>)</li> <li><strong>reactivity</strong>: Optimize array tracking (<a href="<a href="https://github.com/vuejs/core/pull/9511" class="link">https://github.com/vuejs/core/pull/9511</a>">#​9511</a>) (<a href="<a href="https://github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e" class="commit"><code class="nohighlight">70196a40cc</code></a>">70196a4</a>)</li> <li><strong>compiler-sfc:</strong> enable reactive props destructure by default (<a href="<a href="https://github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d" class="commit"><code class="nohighlight">d2dac0e359</code></a>">d2dac0e</a>)</li> <li><strong>reactivity:</strong> <code>onEffectCleanup</code> API (<a href="<a href="https://github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004" class="commit"><code class="nohighlight">2cc5615590</code></a>">2cc5615</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/10173" class="link">https://github.com/vuejs/core/issues/10173</a>">#​10173</a></li> <li><strong>reactivity:</strong> add <code>failSilently</code> argument for <code>onScopeDispose</code> (<a href="<a href="https://github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd" class="commit"><code class="nohighlight">9a936aaec4</code></a>">9a936aa</a>)</li> <li><strong>reactivity/watch:</strong> base <code>watch</code>, <code>getCurrentWatcher</code>, and <code>onWatcherCleanup</code> (<a href="<a href="https://github.com/vuejs/core/issues/9927" class="link">https://github.com/vuejs/core/issues/9927</a>">#​9927</a>) (<a href="<a href="https://github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72" class="commit"><code class="nohighlight">205e5b5e27</code></a>">205e5b5</a>)</li> <li><strong>reactivity/watch:</strong> add pause/resume for ReactiveEffect, EffectScope, and WatchHandle (<a href="<a href="https://github.com/vuejs/core/issues/9651" class="link">https://github.com/vuejs/core/issues/9651</a>">#​9651</a>) (<a href="<a href="https://github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582" class="commit"><code class="nohighlight">267093c314</code></a>">267093c</a>)</li> <li><strong>watch:</strong> support passing number to <code>deep</code> option to control the watch depth (<a href="<a href="https://github.com/vuejs/core/issues/9572" class="link">https://github.com/vuejs/core/issues/9572</a>">#​9572</a>) (<a href="<a href="https://github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c" class="commit"><code class="nohighlight">22f7d96757</code></a>">22f7d96</a>)</li> <li><strong>types:</strong> export <code>MultiWatchSources</code> type (<a href="<a href="https://github.com/vuejs/core/issues/9563" class="link">https://github.com/vuejs/core/issues/9563</a>">#​9563</a>) (<a href="<a href="https://github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c" class="commit"><code class="nohighlight">998dca59f1</code></a>">998dca5</a>)</li> <li><strong>types:</strong> allow computed getter and setter types to be unrelated (<a href="<a href="https://github.com/vuejs/core/issues/11472" class="link">https://github.com/vuejs/core/issues/11472</a>">#​11472</a>) (<a href="<a href="https://github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2" class="commit"><code class="nohighlight">a01675ef8f</code></a>">a01675e</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/7271" class="link">https://github.com/vuejs/core/issues/7271</a>">#​7271</a></li> </ul> <h5 id="user-content-ssr" dir="auto">SSR</h5> <ul dir="auto"> <li><strong>runtime-core:</strong> <code>useId()</code> and <code>app.config.idPrefix</code> (<a href="<a href="https://github.com/vuejs/core/issues/11404" class="link">https://github.com/vuejs/core/issues/11404</a>">#​11404</a>) (<a href="<a href="https://github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247" class="commit"><code class="nohighlight">73ef1561f6</code></a>">73ef156</a>)</li> <li><strong>hydration:</strong> lazy hydration strategies for async components (<a href="<a href="https://github.com/vuejs/core/issues/11458" class="link">https://github.com/vuejs/core/issues/11458</a>">#​11458</a>) (<a href="<a href="https://github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4" class="commit"><code class="nohighlight">d14a11c1cd</code></a>">d14a11c</a>)</li> <li><strong>hydration:</strong> support suppressing hydration mismatch via data-allow-mismatch (<a href="<a href="https://github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1" class="commit"><code class="nohighlight">94fb2b8106</code></a>">94fb2b8</a>)</li> </ul> <h5 id="user-content-custom-element" dir="auto">Custom Element</h5> <ul dir="auto"> <li><strong>custom-element:</strong> <code>useHost()</code> helper (<a href="<a href="https://github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0" class="commit"><code class="nohighlight">775103af37</code></a>">775103a</a>)</li> <li><strong>custom-element:</strong> <code>useShadowRoot()</code> helper (<a href="<a href="https://github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282" class="commit"><code class="nohighlight">5a1a89bd61</code></a>">5a1a89b</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/6113" class="link">https://github.com/vuejs/core/issues/6113</a>">#​6113</a> <a href="<a href="https://github.com/vuejs/core/issues/8195" class="link">https://github.com/vuejs/core/issues/8195</a>">#​8195</a></li> <li><strong>custom-element:</strong> expose <code>this.$host</code> in Options API (<a href="<a href="https://github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50" class="commit"><code class="nohighlight">1ef8f46af0</code></a>">1ef8f46</a>)</li> <li><strong>custom-element:</strong> inject child components styles to custom element shadow root (<a href="<a href="https://github.com/vuejs/core/issues/11517" class="link">https://github.com/vuejs/core/issues/11517</a>">#​11517</a>) (<a href="<a href="https://github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1" class="commit"><code class="nohighlight">56c76a8b05</code></a>">56c76a8</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/4662" class="link">https://github.com/vuejs/core/issues/4662</a>">#​4662</a> <a href="<a href="https://github.com/vuejs/core/issues/7941" class="link">https://github.com/vuejs/core/issues/7941</a>">#​7941</a> <a href="<a href="https://github.com/vuejs/core/issues/7942" class="link">https://github.com/vuejs/core/issues/7942</a>">#​7942</a></li> <li><strong>custom-element:</strong> support configurable app instance in defineCustomElement (<a href="<a href="https://github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd" class="commit"><code class="nohighlight">6758c3cd04</code></a>">6758c3c</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/4356" class="link">https://github.com/vuejs/core/issues/4356</a>">#​4356</a> <a href="<a href="https://github.com/vuejs/core/issues/4635" class="link">https://github.com/vuejs/core/issues/4635</a>">#​4635</a></li> <li><strong>custom-element:</strong> support css <code>:host</code> selector by applying css vars on host element (<a href="<a href="https://github.com/vuejs/core/issues/8830" class="link">https://github.com/vuejs/core/issues/8830</a>">#​8830</a>) (<a href="<a href="https://github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb" class="commit"><code class="nohighlight">03a9ea2b88</code></a>">03a9ea2</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/8826" class="link">https://github.com/vuejs/core/issues/8826</a>">#​8826</a></li> <li><strong>custom-element:</strong> support emit with options (<a href="<a href="https://github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08" class="commit"><code class="nohighlight">e181bff6dc</code></a>">e181bff</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/7605" class="link">https://github.com/vuejs/core/issues/7605</a>">#​7605</a></li> <li><strong>custom-element:</strong> support expose on customElement (<a href="<a href="https://github.com/vuejs/core/issues/6256" class="link">https://github.com/vuejs/core/issues/6256</a>">#​6256</a>) (<a href="<a href="https://github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624" class="commit"><code class="nohighlight">af838c1b5e</code></a>">af838c1</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/5540" class="link">https://github.com/vuejs/core/issues/5540</a>">#​5540</a></li> <li><strong>custom-element:</strong> support <code>nonce</code> option for injected style tags (<a href="<a href="https://github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded" class="commit"><code class="nohighlight">bb4a02a70c</code></a>">bb4a02a</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/6530" class="link">https://github.com/vuejs/core/issues/6530</a>">#​6530</a></li> <li><strong>custom-element:</strong> support passing custom-element-specific options via 2nd argument of defineCustomElement (<a href="<a href="https://github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e" class="commit"><code class="nohighlight">60a88a2b12</code></a>">60a88a2</a>)</li> <li><strong>custom-element:</strong> support <code>shadowRoot: false</code> in <code>defineCustomElement()</code> (<a href="<a href="https://github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e" class="commit"><code class="nohighlight">37d2ce5d8e</code></a>">37d2ce5</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/4314" class="link">https://github.com/vuejs/core/issues/4314</a>">#​4314</a> <a href="<a href="https://github.com/vuejs/core/issues/4404" class="link">https://github.com/vuejs/core/issues/4404</a>">#​4404</a></li> </ul> <h5 id="user-content-teleport" dir="auto">Teleport</h5> <ul dir="auto"> <li><strong>teleport:</strong> support deferred Teleport (<a href="<a href="https://github.com/vuejs/core/issues/11387" class="link">https://github.com/vuejs/core/issues/11387</a>">#​11387</a>) (<a href="<a href="https://github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef" class="commit"><code class="nohighlight">59a3e88903</code></a>">59a3e88</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/2015" class="link">https://github.com/vuejs/core/issues/2015</a>">#​2015</a> <a href="<a href="https://github.com/vuejs/core/issues/11386" class="link">https://github.com/vuejs/core/issues/11386</a>">#​11386</a></li> <li><strong>teleport/transition:</strong> support directly nesting Teleport inside Transition (<a href="<a href="https://github.com/vuejs/core/issues/6548" class="link">https://github.com/vuejs/core/issues/6548</a>">#​6548</a>) (<a href="<a href="https://github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0" class="commit"><code class="nohighlight">0e6e3c7eb0</code></a>">0e6e3c7</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/5836" class="link">https://github.com/vuejs/core/issues/5836</a>">#​5836</a></li> </ul> <h5 id="user-content-misc" dir="auto">Misc</h5> <ul dir="auto"> <li><strong>runtime-core:</strong> <code>useTemplateRef()</code> (<a href="<a href="https://github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df" class="commit"><code class="nohighlight">3ba70e49b5</code></a>">3ba70e4</a>)</li> <li><strong>runtime-core:</strong> add <code>app.onUnmount()</code> for registering cleanup functions (<a href="<a href="https://github.com/vuejs/core/issues/4619" class="link">https://github.com/vuejs/core/issues/4619</a>">#​4619</a>) (<a href="<a href="https://github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e" class="commit"><code class="nohighlight">582a3a382b</code></a>">582a3a3</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/4516" class="link">https://github.com/vuejs/core/issues/4516</a>">#​4516</a></li> <li><strong>runtime-core:</strong> add <code>app.config.throwUnhandledErrorInProduction</code> (<a href="<a href="https://github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0" class="commit"><code class="nohighlight">f476b7f030</code></a>">f476b7f</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/7876" class="link">https://github.com/vuejs/core/issues/7876</a>">#​7876</a></li> <li><strong>runtime-dom:</strong> Trusted Types compatibility (<a href="<a href="https://github.com/vuejs/core/issues/10844" class="link">https://github.com/vuejs/core/issues/10844</a>">#​10844</a>) (<a href="<a href="https://github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5" class="commit"><code class="nohighlight">6d4eb94853</code></a>">6d4eb94</a>)</li> <li><strong>compiler-core:</strong> support <code>Symbol</code> global in template expressions (<a href="<a href="https://github.com/vuejs/core/issues/9069" class="link">https://github.com/vuejs/core/issues/9069</a>">#​9069</a>) (<a href="<a href="https://github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3" class="commit"><code class="nohighlight">a501a85a7c</code></a>">a501a85</a>)</li> <li><strong>types:</strong> export more emit related types (<a href="<a href="https://github.com/vuejs/core/issues/11017" class="link">https://github.com/vuejs/core/issues/11017</a>">#​11017</a>) (<a href="<a href="https://github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733" class="commit"><code class="nohighlight">189573dcee</code></a>">189573d</a>)</li> </ul> <ul dir="auto"> <li><strong>types:</strong> add loading prop to iframe (<a href="<a href="https://github.com/vuejs/core/issues/11767" class="link">https://github.com/vuejs/core/issues/11767</a>">#​11767</a>) (<a href="<a href="https://github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68" class="commit"><code class="nohighlight">d86fe0ec00</code></a>">d86fe0e</a>)</li> </ul> <h5 id="user-content-internals" dir="auto">Internals</h5> <ul dir="auto"> <li><strong>reactivity:</strong> store value cache on CustomRefs impls (<a href="<a href="https://github.com/vuejs/core/issues/11539" class="link">https://github.com/vuejs/core/issues/11539</a>">#​11539</a>) (<a href="<a href="https://github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292" class="commit"><code class="nohighlight">e044b6e737</code></a>">e044b6e</a>)</li> <li><strong>types:</strong> provide internal options for directly using user types in language tools (<a href="<a href="https://github.com/vuejs/core/issues/10801" class="link">https://github.com/vuejs/core/issues/10801</a>">#​10801</a>) (<a href="<a href="https://github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9" class="commit"><code class="nohighlight">75c8cf63a1</code></a>">75c8cf6</a>)</li> <li><strong>types:</strong> provide internal options for using refs type in language tools (<a href="<a href="https://github.com/vuejs/core/issues/11492" class="link">https://github.com/vuejs/core/issues/11492</a>">#​11492</a>) (<a href="<a href="https://github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76" class="commit"><code class="nohighlight">5ffd1a8945</code></a>">5ffd1a8</a>)</li> </ul> <h4 id="user-content-bug-fixes-16" dir="auto">Bug Fixes</h4> <ul dir="auto"> <li><strong>compiler-sfc:</strong> fix import usage check for kebab-case same name shorthand binding (<a href="<a href="https://github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354" class="commit"><code class="nohighlight">0f7c0e5dc0</code></a>">0f7c0e5</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11745" class="link">https://github.com/vuejs/core/issues/11745</a>">#​11745</a> <a href="<a href="https://github.com/vuejs/core/issues/11754" class="link">https://github.com/vuejs/core/issues/11754</a>">#​11754</a></li> <li><strong>cssVars:</strong> correctly escape double quotes in SSR (<a href="<a href="https://github.com/vuejs/core/issues/11784" class="link">https://github.com/vuejs/core/issues/11784</a>">#​11784</a>) (<a href="<a href="https://github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a" class="commit"><code class="nohighlight">7b5b6e0275</code></a>">7b5b6e0</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11779" class="link">https://github.com/vuejs/core/issues/11779</a>">#​11779</a></li> <li><strong>deps:</strong> update dependency postcss to ^8.4.44 (<a href="<a href="https://github.com/vuejs/core/issues/11774" class="link">https://github.com/vuejs/core/issues/11774</a>">#​11774</a>) (<a href="<a href="https://github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505" class="commit"><code class="nohighlight">cb843e0be3</code></a>">cb843e0</a>)</li> <li><strong>hydration:</strong> escape css var name to avoid mismatch (<a href="<a href="https://github.com/vuejs/core/issues/11739" class="link">https://github.com/vuejs/core/issues/11739</a>">#​11739</a>) (<a href="<a href="https://github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37" class="commit"><code class="nohighlight">ca12e776bc</code></a>">ca12e77</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11735" class="link">https://github.com/vuejs/core/issues/11735</a>">#​11735</a></li> <li><strong>hydration:</strong> handle text nodes with 0 during hydration (<a href="<a href="https://github.com/vuejs/core/issues/11772" class="link">https://github.com/vuejs/core/issues/11772</a>">#​11772</a>) (<a href="<a href="https://github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5" class="commit"><code class="nohighlight">c756da24b2</code></a>">c756da2</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11771" class="link">https://github.com/vuejs/core/issues/11771</a>">#​11771</a></li> <li><strong>reactivity:</strong> correctly handle method calls on user-extended arrays (<a href="<a href="https://github.com/vuejs/core/issues/11760" class="link">https://github.com/vuejs/core/issues/11760</a>">#​11760</a>) (<a href="<a href="https://github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd" class="commit"><code class="nohighlight">9817c80187</code></a>">9817c80</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11759" class="link">https://github.com/vuejs/core/issues/11759</a>">#​11759</a></li> <li><strong>runtime-dom:</strong> avoid unnecessary prop patch for checkbox (<a href="<a href="https://github.com/vuejs/core/issues/11657" class="link">https://github.com/vuejs/core/issues/11657</a>">#​11657</a>) (<a href="<a href="https://github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab" class="commit"><code class="nohighlight">c3ce9fe3d8</code></a>">c3ce9fe</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11647" class="link">https://github.com/vuejs/core/issues/11647</a>">#​11647</a></li> <li><strong>runtime-dom:</strong> prevent unnecessary DOM update from v-model (<a href="<a href="https://github.com/vuejs/core/issues/11656" class="link">https://github.com/vuejs/core/issues/11656</a>">#​11656</a>) (<a href="<a href="https://github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9" class="commit"><code class="nohighlight">b1be9bd64f</code></a>">b1be9bd</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11647" class="link">https://github.com/vuejs/core/issues/11647</a>">#​11647</a></li> <li><strong>server-renderer:</strong> Fix call to serverPrefetch in server renderer with an async setup (<a href="<a href="https://github.com/vuejs/core/issues/10893" class="link">https://github.com/vuejs/core/issues/10893</a>">#​10893</a>) (<a href="<a href="https://github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab" class="commit"><code class="nohighlight">6039e25e04</code></a>">6039e25</a>)</li> <li><strong>server-renderer:</strong> render <code>className</code> during SSR (<a href="<a href="https://github.com/vuejs/core/issues/11722" class="link">https://github.com/vuejs/core/issues/11722</a>">#​11722</a>) (<a href="<a href="https://github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565" class="commit"><code class="nohighlight">52cdb0f991</code></a>">52cdb0f</a>)</li> <li><strong>types/defineModel:</strong> allow getter and setter types to be unrelated (<a href="<a href="https://github.com/vuejs/core/issues/11699" class="link">https://github.com/vuejs/core/issues/11699</a>">#​11699</a>) (<a href="<a href="https://github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96" class="commit"><code class="nohighlight">fe07f70736</code></a>">fe07f70</a>), closes <a href="<a href="https://github.com/vuejs/core/issues/11697" class="link">https://github.com/vuejs/core/issues/11697</a>">#​11697</a></li> </ul> <h3 id="user-content-v3-4-38-https-github-com-vuejs-core-releases-tag-v3-4-38" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.38" class="link">https://github.com/vuejs/core/releases/tag/v3.4.38</a>"><code>v3.4.38</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.37...v3.4.38" class="link">https://github.com/vuejs/core/compare/v3.4.37...v3.4.38</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-37-https-github-com-vuejs-core-releases-tag-v3-4-37" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.37" class="link">https://github.com/vuejs/core/releases/tag/v3.4.37</a>"><code>v3.4.37</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.36...v3.4.37" class="link">https://github.com/vuejs/core/compare/v3.4.36...v3.4.37</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-36-https-github-com-vuejs-core-releases-tag-v3-4-36" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.36" class="link">https://github.com/vuejs/core/releases/tag/v3.4.36</a>"><code>v3.4.36</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.35...v3.4.36" class="link">https://github.com/vuejs/core/compare/v3.4.35...v3.4.36</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-35-https-github-com-vuejs-core-releases-tag-v3-4-35" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.35" class="link">https://github.com/vuejs/core/releases/tag/v3.4.35</a>"><code>v3.4.35</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.34...v3.4.35" class="link">https://github.com/vuejs/core/compare/v3.4.34...v3.4.35</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-34-https-github-com-vuejs-core-releases-tag-v3-4-34" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.34" class="link">https://github.com/vuejs/core/releases/tag/v3.4.34</a>"><code>v3.4.34</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.33...v3.4.34" class="link">https://github.com/vuejs/core/compare/v3.4.33...v3.4.34</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-33-https-github-com-vuejs-core-releases-tag-v3-4-33" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.33" class="link">https://github.com/vuejs/core/releases/tag/v3.4.33</a>"><code>v3.4.33</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.32...v3.4.33" class="link">https://github.com/vuejs/core/compare/v3.4.32...v3.4.33</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-32-https-github-com-vuejs-core-releases-tag-v3-4-32" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.32" class="link">https://github.com/vuejs/core/releases/tag/v3.4.32</a>"><code>v3.4.32</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.31...v3.4.32" class="link">https://github.com/vuejs/core/compare/v3.4.31...v3.4.32</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-31-https-github-com-vuejs-core-releases-tag-v3-4-31" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.31" class="link">https://github.com/vuejs/core/releases/tag/v3.4.31</a>"><code>v3.4.31</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.30...v3.4.31" class="link">https://github.com/vuejs/core/compare/v3.4.30...v3.4.31</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-30-https-github-com-vuejs-core-releases-tag-v3-4-30" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.30" class="link">https://github.com/vuejs/core/releases/tag/v3.4.30</a>"><code>v3.4.30</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.29...v3.4.30" class="link">https://github.com/vuejs/core/compare/v3.4.29...v3.4.30</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-29-https-github-com-vuejs-core-releases-tag-v3-4-29" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.29" class="link">https://github.com/vuejs/core/releases/tag/v3.4.29</a>"><code>v3.4.29</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.28...v3.4.29" class="link">https://github.com/vuejs/core/compare/v3.4.28...v3.4.29</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-28-https-github-com-vuejs-core-releases-tag-v3-4-28" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.28" class="link">https://github.com/vuejs/core/releases/tag/v3.4.28</a>"><code>v3.4.28</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.27...v3.4.28" class="link">https://github.com/vuejs/core/compare/v3.4.27...v3.4.28</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-27-https-github-com-vuejs-core-releases-tag-v3-4-27" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.27" class="link">https://github.com/vuejs/core/releases/tag/v3.4.27</a>"><code>v3.4.27</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.26...v3.4.27" class="link">https://github.com/vuejs/core/compare/v3.4.26...v3.4.27</a>">Compare Source</a></p> <p dir="auto">For stable releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.<br> For pre-releases, please refer to <a href="<a href="https://github.com/vuejs/core/blob/minor/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/minor/CHANGELOG.md</a>">CHANGELOG.md</a> of the <code>minor</code> branch.</p> <h3 id="user-content-v3-4-26-https-github-com-vuejs-core-releases-tag-v3-4-26" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.26" class="link">https://github.com/vuejs/core/releases/tag/v3.4.26</a>"><code>v3.4.26</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.25...v3.4.26" class="link">https://github.com/vuejs/core/compare/v3.4.25...v3.4.26</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-25-https-github-com-vuejs-core-releases-tag-v3-4-25" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.25" class="link">https://github.com/vuejs/core/releases/tag/v3.4.25</a>"><code>v3.4.25</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.24...v3.4.25" class="link">https://github.com/vuejs/core/compare/v3.4.24...v3.4.25</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-24-https-github-com-vuejs-core-releases-tag-v3-4-24" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.24" class="link">https://github.com/vuejs/core/releases/tag/v3.4.24</a>"><code>v3.4.24</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.23...v3.4.24" class="link">https://github.com/vuejs/core/compare/v3.4.23...v3.4.24</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-23-https-github-com-vuejs-core-releases-tag-v3-4-23" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.23" class="link">https://github.com/vuejs/core/releases/tag/v3.4.23</a>"><code>v3.4.23</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.22...v3.4.23" class="link">https://github.com/vuejs/core/compare/v3.4.22...v3.4.23</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-22-https-github-com-vuejs-core-releases-tag-v3-4-22" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.22" class="link">https://github.com/vuejs/core/releases/tag/v3.4.22</a>"><code>v3.4.22</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.21...v3.4.22" class="link">https://github.com/vuejs/core/compare/v3.4.21...v3.4.22</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-21-https-github-com-vuejs-core-releases-tag-v3-4-21" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.21" class="link">https://github.com/vuejs/core/releases/tag/v3.4.21</a>"><code>v3.4.21</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.20...v3.4.21" class="link">https://github.com/vuejs/core/compare/v3.4.20...v3.4.21</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-20-https-github-com-vuejs-core-releases-tag-v3-4-20" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.20" class="link">https://github.com/vuejs/core/releases/tag/v3.4.20</a>"><code>v3.4.20</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.19...v3.4.20" class="link">https://github.com/vuejs/core/compare/v3.4.19...v3.4.20</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-19-https-github-com-vuejs-core-releases-tag-v3-4-19" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.19" class="link">https://github.com/vuejs/core/releases/tag/v3.4.19</a>"><code>v3.4.19</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.18...v3.4.19" class="link">https://github.com/vuejs/core/compare/v3.4.18...v3.4.19</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-18-https-github-com-vuejs-core-releases-tag-v3-4-18" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.18" class="link">https://github.com/vuejs/core/releases/tag/v3.4.18</a>"><code>v3.4.18</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.17...v3.4.18" class="link">https://github.com/vuejs/core/compare/v3.4.17...v3.4.18</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-17-https-github-com-vuejs-core-releases-tag-v3-4-17" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.17" class="link">https://github.com/vuejs/core/releases/tag/v3.4.17</a>"><code>v3.4.17</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.16...v3.4.17" class="link">https://github.com/vuejs/core/compare/v3.4.16...v3.4.17</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-16-https-github-com-vuejs-core-releases-tag-v3-4-16" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.16" class="link">https://github.com/vuejs/core/releases/tag/v3.4.16</a>"><code>v3.4.16</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.15...v3.4.16" class="link">https://github.com/vuejs/core/compare/v3.4.15...v3.4.16</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-15-https-github-com-vuejs-core-releases-tag-v3-4-15" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.15" class="link">https://github.com/vuejs/core/releases/tag/v3.4.15</a>"><code>v3.4.15</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.14...v3.4.15" class="link">https://github.com/vuejs/core/compare/v3.4.14...v3.4.15</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-14-https-github-com-vuejs-core-releases-tag-v3-4-14" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.14" class="link">https://github.com/vuejs/core/releases/tag/v3.4.14</a>"><code>v3.4.14</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.13...v3.4.14" class="link">https://github.com/vuejs/core/compare/v3.4.13...v3.4.14</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-13-https-github-com-vuejs-core-releases-tag-v3-4-13" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.13" class="link">https://github.com/vuejs/core/releases/tag/v3.4.13</a>"><code>v3.4.13</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.12...v3.4.13" class="link">https://github.com/vuejs/core/compare/v3.4.12...v3.4.13</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-12-https-github-com-vuejs-core-releases-tag-v3-4-12" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.12" class="link">https://github.com/vuejs/core/releases/tag/v3.4.12</a>"><code>v3.4.12</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.11...v3.4.12" class="link">https://github.com/vuejs/core/compare/v3.4.11...v3.4.12</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-11-https-github-com-vuejs-core-releases-tag-v3-4-11" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.11" class="link">https://github.com/vuejs/core/releases/tag/v3.4.11</a>"><code>v3.4.11</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.10...v3.4.11" class="link">https://github.com/vuejs/core/compare/v3.4.10...v3.4.11</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-10-https-github-com-vuejs-core-releases-tag-v3-4-10" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.10" class="link">https://github.com/vuejs/core/releases/tag/v3.4.10</a>"><code>v3.4.10</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.9...v3.4.10" class="link">https://github.com/vuejs/core/compare/v3.4.9...v3.4.10</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-9-https-github-com-vuejs-core-releases-tag-v3-4-9" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.9" class="link">https://github.com/vuejs/core/releases/tag/v3.4.9</a>"><code>v3.4.9</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.8...v3.4.9" class="link">https://github.com/vuejs/core/compare/v3.4.8...v3.4.9</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-8-https-github-com-vuejs-core-releases-tag-v3-4-8" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.8" class="link">https://github.com/vuejs/core/releases/tag/v3.4.8</a>"><code>v3.4.8</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.7...v3.4.8" class="link">https://github.com/vuejs/core/compare/v3.4.7...v3.4.8</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-7-https-github-com-vuejs-core-releases-tag-v3-4-7" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.7" class="link">https://github.com/vuejs/core/releases/tag/v3.4.7</a>"><code>v3.4.7</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.6...v3.4.7" class="link">https://github.com/vuejs/core/compare/v3.4.6...v3.4.7</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-6-https-github-com-vuejs-core-releases-tag-v3-4-6" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.6" class="link">https://github.com/vuejs/core/releases/tag/v3.4.6</a>"><code>v3.4.6</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.5...v3.4.6" class="link">https://github.com/vuejs/core/compare/v3.4.5...v3.4.6</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-5-https-github-com-vuejs-core-releases-tag-v3-4-5" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.5" class="link">https://github.com/vuejs/core/releases/tag/v3.4.5</a>"><code>v3.4.5</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.4...v3.4.5" class="link">https://github.com/vuejs/core/compare/v3.4.4...v3.4.5</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-4-https-github-com-vuejs-core-releases-tag-v3-4-4" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.4" class="link">https://github.com/vuejs/core/releases/tag/v3.4.4</a>"><code>v3.4.4</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.3...v3.4.4" class="link">https://github.com/vuejs/core/compare/v3.4.3...v3.4.4</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-3-https-github-com-vuejs-core-releases-tag-v3-4-3" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.3" class="link">https://github.com/vuejs/core/releases/tag/v3.4.3</a>"><code>v3.4.3</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.2...v3.4.3" class="link">https://github.com/vuejs/core/compare/v3.4.2...v3.4.3</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-2-https-github-com-vuejs-core-releases-tag-v3-4-2" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.2" class="link">https://github.com/vuejs/core/releases/tag/v3.4.2</a>"><code>v3.4.2</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.1...v3.4.2" class="link">https://github.com/vuejs/core/compare/v3.4.1...v3.4.2</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-1-https-github-com-vuejs-core-releases-tag-v3-4-1" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.1" class="link">https://github.com/vuejs/core/releases/tag/v3.4.1</a>"><code>v3.4.1</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.4.0...v3.4.1" class="link">https://github.com/vuejs/core/compare/v3.4.0...v3.4.1</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-4-0-https-github-com-vuejs-core-releases-tag-v3-4-0" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.4.0" class="link">https://github.com/vuejs/core/releases/tag/v3.4.0</a>"><code>v3.4.0</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.13...v3.4.0" class="link">https://github.com/vuejs/core/compare/v3.3.13...v3.4.0</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-13-https-github-com-vuejs-core-releases-tag-v3-3-13" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.13" class="link">https://github.com/vuejs/core/releases/tag/v3.3.13</a>"><code>v3.3.13</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.12...v3.3.13" class="link">https://github.com/vuejs/core/compare/v3.3.12...v3.3.13</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-12-https-github-com-vuejs-core-releases-tag-v3-3-12" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.12" class="link">https://github.com/vuejs/core/releases/tag/v3.3.12</a>"><code>v3.3.12</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.11...v3.3.12" class="link">https://github.com/vuejs/core/compare/v3.3.11...v3.3.12</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-11-https-github-com-vuejs-core-releases-tag-v3-3-11" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.11" class="link">https://github.com/vuejs/core/releases/tag/v3.3.11</a>"><code>v3.3.11</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.10...v3.3.11" class="link">https://github.com/vuejs/core/compare/v3.3.10...v3.3.11</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-10-https-github-com-vuejs-core-releases-tag-v3-3-10" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.10" class="link">https://github.com/vuejs/core/releases/tag/v3.3.10</a>"><code>v3.3.10</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.9...v3.3.10" class="link">https://github.com/vuejs/core/compare/v3.3.9...v3.3.10</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-9-https-github-com-vuejs-core-releases-tag-v3-3-9" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.9" class="link">https://github.com/vuejs/core/releases/tag/v3.3.9</a>"><code>v3.3.9</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.8...v3.3.9" class="link">https://github.com/vuejs/core/compare/v3.3.8...v3.3.9</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-8-https-github-com-vuejs-core-releases-tag-v3-3-8" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.8" class="link">https://github.com/vuejs/core/releases/tag/v3.3.8</a>"><code>v3.3.8</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.7...v3.3.8" class="link">https://github.com/vuejs/core/compare/v3.3.7...v3.3.8</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-7-https-github-com-vuejs-core-releases-tag-v3-3-7" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.7" class="link">https://github.com/vuejs/core/releases/tag/v3.3.7</a>"><code>v3.3.7</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.6...v3.3.7" class="link">https://github.com/vuejs/core/compare/v3.3.6...v3.3.7</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-6-https-github-com-vuejs-core-releases-tag-v3-3-6" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.6" class="link">https://github.com/vuejs/core/releases/tag/v3.3.6</a>"><code>v3.3.6</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.5...v3.3.6" class="link">https://github.com/vuejs/core/compare/v3.3.5...v3.3.6</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-5-https-github-com-vuejs-core-releases-tag-v3-3-5" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.5" class="link">https://github.com/vuejs/core/releases/tag/v3.3.5</a>"><code>v3.3.5</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.4...v3.3.5" class="link">https://github.com/vuejs/core/compare/v3.3.4...v3.3.5</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-4-https-github-com-vuejs-core-releases-tag-v3-3-4" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.4" class="link">https://github.com/vuejs/core/releases/tag/v3.3.4</a>"><code>v3.3.4</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.3...v3.3.4" class="link">https://github.com/vuejs/core/compare/v3.3.3...v3.3.4</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-3-https-github-com-vuejs-core-releases-tag-v3-3-3" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.3" class="link">https://github.com/vuejs/core/releases/tag/v3.3.3</a>"><code>v3.3.3</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.2...v3.3.3" class="link">https://github.com/vuejs/core/compare/v3.3.2...v3.3.3</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-2-https-github-com-vuejs-core-releases-tag-v3-3-2" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.2" class="link">https://github.com/vuejs/core/releases/tag/v3.3.2</a>"><code>v3.3.2</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.1...v3.3.2" class="link">https://github.com/vuejs/core/compare/v3.3.1...v3.3.2</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-1-https-github-com-vuejs-core-releases-tag-v3-3-1" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.1" class="link">https://github.com/vuejs/core/releases/tag/v3.3.1</a>"><code>v3.3.1</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.3.0...v3.3.1" class="link">https://github.com/vuejs/core/compare/v3.3.0...v3.3.1</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-3-0-https-github-com-vuejs-core-releases-tag-v3-3-0-quot-rurouni-kenshin-quot" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.3.0" class="link">https://github.com/vuejs/core/releases/tag/v3.3.0</a>"><code>v3.3.0</code></a>: "Rurouni Kenshin"</h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.47...v3.3.0" class="link">https://github.com/vuejs/core/compare/v3.2.47...v3.3.0</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://blog.vuejs.org/posts/vue-3-3" class="link">https://blog.vuejs.org/posts/vue-3-3</a>">the release blog post</a> for details.</p> <h3 id="user-content-v3-2-47-https-github-com-vuejs-core-releases-tag-v3-2-47" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.47" class="link">https://github.com/vuejs/core/releases/tag/v3.2.47</a>"><code>v3.2.47</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.46...v3.2.47" class="link">https://github.com/vuejs/core/compare/v3.2.46...v3.2.47</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-46-https-github-com-vuejs-core-releases-tag-v3-2-46" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.46" class="link">https://github.com/vuejs/core/releases/tag/v3.2.46</a>"><code>v3.2.46</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.45...v3.2.46" class="link">https://github.com/vuejs/core/compare/v3.2.45...v3.2.46</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-45-https-github-com-vuejs-core-releases-tag-v3-2-45" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.45" class="link">https://github.com/vuejs/core/releases/tag/v3.2.45</a>"><code>v3.2.45</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.44...v3.2.45" class="link">https://github.com/vuejs/core/compare/v3.2.44...v3.2.45</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-44-https-github-com-vuejs-core-releases-tag-v3-2-44" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.44" class="link">https://github.com/vuejs/core/releases/tag/v3.2.44</a>"><code>v3.2.44</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.43...v3.2.44" class="link">https://github.com/vuejs/core/compare/v3.2.43...v3.2.44</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-43-https-github-com-vuejs-core-releases-tag-v3-2-43" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.43" class="link">https://github.com/vuejs/core/releases/tag/v3.2.43</a>"><code>v3.2.43</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.42...v3.2.43" class="link">https://github.com/vuejs/core/compare/v3.2.42...v3.2.43</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-42-https-github-com-vuejs-core-releases-tag-v3-2-42" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.42" class="link">https://github.com/vuejs/core/releases/tag/v3.2.42</a>"><code>v3.2.42</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.41...v3.2.42" class="link">https://github.com/vuejs/core/compare/v3.2.41...v3.2.42</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-41-https-github-com-vuejs-core-releases-tag-v3-2-41" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.41" class="link">https://github.com/vuejs/core/releases/tag/v3.2.41</a>"><code>v3.2.41</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.40...v3.2.41" class="link">https://github.com/vuejs/core/compare/v3.2.40...v3.2.41</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-40-https-github-com-vuejs-core-releases-tag-v3-2-40" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.40" class="link">https://github.com/vuejs/core/releases/tag/v3.2.40</a>"><code>v3.2.40</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.39...v3.2.40" class="link">https://github.com/vuejs/core/compare/v3.2.39...v3.2.40</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-39-https-github-com-vuejs-core-releases-tag-v3-2-39" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.39" class="link">https://github.com/vuejs/core/releases/tag/v3.2.39</a>"><code>v3.2.39</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.38...v3.2.39" class="link">https://github.com/vuejs/core/compare/v3.2.38...v3.2.39</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-38-https-github-com-vuejs-core-releases-tag-v3-2-38" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.38" class="link">https://github.com/vuejs/core/releases/tag/v3.2.38</a>"><code>v3.2.38</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.37...v3.2.38" class="link">https://github.com/vuejs/core/compare/v3.2.37...v3.2.38</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-37-https-github-com-vuejs-core-releases-tag-v3-2-37" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.37" class="link">https://github.com/vuejs/core/releases/tag/v3.2.37</a>"><code>v3.2.37</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.36...v3.2.37" class="link">https://github.com/vuejs/core/compare/v3.2.36...v3.2.37</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-36-https-github-com-vuejs-core-releases-tag-v3-2-36" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.36" class="link">https://github.com/vuejs/core/releases/tag/v3.2.36</a>"><code>v3.2.36</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.35...v3.2.36" class="link">https://github.com/vuejs/core/compare/v3.2.35...v3.2.36</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-35-https-github-com-vuejs-core-releases-tag-v3-2-35" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.35" class="link">https://github.com/vuejs/core/releases/tag/v3.2.35</a>"><code>v3.2.35</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.34...v3.2.35" class="link">https://github.com/vuejs/core/compare/v3.2.34...v3.2.35</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-34-https-github-com-vuejs-core-releases-tag-v3-2-34" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.34" class="link">https://github.com/vuejs/core/releases/tag/v3.2.34</a>"><code>v3.2.34</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.33...v3.2.34" class="link">https://github.com/vuejs/core/compare/v3.2.33...v3.2.34</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-33-https-github-com-vuejs-core-releases-tag-v3-2-33" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.33" class="link">https://github.com/vuejs/core/releases/tag/v3.2.33</a>"><code>v3.2.33</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.32...v3.2.33" class="link">https://github.com/vuejs/core/compare/v3.2.32...v3.2.33</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-32-https-github-com-vuejs-core-releases-tag-v3-2-32" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.32" class="link">https://github.com/vuejs/core/releases/tag/v3.2.32</a>"><code>v3.2.32</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.31...v3.2.32" class="link">https://github.com/vuejs/core/compare/v3.2.31...v3.2.32</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-31-https-github-com-vuejs-core-releases-tag-v3-2-31" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.31" class="link">https://github.com/vuejs/core/releases/tag/v3.2.31</a>"><code>v3.2.31</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.30...v3.2.31" class="link">https://github.com/vuejs/core/compare/v3.2.30...v3.2.31</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-30-https-github-com-vuejs-core-releases-tag-v3-2-30" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.30" class="link">https://github.com/vuejs/core/releases/tag/v3.2.30</a>"><code>v3.2.30</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.29...v3.2.30" class="link">https://github.com/vuejs/core/compare/v3.2.29...v3.2.30</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-29-https-github-com-vuejs-core-releases-tag-v3-2-29" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.29" class="link">https://github.com/vuejs/core/releases/tag/v3.2.29</a>"><code>v3.2.29</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.28...v3.2.29" class="link">https://github.com/vuejs/core/compare/v3.2.28...v3.2.29</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-28-https-github-com-vuejs-core-releases-tag-v3-2-28" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.28" class="link">https://github.com/vuejs/core/releases/tag/v3.2.28</a>"><code>v3.2.28</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.27...v3.2.28" class="link">https://github.com/vuejs/core/compare/v3.2.27...v3.2.28</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/core/blob/main/CHANGELOG.md" class="link">https://github.com/vuejs/core/blob/main/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-27-https-github-com-vuejs-core-releases-tag-v3-2-27" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.27" class="link">https://github.com/vuejs/core/releases/tag/v3.2.27</a>"><code>v3.2.27</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.26...v3.2.27" class="link">https://github.com/vuejs/core/compare/v3.2.26...v3.2.27</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-26-https-github-com-vuejs-core-releases-tag-v3-2-26" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.26" class="link">https://github.com/vuejs/core/releases/tag/v3.2.26</a>"><code>v3.2.26</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.25...v3.2.26" class="link">https://github.com/vuejs/core/compare/v3.2.25...v3.2.26</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-25-https-github-com-vuejs-core-releases-tag-v3-2-25" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.25" class="link">https://github.com/vuejs/core/releases/tag/v3.2.25</a>"><code>v3.2.25</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.24...v3.2.25" class="link">https://github.com/vuejs/core/compare/v3.2.24...v3.2.25</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-24-https-github-com-vuejs-core-releases-tag-v3-2-24" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.24" class="link">https://github.com/vuejs/core/releases/tag/v3.2.24</a>"><code>v3.2.24</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.23...v3.2.24" class="link">https://github.com/vuejs/core/compare/v3.2.23...v3.2.24</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-23-https-github-com-vuejs-core-releases-tag-v3-2-23" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.23" class="link">https://github.com/vuejs/core/releases/tag/v3.2.23</a>"><code>v3.2.23</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.22...v3.2.23" class="link">https://github.com/vuejs/core/compare/v3.2.22...v3.2.23</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-22-https-github-com-vuejs-core-releases-tag-v3-2-22" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.22" class="link">https://github.com/vuejs/core/releases/tag/v3.2.22</a>"><code>v3.2.22</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.21...v3.2.22" class="link">https://github.com/vuejs/core/compare/v3.2.21...v3.2.22</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-21-https-github-com-vuejs-core-releases-tag-v3-2-21" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.21" class="link">https://github.com/vuejs/core/releases/tag/v3.2.21</a>"><code>v3.2.21</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.20...v3.2.21" class="link">https://github.com/vuejs/core/compare/v3.2.20...v3.2.21</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-20-https-github-com-vuejs-core-releases-tag-v3-2-20" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.20" class="link">https://github.com/vuejs/core/releases/tag/v3.2.20</a>"><code>v3.2.20</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.19...v3.2.20" class="link">https://github.com/vuejs/core/compare/v3.2.19...v3.2.20</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-19-https-github-com-vuejs-core-releases-tag-v3-2-19" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.19" class="link">https://github.com/vuejs/core/releases/tag/v3.2.19</a>"><code>v3.2.19</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.18...v3.2.19" class="link">https://github.com/vuejs/core/compare/v3.2.18...v3.2.19</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-18-https-github-com-vuejs-core-releases-tag-v3-2-18" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.18" class="link">https://github.com/vuejs/core/releases/tag/v3.2.18</a>"><code>v3.2.18</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.17...v3.2.18" class="link">https://github.com/vuejs/core/compare/v3.2.17...v3.2.18</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-17-https-github-com-vuejs-core-releases-tag-v3-2-17" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.17" class="link">https://github.com/vuejs/core/releases/tag/v3.2.17</a>"><code>v3.2.17</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.16...v3.2.17" class="link">https://github.com/vuejs/core/compare/v3.2.16...v3.2.17</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-16-https-github-com-vuejs-core-releases-tag-v3-2-16" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.16" class="link">https://github.com/vuejs/core/releases/tag/v3.2.16</a>"><code>v3.2.16</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.15...v3.2.16" class="link">https://github.com/vuejs/core/compare/v3.2.15...v3.2.16</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-15-https-github-com-vuejs-core-releases-tag-v3-2-15" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.15" class="link">https://github.com/vuejs/core/releases/tag/v3.2.15</a>"><code>v3.2.15</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.14...v3.2.15" class="link">https://github.com/vuejs/core/compare/v3.2.14...v3.2.15</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-14-https-github-com-vuejs-core-releases-tag-v3-2-14" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.14" class="link">https://github.com/vuejs/core/releases/tag/v3.2.14</a>"><code>v3.2.14</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.13...v3.2.14" class="link">https://github.com/vuejs/core/compare/v3.2.13...v3.2.14</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-13-https-github-com-vuejs-core-releases-tag-v3-2-13" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.13" class="link">https://github.com/vuejs/core/releases/tag/v3.2.13</a>"><code>v3.2.13</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.12...v3.2.13" class="link">https://github.com/vuejs/core/compare/v3.2.12...v3.2.13</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-12-https-github-com-vuejs-core-releases-tag-v3-2-12" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.12" class="link">https://github.com/vuejs/core/releases/tag/v3.2.12</a>"><code>v3.2.12</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.11...v3.2.12" class="link">https://github.com/vuejs/core/compare/v3.2.11...v3.2.12</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-11-https-github-com-vuejs-core-releases-tag-v3-2-11" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.11" class="link">https://github.com/vuejs/core/releases/tag/v3.2.11</a>"><code>v3.2.11</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.10...v3.2.11" class="link">https://github.com/vuejs/core/compare/v3.2.10...v3.2.11</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-10-https-github-com-vuejs-core-releases-tag-v3-2-10" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.10" class="link">https://github.com/vuejs/core/releases/tag/v3.2.10</a>"><code>v3.2.10</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.9...v3.2.10" class="link">https://github.com/vuejs/core/compare/v3.2.9...v3.2.10</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-9-https-github-com-vuejs-core-releases-tag-v3-2-9" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.9" class="link">https://github.com/vuejs/core/releases/tag/v3.2.9</a>"><code>v3.2.9</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.8...v3.2.9" class="link">https://github.com/vuejs/core/compare/v3.2.8...v3.2.9</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-8-https-github-com-vuejs-core-releases-tag-v3-2-8" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.8" class="link">https://github.com/vuejs/core/releases/tag/v3.2.8</a>"><code>v3.2.8</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.7...v3.2.8" class="link">https://github.com/vuejs/core/compare/v3.2.7...v3.2.8</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-7-https-github-com-vuejs-core-releases-tag-v3-2-7" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.7" class="link">https://github.com/vuejs/core/releases/tag/v3.2.7</a>"><code>v3.2.7</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.6...v3.2.7" class="link">https://github.com/vuejs/core/compare/v3.2.6...v3.2.7</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-6-https-github-com-vuejs-core-releases-tag-v3-2-6" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.6" class="link">https://github.com/vuejs/core/releases/tag/v3.2.6</a>"><code>v3.2.6</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.5...v3.2.6" class="link">https://github.com/vuejs/core/compare/v3.2.5...v3.2.6</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-5-https-github-com-vuejs-core-releases-tag-v3-2-5" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.5" class="link">https://github.com/vuejs/core/releases/tag/v3.2.5</a>"><code>v3.2.5</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.4...v3.2.5" class="link">https://github.com/vuejs/core/compare/v3.2.4...v3.2.5</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-4-https-github-com-vuejs-core-releases-tag-v3-2-4" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.4" class="link">https://github.com/vuejs/core/releases/tag/v3.2.4</a>"><code>v3.2.4</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.3...v3.2.4" class="link">https://github.com/vuejs/core/compare/v3.2.3...v3.2.4</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-3-https-github-com-vuejs-core-releases-tag-v3-2-3" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.3" class="link">https://github.com/vuejs/core/releases/tag/v3.2.3</a>"><code>v3.2.3</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.2...v3.2.3" class="link">https://github.com/vuejs/core/compare/v3.2.2...v3.2.3</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-2-https-github-com-vuejs-core-releases-tag-v3-2-2" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.2" class="link">https://github.com/vuejs/core/releases/tag/v3.2.2</a>"><code>v3.2.2</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.1...v3.2.2" class="link">https://github.com/vuejs/core/compare/v3.2.1...v3.2.2</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-1-https-github-com-vuejs-core-releases-tag-v3-2-1" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.1" class="link">https://github.com/vuejs/core/releases/tag/v3.2.1</a>"><code>v3.2.1</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.2.0...v3.2.1" class="link">https://github.com/vuejs/core/compare/v3.2.0...v3.2.1</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-2-0-https-github-com-vuejs-core-releases-tag-v3-2-0-quintessential-quintuplets" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.2.0" class="link">https://github.com/vuejs/core/releases/tag/v3.2.0</a>"><code>v3.2.0</code></a>: Quintessential Quintuplets</h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.1.5...v3.2.0" class="link">https://github.com/vuejs/core/compare/v3.1.5...v3.2.0</a>">Compare Source</a></p> <p dir="auto">Please refer to the <a href="<a href="https://blog.vuejs.org/posts/vue-3.2.html" class="link">https://blog.vuejs.org/posts/vue-3.2.html</a>">release blog post</a> and <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-1-5-https-github-com-vuejs-core-releases-tag-v3-1-5" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.1.5" class="link">https://github.com/vuejs/core/releases/tag/v3.1.5</a>"><code>v3.1.5</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.1.4...v3.1.5" class="link">https://github.com/vuejs/core/compare/v3.1.4...v3.1.5</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-1-4-https-github-com-vuejs-core-releases-tag-v3-1-4" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.1.4" class="link">https://github.com/vuejs/core/releases/tag/v3.1.4</a>"><code>v3.1.4</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.1.3...v3.1.4" class="link">https://github.com/vuejs/core/compare/v3.1.3...v3.1.4</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-1-3-https-github-com-vuejs-core-releases-tag-v3-1-3" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.1.3" class="link">https://github.com/vuejs/core/releases/tag/v3.1.3</a>"><code>v3.1.3</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.1.2...v3.1.3" class="link">https://github.com/vuejs/core/compare/v3.1.2...v3.1.3</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-1-2-https-github-com-vuejs-core-releases-tag-v3-1-2" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.1.2" class="link">https://github.com/vuejs/core/releases/tag/v3.1.2</a>"><code>v3.1.2</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.1.1...v3.1.2" class="link">https://github.com/vuejs/core/compare/v3.1.1...v3.1.2</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-1-1-https-github-com-vuejs-core-releases-tag-v3-1-1" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.1.1" class="link">https://github.com/vuejs/core/releases/tag/v3.1.1</a>"><code>v3.1.1</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.1.0...v3.1.1" class="link">https://github.com/vuejs/core/compare/v3.1.0...v3.1.1</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-1-0-https-github-com-vuejs-core-releases-tag-v3-1-0-pluto" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.1.0" class="link">https://github.com/vuejs/core/releases/tag/v3.1.0</a>"><code>v3.1.0</code></a>: Pluto</h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.11...v3.1.0" class="link">https://github.com/vuejs/core/compare/v3.0.11...v3.1.0</a>">Compare Source</a></p> <h4 id="user-content-features-2" dir="auto">Features</h4> <ul dir="auto"> <li><a href="<a href="https://v3.vuejs.org/guide/migration/migration-build.html" class="link">https://v3.vuejs.org/guide/migration/migration-build.html</a>">Migration Build</a>: a build of Vue 3 that provides Vue 2 compatible behavior. The Migration Build is intended to help migrating existing Vue 2 apps to Vue 3.</li> <li><strong>compiler-core:</strong> whitespace handling strategy (<a href="<a href="https://github.com/vuejs/vue-next/commit/dee3d6ab8b4da6653d15eb148c51d9878007f6b6" class="commit"><code class="nohighlight">dee3d6ab8b</code></a>">dee3d6a</a>)</li> <li>support component-level <code>compilerOptions</code> when using runtime compiler (<a href="<a href="https://github.com/vuejs/vue-next/commit/ce0bbe053abaf8ba18de8baf535e175048596ee5" class="commit"><code class="nohighlight">ce0bbe053a</code></a>">ce0bbe0</a>)</li> <li><strong>config:</strong> support configuring runtime compiler via <code>app.config.compilerOptions</code> (<a href="<a href="https://github.com/vuejs/vue-next/commit/091e6d67bfcc215227d78be578c68ead542481ad" class="commit"><code class="nohighlight">091e6d67bf</code></a>">091e6d6</a>)</li> <li>support casting plain element to component via is="vue:xxx" (<a href="<a href="https://github.com/vuejs/vue-next/commit/af9e6999e1779f56b5cf827b97310d8e4e1fe5ec" class="commit"><code class="nohighlight">af9e6999e1</code></a>">af9e699</a>)</li> <li><strong>devtools:</strong> improved KeepAlive support (<a href="<a href="https://github.com/vuejs/vue-next/commit/03ae3006e1e678ade4377cd10d206e8f7b4ad0cb" class="commit"><code class="nohighlight">03ae3006e1</code></a>">03ae300</a>)</li> <li><strong>devtools:</strong> performance events (<a href="<a href="https://github.com/vuejs/vue-next/commit/f7c54caeb1dac69a26b79c98409e9633a7fe4bd3" class="commit"><code class="nohighlight">f7c54caeb1</code></a>">f7c54ca</a>)</li> <li>onServerPrefetch (<a href="<a href="https://github.com/vuejs/vue-next/issues/3070" class="link">https://github.com/vuejs/vue-next/issues/3070</a>">#​3070</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/349eb0f0ad78f9cb491278eb4c7f9fe0c2e78b79" class="commit"><code class="nohighlight">349eb0f0ad</code></a>">349eb0f</a>)</li> </ul> <h4 id="user-content-performance-improvements-4" dir="auto">Performance Improvements</h4> <ul dir="auto"> <li>only trigger <code>$attrs</code> update when it has actually changed (<a href="<a href="https://github.com/vuejs/vue-next/commit/5566d39d467ebdd4e4234bc97d62600ff01ea28e" class="commit"><code class="nohighlight">5566d39d46</code></a>">5566d39</a>)</li> <li><strong>compiler:</strong> skip unncessary checks when parsing end tag (<a href="<a href="https://github.com/vuejs/vue-next/commit/048ac299f35709b25ae1bc1efa67d2abc53dbc3b" class="commit"><code class="nohighlight">048ac299f3</code></a>">048ac29</a>)</li> <li>avoid deopt for props/emits normalization when global mixins are used (<a href="<a href="https://github.com/vuejs/vue-next/commit/51d2be20386d4dc59006d31a1cc96676871027ce" class="commit"><code class="nohighlight">51d2be2038</code></a>">51d2be2</a>)</li> </ul> <h4 id="user-content-deprecations" dir="auto">Deprecations</h4> <ul dir="auto"> <li><code>app.config.isCustomElement</code> has been deprecated and should be now nested under <code>app.config.compilerOptions</code>. [<a href="<a href="https://v3.vuejs.org/api/application-config.html#compileroptions" class="link">https://v3.vuejs.org/api/application-config.html#compileroptions</a>">Docs</a>]</li> <li><code>delimiters</code> component option has been deprecated and should now be nested under the <code>compilerOptions</code> component option. [<a href="<a href="https://v3.vuejs.org/api/options-misc.html#compileroptions" class="link">https://v3.vuejs.org/api/options-misc.html#compileroptions</a>">Docs</a>]</li> <li><code>v-is</code> has been deprecated in favor of <code>is="vue:xxx"</code> [<a href="<a href="https://v3.vuejs.org/api/special-attributes.html#is" class="link">https://v3.vuejs.org/api/special-attributes.html#is</a>">Docs</a>]</li> </ul> <h4 id="user-content-minor-breaking-changes" dir="auto">Minor Breaking Changes</h4> <ul dir="auto"> <li> <p dir="auto"><code>this.$props</code> and the <code>props</code> object passed to <code>setup()</code> now always contain all the keys for declared props, even for props that are absent (<a href="<a href="https://github.com/vuejs/vue-next/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20" class="commit"><code class="nohighlight">4fe4de0a49</code></a>">4fe4de0</a>). This has always been the behavior in Vue 2 and is therefore considered a fix (see reasoning in <a href="<a href="https://github.com/vuejs/vue-next/issues/3288" class="link">https://github.com/vuejs/vue-next/issues/3288</a>">#​3288</a>). However, this could break Vue 3 code that relied on the keys for prop absence checks. The workaround is to use a Symbol default value for props that need absence checks:</p> <pre class="code-block"><code class="chroma language-js display"><span class="kr">const</span> <span class="nx">isAbsent</span> <span class="o">=</span> <span class="nx">Symbol</span><span class="p">()</span> <span class="kr">export</span> <span class="k">default</span> <span class="p">{</span> <span class="nx">props</span><span class="o">:</span> <span class="p">{</span> <span class="nx">foo</span><span class="o">:</span> <span class="p">{</span> <span class="k">default</span><span class="o">:</span> <span class="nx">isAbsent</span> <span class="p">}</span> <span class="p">},</span> <span class="nx">setup</span><span class="p">(</span><span class="nx">props</span><span class="p">)</span> <span class="p">{</span> <span class="k">if</span> <span class="p">(</span><span class="nx">props</span><span class="p">.</span><span class="nx">foo</span> <span class="o">===</span> <span class="nx">isAbsent</span><span class="p">)</span> <span class="p">{</span> <span class="c1">// foo is absent </span><span class="c1"></span> <span class="p">}</span> <span class="p">}</span> <span class="p">}</span> </code></pre></li> <li> <p dir="auto"><code>optionMergeStrategies</code> functions no longer receive<br> the component instance as the 3rd argument. The argument was technically<br> internal in Vue 2 and only used for generating warnings, and should not<br> be needed in userland code. This removal enables much more efficient<br> caching of option merging.</p> </li> </ul> <h4 id="user-content-bug-fixes-17" dir="auto">Bug Fixes</h4> <ul dir="auto"> <li><strong>compat:</strong> revert private properties on $options in comapt mode (<a href="<a href="https://github.com/vuejs/vue-next/commit/ad844cf1e767137a713f715779969ffb94207c7a" class="commit"><code class="nohighlight">ad844cf1e7</code></a>">ad844cf</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3883" class="link">https://github.com/vuejs/vue-next/issues/3883</a>">#​3883</a></li> <li><strong>runtime-core:</strong> fix fragment update inside de-opt slots (<a href="<a href="https://github.com/vuejs/vue-next/commit/5bce2ae723d43f23ccfac961f29b80fc870fba1f" class="commit"><code class="nohighlight">5bce2ae723</code></a>">5bce2ae</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3881" class="link">https://github.com/vuejs/vue-next/issues/3881</a>">#​3881</a></li> </ul> <ul dir="auto"> <li><strong>compat:</strong> fix deep data merge with extended constructor (<a href="<a href="https://github.com/vuejs/vue-next/commit/c7efb967ca5ab42ea2713331b8e53ae5c2746a78" class="commit"><code class="nohighlight">c7efb967ca</code></a>">c7efb96</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3852" class="link">https://github.com/vuejs/vue-next/issues/3852</a>">#​3852</a></li> <li><strong>compiler-sfc:</strong> fix style injection when using normal script + setup (<a href="<a href="https://github.com/vuejs/vue-next/commit/8b94464a3b9759a7a98c23efeafc7a9359c9807d" class="commit"><code class="nohighlight">8b94464a3b</code></a>">8b94464</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3688" class="link">https://github.com/vuejs/vue-next/issues/3688</a>">#​3688</a></li> <li><strong>compiler-sfc:</strong> fix template expression assignment codegen for script setup let refs (<a href="<a href="https://github.com/vuejs/vue-next/issues/3626" class="link">https://github.com/vuejs/vue-next/issues/3626</a>">#​3626</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/2c7bd428011e027efa8f66487d2269c8dd79a2b0" class="commit"><code class="nohighlight">2c7bd42801</code></a>">2c7bd42</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3625" class="link">https://github.com/vuejs/vue-next/issues/3625</a>">#​3625</a></li> <li><strong>runtime-core:</strong> align option merge behavior with Vue 2 (<a href="<a href="https://github.com/vuejs/vue-next/commit/e2ca67b59a4de57a9bce8d3394263ba493a35a39" class="commit"><code class="nohighlight">e2ca67b59a</code></a>">e2ca67b</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3566" class="link">https://github.com/vuejs/vue-next/issues/3566</a>">#​3566</a> <a href="<a href="https://github.com/vuejs/vue-next/issues/2791" class="link">https://github.com/vuejs/vue-next/issues/2791</a>">#​2791</a></li> <li><strong>runtime-dom/v-model:</strong> only set selectedIndex when the value changes (<a href="<a href="https://github.com/vuejs/vue-next/issues/3845" class="link">https://github.com/vuejs/vue-next/issues/3845</a>">#​3845</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/ecd97ee6e465ec5c841d58d96833fece4e899785" class="commit"><code class="nohighlight">ecd97ee6e4</code></a>">ecd97ee</a>)</li> <li><strong>suspense:</strong> fix suspense regression for errored template component (<a href="<a href="https://github.com/vuejs/vue-next/commit/44996d1a0a2de1bc6b3abfac6b2b8b3c969d4e01" class="commit"><code class="nohighlight">44996d1a0a</code></a>">44996d1</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3857" class="link">https://github.com/vuejs/vue-next/issues/3857</a>">#​3857</a></li> <li><strong>watch:</strong> avoid traversing objects that are marked non-reactive (<a href="<a href="https://github.com/vuejs/vue-next/commit/9acc9a1fa838bdcdf673d2f7cc3f996b2b69ffbc" class="commit"><code class="nohighlight">9acc9a1fa8</code></a>">9acc9a1</a>)</li> <li><strong>compiler-core:</strong> improve the isMemberExpression function (<a href="<a href="https://github.com/vuejs/vue-next/issues/3675" class="link">https://github.com/vuejs/vue-next/issues/3675</a>">#​3675</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/9b2e8940176b3b75fa052b3c3e9eeaabc46a95e6" class="commit"><code class="nohighlight">9b2e894017</code></a>">9b2e894</a>)</li> <li><strong>compiler-dom:</strong> fix in-browser attribute value decoding w/ html tags (<a href="<a href="https://github.com/vuejs/vue-next/commit/669037277b03bb8e67f517faf2811a8668ea86d6" class="commit"><code class="nohighlight">669037277b</code></a>">6690372</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3001" class="link">https://github.com/vuejs/vue-next/issues/3001</a>">#​3001</a></li> <li><strong>compiler-sfc:</strong> correctly remove parens used for wrapping (<a href="<a href="https://github.com/vuejs/vue-next/issues/3582" class="link">https://github.com/vuejs/vue-next/issues/3582</a>">#​3582</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/6bfb50aff98038a1f854ce24733f545eec2ee796" class="commit"><code class="nohighlight">6bfb50aff9</code></a>">6bfb50a</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3581" class="link">https://github.com/vuejs/vue-next/issues/3581</a>">#​3581</a></li> <li><strong>reactivity:</strong> ensure computed always expose value (<a href="<a href="https://github.com/vuejs/vue-next/commit/03a7a73148a9e210a7889c7a2ecf925338735c70" class="commit"><code class="nohighlight">03a7a73148</code></a>">03a7a73</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3099" class="link">https://github.com/vuejs/vue-next/issues/3099</a>">#​3099</a> <a href="<a href="https://github.com/vuejs/vue-next/issues/910" class="link">https://github.com/vuejs/vue-next/issues/910</a>">#​910</a></li> <li><strong>runtime-core:</strong> fix cases of reused children arrays in render functions (<a href="<a href="https://github.com/vuejs/vue-next/issues/3670" class="link">https://github.com/vuejs/vue-next/issues/3670</a>">#​3670</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/a641eb201fe51620d50884b988f6fefc3e21a20b" class="commit"><code class="nohighlight">a641eb201f</code></a>">a641eb2</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3666" class="link">https://github.com/vuejs/vue-next/issues/3666</a>">#​3666</a></li> <li><strong>runtime-core:</strong> fix resolving inheritAttrs from mixins (<a href="<a href="https://github.com/vuejs/vue-next/issues/3742" class="link">https://github.com/vuejs/vue-next/issues/3742</a>">#​3742</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/d6607c9864376fbe17899f3d35fc7b097670a1b1" class="commit"><code class="nohighlight">d6607c9864</code></a>">d6607c9</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3741" class="link">https://github.com/vuejs/vue-next/issues/3741</a>">#​3741</a></li> <li><strong>runtime-core:</strong> should disable tracking inside directive lifecycle hooks (<a href="<a href="https://github.com/vuejs/vue-next/issues/3699" class="link">https://github.com/vuejs/vue-next/issues/3699</a>">#​3699</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/ff50e8d78c033252c4ce7ffddb8069b3ddae5936" class="commit"><code class="nohighlight">ff50e8d78c</code></a>">ff50e8d</a>)</li> <li><strong>runtime-core:</strong> stricter compat root mount check (<a href="<a href="https://github.com/vuejs/vue-next/commit/32e21333dd1197a978cf42802729b2133bda5a0b" class="commit"><code class="nohighlight">32e21333dd</code></a>">32e2133</a>)</li> <li><strong>runtime-dom:</strong> should remove attribute when binding <code>null</code> to <code>value</code> (<a href="<a href="https://github.com/vuejs/vue-next/issues/3564" class="link">https://github.com/vuejs/vue-next/issues/3564</a>">#​3564</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/e3f5dcb99bf42fed48d995438e459203dc3f6ed0" class="commit"><code class="nohighlight">e3f5dcb99b</code></a>">e3f5dcb</a>)</li> <li><strong>suspense:</strong> fix suspense patching in optimized mode (<a href="<a href="https://github.com/vuejs/vue-next/commit/9f24195d2ce24184ccdc5020793dd9423f0d3148" class="commit"><code class="nohighlight">9f24195d2c</code></a>">9f24195</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3828" class="link">https://github.com/vuejs/vue-next/issues/3828</a>">#​3828</a></li> <li><strong>transition:</strong> fix higher order transition components with merged listeners (<a href="<a href="https://github.com/vuejs/vue-next/commit/071986a2c6459fd99b91a48793a9ab6d6618b52d" class="commit"><code class="nohighlight">071986a2c6</code></a>">071986a</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3227" class="link">https://github.com/vuejs/vue-next/issues/3227</a>">#​3227</a></li> <li><strong>keep-alive:</strong> include/exclude should work with async component (<a href="<a href="https://github.com/vuejs/vue-next/issues/3531" class="link">https://github.com/vuejs/vue-next/issues/3531</a>">#​3531</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/9e3708ca754c0ecd66dbb45984f8d103772bd55c" class="commit"><code class="nohighlight">9e3708ca75</code></a>">9e3708c</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3529" class="link">https://github.com/vuejs/vue-next/issues/3529</a>">#​3529</a></li> <li><strong>runtime-core:</strong> properly check forwarded slots type (<a href="<a href="https://github.com/vuejs/vue-next/issues/3781" class="link">https://github.com/vuejs/vue-next/issues/3781</a>">#​3781</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/e8ddf8608021785c7b1b6f4211c633b40f26ddfc" class="commit"><code class="nohighlight">e8ddf86080</code></a>">e8ddf86</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3779" class="link">https://github.com/vuejs/vue-next/issues/3779</a>">#​3779</a></li> <li><strong>runtime-core:</strong> should not track dynamic children when the user calls a compiled slot inside template expression (<a href="<a href="https://github.com/vuejs/vue-next/issues/3554" class="link">https://github.com/vuejs/vue-next/issues/3554</a>">#​3554</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/201060717d4498b4b7933bf8a8513866ab9347e4" class="commit"><code class="nohighlight">201060717d</code></a>">2010607</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3548" class="link">https://github.com/vuejs/vue-next/issues/3548</a>">#​3548</a> <a href="<a href="https://github.com/vuejs/vue-next/issues/3569" class="link">https://github.com/vuejs/vue-next/issues/3569</a>">#​3569</a></li> <li><strong>runtime-core/teleport:</strong> ensure the nested teleport can be unmounted correctly (<a href="<a href="https://github.com/vuejs/vue-next/issues/3629" class="link">https://github.com/vuejs/vue-next/issues/3629</a>">#​3629</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/4e3f82f6835472650741896e19fbdc116d86d1eb" class="commit"><code class="nohighlight">4e3f82f683</code></a>">4e3f82f</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3623" class="link">https://github.com/vuejs/vue-next/issues/3623</a>">#​3623</a></li> <li><strong>scheduler:</strong> handle preFlush cb queued inside postFlush cb (<a href="<a href="https://github.com/vuejs/vue-next/commit/b57e995edd29eff685aeaf40712e0e029073d1cb" class="commit"><code class="nohighlight">b57e995edd</code></a>">b57e995</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3806" class="link">https://github.com/vuejs/vue-next/issues/3806</a>">#​3806</a></li> <li><strong>ssr:</strong> handle hydrated async component unmounted before resolve (<a href="<a href="https://github.com/vuejs/vue-next/commit/b46a4dccf656280f9905e1bdc47022cb01c062c3" class="commit"><code class="nohighlight">b46a4dccf6</code></a>">b46a4dc</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3787" class="link">https://github.com/vuejs/vue-next/issues/3787</a>">#​3787</a></li> <li><strong>watch:</strong> should not leak this context to setup watch getters (<a href="<a href="https://github.com/vuejs/vue-next/commit/1526f94edf023899490d7c58afcf36b051e25b6c" class="commit"><code class="nohighlight">1526f94edf</code></a>">1526f94</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3603" class="link">https://github.com/vuejs/vue-next/issues/3603</a>">#​3603</a></li> <li><strong>compat:</strong> avoid accidentally delete the modelValue prop (<a href="<a href="https://github.com/vuejs/vue-next/issues/3772" class="link">https://github.com/vuejs/vue-next/issues/3772</a>">#​3772</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/4f17be7b1ce4872ded085a36b95c1897d8c1f299" class="commit"><code class="nohighlight">4f17be7b1c</code></a>">4f17be7</a>)</li> <li><strong>compat:</strong> enum coercion warning (<a href="<a href="https://github.com/vuejs/vue-next/issues/3755" class="link">https://github.com/vuejs/vue-next/issues/3755</a>">#​3755</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/f01aadf2a16a7bef422eb039d7b157bef9ad32fc" class="commit"><code class="nohighlight">f01aadf2a1</code></a>">f01aadf</a>)</li> <li><strong>compiler-core:</strong> fix whitespace management for slots with whitespace: 'preserve' (<a href="<a href="https://github.com/vuejs/vue-next/issues/3767" class="link">https://github.com/vuejs/vue-next/issues/3767</a>">#​3767</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/47da92146c9fb3fa6b1e250e064ca49b74d815e4" class="commit"><code class="nohighlight">47da92146c</code></a>">47da921</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3766" class="link">https://github.com/vuejs/vue-next/issues/3766</a>">#​3766</a></li> <li><strong>compiler-dom:</strong> comments in the v-if branchs should be ignored when used in Transition (<a href="<a href="https://github.com/vuejs/vue-next/issues/3622" class="link">https://github.com/vuejs/vue-next/issues/3622</a>">#​3622</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/7c74feb3dc6beae7ff3ad22193be3b5a0f4d8aac" class="commit"><code class="nohighlight">7c74feb3dc</code></a>">7c74feb</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3619" class="link">https://github.com/vuejs/vue-next/issues/3619</a>">#​3619</a></li> <li><strong>compiler-sfc:</strong> support tsx in setup script (<a href="<a href="https://github.com/vuejs/vue-next/issues/3825" class="link">https://github.com/vuejs/vue-next/issues/3825</a>">#​3825</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/01e8ba8f873afe3857a23fb68b44fdc057e31781" class="commit"><code class="nohighlight">01e8ba8f87</code></a>">01e8ba8</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3808" class="link">https://github.com/vuejs/vue-next/issues/3808</a>">#​3808</a></li> <li><strong>compiler-ssr:</strong> disable hoisting in compiler-ssr (<a href="<a href="https://github.com/vuejs/vue-next/commit/3ef1fcc8590da186664197a0a82e7856011c1693" class="commit"><code class="nohighlight">3ef1fcc859</code></a>">3ef1fcc</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3536" class="link">https://github.com/vuejs/vue-next/issues/3536</a>">#​3536</a></li> <li><strong>devtools:</strong> send update to component owning the slot (<a href="<a href="https://github.com/vuejs/vue-next/commit/1355ee27a65d466bfe8f3a7ba99aa2213e25bc50" class="commit"><code class="nohighlight">1355ee27a6</code></a>">1355ee2</a>)</li> <li><strong>runtime-core:</strong> avoid double-setting props when casting (<a href="<a href="https://github.com/vuejs/vue-next/commit/0255be2f4b3581bfdf4af9368dcd6c1a27a5ee03" class="commit"><code class="nohighlight">0255be2f4b</code></a>">0255be2</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3371" class="link">https://github.com/vuejs/vue-next/issues/3371</a>">#​3371</a> <a href="<a href="https://github.com/vuejs/vue-next/issues/3384" class="link">https://github.com/vuejs/vue-next/issues/3384</a>">#​3384</a></li> <li><strong>runtime-core:</strong> avoid the proxy object polluting the slots of the internal instance (<a href="<a href="https://github.com/vuejs/vue-next/issues/3698" class="link">https://github.com/vuejs/vue-next/issues/3698</a>">#​3698</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/4ce0df6ef1a31ee45402e61e01777e3836b2c223" class="commit"><code class="nohighlight">4ce0df6ef1</code></a>">4ce0df6</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3695" class="link">https://github.com/vuejs/vue-next/issues/3695</a>">#​3695</a></li> <li><strong>types:</strong> declared prop keys should always exist in <code>props</code> argument (<a href="<a href="https://github.com/vuejs/vue-next/issues/3726" class="link">https://github.com/vuejs/vue-next/issues/3726</a>">#​3726</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/9b160b940555abb6b6ce722fddbd9649ee196f7b" class="commit"><code class="nohighlight">9b160b9405</code></a>">9b160b9</a>)</li> <li><strong>types/reactivity:</strong> error TS4058 caused by <code>RefSymbol</code> (<a href="<a href="https://github.com/vuejs/vue-next/issues/2548" class="link">https://github.com/vuejs/vue-next/issues/2548</a>">#​2548</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/90aa8358129f25826bfc4c234325c1442aef8d55" class="commit"><code class="nohighlight">90aa835812</code></a>">90aa835</a>)</li> <li><strong>compat:</strong> correctly merge lifecycle hooks when using Vue.extend (<a href="<a href="https://github.com/vuejs/vue-next/issues/3762" class="link">https://github.com/vuejs/vue-next/issues/3762</a>">#​3762</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/2bfb8b574d39a20a0e4da2ff4f2c007680ee2038" class="commit"><code class="nohighlight">2bfb8b574d</code></a>">2bfb8b5</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3761" class="link">https://github.com/vuejs/vue-next/issues/3761</a>">#​3761</a></li> <li><strong>compiler-core:</strong> bail out to array children when the element has custom directives + only one text child node (<a href="<a href="https://github.com/vuejs/vue-next/issues/3757" class="link">https://github.com/vuejs/vue-next/issues/3757</a>">#​3757</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/a56ab148fd1f2702e699d31cdc854800c8283fde" class="commit"><code class="nohighlight">a56ab148fd</code></a>">a56ab14</a>)</li> <li><strong>compat:</strong> handle and warn config.optionMergeStrategies (<a href="<a href="https://github.com/vuejs/vue-next/commit/94e69fd3896214da6ff8b9fb09ad942c598053c7" class="commit"><code class="nohighlight">94e69fd389</code></a>">94e69fd</a>)</li> <li><strong>compiler-core:</strong> preserve comment content in production when comments option is enabled (<a href="<a href="https://github.com/vuejs/vue-next/commit/e4862544310a4187dfc8b3a49944700888bb60e3" class="commit"><code class="nohighlight">e486254431</code></a>">e486254</a>)</li> <li><strong>hmr:</strong> don't remove __file key from component type (<a href="<a href="https://github.com/vuejs/vue-next/commit/9db3cbbfc1a072675a8d0e53edf3869af115dc60" class="commit"><code class="nohighlight">9db3cbbfc1</code></a>">9db3cbb</a>)</li> <li><strong>hydration:</strong> fix update before async component is hydrated (<a href="<a href="https://github.com/vuejs/vue-next/issues/3563" class="link">https://github.com/vuejs/vue-next/issues/3563</a>">#​3563</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/c8d96837b871d7ad34cd73b4669338be5fdd59fd" class="commit"><code class="nohighlight">c8d96837b8</code></a>">c8d9683</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3560" class="link">https://github.com/vuejs/vue-next/issues/3560</a>">#​3560</a></li> <li><strong>reactivity:</strong> fix tracking for readonly + reactive Map (<a href="<a href="https://github.com/vuejs/vue-next/issues/3604" class="link">https://github.com/vuejs/vue-next/issues/3604</a>">#​3604</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/5036c51cb78435c145ffea5e82cd620d0d056ff7" class="commit"><code class="nohighlight">5036c51cb7</code></a>">5036c51</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3602" class="link">https://github.com/vuejs/vue-next/issues/3602</a>">#​3602</a></li> <li><strong>runtime-core:</strong> ensure declare prop keys are always present (<a href="<a href="https://github.com/vuejs/vue-next/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20" class="commit"><code class="nohighlight">4fe4de0a49</code></a>">4fe4de0</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3288" class="link">https://github.com/vuejs/vue-next/issues/3288</a>">#​3288</a></li> <li><strong>runtime-core:</strong> watching multiple sources: computed (<a href="<a href="https://github.com/vuejs/vue-next/issues/3066" class="link">https://github.com/vuejs/vue-next/issues/3066</a>">#​3066</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/e7300eb47960a153311d568d7976ac5256eb6297" class="commit"><code class="nohighlight">e7300eb479</code></a>">e7300eb</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3068" class="link">https://github.com/vuejs/vue-next/issues/3068</a>">#​3068</a></li> <li><strong>Teleport:</strong> avoid changing the reference of vnode.dynamicChildren (<a href="<a href="https://github.com/vuejs/vue-next/issues/3642" class="link">https://github.com/vuejs/vue-next/issues/3642</a>">#​3642</a>) (<a href="<a href="https://github.com/vuejs/vue-next/commit/43f78151bfdff2103a9be25e66e3f3be68d03a08" class="commit"><code class="nohighlight">43f78151bf</code></a>">43f7815</a>), closes <a href="<a href="https://github.com/vuejs/vue-next/issues/3641" class="link">https://github.com/vuejs/vue-next/issues/3641</a>">#​3641</a></li> <li><strong>watch:</strong> avoid traversing non-plain objects (<a href="<a href="https://github.com/vuejs/vue-next/commit/62b8f4a39ca56b48a8c8fdf7e200cb80735e16ae" class="commit"><code class="nohighlight">62b8f4a39c</code></a>">62b8f4a</a>)</li> <li><strong>watch:</strong> this.$watch should support watching keypath (<a href="<a href="https://github.com/vuejs/vue-next/commit/870f2a7ba35245fd8c008d2ff666ea130a7e4704" class="commit"><code class="nohighlight">870f2a7ba3</code></a>">870f2a7</a>)</li> </ul> <h3 id="user-content-v3-0-11-https-github-com-vuejs-core-releases-tag-v3-0-11" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.11" class="link">https://github.com/vuejs/core/releases/tag/v3.0.11</a>"><code>v3.0.11</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.10...v3.0.11" class="link">https://github.com/vuejs/core/compare/v3.0.10...v3.0.11</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-10-https-github-com-vuejs-core-releases-tag-v3-0-10" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.10" class="link">https://github.com/vuejs/core/releases/tag/v3.0.10</a>"><code>v3.0.10</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.9...v3.0.10" class="link">https://github.com/vuejs/core/compare/v3.0.9...v3.0.10</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-9-https-github-com-vuejs-core-releases-tag-v3-0-9" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.9" class="link">https://github.com/vuejs/core/releases/tag/v3.0.9</a>"><code>v3.0.9</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.8...v3.0.9" class="link">https://github.com/vuejs/core/compare/v3.0.8...v3.0.9</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-8-https-github-com-vuejs-core-releases-tag-v3-0-8" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.8" class="link">https://github.com/vuejs/core/releases/tag/v3.0.8</a>"><code>v3.0.8</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.7...v3.0.8" class="link">https://github.com/vuejs/core/compare/v3.0.7...v3.0.8</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-7-https-github-com-vuejs-core-releases-tag-v3-0-7" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.7" class="link">https://github.com/vuejs/core/releases/tag/v3.0.7</a>"><code>v3.0.7</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.6...v3.0.7" class="link">https://github.com/vuejs/core/compare/v3.0.6...v3.0.7</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-6-https-github-com-vuejs-core-releases-tag-v3-0-6" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.6" class="link">https://github.com/vuejs/core/releases/tag/v3.0.6</a>"><code>v3.0.6</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.5...v3.0.6" class="link">https://github.com/vuejs/core/compare/v3.0.5...v3.0.6</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-5-https-github-com-vuejs-core-releases-tag-v3-0-5" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.5" class="link">https://github.com/vuejs/core/releases/tag/v3.0.5</a>"><code>v3.0.5</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.4...v3.0.5" class="link">https://github.com/vuejs/core/compare/v3.0.4...v3.0.5</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-4-https-github-com-vuejs-core-releases-tag-v3-0-4" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.4" class="link">https://github.com/vuejs/core/releases/tag/v3.0.4</a>"><code>v3.0.4</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.3...v3.0.4" class="link">https://github.com/vuejs/core/compare/v3.0.3...v3.0.4</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-3-https-github-com-vuejs-core-releases-tag-v3-0-3" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.3" class="link">https://github.com/vuejs/core/releases/tag/v3.0.3</a>"><code>v3.0.3</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.2...v3.0.3" class="link">https://github.com/vuejs/core/compare/v3.0.2...v3.0.3</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-2-https-github-com-vuejs-core-releases-tag-v3-0-2" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.2" class="link">https://github.com/vuejs/core/releases/tag/v3.0.2</a>"><code>v3.0.2</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.1...v3.0.2" class="link">https://github.com/vuejs/core/compare/v3.0.1...v3.0.2</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-1-https-github-com-vuejs-core-releases-tag-v3-0-1" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.1" class="link">https://github.com/vuejs/core/releases/tag/v3.0.1</a>"><code>v3.0.1</code></a></h3> <p dir="auto"><a href="<a href="https://github.com/vuejs/core/compare/v3.0.0...v3.0.1" class="link">https://github.com/vuejs/core/compare/v3.0.0...v3.0.1</a>">Compare Source</a></p> <p dir="auto">Please refer to <a href="<a href="https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md" class="link">https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md</a>">CHANGELOG.md</a> for details.</p> <h3 id="user-content-v3-0-0-https-github-com-vuejs-core-releases-tag-v3-0-0-one-piece" dir="auto"><a href="<a href="https://github.com/vuejs/core/releases/tag/v3.0.0" class="link">https://github.com/vuejs/core/releases/tag/v3.0.0</a>"><code>v3.0.0</code></a>: One Piece</h3> <p align="center"> <img width="200" src="<a href="https://user-images.githubusercontent.com/499550/93624428-53932780-f9ae-11ea-8d16-af949e16a09f.png" class="link">https://user-images.githubusercontent.com/499550/93624428-53932780-f9ae-11ea-8d16-af949e16a09f.png</a>"> </p> <p dir="auto">Today we are proud to announce the official release of Vue.js 3.0 "One Piece". This new major version of the framework provides improved performance, smaller bundle sizes, better TypeScript integration, new APIs for tackling large scale use cases, and a solid foundation for long-term future iterations of the framework.</p> <p dir="auto">The 3.0 release represents over 2 years of development efforts, featuring <a href="<a href="https://github.com/vuejs/rfcs/tree/master/active-rfcs" class="link">https://github.com/vuejs/rfcs/tree/master/active-rfcs</a>">30+ RFCs</a>, 2,600+ commits, <a href="<a href="https://github.com/vuejs/vue-next/pulls?q=is%3Apr+is%3Amerged+-author%3Aapp%2Fdependabot-preview+" class="link">https://github.com/vuejs/vue-next/pulls?q=is%3Apr+is%3Amerged+-author%3Aapp%2Fdependabot-preview+</a>">628 pull requests</a> from <a href="<a href="https://github.com/vuejs/vue-next/graphs/contributors" class="link">https://github.com/vuejs/vue-next/graphs/contributors</a>">99 contributors</a>, plus tremendous amount of development and documentation work outside of the core repo. We would like to express our deepest gratitude towards our team members for taking on this challenge, our contributors for the pull requests, our <a href="<a href="https://github.com/vuejs/vue/blob/dev/BACKERS.md" class="link">https://github.com/vuejs/vue/blob/dev/BACKERS.md</a>">sponsors and backers</a> for the financial support, and the wider community for participating in our design discussions and providing feedback for the pre-release versions. Vue is an independent project created for the community and sustained by the community, and Vue 3.0 wouldn't have been possible without your consistent support.</p> <h4 id="user-content-taking-the-progressive-framework-concept-further" dir="auto">Taking the "Progressive Framework" Concept Further</h4> <p dir="auto">Vue had a simple mission from its humble beginning: to be an approachable framework that anyone can quickly learn. As our user base grew, the framework also grew in scope to adapt to the increasing demands. Over time, it evolved into what we call a "Progressive Framework": a framework that can be learned and adopted incrementally, while providing continued support as the user tackles more and more demanding scenarios.</p> <p dir="auto">Today, with over 1.3 million users worldwide<sup>*</sup>, we are seeing Vue being used in a wildly diverse range of scenarios, from sprinkling interactivity on traditional server-rendered pages, to full-blown single page applications with hundreds of components. Vue 3 takes this flexibility even further.</p> <h5 id="user-content-layered-internal-modules" dir="auto">Layered internal modules</h5> <p dir="auto">Vue 3.0 core can still be used via a simple <code><script></code> tag, but its internals has been re-written from the ground up into <a href="<a href="https://github.com/vuejs/vue-next/tree/master/packages" class="link">https://github.com/vuejs/vue-next/tree/master/packages</a>">a collection of decoupled modules</a>. The new architecture provides better maintainability, and allows end users to shave off up to half of the runtime size via tree-shaking.</p> <p dir="auto">These modules also exposes lower-level APIs that unlocks many advanced use cases:</p> <ul dir="auto"> <li>The compiler supports custom AST transforms for build-time customizations (e.g. <a href="<a href="https://github.com/intlify/vue-i18n-extensions" class="link">https://github.com/intlify/vue-i18n-extensions</a>">build-time i18n</a>)</li> <li>The core runtime provides first-class API for creating custom renderers targeting different render targets (e.g. <a href="<a href="https://github.com/rigor789/nativescript-vue-next" class="link">https://github.com/rigor789/nativescript-vue-next</a>">native mobile</a>, <a href="<a href="https://github.com/Planning-nl/vugel" class="link">https://github.com/Planning-nl/vugel</a>">WebGL</a> or <a href="<a href="https://github.com/ycmjason/vuminal" class="link">https://github.com/ycmjason/vuminal</a>">terminals</a>). The default DOM renderer is built using the same API.</li> <li>The <a href="<a href="https://github.com/vuejs/vue-next/tree/master/packages/reactivity" class="link">https://github.com/vuejs/vue-next/tree/master/packages/reactivity</a>"><code>@vue/reactivity</code> module</a> exports functions that provide direct access to Vue's reactivity system, and can be used as a standalone package. It can be used to pair with other templating solutions (e.g. <a href="<a href="https://github.com/yyx990803/vue-lit" class="link">https://github.com/yyx990803/vue-lit</a>">lit-html</a>) or even in non-UI scenarios.</li> </ul> <h5 id="user-content-new-apis-for-tackling-scale" dir="auto">New APIs for tackling scale</h5> <p dir="auto">The 2.x Object-based API is largely intact in Vue 3. However, 3.0 also introduces the <a href="<a href="https://v3.vuejs.org/guide/composition-api-introduction.html" class="link">https://v3.vuejs.org/guide/composition-api-introduction.html</a>">Composition API</a> - a new set of APIs aimed at addressing the pain points of Vue usage in large scale applications. The Composition API builds on top of the reactivity API and enables logic composition and reuse similar to React hooks, more flexible code organization patterns, and more reliable type inference than the 2.x Object-based API.</p> <p dir="auto">Composition API can also be used with Vue 2.x via the <a href="<a href="https://github.com/vuejs/composition-api" class="link">https://github.com/vuejs/composition-api</a>">@​vue/composition-api</a> plugin, and there are already Composition API utility libraries that work for both Vue 2 and 3 (e.g. <a href="<a href="https://github.com/antfu/vueuse" class="link">https://github.com/antfu/vueuse</a>">vueuse</a>, <a href="<a href="https://github.com/pikax/vue-composable" class="link">https://github.com/pikax/vue-composable</a>">vue-composable</a>).</p> <h5 id="user-content-performance-improvements-5" dir="auto">Performance Improvements</h5> <p dir="auto">Vue 3 has demonstrated <a href="<a href="https://docs.google.com/spreadsheets/d/1VJFx-kQ4KjJmnpDXIEaig-cVAAJtpIGLZNbv3Lr4CR0/edit?usp=sharing" class="link">https://docs.google.com/spreadsheets/d/1VJFx-kQ4KjJmnpDXIEaig-cVAAJtpIGLZNbv3Lr4CR0/edit?usp=sharing</a>">significant performance improvements</a> over Vue 2 in terms of bundle size (up to 41% lighter with tree-shaking), initial render (up to 55% faster), updates (up to 133% faster), and memory usage (up to 54% less).</p> <p dir="auto">In Vue 3, we have taken the approach of "compiler-informed Virtual DOM": the template compiler performs aggressive optimizations and generates render function code that hoists static content, leaves runtime hints for binding types, and most importantly, flattens the dynamic nodes inside a template to reduce the cost of runtime traversal. The user therefore gets the best of both worlds: compiler-optimized performance from templates, or direct control via manual render functions when the use case demands.</p> <h5 id="user-content-improved-typescript-integration" dir="auto">Improved TypeScript integration</h5> <p dir="auto">Vue 3's codebase is written in TypeScript, with automatically generated, tested, and bundled type definitions so they are always up-to-date. Composition API works great with type inference. Vetur, our official VSCode extension, now supports template expression and props type checking leveraging Vue 3's improved internal typing. Oh, and Vue 3's typing <a href="<a href="https://github.com/vuejs/vue-next/blob/master/test-dts/defineComponent.test-d.tsx" class="link">https://github.com/vuejs/vue-next/blob/master/test-dts/defineComponent.test-d.tsx</a>">fully supports TSX</a> if that's your preference.</p> <h5 id="user-content-experimental-features" dir="auto">Experimental Features</h5> <p dir="auto">We have proposed <a href="<a href="https://github.com/vuejs/rfcs/pull/182" class="link">https://github.com/vuejs/rfcs/pull/182</a>">two new features</a> for Singe-File Components (SFC, aka <code>.vue</code> files):</p> <ul dir="auto"> <li><a href="<a href="https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-script-setup.md" class="link">https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-script-setup.md</a>"><code><script setup></code>: syntactic sugar for using Composition API inside SFCs</a></li> <li><a href="<a href="https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-style-variables.md" class="link">https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-style-variables.md</a>"><code><style vars></code>: state-driven CSS variables inside SFCs</a></li> </ul> <p dir="auto">These features are already implemented and available in Vue 3.0, but are provided only for the purpose of gathering feedback. They will remain experimental until the RFCs are merged.</p> <p dir="auto">We have also implemented a currently undocumented <code><Suspense></code> component, which allows waiting on nested async dependencies (async components or component with <code>async setup()</code>) on initial render or branch switch. We are testing and iterating on this feature with the Nuxt.js team (<a href="<a href="https://nuxtjs.slides.com/atinux/state-of-nuxt-2020" class="link">https://nuxtjs.slides.com/atinux/state-of-nuxt-2020</a>">Nuxt 3 is on the way</a>) and will likely solidify it in 3.1.</p> <h4 id="user-content-phased-release-process" dir="auto">Phased Release Process</h4> <p dir="auto">The release of Vue 3.0 marks the general readiness of the framework. While some of the frameworks sub projects may still need further work to reach stable status (specifically router and Vuex integration in the devtools), we believe it's suitable to start new, green-field projects with Vue 3 today. We also encourage library authors to start upgrading your projects to support Vue 3.</p> <p dir="auto">Check out the <a href="<a href="https://v3.vuejs.org/guide/migration/introduction.html#supporting-libraries" class="link">https://v3.vuejs.org/guide/migration/introduction.html#supporting-libraries</a>">Vue 3 Libraries Guide</a> for details on all framework sub projects.</p> <h5 id="user-content-migration-and-ie11-support" dir="auto">Migration and IE11 Support</h5> <p dir="auto">We have pushed back the migration build (v3 build with v2 compatible behavior + migration warnings) and the IE11 build due to time constraints, and are aiming to focus on them in Q4 2020. Therefore, users planning to migrate an existing v2 app or require IE11 support should be aware of these limitations at this time.</p> <h5 id="user-content-next-steps" dir="auto">Next Steps</h5> <p dir="auto">For the near term after release, we will focus on:</p> <ul dir="auto"> <li>Migration build</li> <li>IE11 support</li> <li>Router and Vuex integration in new devtools</li> <li>Further improvements to template type inference in Vetur</li> </ul> <p dir="auto">For the time being, the documentation websites, GitHub branches, and npm dist tags for Vue 3 and v3-targeting projects will remain under <code>next</code>-denoted status. This means <code>npm install vue</code> will still install Vue 2.x and <code>npm install vue@next</code> will install Vue 3. <strong>We are planning to switch all doc links, branches and dist tags to default to 3.0 by end of 2020.</strong></p> <p dir="auto">At the same time, we have started planning for 2.7, which will be the last planned minor release of the 2.x release line. 2.7 will be backporting compatible improvements from v3, and emit warnings on usage of APIs that are removed/changed in v3 to help with potential migration. We are planning to work on 2.7 in Q1 2021, which will directly become LTS upon release with an 18 months maintenance lifespan.</p> <h4 id="user-content-trying-it-out" dir="auto">Trying It Out</h4> <p dir="auto">To learn more about Vue 3.0, check out our <a href="<a href="https://v3.vuejs.org/" class="link">https://v3.vuejs.org/</a>">new documentation website</a>. If you are an existing Vue 2.x user, go directly to the <a href="<a href="https://v3.vuejs.org/guide/migration/introduction.html" class="link">https://v3.vuejs.org/guide/migration/introduction.html</a>">Migration Guide</a>.</p> <hr> <ul dir="auto"> <li>*based on <a href="<a href="https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd" class="link">https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd</a>">Vue Devtools Chrome extension</a> weekly active users as reported by Google.</li> </ul> </details> <hr> <h3 id="user-content-configuration" dir="auto">Configuration</h3> <p dir="auto"><span class="emoji" aria-label="calendar" data-alias="date">📅</span> <strong>Schedule</strong>: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).</p> <p dir="auto"><span class="emoji" aria-label="vertical traffic light" data-alias="vertical_traffic_light">🚦</span> <strong>Automerge</strong>: Disabled by config. Please merge this manually once you are satisfied.</p> <p dir="auto">♻ <strong>Rebasing</strong>: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.</p> <p dir="auto"><span class="emoji" aria-label="bell with slash" data-alias="no_bell">🔕</span> <strong>Ignore</strong>: Close this PR and you won't be reminded about this update again.</p> <hr> <ul dir="auto"> <li class="task-list-item"><input type="checkbox" disabled="" data-source-position="120578"><!-- rebase-check -->If you want to rebase/retry this PR, check this box</li> </ul> <hr> <p dir="auto">This PR has been generated by <a href="<a href="https://github.com/renovatebot/renovate" class="link">https://github.com/renovatebot/renovate</a>">Renovate Bot</a>.</p> <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> </body></html>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [vue](https://github.com/vuejs/core/tree/main/packages/vue#readme) ([source](https://github.com/vuejs/core)) | dependencies | major | [`^2.7.14` -> `^3.0.0`](https://renovatebot.com/diffs/npm/vue/2.7.16/3.5.17) | --- ### Release Notes <details> <summary>vuejs/core (vue)</summary> ### [`v3.5.17`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3517-2025-06-18) [Compare Source](https://github.com/vuejs/core/compare/v3.5.16...v3.5.17) ##### Bug Fixes - **compat:** allow v-model built in modifiers on component ([#&#8203;12654](https://github.com/vuejs/core/issues/12654)) ([cb14b86](https://github.com/vuejs/core/commit/cb14b860f150c4a83bcd52cd26096b7a5aa3a2bf)), closes [#&#8203;12652](https://github.com/vuejs/core/issues/12652) - **compile-sfc:** handle mapped types work with omit and pick ([#&#8203;12648](https://github.com/vuejs/core/issues/12648)) ([4eb46e4](https://github.com/vuejs/core/commit/4eb46e443f1878199755cb73d481d318a9714392)), closes [#&#8203;12647](https://github.com/vuejs/core/issues/12647) - **compiler-core:** do not increase newlines in `InEntity` state ([#&#8203;13362](https://github.com/vuejs/core/issues/13362)) ([f05a8d6](https://github.com/vuejs/core/commit/f05a8d613bd873b811cfdb9979ccac8382dba322)) - **compiler-core:** ignore whitespace when matching adjacent v-if ([#&#8203;12321](https://github.com/vuejs/core/issues/12321)) ([10ebcef](https://github.com/vuejs/core/commit/10ebcef8c870dbc042b0ea49b1424b2e8f692145)), closes [#&#8203;9173](https://github.com/vuejs/core/issues/9173) - **compiler-core:** prevent comments from blocking static node hoisting ([#&#8203;13345](https://github.com/vuejs/core/issues/13345)) ([55dad62](https://github.com/vuejs/core/commit/55dad625acd9e9ddd5a933d5e323ecfdec1a612f)), closes [#&#8203;13344](https://github.com/vuejs/core/issues/13344) - **compiler-sfc:** improved type resolution for function type aliases ([#&#8203;13452](https://github.com/vuejs/core/issues/13452)) ([f3479aa](https://github.com/vuejs/core/commit/f3479aac9625f4459e650d1c0a70e73863147903)), closes [#&#8203;13444](https://github.com/vuejs/core/issues/13444) - **custom-element:** ensure configureApp is applied to async component ([#&#8203;12607](https://github.com/vuejs/core/issues/12607)) ([5ba1afb](https://github.com/vuejs/core/commit/5ba1afba09c3ea56c1c17484f5d8aeae210ce52a)), closes [#&#8203;12448](https://github.com/vuejs/core/issues/12448) - **custom-element:** prevent injecting child styles if shadowRoot is false ([#&#8203;12769](https://github.com/vuejs/core/issues/12769)) ([73055d8](https://github.com/vuejs/core/commit/73055d8d9578d485e3fe846726b50666e1aa56f5)), closes [#&#8203;12630](https://github.com/vuejs/core/issues/12630) - **reactivity:** add `__v_skip` flag to `Dep` to prevent reactive conversion ([#&#8203;12804](https://github.com/vuejs/core/issues/12804)) ([e8d8f5f](https://github.com/vuejs/core/commit/e8d8f5f604e821acc46b4200d5b06979c05af1c2)), closes [#&#8203;12803](https://github.com/vuejs/core/issues/12803) - **runtime-core:** unset old ref during patching when new ref is absent ([#&#8203;12900](https://github.com/vuejs/core/issues/12900)) ([47ddf98](https://github.com/vuejs/core/commit/47ddf986021dff8de68b0da72787e53a6c19de4c)), closes [#&#8203;12898](https://github.com/vuejs/core/issues/12898) - **slots:** make cache indexes marker non-enumerable ([#&#8203;13469](https://github.com/vuejs/core/issues/13469)) ([919c447](https://github.com/vuejs/core/commit/919c44744bba1f0c661c87d2059c3b429611aa7e)), closes [#&#8203;13468](https://github.com/vuejs/core/issues/13468) - **ssr:** handle initial selected state for select with v-model + v-for/v-if option ([#&#8203;13487](https://github.com/vuejs/core/issues/13487)) ([1552095](https://github.com/vuejs/core/commit/15520954f9f1c7f834175938a50dba5d4be0e6c4)), closes [#&#8203;13486](https://github.com/vuejs/core/issues/13486) - **types:** typo of `vOnce` and `vSlot` ([#&#8203;13343](https://github.com/vuejs/core/issues/13343)) ([762fae4](https://github.com/vuejs/core/commit/762fae4b57ad60602e5c84465a3bff562785b314)) ### [`v3.5.16`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3516-2025-05-29) [Compare Source](https://github.com/vuejs/core/compare/v3.5.15...v3.5.16) ##### Reverts - Revert "fix(compiler-sfc): add scoping tag to trailing universal selector" ([#&#8203;13406](https://github.com/vuejs/core/issues/13406)) ([19f23b1](https://github.com/vuejs/core/commit/19f23b180bb679e38db95d6a10a420abeedc8e1c)), closes [#&#8203;13406](https://github.com/vuejs/core/issues/13406) - Revert "fix(compiler-sfc): add error handling for defineModel() without variable" ([#&#8203;13390](https://github.com/vuejs/core/issues/13390)) ([42f879f](https://github.com/vuejs/core/commit/42f879fcab48e0e1011967a771b4ad9e8838d760)), closes [#&#8203;13390](https://github.com/vuejs/core/issues/13390) ### [`v3.5.15`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3515-2025-05-26) [Compare Source](https://github.com/vuejs/core/compare/v3.5.14...v3.5.15) ##### Bug Fixes - **compat:** ensure false value on input retains value attribute ([#&#8203;13216](https://github.com/vuejs/core/issues/13216)) ([1a66474](https://github.com/vuejs/core/commit/1a664749d4d65a345589a6d78106ede7574cb2e1)), closes [#&#8203;13205](https://github.com/vuejs/core/issues/13205) - **compat:** should not warn COMPILER\_V\_BIND\_OBJECT\_ORDER when using v-bind together with v-for ([#&#8203;12993](https://github.com/vuejs/core/issues/12993)) ([93949e6](https://github.com/vuejs/core/commit/93949e6587ee019bccd5b8b9d76f0e1ed6ea16fc)), closes [#&#8203;12992](https://github.com/vuejs/core/issues/12992) - **compile-sfc:** handle inline template source map in prod build ([#&#8203;12701](https://github.com/vuejs/core/issues/12701)) ([89edc6c](https://github.com/vuejs/core/commit/89edc6cdcbd34ea6394927ecbfaa61dc4f871de7)), closes [#&#8203;12682](https://github.com/vuejs/core/issues/12682) [vitejs/vite-plugin-vue#500](https://github.com/vitejs/vite-plugin-vue/issues/500) - **compiler-core:** ensure mapping is added only if node source is available ([#&#8203;13285](https://github.com/vuejs/core/issues/13285)) ([d37a2ac](https://github.com/vuejs/core/commit/d37a2ac59d904ac0e3257ba552b6c04920a363f0)), closes [#&#8203;13261](https://github.com/vuejs/core/issues/13261) [vitejs/vite-plugin-vue#368](https://github.com/vitejs/vite-plugin-vue/issues/368) - **compiler-dom:** improve HTML nesting validation to allow any child element within template tag ([#&#8203;13320](https://github.com/vuejs/core/issues/13320)) ([163b365](https://github.com/vuejs/core/commit/163b3651d174321911648a164052effa9249a2aa)), closes [#&#8203;13318](https://github.com/vuejs/core/issues/13318) - **compiler-sfc:** add error handling for defineModel() without variable assignment ([#&#8203;13352](https://github.com/vuejs/core/issues/13352)) ([00734af](https://github.com/vuejs/core/commit/00734afef5f7bddbdaee52aa5359a6ef989f32d3)), closes [#&#8203;13280](https://github.com/vuejs/core/issues/13280) - **compiler-sfc:** add scoping tag to trailing universal selector ([#&#8203;12918](https://github.com/vuejs/core/issues/12918)) ([949df80](https://github.com/vuejs/core/commit/949df808809fd7cccf7718797beab0654aa68302)), closes [#&#8203;12906](https://github.com/vuejs/core/issues/12906) - **compiler-sfc:** improve type inference for TSTypeAliasDeclaration with better runtime type detection ([#&#8203;13245](https://github.com/vuejs/core/issues/13245)) ([cf5a5e0](https://github.com/vuejs/core/commit/cf5a5e0edf0efcab25c27aa2d13eba91f7372d39)), closes [#&#8203;13240](https://github.com/vuejs/core/issues/13240) - **compiler-sfc:** simulate `allowArbitraryExtensions` on resolving type ([#&#8203;13301](https://github.com/vuejs/core/issues/13301)) ([f7ce5ae](https://github.com/vuejs/core/commit/f7ce5ae666129339c006b339437c2dff6bceffe0)), closes [#&#8203;13295](https://github.com/vuejs/core/issues/13295) - **custom-element:** allow injecting values ​​from app context in nested elements ([#&#8203;13219](https://github.com/vuejs/core/issues/13219)) ([b991075](https://github.com/vuejs/core/commit/b9910755a50c7d6c52b28c3aef20cf97810295c9)), closes [#&#8203;13212](https://github.com/vuejs/core/issues/13212) - **custom-element:** ensure proper remount and prevent redundant slot parsing with shadowRoot false ([#&#8203;13201](https://github.com/vuejs/core/issues/13201)) ([1d41d4d](https://github.com/vuejs/core/commit/1d41d4de7f64a37160c8171d0137fd8d35c346c9)), closes [#&#8203;13199](https://github.com/vuejs/core/issues/13199) - **custom-element:** preserve appContext during update ([#&#8203;12455](https://github.com/vuejs/core/issues/12455)) ([013749e](https://github.com/vuejs/core/commit/013749e75ef3b51762a86da379ea4ba4501b54ae)), closes [#&#8203;12453](https://github.com/vuejs/core/issues/12453) - **custom-element:** properly resolve props for sync component defs ([#&#8203;12855](https://github.com/vuejs/core/issues/12855)) ([a683c80](https://github.com/vuejs/core/commit/a683c80cf44ecc482f8ac9c76bf2381443c1b0bb)), closes [#&#8203;12854](https://github.com/vuejs/core/issues/12854) - **hydration:** handle transition appear hydration edge case ([#&#8203;13339](https://github.com/vuejs/core/issues/13339)) ([35aeae7](https://github.com/vuejs/core/commit/35aeae7fa3168adcf9ed95fd35495d17c8b93eeb)), closes [#&#8203;13335](https://github.com/vuejs/core/issues/13335) - **hydration:** skip lazy hydration for patched components ([#&#8203;13283](https://github.com/vuejs/core/issues/13283)) ([80055fd](https://github.com/vuejs/core/commit/80055fddfb3ca1e2a44f19c7f0ffaeba00de5140)), closes [#&#8203;13255](https://github.com/vuejs/core/issues/13255) - **suspense:** handle edge case in patching list nodes within Suspense ([#&#8203;13306](https://github.com/vuejs/core/issues/13306)) ([772b008](https://github.com/vuejs/core/commit/772b0087cb7be151c514a1d30365fb0f61a652ba)), closes [#&#8203;13305](https://github.com/vuejs/core/issues/13305) - **teleport:** handle deferred teleport updates before and after mount ([#&#8203;13350](https://github.com/vuejs/core/issues/13350)) ([d15dce3](https://github.com/vuejs/core/commit/d15dce3142474f2ef9fffed38383acdadcb26c4c)), closes [#&#8203;13349](https://github.com/vuejs/core/issues/13349) - **types:** avoid merging component instance into `$props` in `ComponentInstance` ([#&#8203;12870](https://github.com/vuejs/core/issues/12870)) ([f44feed](https://github.com/vuejs/core/commit/f44feed6fa461a9c4c724e9631c19e9e214c0a20)), closes [#&#8203;12751](https://github.com/vuejs/core/issues/12751) - **types:** exclude `undefined` from inferred prop types with default values ([#&#8203;13007](https://github.com/vuejs/core/issues/13007)) ([5179d32](https://github.com/vuejs/core/commit/5179d328d950015e7fb2a74fe1a8518fd8d2c94e)), closes [#&#8203;13006](https://github.com/vuejs/core/issues/13006) - **watch:** update `oldValue` before running `cb` to prevent stale value ([#&#8203;12296](https://github.com/vuejs/core/issues/12296)) ([c69c4bb](https://github.com/vuejs/core/commit/c69c4bb59c114f2b5e03733b55ef9ace3087b5c3)), closes [#&#8203;12294](https://github.com/vuejs/core/issues/12294) ### [`v3.5.14`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3514-2025-05-15) [Compare Source](https://github.com/vuejs/core/compare/v3.5.13...v3.5.14) ##### Bug Fixes - **compat:** correct deprecation message for v-bind.sync usage ([#&#8203;13137](https://github.com/vuejs/core/issues/13137)) ([466b30f](https://github.com/vuejs/core/commit/466b30f4049ec89fb282624ec17d1a93472ab93f)), closes [#&#8203;13133](https://github.com/vuejs/core/issues/13133) - **compiler-core:** remove slot cache from parent renderCache during unmounting ([#&#8203;13215](https://github.com/vuejs/core/issues/13215)) ([5d166f3](https://github.com/vuejs/core/commit/5d166f3796a03a497435fc079c6a83a4e9c6cf52)) - **compiler-sfc:** fix scope handling for props destructure in function parameters and catch clauses ([8e34357](https://github.com/vuejs/core/commit/8e3435779a667de485cf9efd78667d0ca14c5f84)), closes [#&#8203;12790](https://github.com/vuejs/core/issues/12790) - **compiler-sfc:** treat the return value of `useTemplateRef` as a definite ref ([#&#8203;13197](https://github.com/vuejs/core/issues/13197)) ([8ae1122](https://github.com/vuejs/core/commit/8ae11226e8ee938615e17c7b81dc38ae3f7cefb9)) - **compiler:** fix spelling error in domTagConfig ([#&#8203;13043](https://github.com/vuejs/core/issues/13043)) ([388295b](https://github.com/vuejs/core/commit/388295b27f3cc69eba25d325bbe60a36a3df831a)) - **customFormatter:** properly accessing ref value during debugger ([#&#8203;12948](https://github.com/vuejs/core/issues/12948)) ([fdbd026](https://github.com/vuejs/core/commit/fdbd02658301dd794fe0c84f0018d080a07fca9f)) - **hmr/teleport:** adjust static children traversal for HMR in dev mode ([#&#8203;12819](https://github.com/vuejs/core/issues/12819)) ([5e37dd0](https://github.com/vuejs/core/commit/5e37dd009562bcd8080a200c32abde2d6e4f0305)), closes [#&#8203;12816](https://github.com/vuejs/core/issues/12816) - **hmr:** avoid hydration for hmr root reload ([#&#8203;12450](https://github.com/vuejs/core/issues/12450)) ([1f98a9c](https://github.com/vuejs/core/commit/1f98a9c493d01c21befa90107f0593bc92a58932)), closes [vitejs/vite-plugin-vue#146](https://github.com/vitejs/vite-plugin-vue/issues/146) [vitejs/vite-plugin-vue#477](https://github.com/vitejs/vite-plugin-vue/issues/477) - **hmr:** avoid hydration for hmr updating ([#&#8203;12262](https://github.com/vuejs/core/issues/12262)) ([9c4dbbc](https://github.com/vuejs/core/commit/9c4dbbc5185125835ad3e49baba303bd54676111)), closes [#&#8203;7706](https://github.com/vuejs/core/issues/7706) [#&#8203;8170](https://github.com/vuejs/core/issues/8170) - **reactivity:** ensure markRaw objects are not reactive ([#&#8203;12824](https://github.com/vuejs/core/issues/12824)) ([295b5ec](https://github.com/vuejs/core/commit/295b5ec19b6a52c4a56652cc4d6e93a4ea7c14ed)), closes [#&#8203;12807](https://github.com/vuejs/core/issues/12807) - **reactivity:** ensure multiple effectScope on() and off() calls maintains correct active scope ([22dcbf3](https://github.com/vuejs/core/commit/22dcbf3e20eb84f69c8952f6f70d9990136a4a68)), closes [#&#8203;12631](https://github.com/vuejs/core/issues/12631) [#&#8203;12632](https://github.com/vuejs/core/issues/12632) [#&#8203;12641](https://github.com/vuejs/core/issues/12641) - **reactivity:** should not recompute if computed does not track reactive data ([#&#8203;12341](https://github.com/vuejs/core/issues/12341)) ([0b23fd2](https://github.com/vuejs/core/commit/0b23fd23833cf085e7e112bf4435cfc9b360d072)), closes [#&#8203;12337](https://github.com/vuejs/core/issues/12337) - **runtime-core:** stop tracking deps in setRef during unmount ([#&#8203;13210](https://github.com/vuejs/core/issues/13210)) ([016c472](https://github.com/vuejs/core/commit/016c472bd2e7604b21c69dee1da8545ce26e4d2f)) - **runtime-core:** update \_\_vnode of static nodes when patching along the optimized path ([#&#8203;13223](https://github.com/vuejs/core/issues/13223)) ([b3ecee3](https://github.com/vuejs/core/commit/b3ecee3da8ed5c55dea89ce6b4b376b2b722b018)) - **runtime-core:** inherit comment nodes during block patch in production build ([#&#8203;10748](https://github.com/vuejs/core/issues/10748)) ([6264505](https://github.com/vuejs/core/commit/626450590d81f79117b34d2a73073b1dc8f551bd)), closes [#&#8203;10747](https://github.com/vuejs/core/issues/10747) [#&#8203;12650](https://github.com/vuejs/core/issues/12650) - **runtime-core:** prevent unmounted vnode from being inserted during transition leave ([#&#8203;12862](https://github.com/vuejs/core/issues/12862)) ([d6a6ec1](https://github.com/vuejs/core/commit/d6a6ec13ce521683bfb2a22932778ef7b51f8600)), closes [#&#8203;12860](https://github.com/vuejs/core/issues/12860) - **runtime-core:** respect immutability for readonly reactive arrays in `v-for` ([#&#8203;13091](https://github.com/vuejs/core/issues/13091)) ([3f27c58](https://github.com/vuejs/core/commit/3f27c58ffbd4309df369bc89493fdc284dc540bb)), closes [#&#8203;13087](https://github.com/vuejs/core/issues/13087) - **runtime-dom:** always treat autocorrect as attribute ([#&#8203;13001](https://github.com/vuejs/core/issues/13001)) ([1499135](https://github.com/vuejs/core/commit/1499135c227236e037bb746beeb777941b0b58ff)), closes [#&#8203;5705](https://github.com/vuejs/core/issues/5705) - **slots:** properly warn if slot invoked in setup ([#&#8203;12195](https://github.com/vuejs/core/issues/12195)) ([9196222](https://github.com/vuejs/core/commit/9196222ae1d63b52b35ac5fbf5e71494587ccf05)), closes [#&#8203;12194](https://github.com/vuejs/core/issues/12194) - **ssr:** properly init slots during ssr rendering ([#&#8203;12441](https://github.com/vuejs/core/issues/12441)) ([2206cd2](https://github.com/vuejs/core/commit/2206cd235a1627c540e795e378b7564a55b47313)), closes [#&#8203;12438](https://github.com/vuejs/core/issues/12438) - **transition:** fix KeepAlive with transition out-in mode behavior in production ([#&#8203;12468](https://github.com/vuejs/core/issues/12468)) ([343c891](https://github.com/vuejs/core/commit/343c89122448719bd6ed6bd9de986dfb2721d6bf)), closes [#&#8203;12465](https://github.com/vuejs/core/issues/12465) - **TransitionGroup:** reset prevChildren to prevent memory leak ([#&#8203;13183](https://github.com/vuejs/core/issues/13183)) ([8b848cb](https://github.com/vuejs/core/commit/8b848cbbd2af337d23e19e202f9ab433f8580855)), closes [#&#8203;13181](https://github.com/vuejs/core/issues/13181) - **types:** allow return any for Options API lifecycle hooks ([#&#8203;5914](https://github.com/vuejs/core/issues/5914)) ([06310e8](https://github.com/vuejs/core/commit/06310e82f5bed62d1b9733dcb18cd8d6edc988de)) - **types:** the directive's modifiers should be optional ([#&#8203;12605](https://github.com/vuejs/core/issues/12605)) ([10e54dc](https://github.com/vuejs/core/commit/10e54dcc86a7967f3196d96200bcbd1d3d42082f)) - **typos:** fix comments referencing transformElement.ts ([#&#8203;12551](https://github.com/vuejs/core/issues/12551))\[ci-skip] ([11c053a](https://github.com/vuejs/core/commit/11c053a5429ad0d27a0e2c78b6b026ea00ace116)) ##### Features - **types:** add type TemplateRef ([#&#8203;12645](https://github.com/vuejs/core/issues/12645)) ([636a861](https://github.com/vuejs/core/commit/636a8619f06c71dfd79f7f6412fd130c4f84226f)) ### [`v3.5.13`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3513-2024-11-15) [Compare Source](https://github.com/vuejs/core/compare/v3.5.12...v3.5.13) ##### Bug Fixes - **compiler-core:** handle v-memo + v-for with functional key ([#&#8203;12014](https://github.com/vuejs/core/issues/12014)) ([99009ee](https://github.com/vuejs/core/commit/99009eee0efc238392daba93792d478525b21afa)), closes [#&#8203;12013](https://github.com/vuejs/core/issues/12013) - **compiler-dom:** properly stringify template string style ([#&#8203;12392](https://github.com/vuejs/core/issues/12392)) ([2d78539](https://github.com/vuejs/core/commit/2d78539da35322aea5f821b3cf9b02d006abac72)), closes [#&#8203;12391](https://github.com/vuejs/core/issues/12391) - **custom-element:** avoid triggering mutationObserver when relecting props ([352bc88](https://github.com/vuejs/core/commit/352bc88c1bd2fda09c61ab17ea1a5967ffcd7bc0)), closes [#&#8203;12214](https://github.com/vuejs/core/issues/12214) [#&#8203;12215](https://github.com/vuejs/core/issues/12215) - **deps:** update dependency postcss to ^8.4.48 ([#&#8203;12356](https://github.com/vuejs/core/issues/12356)) ([b5ff930](https://github.com/vuejs/core/commit/b5ff930089985a58c3553977ef999cec2a6708a4)) - **hydration:** the component vnode's el should be updated when a mismatch occurs. ([#&#8203;12255](https://github.com/vuejs/core/issues/12255)) ([a20a4cb](https://github.com/vuejs/core/commit/a20a4cb36a3e717d1f8f259d0d59f133f508ff0a)), closes [#&#8203;12253](https://github.com/vuejs/core/issues/12253) - **reactivity:** avoid unnecessary watcher effect removal from inactive scope ([2193284](https://github.com/vuejs/core/commit/21932840eae72ffcd357a62ec596aaecc7ec224a)), closes [#&#8203;5783](https://github.com/vuejs/core/issues/5783) [#&#8203;5806](https://github.com/vuejs/core/issues/5806) - **reactivity:** release nested effects/scopes on effect scope stop ([#&#8203;12373](https://github.com/vuejs/core/issues/12373)) ([bee2f5e](https://github.com/vuejs/core/commit/bee2f5ee62dc0cd04123b737779550726374dd0a)), closes [#&#8203;12370](https://github.com/vuejs/core/issues/12370) - **runtime-dom:** set css vars before user onMounted hooks ([2d5c5e2](https://github.com/vuejs/core/commit/2d5c5e25e9b7a56e883674fb434135ac514429b5)), closes [#&#8203;11533](https://github.com/vuejs/core/issues/11533) - **runtime-dom:** set css vars on update to handle child forcing reflow in onMount ([#&#8203;11561](https://github.com/vuejs/core/issues/11561)) ([c4312f9](https://github.com/vuejs/core/commit/c4312f9c715c131a09e552ba46e9beb4b36d55e6)) - **ssr:** avoid updating subtree of async component if it is resolved ([#&#8203;12363](https://github.com/vuejs/core/issues/12363)) ([da7ad5e](https://github.com/vuejs/core/commit/da7ad5e3d24f3e108401188d909d27a4910da095)), closes [#&#8203;12362](https://github.com/vuejs/core/issues/12362) - **ssr:** ensure v-text updates correctly with custom directives in SSR output ([#&#8203;12311](https://github.com/vuejs/core/issues/12311)) ([1f75d4e](https://github.com/vuejs/core/commit/1f75d4e6dfe18121ebe443cd3e8105d54f727893)), closes [#&#8203;12309](https://github.com/vuejs/core/issues/12309) - **ssr:** handle initial selected state for select with v-model + v-for option ([#&#8203;12399](https://github.com/vuejs/core/issues/12399)) ([4f8d807](https://github.com/vuejs/core/commit/4f8d8078221ee52deed266677a227ad2a6d8dd22)), closes [#&#8203;12395](https://github.com/vuejs/core/issues/12395) - **teleport:** handle deferred teleport update before mounted ([#&#8203;12168](https://github.com/vuejs/core/issues/12168)) ([8bff142](https://github.com/vuejs/core/commit/8bff142f99b646e9dd15897ec75368fbf34f1534)), closes [#&#8203;12161](https://github.com/vuejs/core/issues/12161) - **templateRef:** set ref on cached async component which wrapped in KeepAlive ([#&#8203;12290](https://github.com/vuejs/core/issues/12290)) ([983eb50](https://github.com/vuejs/core/commit/983eb50a17eac76f1bba4394ad0316c62b72191d)), closes [#&#8203;4999](https://github.com/vuejs/core/issues/4999) [#&#8203;5004](https://github.com/vuejs/core/issues/5004) - **test:** update snapshot ([#&#8203;12169](https://github.com/vuejs/core/issues/12169)) ([828d4a4](https://github.com/vuejs/core/commit/828d4a443919fa2aa4e2e92fbd03a5f04b258eea)) - **Transition:** fix transition memory leak edge case ([#&#8203;12182](https://github.com/vuejs/core/issues/12182)) ([660132d](https://github.com/vuejs/core/commit/660132df6c6a8c14bf75e593dc47d2fdada30322)), closes [#&#8203;12181](https://github.com/vuejs/core/issues/12181) - **transition:** reflow before leave-active class after leave-from ([#&#8203;12288](https://github.com/vuejs/core/issues/12288)) ([4b479db](https://github.com/vuejs/core/commit/4b479db61d233b054561402ae94ef08550073ea1)), closes [#&#8203;2593](https://github.com/vuejs/core/issues/2593) - **types:** defineEmits w/ interface declaration ([#&#8203;12343](https://github.com/vuejs/core/issues/12343)) ([1022eab](https://github.com/vuejs/core/commit/1022eabaa1aaf8436876f5ec5573cb1e4b3959a6)), closes [#&#8203;8457](https://github.com/vuejs/core/issues/8457) - **v-once:** setting hasOnce to current block only when in v-once ([#&#8203;12374](https://github.com/vuejs/core/issues/12374)) ([37300fc](https://github.com/vuejs/core/commit/37300fc26190a7299efddbf98800ffd96d5cad96)), closes [#&#8203;12371](https://github.com/vuejs/core/issues/12371) ##### Performance Improvements - **reactivity:** do not track inner key \`\_\_v\_skip\`\` ([#&#8203;11690](https://github.com/vuejs/core/issues/11690)) ([d637bd6](https://github.com/vuejs/core/commit/d637bd6c0164c2883e6eabd3c2f1f8c258dedfb1)) - **runtime-core:** use feature flag for call to resolveMergedOptions ([#&#8203;12163](https://github.com/vuejs/core/issues/12163)) ([1755ac0](https://github.com/vuejs/core/commit/1755ac0a108ba3486bd8397e56d3bdcd69196594)) ### [`v3.5.12`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3512-2024-10-11) [Compare Source](https://github.com/vuejs/core/compare/v3.5.11...v3.5.12) ##### Bug Fixes - **compiler-dom:** avoid stringify option with null value ([#&#8203;12096](https://github.com/vuejs/core/issues/12096)) ([f6d9926](https://github.com/vuejs/core/commit/f6d99262364b7444ebab8742158599e8cdd79eaa)), closes [#&#8203;12093](https://github.com/vuejs/core/issues/12093) - **compiler-sfc:** do not skip TSInstantiationExpression when transforming props destructure ([#&#8203;12064](https://github.com/vuejs/core/issues/12064)) ([d3ecde8](https://github.com/vuejs/core/commit/d3ecde8a696ff62c8d0ab067fd1d7ee0565b63c5)) - **compiler-sfc:** use sass modern api if available and avoid deprecation warning ([#&#8203;11992](https://github.com/vuejs/core/issues/11992)) ([4474c11](https://github.com/vuejs/core/commit/4474c113d1fb1c26298dd6794275d5b5c7cc4d93)) - **compiler:** clone loc to `ifNode` ([#&#8203;12131](https://github.com/vuejs/core/issues/12131)) ([cde2c06](https://github.com/vuejs/core/commit/cde2c0671b00d4f6111fcbd7aa76e45872f20b0c)), closes [vuejs/language-tools#4911](https://github.com/vuejs/language-tools/issues/4911) - **custom-element:** properly remove hyphenated attribute ([#&#8203;12143](https://github.com/vuejs/core/issues/12143)) ([e16e9a7](https://github.com/vuejs/core/commit/e16e9a7341e7cfb3c443da4e5e5b06e8158712c3)), closes [#&#8203;12139](https://github.com/vuejs/core/issues/12139) - **defineModel:** handle kebab-case model correctly ([#&#8203;12063](https://github.com/vuejs/core/issues/12063)) ([c0418a3](https://github.com/vuejs/core/commit/c0418a3b8fa96a0b108ab71b7aab5d3388f90557)), closes [#&#8203;12060](https://github.com/vuejs/core/issues/12060) - **deps:** update dependency monaco-editor to ^0.52.0 ([#&#8203;12119](https://github.com/vuejs/core/issues/12119)) ([f7cbea2](https://github.com/vuejs/core/commit/f7cbea2111c7770a180b640f36f6a5d4d6abc698)) - **hydration:** provide compat fallback for idle callback hydration strategy ([#&#8203;11935](https://github.com/vuejs/core/issues/11935)) ([1ae545a](https://github.com/vuejs/core/commit/1ae545a3786abef983be1c969726489685569c92)) - **reactivity:** trigger reactivity for Map key `undefined` ([#&#8203;12055](https://github.com/vuejs/core/issues/12055)) ([7ad289e](https://github.com/vuejs/core/commit/7ad289e1e7fea654524008ff91e43a8b8a55ef22)), closes [#&#8203;12054](https://github.com/vuejs/core/issues/12054) - **runtime-core:** allow symbol values for slot prop key ([#&#8203;12069](https://github.com/vuejs/core/issues/12069)) ([d9d4d4e](https://github.com/vuejs/core/commit/d9d4d4e158cd51a9ddda249f29de8467f60b2792)), closes [#&#8203;12068](https://github.com/vuejs/core/issues/12068) - **runtime-core:** fix required prop check false positive for kebab-case edge cases ([#&#8203;12034](https://github.com/vuejs/core/issues/12034)) ([9da1ac1](https://github.com/vuejs/core/commit/9da1ac156552ac449754e1373aac7e349841becb)), closes [#&#8203;12011](https://github.com/vuejs/core/issues/12011) - **runtime-dom:** prevent unnecessary updates in v-model checkbox when value is unchanged ([#&#8203;12146](https://github.com/vuejs/core/issues/12146)) ([ea943af](https://github.com/vuejs/core/commit/ea943afe404c4ca4b729906c5e8daf7aa2ccde9b)), closes [#&#8203;12144](https://github.com/vuejs/core/issues/12144) - **teleport:** handle disabled teleport with updateCssVars ([#&#8203;12113](https://github.com/vuejs/core/issues/12113)) ([76a8223](https://github.com/vuejs/core/commit/76a8223199c148b79a5c0ea19e235164809760cd)), closes [#&#8203;12112](https://github.com/vuejs/core/issues/12112) - **transition/ssr:** make transition appear work with Suspense in SSR ([#&#8203;12047](https://github.com/vuejs/core/issues/12047)) ([f1a4f67](https://github.com/vuejs/core/commit/f1a4f67aedfe83e440c54222213f070774faa421)), closes [#&#8203;12046](https://github.com/vuejs/core/issues/12046) - **types:** ensure `this.$props` type does not include `string` ([#&#8203;12123](https://github.com/vuejs/core/issues/12123)) ([704173e](https://github.com/vuejs/core/commit/704173e24276706de672cca6c9507e4dd9651197)), closes [#&#8203;12122](https://github.com/vuejs/core/issues/12122) - **types:** retain union type narrowing with defaults applied ([#&#8203;12108](https://github.com/vuejs/core/issues/12108)) ([05685a9](https://github.com/vuejs/core/commit/05685a9d7c42d4cd37169b867833776b91154fed)), closes [#&#8203;12106](https://github.com/vuejs/core/issues/12106) - **useId:** ensure useId consistency when using serverPrefetch ([#&#8203;12128](https://github.com/vuejs/core/issues/12128)) ([b4d3534](https://github.com/vuejs/core/commit/b4d35349d8bc39aa15bd3f1094d230e5928b177c)), closes [#&#8203;12102](https://github.com/vuejs/core/issues/12102) - **watch:** watchEffect clean-up with SSR ([#&#8203;12097](https://github.com/vuejs/core/issues/12097)) ([b094c72](https://github.com/vuejs/core/commit/b094c72b3d40c52c7124f145a9db028509a11202)), closes [#&#8203;11956](https://github.com/vuejs/core/issues/11956) ##### Performance Improvements - **reactivity:** avoid unnecessary recursion in removeSub ([#&#8203;12135](https://github.com/vuejs/core/issues/12135)) ([ec917cf](https://github.com/vuejs/core/commit/ec917cfdb9d0169cd0835d3a0e28244242657dc9)) ### [`v3.5.11`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3511-2024-10-03) [Compare Source](https://github.com/vuejs/core/compare/v3.5.10...v3.5.11) ##### Bug Fixes - **compiler-sfc:** do not skip `TSSatisfiesExpression` when transforming props destructure ([#&#8203;12062](https://github.com/vuejs/core/issues/12062)) ([2328b05](https://github.com/vuejs/core/commit/2328b051f4efa1f1394b7d4e73b7c3f76e430e7c)), closes [#&#8203;12061](https://github.com/vuejs/core/issues/12061) - **reactivity:** prevent overwriting `next` property during batch processing ([#&#8203;12075](https://github.com/vuejs/core/issues/12075)) ([d3f5e6e](https://github.com/vuejs/core/commit/d3f5e6e5319b4ffaa55ca9a2ea3d95d78e76fa58)), closes [#&#8203;12072](https://github.com/vuejs/core/issues/12072) - **scheduler:** job ordering when the post queue is flushing ([#&#8203;12090](https://github.com/vuejs/core/issues/12090)) ([577edca](https://github.com/vuejs/core/commit/577edca8e7795436efd710d1c289ea8ea2642b0e)) - **types:** correctly infer `TypeProps` when it is `any` ([#&#8203;12073](https://github.com/vuejs/core/issues/12073)) ([57315ab](https://github.com/vuejs/core/commit/57315ab9688c9741a271d1075bbd28cbe5f71e2f)), closes [#&#8203;12058](https://github.com/vuejs/core/issues/12058) - **types:** should not intersect `PublicProps` with `Props` ([#&#8203;12077](https://github.com/vuejs/core/issues/12077)) ([6f85894](https://github.com/vuejs/core/commit/6f8589437635706f825ccec51800effba1d2bf5f)) - **types:** infer the first generic type of `Ref` correctly ([#&#8203;12094](https://github.com/vuejs/core/issues/12094)) ([c97bb84](https://github.com/vuejs/core/commit/c97bb84d0b0a16b012f886b6498e924415ed63e5)) ### [`v3.5.10`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3510-2024-09-27) [Compare Source](https://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://github.com/vuejs/core/commit/ea3efa09e008918c1d9ba7226833a8b1a7a57244)), closes [#&#8203;12030](https://github.com/vuejs/core/issues/12030) [#&#8203;12032](https://github.com/vuejs/core/issues/12032) - **reactivity:** fix nested batch edge case ([93c95dd](https://github.com/vuejs/core/commit/93c95dd4cd416503f43a98a1455f62658d22b0b2)) - **reactivity:** only clear notified flags for computed in first batch iteration ([aa9ef23](https://github.com/vuejs/core/commit/aa9ef2386a0cd39a174e5a887ec2b1a3525034fc)), closes [#&#8203;12045](https://github.com/vuejs/core/issues/12045) - **types/ref:** handle nested refs in UnwrapRef ([#&#8203;12049](https://github.com/vuejs/core/issues/12049)) ([e2c19c2](https://github.com/vuejs/core/commit/e2c19c20cfee9788519a80c0e53e216b78505994)), closes [#&#8203;12044](https://github.com/vuejs/core/issues/12044) ### [`v3.5.9`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#359-2024-09-26) [Compare Source](https://github.com/vuejs/core/compare/v3.5.8...v3.5.9) ##### Bug Fixes - **reactivity:** fix property dep removal regression ([6001e5c](https://github.com/vuejs/core/commit/6001e5c81a05c894586f9287fbd991677bdd0455)), closes [#&#8203;12020](https://github.com/vuejs/core/issues/12020) [#&#8203;12021](https://github.com/vuejs/core/issues/12021) - **reactivity:** fix recursive sync watcher on computed edge case ([10ff159](https://github.com/vuejs/core/commit/10ff15924053d9bd95ad706f78ce09e288213fcf)), closes [#&#8203;12033](https://github.com/vuejs/core/issues/12033) [#&#8203;12037](https://github.com/vuejs/core/issues/12037) - **runtime-core:** avoid rendering plain object as VNode ([#&#8203;12038](https://github.com/vuejs/core/issues/12038)) ([cb34b28](https://github.com/vuejs/core/commit/cb34b28a4a9bf868be4785b001c526163eda342e)), closes [#&#8203;12035](https://github.com/vuejs/core/issues/12035) [vitejs/vite-plugin-vue#353](https://github.com/vitejs/vite-plugin-vue/issues/353) - **runtime-core:** make useId() always return a string ([a177092](https://github.com/vuejs/core/commit/a177092754642af2f98c33a4feffe8f198c3c950)) - **types:** correct type inference of union event names ([#&#8203;12022](https://github.com/vuejs/core/issues/12022)) ([4da6881](https://github.com/vuejs/core/commit/4da688141d9e7c15b622c289deaa81b11845b2c7)) - **vue:** properly cache runtime compilation ([#&#8203;12019](https://github.com/vuejs/core/issues/12019)) ([fa0ba24](https://github.com/vuejs/core/commit/fa0ba24b3ace02d7ecab65e57c2bea89a2550dcb)) ### [`v3.5.8`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#358-2024-09-22) [Compare Source](https://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 ([#&#8203;11995](https://github.com/vuejs/core/issues/11995)) ([0267a58](https://github.com/vuejs/core/commit/0267a588017eee4951ac2a877fe1ccae84cad905)) ### [`v3.5.7`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#357-2024-09-20) [Compare Source](https://github.com/vuejs/core/compare/v3.5.6...v3.5.7) ##### Bug Fixes - **compile-core:** fix v-model with newlines edge case ([#&#8203;11960](https://github.com/vuejs/core/issues/11960)) ([6224288](https://github.com/vuejs/core/commit/62242886d705ece88dbcad45bb78072ecccad0ca)), closes [#&#8203;8306](https://github.com/vuejs/core/issues/8306) - **compiler-sfc:** initialize scope with null prototype object ([#&#8203;11963](https://github.com/vuejs/core/issues/11963)) ([215e154](https://github.com/vuejs/core/commit/215e15407294bf667261360218f975b88c99c2e5)) - **hydration:** avoid observing non-Element node ([#&#8203;11954](https://github.com/vuejs/core/issues/11954)) ([7257e6a](https://github.com/vuejs/core/commit/7257e6a34200409b3fc347d3bb807e11e2785974)), closes [#&#8203;11952](https://github.com/vuejs/core/issues/11952) - **reactivity:** do not remove dep from depsMap when unsubbed by computed ([960706e](https://github.com/vuejs/core/commit/960706eebf73f08ebc9d5dd853a05def05e2c153)) - **reactivity:** fix dev-only memory leak by updating dep.subsHead on sub removal ([5c8b76e](https://github.com/vuejs/core/commit/5c8b76ed6cfbbcee4cbaac0b72beab7291044e4f)), closes [#&#8203;11956](https://github.com/vuejs/core/issues/11956) - **reactivity:** fix memory leak from dep instances of garbage collected objects ([235ea47](https://github.com/vuejs/core/commit/235ea4772ed2972914cf142da8b7ac1fb04f7585)), closes [#&#8203;11979](https://github.com/vuejs/core/issues/11979) [#&#8203;11971](https://github.com/vuejs/core/issues/11971) - **reactivity:** fix triggerRef call on ObjectRefImpl returned by toRef ([#&#8203;11986](https://github.com/vuejs/core/issues/11986)) ([b030c8b](https://github.com/vuejs/core/commit/b030c8bc7327877efb98aa3d9a58eb287a6ff07a)), closes [#&#8203;11982](https://github.com/vuejs/core/issues/11982) - **scheduler:** ensure recursive jobs can't be queued twice ([#&#8203;11955](https://github.com/vuejs/core/issues/11955)) ([d18d6aa](https://github.com/vuejs/core/commit/d18d6aa1b20dc57a8103c51ec4d61e8e53ed936d)) - **ssr:** don't render comments in TransitionGroup ([#&#8203;11961](https://github.com/vuejs/core/issues/11961)) ([a2f6ede](https://github.com/vuejs/core/commit/a2f6edeb02faedbb673c4bc5c6a59d9a79a37d07)), closes [#&#8203;11958](https://github.com/vuejs/core/issues/11958) - **transition:** respect `duration` setting even when it is `0` ([#&#8203;11967](https://github.com/vuejs/core/issues/11967)) ([f927a4a](https://github.com/vuejs/core/commit/f927a4ae6f7c453f70ba89498ee0c737dc9866fd)) - **types:** correct type inference of all-optional props ([#&#8203;11644](https://github.com/vuejs/core/issues/11644)) ([9eca65e](https://github.com/vuejs/core/commit/9eca65ee9871d1ac878755afa9a3eb1b02030350)), closes [#&#8203;11733](https://github.com/vuejs/core/issues/11733) [vuejs/language-tools#4704](https://github.com/vuejs/language-tools/issues/4704) ##### Performance Improvements - **hydration:** avoid observer if element is in viewport ([#&#8203;11639](https://github.com/vuejs/core/issues/11639)) ([e075dfa](https://github.com/vuejs/core/commit/e075dfad5c7649c6045e3711687ec888e7aa1a39)) ### [`v3.5.6`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#356-2024-09-16) [Compare Source](https://github.com/vuejs/core/compare/v3.5.5...v3.5.6) ##### Bug Fixes - **compile-dom:** should be able to stringify mathML ([#&#8203;11891](https://github.com/vuejs/core/issues/11891)) ([85c138c](https://github.com/vuejs/core/commit/85c138ced108268f7656b568dfd3036a1e0aae34)) - **compiler-sfc:** preserve old behavior when using withDefaults with desutructure ([8492c3c](https://github.com/vuejs/core/commit/8492c3c49a922363d6c77ef192c133a8fbce6514)), closes [#&#8203;11930](https://github.com/vuejs/core/issues/11930) - **reactivity:** avoid exponential perf cost and reduce call stack depth for deeply chained computeds ([#&#8203;11944](https://github.com/vuejs/core/issues/11944)) ([c74bb8c](https://github.com/vuejs/core/commit/c74bb8c2dd9e82aaabb0a2a2b368e900929b513b)), closes [#&#8203;11928](https://github.com/vuejs/core/issues/11928) - **reactivity:** rely on dirty check only when computed has deps ([#&#8203;11931](https://github.com/vuejs/core/issues/11931)) ([aa5dafd](https://github.com/vuejs/core/commit/aa5dafd2b55d42d6a29316a3bc91aea85c676a0b)), closes [#&#8203;11929](https://github.com/vuejs/core/issues/11929) - **watch:** `once` option should be ignored by watchEffect ([#&#8203;11884](https://github.com/vuejs/core/issues/11884)) ([49fa673](https://github.com/vuejs/core/commit/49fa673493d93b77ddba2165ab6545bae84fd1ae)) - **watch:** unwatch should be callable during SSR ([#&#8203;11925](https://github.com/vuejs/core/issues/11925)) ([2d6adf7](https://github.com/vuejs/core/commit/2d6adf78a047eed091db277ffbd9df0822fb0bdd)), closes [#&#8203;11924](https://github.com/vuejs/core/issues/11924) ### [`v3.5.5`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#355-2024-09-13) [Compare Source](https://github.com/vuejs/core/compare/v3.5.4...v3.5.5) ##### Bug Fixes - **compiler-core:** fix handling of delimiterOpen in VPre ([#&#8203;11915](https://github.com/vuejs/core/issues/11915)) ([706d4ac](https://github.com/vuejs/core/commit/706d4ac1d0210b2d9134b3228280187fe02fc971)), closes [#&#8203;11913](https://github.com/vuejs/core/issues/11913) - **compiler-dom:** fix stringify static edge for partially eligible chunks in cached parent ([1d99d61](https://github.com/vuejs/core/commit/1d99d61c1bd77f9ea6743f6214a82add8346a121)), closes [#&#8203;11879](https://github.com/vuejs/core/issues/11879) [#&#8203;11890](https://github.com/vuejs/core/issues/11890) - **compiler-dom:** should ignore leading newline in <textarea> per spec ([3c4bf76](https://github.com/vuejs/core/commit/3c4bf7627649ec1e3220f8c4e4163c20d2afb367)) - **compiler-sfc:** nested css supports atrule and comment ([#&#8203;11899](https://github.com/vuejs/core/issues/11899)) ([0e7bc71](https://github.com/vuejs/core/commit/0e7bc717e6640644f062957ec5031506f0dab215)), closes [#&#8203;11896](https://github.com/vuejs/core/issues/11896) - **custom-element:** handle nested customElement mount w/ shadowRoot false ([#&#8203;11861](https://github.com/vuejs/core/issues/11861)) ([f2d8019](https://github.com/vuejs/core/commit/f2d801918841e7673ff3f048d0d895592a2f7e23)), closes [#&#8203;11851](https://github.com/vuejs/core/issues/11851) [#&#8203;11871](https://github.com/vuejs/core/issues/11871) - **hmr:** reload async child wrapped in Suspense + KeepAlive ([#&#8203;11907](https://github.com/vuejs/core/issues/11907)) ([10a2c60](https://github.com/vuejs/core/commit/10a2c6053bd30d160d0214bb3566f540187e6874)), closes [#&#8203;11868](https://github.com/vuejs/core/issues/11868) - **hydration:** fix mismatch of leading newline in `<textarea>` and `<pre>` ([a5f3c2e](https://github.com/vuejs/core/commit/a5f3c2eb4d2e7fae93ff93ce865b269f01cc825e)), closes [#&#8203;11873](https://github.com/vuejs/core/issues/11873) [#&#8203;11874](https://github.com/vuejs/core/issues/11874) - **reactivity:** properly clean up deps, fix memory leak ([8ea5d6d](https://github.com/vuejs/core/commit/8ea5d6d6981ab7febda0be43c3c92b18869c3a2a)), closes [#&#8203;11901](https://github.com/vuejs/core/issues/11901) - **runtime-core:** properly update async component nested in KeepAlive ([#&#8203;11917](https://github.com/vuejs/core/issues/11917)) ([7fe6c79](https://github.com/vuejs/core/commit/7fe6c795a1fc7ddcea5ad91a56141561192373ac)), closes [#&#8203;11916](https://github.com/vuejs/core/issues/11916) - **TransitionGroup:** not warn unkeyed text children with whitespece preserve ([#&#8203;11888](https://github.com/vuejs/core/issues/11888)) ([7571f20](https://github.com/vuejs/core/commit/7571f20bc3d1854377a146f41d211e05bb68cd47)), closes [#&#8203;11885](https://github.com/vuejs/core/issues/11885) ### [`v3.5.4`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#354-2024-09-10) [Compare Source](https://github.com/vuejs/core/compare/v3.5.3...v3.5.4) ##### Bug Fixes - **compiler-sfc:** correct scoped injection for nesting selector ([#&#8203;11854](https://github.com/vuejs/core/issues/11854)) ([b1de75e](https://github.com/vuejs/core/commit/b1de75ed04626b6423085dfde91fb0cb481a25e8)), closes [#&#8203;10567](https://github.com/vuejs/core/issues/10567) - **reactivity:** fix markRaw error on already marked object ([#&#8203;11864](https://github.com/vuejs/core/issues/11864)) ([67d6596](https://github.com/vuejs/core/commit/67d6596d40b1807b9cd8eb0d9282932ea77be3c0)), closes [#&#8203;11862](https://github.com/vuejs/core/issues/11862) - Revert "fix: Revert "fix(reactivity): self-referencing computed should refresh"" ([e596378](https://github.com/vuejs/core/commit/e596378e0be728dad7d60938449f3fa557ca2ec9)) - **runtime-core:** handle shallow reactive arrays in renderList correctly ([#&#8203;11870](https://github.com/vuejs/core/issues/11870)) ([ced59ab](https://github.com/vuejs/core/commit/ced59ab8f2f2e89c13119bab3a0c25a1a1f1c3d6)), closes [#&#8203;11869](https://github.com/vuejs/core/issues/11869) - **types:** correctly infer `TypeEmits` with both tuple and function syntax ([#&#8203;11840](https://github.com/vuejs/core/issues/11840)) ([dad6738](https://github.com/vuejs/core/commit/dad673809929c084dcb8e42640eb7daa675d4ea4)), closes [#&#8203;11836](https://github.com/vuejs/core/issues/11836) ##### Performance Improvements - **reactivity:** trigger deps directly instead of storing in an array first ([#&#8203;11695](https://github.com/vuejs/core/issues/11695)) ([f80d447](https://github.com/vuejs/core/commit/f80d447c17662556e9e3f99f6d199967f4c8cf3d)) ### [`v3.5.3`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#353-2024-09-06) [Compare Source](https://github.com/vuejs/core/compare/v3.5.2...v3.5.3) ##### Bug Fixes - **hydration:** check \_\_asyncHydrate presence for vue3-lazy-hydration compat ([#&#8203;11825](https://github.com/vuejs/core/issues/11825)) ([8e6c337](https://github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9)), closes [#&#8203;11793](https://github.com/vuejs/core/issues/11793) - Revert "fix(reactivity): self-referencing computed should refresh" ([35c760f](https://github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f)) - **ssr:** respect app.config.warnHandler during ssr ([bf3d9a2](https://github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af)), closes [#&#8203;11830](https://github.com/vuejs/core/issues/11830) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#&#8203;11833](https://github.com/vuejs/core/issues/11833)) ([6b7901d](https://github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62)), closes [#&#8203;11775](https://github.com/vuejs/core/issues/11775) - **useId:** make generated IDs selector compatible ([babfb4c](https://github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710)), closes [#&#8203;11828](https://github.com/vuejs/core/issues/11828) ### [`v3.5.2`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#352-2024-09-05) [Compare Source](https://github.com/vuejs/core/compare/v3.5.1...v3.5.2) ##### Bug Fixes - **reactivity:** make toRaw work on proxies created by proxyRef ([46c3ab1](https://github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d)) - **reactivity:** pass oldValue to computed getter ([#&#8203;11813](https://github.com/vuejs/core/issues/11813)) ([98864a7](https://github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81)), closes [#&#8203;11812](https://github.com/vuejs/core/issues/11812) - **reactivity:** prevent endless recursion in computed getters ([#&#8203;11797](https://github.com/vuejs/core/issues/11797)) ([716275d](https://github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2)) - **reactivity:** self-referencing computed should refresh ([e84c4a6](https://github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2)), closes [/github.com/vuejs/core/pull/11797#issuecomment-2330738633](https://github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633) - **scheduler:** prevent duplicate jobs being queued ([#&#8203;11826](https://github.com/vuejs/core/issues/11826)) ([df56cc5](https://github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee)), closes [#&#8203;11712](https://github.com/vuejs/core/issues/11712) [#&#8203;11807](https://github.com/vuejs/core/issues/11807) - **suspense:** avoid updating anchor if activeBranch has not been rendered to the actual container ([#&#8203;11818](https://github.com/vuejs/core/issues/11818)) ([3c0d531](https://github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795)), closes [#&#8203;11806](https://github.com/vuejs/core/issues/11806) - **Transition:** handle KeepAlive child unmount in Transition out-in mode ([#&#8203;11778](https://github.com/vuejs/core/issues/11778)) ([3116553](https://github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00)), closes [#&#8203;11775](https://github.com/vuejs/core/issues/11775) - **types:** add HTMLDialogElement missing close event ([#&#8203;11811](https://github.com/vuejs/core/issues/11811)) ([3634f7a](https://github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01)) - **types:** added name attribute support to details tag ([#&#8203;11823](https://github.com/vuejs/core/issues/11823)) ([c74176e](https://github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549)), closes [#&#8203;11821](https://github.com/vuejs/core/issues/11821) - **types:** fix defineComponent props inference when setup() has explicit annotation ([fca20a3](https://github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a)), closes [#&#8203;11803](https://github.com/vuejs/core/issues/11803) - **useTemplateRef:** properly fix readonly warning in dev and ensure prod behavior consistency ([9b7797d](https://github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc)), closes [#&#8203;11808](https://github.com/vuejs/core/issues/11808) [#&#8203;11816](https://github.com/vuejs/core/issues/11816) [#&#8203;11810](https://github.com/vuejs/core/issues/11810) ##### Features - **compiler-core:** parse modifiers as expression to provide location data ([#&#8203;11819](https://github.com/vuejs/core/issues/11819)) ([3f13203](https://github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75)) ### [`v3.5.1`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#3517-2025-06-18) [Compare Source](https://github.com/vuejs/core/compare/v3.5.0...v3.5.1) ##### Bug Fixes - **compat:** allow v-model built in modifiers on component ([#&#8203;12654](https://github.com/vuejs/core/issues/12654)) ([cb14b86](https://github.com/vuejs/core/commit/cb14b860f150c4a83bcd52cd26096b7a5aa3a2bf)), closes [#&#8203;12652](https://github.com/vuejs/core/issues/12652) - **compile-sfc:** handle mapped types work with omit and pick ([#&#8203;12648](https://github.com/vuejs/core/issues/12648)) ([4eb46e4](https://github.com/vuejs/core/commit/4eb46e443f1878199755cb73d481d318a9714392)), closes [#&#8203;12647](https://github.com/vuejs/core/issues/12647) - **compiler-core:** do not increase newlines in `InEntity` state ([#&#8203;13362](https://github.com/vuejs/core/issues/13362)) ([f05a8d6](https://github.com/vuejs/core/commit/f05a8d613bd873b811cfdb9979ccac8382dba322)) - **compiler-core:** ignore whitespace when matching adjacent v-if ([#&#8203;12321](https://github.com/vuejs/core/issues/12321)) ([10ebcef](https://github.com/vuejs/core/commit/10ebcef8c870dbc042b0ea49b1424b2e8f692145)), closes [#&#8203;9173](https://github.com/vuejs/core/issues/9173) - **compiler-core:** prevent comments from blocking static node hoisting ([#&#8203;13345](https://github.com/vuejs/core/issues/13345)) ([55dad62](https://github.com/vuejs/core/commit/55dad625acd9e9ddd5a933d5e323ecfdec1a612f)), closes [#&#8203;13344](https://github.com/vuejs/core/issues/13344) - **compiler-sfc:** improved type resolution for function type aliases ([#&#8203;13452](https://github.com/vuejs/core/issues/13452)) ([f3479aa](https://github.com/vuejs/core/commit/f3479aac9625f4459e650d1c0a70e73863147903)), closes [#&#8203;13444](https://github.com/vuejs/core/issues/13444) - **custom-element:** ensure configureApp is applied to async component ([#&#8203;12607](https://github.com/vuejs/core/issues/12607)) ([5ba1afb](https://github.com/vuejs/core/commit/5ba1afba09c3ea56c1c17484f5d8aeae210ce52a)), closes [#&#8203;12448](https://github.com/vuejs/core/issues/12448) - **custom-element:** prevent injecting child styles if shadowRoot is false ([#&#8203;12769](https://github.com/vuejs/core/issues/12769)) ([73055d8](https://github.com/vuejs/core/commit/73055d8d9578d485e3fe846726b50666e1aa56f5)), closes [#&#8203;12630](https://github.com/vuejs/core/issues/12630) - **reactivity:** add `__v_skip` flag to `Dep` to prevent reactive conversion ([#&#8203;12804](https://github.com/vuejs/core/issues/12804)) ([e8d8f5f](https://github.com/vuejs/core/commit/e8d8f5f604e821acc46b4200d5b06979c05af1c2)), closes [#&#8203;12803](https://github.com/vuejs/core/issues/12803) - **runtime-core:** unset old ref during patching when new ref is absent ([#&#8203;12900](https://github.com/vuejs/core/issues/12900)) ([47ddf98](https://github.com/vuejs/core/commit/47ddf986021dff8de68b0da72787e53a6c19de4c)), closes [#&#8203;12898](https://github.com/vuejs/core/issues/12898) - **slots:** make cache indexes marker non-enumerable ([#&#8203;13469](https://github.com/vuejs/core/issues/13469)) ([919c447](https://github.com/vuejs/core/commit/919c44744bba1f0c661c87d2059c3b429611aa7e)), closes [#&#8203;13468](https://github.com/vuejs/core/issues/13468) - **ssr:** handle initial selected state for select with v-model + v-for/v-if option ([#&#8203;13487](https://github.com/vuejs/core/issues/13487)) ([1552095](https://github.com/vuejs/core/commit/15520954f9f1c7f834175938a50dba5d4be0e6c4)), closes [#&#8203;13486](https://github.com/vuejs/core/issues/13486) - **types:** typo of `vOnce` and `vSlot` ([#&#8203;13343](https://github.com/vuejs/core/issues/13343)) ([762fae4](https://github.com/vuejs/core/commit/762fae4b57ad60602e5c84465a3bff562785b314)) ### [`v3.5.0`](https://github.com/vuejs/core/blob/HEAD/CHANGELOG.md#350-2024-09-03) [Compare Source](https://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 ([#&#8203;10397](https://github.com/vuejs/core/pull/10397)) ([05eb4e0](https://github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa)) - **reactivity**: Optimize array tracking ([#&#8203;9511](https://github.com/vuejs/core/pull/9511)) ([70196a4](https://github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e)) - **compiler-sfc:** enable reactive props destructure by default ([d2dac0e](https://github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d)) - **reactivity:** `onEffectCleanup` API ([2cc5615](https://github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004)), closes [#&#8203;10173](https://github.com/vuejs/core/issues/10173) - **reactivity:** add `failSilently` argument for `onScopeDispose` ([9a936aa](https://github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd)) - **reactivity/watch:** base `watch`, `getCurrentWatcher`, and `onWatcherCleanup` ([#&#8203;9927](https://github.com/vuejs/core/issues/9927)) ([205e5b5](https://github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72)) - **reactivity/watch:** add pause/resume for ReactiveEffect, EffectScope, and WatchHandle ([#&#8203;9651](https://github.com/vuejs/core/issues/9651)) ([267093c](https://github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582)) - **watch:** support passing number to `deep` option to control the watch depth ([#&#8203;9572](https://github.com/vuejs/core/issues/9572)) ([22f7d96](https://github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c)) - **types:** export `MultiWatchSources` type ([#&#8203;9563](https://github.com/vuejs/core/issues/9563)) ([998dca5](https://github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c)) - **types:** allow computed getter and setter types to be unrelated ([#&#8203;11472](https://github.com/vuejs/core/issues/11472)) ([a01675e](https://github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2)), closes [#&#8203;7271](https://github.com/vuejs/core/issues/7271) ##### SSR - **runtime-core:** `useId()` and `app.config.idPrefix` ([#&#8203;11404](https://github.com/vuejs/core/issues/11404)) ([73ef156](https://github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247)) - **hydration:** lazy hydration strategies for async components ([#&#8203;11458](https://github.com/vuejs/core/issues/11458)) ([d14a11c](https://github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4)) - **hydration:** support suppressing hydration mismatch via data-allow-mismatch ([94fb2b8](https://github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1)) ##### Custom Element - **custom-element:** `useHost()` helper ([775103a](https://github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0)) - **custom-element:** `useShadowRoot()` helper ([5a1a89b](https://github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282)), closes [#&#8203;6113](https://github.com/vuejs/core/issues/6113) [#&#8203;8195](https://github.com/vuejs/core/issues/8195) - **custom-element:** expose `this.$host` in Options API ([1ef8f46](https://github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50)) - **custom-element:** inject child components styles to custom element shadow root ([#&#8203;11517](https://github.com/vuejs/core/issues/11517)) ([56c76a8](https://github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1)), closes [#&#8203;4662](https://github.com/vuejs/core/issues/4662) [#&#8203;7941](https://github.com/vuejs/core/issues/7941) [#&#8203;7942](https://github.com/vuejs/core/issues/7942) - **custom-element:** support configurable app instance in defineCustomElement ([6758c3c](https://github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd)), closes [#&#8203;4356](https://github.com/vuejs/core/issues/4356) [#&#8203;4635](https://github.com/vuejs/core/issues/4635) - **custom-element:** support css `:host` selector by applying css vars on host element ([#&#8203;8830](https://github.com/vuejs/core/issues/8830)) ([03a9ea2](https://github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb)), closes [#&#8203;8826](https://github.com/vuejs/core/issues/8826) - **custom-element:** support emit with options ([e181bff](https://github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08)), closes [#&#8203;7605](https://github.com/vuejs/core/issues/7605) - **custom-element:** support expose on customElement ([#&#8203;6256](https://github.com/vuejs/core/issues/6256)) ([af838c1](https://github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624)), closes [#&#8203;5540](https://github.com/vuejs/core/issues/5540) - **custom-element:** support `nonce` option for injected style tags ([bb4a02a](https://github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded)), closes [#&#8203;6530](https://github.com/vuejs/core/issues/6530) - **custom-element:** support passing custom-element-specific options via 2nd argument of defineCustomElement ([60a88a2](https://github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e)) - **custom-element:** support `shadowRoot: false` in `defineCustomElement()` ([37d2ce5](https://github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e)), closes [#&#8203;4314](https://github.com/vuejs/core/issues/4314) [#&#8203;4404](https://github.com/vuejs/core/issues/4404) ##### Teleport - **teleport:** support deferred Teleport ([#&#8203;11387](https://github.com/vuejs/core/issues/11387)) ([59a3e88](https://github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef)), closes [#&#8203;2015](https://github.com/vuejs/core/issues/2015) [#&#8203;11386](https://github.com/vuejs/core/issues/11386) - **teleport/transition:** support directly nesting Teleport inside Transition ([#&#8203;6548](https://github.com/vuejs/core/issues/6548)) ([0e6e3c7](https://github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0)), closes [#&#8203;5836](https://github.com/vuejs/core/issues/5836) ##### Misc - **runtime-core:** `useTemplateRef()` ([3ba70e4](https://github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df)) - **runtime-core:** add `app.onUnmount()` for registering cleanup functions ([#&#8203;4619](https://github.com/vuejs/core/issues/4619)) ([582a3a3](https://github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e)), closes [#&#8203;4516](https://github.com/vuejs/core/issues/4516) - **runtime-core:** add `app.config.throwUnhandledErrorInProduction` ([f476b7f](https://github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0)), closes [#&#8203;7876](https://github.com/vuejs/core/issues/7876) - **runtime-dom:** Trusted Types compatibility ([#&#8203;10844](https://github.com/vuejs/core/issues/10844)) ([6d4eb94](https://github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5)) - **compiler-core:** support `Symbol` global in template expressions ([#&#8203;9069](https://github.com/vuejs/core/issues/9069)) ([a501a85](https://github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3)) - **types:** export more emit related types ([#&#8203;11017](https://github.com/vuejs/core/issues/11017)) ([189573d](https://github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733)) * **types:** add loading prop to iframe ([#&#8203;11767](https://github.com/vuejs/core/issues/11767)) ([d86fe0e](https://github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68)) ##### Internals - **reactivity:** store value cache on CustomRefs impls ([#&#8203;11539](https://github.com/vuejs/core/issues/11539)) ([e044b6e](https://github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292)) - **types:** provide internal options for directly using user types in language tools ([#&#8203;10801](https://github.com/vuejs/core/issues/10801)) ([75c8cf6](https://github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9)) - **types:** provide internal options for using refs type in language tools ([#&#8203;11492](https://github.com/vuejs/core/issues/11492)) ([5ffd1a8](https://github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76)) #### Bug Fixes - **compiler-sfc:** fix import usage check for kebab-case same name shorthand binding ([0f7c0e5](https://github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354)), closes [#&#8203;11745](https://github.com/vuejs/core/issues/11745) [#&#8203;11754](https://github.com/vuejs/core/issues/11754) - **cssVars:** correctly escape double quotes in SSR ([#&#8203;11784](https://github.com/vuejs/core/issues/11784)) ([7b5b6e0](https://github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a)), closes [#&#8203;11779](https://github.com/vuejs/core/issues/11779) - **deps:** update dependency postcss to ^8.4.44 ([#&#8203;11774](https://github.com/vuejs/core/issues/11774)) ([cb843e0](https://github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505)) - **hydration:** escape css var name to avoid mismatch ([#&#8203;11739](https://github.com/vuejs/core/issues/11739)) ([ca12e77](https://github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37)), closes [#&#8203;11735](https://github.com/vuejs/core/issues/11735) - **hydration:** handle text nodes with 0 during hydration ([#&#8203;11772](https://github.com/vuejs/core/issues/11772)) ([c756da2](https://github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5)), closes [#&#8203;11771](https://github.com/vuejs/core/issues/11771) - **reactivity:** correctly handle method calls on user-extended arrays ([#&#8203;11760](https://github.com/vuejs/core/issues/11760)) ([9817c80](https://github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd)), closes [#&#8203;11759](https://github.com/vuejs/core/issues/11759) - **runtime-dom:** avoid unnecessary prop patch for checkbox ([#&#8203;11657](https://github.com/vuejs/core/issues/11657)) ([c3ce9fe](https://github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab)), closes [#&#8203;11647](https://github.com/vuejs/core/issues/11647) - **runtime-dom:** prevent unnecessary DOM update from v-model ([#&#8203;11656](https://github.com/vuejs/core/issues/11656)) ([b1be9bd](https://github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9)), closes [#&#8203;11647](https://github.com/vuejs/core/issues/11647) - **server-renderer:** Fix call to serverPrefetch in server renderer with an async setup ([#&#8203;10893](https://github.com/vuejs/core/issues/10893)) ([6039e25](https://github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab)) - **server-renderer:** render `className` during SSR ([#&#8203;11722](https://github.com/vuejs/core/issues/11722)) ([52cdb0f](https://github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565)) - **types/defineModel:** allow getter and setter types to be unrelated ([#&#8203;11699](https://github.com/vuejs/core/issues/11699)) ([fe07f70](https://github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96)), closes [#&#8203;11697](https://github.com/vuejs/core/issues/11697) ### [`v3.4.38`](https://github.com/vuejs/core/releases/tag/v3.4.38) [Compare Source](https://github.com/vuejs/core/compare/v3.4.37...v3.4.38) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.37`](https://github.com/vuejs/core/releases/tag/v3.4.37) [Compare Source](https://github.com/vuejs/core/compare/v3.4.36...v3.4.37) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.36`](https://github.com/vuejs/core/releases/tag/v3.4.36) [Compare Source](https://github.com/vuejs/core/compare/v3.4.35...v3.4.36) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.35`](https://github.com/vuejs/core/releases/tag/v3.4.35) [Compare Source](https://github.com/vuejs/core/compare/v3.4.34...v3.4.35) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.34`](https://github.com/vuejs/core/releases/tag/v3.4.34) [Compare Source](https://github.com/vuejs/core/compare/v3.4.33...v3.4.34) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.33`](https://github.com/vuejs/core/releases/tag/v3.4.33) [Compare Source](https://github.com/vuejs/core/compare/v3.4.32...v3.4.33) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.32`](https://github.com/vuejs/core/releases/tag/v3.4.32) [Compare Source](https://github.com/vuejs/core/compare/v3.4.31...v3.4.32) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.31`](https://github.com/vuejs/core/releases/tag/v3.4.31) [Compare Source](https://github.com/vuejs/core/compare/v3.4.30...v3.4.31) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.30`](https://github.com/vuejs/core/releases/tag/v3.4.30) [Compare Source](https://github.com/vuejs/core/compare/v3.4.29...v3.4.30) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.29`](https://github.com/vuejs/core/releases/tag/v3.4.29) [Compare Source](https://github.com/vuejs/core/compare/v3.4.28...v3.4.29) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.28`](https://github.com/vuejs/core/releases/tag/v3.4.28) [Compare Source](https://github.com/vuejs/core/compare/v3.4.27...v3.4.28) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.27`](https://github.com/vuejs/core/releases/tag/v3.4.27) [Compare Source](https://github.com/vuejs/core/compare/v3.4.26...v3.4.27) For stable releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. For pre-releases, please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/minor/CHANGELOG.md) of the `minor` branch. ### [`v3.4.26`](https://github.com/vuejs/core/releases/tag/v3.4.26) [Compare Source](https://github.com/vuejs/core/compare/v3.4.25...v3.4.26) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.25`](https://github.com/vuejs/core/releases/tag/v3.4.25) [Compare Source](https://github.com/vuejs/core/compare/v3.4.24...v3.4.25) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.24`](https://github.com/vuejs/core/releases/tag/v3.4.24) [Compare Source](https://github.com/vuejs/core/compare/v3.4.23...v3.4.24) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.23`](https://github.com/vuejs/core/releases/tag/v3.4.23) [Compare Source](https://github.com/vuejs/core/compare/v3.4.22...v3.4.23) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.22`](https://github.com/vuejs/core/releases/tag/v3.4.22) [Compare Source](https://github.com/vuejs/core/compare/v3.4.21...v3.4.22) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.21`](https://github.com/vuejs/core/releases/tag/v3.4.21) [Compare Source](https://github.com/vuejs/core/compare/v3.4.20...v3.4.21) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.20`](https://github.com/vuejs/core/releases/tag/v3.4.20) [Compare Source](https://github.com/vuejs/core/compare/v3.4.19...v3.4.20) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.19`](https://github.com/vuejs/core/releases/tag/v3.4.19) [Compare Source](https://github.com/vuejs/core/compare/v3.4.18...v3.4.19) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.18`](https://github.com/vuejs/core/releases/tag/v3.4.18) [Compare Source](https://github.com/vuejs/core/compare/v3.4.17...v3.4.18) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.17`](https://github.com/vuejs/core/releases/tag/v3.4.17) [Compare Source](https://github.com/vuejs/core/compare/v3.4.16...v3.4.17) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.16`](https://github.com/vuejs/core/releases/tag/v3.4.16) [Compare Source](https://github.com/vuejs/core/compare/v3.4.15...v3.4.16) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.15`](https://github.com/vuejs/core/releases/tag/v3.4.15) [Compare Source](https://github.com/vuejs/core/compare/v3.4.14...v3.4.15) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.14`](https://github.com/vuejs/core/releases/tag/v3.4.14) [Compare Source](https://github.com/vuejs/core/compare/v3.4.13...v3.4.14) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.13`](https://github.com/vuejs/core/releases/tag/v3.4.13) [Compare Source](https://github.com/vuejs/core/compare/v3.4.12...v3.4.13) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.12`](https://github.com/vuejs/core/releases/tag/v3.4.12) [Compare Source](https://github.com/vuejs/core/compare/v3.4.11...v3.4.12) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.11`](https://github.com/vuejs/core/releases/tag/v3.4.11) [Compare Source](https://github.com/vuejs/core/compare/v3.4.10...v3.4.11) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.10`](https://github.com/vuejs/core/releases/tag/v3.4.10) [Compare Source](https://github.com/vuejs/core/compare/v3.4.9...v3.4.10) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.9`](https://github.com/vuejs/core/releases/tag/v3.4.9) [Compare Source](https://github.com/vuejs/core/compare/v3.4.8...v3.4.9) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.8`](https://github.com/vuejs/core/releases/tag/v3.4.8) [Compare Source](https://github.com/vuejs/core/compare/v3.4.7...v3.4.8) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.7`](https://github.com/vuejs/core/releases/tag/v3.4.7) [Compare Source](https://github.com/vuejs/core/compare/v3.4.6...v3.4.7) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.6`](https://github.com/vuejs/core/releases/tag/v3.4.6) [Compare Source](https://github.com/vuejs/core/compare/v3.4.5...v3.4.6) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.5`](https://github.com/vuejs/core/releases/tag/v3.4.5) [Compare Source](https://github.com/vuejs/core/compare/v3.4.4...v3.4.5) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.4`](https://github.com/vuejs/core/releases/tag/v3.4.4) [Compare Source](https://github.com/vuejs/core/compare/v3.4.3...v3.4.4) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.3`](https://github.com/vuejs/core/releases/tag/v3.4.3) [Compare Source](https://github.com/vuejs/core/compare/v3.4.2...v3.4.3) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.2`](https://github.com/vuejs/core/releases/tag/v3.4.2) [Compare Source](https://github.com/vuejs/core/compare/v3.4.1...v3.4.2) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.1`](https://github.com/vuejs/core/releases/tag/v3.4.1) [Compare Source](https://github.com/vuejs/core/compare/v3.4.0...v3.4.1) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.4.0`](https://github.com/vuejs/core/releases/tag/v3.4.0) [Compare Source](https://github.com/vuejs/core/compare/v3.3.13...v3.4.0) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.13`](https://github.com/vuejs/core/releases/tag/v3.3.13) [Compare Source](https://github.com/vuejs/core/compare/v3.3.12...v3.3.13) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.12`](https://github.com/vuejs/core/releases/tag/v3.3.12) [Compare Source](https://github.com/vuejs/core/compare/v3.3.11...v3.3.12) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.11`](https://github.com/vuejs/core/releases/tag/v3.3.11) [Compare Source](https://github.com/vuejs/core/compare/v3.3.10...v3.3.11) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.10`](https://github.com/vuejs/core/releases/tag/v3.3.10) [Compare Source](https://github.com/vuejs/core/compare/v3.3.9...v3.3.10) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.9`](https://github.com/vuejs/core/releases/tag/v3.3.9) [Compare Source](https://github.com/vuejs/core/compare/v3.3.8...v3.3.9) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.8`](https://github.com/vuejs/core/releases/tag/v3.3.8) [Compare Source](https://github.com/vuejs/core/compare/v3.3.7...v3.3.8) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.7`](https://github.com/vuejs/core/releases/tag/v3.3.7) [Compare Source](https://github.com/vuejs/core/compare/v3.3.6...v3.3.7) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.6`](https://github.com/vuejs/core/releases/tag/v3.3.6) [Compare Source](https://github.com/vuejs/core/compare/v3.3.5...v3.3.6) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.5`](https://github.com/vuejs/core/releases/tag/v3.3.5) [Compare Source](https://github.com/vuejs/core/compare/v3.3.4...v3.3.5) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.4`](https://github.com/vuejs/core/releases/tag/v3.3.4) [Compare Source](https://github.com/vuejs/core/compare/v3.3.3...v3.3.4) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.3`](https://github.com/vuejs/core/releases/tag/v3.3.3) [Compare Source](https://github.com/vuejs/core/compare/v3.3.2...v3.3.3) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.2`](https://github.com/vuejs/core/releases/tag/v3.3.2) [Compare Source](https://github.com/vuejs/core/compare/v3.3.1...v3.3.2) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.1`](https://github.com/vuejs/core/releases/tag/v3.3.1) [Compare Source](https://github.com/vuejs/core/compare/v3.3.0...v3.3.1) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.3.0`](https://github.com/vuejs/core/releases/tag/v3.3.0): &quot;Rurouni Kenshin&quot; [Compare Source](https://github.com/vuejs/core/compare/v3.2.47...v3.3.0) Please refer to [the release blog post](https://blog.vuejs.org/posts/vue-3-3) for details. ### [`v3.2.47`](https://github.com/vuejs/core/releases/tag/v3.2.47) [Compare Source](https://github.com/vuejs/core/compare/v3.2.46...v3.2.47) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.46`](https://github.com/vuejs/core/releases/tag/v3.2.46) [Compare Source](https://github.com/vuejs/core/compare/v3.2.45...v3.2.46) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.45`](https://github.com/vuejs/core/releases/tag/v3.2.45) [Compare Source](https://github.com/vuejs/core/compare/v3.2.44...v3.2.45) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.44`](https://github.com/vuejs/core/releases/tag/v3.2.44) [Compare Source](https://github.com/vuejs/core/compare/v3.2.43...v3.2.44) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.43`](https://github.com/vuejs/core/releases/tag/v3.2.43) [Compare Source](https://github.com/vuejs/core/compare/v3.2.42...v3.2.43) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.42`](https://github.com/vuejs/core/releases/tag/v3.2.42) [Compare Source](https://github.com/vuejs/core/compare/v3.2.41...v3.2.42) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.41`](https://github.com/vuejs/core/releases/tag/v3.2.41) [Compare Source](https://github.com/vuejs/core/compare/v3.2.40...v3.2.41) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.40`](https://github.com/vuejs/core/releases/tag/v3.2.40) [Compare Source](https://github.com/vuejs/core/compare/v3.2.39...v3.2.40) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.39`](https://github.com/vuejs/core/releases/tag/v3.2.39) [Compare Source](https://github.com/vuejs/core/compare/v3.2.38...v3.2.39) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.38`](https://github.com/vuejs/core/releases/tag/v3.2.38) [Compare Source](https://github.com/vuejs/core/compare/v3.2.37...v3.2.38) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.37`](https://github.com/vuejs/core/releases/tag/v3.2.37) [Compare Source](https://github.com/vuejs/core/compare/v3.2.36...v3.2.37) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.36`](https://github.com/vuejs/core/releases/tag/v3.2.36) [Compare Source](https://github.com/vuejs/core/compare/v3.2.35...v3.2.36) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.35`](https://github.com/vuejs/core/releases/tag/v3.2.35) [Compare Source](https://github.com/vuejs/core/compare/v3.2.34...v3.2.35) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.34`](https://github.com/vuejs/core/releases/tag/v3.2.34) [Compare Source](https://github.com/vuejs/core/compare/v3.2.33...v3.2.34) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.33`](https://github.com/vuejs/core/releases/tag/v3.2.33) [Compare Source](https://github.com/vuejs/core/compare/v3.2.32...v3.2.33) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.32`](https://github.com/vuejs/core/releases/tag/v3.2.32) [Compare Source](https://github.com/vuejs/core/compare/v3.2.31...v3.2.32) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.31`](https://github.com/vuejs/core/releases/tag/v3.2.31) [Compare Source](https://github.com/vuejs/core/compare/v3.2.30...v3.2.31) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.30`](https://github.com/vuejs/core/releases/tag/v3.2.30) [Compare Source](https://github.com/vuejs/core/compare/v3.2.29...v3.2.30) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.29`](https://github.com/vuejs/core/releases/tag/v3.2.29) [Compare Source](https://github.com/vuejs/core/compare/v3.2.28...v3.2.29) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.28`](https://github.com/vuejs/core/releases/tag/v3.2.28) [Compare Source](https://github.com/vuejs/core/compare/v3.2.27...v3.2.28) Please refer to [CHANGELOG.md](https://github.com/vuejs/core/blob/main/CHANGELOG.md) for details. ### [`v3.2.27`](https://github.com/vuejs/core/releases/tag/v3.2.27) [Compare Source](https://github.com/vuejs/core/compare/v3.2.26...v3.2.27) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.26`](https://github.com/vuejs/core/releases/tag/v3.2.26) [Compare Source](https://github.com/vuejs/core/compare/v3.2.25...v3.2.26) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.25`](https://github.com/vuejs/core/releases/tag/v3.2.25) [Compare Source](https://github.com/vuejs/core/compare/v3.2.24...v3.2.25) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.24`](https://github.com/vuejs/core/releases/tag/v3.2.24) [Compare Source](https://github.com/vuejs/core/compare/v3.2.23...v3.2.24) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.23`](https://github.com/vuejs/core/releases/tag/v3.2.23) [Compare Source](https://github.com/vuejs/core/compare/v3.2.22...v3.2.23) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.22`](https://github.com/vuejs/core/releases/tag/v3.2.22) [Compare Source](https://github.com/vuejs/core/compare/v3.2.21...v3.2.22) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.21`](https://github.com/vuejs/core/releases/tag/v3.2.21) [Compare Source](https://github.com/vuejs/core/compare/v3.2.20...v3.2.21) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.20`](https://github.com/vuejs/core/releases/tag/v3.2.20) [Compare Source](https://github.com/vuejs/core/compare/v3.2.19...v3.2.20) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.19`](https://github.com/vuejs/core/releases/tag/v3.2.19) [Compare Source](https://github.com/vuejs/core/compare/v3.2.18...v3.2.19) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.18`](https://github.com/vuejs/core/releases/tag/v3.2.18) [Compare Source](https://github.com/vuejs/core/compare/v3.2.17...v3.2.18) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.17`](https://github.com/vuejs/core/releases/tag/v3.2.17) [Compare Source](https://github.com/vuejs/core/compare/v3.2.16...v3.2.17) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.16`](https://github.com/vuejs/core/releases/tag/v3.2.16) [Compare Source](https://github.com/vuejs/core/compare/v3.2.15...v3.2.16) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.15`](https://github.com/vuejs/core/releases/tag/v3.2.15) [Compare Source](https://github.com/vuejs/core/compare/v3.2.14...v3.2.15) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.14`](https://github.com/vuejs/core/releases/tag/v3.2.14) [Compare Source](https://github.com/vuejs/core/compare/v3.2.13...v3.2.14) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.13`](https://github.com/vuejs/core/releases/tag/v3.2.13) [Compare Source](https://github.com/vuejs/core/compare/v3.2.12...v3.2.13) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.12`](https://github.com/vuejs/core/releases/tag/v3.2.12) [Compare Source](https://github.com/vuejs/core/compare/v3.2.11...v3.2.12) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.11`](https://github.com/vuejs/core/releases/tag/v3.2.11) [Compare Source](https://github.com/vuejs/core/compare/v3.2.10...v3.2.11) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.10`](https://github.com/vuejs/core/releases/tag/v3.2.10) [Compare Source](https://github.com/vuejs/core/compare/v3.2.9...v3.2.10) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.9`](https://github.com/vuejs/core/releases/tag/v3.2.9) [Compare Source](https://github.com/vuejs/core/compare/v3.2.8...v3.2.9) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.8`](https://github.com/vuejs/core/releases/tag/v3.2.8) [Compare Source](https://github.com/vuejs/core/compare/v3.2.7...v3.2.8) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.7`](https://github.com/vuejs/core/releases/tag/v3.2.7) [Compare Source](https://github.com/vuejs/core/compare/v3.2.6...v3.2.7) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.6`](https://github.com/vuejs/core/releases/tag/v3.2.6) [Compare Source](https://github.com/vuejs/core/compare/v3.2.5...v3.2.6) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.5`](https://github.com/vuejs/core/releases/tag/v3.2.5) [Compare Source](https://github.com/vuejs/core/compare/v3.2.4...v3.2.5) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.4`](https://github.com/vuejs/core/releases/tag/v3.2.4) [Compare Source](https://github.com/vuejs/core/compare/v3.2.3...v3.2.4) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.3`](https://github.com/vuejs/core/releases/tag/v3.2.3) [Compare Source](https://github.com/vuejs/core/compare/v3.2.2...v3.2.3) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.2`](https://github.com/vuejs/core/releases/tag/v3.2.2) [Compare Source](https://github.com/vuejs/core/compare/v3.2.1...v3.2.2) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.1`](https://github.com/vuejs/core/releases/tag/v3.2.1) [Compare Source](https://github.com/vuejs/core/compare/v3.2.0...v3.2.1) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.2.0`](https://github.com/vuejs/core/releases/tag/v3.2.0): Quintessential Quintuplets [Compare Source](https://github.com/vuejs/core/compare/v3.1.5...v3.2.0) Please refer to the [release blog post](https://blog.vuejs.org/posts/vue-3.2.html) and [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.1.5`](https://github.com/vuejs/core/releases/tag/v3.1.5) [Compare Source](https://github.com/vuejs/core/compare/v3.1.4...v3.1.5) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.1.4`](https://github.com/vuejs/core/releases/tag/v3.1.4) [Compare Source](https://github.com/vuejs/core/compare/v3.1.3...v3.1.4) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.1.3`](https://github.com/vuejs/core/releases/tag/v3.1.3) [Compare Source](https://github.com/vuejs/core/compare/v3.1.2...v3.1.3) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.1.2`](https://github.com/vuejs/core/releases/tag/v3.1.2) [Compare Source](https://github.com/vuejs/core/compare/v3.1.1...v3.1.2) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.1.1`](https://github.com/vuejs/core/releases/tag/v3.1.1) [Compare Source](https://github.com/vuejs/core/compare/v3.1.0...v3.1.1) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.1.0`](https://github.com/vuejs/core/releases/tag/v3.1.0): Pluto [Compare Source](https://github.com/vuejs/core/compare/v3.0.11...v3.1.0) #### Features - [Migration Build](https://v3.vuejs.org/guide/migration/migration-build.html): a build of Vue 3 that provides Vue 2 compatible behavior. The Migration Build is intended to help migrating existing Vue 2 apps to Vue 3. - **compiler-core:** whitespace handling strategy ([dee3d6a](https://github.com/vuejs/vue-next/commit/dee3d6ab8b4da6653d15eb148c51d9878007f6b6)) - support component-level `compilerOptions` when using runtime compiler ([ce0bbe0](https://github.com/vuejs/vue-next/commit/ce0bbe053abaf8ba18de8baf535e175048596ee5)) - **config:** support configuring runtime compiler via `app.config.compilerOptions` ([091e6d6](https://github.com/vuejs/vue-next/commit/091e6d67bfcc215227d78be578c68ead542481ad)) - support casting plain element to component via is="vue:xxx" ([af9e699](https://github.com/vuejs/vue-next/commit/af9e6999e1779f56b5cf827b97310d8e4e1fe5ec)) - **devtools:** improved KeepAlive support ([03ae300](https://github.com/vuejs/vue-next/commit/03ae3006e1e678ade4377cd10d206e8f7b4ad0cb)) - **devtools:** performance events ([f7c54ca](https://github.com/vuejs/vue-next/commit/f7c54caeb1dac69a26b79c98409e9633a7fe4bd3)) - onServerPrefetch ([#&#8203;3070](https://github.com/vuejs/vue-next/issues/3070)) ([349eb0f](https://github.com/vuejs/vue-next/commit/349eb0f0ad78f9cb491278eb4c7f9fe0c2e78b79)) #### Performance Improvements - only trigger `$attrs` update when it has actually changed ([5566d39](https://github.com/vuejs/vue-next/commit/5566d39d467ebdd4e4234bc97d62600ff01ea28e)) - **compiler:** skip unncessary checks when parsing end tag ([048ac29](https://github.com/vuejs/vue-next/commit/048ac299f35709b25ae1bc1efa67d2abc53dbc3b)) - avoid deopt for props/emits normalization when global mixins are used ([51d2be2](https://github.com/vuejs/vue-next/commit/51d2be20386d4dc59006d31a1cc96676871027ce)) #### Deprecations - `app.config.isCustomElement` has been deprecated and should be now nested under `app.config.compilerOptions`. \[[Docs](https://v3.vuejs.org/api/application-config.html#compileroptions)] - `delimiters` component option has been deprecated and should now be nested under the `compilerOptions` component option. \[[Docs](https://v3.vuejs.org/api/options-misc.html#compileroptions)] - `v-is` has been deprecated in favor of `is="vue:xxx"` \[[Docs](https://v3.vuejs.org/api/special-attributes.html#is)] #### Minor Breaking Changes - `this.$props` and the `props` object passed to `setup()` now always contain all the keys for declared props, even for props that are absent ([4fe4de0](https://github.com/vuejs/vue-next/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20)). This has always been the behavior in Vue 2 and is therefore considered a fix (see reasoning in [#&#8203;3288](https://github.com/vuejs/vue-next/issues/3288)). However, this could break Vue 3 code that relied on the keys for prop absence checks. The workaround is to use a Symbol default value for props that need absence checks: ```js const isAbsent = Symbol() export default { props: { foo: { default: isAbsent } }, setup(props) { if (props.foo === isAbsent) { // foo is absent } } } ``` - `optionMergeStrategies` functions no longer receive the component instance as the 3rd argument. The argument was technically internal in Vue 2 and only used for generating warnings, and should not be needed in userland code. This removal enables much more efficient caching of option merging. #### Bug Fixes - **compat:** revert private properties on $options in comapt mode ([ad844cf](https://github.com/vuejs/vue-next/commit/ad844cf1e767137a713f715779969ffb94207c7a)), closes [#&#8203;3883](https://github.com/vuejs/vue-next/issues/3883) - **runtime-core:** fix fragment update inside de-opt slots ([5bce2ae](https://github.com/vuejs/vue-next/commit/5bce2ae723d43f23ccfac961f29b80fc870fba1f)), closes [#&#8203;3881](https://github.com/vuejs/vue-next/issues/3881) * **compat:** fix deep data merge with extended constructor ([c7efb96](https://github.com/vuejs/vue-next/commit/c7efb967ca5ab42ea2713331b8e53ae5c2746a78)), closes [#&#8203;3852](https://github.com/vuejs/vue-next/issues/3852) * **compiler-sfc:** fix style injection when using normal script + setup ([8b94464](https://github.com/vuejs/vue-next/commit/8b94464a3b9759a7a98c23efeafc7a9359c9807d)), closes [#&#8203;3688](https://github.com/vuejs/vue-next/issues/3688) * **compiler-sfc:** fix template expression assignment codegen for script setup let refs ([#&#8203;3626](https://github.com/vuejs/vue-next/issues/3626)) ([2c7bd42](https://github.com/vuejs/vue-next/commit/2c7bd428011e027efa8f66487d2269c8dd79a2b0)), closes [#&#8203;3625](https://github.com/vuejs/vue-next/issues/3625) * **runtime-core:** align option merge behavior with Vue 2 ([e2ca67b](https://github.com/vuejs/vue-next/commit/e2ca67b59a4de57a9bce8d3394263ba493a35a39)), closes [#&#8203;3566](https://github.com/vuejs/vue-next/issues/3566) [#&#8203;2791](https://github.com/vuejs/vue-next/issues/2791) * **runtime-dom/v-model:** only set selectedIndex when the value changes ([#&#8203;3845](https://github.com/vuejs/vue-next/issues/3845)) ([ecd97ee](https://github.com/vuejs/vue-next/commit/ecd97ee6e465ec5c841d58d96833fece4e899785)) * **suspense:** fix suspense regression for errored template component ([44996d1](https://github.com/vuejs/vue-next/commit/44996d1a0a2de1bc6b3abfac6b2b8b3c969d4e01)), closes [#&#8203;3857](https://github.com/vuejs/vue-next/issues/3857) * **watch:** avoid traversing objects that are marked non-reactive ([9acc9a1](https://github.com/vuejs/vue-next/commit/9acc9a1fa838bdcdf673d2f7cc3f996b2b69ffbc)) * **compiler-core:** improve the isMemberExpression function ([#&#8203;3675](https://github.com/vuejs/vue-next/issues/3675)) ([9b2e894](https://github.com/vuejs/vue-next/commit/9b2e8940176b3b75fa052b3c3e9eeaabc46a95e6)) * **compiler-dom:** fix in-browser attribute value decoding w/ html tags ([6690372](https://github.com/vuejs/vue-next/commit/669037277b03bb8e67f517faf2811a8668ea86d6)), closes [#&#8203;3001](https://github.com/vuejs/vue-next/issues/3001) * **compiler-sfc:** correctly remove parens used for wrapping ([#&#8203;3582](https://github.com/vuejs/vue-next/issues/3582)) ([6bfb50a](https://github.com/vuejs/vue-next/commit/6bfb50aff98038a1f854ce24733f545eec2ee796)), closes [#&#8203;3581](https://github.com/vuejs/vue-next/issues/3581) * **reactivity:** ensure computed always expose value ([03a7a73](https://github.com/vuejs/vue-next/commit/03a7a73148a9e210a7889c7a2ecf925338735c70)), closes [#&#8203;3099](https://github.com/vuejs/vue-next/issues/3099) [#&#8203;910](https://github.com/vuejs/vue-next/issues/910) * **runtime-core:** fix cases of reused children arrays in render functions ([#&#8203;3670](https://github.com/vuejs/vue-next/issues/3670)) ([a641eb2](https://github.com/vuejs/vue-next/commit/a641eb201fe51620d50884b988f6fefc3e21a20b)), closes [#&#8203;3666](https://github.com/vuejs/vue-next/issues/3666) * **runtime-core:** fix resolving inheritAttrs from mixins ([#&#8203;3742](https://github.com/vuejs/vue-next/issues/3742)) ([d6607c9](https://github.com/vuejs/vue-next/commit/d6607c9864376fbe17899f3d35fc7b097670a1b1)), closes [#&#8203;3741](https://github.com/vuejs/vue-next/issues/3741) * **runtime-core:** should disable tracking inside directive lifecycle hooks ([#&#8203;3699](https://github.com/vuejs/vue-next/issues/3699)) ([ff50e8d](https://github.com/vuejs/vue-next/commit/ff50e8d78c033252c4ce7ffddb8069b3ddae5936)) * **runtime-core:** stricter compat root mount check ([32e2133](https://github.com/vuejs/vue-next/commit/32e21333dd1197a978cf42802729b2133bda5a0b)) * **runtime-dom:** should remove attribute when binding `null` to `value` ([#&#8203;3564](https://github.com/vuejs/vue-next/issues/3564)) ([e3f5dcb](https://github.com/vuejs/vue-next/commit/e3f5dcb99bf42fed48d995438e459203dc3f6ed0)) * **suspense:** fix suspense patching in optimized mode ([9f24195](https://github.com/vuejs/vue-next/commit/9f24195d2ce24184ccdc5020793dd9423f0d3148)), closes [#&#8203;3828](https://github.com/vuejs/vue-next/issues/3828) * **transition:** fix higher order transition components with merged listeners ([071986a](https://github.com/vuejs/vue-next/commit/071986a2c6459fd99b91a48793a9ab6d6618b52d)), closes [#&#8203;3227](https://github.com/vuejs/vue-next/issues/3227) * **keep-alive:** include/exclude should work with async component ([#&#8203;3531](https://github.com/vuejs/vue-next/issues/3531)) ([9e3708c](https://github.com/vuejs/vue-next/commit/9e3708ca754c0ecd66dbb45984f8d103772bd55c)), closes [#&#8203;3529](https://github.com/vuejs/vue-next/issues/3529) * **runtime-core:** properly check forwarded slots type ([#&#8203;3781](https://github.com/vuejs/vue-next/issues/3781)) ([e8ddf86](https://github.com/vuejs/vue-next/commit/e8ddf8608021785c7b1b6f4211c633b40f26ddfc)), closes [#&#8203;3779](https://github.com/vuejs/vue-next/issues/3779) * **runtime-core:** should not track dynamic children when the user calls a compiled slot inside template expression ([#&#8203;3554](https://github.com/vuejs/vue-next/issues/3554)) ([2010607](https://github.com/vuejs/vue-next/commit/201060717d4498b4b7933bf8a8513866ab9347e4)), closes [#&#8203;3548](https://github.com/vuejs/vue-next/issues/3548) [#&#8203;3569](https://github.com/vuejs/vue-next/issues/3569) * **runtime-core/teleport:** ensure the nested teleport can be unmounted correctly ([#&#8203;3629](https://github.com/vuejs/vue-next/issues/3629)) ([4e3f82f](https://github.com/vuejs/vue-next/commit/4e3f82f6835472650741896e19fbdc116d86d1eb)), closes [#&#8203;3623](https://github.com/vuejs/vue-next/issues/3623) * **scheduler:** handle preFlush cb queued inside postFlush cb ([b57e995](https://github.com/vuejs/vue-next/commit/b57e995edd29eff685aeaf40712e0e029073d1cb)), closes [#&#8203;3806](https://github.com/vuejs/vue-next/issues/3806) * **ssr:** handle hydrated async component unmounted before resolve ([b46a4dc](https://github.com/vuejs/vue-next/commit/b46a4dccf656280f9905e1bdc47022cb01c062c3)), closes [#&#8203;3787](https://github.com/vuejs/vue-next/issues/3787) * **watch:** should not leak this context to setup watch getters ([1526f94](https://github.com/vuejs/vue-next/commit/1526f94edf023899490d7c58afcf36b051e25b6c)), closes [#&#8203;3603](https://github.com/vuejs/vue-next/issues/3603) * **compat:** avoid accidentally delete the modelValue prop ([#&#8203;3772](https://github.com/vuejs/vue-next/issues/3772)) ([4f17be7](https://github.com/vuejs/vue-next/commit/4f17be7b1ce4872ded085a36b95c1897d8c1f299)) * **compat:** enum coercion warning ([#&#8203;3755](https://github.com/vuejs/vue-next/issues/3755)) ([f01aadf](https://github.com/vuejs/vue-next/commit/f01aadf2a16a7bef422eb039d7b157bef9ad32fc)) * **compiler-core:** fix whitespace management for slots with whitespace: 'preserve' ([#&#8203;3767](https://github.com/vuejs/vue-next/issues/3767)) ([47da921](https://github.com/vuejs/vue-next/commit/47da92146c9fb3fa6b1e250e064ca49b74d815e4)), closes [#&#8203;3766](https://github.com/vuejs/vue-next/issues/3766) * **compiler-dom:** comments in the v-if branchs should be ignored when used in Transition ([#&#8203;3622](https://github.com/vuejs/vue-next/issues/3622)) ([7c74feb](https://github.com/vuejs/vue-next/commit/7c74feb3dc6beae7ff3ad22193be3b5a0f4d8aac)), closes [#&#8203;3619](https://github.com/vuejs/vue-next/issues/3619) * **compiler-sfc:** support tsx in setup script ([#&#8203;3825](https://github.com/vuejs/vue-next/issues/3825)) ([01e8ba8](https://github.com/vuejs/vue-next/commit/01e8ba8f873afe3857a23fb68b44fdc057e31781)), closes [#&#8203;3808](https://github.com/vuejs/vue-next/issues/3808) * **compiler-ssr:** disable hoisting in compiler-ssr ([3ef1fcc](https://github.com/vuejs/vue-next/commit/3ef1fcc8590da186664197a0a82e7856011c1693)), closes [#&#8203;3536](https://github.com/vuejs/vue-next/issues/3536) * **devtools:** send update to component owning the slot ([1355ee2](https://github.com/vuejs/vue-next/commit/1355ee27a65d466bfe8f3a7ba99aa2213e25bc50)) * **runtime-core:** avoid double-setting props when casting ([0255be2](https://github.com/vuejs/vue-next/commit/0255be2f4b3581bfdf4af9368dcd6c1a27a5ee03)), closes [#&#8203;3371](https://github.com/vuejs/vue-next/issues/3371) [#&#8203;3384](https://github.com/vuejs/vue-next/issues/3384) * **runtime-core:** avoid the proxy object polluting the slots of the internal instance ([#&#8203;3698](https://github.com/vuejs/vue-next/issues/3698)) ([4ce0df6](https://github.com/vuejs/vue-next/commit/4ce0df6ef1a31ee45402e61e01777e3836b2c223)), closes [#&#8203;3695](https://github.com/vuejs/vue-next/issues/3695) * **types:** declared prop keys should always exist in `props` argument ([#&#8203;3726](https://github.com/vuejs/vue-next/issues/3726)) ([9b160b9](https://github.com/vuejs/vue-next/commit/9b160b940555abb6b6ce722fddbd9649ee196f7b)) * **types/reactivity:** error TS4058 caused by `RefSymbol` ([#&#8203;2548](https://github.com/vuejs/vue-next/issues/2548)) ([90aa835](https://github.com/vuejs/vue-next/commit/90aa8358129f25826bfc4c234325c1442aef8d55)) * **compat:** correctly merge lifecycle hooks when using Vue.extend ([#&#8203;3762](https://github.com/vuejs/vue-next/issues/3762)) ([2bfb8b5](https://github.com/vuejs/vue-next/commit/2bfb8b574d39a20a0e4da2ff4f2c007680ee2038)), closes [#&#8203;3761](https://github.com/vuejs/vue-next/issues/3761) * **compiler-core:** bail out to array children when the element has custom directives + only one text child node ([#&#8203;3757](https://github.com/vuejs/vue-next/issues/3757)) ([a56ab14](https://github.com/vuejs/vue-next/commit/a56ab148fd1f2702e699d31cdc854800c8283fde)) * **compat:** handle and warn config.optionMergeStrategies ([94e69fd](https://github.com/vuejs/vue-next/commit/94e69fd3896214da6ff8b9fb09ad942c598053c7)) * **compiler-core:** preserve comment content in production when comments option is enabled ([e486254](https://github.com/vuejs/vue-next/commit/e4862544310a4187dfc8b3a49944700888bb60e3)) * **hmr:** don't remove \_\_file key from component type ([9db3cbb](https://github.com/vuejs/vue-next/commit/9db3cbbfc1a072675a8d0e53edf3869af115dc60)) * **hydration:** fix update before async component is hydrated ([#&#8203;3563](https://github.com/vuejs/vue-next/issues/3563)) ([c8d9683](https://github.com/vuejs/vue-next/commit/c8d96837b871d7ad34cd73b4669338be5fdd59fd)), closes [#&#8203;3560](https://github.com/vuejs/vue-next/issues/3560) * **reactivity:** fix tracking for readonly + reactive Map ([#&#8203;3604](https://github.com/vuejs/vue-next/issues/3604)) ([5036c51](https://github.com/vuejs/vue-next/commit/5036c51cb78435c145ffea5e82cd620d0d056ff7)), closes [#&#8203;3602](https://github.com/vuejs/vue-next/issues/3602) * **runtime-core:** ensure declare prop keys are always present ([4fe4de0](https://github.com/vuejs/vue-next/commit/4fe4de0a49ffc2461b0394e74674af38ff5e2a20)), closes [#&#8203;3288](https://github.com/vuejs/vue-next/issues/3288) * **runtime-core:** watching multiple sources: computed ([#&#8203;3066](https://github.com/vuejs/vue-next/issues/3066)) ([e7300eb](https://github.com/vuejs/vue-next/commit/e7300eb47960a153311d568d7976ac5256eb6297)), closes [#&#8203;3068](https://github.com/vuejs/vue-next/issues/3068) * **Teleport:** avoid changing the reference of vnode.dynamicChildren ([#&#8203;3642](https://github.com/vuejs/vue-next/issues/3642)) ([43f7815](https://github.com/vuejs/vue-next/commit/43f78151bfdff2103a9be25e66e3f3be68d03a08)), closes [#&#8203;3641](https://github.com/vuejs/vue-next/issues/3641) * **watch:** avoid traversing non-plain objects ([62b8f4a](https://github.com/vuejs/vue-next/commit/62b8f4a39ca56b48a8c8fdf7e200cb80735e16ae)) * **watch:** this.$watch should support watching keypath ([870f2a7](https://github.com/vuejs/vue-next/commit/870f2a7ba35245fd8c008d2ff666ea130a7e4704)) ### [`v3.0.11`](https://github.com/vuejs/core/releases/tag/v3.0.11) [Compare Source](https://github.com/vuejs/core/compare/v3.0.10...v3.0.11) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.10`](https://github.com/vuejs/core/releases/tag/v3.0.10) [Compare Source](https://github.com/vuejs/core/compare/v3.0.9...v3.0.10) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.9`](https://github.com/vuejs/core/releases/tag/v3.0.9) [Compare Source](https://github.com/vuejs/core/compare/v3.0.8...v3.0.9) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.8`](https://github.com/vuejs/core/releases/tag/v3.0.8) [Compare Source](https://github.com/vuejs/core/compare/v3.0.7...v3.0.8) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.7`](https://github.com/vuejs/core/releases/tag/v3.0.7) [Compare Source](https://github.com/vuejs/core/compare/v3.0.6...v3.0.7) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.6`](https://github.com/vuejs/core/releases/tag/v3.0.6) [Compare Source](https://github.com/vuejs/core/compare/v3.0.5...v3.0.6) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.5`](https://github.com/vuejs/core/releases/tag/v3.0.5) [Compare Source](https://github.com/vuejs/core/compare/v3.0.4...v3.0.5) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.4`](https://github.com/vuejs/core/releases/tag/v3.0.4) [Compare Source](https://github.com/vuejs/core/compare/v3.0.3...v3.0.4) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.3`](https://github.com/vuejs/core/releases/tag/v3.0.3) [Compare Source](https://github.com/vuejs/core/compare/v3.0.2...v3.0.3) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.2`](https://github.com/vuejs/core/releases/tag/v3.0.2) [Compare Source](https://github.com/vuejs/core/compare/v3.0.1...v3.0.2) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.1`](https://github.com/vuejs/core/releases/tag/v3.0.1) [Compare Source](https://github.com/vuejs/core/compare/v3.0.0...v3.0.1) Please refer to [CHANGELOG.md](https://github.com/vuejs/vue-next/blob/master/CHANGELOG.md) for details. ### [`v3.0.0`](https://github.com/vuejs/core/releases/tag/v3.0.0): One Piece <p align="center"> <img width="200" src="https://user-images.githubusercontent.com/499550/93624428-53932780-f9ae-11ea-8d16-af949e16a09f.png"> </p> Today we are proud to announce the official release of Vue.js 3.0 "One Piece". This new major version of the framework provides improved performance, smaller bundle sizes, better TypeScript integration, new APIs for tackling large scale use cases, and a solid foundation for long-term future iterations of the framework. The 3.0 release represents over 2 years of development efforts, featuring [30+ RFCs](https://github.com/vuejs/rfcs/tree/master/active-rfcs), 2,600+ commits, [628 pull requests](https://github.com/vuejs/vue-next/pulls?q=is%3Apr+is%3Amerged+-author%3Aapp%2Fdependabot-preview+) from [99 contributors](https://github.com/vuejs/vue-next/graphs/contributors), plus tremendous amount of development and documentation work outside of the core repo. We would like to express our deepest gratitude towards our team members for taking on this challenge, our contributors for the pull requests, our [sponsors and backers](https://github.com/vuejs/vue/blob/dev/BACKERS.md) for the financial support, and the wider community for participating in our design discussions and providing feedback for the pre-release versions. Vue is an independent project created for the community and sustained by the community, and Vue 3.0 wouldn't have been possible without your consistent support. #### Taking the "Progressive Framework" Concept Further Vue had a simple mission from its humble beginning: to be an approachable framework that anyone can quickly learn. As our user base grew, the framework also grew in scope to adapt to the increasing demands. Over time, it evolved into what we call a "Progressive Framework": a framework that can be learned and adopted incrementally, while providing continued support as the user tackles more and more demanding scenarios. Today, with over 1.3 million users worldwide<sup>\*</sup>, we are seeing Vue being used in a wildly diverse range of scenarios, from sprinkling interactivity on traditional server-rendered pages, to full-blown single page applications with hundreds of components. Vue 3 takes this flexibility even further. ##### Layered internal modules Vue 3.0 core can still be used via a simple `<script>` tag, but its internals has been re-written from the ground up into [a collection of decoupled modules](https://github.com/vuejs/vue-next/tree/master/packages). The new architecture provides better maintainability, and allows end users to shave off up to half of the runtime size via tree-shaking. These modules also exposes lower-level APIs that unlocks many advanced use cases: - The compiler supports custom AST transforms for build-time customizations (e.g. [build-time i18n](https://github.com/intlify/vue-i18n-extensions)) - The core runtime provides first-class API for creating custom renderers targeting different render targets (e.g. [native mobile](https://github.com/rigor789/nativescript-vue-next), [WebGL](https://github.com/Planning-nl/vugel) or [terminals](https://github.com/ycmjason/vuminal)). The default DOM renderer is built using the same API. - The [`@vue/reactivity` module](https://github.com/vuejs/vue-next/tree/master/packages/reactivity) exports functions that provide direct access to Vue's reactivity system, and can be used as a standalone package. It can be used to pair with other templating solutions (e.g. [lit-html](https://github.com/yyx990803/vue-lit)) or even in non-UI scenarios. ##### New APIs for tackling scale The 2.x Object-based API is largely intact in Vue 3. However, 3.0 also introduces the [Composition API](https://v3.vuejs.org/guide/composition-api-introduction.html) - a new set of APIs aimed at addressing the pain points of Vue usage in large scale applications. The Composition API builds on top of the reactivity API and enables logic composition and reuse similar to React hooks, more flexible code organization patterns, and more reliable type inference than the 2.x Object-based API. Composition API can also be used with Vue 2.x via the [@&#8203;vue/composition-api](https://github.com/vuejs/composition-api) plugin, and there are already Composition API utility libraries that work for both Vue 2 and 3 (e.g. [vueuse](https://github.com/antfu/vueuse), [vue-composable](https://github.com/pikax/vue-composable)). ##### Performance Improvements Vue 3 has demonstrated [significant performance improvements](https://docs.google.com/spreadsheets/d/1VJFx-kQ4KjJmnpDXIEaig-cVAAJtpIGLZNbv3Lr4CR0/edit?usp=sharing) over Vue 2 in terms of bundle size (up to 41% lighter with tree-shaking), initial render (up to 55% faster), updates (up to 133% faster), and memory usage (up to 54% less). In Vue 3, we have taken the approach of "compiler-informed Virtual DOM": the template compiler performs aggressive optimizations and generates render function code that hoists static content, leaves runtime hints for binding types, and most importantly, flattens the dynamic nodes inside a template to reduce the cost of runtime traversal. The user therefore gets the best of both worlds: compiler-optimized performance from templates, or direct control via manual render functions when the use case demands. ##### Improved TypeScript integration Vue 3's codebase is written in TypeScript, with automatically generated, tested, and bundled type definitions so they are always up-to-date. Composition API works great with type inference. Vetur, our official VSCode extension, now supports template expression and props type checking leveraging Vue 3's improved internal typing. Oh, and Vue 3's typing [fully supports TSX](https://github.com/vuejs/vue-next/blob/master/test-dts/defineComponent.test-d.tsx) if that's your preference. ##### Experimental Features We have proposed [two new features](https://github.com/vuejs/rfcs/pull/182) for Singe-File Components (SFC, aka `.vue` files): - [`<script setup>`: syntactic sugar for using Composition API inside SFCs](https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-script-setup.md) - [`<style vars>`: state-driven CSS variables inside SFCs](https://github.com/vuejs/rfcs/blob/sfc-improvements/active-rfcs/0000-sfc-style-variables.md) These features are already implemented and available in Vue 3.0, but are provided only for the purpose of gathering feedback. They will remain experimental until the RFCs are merged. We have also implemented a currently undocumented `<Suspense>` component, which allows waiting on nested async dependencies (async components or component with `async setup()`) on initial render or branch switch. We are testing and iterating on this feature with the Nuxt.js team ([Nuxt 3 is on the way](https://nuxtjs.slides.com/atinux/state-of-nuxt-2020)) and will likely solidify it in 3.1. #### Phased Release Process The release of Vue 3.0 marks the general readiness of the framework. While some of the frameworks sub projects may still need further work to reach stable status (specifically router and Vuex integration in the devtools), we believe it's suitable to start new, green-field projects with Vue 3 today. We also encourage library authors to start upgrading your projects to support Vue 3. Check out the [Vue 3 Libraries Guide](https://v3.vuejs.org/guide/migration/introduction.html#supporting-libraries) for details on all framework sub projects. ##### Migration and IE11 Support We have pushed back the migration build (v3 build with v2 compatible behavior + migration warnings) and the IE11 build due to time constraints, and are aiming to focus on them in Q4 2020. Therefore, users planning to migrate an existing v2 app or require IE11 support should be aware of these limitations at this time. ##### Next Steps For the near term after release, we will focus on: - Migration build - IE11 support - Router and Vuex integration in new devtools - Further improvements to template type inference in Vetur For the time being, the documentation websites, GitHub branches, and npm dist tags for Vue 3 and v3-targeting projects will remain under `next`-denoted status. This means `npm install vue` will still install Vue 2.x and `npm install vue@next` will install Vue 3. **We are planning to switch all doc links, branches and dist tags to default to 3.0 by end of 2020.** At the same time, we have started planning for 2.7, which will be the last planned minor release of the 2.x release line. 2.7 will be backporting compatible improvements from v3, and emit warnings on usage of APIs that are removed/changed in v3 to help with potential migration. We are planning to work on 2.7 in Q1 2021, which will directly become LTS upon release with an 18 months maintenance lifespan. #### Trying It Out To learn more about Vue 3.0, check out our [new documentation website](https://v3.vuejs.org/). If you are an existing Vue 2.x user, go directly to the [Migration Guide](https://v3.vuejs.org/guide/migration/introduction.html). *** - \*based on [Vue Devtools Chrome extension](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) weekly active users as reported by Google. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovate added 1 commit 2025-06-25 13:08:44 +02:00
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/major-vue-monorepo:renovate/major-vue-monorepo
git checkout renovate/major-vue-monorepo

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout main
git merge --no-ff renovate/major-vue-monorepo
git checkout renovate/major-vue-monorepo
git rebase main
git checkout main
git merge --ff-only renovate/major-vue-monorepo
git checkout renovate/major-vue-monorepo
git rebase main
git checkout main
git merge --no-ff renovate/major-vue-monorepo
git checkout main
git merge --squash renovate/major-vue-monorepo
git checkout main
git merge --ff-only renovate/major-vue-monorepo
git checkout main
git merge renovate/major-vue-monorepo
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: verdigado-public/nextcloud_groupfolder_filesystem_snapshots#6
No description provided.