web development for the rest of us
- packages8760
- documentation106
- benchmarking25
- (root)19
- playgrounds17
- .github11
- .changeset4
- .vscode2
Shipped feed
AI-narrated commits onmain- 1dBackend
Cleaned up dead code in the props reactivity system that was causing TypeScript compilation failures. The change simplifies the internal proxy object by removing unused properties (`other` and `to_proxy`) that were only created in development mode.
b1cadd1 paoloricciuti - 1dBackend
Corrected how declaration tags are transformed during server-side rendering by ensuring the state parameter is properly passed to the visit function. This fixes an issue where declaration tags weren't being processed correctly on the server.
b9e0371 paoloricciuti
- 10dBackend
Published a patch release of Svelte fixing four issues: wrapping parentheses in {@const} declarations, reactivity context cleanup, searchParams subscriber notifications, and optional parameter handling in TypeScript scripts. The version number was bumped from 5.56.3 to 5.56.4 and the changelog was updated.
eae50df github-actions[bot]
- 11dBackend
Fixed a bug where reactivity context wasn't properly unset after async operations completed, which could cause incorrect mutation errors when multiple promises were involved. The fix ensures context is always cleared at the right time by queuing a microtask to unset it after restoring.
36ae062 dummdidumm - 11dBackend
Fixed the compiler to remove the `?` from optional TypeScript parameters (like `x?: string`) in `<script lang="ts">` blocks, while preserving optional chaining operators (like `x?.length`). This ensures generated JavaScript is valid after upgrading to esrap@2.2.12.
a6985bc jycouet
- 18dBackend
Fixed an issue where `{@const}` tags with parenthesized initializers (like `{@const x = (a)}`) had incorrect end positions in the parser output, causing source slices and tooling to get unbalanced code ranges. The fix uses the actual parser position instead of the expression node's end position to capture the closing parenthesis.
c4daa49 baseballyama - 18dBackend
Fixed two notification issues in `SvelteURLSearchParams`: prevented unnecessary updates when the search string didn't actually change (fixing infinite effect loops), and added proper change tracking to the `forEach` method so templates using it now update when params change.
0510174 Nic-Polumeyv - 18dBackend
Upgraded the esbuild JavaScript bundler from version 0.25.11 to 0.28.1, which includes security fixes for the development server and Deno API, bug fixes for module evaluation and minification of certain JavaScript patterns, and improved CSS vendor prefixing.
8ea3ee8 dependabot[bot]
- 26dBackend
Published a patch release fixing errors in destroyed effects and correcting BigInt typing in state snapshots. This automated release updates the package version and changelog.
a9f4854 github-actions[bot]
- 28dBackend
Fixed a crash that occurred when an async `$derived` rejected after its error boundary was destroyed. The error handler now checks if the boundary still exists before attempting to call its error method, allowing errors to properly bubble up to parent boundaries instead of crashing.
71a6515 sijie-Z - 28dBackend
Added `bigint` to the `Primitive` type definition so that `$state.snapshot()` now correctly infers BigInt properties instead of `never`. This is a type-only fix with no runtime impact.
3d83c9a sijie-Z
- 29dBackend
Svelte has been updated to version 5.56.2 with five bug fixes and improvements, including proper tracking of effect end nodes for async sibling components, prevention of false-positive reactivity warnings, and fixes for animation directives and async deriveds. The package version and changelog have been automatically updated.
51baf1c github-actions[bot] - 29dBackend
Fixed false-positive reactivity loss warnings that occurred when a flush happens before the tracker is reset by a microtask. The fix adds checks for null batch states to filter out these false positives in async operations.
3d5c4ab dummdidumm - 29dBackend
Fixed a bug where async blocks wrapping sole component children would assign incorrect end nodes to effects, causing sibling components to render at wrong positions. The fix ensures nodes are properly assigned during async block initialization.
bdb1a0f dummdidumm
- 30dBackend
Bumped the esrap package from version 2.2.9 to 2.2.11 to avoid installing the broken 2.2.10 release. This is a maintenance update that also updates the associated dependency lock file.
e4bfc5f dummdidumm - 30dBackend
Corrected an invalid CSS property in the {#each} documentation example from `rows` to `grid-template-rows` so the chess board grid displays properly with 8 rows and 8 columns.
94bd279 DucMinhNe
- 31dBackend
Fixed a validation error where animation directives were incorrectly flagged when used with declaration tags in each blocks. The compiler now properly ignores declaration tags alongside animation directives, similar to how it already handles comment and const tags.
1b4c43b dummdidumm - 31dBackend
Updated vitest and coverage tools from version 2 to version 4, requiring adjustments to test syntax and console handling to maintain compatibility. All 7,569 tests continue to pass after these changes.
85dcb91 MathiasWP
- 32dBackend
Pending async deriveds are now properly rejected as obsolete when a batch is discarded, preventing them from triggering already-completed batches and leaving the component in an unreactive state. This fixes a bug where async operations could cause parts of the component tree to stop responding to state changes.
a81f965 dummdidumm - 32dBackend
Published a patch release fixing multiple parsing and compilation issues with declaration tags, including proper handling of duplicate definitions, whitespace tolerance, infinite loop prevention, and URL search params updates.
3ef761b github-actions[bot] - 32dBackend
The compiler now detects and reports errors when a snippet block or declaration tag reuses a name that's already been declared in the script, preventing naming conflicts at compile time.
5b8db1b dummdidumm - 32dBackend
Fixed a bug where the server compiler wasn't checking references for blockers during async derived value optimization, which could cause incorrect behavior during hydration. Added a test case to ensure async derived props work correctly with closures.
56013a2 dummdidumm - 32dBackend
Improved the parser to correctly handle division operators (/) inside declaration tags like `{const x = a / b}`. The fix aligns the statement parsing logic with expression parsing to robustly handle division without confusing it with regex or other syntax.
2afb895 hjaber - 32dBackend
Fixed a compiler bug where a tag expression ending with a trailing slash character would cause the parser to hang indefinitely. The parser now correctly advances past the trailing slash to allow proper error reporting instead of looping forever.
b471c15 baseballyama - 32dBackend
Improved the parser to correctly distinguish between TypeScript `type` declarations and expressions using `type` as a variable identifier (like `type === 'all'` or `type instanceof Foo`). The parser now uses actual code parsing instead of character-class patterns to avoid misclassifying valid expressions as malformed declarations.
c74f44f baseballyama - 32dBackend
Fixed three bugs in declaration tags: allowing multiple declarators where later ones can reference earlier ones (e.g., `{let a = $state(0), b = $derived(a * 2)}`), tolerating whitespace before `let`/`const`, and eliminating spurious warnings for `$derived` declarations. The compiler now registers state transformers before visiting declarations and correctly tracks scope depth to avoid false `state_referenced_locally` warnings.
b76b937 Rich-Harris
- 33dBackend
Fixed a bug where spreading props on `<input>` elements would lose newlines in the value when `type` was set after `value`. The fix ensures the input's `type` attribute is applied first so values are preserved correctly.
378bb25 jdoughty04 - 33dBackend
Fixed a bug where setting duplicate URL search parameters to a value that matches their joined string wouldn't trigger reactive updates. The fix compares parameter lists directly instead of their concatenated text, ensuring changes are always detected when parameters collapse from multiple values to a single value.
2f6307a jiyujie2006 - 33dDocsDocs → Browser support
Removed redundant and AI-generated text from the browser support page, making it more concise and clear about what Svelte's minimum browser versions cover versus what they don't (like your own code and SvelteKit). The generation script was also cleaned up to remove verbose comments.
11985c0 ottomated
- 34dBackend
Removed an unused import from input bindings and refactored the async reactivity handler to improve code organization, add debug labels for derived values in development mode, and simplify promise handling logic.
05a3bce Rich-Harris