Skip to content

Releases: vultisig/vultisig-android

v1.0.102

14 May 10:22
v1.0.102
005bea3

Choose a tag to compare

v1.0.102 Pre-release
Pre-release

What's Changed

  • chore: bump version to 1.0.101 by @johnnyluo in #4308
  • fix: use transaction error Rive animation by @alceops in #4305
  • Run keygen in parallel with batch FastVault endpoint by @rkokhatskyi in #3980
  • feat(thorchain): LP data layer — pool stats, positions, memo paired-address (#2141) by @aminsato in #4309
  • [Feat] TonConnect co-signing: multi-message, stateInit, and custom-message signing on EdDSA chains (closes #4268) by @Vaulty-bot in #4283
  • Replace deprecated androidx.security.crypto.MasterKey in SharedPrefsMasterKeyInitializer (#4166) by @Vaulty-bot in #4291
  • [Test] Add cross-platform vectors and edge cases for backup encryption and server backup (#4192) by @Vaulty-bot in #4209
  • Clean up TonApi: error handling, structure, and naming by @aminsato in #4318
  • fix: skip THORChain network id fetch on startup when no vaults exist by @aminsato in #4321
  • refactor(swap): split SwapQuoteRepository into per-provider sources by @aminsato in #4313
  • test: pin Cardano max-amount keysign hash (#3751) by @johnnyluo in #4322
  • Fix/3751 pin cardano max amount hash by @johnnyluo in #4323
  • fix(thorchain): silence expected NotFound from per-denom metadata fetch (#4326) by @aminsato in #4329
  • feat(thorchain): LP UI — positions tab, add/remove flow (#2141) by @aminsato in #4320
  • Crash: SecurityScanner throws on Blockaid 'Simulation Error' response, kills main thread (#4334) by @Vaulty-bot in #4336
  • fix(solana): thread memo through SPL token signing paths by @realpaaao in #4337
  • [Fix] Swap: rank providers by net output (closes #4315) by @aminsato in #4319
  • perf(thorchain): single-pool LP lookup for Remove LP screen (#4338) by @aminsato in #4340
  • fix(deposit): populate fiat value on joiner verify screen by @aminsato in #4344
  • Swap quote for unsupported pair (THOR.RUNE → WINK) shows misleading 'adjust amount' error (#4345) by @Vaulty-bot in #4348
  • fix(tx-done): keep status visible after expanding Transaction Details by @aminsato in #4349
  • fix(preview): give ChainTokensScreen preview tokens unique ids by @aminsato in #4351
  • ChainTokensScreen: THORChain fetches denom metadata for disabled tokens (#4350) by @Vaulty-bot in #4352
  • fix(swap): show specific error when balance can't cover gas on percentage tap by @aminsato in #4356
  • fix(tx-complete): align title, back button, and padding across initiator/joined (#4343) by @aminsato in #4359
  • Pull-to-refresh missing on DeFi chain detail views (Tron / Mayachain / Thorchain / Circle) (#4364) by @Vaulty-bot in #4365
  • feat: dApp signing — function-name title + collapsible details (Phase 1) by @realpaaao in #4054
  • fix: buffer the latest response so a late requester does not hang by @rkokhatskyi in #4264
  • Verify swap transaction: title is 'Swap overview' on initiator but 'Keysign' on joined device (#4346) by @Vaulty-bot in #4369
  • fix(scan-qr): use SAF picker so Upload QR Code can reach Downloads by @aminsato in #4372
  • chore(icons): update AUTO token icon to current branding by @aminsato in #4373
  • fix(notifications): dismiss foreground keysign banner when joining via QR by @aminsato in #4374
  • Crash: opening THORChain / MayaChain DeFi section — nested vertically scrollable containers (#4367) by @Vaulty-bot in #4371
  • [Test] Add unit tests for core ViewModels covering verify, vault, settings, address entry, and keygen (#4196) by @Vaulty-bot in #4198
  • fix(swap): make flip actually swap src and dst (#4354) by @aminsato in #4358
  • test(send): Phase A characterization tests for SendFormViewModel by @aminsato in #4377
  • refactor(keysign): unify deposit UI-model construction via shared mapper by @aminsato in #4382
  • fix(tron-defi): two-tone Bandwidth/Energy counter with space-padded slash by @aminsato in #4386
  • feat: Blockaid simulation hero for dApp signing (#4095) by @rkokhatskyi in #4306
  • Keysign: detect silent peers and fail fast instead of waiting 60s × 4 (#4327) by @Vaulty-bot in #4339
  • DeFi (Circle USDC): pull-to-refresh indicator stays visible after refresh completes (#4368) by @Vaulty-bot in #4375
  • fix(swap): hide Provider/fees block when quote error is shown (#4347) by @aminsato in #4353
  • fix(thorchain): skip /status fetch when no vault uses THORChain by @aminsato in #4376
  • refactor(send): split SendFormViewModel into Address/Amount managers by @aminsato in #4393
  • DeFi Tron: loading state hides tabs, resource cards, and freeze position card (#4380) by @Vaulty-bot in #4387
  • feat(evm): static common selector table for offline 4byte decode (#4055) by @aminsato in #4310
  • Transaction Complete shows estimated max fee, not actual burned fee, for EVM (#4392) by @Vaulty-bot in #4400
  • fix(secure-prefs): throw KeyStoreException from buildSecurePrefsKey by @rkokhatskyi in #4408
  • fix(secure-prefs): complete prewarm deferred on every non-cancellation throwable by @rkokhatskyi in #4406
  • fix(secure-prefs): narrow destructive recovery to KeyPermanentlyInvalidatedException only (#4401) by @rkokhatskyi in #4405
  • Crash: IllegalArgumentException in LazyList SubcomposeLayout on Android 15 (Oppo) (#4388) by @Vaulty-bot in #4389
  • fix(evm): handle non-2xx RPC responses without crashing balance fetch (#4414) by @aminsato in #4417
  • Join Keysign: Transaction Details collapse should match extension (#4394) by @Vaulty-bot in #4407
  • test(preview): add SelectChainPopup PreviewActivity entry (#4411) by @aminsato in #4416
  • refactor(send): split submit functions into per-defiType strategies by @aminsato in #4412
  • fix(chain-dashboard): add cross-cutting top toolbar with back button (#4383) by @aminsato in #4399
  • feat(home): add 'Buy $VULT' promo banner (#4398) by @aminsato in #4424
  • Fix THORChain secured asset swap quotes by @realpaaao in #4429
  • Network Fee on QR-scanned EVM contract call is ~5× lower on Android than on the extension (#4370) by @Vaulty-bot in #4381
  • Swap: missing Outbound Fee row and Swap Fee percentage in Total Fee breakdown (#4397) by @Vaulty-bot in #4419
  • Crash: FileNotFoundException EACCES in Uri.fileContent when reading content URI (#4426) by @Vaulty-bot in #4435
  • Crash: IllegalArgumentException in LazyList SubcomposeLayout recurs on Android 16 (Samsung Galaxy A15) (#4427) by @Vaulty-bot in #4434
  • feat: Unlimited approval warning indicator (Phase 1.6) (#4056) by @Vaulty-bot in #4422
  • Misleading error: 'Invalid QR code content' shown when offline during sign transaction (#4430) by @Vaulty-bot in #4440
  • Swap: RUJI (THORChain) missing from Select Asset list even when enabled in token list (#4421) by @Vaulty-bot in #4441
  • fix: validate EdDSA pubkey before PublicKey ctor (#4428) by @Vaulty-bot in #4431
  • Verify screen: network fee mismatch + missing fiat value on joined device (#4378) by @Vaulty-bot i...
Read more

v1.0.101

28 Apr 04:08
v1.0.101
9b32691

Choose a tag to compare

What's Changed

Full Changelog: v1.0.100...v1.0.101

v1.0.100

25 Apr 06:42
v1.0.100
6c2c6d0

Choose a tag to compare

v1.0.100 Pre-release
Pre-release

What's Changed

  • bump: update version to 1.0.99 by @johnnyluo in #4155
  • fix: UTXO swap byteFee unit mismatch causing Error_not_enough_utxos (#4164) by @aminsato in #4165
  • fix: render join-device keysign progress full-screen (#4157) by @aminsato in #4158
  • Tron: broadcast fails with NOT_ENOUGH_EFFECTIVE_CONNECTION; status lookup also logs noisy deserialization error (#4175) by @Vaulty-bot in #4179
  • Referral: 'Failed to check referral code' shown when THORName does not exist (#4171) by @Vaulty-bot in #4176
  • feat: Bandwidth/Energy resource tab for TRON freeze/unfreeze (#4014) by @aminsato in #4142
  • fix: eliminate Circle DeFi isAccountOpen race that flaked unit tests by @aminsato in #4177
  • test: cover UTXO swap gasFee per-byte rate regression (#4165) by @aminsato in #4174
  • Relocate LOCAL_PARTY_ID_PREFIX out of generic ServerUtils and de-duplicate in tests (#4237) by @Vaulty-bot in #4252
  • Fix keysign completion for hashless broadcasts by @realpaaao in #4257
  • fix: validate custom token address and metadata before search by @rkokhatskyi in #4256
  • Tron: refresh DeFi screen and DeFi balance cache after keysign by @aminsato in #4231
  • Uncaught Exception in ThorChainApi.getTHORChainInboundAddresses on Blu G53 (Android 13) (#4219) by @Vaulty-bot in #4225
  • fix: surface dust-threshold error with a specific message (#4167) by @aminsato in #4224
  • [ADD] AddressInputExtensions: BIP-21/EIP-681 URI extraction and full unicode-whitespace handling (#4199) by @Vaulty-bot in #4208

Full Changelog: v1.0.99...v1.0.100

v1.0.99

23 Apr 01:41
v1.0.99
e7cb32c

Choose a tag to compare

v1.0.99 Pre-release
Pre-release

What's Changed

  • chore: bump version to 1.0.98 by @johnnyluo in #3906
  • crash: IllegalStateException in KeygenPeerDiscoveryViewModel when KeyImport mnemonic extraction fails (#3904) by @Vaulty-bot in #3905
  • fix: remove redundant delay before startSessionWithRetry (#3857) by @johnnyluo in #3908
  • fix: unregister BroadcastReceiver leak and remove vaultId force-unwraps by @rkokhatskyi in #3913
  • feat: BondForm address/asset card UX improvements by @aminsato in #3833
  • fix: chain names hidden in chain/DeFi selection grids by @johnnyluo in #3916
  • fix: disable back button on vault backup onboarding screen by @johnnyluo in #3917
  • fix: route to EnterVaultInfoScreen on "Use a different email" (#3910) by @johnnyluo in #3918
  • cleanup: remove unused string resources from strings.xml (#3780) by @Vaulty-bot in #3919
  • cleanup: remove 9 unused UI component files by @johnnyluo in #3915
  • fix: correct secured asset detection for THORChain token swaps by @realpaaao in #3784
  • fix: localize hardcoded content descriptions for accessibility by @rkokhatskyi in #3830
  • fix: replace !! force-unwrap @Suppress annotations with safe alternatives by @johnnyluo in #3920
  • fix: add back button to ErrorView for unrecoverable error screens by @rkokhatskyi in #3923
  • feat: fetch real LP balances and APR for Maya DeFi LP tab by @aminsato in #3758
  • fix: correct typos in string resource key names by @johnnyluo in #3925
  • feat: add QBTC chain support with ML-DSA-44 post-quantum signing by @rkokhatskyi in #3573
  • fix: translate untranslated strings in HR, IT, PT locales (#3814) by @johnnyluo in #3926
  • feat: warn when importing seed phrase that already exists as fast vault on server by @aminsato in #3931
  • refactor: remove MLDSA key generation from KeygenViewModel by @johnnyluo in #3934
  • fix: multiple onboarding flow improvements (#3668) by @aminsato in #3929
  • refactor: delegate Cardano UTXO selection to WalletCore (same as BTC) (#3932) by @Vaulty-bot in #3933
  • fix: hide Unlock Tier button when tier is already active by @aminsato in #3935
  • [Fix] KyberSwap affiliate fees not collected, $100 threshold blocks small swaps, discount tiers excluded [Swap] (#3704) by @Vaulty-bot in #3924
  • fix: Plugin Store badge inner shadow and rename (#3361) by @aminsato in #3936
  • fix: dynamic Solana priority fee via getRecentPrioritizationFees by @johnnyluo in #3927
  • fix: replace count-based strings with proper plurals resources (#3940) by @Vaulty-bot in #3943
  • fix: invalidate balance cache after successful send by @aminsato in #3948
  • Add mono variant drawable for Bittensor chain logo (#3947) by @Vaulty-bot in #3949
  • Review VsButton forceClickable parameter with designer (#3946) by @Vaulty-bot in #3950
  • fix: MAYA token swap support — correct decimals and pool-based pricing by @realpaaao in #3951
  • fix: Dash UTXO fetching via native RPC to prevent tx-txlock-conflict by @realpaaao in #3945
  • fix: remove unnecessary filter for Dash block IDs in UTXO list by @johnnyluo in #3958
  • refactor: clean up SelectAssetViewModel (#3938) by @Vaulty-bot in #3944
  • fix: unhandled NetworkException crash on no-internet (#3645) by @Vaulty-bot in #3660
  • fix: handle empty ATA list for Solana SPL transfers to new recipients by @johnnyluo in #3959
  • fix: set THORChain streaming interval to 0 for Rapid Swaps by @johnnyluo in #3960
  • Crash: NoSuchElementException in SwapFormViewModel.firstSendSrc when chain has no matching address (v97) (#3963) by @Vaulty-bot in #3964
  • fix: re-enable KeysignMessageTest.testToJson (#3965) by @Vaulty-bot in #3967
  • refactor: unify DeFi cache loading into a single generic service (#3966) by @Vaulty-bot in #3968
  • fix: MLDSA keygen on existing fast vault — add password verification and OTP by @aminsato in #3955
  • Fix dest address for EVM fee estimation by @rkokhatskyi in #3975
  • fix: handle HTTP 500 from markLocalPartyComplete without failing keygen (#3971) by @Vaulty-bot in #3973
  • Fix NPE in LiFi swap quote when transaction value is null by @rkokhatskyi in #3995
  • feat: check node whitelist on Maya bond form by @aminsato in #3937
  • fix: remove untranslatable strings from Korean locale file by @aminsato in #4001
  • feat: Add Pool (LP) screen with Figma design by @aminsato in #3954
  • fix: improve import file snackbar feedback for success and duplicate states by @aminsato in #4000
  • Add USDS drawable and CoinLogo mapping by @aminsato in #3999
  • Update VerifyExistingVault screen design and routing by @aminsato in #4002
  • chore(deps): bump addressable from 2.8.8 to 2.9.0 by @dependabot[bot] in #4013
  • fix: GG20 keysign swallows CancellationException by @rkokhatskyi in #4023
  • feat: Replace ChooseDeviceCount UI with Rive animation by @aminsato in #4016
  • fix: show loading state while validating biometric fast sign password by @aminsato in #4033
  • fix: make DeFi positions screen scrollable (#3239) by @aminsato in #4029
  • Crash: KeyStoreException 'master key exists but is unusable' in provideEncryptedSharedPrefs (v98) (#4027) by @Vaulty-bot in #4028
  • fix: TON transaction status uses wrong API field by @rkokhatskyi in #4022
  • ANR: Input dispatching timed out — Unresponsive GPU on main thread (#4030) by @Vaulty-bot in #4032
  • fix: show correct Cardano fee (180000 lovelace) instead of 0 by @aminsato in #4011
  • fix: remove unreachable code in Server.kt by @aminsato in #4037
  • fix: remove unreachable code and duplication in fee services by @aminsato in #4036
  • fix: correct Modifier extensions and Timber logging misuse by @aminsato in #4034
  • fix: use shorthand memo prefixes for liquidity operations by @aminsato in #4035
  • fix: transaction history correctness and reliability by @rkokhatskyi in #4024
  • refactor: split SendFormScreen.kt into smaller focused files (#4004) by @Vaulty-bot in #4007
  • feat: Remove Pool (LP) screen with Figma design by @aminsato in #3972
  • feat: add prevent screenshots privacy setting by @aminsato in #4051
  • Fix unsafe cast in Mediator getMessage by @rkokhatskyi in #4065
  • fix: time-out cached THORChain network id read by @rkokhatskyi in #4064
  • fix: prevent splash screen from hanging on slow DB by @rkokhatskyi in #4061
  • refactor: migrate MasterKeys to MasterKey.Builder by @rkokhatskyi in #4063
  • feat: implement Tron DeFi (freeze/unfreeze bandwidth and energy) by @aminsato in #3974
  • Redesign QR scanner screen UI by @aminsato in #4003
  • fix: sur...
Read more

v1.0.98

26 Mar 06:06
v1.0.98
a179364

Choose a tag to compare

What's Changed

Read more

v1.0.97

17 Mar 21:57
v1.0.97
0d65cb2

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.96...v1.0.97

v1.0.96

26 Feb 21:57
v1.0.96
27b1f98

Choose a tag to compare

What's Changed

Full Changelog: v1.0.95...v1.0.96

v1.0.95

03 Feb 09:48
v1.0.95
17b68ff

Choose a tag to compare

What's Changed

Full Changelog: v1.0.93...v1.0.95

v1.0.94

02 Feb 22:33
v1.0.94
17b68ff

Choose a tag to compare

v1.0.94 Pre-release
Pre-release

What's Changed

Full Changelog: v1.0.93...v1.0.94

v1.0.93

15 Jan 21:49
v1.0.93
7c2ce58

Choose a tag to compare

What's Changed

Full Changelog: v1.0.92...v1.0.93