sveltejs/

svelte

JavaScriptView on GitHub

web development for the rest of us

87.5k 5.0k 1.1k openLast shipped 9h ago
Lines of code
157.8k
Files
8.9k
Languages
5
Top directories
10
Language mix
JavaScript · 71.3%Svelte · 22.3%TypeScript · 4.8%CSS · 1.1%HTML · 0.5%
Top directories
  • packages
    8760
  • documentation
    106
  • benchmarking
    25
  • (root)
    19
  • playgrounds
    17
  • .github
    11
  • .changeset
    4
  • .vscode
    2

Shipped feed

AI-narrated commits on main
Yesterday
  • Backend
    1d

    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
  • Backend
    1d

    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
Jun 23, 2026
  • Backend
    10d

    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]
Jun 22, 2026
  • Backend
    11d

    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
  • Backend
    11d

    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
Jun 15, 2026
  • Backend
    18d

    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
  • Backend
    18d

    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
  • Backend
    18d

    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]
Jun 7, 2026
  • Backend
    26d

    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]
Jun 5, 2026
  • Backend
    28d

    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
  • Backend
    28d

    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
Jun 4, 2026
  • Backend
    29d

    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]
  • Backend
    29d

    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
  • Backend
    29d

    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
Jun 3, 2026
  • Backend
    30d

    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
  • Backend
    30d

    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
Jun 2, 2026
  • Backend
    31d

    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
  • Backend
    31d

    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
Jun 1, 2026
  • Backend
    32d

    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
  • Backend
    32d

    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]
  • Backend
    32d

    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
  • Backend
    32d

    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
  • Backend
    32d

    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
  • Backend
    32d

    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
  • Backend
    32d

    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
  • Backend
    32d

    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
May 31, 2026
  • Backend
    33d

    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
  • Backend
    33d

    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
  • Docs
    Docs → Browser support
    33d

    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
May 30, 2026
  • Backend
    34d

    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