Skip to content

Commit 32f3e8f

Browse files
committed
bump: version and update changelog
1 parent f5d851d commit 32f3e8f

3 files changed

Lines changed: 143 additions & 93 deletions

File tree

CHANGELOG.md

Lines changed: 130 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ All notable changes to Bull Bitcoin Mobile will be documented in this file.
99

1010
---
1111

12-
## [6.10.1] - 2026-05-12
12+
## [6.10.6] - 2026-05-18
1313

1414
### Bug Fixes
1515

@@ -23,98 +23,148 @@ All notable changes to Bull Bitcoin Mobile will be documented in this file.
2323

2424
---
2525

26-
## [6.8.0] - 2026-03-17
26+
## [6.10.1] - 2026-05-17
2727

2828
### New Features
2929

30+
#### Wallet & Storage
31+
- **FSS hybrid storage strategy** — Flutter secure storage hybrid strategy without migration; better handling of FSS10 migration failure on Android with fallback to legacy storage. Switched to a fork of `flutter_secure_storage` (10.0.0) that improves Android migration reliability by creating backups before migrating secure storage, and improves iOS background task access.
32+
- **New onboarding/startup wizard**
33+
- **Ledger hardware wallet support** — now accessible without requiring superuser privileges
34+
- **Electrum timeout and retry** via bdk-dart
35+
- **Increased Electrum stopGap** — now allows values up to 5000
36+
3037
#### Exchange
31-
- **Real-time WebSocket notifications**: Exchange updates (balance, KYC status, group membership) now arrive instantly via WebSocket instead of polling every 5 seconds, providing faster feedback and reducing battery drain
32-
- **Real-time support chat**: Support messages now appear immediately without manual refresh via WebSocket push notifications
33-
- **Enhanced exchange settings menu**: Added new functional screens including Recipients, Transactions, Default Bitcoin Wallets, App Settings, Secure File Upload, and Statistics
34-
- **Bitcoin wallets management**: New screen to manage default Bitcoin, Lightning, and Liquid withdrawal addresses with edit/save/delete functionality
35-
- **Email notifications toggle**: Added option in App Settings to enable/disable email notifications
36-
- **Secure file upload**: New KYC document upload screen with status indicators (Upload, In Review, Accepted)
37-
- **Trading statistics dashboard**: New Statistics screen showing buy/sell ratio, trade volumes, trade counts, average prices, and biller statistics
38-
- **Transaction filters**: Added missing order type filters (Withdraw, Pay, Funding, Reward, Refund, Balance Adjustment) to exchange transactions page
39-
- **Exchange announcement banner improvements**: Announcements now show truncated descriptions with ellipsis, and tapping opens a bottom sheet with full details
40-
- **Preferred currency improvements**: Exchange home now properly handles empty balance currency, and deposit/withdraw/pay screens set initial dropdown values to preferred currency jurisdiction
41-
42-
#### Security & Privacy
43-
- **Backup warning overlay**: Users are now shown a persistent overlay warning when their wallet backup is incomplete, preventing them from dismissing it by navigating away without addressing it.
44-
- **Scam consent warning for exchange funding**: Users must explicitly consent to a scam warning before funding their exchange account, protecting against social engineering attacks
45-
- **Randomized OHTTP relay selection**: OHTTP relay is now randomly selected on each payjoin call using `Random.secure()` to prevent network-layer fingerprinting
46-
47-
#### Payjoin
48-
- **Self-transfer detection**: Payjoin send now detects self-spent transactions and displays a "Self-transfer" row on the confirmation screen. Self-spends bypass payjoin.
49-
- **Close button on broadcasting screen**: Added a Close button on the broadcasting/loading screen since the app no longer auto-progresses when autosync is disabled
50-
51-
#### Localization
52-
- **11 new languages exposed in the language selector**: 🇸🇦 Arabic, 🇧🇬 Bulgarian, 🇧🇩 Bengali, 🇨🇿 Czech, 🇬🇷 Greek, 🇮🇷 Persian, 🇮🇳 Hindi, 🇰🇷 Korean, 🇧🇷 Brazilian Portuguese, 🇹🇭 Thai, 🇹🇷 Turkish
53-
54-
#### Error Reporting
55-
- **Opt-in error reporting program**: Added optional, self-hosted error reporting (disabled by default) with explicit user consent toggle in App Settings. Only collects error reports and stack traces, no user behavior tracking or telemetry
56-
57-
#### Hardware Wallets
58-
- **Ledger available without superuser**: Ledger hardware wallet integration is now accessible without requiring superuser privileges
38+
- **Colombia (COP) deposits** — new COP payment link deposit flow
39+
- **SINPE receipt on tx details** — reusable card on success + details screens
40+
- **Enhanced exchange settings menu** — new functional screens: Recipients, Transactions, Default Bitcoin Wallets, App Settings, Secure File Upload, Statistics
41+
- **Transaction filters** — added missing order type filters (Withdraw, Pay, Funding, Reward, Refund, Balance Adjustment) to exchange transactions page
42+
- **Email notifications toggle** — enable/disable email notifications in App Settings
43+
- **Secure file upload** — KYC document upload screen with status indicators (Upload, In Review, Accepted)
44+
- **Trading statistics dashboard** — buy/sell ratio, trade volumes, trade counts, average prices, and biller statistics
45+
- **Preferred currency improvements** — exchange home handles empty balance currency; deposit/withdraw/pay screens default to preferred currency
46+
- **Announcement banner improvements** — truncated descriptions with ellipsis; tap to open full details in a bottom sheet
47+
- **Scam consent warning** — explicit consent required before funding exchange account
48+
49+
#### Real-time & Notifications
50+
- **Real-time WebSocket notifications** — balance, KYC status, and group membership updates arrive instantly instead of polling every 5 seconds
51+
- **Real-time support chat** — support messages appear immediately via WebSocket push
52+
53+
#### UX
54+
- **Pull-to-refresh on wallet home** — can be triggered from anywhere on the screen
55+
- **Backup warning overlay** — bottom sheet hard escalation warning for backup when wallet has funds and no backup is detected
56+
- **Close button on broadcasting screen** — added since the app no longer auto-progresses when autosync is disabled
57+
58+
#### Privacy & Payjoin
59+
- **Randomized OHTTP relay selection** — relay randomly selected per payjoin call via `Random.secure()` to prevent network fingerprinting
60+
- **Payjoin self-transfer detection** — detects self-spent transactions and shows a "Self-transfer" row on confirmation; self-spends bypass payjoin
61+
62+
#### Internationalization
63+
- **11 new languages** — Arabic, Bulgarian, Bengali, Czech, Greek, Persian, Hindi, Korean, Brazilian Portuguese, Thai, Turkish
64+
- **Detailed German translations** — community contributions from @bsn21m
65+
- **Updated translations** for new warning and wizard pages
66+
67+
#### Observability
68+
- **Opt-in error reporting** — optional, self-hosted Sentry (disabled by default) — only collects error reports and stack traces, no telemetry, no IP.
69+
- **Detailed Sentry configuration** to ensure user privacy
70+
- **No app restart required** after providing Sentry consent
71+
72+
#### Removed / Changed
73+
- Removed Boltz testnet support
74+
- Removed Recoverbull sync page
75+
- Server status page now makes more realistic calls
5976

6077
### Bug Fixes
6178

62-
#### Swap & Lightning
63-
- **Swap status recovery**: Added automatic outspend checks for swaps stuck with 'missing-or-unspent' errors during claim/refund broadcast to correctly update swap status
64-
- **Swap watcher race condition**: Fixed race condition in swap watcher that could cause status update issues
65-
- **Price graph refresh**: Users can now manually reload Bitcoin prices if automatic loading fails
66-
- **LN receive success screen crash**: Fixed a UI crash that occurred when reaching the success screen after receiving via Lightning through the wallet receive pages
67-
- **Insufficient balance navigation**: Improved error on insufficient balance and swap limits. Fixed an issue where clicking Continue on the send amount page with insufficient funds would show an error but still navigate to the confirm page
68-
- **Handle amountless invoice**: Better handling of amountless invoices on swaps. Throws a more descriptive error.
79+
#### Wallet Core
80+
- **Address index issue** — fixed via update to bdk-dart (bdk 2.0)
81+
- **Crash for unknown script transactions**
82+
- **Prevent duplicate mnemonic import**
83+
- **Mnemonic import freeze/crash**
84+
- **Capital letters in mnemonic** — no longer accepted (was causing errors)
85+
- **Correct Testnet electrum URLs**
86+
- **LWK database initialization** — fixed Liquid wallet database init issues
87+
- **Spam create wallet on startup**
88+
- **Startup lag** — fixed lag during wallet and seed loading on startup
89+
- **Startup error screen** — gracefully handles and displays startup failures instead of freezing
90+
- **Always ensure both instant and secure wallet are created** — should be atomic
91+
- **Seed fetch retry logic** — added retry mechanism with exponential backoff (up to 5 attempts) when fetching seeds from secure storage to prevent false "Seed Not Found" errors during app startup
92+
93+
#### Swaps
94+
- **Swap status recovery** — added automatic outspend checks for swaps stuck with 'missing-or-unspent' errors during claim/refund broadcast to correctly update swap status
95+
- **Swap watcher race condition** that could cause status update issues
96+
- **MRH swap** — uses transaction ID to fully resolve as a swap transaction
97+
- **Swap flow wallet autoselect** — prevents self-spends or same-network sends in the transfer flow
98+
- **Amountless invoice handling** — throws a more descriptive error for amountless invoices on swaps
99+
- **Background tasks cleanup** — removed unnecessary background tasks causing unexpected swap states and LWK db corruption
100+
- **Autoswap update fix** — fixed issues from previous autoswap implementation
101+
- **Autoswap notice/warning fixes**
102+
- **Testnet fix for recoverbull**
103+
104+
#### Send / Receive
105+
- **LN receive success screen crash** fixed
106+
- **Insufficient balance navigation** — Continue on send amount page with insufficient funds no longer navigates to confirm page
107+
- **Sell/Pay flow** — fixed "Could not fetch fees" bug
108+
- **Route unauthenticated users to login** via buy/sell/withdraw
109+
110+
#### Backup & Security
111+
- **Physical backup verification** — fixed backup test status not updating after completing verification
112+
- **Backup-before-PIN safety gate**
113+
- **Backup completion flow via FSS Warning** — after completing a backup, the warning lands directly on the "Reinstall" title instead of flashing "Backup and Reinstall"
114+
- **Backup wallet warning on home** now updates correctly after a backup is complete
115+
- **"Vault created successfully" snackbar** no longer covers the "Test Recovery" button
69116

70117
#### Exchange
71-
- **WebSocket reconnect loop**: Fixed infinite reconnect loop where unauthenticated users would see repeated WebSocket connection errors every 5 seconds
72-
- **Exchange statistics improvements**: Replaced circular progress indicators with linear ones, fixed trade count display to show plain integers, added currency conversion for statistics, and improved number formatting with thousands separators
73-
- **DCA confirmation text color**: Fixed unreadable text color on DCA confirmation screen by using proper theme color
74-
- **Support chat attachments**: Improved image picker flow with better permission handling and clearer error messages
75-
- **CA KYC Limited sell limit**: Enforced the $999 CAD buy/sell limit for Canadian users with limited KYC verification, with proper form validation
76-
77-
#### Wallet & Transactions
78-
- **Labels feature refactor**: Complete refactor of labels architecture with database migration (v11 to v12), improved domain modeling, and better separation of concerns. Fixed multiple label-related issues
79-
- **Physical backup verification**: Fixed issue where physical backup test status was not updating after completing verification
80-
- **Custom fee theme**: Fixed theme color issues in custom fee selection
81-
- **Keyboard input improvements**: Fixed price input keyboard to show appropriate number pad on iOS with correct decimal settings
82-
- **Keyboard lag fix**: Fixed keyboard lag when importing a mnemonic passphrase or typing in label input fields
83-
84-
#### Mempool & Network
85-
- **Custom mempool server fixes**: Added SSL toggle (auto-detected from URL protocol), improved URL parsing and normalization, added server status indicators, fixed UI issues in dark mode, and added support for .onion links via Orbot
86-
- **Recoverbull Orbot detection**: Fixed Recoverbull connection by checking if Orbot is actually running on port 9050 instead of just checking user settings, preventing Tor-over-Tor connection errors
87-
88-
#### UI & Theme
89-
- **Multiple dark theme fixes**: Fixed various dark theme issues including QR code backgrounds (now hardcoded white for hardware wallet compatibility), PSBT flow instructions visibility, exchange logout bottom sheet theme, and Recoverbull button theme; also fixed custom Electrum server delete widget, "how to decide" bottom sheet, and exchange home KYC card
90-
- **DCA UI fixes**: Fixed theme color issues in DCA screens
91-
- **Light mode exchange banner**: Fixed banner color rendering in light mode
92-
- **Exchange login screen**: Minor UI enhancements to the exchange login screen and bottom navigation bar
93-
94-
#### Performance & Stability
95-
- **Startup lag fix**: Fixed lag on startup during wallet and seed loading.
96-
- **LWK database fixes**: Fixed Liquid wallet database initialization issues
97-
- **SQLite migration safety**: Added catch blocks around SQLite migration for labels to prevent crash on migration failure
98-
- **Startup error screen**: Added an error screen in main to gracefully handle and display startup failures instead of freezing
99-
- **Background tasks**: Removed unnecessary background tasks (only log pruning remains) which were leading to unexpected behaviour and bad states on swaps in particular.
100-
101-
#### Reliability & Stability
102-
- **Secure storage updates**: Updated to Flutter Secure Storage 10.0.0 with improved iOS background task access and better Android compatibility. Should fix app startup issues
103-
- **Seed fetch retry logic**: Added retry mechanism with exponential backoff (up to 5 attempts) when fetching seeds from secure storage to prevent false "Seed Not Found" errors during app startup
104-
- **Autoswap update fix**: Fixed issues from previous autoswap implementation
105-
106-
#### Error Reporting
107-
- **iOS Sentry fix**: Fixed missing Sentry CocoaPod dependency that prevented error reports from being captured on iOS
118+
- **Exchange statistics** — linear progress indicators, integer trade counts, currency conversion, thousands separators
119+
- **CA KYC sell limit** — enforced $999 CAD buy/sell limit for Canadian users with limited KYC
120+
- **Argentina recipients**
121+
- **Routing to support via "Get Help"**
122+
- **Support chat attachments** — improved image picker with better permission handling and clearer errors
123+
- **WebSocket reconnect loop** — fixed infinite reconnect loop for unauthenticated users
124+
- **Exchange login screen** — minor UI enhancements to exchange login screen and bottom navigation bar
125+
126+
#### Pricing & DCA
127+
- **Price graph refresh** — users can now manually reload Bitcoin prices if automatic loading fails
128+
- **DCA confirmation text color** in dark mode
129+
- **DCA UI fixes**
130+
131+
#### Labels & Persistence
132+
- **Labels feature refactor** — complete architecture refactor with database migration v11→v12; fixed upsert constraint failures, SQLite concurrency, and multiple related issues
133+
- **Transaction note persistence**
134+
- **SQLite migration safety** — catch blocks around label migration to prevent crash on failure
135+
136+
#### Network / Connectivity
137+
- **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
138+
- **Recoverbull Orbot detection** — checks if Orbot is actually running on port 9050 instead of relying on user settings, preventing Tor-over-Tor errors
139+
140+
#### Input & Keyboard
141+
- **iOS price input keyboard** — fixed to show correct number pad with decimal settings
142+
- **Keyboard lag** — fixed lag when importing mnemonic passphrase or typing in label input fields
143+
144+
#### Theming
145+
- **Dark theme fixes** — QR code backgrounds, PSBT flow, exchange logout sheet, Recoverbull button, custom Electrum server widget, exchange home KYC status card
146+
- **PIN light theme readability**
147+
- **Custom fee dark mode**
148+
- **Light mode exchange banner**
149+
- **Delete logs** dark mode fix
150+
- **Swap fees** dark/light mode and text color fixes
151+
- **Storage warning screens** dark mode background now matches the wizard
152+
- **Fade-to-background gradient** no longer covers the title/description above the button
153+
- **Pull to sync** loader no longer lands behind the Bull logo
154+
155+
#### Wizard / Onboarding Polish
156+
- Removed translation bottom warning sheet in wizard
157+
- Replaced next button with inline YES / NO continue button in the wizard (reporting program)
158+
- Transparent chrome so small screens can see there is more to scroll
159+
160+
#### iOS
161+
- **iOS Sentry fix** — fixed missing Sentry CocoaPod dependency that prevented error reports from being captured on iOS
108162

109163
### Dependencies
110-
- **Flutter Secure Storage**: Switched to a fork of `flutter_secure_storage` that improves Android migration reliability by creating backups before migrating secure storage, preventing data loss during upgrades
111-
- **Updated dependencies**: Updated boltz-dart and satoshifier-dart to latest versions
112-
113-
### Breaking Changes
114-
- **Labels database migration**: The labels feature has undergone a database schema migration from v11 to v12. Existing labels will be preserved during the migration
164+
- **Updated dependencies** — boltz-dart and satoshifier-dart updated to latest versions
115165

116166
---
117167

118168
## Previous Releases
119169

120-
For release history prior to v6.8.0, please refer to the [GitHub Releases](https://github.com/SatoshiPortal/bullbitcoin-mobile/releases) page.
170+
For release history prior to v6.10.1, please refer to the [GitHub Releases](https://github.com/SatoshiPortal/bullbitcoin-mobile/releases) page.

0 commit comments

Comments
 (0)