github SatoshiPortal/bullbitcoin-mobile v6.14.0
6.14.0

pre-release2 hours ago

Bull Bitcoin Mobile 6.14.0 — Release Notes

New Features

  • Rebuilt Tor integration: Tor now runs as an isolated infrastructure package. Key-server connections for encrypted vault backups use isolated Tor sessions, custom onion Electrum servers route through it, transport preferences persist across restarts, and vault screens explain Tor connection progress. External SOCKS proxy routing was hardened. (#2579, #2580, #2582, #2583, #2584, #2585, #2586, #2587, #2719)
  • AutoBuy: automatic recurring buys can be activated from the Exchange home screen, paying out to your default Bitcoin, Lightning, or Liquid wallet. (#2855, #2876)
  • Limit orders: Exchange orders can be placed at a target price and tracked or cancelled from the order list. (#2857)
  • In-app keyboard for recovery phrases: seed entry replaces the OS keyboard with an in-app keyboard, keeping recovery words away from third-party keyboards. (#2564, #2699, #2729)
  • Screen Privacy toggle: screen-capture and app-switcher privacy protections can be controlled from Settings. (#2693)
  • Settings search: Settings are searchable. (#2698)
  • Experimental Silent Payments: added a Silent Payments wallet, receive and send flows, wallet scanning, and controls in Settings, gated behind Superuser + Developer mode. (#2408, #2879)

Security And Privacy

  • Enabled asynchronous Memory Tagging Extension (MTE) on supported Android devices to detect certain native heap memory errors. A detected violation can terminate the app; devices without MTE retain their existing behavior. (#2894)
  • Exchange account notifications and app state are no longer written to the on-device log, which can be exported for support. (#2954)
  • Kept Interac security answers out of recipient rejection logs. (#2812)
  • Kept the recovery phrase out of presentation state during the backup test. (#2562)
  • Added server domain validation, disabled for custom servers by design. (#2427)

Reliability And UX

  • The app currency is mirrored to the exchange account when signed in and the currency is offered there. (#2954)
  • Live exchange updates now recover on their own after silent connection drops: the connection is monitored, reconnected when the app returns to the foreground, and the account state is refreshed. (#2954)
  • Exchange settings and default wallets now show an error when saving fails instead of a success message. (#2954)
  • Fixed fiat-price loading after starting offline, retrying after connectivity returns and when refreshing wallet screens. Wallet sync errors and server warnings are now separately accessible in a swipeable carousel. (#2933)
  • Completed the release-wide error-message sanitization with translated wallet failures across wallet creation, loading, deletion and synchronization, and updated consumers in backup/recovery, BIP85, swaps and background tasks. (#2836)
  • Added translated, sanitized error messages for transaction history and details, notes and labels, CSV export, and Payjoin original-transaction broadcast. (#2828)
  • Added translated, sanitized failure messages to startup, Receive, backup verification, recipients, labels, Exchange funding, Exchange settings, Exchange, and Settings. (#2813, #2806, #2807, #2812, #2817, #2820, #2822, #2825, #2827)
  • Replaced raw developer errors with clear, translated messages across the status check, onboarding, recurring buy, hardware-wallet signing (PSBT and Ledger), Exchange support chat, Send, Sell, Buy, Pay, and Withdraw flows. (#2501, #2507, #2537, #2514, #2420, #2425, #2781, #2784, #2792, #2795, #2799)
  • Withdrawal limit errors name the exact bound in the app locale, and a failed withdrawal summary can be retried in place. (#2799)
  • Moved recovery-phrase derivation off the UI isolate and reduced onboarding completion delays. (#2815, #2808)
  • Reduced idle rendering work and added mobile performance benchmarks. (#2694)
  • Transaction details gained a copy button for swap order numbers, label edits now show immediately after leaving details, and the order list falls back to the Payjoin txid when needed. (#2702, #2706, #2696)
  • The Buy success screen can open the order details. (#2695)
  • Restyled wallet deletion prompts as bottom sheets, kept numeric input fields to a single line, and aligned toast and bottom-sheet corners with the design system. (#2691, #2689, #2907, #2903)
  • Improved log diagnostics and the in-app log viewer. (#2753)
  • Reviewed English source strings, standardized ellipses, restored French Settings search strings, and updated German translations. (#2854, #2853, #2942, #2921, #2727, #2810)

Bug Fixes

  • Fixed back navigation through encrypted-vault flows: returning from the key flow reaches Settings, and system back follows nested flow pages. (#2937)
  • Fixed label-file import on iOS. (#2945)
  • Fixed a long press on an input field's trailing icon opening the text magnifier. (#2956)
  • Fixed the physical backup verification screen getting stuck on a spinner while the selected wallet loads or when no wallet is available. (#2909)
  • Made the Exchange scam-warning sheet scrollable on small screens and with longer translations, keeping the consent checkbox and continue button accessible above the bottom safe area. (#2915)
  • Verified encrypted secure-storage writes before selecting the fresh-install storage backend, preserving the fallback when Android cipher initialization fails. (fc135cfc3)
  • Prevented duplicate Exchange funding link launches on repeated taps. (#2820)
  • Improved SeedSigner compatibility: older exports without network info are classified correctly, combined PSBTs are finalized before broadcast and incomplete ones rejected, watch-only imports report network mismatches and duplicates with clear messages, and the import instructions were updated. (#2872)
  • Fixed Interac e-transfer withdrawals overriding the security question and answer. (#2829)
  • Fixed coin control so regular sends, MAX/drain, and transfers spend only the selected coins, reject stale or unavailable selections before broadcast, and show actionable frozen-balance and insufficient-selection errors. (#2766)
  • Send reports insufficient funds when the fee does not fit, and rejects coins that became unavailable before broadcast. (#2741, #2782)
  • Fixed manual coin selection and the RBF toggle, and corrected RBF fee handling with better Electrum connectivity checks in Settings. (#2473, #2736)
  • Fixed Lightning address validation in Send. (#2125)
  • QR imports accept fountain parts with a sequence number above the sequence count. (#2700)
  • The transfer screen pops back instead of closing the app. (#2730)
  • Recipients tolerate missing SINPE owner names. (#2541)
  • Kept keyboard focus on the recovery phrase entry on desktop. (#2750)

Under The Hood

  • Pinned the merged SatoshiPortal SDK, upgrading BDK Dart from 1.0.0-rc.3 to 1.0.0 and using the SDK's locked BWK revision. Adapted Boltz restore result envelopes for Electrum disconnect/reconnect, chain reorganizations and invalid header checkpoints. The iOS Tor plugin now requires IPtProxy 5.6.0. (#2948)
  • Extracted public feature boundaries for recipients and default wallets, moved the bitcoin price into its own core module, and extracted the announcement carousel into the shared UI kit with catalogue preview and regression tests. (#2831, #2835, #2846, #2933)
  • Added contribution gates and PR lifecycle automation, CI fixes for readiness checks and formatting, versioned iOS store artifacts, and translation-tooling improvements. (#2740, #2742, #2744, #2798, #2728, #2442)

Don't miss a new bullbitcoin-mobile release

NewReleases is sending notifications on new releases.