svelte@5.50.3

sveltejs/sveltesvelte@5.50.3Feb 12, 2026by github-actions[bot]

AI Summary

Focusing on XHTML compliance, this release handles case sensitivity for node names and specific attributes, manages derived effect lifecycles by freezing them when disconnecting, and improves error propagation to `<svelte:boundary>`.

Key Highlights

  • Take into account `nodeName` case sensitivity on XHTML pages
  • Render `multiple` and `selected` attributes as empty strings for XHTML compliance
  • Freeze effects-inside-deriveds when disconnecting, unfreeze on reconnect
  • Propagate `$effect` errors to `<svelte:boundary>`

Full Release Notes

### Patch Changes

-   fix: take into account `nodeName` case sensitivity on XHTML pages ([#17689](https://github.com/sveltejs/svelte/pull/17689))

-   fix: render `multiple` and `selected` attributes as empty strings for XHTML compliance ([#17689](https://github.com/sveltejs/svelte/pull/17689))

-   fix: always lowercase HTML elements, for XHTML compliance ([#17664](https://github.com/sveltejs/svelte/pull/17664))

-   fix: freeze effects-inside-deriveds when disconnecting, unfreeze on reconnect ([#17682](https://github.com/sveltejs/svelte/pull/17682))

-   fix: propagate `$effect` errors to `<svelte:boundary>` ([#17684](https://github.com/sveltejs/svelte/pull/17684))