1 Star 0 Fork 0

Vue.js/vue-vapor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
CHANGELOG.md 59.66 KB
一键复制 编辑 原始数据 按行查看 历史
Evan You 提交于 7个月前 . release: v3.5.13

3.5.13 (2024-11-15)

Bug Fixes

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

Performance Improvements

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

3.5.12 (2024-10-11)

Bug Fixes

Performance Improvements

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

3.5.11 (2024-10-03)

Bug Fixes

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

3.5.10 (2024-09-27)

Bug Fixes

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

3.5.9 (2024-09-26)

Bug Fixes

3.5.8 (2024-09-22)

Bug Fixes

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

3.5.7 (2024-09-20)

Bug Fixes

Performance Improvements

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

3.5.6 (2024-09-16)

Bug Fixes

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

3.5.5 (2024-09-13)

Bug Fixes

  • compiler-core: fix handling of delimiterOpen in VPre (#11915) (706d4ac), closes #11913
  • compiler-dom: fix stringify static edge for partially eligible chunks in cached parent (1d99d61), closes #11879 #11890
  • compiler-dom: should ignore leading newline in per spec (<a href="https://github.com/vuejs/core/commit/3c4bf7627649ec1e3220f8c4e4163c20d2afb367">3c4bf76</a>)</li> <li><strong>compiler-sfc:</strong> nested css supports atrule and comment (<a href="https://github.com/vuejs/core/issues/11899">#11899</a>) (<a href="https://github.com/vuejs/core/commit/0e7bc717e6640644f062957ec5031506f0dab215">0e7bc71</a>), closes <a href="https://github.com/vuejs/core/issues/11896">#11896</a></li> <li><strong>custom-element:</strong> handle nested customElement mount w/ shadowRoot false (<a href="https://github.com/vuejs/core/issues/11861">#11861</a>) (<a href="https://github.com/vuejs/core/commit/f2d801918841e7673ff3f048d0d895592a2f7e23">f2d8019</a>), closes <a href="https://github.com/vuejs/core/issues/11851">#11851</a> <a href="https://github.com/vuejs/core/issues/11871">#11871</a></li> <li><strong>hmr:</strong> reload async child wrapped in Suspense + KeepAlive (<a href="https://github.com/vuejs/core/issues/11907">#11907</a>) (<a href="https://github.com/vuejs/core/commit/10a2c6053bd30d160d0214bb3566f540187e6874">10a2c60</a>), closes <a href="https://github.com/vuejs/core/issues/11868">#11868</a></li> <li><strong>hydration:</strong> fix mismatch of leading newline in <code><textarea></code> and <code><pre></code> (<a href="https://github.com/vuejs/core/commit/a5f3c2eb4d2e7fae93ff93ce865b269f01cc825e">a5f3c2e</a>), closes <a href="https://github.com/vuejs/core/issues/11873">#11873</a> <a href="https://github.com/vuejs/core/issues/11874">#11874</a></li> <li><strong>reactivity:</strong> properly clean up deps, fix memory leak (<a href="https://github.com/vuejs/core/commit/8ea5d6d6981ab7febda0be43c3c92b18869c3a2a">8ea5d6d</a>), closes <a href="https://github.com/vuejs/core/issues/11901">#11901</a></li> <li><strong>runtime-core:</strong> properly update async component nested in KeepAlive (<a href="https://github.com/vuejs/core/issues/11917">#11917</a>) (<a href="https://github.com/vuejs/core/commit/7fe6c795a1fc7ddcea5ad91a56141561192373ac">7fe6c79</a>), closes <a href="https://github.com/vuejs/core/issues/11916">#11916</a></li> <li><strong>TransitionGroup:</strong> not warn unkeyed text children with whitespece preserve (<a href="https://github.com/vuejs/core/issues/11888">#11888</a>) (<a href="https://github.com/vuejs/core/commit/7571f20bc3d1854377a146f41d211e05bb68cd47">7571f20</a>), closes <a href="https://github.com/vuejs/core/issues/11885">#11885</a></li> </ul> <h2><a href="https://github.com/vuejs/core/compare/v3.5.3...v3.5.4">3.5.4</a> (2024-09-10)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>compiler-sfc:</strong> correct scoped injection for nesting selector (<a href="https://github.com/vuejs/core/issues/11854">#11854</a>) (<a href="https://github.com/vuejs/core/commit/b1de75ed04626b6423085dfde91fb0cb481a25e8">b1de75e</a>), closes <a href="https://github.com/vuejs/core/issues/10567">#10567</a></li> <li><strong>reactivity:</strong> fix markRaw error on already marked object (<a href="https://github.com/vuejs/core/issues/11864">#11864</a>) (<a href="https://github.com/vuejs/core/commit/67d6596d40b1807b9cd8eb0d9282932ea77be3c0">67d6596</a>), closes <a href="https://github.com/vuejs/core/issues/11862">#11862</a></li> <li>Revert "fix: Revert "fix(reactivity): self-referencing computed should refresh"" (<a href="https://github.com/vuejs/core/commit/e596378e0be728dad7d60938449f3fa557ca2ec9">e596378</a>)</li> <li><strong>runtime-core:</strong> handle shallow reactive arrays in renderList correctly (<a href="https://github.com/vuejs/core/issues/11870">#11870</a>) (<a href="https://github.com/vuejs/core/commit/ced59ab8f2f2e89c13119bab3a0c25a1a1f1c3d6">ced59ab</a>), closes <a href="https://github.com/vuejs/core/issues/11869">#11869</a></li> <li><strong>types:</strong> correctly infer <code>TypeEmits</code> with both tuple and function syntax (<a href="https://github.com/vuejs/core/issues/11840">#11840</a>) (<a href="https://github.com/vuejs/core/commit/dad673809929c084dcb8e42640eb7daa675d4ea4">dad6738</a>), closes <a href="https://github.com/vuejs/core/issues/11836">#11836</a></li> </ul> <h3>Performance Improvements</h3> <ul> <li><strong>reactivity:</strong> trigger deps directly instead of storing in an array first (<a href="https://github.com/vuejs/core/issues/11695">#11695</a>) (<a href="https://github.com/vuejs/core/commit/f80d447c17662556e9e3f99f6d199967f4c8cf3d">f80d447</a>)</li> </ul> <h2><a href="https://github.com/vuejs/core/compare/v3.5.2...v3.5.3">3.5.3</a> (2024-09-06)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>hydration:</strong> check __asyncHydrate presence for vue3-lazy-hydration compat (<a href="https://github.com/vuejs/core/issues/11825">#11825</a>) (<a href="https://github.com/vuejs/core/commit/8e6c3378676be05cea7f53664442acdfb86784f9">8e6c337</a>), closes <a href="https://github.com/vuejs/core/issues/11793">#11793</a></li> <li>Revert "fix(reactivity): self-referencing computed should refresh" (<a href="https://github.com/vuejs/core/commit/35c760f82f749f7c6e3f9bfead8221ce498e892f">35c760f</a>)</li> <li><strong>ssr:</strong> respect app.config.warnHandler during ssr (<a href="https://github.com/vuejs/core/commit/bf3d9a2af41659a743706306fc798b3d215df5af">bf3d9a2</a>), closes <a href="https://github.com/vuejs/core/issues/11830">#11830</a></li> <li><strong>Transition:</strong> handle KeepAlive child unmount in Transition out-in mode (<a href="https://github.com/vuejs/core/issues/11833">#11833</a>) (<a href="https://github.com/vuejs/core/commit/6b7901d28ed3a6a9242c666cc1b8e3c0b0b0fe62">6b7901d</a>), closes <a href="https://github.com/vuejs/core/issues/11775">#11775</a></li> <li><strong>useId:</strong> make generated IDs selector compatible (<a href="https://github.com/vuejs/core/commit/babfb4cbcbf98601d76c1d7653eae8d250ce2710">babfb4c</a>), closes <a href="https://github.com/vuejs/core/issues/11828">#11828</a></li> </ul> <h2><a href="https://github.com/vuejs/core/compare/v3.5.1...v3.5.2">3.5.2</a> (2024-09-05)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>reactivity:</strong> make toRaw work on proxies created by proxyRef (<a href="https://github.com/vuejs/core/commit/46c3ab1d714024894fa1d33e495d5d35c7817d4d">46c3ab1</a>)</li> <li><strong>reactivity:</strong> pass oldValue to computed getter (<a href="https://github.com/vuejs/core/issues/11813">#11813</a>) (<a href="https://github.com/vuejs/core/commit/98864a7ef5c8080c407166c8221488a4eacbbc81">98864a7</a>), closes <a href="https://github.com/vuejs/core/issues/11812">#11812</a></li> <li><strong>reactivity:</strong> prevent endless recursion in computed getters (<a href="https://github.com/vuejs/core/issues/11797">#11797</a>) (<a href="https://github.com/vuejs/core/commit/716275d1b1d2383d8ef0306fcd94558d4d9170f2">716275d</a>)</li> <li><strong>reactivity:</strong> self-referencing computed should refresh (<a href="https://github.com/vuejs/core/commit/e84c4a608e9dc96fb2a4a29d538bcc64f26103a2">e84c4a6</a>), closes <a href="https://github.com//github.com/vuejs/core/pull/11797/issues/issuecomment-2330738633">/github.com/vuejs/core/pull/11797#issuecomment-2330738633</a></li> <li><strong>scheduler:</strong> prevent duplicate jobs being queued (<a href="https://github.com/vuejs/core/issues/11826">#11826</a>) (<a href="https://github.com/vuejs/core/commit/df56cc528793b1d6131a1e64095dd5cb95c56bee">df56cc5</a>), closes <a href="https://github.com/vuejs/core/issues/11712">#11712</a> <a href="https://github.com/vuejs/core/issues/11807">#11807</a></li> <li><strong>suspense:</strong> avoid updating anchor if activeBranch has not been rendered to the actual container (<a href="https://github.com/vuejs/core/issues/11818">#11818</a>) (<a href="https://github.com/vuejs/core/commit/3c0d531fa7fe762bfe46fbe63f318adc95221795">3c0d531</a>), closes <a href="https://github.com/vuejs/core/issues/11806">#11806</a></li> <li><strong>Transition:</strong> handle KeepAlive child unmount in Transition out-in mode (<a href="https://github.com/vuejs/core/issues/11778">#11778</a>) (<a href="https://github.com/vuejs/core/commit/311655352931863dfcf520b8cf29cebc5b7e1e00">3116553</a>), closes <a href="https://github.com/vuejs/core/issues/11775">#11775</a></li> <li><strong>types:</strong> add HTMLDialogElement missing close event (<a href="https://github.com/vuejs/core/issues/11811">#11811</a>) (<a href="https://github.com/vuejs/core/commit/3634f7a4c1649ad2e7e969eb4512512868c61d01">3634f7a</a>)</li> <li><strong>types:</strong> added name attribute support to details tag (<a href="https://github.com/vuejs/core/issues/11823">#11823</a>) (<a href="https://github.com/vuejs/core/commit/c74176ec7b4d1d34159ce21d600c04b157ac5549">c74176e</a>), closes <a href="https://github.com/vuejs/core/issues/11821">#11821</a></li> <li><strong>types:</strong> fix defineComponent props inference when setup() has explicit annotation (<a href="https://github.com/vuejs/core/commit/fca20a39aa4a6f98c8f972bd435ebb7dc535648a">fca20a3</a>), closes <a href="https://github.com/vuejs/core/issues/11803">#11803</a></li> <li><strong>useTemplateRef:</strong> properly fix readonly warning in dev and ensure prod behavior consistency (<a href="https://github.com/vuejs/core/commit/9b7797d0d1fc773e979e042673d5b9b3151c40fc">9b7797d</a>), closes <a href="https://github.com/vuejs/core/issues/11808">#11808</a> <a href="https://github.com/vuejs/core/issues/11816">#11816</a> <a href="https://github.com/vuejs/core/issues/11810">#11810</a></li> </ul> <h3>Features</h3> <ul> <li><strong>compiler-core:</strong> parse modifiers as expression to provide location data (<a href="https://github.com/vuejs/core/issues/11819">#11819</a>) (<a href="https://github.com/vuejs/core/commit/3f13203564164eeb2945bdc0b9ef755c37477d75">3f13203</a>)</li> </ul> <h2><a href="https://github.com/vuejs/core/compare/v3.5.0...v3.5.1">3.5.1</a> (2024-09-04)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>build:</strong> improve built-in components treeshakability (<a href="https://github.com/vuejs/core/commit/4eee630b3122a10d0baf9b91358cfffa92d6fd81">4eee630</a>)</li> <li><strong>reactivity:</strong> handle non-array arguments in reactive <code>concat</code> method (<a href="https://github.com/vuejs/core/issues/11794">#11794</a>) (<a href="https://github.com/vuejs/core/commit/475977a6f76b77392610e0a3ec2b0e076d1e1d59">475977a</a>), closes <a href="https://github.com/vuejs/core/issues/11792">#11792</a></li> <li><strong>Transition:</strong> avoid applying transition hooks on comment vnode (<a href="https://github.com/vuejs/core/issues/11788">#11788</a>) (<a href="https://github.com/vuejs/core/commit/51912f8a02e35f172f6d30ed7a2f3a92c1407cf9">51912f8</a>), closes <a href="https://github.com/vuejs/core/issues/11782">#11782</a></li> <li><strong>types:</strong> avoid using intersection type in <code>Readonly<...></code> to fix JSDoc emit (<a href="https://github.com/vuejs/core/issues/11799">#11799</a>) (<a href="https://github.com/vuejs/core/commit/7518bc19dc73ba46dcf1eef6e23f9e6e75552675">7518bc1</a>)</li> <li><strong>useTemplateRef:</strong> fix readonly warning when useTemplateRef has same variable name as template ref (<a href="https://github.com/vuejs/core/commit/bc63df01992fdbf0b6749ad234153725697ed896">bc63df0</a>), closes <a href="https://github.com/vuejs/core/issues/11795">#11795</a> <a href="https://github.com/vuejs/core/issues/11802">#11802</a> <a href="https://github.com/vuejs/core/issues/11804">#11804</a></li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.5.0-rc.1...v3.5.0">3.5.0</a> (2024-09-03)</h1> <h2>Aggregated Features List for 3.5 (alpha to stable)</h2> <h3>Reactivity</h3> <ul> <li><strong>reactivity</strong>: Refactor reactivity system to use version counting and doubly-linked list tracking (<a href="https://github.com/vuejs/core/pull/10397">#10397</a>) (<a href="https://github.com/vuejs/core/commit/05eb4e0fefd585125dd60b7f8fe9c36928d921aa">05eb4e0</a>)</li> <li><strong>reactivity</strong>: Optimize array tracking (<a href="https://github.com/vuejs/core/pull/9511">#9511</a>) (<a href="https://github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e">70196a4</a>)</li> <li><strong>compiler-sfc:</strong> enable reactive props destructure by default (<a href="https://github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d">d2dac0e</a>)</li> <li><strong>reactivity:</strong> <code>onEffectCleanup</code> API (<a href="https://github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004">2cc5615</a>), closes <a href="https://github.com/vuejs/core/issues/10173">#10173</a></li> <li><strong>reactivity:</strong> add <code>failSilently</code> argument for <code>onScopeDispose</code> (<a href="https://github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd">9a936aa</a>)</li> <li><strong>reactivity/watch:</strong> base <code>watch</code>, <code>getCurrentWatcher</code>, and <code>onWatcherCleanup</code> (<a href="https://github.com/vuejs/core/issues/9927">#9927</a>) (<a href="https://github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72">205e5b5</a>)</li> <li><strong>reactivity/watch:</strong> add pause/resume for ReactiveEffect, EffectScope, and WatchHandle (<a href="https://github.com/vuejs/core/issues/9651">#9651</a>) (<a href="https://github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582">267093c</a>)</li> <li><strong>watch:</strong> support passing number to <code>deep</code> option to control the watch depth (<a href="https://github.com/vuejs/core/issues/9572">#9572</a>) (<a href="https://github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c">22f7d96</a>)</li> <li><strong>types:</strong> export <code>MultiWatchSources</code> type (<a href="https://github.com/vuejs/core/issues/9563">#9563</a>) (<a href="https://github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c">998dca5</a>)</li> <li><strong>types:</strong> allow computed getter and setter types to be unrelated (<a href="https://github.com/vuejs/core/issues/11472">#11472</a>) (<a href="https://github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2">a01675e</a>), closes <a href="https://github.com/vuejs/core/issues/7271">#7271</a></li> </ul> <h3>SSR</h3> <ul> <li><strong>runtime-core:</strong> <code>useId()</code> and <code>app.config.idPrefix</code> (<a href="https://github.com/vuejs/core/issues/11404">#11404</a>) (<a href="https://github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247">73ef156</a>)</li> <li><strong>hydration:</strong> lazy hydration strategies for async components (<a href="https://github.com/vuejs/core/issues/11458">#11458</a>) (<a href="https://github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4">d14a11c</a>)</li> <li><strong>hydration:</strong> support suppressing hydration mismatch via data-allow-mismatch (<a href="https://github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1">94fb2b8</a>)</li> </ul> <h3>Custom Element</h3> <ul> <li><strong>custom-element:</strong> <code>useHost()</code> helper (<a href="https://github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0">775103a</a>)</li> <li><strong>custom-element:</strong> <code>useShadowRoot()</code> helper (<a href="https://github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282">5a1a89b</a>), closes <a href="https://github.com/vuejs/core/issues/6113">#6113</a> <a href="https://github.com/vuejs/core/issues/8195">#8195</a></li> <li><strong>custom-element:</strong> expose <code>this.$host</code> in Options API (<a href="https://github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50">1ef8f46</a>)</li> <li><strong>custom-element:</strong> inject child components styles to custom element shadow root (<a href="https://github.com/vuejs/core/issues/11517">#11517</a>) (<a href="https://github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1">56c76a8</a>), closes <a href="https://github.com/vuejs/core/issues/4662">#4662</a> <a href="https://github.com/vuejs/core/issues/7941">#7941</a> <a href="https://github.com/vuejs/core/issues/7942">#7942</a></li> <li><strong>custom-element:</strong> support configurable app instance in defineCustomElement (<a href="https://github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd">6758c3c</a>), closes <a href="https://github.com/vuejs/core/issues/4356">#4356</a> <a href="https://github.com/vuejs/core/issues/4635">#4635</a></li> <li><strong>custom-element:</strong> support css <code>:host</code> selector by applying css vars on host element (<a href="https://github.com/vuejs/core/issues/8830">#8830</a>) (<a href="https://github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb">03a9ea2</a>), closes <a href="https://github.com/vuejs/core/issues/8826">#8826</a></li> <li><strong>custom-element:</strong> support emit with options (<a href="https://github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08">e181bff</a>), closes <a href="https://github.com/vuejs/core/issues/7605">#7605</a></li> <li><strong>custom-element:</strong> support expose on customElement (<a href="https://github.com/vuejs/core/issues/6256">#6256</a>) (<a href="https://github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624">af838c1</a>), closes <a href="https://github.com/vuejs/core/issues/5540">#5540</a></li> <li><strong>custom-element:</strong> support <code>nonce</code> option for injected style tags (<a href="https://github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded">bb4a02a</a>), closes <a href="https://github.com/vuejs/core/issues/6530">#6530</a></li> <li><strong>custom-element:</strong> support passing custom-element-specific options via 2nd argument of defineCustomElement (<a href="https://github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e">60a88a2</a>)</li> <li><strong>custom-element:</strong> support <code>shadowRoot: false</code> in <code>defineCustomElement()</code> (<a href="https://github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e">37d2ce5</a>), closes <a href="https://github.com/vuejs/core/issues/4314">#4314</a> <a href="https://github.com/vuejs/core/issues/4404">#4404</a></li> </ul> <h3>Teleport</h3> <ul> <li><strong>teleport:</strong> support deferred Teleport (<a href="https://github.com/vuejs/core/issues/11387">#11387</a>) (<a href="https://github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef">59a3e88</a>), closes <a href="https://github.com/vuejs/core/issues/2015">#2015</a> <a href="https://github.com/vuejs/core/issues/11386">#11386</a></li> <li><strong>teleport/transition:</strong> support directly nesting Teleport inside Transition (<a href="https://github.com/vuejs/core/issues/6548">#6548</a>) (<a href="https://github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0">0e6e3c7</a>), closes <a href="https://github.com/vuejs/core/issues/5836">#5836</a></li> </ul> <h3>Misc</h3> <ul> <li><strong>runtime-core:</strong> <code>useTemplateRef()</code> (<a href="https://github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df">3ba70e4</a>)</li> <li><strong>runtime-core:</strong> add <code>app.onUnmount()</code> for registering cleanup functions (<a href="https://github.com/vuejs/core/issues/4619">#4619</a>) (<a href="https://github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e">582a3a3</a>), closes <a href="https://github.com/vuejs/core/issues/4516">#4516</a></li> <li><strong>runtime-core:</strong> add <code>app.config.throwUnhandledErrorInProduction</code> (<a href="https://github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0">f476b7f</a>), closes <a href="https://github.com/vuejs/core/issues/7876">#7876</a></li> <li><strong>runtime-dom:</strong> Trusted Types compatibility (<a href="https://github.com/vuejs/core/issues/10844">#10844</a>) (<a href="https://github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5">6d4eb94</a>)</li> <li><strong>compiler-core:</strong> support <code>Symbol</code> global in template expressions (<a href="https://github.com/vuejs/core/issues/9069">#9069</a>) (<a href="https://github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3">a501a85</a>)</li> <li><strong>types:</strong> export more emit related types (<a href="https://github.com/vuejs/core/issues/11017">#11017</a>) (<a href="https://github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733">189573d</a>)</li> </ul> <ul> <li><strong>types:</strong> add loading prop to iframe (<a href="https://github.com/vuejs/core/issues/11767">#11767</a>) (<a href="https://github.com/vuejs/core/commit/d86fe0ec002901dc359a0e85f3a421b4a8538d68">d86fe0e</a>)</li> </ul> <h3>Internals</h3> <ul> <li><strong>reactivity:</strong> store value cache on CustomRefs impls (<a href="https://github.com/vuejs/core/issues/11539">#11539</a>) (<a href="https://github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292">e044b6e</a>)</li> <li><strong>types:</strong> provide internal options for directly using user types in language tools (<a href="https://github.com/vuejs/core/issues/10801">#10801</a>) (<a href="https://github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9">75c8cf6</a>)</li> <li><strong>types:</strong> provide internal options for using refs type in language tools (<a href="https://github.com/vuejs/core/issues/11492">#11492</a>) (<a href="https://github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76">5ffd1a8</a>)</li> </ul> <h2>Bug Fixes</h2> <ul> <li><strong>compiler-sfc:</strong> fix import usage check for kebab-case same name shorthand binding (<a href="https://github.com/vuejs/core/commit/0f7c0e5dc0eedada7a5194db87fd0a7dbd1d3354">0f7c0e5</a>), closes <a href="https://github.com/vuejs/core/issues/11745">#11745</a> <a href="https://github.com/vuejs/core/issues/11754">#11754</a></li> <li><strong>cssVars:</strong> correctly escape double quotes in SSR (<a href="https://github.com/vuejs/core/issues/11784">#11784</a>) (<a href="https://github.com/vuejs/core/commit/7b5b6e0275f35748dca6d7eb842f8ab2364c6b9a">7b5b6e0</a>), closes <a href="https://github.com/vuejs/core/issues/11779">#11779</a></li> <li><strong>deps:</strong> update dependency postcss to ^8.4.44 (<a href="https://github.com/vuejs/core/issues/11774">#11774</a>) (<a href="https://github.com/vuejs/core/commit/cb843e0be31f9e563ccfc30eca0c06f2a224b505">cb843e0</a>)</li> <li><strong>hydration:</strong> escape css var name to avoid mismatch (<a href="https://github.com/vuejs/core/issues/11739">#11739</a>) (<a href="https://github.com/vuejs/core/commit/ca12e776bc53aaa31f2df6bb6edc6be1b2f10c37">ca12e77</a>), closes <a href="https://github.com/vuejs/core/issues/11735">#11735</a></li> <li><strong>hydration:</strong> handle text nodes with 0 during hydration (<a href="https://github.com/vuejs/core/issues/11772">#11772</a>) (<a href="https://github.com/vuejs/core/commit/c756da24b2d8635cf52b4c7d3abf5bf938852cc5">c756da2</a>), closes <a href="https://github.com/vuejs/core/issues/11771">#11771</a></li> <li><strong>reactivity:</strong> correctly handle method calls on user-extended arrays (<a href="https://github.com/vuejs/core/issues/11760">#11760</a>) (<a href="https://github.com/vuejs/core/commit/9817c80187bec6a3344c74d65fac92262de0fcdd">9817c80</a>), closes <a href="https://github.com/vuejs/core/issues/11759">#11759</a></li> <li><strong>runtime-dom:</strong> avoid unnecessary prop patch for checkbox (<a href="https://github.com/vuejs/core/issues/11657">#11657</a>) (<a href="https://github.com/vuejs/core/commit/c3ce9fe3d8fc27d864ce7148cd36da882cfc21ab">c3ce9fe</a>), closes <a href="https://github.com/vuejs/core/issues/11647">#11647</a></li> <li><strong>runtime-dom:</strong> prevent unnecessary DOM update from v-model (<a href="https://github.com/vuejs/core/issues/11656">#11656</a>) (<a href="https://github.com/vuejs/core/commit/b1be9bd64f2c7c4286fecb25bad5d5edd49efce9">b1be9bd</a>), closes <a href="https://github.com/vuejs/core/issues/11647">#11647</a></li> <li><strong>server-renderer:</strong> Fix call to serverPrefetch in server renderer with an async setup (<a href="https://github.com/vuejs/core/issues/10893">#10893</a>) (<a href="https://github.com/vuejs/core/commit/6039e25e04a8c1db5821955f011d57f1615807ab">6039e25</a>)</li> <li><strong>server-renderer:</strong> render <code>className</code> during SSR (<a href="https://github.com/vuejs/core/issues/11722">#11722</a>) (<a href="https://github.com/vuejs/core/commit/52cdb0f991dc154ae32a2900874d5dbc4e078565">52cdb0f</a>)</li> <li><strong>types/defineModel:</strong> allow getter and setter types to be unrelated (<a href="https://github.com/vuejs/core/issues/11699">#11699</a>) (<a href="https://github.com/vuejs/core/commit/fe07f7073617df358c2f8cbc3de433359e873c96">fe07f70</a>), closes <a href="https://github.com/vuejs/core/issues/11697">#11697</a></li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.5.0-beta.3...v3.5.0-rc.1">3.5.0-rc.1</a> (2024-08-29)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>compiler-sfc:</strong> skip circular tsconfig project reference (<a href="https://github.com/vuejs/core/issues/11680">#11680</a>) (<a href="https://github.com/vuejs/core/commit/9c4c2e51b045218d0c5ca64b4fb58b17d5d580cc">9c4c2e5</a>), closes <a href="https://github.com/vuejs/core/issues/11382">#11382</a></li> <li><strong>custom-element:</strong> handle keys set on custom elements (<a href="https://github.com/vuejs/core/issues/11655">#11655</a>) (<a href="https://github.com/vuejs/core/commit/f1d1831f07fe52d5681a5ec9ec310572463abf26">f1d1831</a>), closes <a href="https://github.com/vuejs/core/issues/11641">#11641</a></li> <li><strong>deps:</strong> update dependency monaco-editor to ^0.51.0 (<a href="https://github.com/vuejs/core/issues/11713">#11713</a>) (<a href="https://github.com/vuejs/core/commit/434f8a97c77f68aeae050e9e4e1f54f63bc4bd26">434f8a9</a>)</li> <li><strong>keep-alive:</strong> reset keep alive flag when the component is removed from include (<a href="https://github.com/vuejs/core/issues/11718">#11718</a>) (<a href="https://github.com/vuejs/core/commit/29c321bfd33f9197244dec3d027077e63b2cdf2f">29c321b</a>), closes <a href="https://github.com/vuejs/core/issues/11717">#11717</a></li> <li><strong>reactivity:</strong> avoid infinite recursion when mutating ref wrapped in reactive (<a href="https://github.com/vuejs/core/commit/313e4bf55214ac1e334a99c329a3ba5daca4f156">313e4bf</a>), closes <a href="https://github.com/vuejs/core/issues/11696">#11696</a></li> <li><strong>reactivity:</strong> ensure watcher with once: true are properly removed from effect scope (<a href="https://github.com/vuejs/core/issues/11665">#11665</a>) (<a href="https://github.com/vuejs/core/commit/fbc0c42bcf6dea5a6ae664223fa19d4375ca39f0">fbc0c42</a>)</li> <li><strong>runtime-dom:</strong> setting innerHTML when patching props should go through trusted types (<a href="https://github.com/vuejs/core/commit/d875de54e9e03e0768fe550aa4c4886a4baf3bd7">d875de5</a>)</li> <li><strong>types:</strong> GlobalDirective / GlobalComponents should not be records (<a href="https://github.com/vuejs/core/commit/42e8df62030e7f2c287d9103f045e67b34a63e3b">42e8df6</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.5.0-beta.2...v3.5.0-beta.3">3.5.0-beta.3</a> (2024-08-20)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>reactivity:</strong> extended methods respect reactive (<a href="https://github.com/vuejs/core/issues/11629">#11629</a>) (<a href="https://github.com/vuejs/core/commit/9de1d101f98bf6081f41038f6974826f190330a0">9de1d10</a>), closes <a href="https://github.com/vuejs/core/issues/11628">#11628</a></li> <li><strong>runtime-core:</strong> correct type inference for PascalCase emits (<a href="https://github.com/vuejs/core/issues/11579">#11579</a>) (<a href="https://github.com/vuejs/core/commit/d7d0371e74707ee601020f67de88e091cdae2673">d7d0371</a>), closes <a href="https://github.com/vuejs/language-tools/issues/4269">vuejs/language-tools#4269</a></li> <li><strong>runtime-core:</strong> ensure suspense content inherit scopeId (<a href="https://github.com/vuejs/core/issues/10652">#10652</a>) (<a href="https://github.com/vuejs/core/commit/ac2a410e46392db63ca4ed2db3c0fa71ebe1e855">ac2a410</a>), closes <a href="https://github.com/vuejs/core/issues/5148">#5148</a></li> <li><strong>runtime-core:</strong> pre jobs without an id should run first (<a href="https://github.com/vuejs/core/issues/7746">#7746</a>) (<a href="https://github.com/vuejs/core/commit/b332f80f0edb018229a23b43b93bb402b6368a3c">b332f80</a>)</li> <li><strong>ssr:</strong> apply ssr props to the the fallback vnode-based branch in ssr (<a href="https://github.com/vuejs/core/issues/7247">#7247</a>) (<a href="https://github.com/vuejs/core/commit/98b83e86d16c635547a1e735e5fb675aea2f0f1b">98b83e8</a>), closes <a href="https://github.com/vuejs/core/issues/6123">#6123</a></li> <li><strong>types/custom-element:</strong> <code>defineCustomElement</code> with required props (<a href="https://github.com/vuejs/core/issues/11578">#11578</a>) (<a href="https://github.com/vuejs/core/commit/5e0f6d5f8fe7c4eb8f247357c3e2e281726f36db">5e0f6d5</a>)</li> <li><strong>types:</strong> strip non-prop default values from return type of withDefaults (<a href="https://github.com/vuejs/core/issues/9998">#9998</a>) (<a href="https://github.com/vuejs/core/commit/44973bb3e790db7d8aa7af4eda21c80cac73a8de">44973bb</a>), closes <a href="https://github.com/vuejs/core/issues/9899">#9899</a></li> <li><strong>watch:</strong> handle errors in computed used as watch source (<a href="https://github.com/vuejs/core/issues/11626">#11626</a>) (<a href="https://github.com/vuejs/core/commit/8bcaad4a32cf0f1f89e0259f6a53036620b7fe9f">8bcaad4</a>), closes <a href="https://github.com/vuejs/core/issues/11624">#11624</a></li> </ul> <h3>Features</h3> <ul> <li><strong>reactivity:</strong> base <code>watch</code>, <code>getCurrentWatcher</code>, and <code>onWatcherCleanup</code> (<a href="https://github.com/vuejs/core/issues/9927">#9927</a>) (<a href="https://github.com/vuejs/core/commit/205e5b5e277243c3af2c937d9bd46cf671296b72">205e5b5</a>)</li> </ul> <h3>Performance Improvements</h3> <ul> <li><strong>runtime-core:</strong> use <code>apply</code> to avoid spreading. (<a href="https://github.com/vuejs/core/issues/5985">#5985</a>) (<a href="https://github.com/vuejs/core/commit/bb6babca8f206615d4e246457cd54d21bb3bc5a4">bb6babc</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.5.0-beta.1...v3.5.0-beta.2">3.5.0-beta.2</a> (2024-08-15)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>build:</strong> revert entities to 4.5 to avoid runtime resolution errors (<a href="https://github.com/vuejs/core/commit/e9e08155bf8d00c3327ed7371330eb2ae467e560">e9e0815</a>), closes <a href="https://github.com/vuejs/core/issues/11603">#11603</a></li> <li><strong>compiler-core:</strong> use ast-based check for function expressions when possible (<a href="https://github.com/vuejs/core/commit/58612294757480974e667652ede5bbcf72b1089d">5861229</a>), closes <a href="https://github.com/vuejs/core/issues/11615">#11615</a></li> <li><strong>compiler-sfc:</strong> fix prefixIdentifier default value (<a href="https://github.com/vuejs/core/commit/3d6f01571b3fb61b32da599d0419eff4e3ebb231">3d6f015</a>)</li> <li><strong>compiler-sfc:</strong> handle keyof operator with index object (<a href="https://github.com/vuejs/core/issues/11581">#11581</a>) (<a href="https://github.com/vuejs/core/commit/fe008152c0612ff3ecc7ad88e7e66a06b1b2bc3f">fe00815</a>)</li> <li><strong>custom-element:</strong> keep instance.isCE for backwards compat (<a href="https://github.com/vuejs/core/commit/e19fc270428b59456fee43224990138c4d6ccb2d">e19fc27</a>)</li> <li><strong>deps:</strong> update dependency postcss to ^8.4.41 (<a href="https://github.com/vuejs/core/issues/11585">#11585</a>) (<a href="https://github.com/vuejs/core/commit/4c4e12ae28d67d616924b0601e68adc551959971">4c4e12a</a>)</li> <li><strong>keep-alive:</strong> ensure include/exclude regexp work with global flag (<a href="https://github.com/vuejs/core/issues/11595">#11595</a>) (<a href="https://github.com/vuejs/core/commit/3653bc0f45d6fedf84e29b64ca52584359c383c0">3653bc0</a>)</li> <li><strong>reactivity:</strong> ensure extended method arguments are not lost (<a href="https://github.com/vuejs/core/issues/11574">#11574</a>) (<a href="https://github.com/vuejs/core/commit/4085def1bae42d01ee3c22c731cc4a02096464ee">4085def</a>), closes <a href="https://github.com/vuejs/core/issues/11570">#11570</a></li> <li><strong>reactivity:</strong> sync watch should be executed correctly (<a href="https://github.com/vuejs/core/issues/11589">#11589</a>) (<a href="https://github.com/vuejs/core/commit/3bda3e83fd9e2fbe451a1c79dae82ff6a7467683">3bda3e8</a>), closes <a href="https://github.com/vuejs/core/issues/11577">#11577</a></li> <li><strong>types/computed:</strong> ensure type safety for <code>WritableComputedRef</code> (<a href="https://github.com/vuejs/core/issues/11608">#11608</a>) (<a href="https://github.com/vuejs/core/commit/5cf5a1620d9a97382d386c277265d9dd051fe484">5cf5a16</a>)</li> <li><strong>types:</strong> add fallback stub for DOM types when DOM lib is absent (<a href="https://github.com/vuejs/core/issues/11598">#11598</a>) (<a href="https://github.com/vuejs/core/commit/fee669764fbf475adce9e47a7a73b4937ab31ffc">fee6697</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>deprecated:</strong> remove deprecated parseExpressions option (<a href="https://github.com/vuejs/core/issues/11597">#11597</a>) (<a href="https://github.com/vuejs/core/commit/4e7d5db4d276a5d4aaf3af7d43cfd28c171db307">4e7d5db</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.4.37...v3.5.0-beta.1">3.5.0-beta.1</a> (2024-08-08)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>custom-element:</strong> delay mounting of custom elements with async parent (<a href="https://github.com/vuejs/core/commit/37ccb9b9a0e4381f9465e0fc6459609003030da4">37ccb9b</a>), closes <a href="https://github.com/vuejs/core/issues/8127">#8127</a> <a href="https://github.com/vuejs/core/issues/9341">#9341</a> <a href="https://github.com/vuejs/core/issues/9351">#9351</a> <a href="https://github.com/vuejs/core/issues/9351">#9351</a></li> <li><strong>custom-element:</strong> delete prop on attribute removal (<a href="https://github.com/vuejs/core/commit/506c4c53fdf9766c2ce9517ad58d501ef6b1b9de">506c4c5</a>), closes <a href="https://github.com/vuejs/core/issues/11276">#11276</a></li> <li><strong>custom-element:</strong> ignore scoped id (<a href="https://github.com/vuejs/core/commit/7f2c505f92026408a8262ba9b5104a465be19446">7f2c505</a>)</li> <li><strong>custom-element:</strong> reflect prop default value on custom element (<a href="https://github.com/vuejs/core/commit/63689ed77601d5f9b78540f810612806c3a5de15">63689ed</a>), closes <a href="https://github.com/vuejs/core/issues/9006">#9006</a> <a href="https://github.com/vuejs/core/issues/10537">#10537</a></li> <li><strong>custom-element:</strong> support early-set domProps for async custom elements (<a href="https://github.com/vuejs/core/commit/a07e7bf5536a6b3db70ba9bb1c3f366dac1bf5a0">a07e7bf</a>), closes <a href="https://github.com/vuejs/core/issues/11081">#11081</a> <a href="https://github.com/vuejs/core/issues/11082">#11082</a></li> <li><strong>types/custome-element:</strong> <code>defineCustomElement</code> props inference with array emits (<a href="https://github.com/vuejs/core/issues/11384">#11384</a>) (<a href="https://github.com/vuejs/core/commit/e94b01bd8a1ec740eddc823839ab2627b307c1b0">e94b01b</a>), closes <a href="https://github.com/vuejs/core/issues/11353">#11353</a></li> <li><strong>types:</strong> allow using InjectionKey as valid property key (<a href="https://github.com/vuejs/core/commit/321d80758c42fccbd39ecbb63f1a4f6632a1580a">321d807</a>), closes <a href="https://github.com/vuejs/core/issues/5089">#5089</a></li> </ul> <h3>Features</h3> <ul> <li><strong>custom-element:</strong> expose this.$host in Options API (<a href="https://github.com/vuejs/core/commit/1ef8f46af0cfdec2fed66376772409e0aa25ad50">1ef8f46</a>)</li> <li><strong>custom-element:</strong> inject child components styles to custom element shadow root (<a href="https://github.com/vuejs/core/issues/11517">#11517</a>) (<a href="https://github.com/vuejs/core/commit/56c76a8b05c45f782ed3a16ec77c6292b71a17f1">56c76a8</a>), closes <a href="https://github.com/vuejs/core/issues/4662">#4662</a> <a href="https://github.com/vuejs/core/issues/7941">#7941</a> <a href="https://github.com/vuejs/core/issues/7942">#7942</a></li> <li><strong>custom-element:</strong> support configurable app instance in defineCustomElement (<a href="https://github.com/vuejs/core/commit/6758c3cd0427f97394d95168c655dae3b7fa62cd">6758c3c</a>), closes <a href="https://github.com/vuejs/core/issues/4356">#4356</a> <a href="https://github.com/vuejs/core/issues/4635">#4635</a></li> <li><strong>custom-element:</strong> support css <code>:host</code> selector by applying css vars on host element (<a href="https://github.com/vuejs/core/issues/8830">#8830</a>) (<a href="https://github.com/vuejs/core/commit/03a9ea2b88df0842a820e09f7445c4b9189e3fcb">03a9ea2</a>), closes <a href="https://github.com/vuejs/core/issues/8826">#8826</a></li> <li><strong>custom-element:</strong> support emit with options (<a href="https://github.com/vuejs/core/commit/e181bff6dc39d5cef92000c10291243c7d6e4d08">e181bff</a>), closes <a href="https://github.com/vuejs/core/issues/7605">#7605</a></li> <li><strong>custom-element:</strong> support for expose on customElement (<a href="https://github.com/vuejs/core/issues/6256">#6256</a>) (<a href="https://github.com/vuejs/core/commit/af838c1b5ec23552e52e64ffa7db0eb0246c3624">af838c1</a>), closes <a href="https://github.com/vuejs/core/issues/5540">#5540</a></li> <li><strong>custom-element:</strong> support nonce option for injected style tags (<a href="https://github.com/vuejs/core/commit/bb4a02a70c30e739a3c705b3d96d09258d7d7ded">bb4a02a</a>), closes <a href="https://github.com/vuejs/core/issues/6530">#6530</a></li> <li><strong>custom-element:</strong> support passing custom-element-specific options via 2nd argument of defineCustomElement (<a href="https://github.com/vuejs/core/commit/60a88a2b129714186cf6ba66f30f31d733d0311e">60a88a2</a>)</li> <li><strong>custom-element:</strong> support shadowRoot: false in defineCustomElement() (<a href="https://github.com/vuejs/core/commit/37d2ce5d8e0fac4a00064f02b05f91f69b2d5d5e">37d2ce5</a>), closes <a href="https://github.com/vuejs/core/issues/4314">#4314</a> <a href="https://github.com/vuejs/core/issues/4404">#4404</a></li> <li><strong>custom-element:</strong> useHost() helper (<a href="https://github.com/vuejs/core/commit/775103af37df69d34c79f12c4c1776c47d07f0a0">775103a</a>)</li> <li><strong>custom-element:</strong> useShadowRoot() helper (<a href="https://github.com/vuejs/core/commit/5a1a89bd6178cc2f84ba91da7d72aee4c6ec1282">5a1a89b</a>), closes <a href="https://github.com/vuejs/core/issues/6113">#6113</a> <a href="https://github.com/vuejs/core/issues/8195">#8195</a></li> <li><strong>hydration:</strong> allow fine tuning of lazy hydration strategy triggers (<a href="https://github.com/vuejs/core/issues/11530">#11530</a>) (<a href="https://github.com/vuejs/core/commit/261c8b111d046204bd22392a8b920e3c3d4def48">261c8b1</a>)</li> <li><strong>reactivity/watch:</strong> add pause/resume for ReactiveEffect, EffectScope, and WatchHandle (<a href="https://github.com/vuejs/core/issues/9651">#9651</a>) (<a href="https://github.com/vuejs/core/commit/267093c31490050bfcf3ff2b30a2aefee2dad582">267093c</a>)</li> <li><strong>reactivity:</strong> store value cache on CustomRefs impls (<a href="https://github.com/vuejs/core/issues/11539">#11539</a>) (<a href="https://github.com/vuejs/core/commit/e044b6e737efc9433d1d84590036b82280da6292">e044b6e</a>)</li> <li><strong>runtime-dom:</strong> Trusted Types compatibility (<a href="https://github.com/vuejs/core/issues/10844">#10844</a>) (<a href="https://github.com/vuejs/core/commit/6d4eb94853ed1b2b1675bdd7d5ba9c75cc6daed5">6d4eb94</a>)</li> <li>support specifying allowed keys via generic argument in useTemplateRef() (<a href="https://github.com/vuejs/core/commit/1fbfa6962b48634ff60837084b82dd57f215c109">1fbfa69</a>)</li> <li><strong>types:</strong> allow computed getter and setter types to be unrelated (<a href="https://github.com/vuejs/core/issues/11472">#11472</a>) (<a href="https://github.com/vuejs/core/commit/a01675ef8f99b5acd6832c53051f4415b18609f2">a01675e</a>), closes <a href="https://github.com/vuejs/core/issues/7271">#7271</a></li> <li><strong>types:</strong> export <code>MultiWatchSources</code> type (<a href="https://github.com/vuejs/core/issues/9563">#9563</a>) (<a href="https://github.com/vuejs/core/commit/998dca59f140420280803233f41707580688562c">998dca5</a>)</li> <li><strong>types:</strong> provide internal options for using refs type in language tools (<a href="https://github.com/vuejs/core/issues/11492">#11492</a>) (<a href="https://github.com/vuejs/core/commit/5ffd1a89455807d5069eb2c28eba0379641dca76">5ffd1a8</a>)</li> <li><strong>watch:</strong> support passing number to <code>deep</code> option to control the watch depth (<a href="https://github.com/vuejs/core/issues/9572">#9572</a>) (<a href="https://github.com/vuejs/core/commit/22f7d96757956ebe0baafe52256aa327908cc51c">22f7d96</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.4.35...v3.5.0-alpha.5">3.5.0-alpha.5</a> (2024-07-31)</h1> <h3>Features</h3> <ul> <li><strong>hydration:</strong> support suppressing hydration mismatch via data-allow-mismatch (<a href="https://github.com/vuejs/core/commit/94fb2b8106a66bcca1a3f922a246a29fdd1274b1">94fb2b8</a>)</li> <li>lazy hydration strategies for async components (<a href="https://github.com/vuejs/core/issues/11458">#11458</a>) (<a href="https://github.com/vuejs/core/commit/d14a11c1cdcee88452f17ce97758743c863958f4">d14a11c</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.4.34...v3.5.0-alpha.4">3.5.0-alpha.4</a> (2024-07-24)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>suspense/hydration:</strong> fix hydration timing of async component inside suspense (<a href="https://github.com/vuejs/core/commit/1b8e197a5b65d67a9703b8511786fb81df9aa7cc">1b8e197</a>), closes <a href="https://github.com/vuejs/core/issues/6638">#6638</a></li> <li><strong>useId:</strong> properly mark async boundary for already resolved async component (<a href="https://github.com/vuejs/core/commit/cd281725781ada2ab279e919031ae307e146a9d9">cd28172</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.4.33...v3.5.0-alpha.3">3.5.0-alpha.3</a> (2024-07-19)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>build:</strong> enable SSR branches in esm-browser builds (<a href="https://github.com/vuejs/core/commit/b14cd9a68bab082332b0169be075be357be076ca">b14cd9a</a>)</li> <li><strong>compiler-core:</strong> change node hoisting to caching per instance (<a href="https://github.com/vuejs/core/issues/11067">#11067</a>) (<a href="https://github.com/vuejs/core/commit/cd0ea0d479a276583fa181d8ecbc97fb0e4a9dce">cd0ea0d</a>), closes <a href="https://github.com/vuejs/core/issues/5256">#5256</a> <a href="https://github.com/vuejs/core/issues/9219">#9219</a> <a href="https://github.com/vuejs/core/issues/10959">#10959</a></li> <li><strong>compiler-sfc:</strong> should properly walk desutructured props when reactive destructure is not enabled (<a href="https://github.com/vuejs/core/commit/0fd6193def2380916eb51a118f37f2d9ec2ace23">0fd6193</a>), closes <a href="https://github.com/vuejs/core/issues/11325">#11325</a></li> <li><strong>types:</strong> respect props with default on instance type when using __typeProps (<a href="https://github.com/vuejs/core/commit/96e473833422342c5ca371ae1aeb186dec9a55e3">96e4738</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>runtime-core:</strong> useTemplateRef() (<a href="https://github.com/vuejs/core/commit/3ba70e49b5856c53611c314d4855d679a546a7df">3ba70e4</a>)</li> <li><strong>runtime-core:</strong> useId() and app.config.idPrefix (<a href="https://github.com/vuejs/core/issues/11404">#11404</a>) (<a href="https://github.com/vuejs/core/commit/73ef1561f6905d69f968c094d0180c61824f1247">73ef156</a>)</li> <li><strong>runtime-core:</strong> add app.config.throwUnhandledErrorInProduction (<a href="https://github.com/vuejs/core/commit/f476b7f030f2dd427ca655fcea36f4933a4b4da0">f476b7f</a>), closes <a href="https://github.com/vuejs/core/issues/7876">#7876</a></li> <li><strong>teleport:</strong> support deferred Teleport (<a href="https://github.com/vuejs/core/issues/11387">#11387</a>) (<a href="https://github.com/vuejs/core/commit/59a3e88903b10ac2278170a44d5a03f24fef23ef">59a3e88</a>), closes <a href="https://github.com/vuejs/core/issues/2015">#2015</a> <a href="https://github.com/vuejs/core/issues/11386">#11386</a></li> <li><strong>compiler-core:</strong> support <code>Symbol</code> global in template expressions (<a href="https://github.com/vuejs/core/issues/9069">#9069</a>) (<a href="https://github.com/vuejs/core/commit/a501a85a7c910868e01a5c70a2abea4e9d9e87f3">a501a85</a>)</li> <li><strong>types:</strong> export more emit related types (<a href="https://github.com/vuejs/core/issues/11017">#11017</a>) (<a href="https://github.com/vuejs/core/commit/189573dcee2a16bd3ed36ff5589d43f535e5e733">189573d</a>)</li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.4.26...v3.5.0-alpha.2">3.5.0-alpha.2</a> (2024-05-04)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>types:</strong> fix app.component() typing with inline defineComponent (<a href="https://github.com/vuejs/core/commit/908f70adc06038d1ea253d96f4024367f4a7545d">908f70a</a>), closes <a href="https://github.com/vuejs/core/issues/10843">#10843</a></li> <li><strong>types:</strong> fix compat with generated types that rely on CreateComponentPublicInstance (<a href="https://github.com/vuejs/core/commit/c146186396d0c1a65423b8c9a21251c5a6467336">c146186</a>), closes <a href="https://github.com/vuejs/core/issues/10842">#10842</a></li> <li><strong>types:</strong> props in defineOptions type should be optional (<a href="https://github.com/vuejs/core/commit/124c4cac833a28ae9bc8edc576c1d0c7c41f5985">124c4ca</a>), closes <a href="https://github.com/vuejs/core/issues/10841">#10841</a></li> </ul> <h3>Features</h3> <ul> <li><strong>runtime-core:</strong> add app.onUnmount() for registering cleanup functions (<a href="https://github.com/vuejs/core/issues/4619">#4619</a>) (<a href="https://github.com/vuejs/core/commit/582a3a382b1adda565bac576b913a88d9e8d7a9e">582a3a3</a>), closes <a href="https://github.com/vuejs/core/issues/4516">#4516</a></li> </ul> <h1><a href="https://github.com/vuejs/core/compare/v3.4.25...v3.5.0-alpha.1">3.5.0-alpha.1</a> (2024-04-29)</h1> <h3>Bug Fixes</h3> <ul> <li><strong>reactivity:</strong> fix call sequence of ontrigger in effect (<a href="https://github.com/vuejs/core/issues/10501">#10501</a>) (<a href="https://github.com/vuejs/core/commit/28841fee43a45c37905c2c1ed9ace23067539045">28841fe</a>)</li> </ul> <h3>Features</h3> <ul> <li><strong>compiler-sfc:</strong> enable reactive props destructure by default (<a href="https://github.com/vuejs/core/commit/d2dac0e359c47d1ed0aa77eda488e76fd6466d2d">d2dac0e</a>)</li> <li><strong>reactivity:</strong> <code>onEffectCleanup</code> API (<a href="https://github.com/vuejs/core/commit/2cc5615590de77126e8df46136de0240dbde5004">2cc5615</a>), closes <a href="https://github.com/vuejs/core/issues/10173">#10173</a></li> <li><strong>reactivity:</strong> add failSilently argument for onScopeDispose (<a href="https://github.com/vuejs/core/commit/9a936aaec489c79433a32791ecf5ddb1739a62bd">9a936aa</a>)</li> <li><strong>transition:</strong> support directly nesting Teleport inside Transition (<a href="https://github.com/vuejs/core/issues/6548">#6548</a>) (<a href="https://github.com/vuejs/core/commit/0e6e3c7eb0e5320b7c1818e025cb4a490fede9c0">0e6e3c7</a>), closes <a href="https://github.com/vuejs/core/issues/5836">#5836</a></li> <li><strong>types:</strong> provide internal options for directly using user types in language tools (<a href="https://github.com/vuejs/core/issues/10801">#10801</a>) (<a href="https://github.com/vuejs/core/commit/75c8cf63a1ef30ac84f91282d66ad3f57c6612e9">75c8cf6</a>)</li> </ul> <h3>Performance Improvements</h3> <ul> <li><strong>reactivity:</strong> optimize array tracking (<a href="https://github.com/vuejs/core/issues/9511">#9511</a>) (<a href="https://github.com/vuejs/core/commit/70196a40cc078f50fcc1110c38c06fbcc70b205e">70196a4</a>), closes <a href="https://github.com/vuejs/core/issues/4318">#4318</a></li> </ul> <h2>Previous Changelogs</h2> <h3>3.4.x (2023-10-28 - 2024-08-15)</h3> <p>See <a href="./changelogs/CHANGELOG-3.4.md">3.4 changelog</a></p> <h3>3.3.x (2023-02-05 - 2023-12-29)</h3> <p>See <a href="./changelogs/CHANGELOG-3.3.md">3.3 changelog</a></p> <h3>3.2.x (2021-07-16 - 2023-02-02)</h3> <p>See <a href="./changelogs/CHANGELOG-3.2.md">3.2 changelog</a></p> <h3>3.1.x (2021-05-08 - 2021-07-16)</h3> <p>See <a href="./changelogs/CHANGELOG-3.1.md">3.1 changelog</a></p> <h3>3.0.x (2019-12-20 - 2021-04-01)</h3> <p>See <a href="./changelogs/CHANGELOG-3.0.md">3.0 changelog</a></p>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/vuejs/vue-vapor.git
git@gitee.com:vuejs/vue-vapor.git
vuejs
vue-vapor
vue-vapor
main

搜索帮助