svelte@5.50.0
sveltejs/sveltesvelte@5.50.0Feb 6, 2026by github-actions[bot]
AI Summary
This minor release enables programmatic component instantiation using `createContext` and fixes hydration logic to handle edge cases such as `{#key NaN}` and properly hydrate already-resolved async blocks.
Key Highlights
- Allow use of `createContext` when instantiating components programmatically
- Allow `{#key NaN}`
- Properly hydrate already-resolved async blocks
- Emit `each_key_duplicate` error in production
New Features
- Allow use of `createContext` when instantiating components programmatically
Full Release Notes
### Minor Changes
- feat: allow use of createContext when instantiating components programmatically ([#17575](https://github.com/sveltejs/svelte/pull/17575))
### Patch Changes
- fix: ensure infinite effect loops are cleared after flushing ([#17601](https://github.com/sveltejs/svelte/pull/17601))
- fix: allow `{#key NaN}` ([#17642](https://github.com/sveltejs/svelte/pull/17642))
- fix: detect store in each block expression regardless of AST shape ([#17636](https://github.com/sveltejs/svelte/pull/17636))
- fix: treat `<menu>` like `<ul>`/`<ol>` for a11y role checks ([#17638](https://github.com/sveltejs/svelte/pull/17638))
- fix: add vite-ignore comment inside dynamic crypto import ([#17623](https://github.com/sveltejs/svelte/pull/17623))
- chore: wrap JSDoc URLs in `@see` and `@link` tags ([#17617](https://github.com/sveltejs/svelte/pull/17617))
- fix: properly hydrate already-resolved async blocks ([#17641](https://github.com/sveltejs/svelte/pull/17641))
- fix: emit `each_key_duplicate` error in production ([#16724](https://github.com/sveltejs/svelte/pull/16724))
- fix: exit resolved async blocks on correct node when hydrating ([#17640](https://github.com/sveltejs/svelte/pull/17640))