unstale

npm / svelte

svelte

What changed in svelte 5, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

14 breaking14 security19 new APIs and options17 performance15 behavior and defaults1 tooling316 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

svelte 5396 changes

Breaking changes 14

  • Using let: directives on a component with a children snippet now errors.

    5.57.2release notes

  • Calling setContext after an await during SSR throws set_context_after_init.

    5.57.1release notes

  • Declaration tags and {@const} are blocked on async values read inside closures.

    5.57.0release notes

  • This error is now reported for export let x = $derived(...) in runes mode.

    5.57.0release notes

  • Duplicate snippet or declaration tag definitions now produce a compile-time error.

    5.56.1release notes

  • The async blocking strategy is replaced with merging.

    5.55.6release notes

  • The introstart event is no longer dispatched for an animation of the animate directive.

    5.55.5release notes

  • The idPrefix option no longer accepts --.

    5.55.2release notes

  • The error is now emitted in production.

    5.50.0release notes

  • SvelteKit data attributes were removed from the element type declarations.

    5.49.2release notes

  • Calling the get function for an unset createContext value on the server now throws.

    5.49.0release notes

  • Invalid {@tag}s now throw.

    5.45.2release notes

  • These await expressions now produce an error at compile time instead of at runtime.

    5.43.14release notes

  • Reactivity context is no longer preserved across function boundaries.

    5.41.2release notes

Security 14

New APIs and options 19

Performance 17

  • Parser interactions with Acorn are faster or avoided where possible.

    5.57.1release notes

  • Regex matching is avoided in the parser where possible.

    5.57.1release notes

  • SSR rendering reduces render-result garbage collection.

    5.57.1release notes

  • Map lookups for legacy reactive statement ordering change from O(n²) to O(n).

    5.57.0release notes

  • The option/select value guard reuses its cached value.

    5.57.0release notes

  • Make async blocker analysis scale linearly with the number of top-level references.

    5.56.10release notes

  • Compilation skips unnecessary blocker analysis for components without top-level await.

    5.56.6release notes

  • Walk composedPath() directly during delegated event propagation.

    5.55.10release notes

  • Avoids re-traversing the effect tree after $: assignments.

    5.53.8release notes

  • Caches element interactivity and source line splitting in the compiler.

    5.53.7release notes

  • Optimizes CSS selector pruning.

    5.53.7release notes

  • Avoids O(n²) name scanning in scope generate and unique.

    5.53.7release notes

  • The compiler analysis phase is optimized.

    5.53.6release notes

  • Parser hot paths are optimized for faster compilation.

    5.53.6release notes

  • Already settled promises no longer incur async overhead.

    5.48.1release notes

  • Tracing is used less eagerly during development.

    5.43.11release notes

  • Await expressions are optimized more effectively.

    5.41.4release notes

Behavior and default changes 15

  • Declarations are now allowed in the template.

    5.56.0release notes

  • The css compiler option can now be a function.

    5.54.0release notes

  • The customElement compiler option can now be a function.

    5.54.0release notes

  • The runes compiler option can now be a function.

    5.54.0release notes

  • Comments are now allowed in tags, expanding the syntax developers can write.

    5.53.0release notes

  • Error boundaries now work on the server.

    5.53.0release notes

  • Supports TrustedHTML in {@html} expressions.

    5.52.0release notes

  • Effects are proactively deferred in a pending boundary, changing when they run.

    5.51.4release notes

  • Can now be used when instantiating components programmatically.

    5.50.0release notes

  • The assignment_value_stale warning is issued more conservatively.

    5.49.0release notes

  • Adds more CSS selectors to print().

    5.45.7release notes

  • The state_referenced_locally diagnostic now applies to props.

    5.45.3release notes

  • Attachments and attribute effects are no longer executed eagerly.

    5.43.15release notes

  • The restriction against calling flushSync in effects has been lifted.

    5.43.15release notes

  • Vite optimized deps are excluded from stack traces, making those traces less cluttered.

    5.41.3release notes

Tooling 1

  • Provides a proper public type for the parseCss result.

    5.50.2release notes

Fixes and other changes 316

  • A redundant link role is no longer warned about on area elements without an href.

    5.57.2release notes

  • Await blocks with only a pending branch are printed correctly.

    5.57.2release notes

  • Await wrappers preserve location information.

    5.57.2release notes

  • Removing the focused element while using bind:activeElement no longer throws state_unsafe_mutation.

    5.57.2release notes

  • Stale boundary reset callbacks are ignored.

    5.57.2release notes

  • Hydration state is restored if a custom element attribute update throws.

    5.57.2release notes

  • Deferred transitions aborted before initialization are handled.

    5.57.2release notes

  • Reconnecting deriveds no longer creates duplicate subscriptions.

    5.57.2release notes

  • Dynamic element connections are preserved during hydration.

    5.57.2release notes

  • Each-block commits read the batch-local array.

    5.57.2release notes

  • Compilation errors if {:else} is followed by another {:else} or {:else if ...}.

    5.57.2release notes

  • Event handlers assigned after top-level await are attached in production.

    5.57.2release notes

  • Pending work is flushed before the flushSync callback is invoked.

    5.57.2release notes

  • Hydration recovers if an unexpected node replaces a nested boundary comment.

    5.57.2release notes

  • Error boundaries no longer intercept hydration mismatch recovery.

    5.57.2release notes

  • When migration cannot turn a reactive assignment into a declaration, it keeps the assignment even when it has no dependencies.

    5.57.2release notes

  • Migration no longer hangs on a declaration sharing a line with its script tag.

    5.57.2release notes

  • Compilation errors when a declaration in a snippet redeclares one of its parameters.

    5.57.2release notes

  • An unchanged spread value is no longer overwritten, preserving incomplete number input.

    5.57.2release notes

  • URL updates no longer track SvelteURLSearchParams.

    5.57.2release notes

  • Components destroyed while waiting for top-level await no longer create async deriveds.

    5.57.2release notes

  • Untracked derived reads no longer retain disconnected dependencies.

    5.57.2release notes

  • aria-braillelabel is recognized as a known ARIA attribute.

    5.57.1release notes

  • aria-brailleroledescription is recognized as a known ARIA attribute.

    5.57.1release notes

  • Deferred event listeners are cancelled during cleanup.

    5.57.1release notes

  • The fallback of an each block resolves in the enclosing scope.

    5.57.1release notes

  • Effect trees of batches no longer interfere with each other.

    5.57.1release notes

  • Global CSS is preserved in components without scopable elements.

    5.57.1release notes

  • Input default values are serialized during server rendering.

    5.57.1release notes

  • Object.hasOwn reacts to ownership changes on state proxies.

    5.57.1release notes

  • $state.eager is preserved when used as a variable initializer.

    5.57.1release notes

  • The accessibility check now accepts onfocusin and onfocusout.

    5.57.0release notes

  • Line feed character references are preserved in attribute values.

    5.57.0release notes

  • Omitted from SSR output because it has no HTML attribute.

    5.57.0release notes

  • Preserved on hydrated radio inputs with spread attributes.

    5.57.0release notes

  • Teardown errors are routed through invoke_error_boundary.

    5.57.0release notes

  • CSS tree-shaking is avoided for exported Snippet.

    5.57.0release notes

  • They are measured before their starting styles are applied.

    5.57.0release notes

  • Uppercase-X hexadecimal numeric character references are decoded.

    5.57.0release notes

  • Callbacks run when a server render throws.

    5.57.0release notes

  • No longer fires twice when compilerOptions.hmr is true.

    5.57.0release notes

  • They are no longer resurrected when an ancestor block is paused and resumed.

    5.57.0release notes

  • Dependencies of a reaction that throws are kept, preventing deriveds it read from being leaked or stuck in their error.

    5.57.0release notes

  • Static value attributes no longer produce malformed AST output.

    5.57.0release notes

  • Mutating selectedcontent no longer changes the selected option.

    5.57.0release notes

  • Warnings are now emitted for undeclared shorthand event handlers on svelte:window, svelte:document, and svelte:body.

    5.57.0release notes

  • The transition no longer produces NaN keyframe values for elements without a layout box.

    5.57.0release notes

  • Failed snippets are scoped to their boundary.

    5.57.0release notes

  • Component instances stored in $state are no longer turned into state proxies.

    5.57.0release notes

  • Template store subscriptions are blocked on the promise that assigns the store.

    5.57.0release notes

  • Rendering of Svelte custom element slots is more robust.

    5.57.0release notes

  • Anchors are removed on unmount.

    5.57.0release notes

  • Elements inside svelte:head no longer receive a class hash.

    5.57.0release notes

  • Snapshots are now tracked in reactions.

    5.57.0release notes

  • The port signal is synchronized when the protocol setter clears the port.

    5.57.0release notes

  • Static textarea value attributes are properly applied during CSR.

    5.57.0release notes

  • Correctly print await blocks with catch clauses.

    5.56.10release notes

  • Apply CSS custom properties with falsy values on components.

    5.56.10release notes

  • Preserve CSS escape sequences when printing selectors.

    5.56.10release notes

  • Preserve namespaces in CSS type selectors.

    5.56.10release notes

  • Allow custom elements to receive async values as props.

    5.56.10release notes

  • Avoid double-calling a derived reference when destructuring $derived of another $derived during server-side rendering.

    5.56.10release notes

  • Give effect teardowns the value from before the first write in a flush.

    5.56.10release notes

  • Release last_propagated_event after propagation settles so it no longer retains the last event's target subtree.

    5.56.10release notes

  • Strip comments from inline style values in linear time.

    5.56.10release notes

  • Transform expressions inside labeled statements during server compilation.

    5.56.10release notes

  • Ignore Program node comments during migration.

    5.56.10release notes

  • Parse :nth-child(2n of.foo) when of is not followed by whitespace.

    5.56.10release notes

  • Increment private state fields through a non-this receiver and preserve short-circuiting for logical assignments.

    5.56.10release notes

  • Clean up removed capture event handlers from spread attributes.

    5.56.10release notes

  • Comments in attributes are no longer duplicated.

    5.56.9release notes

  • The controlled each fast path is skipped while another batch is pending, fixing behavior in that situation.

    5.56.9release notes

  • The AST printer now preserves CSS comments.

    5.56.9release notes

  • Whitespace handling inside the printer was improved.

    5.56.9release notes

  • Hydrating a failed boundary now calls onerror and provides a working reset.

    5.56.8release notes

  • Reset now works when hydrating a failed boundary.

    5.56.8release notes

  • Select selection is now preserved when spread attributes omit value.

    5.56.8release notes

  • A derived with an abort controller is rerun when it reconnects.

    5.56.6release notes

  • Declaration tags no longer trigger a warning in event handlers.

    5.56.5release notes

  • Declaration tags are correctly transformed during SSR.

    5.56.5release notes

  • Declaration tags are no longer treated as parts inside each blocks.

    5.56.5release notes

  • Deriveds read inside branch or root effects are no longer incorrectly reconnected.

    5.56.5release notes

  • An unnecessary derived effect is skipped in an earlier batch.

    5.56.5release notes

  • A derived's own AbortSignal is aborted when it disconnects.

    5.56.5release notes

  • Computed keys in keyed each-block destructuring patterns are now transformed correctly.

    5.56.5release notes

  • Sourcemaps are chained with an empty sources[0] instead of being dropped.

    5.56.5release notes

  • The compiler now correctly transforms $state.eager() for SSR output.

    5.56.5release notes

  • Clearing the previous task reference after abort prevents a memory leak on interrupted tweens.

    5.56.5release notes

  • The declarator end position now includes wrapping parentheses, improving source position information for {@const} declarations.

    5.56.4release notes

  • Reactivity context is now always unset after being restored, preventing context from being left set.

    5.56.4release notes

  • Optional parameters are stripped so the generated JavaScript is valid.

    5.56.4release notes

  • Subscribers are no longer notified when the URL changes without affecting the search string.

    5.56.4release notes

  • Errors that occur in destroyed effects are now ignored.

    5.56.3release notes

  • BigInts in $state.snapshot(...) return values are now correctly typed.

    5.56.3release notes

  • Declaration tags are ignored for the animation directive.

    5.56.2release notes

  • Pending async deriveds are rejected when discarded.

    5.56.2release notes

  • Declaration tag contents are parsed more robustly, including when they contain type.

    5.56.1release notes

  • References to earlier declarators in a declaration tag are transformed correctly.

    5.56.1release notes

  • The compiler no longer emits spurious state_referenced_locally warnings for $derived declarations in declaration tags.

    5.56.1release notes

  • Whitespace before let or const in declaration tags is now tolerated.

    5.56.1release notes

  • Reference checks for blockers now run on the server as well.

    5.56.1release notes

  • Setting duplicate keys to the same joined value now updates SvelteURLSearchParams correctly.

    5.56.1release notes

  • Parsing no longer enters an infinite loop when a tag expression ends with a trailing / at end of input.

    5.56.1release notes

  • Newlines in spread input values are preserved when the type attribute follows value.

    5.56.1release notes

  • Include the tag name in this accessibility warning.

    5.55.10release notes

  • Correctly coordinate component-level effects inside async blocks.

    5.55.10release notes

  • Async blockers propagate through closure references, so template expressions correctly wait for awaited values.

    5.55.10release notes

  • Allow $derived(await ...) in disconnected effect roots.

    5.55.10release notes

  • Declare let: directives before {@const} declarations on slotted elements.

    5.55.10release notes

  • Resume branches that were kept around after being outro-ed.

    5.55.10release notes

  • Avoid emitting a waterfall warning when an async operation resolves to the same value.

    5.55.10release notes

  • Promise-ifies {#await await ...} expressions on the server and correctly hydrates them on the client.

    5.55.9release notes

  • An uninitialized derived now executes even if it has been destroyed.

    5.55.8release notes

  • Context is unset synchronously in run.

    5.55.8release notes

  • Teardown effects no longer run when deriveds are unfrozen.

    5.55.8release notes

  • Empty attribute names are disallowed during SSR.

    5.55.7release notes

  • Updating bind:this accounts for proxified instances.

    5.55.6release notes

  • Component member expressions compile correctly for SSR.

    5.55.6release notes

  • Comments are ignored when reading CSS values.

    5.55.6release notes

  • @debug tags can reference awaited variables.

    5.55.6release notes

  • Eager effects are flushed in production.

    5.55.6release notes

  • Errors from failed iterables are rethrown after calling return().

    5.55.6release notes

  • Fallback props rerun when their dependencies update.

    5.55.6release notes

  • False-positive errors from $inspect dependencies are ignored.

    5.55.6release notes

  • Running obsolete async branches are aborted.

    5.55.6release notes

  • The typings allow null for pending.

    5.55.6release notes

  • Promise.all is wrapped in save during SSR.

    5.55.6release notes

  • Context is reapplied after an error is transformed during SSR.

    5.55.6release notes

  • Stale deriveds resolve with the latest value.

    5.55.6release notes

  • Stale promises are left to wait for a later resolution instead of being rejected.

    5.55.6release notes

  • Dependencies of $state.eager/pending are kept.

    5.55.6release notes

  • Deriveds are no longer marked while an effect is updating.

    5.55.5release notes

  • Child effect roots are no longer marked as inert.

    5.55.4release notes

  • Context is reset after waiting on blockers of @const expressions.

    5.55.4release notes

  • New eager effects continue to be flushed.

    5.55.4release notes

  • Blockers for @const are now calculated correctly.

    5.55.3release notes

  • Deriveds are frozen once their containing effects are destroyed.

    5.55.3release notes

  • HMR updates for dynamic components are now handled properly.

    5.55.3release notes

  • Error boundary rendering is deferred in forks.

    5.55.3release notes

  • Prevents a false-positive reactivity loss warning.

    5.55.3release notesrelease notes

  • In legacy mode, @const tags are invalidated based on visible references.

    5.55.2release notes

  • In dev mode, $destroy, set, and on instance methods are no longer overridden.

    5.55.2release notes

  • Types for ontoggle on <details> elements are corrected.

    5.55.2release notes

  • Parentheses in template expressions are handled more robustly.

    5.55.2release notes

  • Improves the error message for duplicate module imports.

    5.55.1release notes

  • New effects are rescheduled in prior batches.

    5.55.1release notes

  • Prevents a hydration error when using async {@html ...}.

    5.55.1release notes

  • Bindings are now correctly handled on the server.

    5.55.1release notes

  • Forwards the correct start and end nodes to the active effect.

    5.55.0release notes

  • Defers batch resolution until earlier intersecting batches have committed.

    5.54.1release notes

  • Fixes hydration comments during HMR, addressing incorrect hydration behavior during hot module replacement.

    5.54.1release notes

  • Properly invokes iterator.return() during the reactivity loss check.

    5.54.1release notes

  • Reactivity loss tracking has been reinstated.

    5.54.0release notes

  • Nodes are removed in a boundary when work is pending and HMR is active.

    5.53.13release notes

  • Using $inspect after top-level await no longer breaks builds.

    5.53.13release notes

  • Batches made obsolete by a commit are discarded.

    5.53.13release notes

  • Inert effects resume when they come from offscreen.

    5.53.13release notes

  • The standalone-child state is correctly reset.

    5.53.13release notes

  • Templates no longer eagerly access functions that have not yet been initialized.

    5.53.13release notes

  • Handles asynchronous right-hand sides in assignment_value_stale.

    5.53.12release notes

  • Ensures derived values remain correct across batches.

    5.53.12release notes

  • Updates the select’s internal value on change, fixing select value behavior.

    5.53.12release notes

  • Lazily evaluates the right-hand side when checking for assignment_value_stale.

    5.53.11release notes

  • Recovers from errors that leave the effect tree corrupted.

    5.53.11release notes

  • Resolves the boundary in the correct batch during hydration.

    5.53.11release notes

  • Removes a circular dependency involving untrack.

    5.53.11release notes

  • Batches are re-processed when new root effects are scheduled.

    5.53.10release notes

  • Improves cleanup timing for bind:this.

    5.53.9release notes

  • Handles async updates within a pending boundary.

    5.53.8release notes

  • {@html} no longer duplicates content inside contenteditable elements.

    5.53.8release notes

  • Preserves original boundary errors when keyed each rows are removed during async updates.

    5.53.7release notes

  • Preserves each items that are needed by pending batches.

    5.53.7release notes

  • Event handlers are always case insensitive during SSR.

    5.53.6release notes

  • Fixes incorrect handling of keys with undefined values.

    5.53.6release notes

  • The search setter now returns the normalized value, matching native URL behavior.

    5.53.6release notes

  • Default parameters no longer cause scope leaks.

    5.53.4release notes

  • Flushed effects no longer run again.

    5.53.4release notes

  • If blocks hydrate correctly.

    5.53.4release notes

  • Server context is set after async transformError.

    5.53.4release notes

  • The :catch branch of an #await block now renders with the correct key.

    5.53.3release notes

  • String coercion is now consistent with toString.

    5.53.3release notes

  • Fixes update expressions on server deriveds.

    5.53.2release notes

  • Handles shadowed function names correctly.

    5.53.1release notes

  • Head effects are now kept in the effect tree.

    5.53.0release notes

  • TrustedHTML is used to test for customizable <select> support where necessary.

    5.53.0release notes

  • Repairs truthy/falsy hydration mismatches for dynamic components.

    5.52.0release notes

  • Re-runs non-render-bound deriveds on the server.

    5.52.0release notes

  • Fixes miscellaneous option escaping and backwards compatibility.

    5.51.5release notes

  • Event handlers are stripped during SSR.

    5.51.5release notes

  • In dev mode, non-idempotent each block keys are detected and reported as errors.

    5.51.4release notes

  • Treats CSS attribute selectors as case-insensitive for HTML enumerated attributes.

    5.51.3release notes

  • Prevents event delegation logic from conflicting between Svelte instances.

    5.51.3release notes

  • Runs effects in pending snippets.

    5.51.3release notes

  • Locates the Rollup annotation so it is friendly to JavaScript downgraders.

    5.51.3release notes

  • Dev delegated handlers now take async into consideration.

    5.51.2release notes

  • The state_referenced_locally warning is now emitted for non-destructured props.

    5.51.2release notes

  • Fixes a crash when document.contentType is undefined.

    5.51.1release notes

  • Uses symbols for encapsulated event delegation.

    5.51.1release notes

  • Delegated event handlers are preserved while one or more root components are using them.

    5.51.0release notes

  • Block-level elements are flushed into separate sequences when formatting output.

    5.51.0release notes

  • Freezes effects inside deriveds when disconnecting and unfreezes them on reconnect.

    5.50.3release notes

  • Always lowercases HTML elements for XHTML compliance.

    5.50.3release notes

  • Renders multiple and selected attributes as empty strings for XHTML compliance.

    5.50.3release notes

  • Accounts for nodeName case sensitivity on XHTML pages.

    5.50.3release notes

  • Propagates $effect errors to the boundary.

    5.50.3release notes

  • Doesn't swallow DOMException when media.play() fails.

    5.50.2release notes

  • Resolves effect_update_depth_exceeded when using bind:value on a <select> with derived state in legacy mode.

    5.50.2release notes

  • Prevents hydration mismatches for async render tags.

    5.50.1release notes

  • Boolean attribute values are rendered as empty strings for XHTML compliance.

    5.50.1release notes

  • Already-resolved async blocks are properly hydrated.

    5.50.0release notes

  • Infinite effect loops are cleared after flushing.

    5.50.0release notes

  • Key blocks now allow NaN as their key.

    5.50.0release notes

  • Accessibility role checks treat <menu> like <ul> and <ol>.

    5.50.0release notes

  • Hydration exits resolved async blocks on the correct node.

    5.50.0release notes

  • Stores in each block expressions are detected regardless of AST shape.

    5.50.0release notes

  • Avoids generating erroneous async derived expressions for blocks.

    5.49.2release notes

  • Effects inside unskipped branches are rescheduled.

    5.49.2release notes

  • Avoids Cloudflare warnings about the missing node:crypto module.

    5.49.2release notes

  • Consecutive large text nodes are merged.

    5.49.1release notes

  • Multiline HTML blocks are properly separated from each other in print output.

    5.49.1release notes

  • Prevents unhandled exceptions arising from dangling promises in script blocks.

    5.49.1release notes

  • Async functions are created in SSR output only when necessary.

    5.49.1release notes

  • Effects inside skipped branches are reset.

    5.49.0release notes

  • The introstart event fires after the specified delay.

    5.49.0release notes

  • The outrostart event fires after the specified delay.

    5.49.0release notes

  • Popover elements are disregarded when determining whether an element has content.

    5.49.0release notes

  • Updating a reaction inside a fork now preserves its old dependencies.

    5.49.0release notes

  • Signal versions are incremented when forks are discarded.

    5.49.0release notes

  • Fixes each blocks breaking when effects are interspersed among items.

    5.48.5release notes

  • Prevents unintended exports from namespaces.

    5.48.5release notes

  • Boundary onerror callbacks now run in a microtask in case they result in the boundary's destruction.

    5.48.5release notes

  • Avoids duplicating escaped characters in the CSS AST.

    5.48.4release notes

  • The warning now includes pointer and touch events.

    5.48.3release notes

  • Avoids unnecessary block effect re-runs after async work completes.

    5.48.3release notes

  • Fixes handling of false dynamic components during server-side rendering.

    5.48.3release notes

  • Fixes hydration failing with settled async blocks.

    5.48.3release notes

  • The wait function is now exported from the internal client index, making it available to importers of that index.

    5.48.2release notes

  • Resolution of async work is batched.

    5.48.1release notes

  • Code generation is improved for const tags with async dependencies.

    5.48.1release notes

  • Await expressions inside {@html} are hydrated properly.

    5.48.1release notes

  • Snippets are hoisted above const declarations in the same block, fixing their handling when declared after a const.

    5.48.1release notes

  • Handle non-string values in the this attribute.

    5.48.0release notes

  • Fixes triggering reactivity for selectedcontent.

    5.47.1release notes

  • Static elements are no longer reset when used with debug or snippets.

    5.47.0release notes

  • The subtree of a Svelte boundary is now marked as dynamic.

    5.47.0release notes

  • Hydratable keys are serialized using devalue.uneval.

    5.46.4release notes

  • Clean derived values reconnect when read in a reactive context.

    5.46.3release notes

  • Prevents an infinite loop when HMRing a component with an await.

    5.46.1release notes

  • The currentTarget type in the on function is fixed.

    5.46.1release notes

  • Static optimisation is skipped for stateless deriveds after await.

    5.46.1release notes

  • Fixes a race condition when importing AsyncLocalStorage.

    5.45.10release notes

  • Deferred effects are correctly rescheduled when a batch is revived after async work.

    5.45.9release notes

  • Correctly prints !doctype during print.

    5.45.9release notes

  • The AST root's end is set to template.length.

    5.45.8release notes

  • The AST root's start is set to 0.

    5.45.8release notes

  • Prevents erroneous state_referenced_locally warnings on prop fallbacks.

    5.45.8release notes

  • Prevents a crash when hydratable serialization fails.

    5.45.7release notes

  • Accepts off as a valid value for the textarea wrap attribute.

    5.45.7release notes

  • srcObject is now permitted as an attribute on <audio> and <video> elements.

    5.45.6release notes

  • Svelte no longer issues an accessibility warning for a <video> without captions when it has no src.

    5.45.6release notes

  • Blocks are now correctly reconciled after outroing branches are resumed.

    5.45.5release notes

  • Items are now destroyed after their siblings are resumed.

    5.45.5release notes

  • Allows $props.id() to occur after an await.

    5.45.4release notes

  • Keeps reactions up to date even when read outside of an effect.

    5.45.4release notes

  • Cross-realm Promises are now handled in hydratable.

    5.45.3release notes

  • Node locations are preserved to improve sourcemaps.

    5.45.3release notes

  • Fixes array destructuring after await.

    5.45.2release notes

  • Blockers are awaited before const declarations are initialized, preventing incorrect initialization behavior.

    5.44.1release notes

  • Generated code for simple destructurings is corrected.

    5.44.1release notes

  • Animations in each blocks no longer interfere with transitions.

    5.44.1release notes

  • Offscreen items and the last effect in each block are linked correctly.

    5.44.1release notesrelease notes

  • Forked derived values are now stored.

    5.43.15release notes

  • Async blockers are now taken into account for bindings, transitions, animations, and attachments.

    5.43.14release notes

  • Named self-closing slots are now migrated correctly.

    5.43.14release notes

  • Derived values are no longer set during time traveling.

    5.43.13release notes

  • Maintains the correct linked list of effects when updating each blocks.

    5.43.12release notes

  • Transitions of elements that are already outroing are no longer canceled.

    5.43.11release notes

  • Prevents other batches from running while the main batch has queued root effects.

    5.43.10release notes

  • Functions are now handled correctly when determining async blockers.

    5.43.9release notes

  • Blockers are now taken into account when creating #await blocks.

    5.43.9release notes

  • Async @const in a boundary now hydrates correctly.

    5.43.9release notes

  • Async @const expressions in templates are now parallelized.

    5.43.9release notes

  • Deriveds remain reactive after their original parent effect is destroyed.

    5.43.9release notes

  • Eager effects no longer break the reactions chain.

    5.43.9release notes

  • Fixes each blocks losing reactivity when items are removed while a promise is pending.

    5.43.8release notes

  • Blockers of components are taken into account.

    5.43.7release notes

  • Deferred effects can be rescheduled later on.

    5.43.7release notes

  • Fixes batch deactivation so other batches are not deactivated.

    5.43.6release notes

  • Dependencies of async bindings are now awaited.

    5.43.5release notes

  • Async static props and attributes are now awaited.

    5.43.5release notes

  • Dependencies of style directives are now awaited.

    5.43.5release notes

  • Deriveds reconnect to the effect tree when time-travelling.

    5.43.4release notes

  • Symbols are preserved when creating derived rest properties.

    5.43.3release notes

  • The document title is deferred until async work is complete.

    5.43.3release notesrelease notes

  • Forks now always access the correct values.

    5.43.3release notes

  • Each blocks with async dependencies are treated as uncontrolled.

    5.43.2release notes

  • Fixes transformation of $bindable after await expressions.

    5.43.1release notes

  • Settles a batch after DOM updates.

    5.43.0release notes

  • Fixes batch restoration in #await.

    5.42.3release notes

  • Fixes handling of <svelte:head> when rendered asynchronously.

    5.42.3release notes

  • Error messages for global variable assignments are clearer.

    5.42.2release notes

  • Calling discard on a fork after commit is ignored.

    5.42.1release notes

  • Inspect errors now have less confusing names.

    5.42.0release notes

  • setContext is now always allowed before the first await in a component.

    5.42.0release notes

  • Pending changes are flushed after rendering a failed snippet.

    5.41.4release notes

  • Mounting snippets is coordinated with await expressions.

    5.41.4release notes

  • Static blocks are now taken into account when determining transition locality.

    5.41.4release notes

  • Batches stay alive until all async work is complete.

    5.41.2release notes

  • Guards such as if, each, and key run before their contents.

    5.41.2release notes

  • $inspect logs now come from the callsite.

    5.41.2release notes

  • Fixes declaration placement by placing let: declarations before {@const} declarations.

    5.41.1release notes

  • Improves the each_key_without_as error.

    5.41.1release notes

  • Reports an error when an each block has a key but no as clause.

    5.41.0release notes

  • Preserves <select> state while the element is focused.

    5.41.0release notes

  • Adds hydration markers in the pending branch of an SSR boundary.

    5.40.2release notes

  • The sync-in-async warning is removed for server rendering.

    5.40.1release notes