Changelog¶
0.15.1 (2026-10-08)¶
Full Changelog: v0.15.0...v0.15.1
What Changed¶
- connect: the connect modal is redesigned. a dotted QR code with the Loop mark, the wallet hostname beneath it, and a "Continue in this browser" button. The "Using the old wallet?" toggle still appears when a secondary wallet URL is configured.
- connect: the modal now renders inside a shadow root on
#loop-sdk-connect-overlay, so dApp styles no longer leak into it and its styles no longer leak out. The host keeps itsloop-sdk-connect-overlay loop-connectclasses, so existing JS hooks still find it, and a dApp rule that hides it (e.g..loop-connect { display: none }) still stops the modal from opening while the connect flow continues. Rules that restyled the old modal's internals (e.g..loop-connect dialog) no longer reach it, and the injected#loop-connect-stylesstylesheet is gone; set the--loop-*CSS variables on#loop-sdk-connect-overlayto theme the modal instead. - connect: the SDK's internal
overlayfield andinjectModalStyles()method are gone. Code that reached into them should find the modal through#loop-sdk-connect-overlay/.loop-connect, or hide it with a CSS rule on either. - connect: the modal now opens with
showModal(), so the rest of the page is inert while it is shown. - connect: Esc now closes the modal, as do the close button and a click on the backdrop.
0.15.0 (2026-09-28)¶
Full Changelog: v0.14.0...v0.15.0
What Changed¶
- connect: default wallet URLs updated to
wallet.looptech.io(mainnet),wallet.testnet.looptech.io(testnet), andwallet.devnet.looptech.io(devnet). The previouscantonloop.comdomains are kept as an automatic fallback via the newsecondaryWalletUrl. - connect:
init(...)accepts an optionalsecondaryWalletUrlto override the fallback wallet URL. - connect:
getConnectUrl(isOldDomain?: boolean)still returns a single URL; passtrueto get the fallback wallet URL. NewgetConnectUrls()returns both primary and (if configured) fallback URLs. - connect: the QR modal now shows the target hostname beneath the QR code, and — when a fallback is configured — a "Using the old wallet?" link that toggles between the primary and fallback QR/popup.
- connect: the SDK remembers which wallet host completed the handshake and reuses it for subsequent signing popups, so users who connected via the fallback host aren't sent to the primary host on later requests.
0.14.0 (2026-08-18)¶
Full Changelog: v0.13.4...v0.14.0
What Changed¶
- server-sdk: add Fee Balance helpers for server integrations:
prepareSubmission(...),executeSubmission(...),getFeeBalance(...),topUpFeeBalance(...), andensureFeeBalance(...). - server-sdk: return Fee Balance estimate fields from
prepareSubmission(...)so server integrations can check/top up Fee Balance before signing and executing. - docs: document Fee Balance and pending network fee server SDK flows.
0.13.4 (2026-07-29)¶
Full Changelog: v0.13.3...v0.13.4
What Changed¶
- Security policy included in NPM package
0.13.3 (2026-07-29)¶
Full Changelog: v0.13.2...v0.13.3
What Changed¶
- Security policy added
0.13.2 (2026-07-10)¶
Full Changelog: v0.13.1...v0.13.2
Important¶
- connect: backend compatibility for SDK versions that open the ticket WebSocket with only
ticket_idis being removed. Integrators should use@fivenorth/loop-sdk@0.13.1or later before backend enforcement is enabled.
What Changed¶
- connect: handle backend ticket status messages for expired, rejected, revoked, or invalid Connect tickets.
- connect: clear stale local sessions and reject pending requests when the WebSocket session is no longer valid.
0.13.1 (2026-06-12)¶
Full Changelog: v0.13.0...v0.13.1
Bug Fixes¶
- sdk: clear stale cached Connect sessions when the server reports the ticket as invalid, expired, revoked, or missing.
0.13.0 (2026-06-11)¶
Full Changelog: v0.12.3...v0.13.0
What Changed¶
- connect: store the ticket auth token separately from the Connect API auth token and use it when opening/reconnecting the ticket websocket.
- connect: replace ticket revoke behavior with ticket disconnect on
loop.logout(). - server SDK: remove client-side
session_idfrom Server SDK authentication/session state.
0.12.5 (2026-06-05)¶
Full Changelog: v0.12.4...v0.12.5
Improvements¶
- sdk: expose
utility_preapproval_adminsonAccountso dApps can inspect which utility admins have preapproval for the connected wallet.
0.12.4 (2026-04-20)¶
Full Changelog: v0.12.3...v0.12.4
Improvements¶
- sdk: broadcast a reject message over the websocket when the wallet popup/tab is closed so the backend can invalidate the pending request.
0.12.3 (2026-04-20)¶
Full Changelog: v0.12.2...v0.12.3
Improvements¶
- sdk: detect when the wallet popup/tab is closed during a pending request and reject locally with
PopupClosedErrorinstead of waiting only for timeout.
0.12.2 (2026-03-17)¶
Full Changelog: v0.12.1...v0.12.2
Improvements¶
- browser-sdk: add
provider.estimateGas(payload)so browser / WalletConnect dApps can inspect expected network gas before submission. - sdk: allow
submitTransaction,submitAndWaitForTransaction, andtransferto pass an optionaldeduplicationPeriod. - sdk: keep
commandIdon the transaction payload for integrators that want to retry the same logical command within the Canton deduplication window.
Bug Fixes¶
- server-sdk: fix the
node-forgeimport path used by the server signer.
0.12.1 (2026-03-17)¶
Full Changelog: v0.12.0...v0.12.1
Features¶
- server-sdk: add
estimateGas(payload)so integrators can inspect expected network gas before submitting a transaction.
0.12.0 (2026-03-16)¶
Full Changelog: v0.11.2...v0.12.0
Important¶
- Upgrade required for Server SDK gas handling: integrators must update to
@fivenorth/loop-sdk@0.12.0or later to use Server SDK with the new post-execution network gas flow. Older SDK versions do not supportPaymentRequiredError,checkDueGas(...), orpayGas(...).
Features¶
- server-sdk: add
checkDueGas(trackingId?)andpayGas(trackingId)helpers for post-execution network gas collection. - server-sdk: surface
402 Payment RequiredasPaymentRequiredErrorwithtracking_id,gas_amount,status, andexpires_at.
Backend Compatibility¶
- wallet-backend: allow pending network gas prepare/lookups to target a specific
tracking_id. - wallet-backend: record pending network gas after Server SDK transaction execution and block new Server SDK submissions while gas remains unpaid.
0.11.2 (2026-03-06)¶
Full Changelog: v0.11.1...v0.11.2
Improvements¶
- sdk: stop auto-closing request-signing popup/tab on request completion; wallet UI now controls close behavior.
- sdk: propagate wallet reject
messageandcodethroughRejectRequestError.
0.11.1 (2026-02-13)¶
Full Changelog: v0.11.0...v0.11.1
Bug¶
- Fix build process to not bundling server sdk
0.11.0 (2026-02-13)¶
Full Changelog: v0.10.0...v0.11.0
Features¶
- sdk: add server-side signing entrypoint: backend authenticates with the user's private key, prepares a transaction, signs the returned hash, and submits without a wallet popup (headless flow).
- demo: add server demo showing end-to-end headless signing.
Breaking Changes¶
- types:
TransactionPayloadno longer includesexecution_modeorestimate_traffic. These are now provided viasubmitTransactionoptions (executionMode,estimateTraffic).
Documentation¶
- docs: clarify server SDK custody requirements and add headless usage examples.
0.10.0 (2026-01-20)¶
Full Changelog: v0.9.0...v0.10.0
Improvements¶
- sdk: add
memoto transfer helper payload and metadata. - sdk: add
estimateTrafficoption to return estimated traffic in submit responses. - docs: add installed DAR versions list for Canton nodes.
0.9.0 (2026-01-20)¶
Full Changelog: v0.8.0...v0.9.0
Features¶
- sdk: add execute-and-wait connect execution path (selectable via options) that returns transaction results or failures immediately for dapp integrations.
0.8.0 (2026-01-02)¶
Full Changelog: v0.7.6...v0.8.0
Documentation¶
- sdk
onTransactionUpdatenow returnsupdate_idandupdate_datain the update payload (update_datais the transaction tree).
0.7.6 (2025-12-30)¶
Full Changelog: v0.7.5...v0.7.6
Improvements¶
- sdk Add a new method
getConnectUrlto allow dapp build their own connection modal instead
0.7.5 (2025-12-29)¶
Full Changelog: v0.7.4...v0.7.5
Bug Fixes¶
- improve connection reliability when aborting the connection half way.
0.7.4 (2025-12-29)¶
Full Changelog: v0.7.3...v0.7.4
Improvements¶
- sdk: styled wallet connect modal
Bug Fixes¶
- sdk: fix wallet connect modal will not show up again after being remove from clicking outside of the modal
0.7.3 (2025-12-24)¶
Full Changelog: v0.7.2...v0.7.3
Features¶
- sdk: add
autoConnectandlogoutmethod onloopobject to auto login on page load and support log out properly - demo: add auto login and a log out button
0.7.2 (2025-12-21)¶
Full Changelog: v0.7.1...v0.7.2
Features¶
- sdk: add a new
getAccountmethod on provider to retreive preapproval, utxo merge delegation, and usdc bridge access to dapp - demo: add a button to retrieive these account info data
0.7.1 (2025-12-19)¶
Full Changelog: v0.7.0...v0.7.1
Features¶
- sdk: allow passing a custom ticket message when submitting transactions so the wallet prompt can display dApp-provided context.
- sdk: add optional
requestSigningMode(default'popup') to auto-open the wallet dashboard (popup/tab) for signing/transaction requests and auto-close the popup when the wallet responds. -
sdk: add internal request lifecycle hooks on
Providerto allow the SDK core to react to signing and transaction requests. -
demo: add optional “Custom message” inputs to transfer and USDC withdraw helpers.
0.7.0 (2025-12-11)¶
Full Changelog: v0.6.5...v0.7.0
Improvements¶
- sdk: automatically reconnect the websocket before sending requests if it timed out.
Features¶
- usdc: add
wallet.extension.usdcBridge.withdrawalUSDCxToEthereumhelper and move USDC types/logic under the extension namespace; demo updated to use the new helper.
0.6.5 (2025-12-10)¶
Full Changelog: v0.6.4...v0.6.5
Improvements¶
- sdk: adjust
HANDSHAKE_REJECTbehavior so popup closing is fully controlled by the Wallet Connect UI.
0.6.4 (2025-12-10)¶
Full Changelog: v0.6.3...v0.6.4
Improvements¶
- sdk: allow per-transfer request timeout via
TransferOptions.requestTimeout; exportDEFAULT_REQUEST_TIMEOUT_MSand demo UI input.
0.6.3 (2025-12-09)¶
Full Changelog: v0.6.2...v0.6.3
Documentation¶
- docs: add embedded CodePen demo to the Loop SDK demo section for interactive examples.
0.6.2 (2025-12-08)¶
Full Changelog: v0.6.1...v0.6.2
Improvements¶
- sdk: version bump release; package metadata updated to 0.6.2.
0.6.1 (2025-12-04)¶
Full Changelog: v0.6.0...v0.6.1
Improvements¶
- sdk: increase wallet request/transaction timeout to 5 minutes.
- sdk: display instrument admin info when fetching holdings.
- docs: moved Loop SDK docs under the
loop-sdkpackage directory (previously underdocs/).
0.6.0 (2025-12-03)¶
Full Changelog: v0.5.0...v0.6.0
Features¶
- sdk: add
loop.wallet.transferhelper that prepares and runs transfers via Wallet Connect, with optional instrument admin/id overrides.
0.5.0 (2025-12-02)¶
Full Changelog: v0.4.0...v0.4.1
Features¶
- sdk: add
id/classattributes to the overlay container and wrap QR/link in a content div for easier styling/hooks.
0.4.0 (2025-12-01)¶
BREAKING CHANGES¶
- sdk:
openModehas been moved into theoptionsobject ofloop.init(). - Old:
- New:
- sdk:
redirectUrlis now also expected inside theoptionsfield.
These changes require integrators to update how they call loop.init() to prevent breaking behavior.
Features¶
- sdk: expose
emailinverifySession()response by addingemailto theAccountreturn type and forwarding the backend value. - sdk: add UUID polyfill fallback for environments where
crypto.randomUUIDis unavailable (older browsers or non-HTTPS contexts).
0.3.0 (2025-11-26)¶
Full Changelog: v0.2.1...v0.3.0
Features¶
- sdk: add popup-based wallet connect flow and auto-close popup on accept (aeee657)
0.2.0 (2025-11-24)¶
Full Changelog: v0.1.3...v0.2.0
Features¶
- sdk: include
emailinhandshake_acceptpayload and exposeprovider.emailto dApps (041c22f)
0.2.1 (2025-11-25)¶
Full Changelog: v0.2.0...v0.2.1
Bug Fixes¶
- sdk: clear invalid cached
loop_connectsession when ticket is missing/expired to prevent stale reconnect errors (548abe8)