github SatoshiPortal/bullbitcoin-mobile v6.10.0
6.10.0

pre-release4 hours ago

6.10.0 Release Notes

New Features

Wallet & Storage

  • FSS hybrid storage strategy — Flutter secure storage hybrid strategy without migration; better handling of FSS10 migration failure on Android with fallback to legacy storage
  • New onboarding/startup wizard
  • Ledger hardware wallet support
  • Electrum timeout and retry via bdk-dart
  • Increased Electrum stopGap — now allows values up to 5000

Exchange

  • Colombia (COP) deposits — new COP payment link deposit flow
  • SINPE receipt on tx details — reusable card on success + details screens
  • Enhanced exchange settings menu — new functional screens: Recipients, Transactions, Default Bitcoin Wallets, App Settings, Secure File Upload, Statistics
  • Email notifications toggle — enable/disable email notifications in App Settings
  • Secure file upload — KYC document upload screen with status indicators (Upload, In Review, Accepted)
  • Trading statistics dashboard — buy/sell ratio, trade volumes, trade counts, average prices, and biller statistics
  • Preferred currency improvements — exchange home handles empty balance currency; deposit/withdraw/pay screens default to preferred currency
  • Announcement banner improvements — truncated descriptions with ellipsis; tap to open full details in a bottom sheet
  • Scam consent warning — explicit consent required before funding exchange account

Real-time & Notifications

  • Real-time WebSocket notifications — balance, KYC status, and group membership updates arrive instantly instead of polling every 5 seconds
  • Real-time support chat — support messages appear immediately via WebSocket push

UX

  • Pull-to-refresh on wallet home — can be triggered from anywhere on the screen
  • Backup warning overlay — bottom sheet hard escalation warning for backup when wallet has funds and no backup is detected
  • Close button on broadcasting screen — added since the app no longer auto-progresses when autosync is disabled

Privacy & Payjoin

  • Randomized OHTTP relay selection — relay randomly selected per payjoin call via Random.secure() to prevent network fingerprinting
  • Payjoin self-transfer detection — detects self-spent transactions and shows a "Self-transfer" row on confirmation; self-spends bypass payjoin

Internationalization

  • 11 new languages — Arabic, Bulgarian, Bengali, Czech, Greek, Persian, Hindi, Korean, Brazilian Portuguese, Thai, Turkish
  • Detailed German translations — community contributions from @bsn21m
  • Updated translations for new warning and wizard pages

Observability

  • Opt-in error reporting — optional, self-hosted Sentry (disabled by default) - only collects error reports and stack traces, no telemetry, no IP.
  • Detailed Sentry configuration to ensure user privacy
  • No app restart required after providing Sentry consent

Removed / Changed

  • Removed Boltz testnet support
  • Removed Recoverbull sync page
  • Server status page now makes more realistic calls

Bug Fixes

Wallet Core

  • Address index issue — fixed via update to bdk-dart (bdk 2.0)
  • Crash for unknown script transactions
  • Prevent duplicate mnemonic import
  • Mnemonic import freeze/crash
  • Capital letters in mnemonic — no longer accepted (was causing errors)
  • Correct Testnet electrum URLs
  • LWK database initialization — fixed Liquid wallet database init issues
  • Spam create wallet on startup
  • Startup lag — fixed lag during wallet and seed loading on startup
  • Startup error screen — gracefully handles and displays startup failures instead of freezing

Swaps

  • Swap watcher race condition that could cause status update issues
  • MRH swap — uses transaction ID to fully resolve as a swap transaction
  • Swap flow wallet autoselect — prevents self-spends or same-network sends in the transfer flow
  • Amountless invoice handling — throws a more descriptive error for amountless invoices on swaps
  • Background tasks cleanup — removed unnecessary background tasks causing unexpected swap states and LWK db corruption
  • Autoswap notice/warning fixes
  • Testnet fix for recoverbull

Send / Receive

  • LN receive success screen crash fixed
  • Insufficient balance navigation — Continue on send amount page with insufficient funds no longer navigates to confirm page
  • Sell/Pay flow — fixed "Could not fetch fees" bug
  • Route unauthenticated users to login via buy/sell/withdraw

Backup & Security

  • Physical backup verification — fixed backup test status not updating after completing verification
  • Backup-before-PIN safety gate
  • Backup completion flow via FSS Warning — after completing a backup, the warning lands directly on the "Reinstall" title instead of flashing "Backup and Reinstall"
  • Backup wallet warning on home now updates correctly after a backup is complete
  • "Vault created successfully" snackbar no longer covers the "Test Recovery" button

Exchange

  • Exchange statistics — linear progress indicators, integer trade counts, currency conversion, thousands separators
  • CA KYC sell limit — enforced $999 CAD buy/sell limit for Canadian users with limited KYC
  • Argentina recipients
  • Routing to support via "Get Help"
  • Support chat attachments — improved image picker with better permission handling and clearer errors
  • WebSocket reconnect loop — fixed infinite reconnect loop for unauthenticated users

Pricing & DCA

  • Price graph refresh — users can now manually reload Bitcoin prices if automatic loading fails
  • DCA confirmation text color in dark mode
  • DCA UI fixes

Labels & Persistence

  • Labels feature refactor — complete architecture refactor with database migration v11→v12; fixed upsert constraint failures, SQLite concurrency, and multiple related issues
  • Transaction note persistence
  • SQLite migration safety — catch blocks around label migration to prevent crash on failure

Network / Connectivity

  • Custom mempool server — SSL toggle (auto-detected from URL), improved URL parsing/normalization, server status indicators, dark mode fixes, and hidden service support via Orbot
  • Recoverbull Orbot detection — checks if Orbot is actually running on port 9050 instead of relying on user settings, preventing Tor-over-Tor errors

Input & Keyboard

  • iOS price input keyboard — fixed to show correct number pad with decimal settings
  • Keyboard lag — fixed lag when importing mnemonic passphrase or typing in label input fields

Theming

  • Dark theme fixes — QR code backgrounds, PSBT flow, exchange logout sheet, Recoverbull button, custom Electrum server widget, exchange home KYC status card
  • PIN light theme readability
  • Custom fee dark mode
  • Light mode exchange banner
  • Delete logs dark mode fix
  • Swap fees dark/light mode and text color fixes
  • Storage warning screens dark mode background now matches the wizard
  • Fade-to-background gradient no longer covers the title/description above the button
  • Pull to sync loader no longer lands behind the Bull logo

Wizard / Onboarding Polish

  • Removed translation bottom warning sheet in wizard
  • Replaced next button with inline YES / NO continue button in the wizard (reporting program)
  • Transparent chrome so small screens can see there is more to scroll

Don't miss a new bullbitcoin-mobile release

NewReleases is sending notifications on new releases.