|
| 1 | +# [3.6.0-beta.9](https://github.com/vuejs/core/compare/v3.6.0-beta.8...v3.6.0-beta.9) (2026-03-26) |
| 2 | + |
| 3 | + |
| 4 | +### Bug Fixes |
| 5 | + |
| 6 | +* **compiler-vapor:** avoid delegating same-event handlers when sibling uses `stop` modifiers ([#14610](https://github.com/vuejs/core/issues/14610)) ([bf7a066](https://github.com/vuejs/core/commit/bf7a0666253697a6dfbd92c34a4047c7328174d5)), closes [#14609](https://github.com/vuejs/core/issues/14609) |
| 7 | +* **compiler-vapor:** handle template children in Transition ([#14606](https://github.com/vuejs/core/issues/14606)) ([5fb8b33](https://github.com/vuejs/core/commit/5fb8b338db624c0d466fe0fa6d785e2972c58228)) |
| 8 | +* **compiler-vapor:** ignore comments when checking extraneous default slot children ([#14601](https://github.com/vuejs/core/issues/14601)) ([5af41dd](https://github.com/vuejs/core/commit/5af41dd36bac49be027941e33d6006915cc37f1b)) |
| 9 | +* **compiler-vapor:** normalize default dynamic slot names in transform ([#14619](https://github.com/vuejs/core/issues/14619)) ([c615e05](https://github.com/vuejs/core/commit/c615e0586cd68d8cf890df25d15e1f9117853f6b)) |
| 10 | +* **compiler-vapor:** preserve comment-only default slots while ignoring mixed slot comments ([#14604](https://github.com/vuejs/core/issues/14604)) ([c245dae](https://github.com/vuejs/core/commit/c245dae45cd6050082b69480c5650f17ec4e38ad)) |
| 11 | +* **hydration:** align vapor teleport null-target fallback with vdom ([5d6814f](https://github.com/vuejs/core/commit/5d6814f5c42be2d0622b7d31e2bc512d3eb22da7)), closes [#14586](https://github.com/vuejs/core/issues/14586) |
| 12 | +* **hydration:** avoid setting targetStart to placeholder when target is null ([#14589](https://github.com/vuejs/core/issues/14589)) ([5f38d73](https://github.com/vuejs/core/commit/5f38d7331a410cb4dad32d83ee1af08e96d3b6a6)) |
| 13 | +* **hydration:** consume target anchors for disabled teleports ([#14592](https://github.com/vuejs/core/issues/14592)) ([a0ba73b](https://github.com/vuejs/core/commit/a0ba73bbe0b8a5043e25e73f14468e2ded62c10a)) |
| 14 | +* **hydration:** handle enabled teleport hydration with null target ([#14586](https://github.com/vuejs/core/issues/14586)) ([715b40f](https://github.com/vuejs/core/commit/715b40f2b599c54e4c9fdb949f98bfbcc32171f1)) |
| 15 | +* **hydration:** handle nested disabled teleport anchor location ([#14587](https://github.com/vuejs/core/issues/14587)) ([befc127](https://github.com/vuejs/core/commit/befc127597e87ae5e3a8e0fdcd0823e12e2040f2)) |
| 16 | +* **hydration:** pass nextSibling to locateTeleportEndAnchor for null target ([abe8fcd](https://github.com/vuejs/core/commit/abe8fcd79cd2186ef3494ce5a04e55364b349400)) |
| 17 | +* **keep-alive:** avoid allocating composite keys on cache lookup ([981bd83](https://github.com/vuejs/core/commit/981bd83a5119b5c5da4837ca9496123db885257d)) |
| 18 | +* **keep-alive:** fix keyed branch scope leak in KeepAlive ([cbe905e](https://github.com/vuejs/core/commit/cbe905e1f35fb86ba73c0edddb3165f4000fa754)) |
| 19 | +* **keep-alive:** handle KeepAlive teardown for keyed live branches ([340ef37](https://github.com/vuejs/core/commit/340ef37b2d55172d88b3dd8f38df9eab03197e1b)) |
| 20 | +* **keep-alive:** prevent stale cacheBlock() calls when VDOM async component resolves after being unmounted or witched ([3b2ffb7](https://github.com/vuejs/core/commit/3b2ffb71c6bb3e9359dee71c518b561021a40f26)) |
| 21 | +* **keep-alive:** support VDOM async components in VaporKeepAlive ([6123f9b](https://github.com/vuejs/core/commit/6123f9b262ddc74339ea7f42d643796d7aa0a09b)) |
| 22 | +* **runtime-vapor:** align KeepAlive interop directives with non-element root bailout ([1a91660](https://github.com/vuejs/core/commit/1a91660fb88f73986b5556030e23ca2de47be56d)) |
| 23 | +* **runtime-vapor:** clean up keptAliveScopes in pruneCacheEntry ([2e78d1e](https://github.com/vuejs/core/commit/2e78d1eb372ebfaa258ab83b99e696e3844ed927)) |
| 24 | +* **runtime-vapor:** clear template ref when switching to unresolved async component ([e09b67a](https://github.com/vuejs/core/commit/e09b67ab15303902a13b00691a4f0b9c8c2007c7)) |
| 25 | +* **runtime-vapor:** clear template refs on KeepAlive deactivation ([4c5a620](https://github.com/vuejs/core/commit/4c5a620459e1aa8c2684d7e6973ed2b3cb1b3cf1)) |
| 26 | +* **runtime-vapor:** delay teleport child init until target is available ([#14593](https://github.com/vuejs/core/issues/14593)) ([3941eab](https://github.com/vuejs/core/commit/3941eaba6eee94c5ad7abde4a617fcd05a852190)) |
| 27 | +* **runtime-vapor:** ensure KeepAlive onBeforeUnmount cleans up all cached entries ([d978639](https://github.com/vuejs/core/commit/d978639235e27dd2a7d0c485f6462391b096db58)) |
| 28 | +* **runtime-vapor:** fix compositeKeyCachePrimitive memory leak in KeepAlive ([16c071c](https://github.com/vuejs/core/commit/16c071cc49468363abeaf4ef8f01f8b63c1bf878)) |
| 29 | +* **runtime-vapor:** fix keptAliveScopes key mismatch causing scope leak on prune ([3f2603d](https://github.com/vuejs/core/commit/3f2603da58cfef929f76f427bef529bd1fe040e8)) |
| 30 | +* **runtime-vapor:** handle async component names in KeepAlive pruneCache ([b210f01](https://github.com/vuejs/core/commit/b210f010b8d667d4bf25ca74e72d1c912df6495a)) |
| 31 | +* **runtime-vapor:** handle KeepAlive template ref cleanup for async branches ([5239691](https://github.com/vuejs/core/commit/5239691b9e3b5ed3cf15ec1d84e5936305453776)) |
| 32 | +* **runtime-vapor:** invalidate pending mount hooks on deactivate/unmount ([0d8c519](https://github.com/vuejs/core/commit/0d8c519e83a0e177c5cc637edfad54af9a327021)) |
| 33 | +* **runtime-vapor:** invoke directive update hooks on KeepAlive reactivation ([a2e32e0](https://github.com/vuejs/core/commit/a2e32e08bad89f46700e63d4ea96ebb6413d6824)) |
| 34 | +* **runtime-vapor:** invoke onVnodeBeforeMount for vapor components in interop ([68c405c](https://github.com/vuejs/core/commit/68c405c078503f0aec95fe3b91756ba4921d839b)) |
| 35 | +* **runtime-vapor:** invoke vnode lifecycle hooks in vdom interop ([b7c9fc2](https://github.com/vuejs/core/commit/b7c9fc20ecc13ffd2add056fb467966ceb7c0b4b)) |
| 36 | +* **runtime-vapor:** invoke vnode update hooks on KeepAlive reactivation ([446b21b](https://github.com/vuejs/core/commit/446b21b5e40d069ffac90d2dc34e171a3406af99)) |
| 37 | +* **runtime-vapor:** preserve async wrapper keys across dynamic fragment updates ([fea9fd9](https://github.com/vuejs/core/commit/fea9fd9676c37c235b5dfeae48c45ab2c8fe9c5c)) |
| 38 | +* **runtime-vapor:** preserve KeepAlive keyed scope cache for falsy keys ([f0c9478](https://github.com/vuejs/core/commit/f0c947829d83becc214ccdfa9e9f43fc85cabe45)) |
| 39 | +* **runtime-vapor:** prune KeepAlive composite cache keys ([e2cf58a](https://github.com/vuejs/core/commit/e2cf58a95e3c55e857b4b19bac5cfe3717a714d9)) |
| 40 | +* **runtime-vapor:** restore render context for interop slot fallbacks ([#14596](https://github.com/vuejs/core/issues/14596)) ([f6952b2](https://github.com/vuejs/core/commit/f6952b25db9dd3fffb94cbb7230744cc6b45d762)) |
| 41 | +* **runtime-vapor:** reuse teleport anchors when keyed roots reorder ([#14591](https://github.com/vuejs/core/issues/14591)) ([df8e1eb](https://github.com/vuejs/core/commit/df8e1eb0b6ef56f5f0f8f906e24018013bee806e)) |
| 42 | +* **runtime-vapor:** TransitionGroup with v-for + v-if not applying transition hooks ([#14590](https://github.com/vuejs/core/issues/14590)) ([1916785](https://github.com/vuejs/core/commit/191678557e33bf3debbfbc9dc4efb56c72a0905b)) |
| 43 | +* **runtime-vapor:** update props/slots on vapor child reactivation in vdom KeepAlive ([ed276a9](https://github.com/vuejs/core/commit/ed276a95308c9dc31a78f17937057b3d23396187)) |
| 44 | +* **teleport:** clean up old anchors when teleport target changes ([#14588](https://github.com/vuejs/core/issues/14588)) ([d614897](https://github.com/vuejs/core/commit/d614897b5cf6e502223369b8b1716d2344f5be1c)) |
| 45 | +* **teleport:** ensure target anchor is removed only if it exists ([b671f4b](https://github.com/vuejs/core/commit/b671f4b01c9c3bf35e60836f7b41b7b19269eed7)) |
| 46 | +* **teleport:** handle missing slots edge case ([#14597](https://github.com/vuejs/core/issues/14597)) ([e79b814](https://github.com/vuejs/core/commit/e79b814b9c68c995dcad81aec95df8aaee5ed782)) |
| 47 | +* **teleport:** reapply teleport css vars after root replacement ([#14594](https://github.com/vuejs/core/issues/14594)) ([caea24d](https://github.com/vuejs/core/commit/caea24de56093b54f8a0a889e13ee0b3db92f2f3)) |
| 48 | +* **teleport:** remove stale target anchors after invalid target updates ([#14600](https://github.com/vuejs/core/issues/14600)) ([e7828d4](https://github.com/vuejs/core/commit/e7828d438cb4266b0e05255902e2b2c3f6021946)) |
| 49 | +* **teleport:** should not mount deferred teleport after unmount ([#14598](https://github.com/vuejs/core/issues/14598)) ([e473e23](https://github.com/vuejs/core/commit/e473e23b4cf0476793b1c35e1132957c228ac3d8)) |
| 50 | +* **transition-group:** align key inheritance with vdom ([bb63124](https://github.com/vuejs/core/commit/bb631244bd6b72e66e9a369b5a1ac79b3a4cc373)) |
| 51 | +* **transition-group:** align transition-group dynamic tag updates with vdom ([5348391](https://github.com/vuejs/core/commit/53483917b99870179f2cdc3a46f89d0a66b2ffbb)) |
| 52 | +* **transition-group:** avoid invalid hooks on unkeyed interop children ([82c1223](https://github.com/vuejs/core/commit/82c12230648f73b3de02c0a34d9f0f5b5d4cfc22)) |
| 53 | +* **transition-group:** handle v-if dynamic slots ([#14628](https://github.com/vuejs/core/issues/14628)) ([9ac929a](https://github.com/vuejs/core/commit/9ac929a48139033c50fb85bdbdb7169c443f6f10)) |
| 54 | +* **transition-group:** support vdom children with comment roots ([9830c4a](https://github.com/vuejs/core/commit/9830c4a43c6684f2a766a4a80246fca3cc10b29f)) |
| 55 | +* **transition:** align interop transition vnode identity with vdom ([efda719](https://github.com/vuejs/core/commit/efda719263dc14ed4d5b932db8fe9980c1b296aa)) |
| 56 | +* **transition:** isolate transition leaving cache by resolved child type ([cc0d96f](https://github.com/vuejs/core/commit/cc0d96fa419fb0a895d21f2a41c6462dfc65c8f2)) |
| 57 | +* **transition:** treat null transition keys as absent in child fallback ([724fd88](https://github.com/vuejs/core/commit/724fd889c9b261101662b8fd77752d65e9500239)) |
| 58 | +* **vdomInterop:** keep interop fragment nodes in sync after vnode updates ([c62dc1f](https://github.com/vuejs/core/commit/c62dc1f2845a71fa31196a0a0910748d32a82d55)) |
| 59 | +* **vdomInterop:** keep vdom slot fragment nodes in sync with child updates ([26e4a81](https://github.com/vuejs/core/commit/26e4a812f6cdba9a83b87d441cad4b41ee486d43)) |
| 60 | + |
| 61 | + |
| 62 | +### Features |
| 63 | + |
| 64 | +* **vapor:** preserve static keys ([62cb2ce](https://github.com/vuejs/core/commit/62cb2ce8f1b8e26d392a6548f1d3644bcb0204f7)) |
1 | 65 | # [3.6.0-beta.8](https://github.com/vuejs/core/compare/v3.5.30...v3.6.0-beta.8) (2026-03-16) |
2 | 66 |
|
3 | 67 |
|
|
0 commit comments