Skip to content

Migrations

Sigilry’s dApp RPC contract evolves alongside CIP-0103 and downstream implementations. This section tracks breaking changes and gives consumers a concrete migration path per release line.

Each published package follows semver, but the way we cut versions differs by maturity:

PackageLinedist-tagStability
@sigilry/dapp3.xlatestStable — additive changes are minors; breaking changes bump the major
@sigilry/react3.xlatestStable — tracks @sigilry/dapp (majors move together)
@sigilry/canton-json-api1.xlatestStable on wire shape; new endpoints are additive
@sigilry/cli0.xlatestPre-1.0; breaking changes bump 0.MINOR
@sigilry/splice-dars0.xlatestTracks a vendored Splice release; bumps with upstream

Versioning policy (@sigilry/dapp, @sigilry/react)

Section titled “Versioning policy (@sigilry/dapp, @sigilry/react)”

@sigilry/dapp and @sigilry/react ship on the latest dist-tag and move together — a @sigilry/dapp major is matched by a @sigilry/react major. Install the stable line directly:

Terminal window
yarn add @sigilry/dapp @sigilry/react

The next dist-tag carries the frozen 2.0.0-next.* pre-release line from early development and is no longer updated; all new work lands on latest. Within a stable major, minors are additive (new hooks, exports, subpaths, optional props) and patches are fixes; the next breaking change cuts the following major.

  • CIP-0103 spec changes in hyperledger-labs/splice-wallet-kernel that we track.
  • Ledger API wire shape changes in Canton’s JSON API v2.
  • Internal shape changes in provider types, ConnectionState, or event payloads that only become observable once we move off the pre-release series.
  • Added optional hook options, new exported types, or new RPC methods that older wallets return -32601 for.
  • Bug fixes that make implementations match the existing documented contract.

Start at the guide for your current version and apply each subsequent guide in order.

  • 1.x → 2.0 — CIP-0103 alignment, EIP-6963-style discovery, nested StatusEvent, ConnectResult, isConnected, ledgerApi contract rewrite, command-atom payloads.
  • 2.x → 3.0latest promotion off the next pre-release line, the statusChanged/connected push events on the provider, the @sigilry/dapp/discovery subpath, and @sigilry/react discovery hooks + controlled provider.

dApps integrating against the Send Canton Wallet extension (@0xsend/canton-webext) should also read that project’s docs/breaking-changes-for-dapp-developers.md for the record-encoding shim and api-gateway behavior, which are layered on top of the sigilry contract.