## vuejs/core — v3.6.0-rc.2…v3.6.0-rc.3

_69 commits._

### Fixes
- **fix(runtime-vapor): align app unmount lifecycle with vdom (#15262)** (fc65972)
- **fix(runtime-vapor): preserve vdom props normalization in interop (#15261)** (b140916)
- **fix(compiler-vapor): keep the space after a quoted attribute value (#15259)** (a9e6e80)
- **fix(compiler-vapor): wrap custom directive value in parens (#15258)** (2666662)
- **fix(runtime-vapor): isolate cached component props and dynamic slots (#15251)** (ecc09cd)
- **fix(runtime-vapor): normalize class prop passed to components (#15230)** (35ba88a)
- **fix(runtime-vapor): clean up teleport targets on scope disposal (#15238)** (25dcb37)
- **fix(types): prevent infer Exposed as JSX.Element for defineVaporComponent (#15242)** (88b1151)
- **fix(runtime-vapor): preserve hydrated vdom slot fallback position** (0b547d2)
- **fix(vapor): preserve vdom slot fallback position** (3c4e5b7)
- **fix(vapor): handle markerless slot hydration anchors** (7d9d43d)
- **fix(vapor): resolve fallback across multiple slot roots** (2f82eaf)
- **fix(vapor): handle keyed slot roots** (87faca4)
- **fix(vapor): mark forwarded root slot outlets** (6945e14)
- **fix(compiler-vapor): preserve optional chaining in cached member expressions (#15229)** (14ef8d1)
- **fix(compiler-vapor): fold falsy hidden bindings into static templates** (467ad03)
- **fix(ssr): normalize hidden states during hydration (#13125)** (4e467d7)
- **fix(custom-element): warn when props override native properties (#12125)** (22b53ea)
- **fix(compiler-core): preserve vnode lifecycle in stable v-for (#11682)** (02421cd)
- **fix(v-model): preserve text input before hydration (#14411)** (2468464)
- **fix(slots): handle nullish v-bind slot props (#15177)** (2506700)
- **fix(transition): support transition to teleport component child (#11959)** (77061fe)
- **fix(compiler-sfc): handle transformed template AST after cache invalidation (#15136)** (a4440c0)
- **fix(scheduler): avoid stack overflow when flushing very large post cb arrays (#15143)** (c04a45d)
- **fix(custom-element): preserve nested async mount order (#15154)** (71f9ff5)
- **fix(runtime-core): avoid re-fetching resource props with unchanged values (#15105)** (a7513a1)
- **fix(runtime-core): restore SSR setup state when handling async setup result (#15114)** (b6191cb)
- **fix(types): preserve defineModel inference with factory defaults (#15097)** (0516c43)
- **fix(runtime-vapor): avoid tracking v-show source in fragment effects (#15204)** (3f08c4e)
- **fix(runtime-vapor): avoid tracking v-show transition hooks (#15203)** (0aca1e0)
- **fix(compiler-vapor): generate v-model after prop effects (#15201)** (721ce4f)
- **fix(vapor): align component v-text and v-html with vdom (#15195)** (dff8dd5)
- **fix(types): allow Vapor JSX Element in defineComponent render functions (#15193)** (c49b688)
- **fix(runtime-vapor): preserve move semantics for VDOM roots (#15191)** (03c0a53)
- **fix(runtime-vapor): unmount leaving KeepAlive cache entries (#15190)** (60e3b57)
- **fix(runtime-vapor): defer KeepAlive branch removal until cache pruning (#15189)** (2d0e207)
- **fix(runtime-vapor): remove special boolean attributes for falsy values (#15186)** (88fcf1e)
- **fix(runtime-vapor): constrain expose to Exposed type (#15188)** (45e594b)
- **fix(runtime-vapor): properly prune interop keep-alive entries (#15181)** (135c406)
- **fix(runtime-vapor): defer KeepAlive updates while async setup is pending (#15172)** (d179213)
- **fix(runtime-vapor): schedule async hydration anchors before updates (#15180)** (ee0e5ff)
- **fix(runtime-vapor): restore concurrent async hydration context (#15179)** (6173a40)
- **fix(compiler-sfc): avoid walking cached type references (#15175)** (c9389cc)
- **fix(runtime-vapor): handle custom directives on async components (#15167)** (4616c02)
- **fix(runtime-vapor): handle custom directives on fragment roots (#15158)** (8a8d972)
- **fix(runtime-vapor): support vdom slot content in Transition (#15159)** (bf59788)
- **fix(runtime-vapor): preserve pending async hydration ranges (#15150)** (3c9499c)
- **fix(runtime-vapor): preserve functional component root bindings (#15149)** (c3bc9e1)

### Backend
- **release: v3.6.0-rc.3** (3adb225)
- **types(runtime-vapor): improve custom directive types (#15223)** (57f3847)
- **release: v3.5.41** (d2c458b)
- **dx(runtime-core): warn when innerHTML/textContent overrides children (#15194)** (684a8de)

### Chore
- **chore(compiler-sfc): satisfy lint rules for template imports** (9952224)
- **chore(types): use bundler resolution for vapor dts tests** (7349687)
- **chore: Merge branch 'main' into minor** (96086f8)
- **refactor(vapor): replace logicalIndex with block placeholders (#15218)** (1452e5c)
- **chore(deps): update actions/setup-node action to v7 (#15122)** (b67cfcf)
- **chore(deps): update all non-major dependencies (#15116)** (a7928a3)
- **chore(deps): update dependency jsdom to v30 (#15197)** (5d0db08)
- **chore(deps): update test (#15162)** (af6afaa)
- **chore(deps): update dependency postcss to v8.5.23 [security] (#15209)** (3840dda)
- **chore(deps): update dependency monaco-editor to ^0.56.0 (#15196)** (ac7431c)
- **chore(deps): update build (#15115)** (55404d0)
- **chore(deps): update compiler to ^7.29.8 (#15163)** (2b339cb)
- **chore(deps): update lint (#15121)** (9911f0e)
- **chore(deps): upgrade to TypeScript 6 (#15098)** (37bf752)
- **chore(runtime-vapor): remove duplicated import of setActiveSub** (1f7d4cf)
- **chore: allow `@parcel/watcher` builds (#15106)** (b5f8518)
- **chore(sfc-playground): limit displayed pre-release versions (#15137)** (ec46827)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/vuejs/core?utm_source=github-action)._