Skip to content

Releases

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 28 Oct 14:37
d0b2712

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 getSupportedNetworks and supportsNetwork, so a page can ask an extension what it
    can do instead of assuming
  • Added the NETWORK enum and the NetworkId, SignType, NetworkDescriptor,
    SupportedNetwork, NetworkOptions and ConnectedWallet types
  • Added distinct error strings for network and payload failures, so integrators can branch
    instead of parsing Sign failed
  • Added "Reconnect the wallet to continue", raised when the extension does not recognise the
    connection this page holds. Call getPublicKey again to recover
  • Added "A wallet cannot be connected from this page", raised for a page with no origin to bind
    a connection to — a file:// 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
    getPublicKey resolves 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" until getPublicKey runs 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/protocol entry point: the message names, API
    version, error strings and request/response types the SDK shares with the extension

Breaking changes

  • Rejections are Error objects; 2.x rejected with the bare string. The strings themselves
    are unchanged — compare error.message
  • The package now declares an exports map. Deep paths such as
    @lobstrco/signer-extension-api/build/index.min.js no 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 defines window.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 import condition 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 signTransaction returns on each network: the signed envelope as base64 XDR
    on Stellar, the signed transaction as a hex tx_blob on the XRP Ledger, where LOBSTR also
    sets Fee, Sequence and LastLedgerSequence

v3.0.0-rc.1

v3.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 02 Oct 11:51
7d20353

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.