PackageTrack
Sign in Get early access

smoldot

Primitives to build a client for Substrate-based blockchains

2.2.0 9.4M downloads/mo #3213 most downloaded on crates.io paritytech/smoldot

What this package is like to depend on

Last release 16 days ago

07 Aug 2026

Release timing varies

gaps range from 9 days to 5 months

Rarely documented

notes for 5 of 36 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

36 releases · first in 2021

12 releases in the last 12 months

see the full history below

Release timeline

36 releases · Mar 2021 to Aug 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 36
  1. 2.2.0 07 Aug 2026
    Release notes

    This is to:

    • publish smoldot-v3.4.0 npm.
    • publish crates smoldot-light v2.0.0, smoldot v2.2.0

    Changes

    Added

    • Implement the
      RFC-0163
      elliptic curve host functions: scalar multiplication and multi-scalar
      multiplication on bandersnatch (ed_on_bls12_381_bandersnatch), and
      scalar multiplication, multi-scalar multiplication, multi Miller loop
      and final exponentiation on BLS12-381. This lets smoldot execute
      runtimes that verify bandersnatch ring-VRF proofs (proof-of-personhood
      chains). The remaining RFC-0163 functions (Pallas, Vesta) are registered
      but unimplemented.
      (#3331; fixes
      #3328)

    Fixed

    • Fix a panic (assertion failed: task.event_pending_send.is_none() in
      debug builds) or a silently lost connection event (release builds, later
      causing a sync service panic on an unmatched Disconnected) when a peer
      ban raced with a network event that was still being delivered to
      subscribers. (#3314;
      fixes #3312)
    • No longer crash with an uncaught InvalidStateError when sending on
      an RTCDataChannel that left the open state before its close event
      was delivered; the send is skipped, since the pending close event
      resets the stream anyway.
      (#3324; fixes
      #3322)
    • In remote-instance mode, no longer crash with an uncaught TypeError
      when a message addressed to the first substream of a WebRTC connection
      (stream id 0) raced with that substream's reset: stream id 0 was
      accidentally exempt from the stale-message check.
      (#3326; related to
      #3322)
    • No longer crash with an uncaught InvalidStateError when opening a
      substream on an RTCPeerConnection that moved to closed before its
      connectionstatechange event was delivered.
      (#3327; fixes
      #3325)
    • Fix a panic in the connection task when the remote resets an inbound
      notifications substream while a message about that substream is still in
      flight (a duplicate reject, or a close right after an accept).
      (#3329; fixes
      #3304)
    Open source →
  2. 2.1.1 24 Jul 2026
    Release notes

    This is to:

    • publish smoldot-v3.3.2 npm.
    • publish crates smoldot-light v1.3.2, smoldot v2.1.1

    Changes

    Changed

    • Match incoming statements against statement-store subscriptions
      through a topic index instead of scanning every subscription, making
      statement matching efficient when many subscriptions are active. Filter
      semantics are unchanged.
      (#3281; fixes
      #3144,
      #3147)

    Fixed

    • Fix a panic (called Result::unwrap() on an Err value in
      runtime_service) during parachain sync, caused by a relay chain block
      being unpinned twice when its parahead fetch finished but the block was
      pruned before being reported.
      (#3287; fixes
      #3286)
    • No longer crash the entire client when WebRTC is unavailable in the
      environment (e.g. inside a worker thread, where RTCPeerConnection
      doesn't exist); WebRTC connections are now forbidden instead.
      (#3303; fixes
      #3302)
    • JS exceptions thrown by code called from within the Wasm are no longer
      silently swallowed (which left an unusable instance and misleading
      errors on later calls); they now trigger the regular crash handling with
      a wasm-panic event carrying the original message and stack.
      (#3308; related to
      #3302,
      #3306,
      #3307)
    • Fix a panic (same stream_id used multiple times in connection_stream_opened) when a browser delivers the open event of
      an RTCDataChannel more than once.
      (#3309; fixes
      #3305)

    Also updates docs/RELEASING.md step 5: changelog entries now link
    related GitHub issues.

    Open source →
  3. 2.1.0 02 Jul 2026

    Nothing published for this version

  4. 2.0.0 29 Jun 2026
    Release notes

    Remove

    • Removed MalformedJsonRpcError. Malformed JSON-RPC requests now later generate an error JSON-RPC response where the id field is equal to null, in accordance with the JSON-RPC 2.0 specification. (#1116)

    Changed

    • Transactions submitted through the JSON-RPC server before the warp syncing process is finished will now immediately be dropped. (#1110)
    • JSON-RPC requests that are very large are no longer rejected. In case where the JSON-RPC client is trusted, then there is nothing to do, and the potential lack of memory space will become a non-issue once the Memory64 WebAssembly proposal becomes widely available. In case where the JSON-RPC client is not trusted, the API user is encouraged to manually implement a limit to the size of JSON-RPC requests, as it should do already right now anyway. (#1115)

    Fixed

    • Fix Chain.remove() not actually removing the chain until the warp syncing process is finished (which might never happen if for example bootnodes are misconfigured). (#1110)
    • Fix JSON-RPC server not processing requests if many transactions are submitted before the warp syncing process is finished. (#1110)
    Open source →
  5. 1.2.0 02 Jun 2026

    Nothing published for this version

  6. 1.1.3 01 Jun 2026

    Nothing published for this version

  7. 1.1.2 13 May 2026

    Nothing published for this version

  8. 1.1.1 07 May 2026

    Nothing published for this version

  9. 1.1.0 17 Apr 2026

    Nothing published for this version

  10. 1.0.0 13 Apr 2026
    Release notes

    Fixed

    • Fix Deno throwing an exception when failing to connect to an unreachable node through a TCP/IP multiaddr. (#246)
    Open source →
  11. 0.21.0 02 Dec 2025

    Nothing published for this version

  12. 0.20.0 20 Oct 2025

    Nothing published for this version

  13. 0.19.4 27 May 2025

    Nothing published for this version

  14. 0.19.3 18 Feb 2025

    Nothing published for this version

  15. 0.19.2 19 Nov 2024

    Nothing published for this version

  16. 0.19.1 18 Nov 2024

    Nothing published for this version

  17. 0.19.0 08 Nov 2024

    Nothing published for this version

  18. 0.18.0 29 May 2024

    Nothing published for this version

  19. 0.17.0 24 Jan 2024

    Nothing published for this version

  20. 0.16.0 03 Jan 2024

    Nothing published for this version

  21. 0.15.0 11 Dec 2023

    Nothing published for this version

  22. 0.14.0 15 Nov 2023

    Nothing published for this version

  23. 0.13.0 02 Nov 2023

    Nothing published for this version

  24. 0.12.0 07 Sep 2023

    Nothing published for this version

  25. 0.11.0 14 Aug 2023

    Nothing published for this version

  26. 0.10.0 08 Aug 2023

    Nothing published for this version

  27. 0.9.0 10 Jul 2023

    Nothing published for this version

  28. 0.8.0 08 Jun 2023

    Nothing published for this version

  29. 0.7.0 26 May 2023
    Release notes

    Removed

    • Removed Chain.databaseContent function. Use the chainHead_unstable_finalizedDatabase JSON-RPC function to obtain the database content instead. (#2791)

    Changed

    • Chain.sendJsonRpc now throws a MalformedJsonRpcError exception if the JSON-RPC request is too large or malformed, or a QueueFullError if the queue of JSON-RPC requests of the chain is full. (#2778)
    • Removed AddChainOptions.jsonRpcCallback. Use the new Chain.nextJsonRpcResponse asynchronous function to pull JSON-RPC responses instead of registering a callback. A AddChainOptions.disableJsonRpc flag is now supported in order to bring the same effects as not passing any jsonRpcCallback. (#2778)
    • Removed the version field of the struct returned by the rpc_methods function. (#2756)

    Fixed

    • Fix several panics related to cancelling the opening of incoming substreams. (#2785)
    • Fix old runtimes not being cleaned up properly and runtimes being downloaded multiple times after an on-chain runtime upgrade. (#2781)
    Open source →
  30. 0.6.0 24 Apr 2023

    Nothing published for this version

  31. 0.5.0 01 Dec 2022

    Nothing published for this version

  32. 0.4.0 07 Sep 2022

    Nothing published for this version

  33. 0.3.0 23 Aug 2022

    Nothing published for this version

  34. 0.2.0 23 Nov 2021

    Nothing published for this version

  35. 0.1.1 06 Aug 2021

    Nothing published for this version

  36. 0.1.0 05 Mar 2021

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive