solidjs/

solid

TypeScriptView on GitHub

A declarative, efficient, and flexible JavaScript library for building user interfaces.

35.7k 1.1k 31 openLast shipped 1d ago
Lines of code
21.5k
Files
184
Languages
3
Top directories
6
Language mix
TypeScript · 73.1%JavaScript · 26.7%CSS · 0.2%
Top directories
  • packages
    158
  • (root)
    17
  • .github
    5
  • .changeset
    2
  • assets
    1
  • documentation
    1

Shipped feed

AI-narrated commits on main
Jul 1, 2026
  • Backend
    2d

    Published version 1.9.14 of solid-js with five bug fixes: security updates to seroval dependencies, a memory leak fix for nested lazy() components, support for null-prototype objects in store proxies, corrected mergeProps behavior on the server to handle Object.prototype properties, and fixed Show/Switch components to ignore zero-arg function children during SSR. solid-element updated to 1.9.2 with a custom element context inheritance fix.

    d2f81d5 ryansolid
  • Backend
    2d

    Updated seroval and seroval-plugins dependencies from version 1.5.0 to 1.5.4 to include critical security fixes. This ensures npm consumers of solid-js get the patched versions compatible with dom-expressions.

    cdc01cc ryansolid
  • Backend
    2d

    The main CI workflow now explicitly declares read-only permissions for repository contents, improving security by following the principle of least privilege in GitHub Actions.

    18b3226 ryansolid
  • Backend
    2d

    Resolved type-checking failures by adding a single-argument overload for `mergeProps` in server rendering, casting an edge case in the merge test, and updating the `lazy()` test to use consistent generic type syntax.

    993079b ryansolid
  • Docs
    README → Contributors section
    2d

    Replaced the broken Open Collective contributors image URL with contrib.rocks, which now displays the GitHub contributors list in the Contributors section of the README files.

    98d6eb4 ryansolid
  • Backend
    2d

    Fixed a memory leak in nested lazy() components where Suspense contexts and cached resources weren't properly released on disposal, causing disposed component trees to remain in memory across navigations. The fix ensures lazy() clears its cached accessor and resources clean up their Suspense contexts when components are disposed.

    3ae39cd ryansolid
  • Backend
    2d

    Fixed server-side rendering of Show and Switch components to ignore zero-argument function children, treating them as static values instead of render props. This aligns server behavior with the client implementation and prevents markup divergence during hydration.

    0d92d48 ryansolid
  • Backend
    2d

    Server-side mergeProps was silently ignoring properties like `toString`, `valueOf`, and `hasOwnProperty` because it checked `key in target`, which walks the prototype chain. The fix uses `Object.prototype.hasOwnProperty.call()` to check only own properties, and explicitly guards against `__proto__` and `constructor` to match client-side behavior.

    95dbc18 ryansolid
  • Backend
    2d

    Updated the store implementation to use Object.prototype.hasOwnProperty.call() instead of direct hasOwnProperty checks, which ensures compatibility with objects created via Object.create(null) that lack a prototype chain. This fixes reactivity issues when null-prototype objects contain function values.

    d4aec97 ryansolid
  • Backend
    2d
    3c4a778 ryansolid
May 18, 2026
May 15, 2026
May 14, 2026
Apr 29, 2026
Mar 30, 2026