## vuejs/core — v3.6.0-beta.15…v3.6.0-beta.16

_43 commits._

### Fixes
- **fix(runtime-vapor): skip nullish dynamic emit sources** (ffd671c)
- **fix(runtime-vapor): fall back to full mount for empty ssr containers** (baa7c59)
- **fix(compiler-vapor): normalize dynamic modifier arg keys** (d80423d)
- **fix(compiler-vapor): ignore v-html children before text transforms** (224e672)
- **fix(compiler-vapor): handle setup-let inline assignment** (0bf86ef)
- **fix(runtime-vapor): unmount apps without dev instance state** (52fda7c)
- **fix(compiler-vapor): keep unsafe attr names out of templates** (780c4ff)
- **fix(runtime-vapor): no-op mount for missing selector** (05bf22a)
- **fix(compiler-vapor): quote native v-model modifier keys** (898ce5b)
- **fix(compiler-vapor): quote static v-model modifier keys** (eb25a7f)
- **fix(runtime-vapor): treat nullish dynamic props as empty** (f53da05)
- **fix(compiler-vapor): report slot v-else without adjacent v-if** (1eaacfa)
- **fix(runtime-vapor): stringify symbol attribute values** (a63b165)
- **fix(compiler-vapor): return empty blocks for empty output** (2c73a96)
- **fix(runtime-vapor): parse dynamic v-bind event options like vdom** (5100a6e)
- **perf(vapor): skip SlotFragment for stable slot fallback (#14969)** (27b0482)
- **fix(runtime-vapor): compare raw keys before transition early removal** (5689b88)
- **fix(runtime-vapor): stop persisted leaking to non-v-show roots** (a816c9e)
- **fix(runtime-vapor): bucket transition-group leave by type** (207dce4)
- **fix(runtime-vapor): re-resolve transition hooks on prop change** (fda5bc4)
- **fix(runtime-vapor): share leaving cache for unkeyed transition child** (254a9c0)
- **fix(runtime-vapor): keep out-in branch key in sync when leave defers render** (370de63)
- **fix(runtime-vapor): hydrate static text mismatches** (58aeb40)
- **fix(runtime-vapor): correct tag mismatch detection in hydration** (3daf8f5)
- **fix(runtime-vapor): hydrate v-if empty branches with static templates** (0c92f54)
- **fix(runtime-vapor): apply dynamic props on mismatch-recreated nodes** (a36f43b)
- **fix(runtime-vapor): correct fragment start hydration mismatch warning** (4eb5dca)
- **fix(runtime-vapor): avoid re-cloning static template cache on repeated hydration adoptions** (2d7464c)

### Backend
- **release: v3.6.0-beta.16** (206b113)
- **release: v3.5.38** (478e3e8)

### Tests
- **test(e2e): stabilize transition tests with vitest browser mode (#14970)** (325eb1d)

### Chore
- **chore: 'origin/main' into minor** (b196013)
- **refactor(runtime-vapor): share logMismatchError with runtime-core** (6667d6b)
- **refactor(runtime-vapor): merge hydration tail cleanup helpers** (2a349b3)
- **refactor(runtime-vapor): align hydration prop adoption with vdom semantics** (1add409)
- **chore(runtime-vapor): document slot fallback resolution internals** (00ac465)
- **refactor(runtime-vapor): capture ambient render context in a dedicated fragment subclass** (9b379cd)
- **refactor(runtime-vapor): remove slot special-casing from the fragment core** (7fe4703)
- **refactor(runtime-vapor): consolidate KeepAlive touch points in renderBranch** (d30631a)
- **refactor(runtime-vapor): move transition leave scheduling out of fragment core** (750a697)
- **refactor(runtime-vapor): make hydration anchor resolution an explicit plan** (897a27a)
- **refactor(runtime-vapor): convert DynamicFragment.hydrate to a free function** (b8f3437)
- **refactor(runtime-vapor): split fragment.ts into domain modules** (d215851)

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