Repository navigation
Releases
Releases · Lobstrco/signer-extension-api
v3.0.0
New features
- Added multi-network support. Every wallet-facing function takes an optional
network;
omitting it means Stellar, permanently, so existing integrations are unaffected - Added
getConnectedWallet, which returns the address together with the network it is on - Added
getSupportedNetworksandsupportsNetwork, so a page can ask an extension what it
can do instead of assuming - Added the
NETWORKenum and theNetworkId,SignType,NetworkDescriptor,
SupportedNetwork,NetworkOptionsandConnectedWallettypes - Added distinct error strings for network and payload failures, so integrators can branch
instead of parsingSign failed - Added
"Reconnect the wallet to continue", raised when the extension does not recognise the
connection this page holds. CallgetPublicKeyagain to recover - Added
"A wallet cannot be connected from this page", raised for a page with no origin to bind
a connection to — afile://document or a sandboxed frame
Security
- The value the SDK keeps for a connected wallet is now an opaque, origin-scoped reference
minted by the extension, not the pairing key the backend accepts. A script on a connected
page can no longer read it and call the backend directly. No call changes shape - Requires an extension that mints those references. Against an older extension
getPublicKeyresolves with an empty reference and every later signature is refused with
"The connection key is missing" - A session established before this release is not carried over. This SDK looks for a reference
the older bundle never stored, so the next signature is refused with"The connection key is missing"untilgetPublicKeyruns again; a page still on the older bundle holds the old value
and is refused with"Reconnect the wallet to continue"instead - Added the
@lobstrco/signer-extension-api/protocolentry point: the message names, API
version, error strings and request/response types the SDK shares with the extension
Breaking changes
- Rejections are
Errorobjects; 2.x rejected with the bare string. The strings themselves
are unchanged — compareerror.message - The package now declares an
exportsmap. Deep paths such as
@lobstrco/signer-extension-api/build/index.min.jsno longer resolve — import the package
itself. No existing call changes meaning
Build improvements
- Ships separate ESM, CommonJS and
<script>builds. Named imports now work at runtime in
native ESM, where previously they existed only in the type definitions. The<script>build
only defineswindow.lobstrExtensionApi; the 2.x UMD wrapper's AMD branch is gone - The publication guard type-checks the packed tarball from outside the repo and runs the
installed package, so the types and the runtime cannot drift apart - The
importcondition ships its own ESM-flavoured declarations, so under Node-style
TypeScript resolution the default import is typed as what the ESM build exports - The SDK lives in its own repository, https://github.com/Lobstrco/signer-extension-api,
and the published declarations now carry their doc comments
Documentation
- Documented the network API, the published module formats, the protocol entry point and
every dApp-visible error string - Corrected the browser global: it is
window.lobstrExtensionApi - Documented what
signTransactionreturns on each network: the signed envelope as base64 XDR
on Stellar, the signed transaction as a hextx_blobon the XRP Ledger, where LOBSTR also
setsFee,SequenceandLastLedgerSequence
v3.0.0-rc.1
Release candidate of 3.0.0, published under the next dist-tag: npm install @lobstrco/signer-extension-api@next. The notes below describe the whole 3.0.0 release.