Svelte 5.56.10
Svelte 5.56.10 has been released, a patch update to the compiler and runtime focused on rounding out edge cases in the Svelte 5 legacy-era toolchain.
Overview
Released August 20, 2026, version 5.56.10 is a maintenance release. It delivers a concentrated batch of fixes across the compiler, server-side rendering (SSR), and CSS handling with no new public API surface and no deprecations.
Compiler Fixes
- CSS escapes preserved — selector printing no longer mangles CSS escape sequences.
- :nth-child parsing — correctly parses selectors like
:nth-child(2n of.foo)whereofis not followed by whitespace. - Labeled statement transforms — expressions inside labeled statements are now transformed correctly during server compilation.
- Falsy custom properties — CSS custom properties with falsy values are applied properly on components.
- Namespace preservation — namespaces are kept intact in CSS type selectors.
SSR & Runtime Fixes
- #await printing —
{#await ... catch x}blocks are now printed correctly. - Derived destructuring — avoids double-calling a derived reference when destructuring one
$derivedfrom another during SSR. - Event propagation —
last_propagated_eventis released after propagation settles so it no longer retains the last event's target subtree. - Custom elements — custom elements can now receive async values as props.
- Legacy bind — the renderer type is no longer corrupted during SSR's legacy
bind:retry loop.
Chores
Client and server context helpers were deduplicated, and the context lookup documentation was clarified to note that it includes the current component and all ancestors.
Svelte 5.56.10 is a low-risk upgrade for anyone already on the 5.56 branch. Existing projects can update their dependency and rebuild without expected breaking changes.