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.
Release cadence
Section titled “Release cadence”Each published package follows semver, but the way we cut versions differs by maturity:
| Package | Line | dist-tag | Stability |
|---|---|---|---|
@sigilry/dapp | 3.x | latest | Stable — additive changes are minors; breaking changes bump the major |
@sigilry/react | 3.x | latest | Stable — tracks @sigilry/dapp (majors move together) |
@sigilry/canton-json-api | 1.x | latest | Stable on wire shape; new endpoints are additive |
@sigilry/cli | 0.x | latest | Pre-1.0; breaking changes bump 0.MINOR |
@sigilry/splice-dars | 0.x | latest | Tracks 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:
yarn add @sigilry/dapp @sigilry/reactThe 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.
When to expect a break
Section titled “When to expect a break”- CIP-0103 spec changes in
hyperledger-labs/splice-wallet-kernelthat 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.
What is not a break
Section titled “What is not a break”- Added optional hook options, new exported types, or new RPC methods that older wallets return
-32601for. - Bug fixes that make implementations match the existing documented contract.
Migration guides
Section titled “Migration guides”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, nestedStatusEvent,ConnectResult,isConnected,ledgerApicontract rewrite, command-atom payloads.2.x → 3.0—latestpromotion off thenextpre-release line, thestatusChanged/connectedpush events on the provider, the@sigilry/dapp/discoverysubpath, and@sigilry/reactdiscovery hooks + controlled provider.
Canton-Send specific notes
Section titled “Canton-Send specific notes”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.