3.108.0
Minor Changes
-
#14721
ed0fb62Thanks @LucasWerey! - Bump lumen rnative and recat to latest -
#14642
90f8c5eThanks @hhumphrey-ledger! - Use PTX Screen for card flow -
#14562
177defbThanks @Canestin! - feat(lwm): new send flow amount step -
#14774
159f042Thanks @LucasWerey! - Bump Lumen design system packages (lumen-design-core, lumen-ui-react, lumen-ui-rnative) -
#14718
133530fThanks @mcayuelas-ledger! - Enforce import/no-duplicates and dedupe imports across common, mobile, and desktop. -
#14628
13fcb1aThanks @VicAlbr! - Temporarily disable SOL_2 earn staking E2E tests pending backend update -
#14560
1b54b62Thanks @deepyjr! - Update Discover Catalog screen navigation for Wallet 4.0: add permanent back arrow header and inline Cancel button in search mode when lwmWallet40 feature flag is active -
#14748
ebe9573Thanks @Valentin-Ledger! - Add scroll-based fade animation to Earn background image -
#14619
a8409adThanks @henri-ly! - Add recipient new send flow screen -
#14704
e954c1eThanks @mcayuelas-ledger! - add assetSection in ff for w4.0 -
#14616
e292df3Thanks @gre-ledger! - Migrate to React 19. -
#14578
8c23770Thanks @deepyjr! - Fix discover and myledger deeplinks broken in Wallet 4.0 navigation (lwmWallet40 FF ON). -
#14740
4a88e43Thanks @LucasWerey! - Remove hasFunds condition from swap button so users can access swap flow without funds -
#14679
3231aebThanks @deepyjr! - Fix W4.0 spacing on Portfolio, Card, and Discover screens -
#14538
ff61f0aThanks @sarneijim! - fix(mobile): Wallet V4 Tour Debug screen improvements- Add Wallet V4 Tour Debug tests (WalletV4TourDebug, SectionCard, ToggleRow)
- Update SectionCard and ToggleRow components in Debug screen
-
#14589
bcae2c7Thanks @CremaFR! - feat: wallet40 perps entry point -
#14730
70c5bb2Thanks @hhumphrey-ledger! - Update ptx player top bar to work with LW40 -
#14680
2cb80e8Thanks @fAnselmi-Ledger! - Stop polling before genuine check to prevent BLE race condition -
#14835
ccf0cd5Thanks @cfloume! - fix: update min height for WV4 bottom sheet to fix alignment of lotties -
#14701
0372fddThanks @cfloume! - analytics: update content card events with location property -
#14758
0041229Thanks @mcayuelas-ledger! - Add @ledgerhq/asset-aggregation package with dynamic asset categorization via DADA API category filter -
#14603
ed03f8fThanks @sarneijim! - feat(mobile): Lottie splash screen support and staging/Repack compatibility- Add LottieLauncher with Splashscreen.lottie for animated splash (no JSON fallback)
- Fix splash animation in staging: Repack returns path instead of file:// URI; use asset id when URI is not absolute so lottie-react-native loads correctly
- Add shared resolveLottieSource(module) in Lottie component for any .lottie usage (dev + staging)
- Lottie component accepts source as number (asset id) with safe cast for lottie-react-native types
-
#14631
c2b8a34Thanks @dilaouid! - fix(lwdm): fix non sync fiat value between step (new send flow) -
#14667
bc591ecThanks @thesan! - Use plain lists on the portfolio page -
#14706
7fff33fThanks @RobinVncnt! - fix: large mover ledgerIds support -
#14714
6ffcd69Thanks @LucasWerey! - Remove invalid // comments from styled-components template literals (CSS parse risk with v6) -
#14399
17149eeThanks @Justkant! - fix(bitcoin): refactor signpsbt derivation population and finalize only when broadcastingThis change refactors Bitcoin PSBT signing in
hw-app-btcinto smaller, focused modules and improves derivation handling for incomplete PSBTs (notably WalletConnect-style payloads).What changed
- Refactored
signPsbtflow into dedicated modules:parsePsbtinputAnalysisaccountTypeResolverderivationAccessorsderivationPopulationsignAndFinalize
- Improved BIP32 derivation population:
- fixes incorrect master fingerprint/path matching edge cases
- auto-populates missing input/output derivations from local child pubkey derivation + script matching
- improves local derivation scan depth when deriving and matching addresses
- Introduced
broadcastbehavior through wallet API + desktop/mobile signing flows:- PSBT finalization now only happens when broadcast is requested
- signed-but-not-finalized PSBT is preserved when
broadcast = false
- Updated signing contracts/types:
signPsbtBufferoptions now include explicit account/address context and callbacks- returned
txis now optional (only when finalized) - removed transaction-level
finalizePsbtfield in coin-bitcoin transaction types
- Updated documentation and tests:
- new BIP32 non-hardened child derivation tests
- extended
BtcNew.signPsbtBuffercoverage for account inference and derivation auto-population scenarios - README updates for new signing behavior
Impact
- Improves reliability for partially populated PSBTs.
- Changes finalization semantics (finalize-on-broadcast), which can affect integrators expecting an always-finalized tx.
- Refactored
-
#14669
fe6b657Thanks @Valentin-Ledger! - Update safe area handling for Earn (mobile) and remove the light-mode background gradient. -
#14260
45c33f6Thanks @OlivierFreyssinet! - Remove legacy React Native HID transport code and make DMK always enabledSince the
ldmkTransportfeature flag is now enabled by default in all environments, the Device Management Kit (DMK) transport is always used. This removes all dead code related to the legacy HID transport:- Removed
@ledgerhq/react-native-hiddependency from LLM - Removed
getHidTransport.ts(legacy HID transport selector) - Removed
useLdmkFeatureFlagInitiallyEnabledhook from live-common - Removed
dmkEnabledprop fromDeviceManagementKitProvider - Removed
useDeviceManagementKitEnabledhook - Removed
DeviceManagementKitHIDTransport.listen()method (discovery now handled by new hook)
New additions:
- Added
useHidDevicesDiscoveryhook in live-dmk-mobile for direct DMK-based USB device discovery - Added
HIDDiscoveredDevicetype
Note: The
@ledgerhq/react-native-hidpackage itself (inlibs/ledgerjs/) is not removed — it will be deprecated in a separate PR. - Removed
-
#14688
ed0368fThanks @tonykhaov! - feat: add trackings wallet v4 tour -
#14519
2ca4f6cThanks @mcayuelas-ledger! - Extract CoinGecko logic into standalone cg-client module, decoupling it from market feature -
#14612
88cd72dThanks @hhumphrey-ledger! - Add path for card to match lwd -
#14646
c6bc235Thanks @VicAlbr! - Regenerate mobile E2E test userdata fixtures -
#14607
25b02c1Thanks @LucasWerey! - On IOS create a blurView for the topBar of wallet 4.0. On Android create a linear gradient for the top bar of wallet 4.0 -
#14576
56bc3b6Thanks @RobinVncnt! - feat: lwm wallet v4 tour not display if not onboarded -
#14627
8131ec1Thanks @LucasWerey! - Add analytics for Wallet 4.0 navigation, add it also on the legacy so we can measure the AB test. Disable the onPRess on legacy tab bar to not throw unwanted tracking -
#14666
e239c48Thanks @LucasWerey! - Bump lumen for mobile and desktop + fix e2e marketbanner -
#14781
4b5c286Thanks @cfloume! - chore: use lumen bottom sheet for WV4 Tour -
#14593
c7ed360Thanks @ooke-ledger! - Add finalAmount field to swap status to display the actual received amount in swap history -
#14734
50a440dThanks @dilaouid! - feat(lwdm): create floating steps for custom fees/coin control -
#14640
5f534bfThanks @LucasWerey! - Gate Analytics allocation swap CTA with ptxServiceCtaExchangeDrawer and redirect to main swap screen when Wallet40 main nav is enabled -
#14717
cebf2d8Thanks @LucasWerey! - When wallet 40 main navigation is ON we now have a navigation header on my Ledger screen -
#14540
6b22652Thanks @fAnselmi-Ledger! - Patch Ledger Sync onboarding flow -
#14662
58454e7Thanks @ooke-ledger! - Add buy navigation hook, fix swap deep link cold-start handling, and sanitize swap webview params -
#14306
c5232e8Thanks @LucasWerey! - e2e portfolio wallet 4.0 -
#14794
8ae6722Thanks @Canestin! - feat(web3Hub): remove tabs -
#14135
9d5c4c6Thanks @iqbalibrahim-ledger! - chore(lwd): update lwd and dependent libs to react 19 -
#14659
06e908cThanks @LucasWerey! - Update card landing image asset -
#14637
74ea24cThanks @VicAlbr! - Regenerate speculos-x-other-account E2E test userdata -
#14596
e030c16Thanks @tonykhaov! - feat(mobile): add lottie animations to Wallet V4 Tour drawer slides -
#14525
9125808Thanks @mitchellv-ledger! - Replace UpsellFlex screen with global reborn buy device drawer -
#14790
8d2088bThanks @Canestin! - feat(web3Explorer): add recently used
Patch Changes
- Updated dependencies [
6553406,a96dc83,e954c1e,e292df3,e389cd4,494ccd1,17149ee,ec8a2d6,45c33f6,ed0368f,2ca4f6c,3bb5c2e,07fdf5a,b7dec5c,f51402e,5f1c644,c7ed360,cc4c8f5,e030c16]:- @ledgerhq/coin-evm@2.45.0
- @ledgerhq/types-live@6.99.0
- @ledgerhq/cryptoassets@13.40.0
- @ledgerhq/native-ui@0.58.0
- @ledgerhq/icons-ui@0.20.0
- @ledgerhq/client-ids@0.6.0
- @ledgerhq/live-countervalues@0.14.0
- @ledgerhq/live-env@2.29.0
- @ledgerhq/live-dmk-mobile@0.19.0
- @ledgerhq/coin-canton@0.18.0
- @ledgerhq/coin-framework@6.18.0
- @ledgerhq/live-network@2.3.0
- @ledgerhq/coin-cosmos@0.26.0
- @ledgerhq/coin-filecoin@1.19.2
- @ledgerhq/coin-multiversx@0.11.2
- @ledgerhq/coin-stacks@0.15.5
- @ledgerhq/domain-service@1.6.6
- @ledgerhq/live-countervalues-react@0.10.1
- @ledgerhq/live-wallet@0.21.3
- @ledgerhq/hw-ledger-key-ring-protocol@0.7.4
- @ledgerhq/ledger-key-ring-protocol@0.11.5