github LedgerHQ/ledger-live @ledgerhq/live-desktop@4.10.0

latest release: live-mobile@4.10.0
3 hours ago

4.10.0

Minor Changes

  • #18707 64cb6e7 Thanks @mcayuelas-ledger! - Add truncated text to asset names in the Analytics Asset Allocation table, matching the Assets section behavior (ellipsis with a tooltip showing the full name on hover)

  • #18943 d60474c Thanks @francois-guerin-ledger! - fix(llc): use Arc native USDC's ERC20 token CAL descriptor for the exchange config, so the device shows the correct (6-decimal) swap amount

  • #18763 6202c1e Thanks @mcayuelas-ledger! - Asset Detail: the "Add" account action now lets you choose the network for multi-network assets (e.g. Ethereum, Base, Arbitrum, Optimism), matching the mobile behavior, instead of defaulting to the canonical network.

  • #18641 104d174 Thanks @claudiiafg! - Fix Asset Detail favourites for tokens opened from Market or Assets by resolving market data via the /v3/markets ledgerIds filter while keeping backward compatibility with the legacy ids filter.

  • #18590 c199be5 Thanks @mcayuelas-ledger! - Gate swap/buy CTAs on the asset detail page by availability: hide the swap sidebar (right panel) when swap is unavailable, hide the Buy action when the asset is not buyable, hide all actions/banner/sidebar for unsupported currencies, and show a fallback banner under the market data section when neither Buy nor Swap is available.

  • #18977 f832e06 Thanks @Valentin-Ledger! - Add borrowFeature analytics property derived from the ptxBorrowLiveApp feature flag, included in identify traits and track events on both desktop and mobile.

  • #18757 36200f9 Thanks @deepyjr! - Fix zero-balance asset trend display

  • #18701 dc8833d Thanks @jiyuzhuang! - Fix Q2 Tour QA issues (base CTA button, no slide flash on close) and expose q2Tour in wallet40Attributes analytics

  • #18603 669d2c3 Thanks @YazhuEth! - feat(broadcast): add isTestnet and isSendMax to telemetry

    Adds two fields to the broadcast_success and broadcast_failure Datadog events, on both success and failure paths:

    • isTestnet: derived from the currency model (isTestnetFor)
    • isSendMax: derived from transaction.useAllAmount

    Existing fields are left unchanged.

  • #18643 943b42d Thanks @mcayuelas-ledger! - fix analytics for new Market

  • #18773 2ffc0e8 Thanks @deepyjr! - Fix desktop market countervalue fallback and formatting for unsupported fiats and crypto units.

  • #18620 dd0be79 Thanks @jiyuzhuang! - Add Q2 Tour on Portfolio with theme-aware slide images, Figma copy, persisted hasSeen state, and lwdWallet40 q2Tour flag

  • #18612 0ffa53e Thanks @claudiiafg! - Fix asset detail chart transaction marker clustering with per-timeframe spacing (wider gaps on 5y/all) via shared @ledgerhq/asset-detail utils.

  • #18685 8faad36 Thanks @jiyuzhuang! - Update Q2 Tour aggregated balance slide copy to reference USDT instead of USDC

  • #18809 f857030 Thanks @mitchellv-ledger! - Remove variant B analytics opt in from lwd

  • #18741 913f4a8 Thanks @qperrot! - Fix: handle the "RBF requires an additional sats fee" error and show it in the frontend

  • #18976 0b9f1df Thanks @gre-ledger! - Revert the @datadog/electron-sdk main-process integration (#17844) due to boot-time issues. The Electron main process no longer initializes Datadog/dd-trace; renderer Datadog reporting is unchanged. The asar source-map URL rewrite in the renderer beforeSend is kept.

  • #18767 01cf3a8 Thanks @LucasWerey! - Disable the Mood index (Fear & Greed) for users in the UK on both mobile and desktop, based on the device region (same mechanism as the Earn APY). Adds a shared isMoodIndexAvailable helper and hides the Mood index card/tile from the Market screen and the Market banner when the region is "GB".

  • #18550 30cfdb1 Thanks @ooke-ledger! - Add swapEntryPoint tracking field and ptxSwapLiveAppOnAsset feature flag

  • #18478 636a4cb Thanks @henri-ly! - Add withdraw flow for Monad EVM staking

  • #18585 a489eb9 Thanks @mitchellv-ledger! - Resume Add Account flow after device-connection onboarding

  • #18552 0fe1b2d Thanks @claudiiafg! - Fix desktop asset detail all-time price variation to derive from chart endpoints instead of the 1y market change, and correct the 6m range mapping. Extract shared market chart and variation helpers to live-common for desktop and mobile.

  • #18848 88c89b0 Thanks @dilaouid! - fix(lwdm): new send flow fix no more unit hardcoding for btc fees

  • #18842 ee21b98 Thanks @OlivierFreyssinet! - Add desktop InfoState component with dialog gradient support

  • #18776 b7a676d Thanks @RobinVncnt! - fix: lwm top wallet cards spacing, lwd bottom cards radius

  • #18743 e963396 Thanks @claudiiafg! - Rename the global search crypto category label from "Cryptos" to "Crypto" on mobile and desktop.

  • #18703 46b01e2 Thanks @mcayuelas-ledger! - Extract a reusable HorizontalScroll component (with hover chevrons and edge gradient) and reuse it across the Market banner, Stocks section, and Search overlay carousels

  • #18770 7817aff Thanks @gre-ledger! - Fix desktop userId migration so returning users keep their identity after upgrade. When app.identities was created by the deviceId rollout (deviceIds only, no userId), boot now recovers the legacy userId from app.user/localStorage instead of generating a new one, which had made returning users appear as new in Segment and Braze. shouldUsePersistedId is now exported from @ledgerhq/client-ids/store.

  • #18610 9bf46c3 Thanks @mcayuelas-ledger! - Fix: LWD PnL detail modal now prefixes positive values with + (and negatives with -), matching Ledger Live Mobile. formatPrice gains an optional alwaysShowSign option that is forwarded to formatCurrencyUnit.

  • #18566 133a45f Thanks @deepyjr! - Fix: the Portfolio Stocks "Explore" section now keeps its pills tightly packed on two horizontally scrollable rows at any window width (and shows more stocks to fill the row), instead of staying packed to the left with gaps on several rows. The layout now matches the global search overlay's compact two-row carousel.

  • #18580 1d0d073 Thanks @deepyjr! - Cap the top-bar global search results to 5 visible crypto rows in a fixed-height, scrollable list. Results now load progressively as the user scrolls (infinite scroll) via DADA cursor pagination instead of being hard-capped at 10, so the popover no longer grows to fit every result.

  • #18665 1dff6fa Thanks @LucasWerey! - Share the Asset Detail trade-availability gating between mobile and desktop. Extracted useTradeAvailability and the ramp ledger-id resolution helpers (resolveRampLedgerIds, ledgerIdsFromLedgerCurrency, isAvailableOnBuy, isAvailableOnSwap) into @ledgerhq/asset-detail, and refactored desktop to consume them. Mobile now gates the Asset Detail CTAs (Buy/Swap/Receive) on the same logic: a currency that is not supported by the build or deactivated by a feature flag exposes no transfer actions (footer and in-page), while supported assets without buy/swap show the existing "Swap and Buy are not supported for this asset." banner.

  • #18558 17728cb Thanks @deepyjr! - Fix the global asset search default list flickering when clicking outside the search bar

  • #18607 03438b1 Thanks @deepyjr! - Fix: searching from the global search overlay while already on an asset or market detail page now replaces the current history entry instead of pushing a new one. A single Back press returns to the page visited before the first search, so repeated searches no longer stack up in the navigation history.

  • #18512 58bee3c Thanks @mdomanski-ext-ledger! - feat: support for Aleo token accounts in LWD

  • #18635 57bc639 Thanks @LucasWerey! - Bump Lumen (design-core 0.1.17 / ui-react 0.1.41 / ui-react-visualization 0.1.20 / ui-rnative 0.1.42 / ui-rnative-visualization 0.1.19) and adapt the asset-detail price chart to its new four-state rendering. The chart now drives its loading and empty states through the Lumen LineChart loading/emptyLabel props instead of bespoke skeleton/error components, derives loading from the chart query's fetching state so changing the timeframe shows a loading state (not "No data"), and keeps the previous timeframe's line while the next one loads — scoped to the current asset so switching to an asset with no data shows the empty state rather than the previous asset's graph.

  • #18762 267fb3f Thanks @LucasWerey! - Animate the global search placeholder title: the top-bar search field now cycles its placeholder through "Search crypto / stablecoins / stock / addresses" with a parallel slide-out/slide-in transition. Cycling freezes while the search overlay is open, respects prefers-reduced-motion, and is gated behind the asset-discoverability feature flag.

  • #18718 553efbb Thanks @claudiiafg! - Fix portfolio empty-state stock pill navigation to asset detail by passing ledger ids in router state.

  • #18717 69170e6 Thanks @mcayuelas-ledger! - Hide the legacy per-account/token star button on the account screen when Wallet 4.0 asset discoverability is enabled. The legacy star wrote to a separate store (starredAccountIds) that the W4.0 portfolio favourites (starredMarketCoins) never read, so favouriting a token there never showed in the portfolio. Users now favourite assets from the asset detail page, which correctly feeds the portfolio "Starred" banner.

  • #18731 9aa69db Thanks @claudiiafg! - Fix Market list sorting bleeding across category tabs on desktop: reset sort to default when switching tabs, reset pagination when sort or filters change, and keep paginated market data ordered by page when combining results.

  • #18819 b1f2b7a Thanks @claudiiafg! - Fix Market Change column truncation when using 1M or 1Y time range filters

  • #18768 cd6200b Thanks @claudiiafg! - Track market favourite toggles with the same button_clicked analytics event used on asset detail

  • #18805 663e374 Thanks @mcayuelas-ledger! - Fix the Market list "% change" sort (top gainers/losers) being stuck on the first page: the global, unfiltered gainers/losers request no longer sends top=100, so the list now paginates through all coins like the market-cap and stocks lists. The Market Banner top performers are unaffected (they use the separate getMarketPerformers endpoint with its own top cap).

  • #18727 e1641f6 Thanks @mcayuelas-ledger! - Revamp the Market List "no coins found" empty state (asset-discoverability flow) to match the Wallet 4.0 design: a centered Spot icon with a title and description, replacing the legacy illustration and "Go Back" button.

  • #18602 6e977d1 Thanks @mcayuelas-ledger! - Add analytics tracking for the Market page and global asset discoverability. Tracks search open/query/asset-clicked events from the global search overlay, sort and "see all" interactions, market banner ranking changes, and a dedicated discoverability TrackPage payload. Introduces a shared marketPageAnalytics util and screenRefs helpers for resolving current/previous tracking page names.

  • #18572 93a84fb Thanks @hedi-edelbloute! - feat: add new evm chain

  • #18618 491715a Thanks @deepyjr! - Fix the portfolio Market Banner staying stuck on an empty "favorites" filter after the last starred coin is removed; it now reverts to the trending ranking

  • #18714 033c501 Thanks @vcluzeau-ledger! - Fix Recover webview top gap and make header buttons clickable on macOS by removing the legacy margin workaround and shortening the AppRegionDrag strip on /recover routes

  • #18349 de9dbe3 Thanks @Moustafa-Koterba! - fix(lwd): display available balance on new send flow header

  • #18520 4ace552 Thanks @gre-ledger! - Move the dummy fee-estimation recipient out of @ledgerhq/cryptoassets (abandonseed.ts, now deleted) into each coin family. Every account bridge now exposes a required getEstimationRecipient(account) returning a valid recipient (or throwing for an unmapped currency, like the former getAbandonSeedAddress), and the swap layer dispatches through it instead of the central address map.

  • #18482 399cc8d Thanks @mitchellv-ledger! - Add fallback routing to Ledger asset data for market deeplinks in LWD

  • #18853 e369e66 Thanks @henri-ly! - Allow passing an explicit device model to the Speculos DMK transport. The underlying transport cannot infer the emulated device and defaults to Stax, so the e2e setups now forward the real model (e.g. nanoX) when opening the transport.

  • #18821 7ba0613 Thanks @RobinVncnt! - fix: backup hub tracking, feature intro scrollview and copy

  • #18694 1888882 Thanks @dilaouid! - feat(lwdm): remove isEvmTransaction from the new send flow

  • #18654 25101e2 Thanks @deepyjr! - Display a 1D variation for held assets instead of "-": when an asset's 24h portfolio value change is unavailable (e.g. freshly-acquired positions whose 24h-ago balance was zero), fall back to the asset's 1D price change computed locally from countervalues, expressed in the user's counter-value currency. This applies uniformly to crypto, stablecoins and stocks, and is handled in the shared trend hooks so generic display components stay decoupled from any asset category. A flat price now renders a real 0% (instead of "-"), and the fallback stays neutral when a rate is missing.

  • #18847 37eba10 Thanks @semeano! - Rename the native TON cryptocurrency to Gram

  • #18788 e620b15 Thanks @LucasWerey! - feat(market-banner): back the "Trending" ranking with the countervalues /v3/currencies/trending endpoint

    The market banner "Trending" filter (desktop and mobile) now fetches the dedicated trending
    currencies list (hydrated via /v3/markets, preserving trending order and keeping only supported
    entries) instead of reusing the gainers performers query. Adds a getTrendingPerformers endpoint
    and useTrendingPerformers hook in live-common.

  • #18750 4a6056c Thanks @RobinVncnt! - feat: lwm backup hub tracking, red dot and copy update

  • #18609 48644c1 Thanks @mcayuelas-ledger! - Fix the Market Banner ranking select trigger styling by replacing the MediaButton with a styled trigger and a ChevronDown symbol

  • #18549 cbc874e Thanks @dilaouid! - feat(llc): effects contracts architecture for new send flow

  • #18825 e441ffe Thanks @ishaba! - fix: re-adding a previously onboarded canton account

  • #18562 509b5fb Thanks @Moustafa-Koterba! - fix info spacing in operation details

  • #18621 8d4e409 Thanks @mcayuelas-ledger! - Asset detail and aggreation e2e suits +
    Add test ids to Wallet 4.0 asset detail components (address balances, PnL cards, favorite toggle, PnL dialog) to support asset aggregation/detail E2E coverage

  • #18625 ab76877 Thanks @semeano! - Add a "Transfer from" source selector (Public / Private) to the Zcash send Recipient step, behind the zcashShielded feature flag

Patch Changes

Don't miss a new ledger-live release

NewReleases is sending notifications on new releases.