3.105.0
Minor Changes
-
#13994
7aeb7bbThanks @tonykhaov! - feat: update wording notifications prompt drawer -
#14016
eb89e1aThanks @LucasWerey! - FearAndGreed add an early return in the animation to avoid infinite re renders with jest -
#14028
0225aacThanks @mcayuelas-ledger! - Bump lumen-ui libraries (lumen-ui-react 0.0.71 → 0.0.73, lumen-ui-rnative 0.0.58 → 0.0.60) -
#14030
8388db4Thanks @LucasWerey! - Bump lumen rnative to latest so it uses react 19 -
#14155
16da950Thanks @CremaFR! - feat: removed navbar from perps -
#14019
009c0cdThanks @LucasWerey! - Add dev tools for the wallet 4.0 -
#14072
cdb1567Thanks @LucasWerey! - Adjust market banner tiles to match design -
#14045
e32bd06Thanks @LucasWerey! - Fix market deeplink when the market banner ff is enabled -
#14104
638e2afThanks @LucasWerey! - Realign fear and greed tile with the other tiles -
#13951
a8fd790Thanks @deepyjr! - Add PortfolioBalanceSection component for wallet balance display with three states (normal, noFund, noSigner) behind graph_rework feature flag.Unify currency formatting across mobile and desktop:
- Mobile: Use formatCurrencyUnitFragment with AmountDisplay from lumen-ui-rnative
- Desktop: Migrate BalanceView to use AmountDisplay from lumen-ui-react, remove formatBalanceParts utility
- Both platforms now use the same formatter callback pattern with Lumen components handling currency positioning
-
#14054
da660ccThanks @CremaFR! - feat: perps ff and entry points -
#14167
fee8081Thanks @francois-guerin-ledger! - chore(LWD, LWM): updateEthAppPleaseEnableContractDataerror message -
#14105
93cfcb0Thanks @thesan! - Stop the incessant re-saving of countervalues -
#14147
b425b53Thanks @tonykhaov! - Rename notifications prompt illustrations (NotificationsBell, NotificationsPerformanceChart) and show by drawer source -
#14130
2d750daThanks @mcayuelas-ledger! - Add mainNavigation FF for Wallet4.0 -
#14037
be39926Thanks @LucasWerey! - Add analytics pill to the portfolio balance -
#14314
50da5ecThanks @Justkant! - fix: prevent double-firing of close animation callbacks in QueuedDrawer and DeviceConnectUse refs instead of local variables in QueuedDrawer's closeAnim to
deduplicate callbacks across rapid successive calls. Add a guard ref
in DeviceConnect to prevent handleSuccess from executing twice. -
#13830
a90b9dfThanks @ysitbon! - upgrade react-native-reanimated from v3 to v4- Add new required dependency
react-native-worklets(0.7.2) - Migrate babel plugin from
react-native-reanimated/plugintoreact-native-worklets/plugin - Migrate
runOnJSAPI toscheduleOnRNfromreact-native-worklets - Add missing dependency arrays to
useAnimatedStylehooks (required for Reanimated 4 without Babel plugin) - Update test mocks for compatibility with Reanimated 4
- Add new required dependency
-
#14039
96acd67Thanks @RobinVncnt! - feat: ContentDrawer - add tour parameter to lwmWallet40 ff, new hasSeenWalletV4Tour flag, add debug row -
#14236
3325156Thanks @LucasWerey! - Fix a race condition with the bottomsheet -
#14029
44e0119Thanks @deepyjr! - Add Quick Actions CTAs with new Transfer drawer for Wallet 4.0- New Quick Actions CTAs (Transfer, Swap, Buy) displayed when quick_action_ctas feature flag is enabled
- Transfer action opens a bottom sheet with Receive, Send, and Bank transfer options
- Swap action navigates to Swap Live app
- Buy action navigates to Buy Live app
- Built with Lumen UI components (TileButton, ListItem, Box, Subheader)
- Full MVVM architecture with integration tests
-
#14040
59b4d7eThanks @vcluzeau-ledger! - feat(recover): pass hasConnectedNanoS and countryCode params to Recover webapp- Add new
getCountryCodeFromLocaleutility in@ledgerhq/live-common/locale - Pass
hasConnectedNanoSboolean to indicate if user has ever connected a Nano S - Pass
countryCode(ISO 3166-1 alpha-2, lowercase) extracted from user's locale setting
- Add new
-
#14198
0fec915Thanks @cunhabruno! - remove jotai-scope import from PerpsWebView -
#13847
a8ef145Thanks @ishaba! - fix Canton stale screen and error handling on add account mobile -
#14134
64a32d2Thanks @Justkant! - fix(mobile): resolve webview state interference and staking drawer double-open- Replace single currentAccountAtom with atomFamily (currentAccountAtomFamily) to provide manifest-scoped account state isolation between webviews
- Remove ScopeProvider wrappers from webview components (no longer needed)
- Use refs for staking drawer callbacks in EarnLiveAppNavigator to prevent useEffect re-runs when callbacks change
- Update jotai from 2.12.4 to 2.17.0, remove jotai-scope, add jotai-family
This fixes two related issues:
- Account state bleeding between EarnWebview and WebPlatformPlayer when both are mounted simultaneously
- Staking drawer opening multiple times due to unstable callback dependencies in the useEffect
-
#13859
c36a6b1Thanks @OlivierFreyssinet! - Remove legacy React Native BLE transport codeSince 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 BLE transport:- Removed
@ledgerhq/react-native-hw-transport-bledependency from LLM - Removed
PairDevicesscreen and related components - Removed
DebugBLEandDebugBLEBenchmarkdebug screens - Removed legacy BLE hooks (
useBleDevicePairing,useBleDevicesScanning) from live-common - Removed legacy BLE types from live-common
Note: The
@ledgerhq/react-native-hw-transport-blepackage itself (inlibs/ledgerjs/) is not removed — it will be deprecated in a separate PR. - Removed
-
#14126
c9f56c4Thanks @mcayuelas-ledger! - Split market API into market and countervalues RTK Query APIs -
#14086
bf34cf5Thanks @gre-ledger! - Stop persisting Account#lastSyncDate to optimize need to resave accounts -
#14013
7524c14Thanks @gre-ledger! - cleanup old fields in settings reducers -
#14157
080cd87Thanks @LucasWerey! - Hide bank transfer option in transfer drawer when Noah feature flag is disabled -
#14033
8e07e63Thanks @deepyjr! - Add tap to toggle discreet mode on portfolio balance -
#14217
67c7dc5Thanks @mcayuelas-ledger! - Retrigger new builds with hotfix stuffs -
#14097
d5b273bThanks @LucasWerey! - Reduce polling state to 3 minutes
Patch Changes
- Updated dependencies [
a155cdf,d7b6d27,da660cc,62f9834,2d750da,a90b9df,96acd67,34cf993,7dbe08b,982a7e9,65f0757,bf34cf5,7a75642,a774b49]:- @ledgerhq/coin-canton@0.16.0
- @ledgerhq/types-live@6.96.0
- @ledgerhq/live-wallet@0.21.0
- @ledgerhq/native-ui@0.55.0
- @ledgerhq/coin-cosmos@0.24.0
- @ledgerhq/coin-evm@2.42.0
- @ledgerhq/coin-framework@6.15.0
- @ledgerhq/live-env@2.27.0
- @ledgerhq/coin-filecoin@1.18.3
- @ledgerhq/coin-multiversx@0.10.3
- @ledgerhq/coin-stacks@0.15.2
- @ledgerhq/domain-service@1.6.3
- @ledgerhq/cryptoassets@13.38.1
- @ledgerhq/live-countervalues@0.12.1
- @ledgerhq/live-countervalues-react@0.9.2
- @ledgerhq/client-ids@0.5.1
- @ledgerhq/hw-ledger-key-ring-protocol@0.7.2
- @ledgerhq/ledger-key-ring-protocol@0.11.2
- @ledgerhq/live-dmk-mobile@0.18.2
- @ledgerhq/live-network@2.2.2