Skip to content

Releases: lifinance/widget

@lifi/widget@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

  • #775 0ad86fe Thanks @effie-ms! - Internal: header navigation tabs are now config-driven via the internal _navigationTabs option (not part of the public API). The active tab drives the displayed flow's mode, variant and mode options, and the split Swap/Bridge tabs are served by this unified navigation-tabs store — existing mode: 'split' behavior is unchanged.

Patch Changes

  • #798 873fd1e Thanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters).

  • #797 2210d52 Thanks @chybisov! - Fix a false "Not enough funds" warning that appeared on the transaction status screen while waiting for the destination chain. Pre-flight warning messages are no longer rendered during the in-progress (pending) execution state, restoring the behavior from before the v4 execution page redesign.

  • #791 e956d45 Thanks @tomiiide! - Respect the integrator's exchanges/bridges allow-list on the first route request. Previously, before the /tools fetch populated the enabled-tools store, the initial /advanced/routes request omitted the exchange/bridge filter (or sent a stale persisted list), so it could return and render routes from disabled tools. The enabled-tools state is now seeded synchronously from the config allow-list and stale persisted entries are intersected against it on rehydration.

  • #773 63363e5 Thanks @vinzenzLIFI! - Add data-testid attributes to CloseDrawerButton, ReverseTokensButton, BaseTransactionButton, and the WidgetSkeleton container for stable e2e test targeting.

  • #771 d513c30 Thanks @tomiiide! - Remove the Merkle RPC (https://eth.merkle.io) from the default mainnet seed chain. viem bundles it as the mainnet default, but it is a shared public endpoint that surfaced intermittent CORS errors in the browser (consistent with rate-limiting), causing failed/slow Ethereum quotes until the request retried elsewhere. The seed chain no longer carries a public RPC of its own; the real RPCs arrive from the backend via useSyncWagmiConfig before any mainnet read fires. The default client wraps the synced RPCs in a fallback transport for per-request failover. useIsContractAddress now waits until the chain is available from the backend before reading on-chain, so it no longer runs against the unsynced default client.

  • Updated dependencies [873fd1e, 80c1387, 52cbaa2, 900dc78]:

    • @lifi/wallet-management@4.1.0
    • @lifi/widget-provider@4.1.0

@lifi/widget-provider@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

@lifi/widget-provider-tron@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

  • #780 a242682 Thanks @tomiiide! - Re-enable WalletConnect for Tron. createTronAdapters accepts a WalletConnectAdapterConfig, and TronProviderConfig.walletConnect controls whether the adapter is registered: true uses the shipped defaults (mirroring the EVM provider), a config object is merged over them, false/undefined disables it.

    The resolver always forces options.customStoragePrefix to 'tron' to isolate the Tron WalletConnect storage from the EVM connector's (same project id, same origin). Without it the EVM eip155 namespaces bleed into the Tron session proposal and wallets connect as EVM, producing "No accounts found in session".

    createTronAdapters now takes an optional WalletConnectAdapterConfig argument. The change is backwards-compatible — existing callers keep the previous behaviour (WalletConnect adapter not registered).

Patch Changes

  • #798 873fd1e Thanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters).

  • #795 900dc78 Thanks @effie-ms! - Remove the Ledger adapter from the Tron wallet adapters.

  • #780 a242682 Thanks @tomiiide! - Harden Tron WalletConnect against the EVM connector sharing the same project id.

    • Force customStoragePrefix: 'evm' on the EVM WalletConnect connector. The Tron wrapper drops the prefix it is given, so both cores wrote identical wc@2:…//session keys and last-writer-wins clobbered the other ecosystem's session (a connected wallet vanished, refresh re-opened the QR). Isolating the EVM side fixes the collision regardless of the wrapper.
    • Reject non-Tron addresses at the Tron provider boundary. The wrapper returns accounts[0] across all session namespaces, so scanning with an EVM wallet surfaced an eip155 0x… address as the Tron account and let it flow into the route request as the Tron sender. Connected Tron accounts whose address isn't a valid base58 T… are now ignored, and the offending adapter is disconnected.
  • Updated dependencies [80c1387]:

    • @lifi/widget-provider@4.1.0

@lifi/widget-provider-sui@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

Patch Changes

  • #798 873fd1e Thanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters).

  • #802 6ac5419 Thanks @chybisov! - Bump SDK provider dependencies to their latest compatible releases (@lifi/sdk-provider-ethereum 4.0.2, @lifi/sdk-provider-sui 4.1.0) and align the viem range with the workspace override.

  • #801 e4cd0f2 Thanks @chybisov! - Migrate the Sui integration to the gRPC client (@mysten/sui/grpc) ahead of Sui's JSON-RPC sunset. The iframe-embedded provider now creates a SuiGrpcClient, @mysten/sui/jsonRpc is no longer used anywhere in the widget, and the @mysten/dapp-kit-react peer dependency is bumped to ^2.1.3.

  • Updated dependencies [80c1387]:

    • @lifi/widget-provider@4.1.0

@lifi/widget-provider-solana@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

Patch Changes

  • #798 873fd1e Thanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters).

  • Updated dependencies [80c1387]:

    • @lifi/widget-provider@4.1.0

@lifi/widget-provider-ethereum@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

  • #800 52cbaa2 Thanks @chybisov! - Remove Porto wallet connector support following the Ithaca Porto sunset. The porto option on EthereumProviderConfig and createDefaultWagmiConfig is removed, along with the Porto wallet icon and tag.

Patch Changes

  • #798 873fd1e Thanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters).

  • #802 6ac5419 Thanks @chybisov! - Bump SDK provider dependencies to their latest compatible releases (@lifi/sdk-provider-ethereum 4.0.2, @lifi/sdk-provider-sui 4.1.0) and align the viem range with the workspace override.

  • #771 d513c30 Thanks @tomiiide! - Remove the Merkle RPC (https://eth.merkle.io) from the default mainnet seed chain. viem bundles it as the mainnet default, but it is a shared public endpoint that surfaced intermittent CORS errors in the browser (consistent with rate-limiting), causing failed/slow Ethereum quotes until the request retried elsewhere. The seed chain no longer carries a public RPC of its own; the real RPCs arrive from the backend via useSyncWagmiConfig before any mainnet read fires. The default client wraps the synced RPCs in a fallback transport for per-request failover. useIsContractAddress now waits until the chain is available from the backend before reading on-chain, so it no longer runs against the unsynced default client.

  • #780 a242682 Thanks @tomiiide! - Harden Tron WalletConnect against the EVM connector sharing the same project id.

    • Force customStoragePrefix: 'evm' on the EVM WalletConnect connector. The Tron wrapper drops the prefix it is given, so both cores wrote identical wc@2:…//session keys and last-writer-wins clobbered the other ecosystem's session (a connected wallet vanished, refresh re-opened the QR). Isolating the EVM side fixes the collision regardless of the wrapper.
    • Reject non-Tron addresses at the Tron provider boundary. The wrapper returns accounts[0] across all session namespaces, so scanning with an EVM wallet surfaced an eip155 0x… address as the Tron account and let it flow into the route request as the Tron sender. Connected Tron accounts whose address isn't a valid base58 T… are now ignored, and the offending adapter is disconnected.
  • Updated dependencies [80c1387]:

    • @lifi/widget-provider@4.1.0

@lifi/widget-provider-bitcoin@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

Patch Changes

  • Updated dependencies [80c1387]:
    • @lifi/widget-provider@4.1.0

@lifi/widget-light@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

Patch Changes

  • #801 e4cd0f2 Thanks @chybisov! - Migrate the Sui integration to the gRPC client (@mysten/sui/grpc) ahead of Sui's JSON-RPC sunset. The iframe-embedded provider now creates a SuiGrpcClient, @mysten/sui/jsonRpc is no longer used anywhere in the widget, and the @mysten/dapp-kit-react peer dependency is bumped to ^2.1.3.

@lifi/wallet-management@4.1.0

23 Jun 13:26
83b39c0

Choose a tag to compare

Minor Changes

  • #796 80c1387 Thanks @chybisov! - Drop React 18 support and require React 19+. The react/react-dom peer dependency range is narrowed from >=18 to >=19, and the components are modernized to React 19 idioms (refs passed as props instead of forwardRef, use() for context). The widget-provider-* packages now use React-19-only APIs and declare a react: >=19 peer dependency. Integrators must be on React 19 or newer.

Patch Changes

  • #798 873fd1e Thanks @chybisov! - Update third-party runtime dependencies to their latest compatible versions (MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual, i18next 26.3.1, and Tron/Sui/Solana wallet adapters).

  • #800 52cbaa2 Thanks @chybisov! - Remove Porto wallet connector support following the Ithaca Porto sunset. The porto option on EthereumProviderConfig and createDefaultWagmiConfig is removed, along with the Porto wallet icon and tag.

  • #795 900dc78 Thanks @effie-ms! - Revert showing Ledger as a multichain wallet in ecosystem selection, as Ledger is no longer supported.

  • Updated dependencies [80c1387]:

    • @lifi/widget-provider@4.1.0

@lifi/widget@4.0.0

03 Jun 14:10
fdc98a7

Choose a tag to compare

Minor Changes

  • #716 e913e5f Thanks @effie-ms! - Allow customizing the MuiDrawer theme component, use spread-aware box-shadow, and standardize the grey palette (grey[300]/grey[800]).

Patch Changes

  • #757 168e0df Thanks @chybisov! - Bump dependencies and raise the wagmi / @wagmi/core / viem peer ranges.

    @lifi/widget-provider-ethereum and @lifi/widget-light now require wagmi@^3.6.16 and @wagmi/core@^3.5.0 (plus viem@^2.52.0 for widget-light). This pulls in @wagmi/connectors@8.0.15, whose metaMask connector answers pre-connect probe methods (getProvider/isAuthorized/getAccounts/getChainId) from the injected EIP-6963 provider when present — so registering the MetaMask SDK connector no longer downloads @metamask/connect-evm on page load for users with the extension installed.

  • #751 8830721 Thanks @chybisov! - Show the "Bridge completed" receipt row for bridges whose destination transaction hash is not a 0x-prefixed EVM hash (e.g. Lighter), building the explorer link from a chain-specific path override.

  • #666 76d54b0 Thanks @effie-ms! - Replace stepper-based execution UI with an animated single-card design featuring staggered checklist rows, animated status icons, and paced route updates.

  • Updated dependencies [168e0df, 1fbc970, e913e5f]:

    • @lifi/wallet-management@4.0.0
    • @lifi/widget-provider@4.0.0

Pre-Changesets history (aggregated, repo-wide). The entries below are
inherited verbatim from the repository root CHANGELOG.md, which aggregated
releases across all packages of this monorepo before the Changesets cutover.
Many entries reference packages other than @lifi/widget; per-package release
notes (attributed by Changesets) appear above this section as future releases
ship.

All notable changes to this project (through the standard-version era) are documented below. See standard-version for the historical commit guidelines.