github SatoshiPortal/bullbitcoin-mobile v6.9.1
6.9.1

pre-release6 hours ago

⏺ New Features

  • Better handling of FSS10 Migration failure on android via FSS hybrid storage — apps that fail to migrate will fallback to legacy storage with a warning on home to backup and reinstall the app
  • Colombia (COP) deposits — new COP payment link deposit flow
  • SINPE receipt on tx details — reusable card on success + details screens
  • Pull-to-refresh on wallet home can be triggered from anywhere on the screen
  • Reproducible builds + dev containers
  • 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
  • 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
  • Announcement banner improvements — truncated descriptions with ellipsis; tap to open full details in a bottom sheet
  • Preferred currency improvements — exchange home handles empty balance currency; deposit/withdraw/pay screens default to preferred currency
  • Backup warning overlay — bottom sheet hard warning for backup
  • Scam consent warning — explicit consent required before funding exchange account
  • 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
  • Close button on broadcasting screen — added since the app no longer auto-progresses when autosync is disabled
  • 11 new languages — Arabic, Bulgarian, Bengali, Czech, Greek, Persian, Hindi, Korean, Brazilian Portuguese, Thai, Turkish
  • Detailed German translations — community contributions from @bsn21m
  • Opt-in error reporting — optional, self-hosted (disabled by default); only collects error reports and stack traces, no telemetry
  • Ledger hardware wallet support

Bug Fixes

  • Fix address index issue via update to bdk-dart (bdk 2.0)
  • Swap watcher race condition — fixed 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 swap/transfer flow
  • Price graph refresh — users can now manually reload Bitcoin prices if automatic loading fails
  • LN receive success screen crash — fixed UI crash on Lightning receive success screen
  • Insufficient balance navigation — Continue on send amount page with insufficient funds no longer navigates to confirm page
  • Amountless invoice handling — throws a more descriptive error for amountless invoices on swaps
  • WebSocket reconnect loop — fixed infinite reconnect loop for unauthenticated users
  • Exchange statistics — linear progress indicators, integer trade counts, currency conversion, thousands separators
  • Correct DCA confirmation text color in dark mode
  • Support chat attachments — improved image picker with better permission handling and clearer errors
  • CA KYC sell limit — enforced $999 CAD buy/sell limit for Canadian users with limited KYC
  • Argentina recipients fix
  • Labels feature refactor — complete architecture refactor with database migration v11→v12; fixed upsert constraint failures, SQLite
    concurrency, and multiple related issues fixed.
  • Transaction note persistence
  • Physical backup verification — fixed backup test status not updating after completing verification
  • Backup-before-PIN safety gate
  • Keyboard input — fixed price input keyboard on iOS to show correct number pad with decimal settings
  • Keyboard lag — fixed lag when importing mnemonic passphrase or typing in label input fields
  • Prevent using capital letters for mnemonic that was leading to errors
  • Correct Testnet electrum URLs
  • 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
  • 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 fix
  • DCA UI fixes
  • Light mode exchange banner fix
  • Startup lag fix — fixed lag during wallet and seed loading on startup
  • Startup error screen — gracefully handles and displays startup failures instead of freezing
  • LWK database fixes — fixed Liquid wallet database initialization issues
  • SQLite migration safety — catch blocks around label migration to prevent crash on failure
  • Background tasks cleanup — removed unnecessary background tasks causing unexpected swap states and lwk db corruption
  • Autoswap notice/warning fixes

Acknowledgements

Special thanks to @iosifpeterfi for his contributions to flutter_secure_storage to implement a backup mechanism prior to migration on android and for general consultation on how to handle this issue regarding seed storage. With this backup mechanism we dramatically decrease the risk of data loss.

Huge effort by the rest of the team as well in handling this highly sensitive issue with seed storage and coming up with a workable solution.

Don't miss a new bullbitcoin-mobile release

NewReleases is sending notifications on new releases.