Skip to content

Commit 9093a62

Browse files
authored
Merge pull request SatoshiPortal#2258 from SatoshiPortal/hotfix/6.11.1
fix: 6.11.1 hotfixes
2 parents a75fb38 + 3f62d39 commit 9093a62

41 files changed

Lines changed: 850 additions & 117 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 49 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -4,65 +4,62 @@ All notable changes to Bull Bitcoin Mobile will be documented in this file.
44

55
---
66

7-
## [6.11.0] - 2026-06-06
7+
## [6.11.0] - 2026-06-08
88

99
### New Features
1010

11-
#### Your Transactions
12-
- **Export your transaction history to CSV**: You can now download your transaction history as a CSV file, filtered by a date range — handy for your own records and accounting. The export covers your on-chain, Lightning, swap, and payjoin activity.
13-
- **Clearer transaction and receive details**: The confirmation screen before you broadcast a transaction now shows the full amount and fees, even for transactions signed on a separate device. Addresses and transaction IDs can be tapped to expand and long-pressed to copy, with quick links to a block explorer. When you receive on-chain, the wallet now correctly uses the exact amount you asked for.
14-
15-
#### Payments & Exchange
16-
- **Add a note to a payment**: When you send a payment, you can now add a description so you remember what it was for.
17-
- **More access with light verification**: If you have light or limited identity verification, you can now use the exchange in Canada, Costa Rica, and Argentina. The SEPA bank transfer limit has also been raised from €20,000 to €30,000.
18-
19-
#### Swaps
20-
- **Swap expiry reminder**: When you start a swap, the app now reminds you to finish it within 24 hours so you don't miss the window and trigger an automatic refund.
21-
- **Swaps finish on their own**: The unreliable "retry swap claim" button is gone — the app now retries claiming your swap automatically in the background.
22-
23-
#### Wallet & Display
24-
- **Bitcoin price loading placeholder**: While the home screen is still fetching the Bitcoin price, you now see a loading placeholder instead of a misleading "0".
25-
- **Notifications stay out of your way**: In-app notifications now appear at the top of the screen and can be swiped away in any direction, so they no longer cover the buttons you're trying to tap.
26-
- **Easier number entry on iPhone**: Number keypads now have a "Done" button across the send, receive, buy, sell, swap, fee, and settings screens, so you can dismiss the keyboard easily.
27-
28-
#### Privacy
29-
- **Your custom Electrum server is always respected**: If you've set your own Electrum server, the wallet now always uses it and clearly tells you when it can't connect, instead of quietly falling back to the default servers behind your back.
30-
31-
#### Platform
32-
- **Smaller app download**: The app is noticeably smaller to download and update — roughly 270 MB instead of 340 MB.
33-
- **Android beta tester channel**: Android users can now install a separate "Bull Beta" app, with its own icon and a BETA banner, to try upcoming features without affecting their main wallet.
34-
- **Linux desktop (experimental)**: BULL can now run on Linux desktop computers, including pull-to-refresh with a mouse or trackpad. This is an early preview aimed at testers.
35-
36-
#### Languages
37-
- **New and improved translations**: Added Assamese and improved Hindi, Bengali, and Hinglish. Updated German throughout. Improved Simplified Chinese across the wallet, payment, onboarding, backup, deletion, and import screens. Filled in missing translations so more of the app shows in your chosen language.
38-
- **Suggest translation fixes on GitHub**: If you spot a wording issue, the app now points you to GitHub to propose a fix.
11+
- **Export transaction history to CSV**: Download your full transaction history (on-chain, Liquid, Lightning, swaps, payjoin) as a CSV file filtered by date range. ([#1363](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1363))
12+
- **Payment descriptions**: Add a note to any payment so you remember what it was for. ([#1453](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1453))
13+
- **Clearer broadcast screen**: Before broadcasting, the confirmation screen now shows receiving address, change address, amounts, and fees — even for hardware wallet transactions. Addresses and txids are expandable and copyable with links to a block explorer. ([#1247](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1247))
14+
- **Automatic swap claim retries**: The "Retry Swap Claim" button is gone. The app now retries automatically in the background. ([#2134](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2134), [#1912](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1912))
15+
- **Swap expiry reminder**: A warning now reminds you to complete swaps within 24 hours to avoid automatic refunds. ([#2119](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2119))
16+
- **Smarter wallet sync**: The wallet syncs automatically when you open the app or return to the home screen, with a visible loading indicator instead of misleading zeros. ([#2132](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2132), [#2222](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2222), [#1409](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1409))
17+
- **Electrum server reliability**: Your custom Electrum server is always used when configured. Health checks now test actual operations, not just ping. If your primary server fails, the app falls back to alternatives and tells you clearly. ([#1992](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1992), [#2000](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2000))
18+
- **Done button on iOS keyboards**: Number keypads now include a Done button across send, receive, buy, sell, swap, fee, and settings screens. ([#2188](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2188))
19+
- **Top-aligned dismissible notifications**: In-app notifications now appear at the top and can be swiped away in any direction.
20+
- **Linux desktop (experimental)**: Bull Bitcoin Wallet can now run on Linux. Early preview for testers. ([#2171](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2171))
21+
- **Android beta channel**: Install a separate "Bull Beta" app with distinct branding to test upcoming features without affecting your main wallet.
22+
- **Reproducible builds progress**: Continued work toward fully reproducible builds for WalletScrutiny verification. ([#1390](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1390))
23+
24+
### Exchange & Payouts
25+
26+
- **Light/limited KYC users unblocked**: Users with light or limited verification can now use the exchange in Canada, Costa Rica, Argentina, and Europe. Previously only CAD accounts worked with limited KYC. ([#2195](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2195))
27+
- **Funding methods fixed**: Resolved broken funding flows for Argentina bank transfer ([#2181](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2181)), Canada online bill payment ([#2182](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2182)), Costa Rica SINPE MOVIL ([#2184](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2184)), and corrected European SEPA subtitles and limits ([#2183](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2183)).
28+
- **SINPE validation improved**: Phone numbers are validated immediately with clearer errors instead of waiting until you tap Next. ([#2104](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2104))
29+
- **Recipient ID labels clarified**: ID fields in the payout flow now specify they refer to the recipient, not the sender. ([#2052](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2052))
30+
- **Sell flow null error fixed**: Resolved a crash in the sell flow caused by a null reference. ([#2113](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2113))
31+
- **Order API reliability**: Added timeout and null safety to order API calls to prevent hangs. ([#2099](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2099))
3932

4033
### Bug Fixes
4134

4235
#### Sending & Receiving
43-
- **Your chosen wallet stays chosen**: Selecting your cold wallet to send from no longer silently switches back to your hot wallet once you enter an amount.
44-
- **Send your full balance through a swap**: Fixed an error that prevented sending your entire balance when converting Liquid Bitcoin to on-chain Bitcoin.
45-
- **Expired Lightning invoices are caught early**: If a Lightning invoice has already expired, the app now tells you right away instead of letting you try to pay it.
46-
- **Clear messages when a send fails**: If broadcasting a transaction fails (for example, it was already confirmed, the fee is too low, or the network is unreachable), you now see a clear error instead of the button silently resetting. The action buttons also stay pinned at the bottom of the screen.
47-
- **Smoother transfers**: You can now choose to receive an exact amount when transferring with Liquid, you get clearer messages when your balance is too low, and the Continue button stays disabled until everything is filled in correctly.
48-
- **QR codes scan reliably**: QR codes are now readable by a Jade hardware wallet even in dark mode, and Lightning invoice QR codes are shown in uppercase so scanners read them more reliably.
49-
- **No accidental duplicate wallets**: If you try to import a recovery phrase you've already added, the app now warns you instead of creating a second copy.
50-
51-
#### Exchange & Payouts
52-
- **Better payouts**: SINPE phone numbers are now checked instantly with clearer error messages, recipient ID fields have clearer labels, and referral payouts now show their correct amount instead of 0 sats.
53-
- **More reliable buying, selling, and withdrawals**: Fixed cases where these could show an error or hang, and added a timeout so they fail gracefully instead of getting stuck.
54-
- **Cleaner transaction filters**: Removed the "balance adjustment" option that wasn't useful to filter by.
55-
56-
#### Wallet Sync & Status
57-
- **More reliable refreshing**: Your balances and transactions now refresh more dependably — you see a spinner when the app opens and after actions like sending or swapping, the wallet updates automatically when you return to the home screen, and it no longer wastes data syncing in the background.
58-
- **Autoswap shows as active**: When you turn on autoswap, the home screen now correctly shows that it's active.
59-
- **Consistent payjoin status**: A payjoin transaction's status in the list now matches the status shown on its details screen.
60-
- **Steadier startup**: Fixed startup issues that could cause settings or connections to load incorrectly, and an initialization error that could make some actions fail.
61-
62-
#### Appearance & Layout
63-
- **Send and Receive buttons sit correctly** at the bottom of the home and wallet screens.
64-
- **Dark mode fix**: The "View details" button text is no longer invisible in dark mode while a payment is in progress.
65-
- **Cleaner startup screen**: Removed an error caused by a button tooltip and fixed grammar in the startup error message.
36+
- Cold wallet selection no longer silently reverts to the hot wallet when entering an amount. ([#1918](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1918))
37+
- Fixed "Build failed (amount mismatch)" error when sending max balance via on-chain swap (L-BTC to BTC). ([#1735](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1735))
38+
- On-chain receive now correctly uses the exact amount you requested. ([#1832](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1832))
39+
- Expired Lightning invoices are detected and rejected before you attempt to pay.
40+
- Failed broadcasts now show clear error messages with pinned action buttons.
41+
- Importing an already-existing mnemonic now warns you instead of silently replacing the default wallet. ([#1783](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1783))
42+
- Removed "adjustment" from transaction filters. ([#1960](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1960))
43+
44+
#### Swaps
45+
- Changing the source wallet in a swap now correctly switches the destination wallet. ([#1939](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1939))
46+
- Autoswap active indicator now appears correctly on the home screen. ([#2196](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2196))
47+
48+
#### QR Codes & Hardware Wallets
49+
- PSBT QR codes are now readable by Jade hardware wallets in dark mode. ([#1917](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1917))
50+
- Lightning invoice QR codes are now uppercase for better scanner compatibility. ([#2049](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2049))
51+
52+
#### UI & Layout
53+
- Send and Receive buttons stay visible at the bottom of home and wallet screens. ([#2143](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2143), [#2191](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2191))
54+
- Fixed dark text on dark background across multiple screens. ([#1931](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1931), [#2053](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2053), [#1965](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1965))
55+
- Payjoin status in the list now matches the detail view. ([#2135](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2135))
56+
- Fixed startup screen button error and grammar. ([#2116](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2116))
57+
58+
#### Translations
59+
- Spanish: filled missing translations across multiple screens. ([#2051](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2051))
60+
- Simplified Chinese: improved wallet, payment, onboarding, backup, and deletion screens.
61+
- German: updated throughout.
62+
- Hinglish: now correctly resolves to hi_Latn.
6663

6764
---
6865

ios/Runner.xcodeproj/project.pbxproj

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,11 @@
488488
buildSettings = {
489489
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
490490
CLANG_ENABLE_MODULES = YES;
491-
CURRENT_PROJECT_VERSION = 185;
491+
CURRENT_PROJECT_VERSION = 186;
492492
DEVELOPMENT_TEAM = BX99T32YGS;
493493
ENABLE_BITCODE = NO;
494-
FLUTTER_BUILD_NAME = 6.11.0;
495-
FLUTTER_BUILD_NUMBER = 185;
494+
FLUTTER_BUILD_NAME = 6.11.1;
495+
FLUTTER_BUILD_NUMBER = 186;
496496
INFOPLIST_FILE = Runner/Info.plist;
497497
INFOPLIST_KEY_CFBundleDisplayName = BULL;
498498
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
@@ -501,7 +501,7 @@
501501
"$(inherited)",
502502
"@executable_path/Frameworks",
503503
);
504-
MARKETING_VERSION = 6.11.0;
504+
MARKETING_VERSION = 6.11.1;
505505
PRODUCT_BUNDLE_IDENTIFIER = com.bullbitcoin.app;
506506
PRODUCT_NAME = "$(TARGET_NAME)";
507507
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -679,11 +679,11 @@
679679
buildSettings = {
680680
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
681681
CLANG_ENABLE_MODULES = YES;
682-
CURRENT_PROJECT_VERSION = 185;
682+
CURRENT_PROJECT_VERSION = 186;
683683
DEVELOPMENT_TEAM = BX99T32YGS;
684684
ENABLE_BITCODE = NO;
685-
FLUTTER_BUILD_NAME = 6.11.0;
686-
FLUTTER_BUILD_NUMBER = 185;
685+
FLUTTER_BUILD_NAME = 6.11.1;
686+
FLUTTER_BUILD_NUMBER = 186;
687687
INFOPLIST_FILE = Runner/Info.plist;
688688
INFOPLIST_KEY_CFBundleDisplayName = BULL;
689689
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
@@ -692,7 +692,7 @@
692692
"$(inherited)",
693693
"@executable_path/Frameworks",
694694
);
695-
MARKETING_VERSION = 6.11.0;
695+
MARKETING_VERSION = 6.11.1;
696696
PRODUCT_BUNDLE_IDENTIFIER = com.bullbitcoin.app;
697697
PRODUCT_NAME = "$(TARGET_NAME)";
698698
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
@@ -708,11 +708,11 @@
708708
buildSettings = {
709709
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
710710
CLANG_ENABLE_MODULES = YES;
711-
CURRENT_PROJECT_VERSION = 185;
711+
CURRENT_PROJECT_VERSION = 186;
712712
DEVELOPMENT_TEAM = BX99T32YGS;
713713
ENABLE_BITCODE = NO;
714-
FLUTTER_BUILD_NAME = 6.11.0;
715-
FLUTTER_BUILD_NUMBER = 185;
714+
FLUTTER_BUILD_NAME = 6.11.1;
715+
FLUTTER_BUILD_NUMBER = 186;
716716
INFOPLIST_FILE = Runner/Info.plist;
717717
INFOPLIST_KEY_CFBundleDisplayName = BULL;
718718
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.finance";
@@ -721,7 +721,7 @@
721721
"$(inherited)",
722722
"@executable_path/Frameworks",
723723
);
724-
MARKETING_VERSION = 6.11.0;
724+
MARKETING_VERSION = 6.11.1;
725725
PRODUCT_BUNDLE_IDENTIFIER = com.bullbitcoin.app;
726726
PRODUCT_NAME = "$(TARGET_NAME)";
727727
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";

lib/core/widgets/cards/backup_card.dart

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class BackupCard extends StatelessWidget {
2323
borderRadius: BorderRadius.circular(2),
2424
),
2525
child: Row(
26+
crossAxisAlignment: CrossAxisAlignment.start,
2627
children: [
2728
Image.asset(
2829
Assets.misc.passwordbook.path,
@@ -31,22 +32,24 @@ class BackupCard extends StatelessWidget {
3132
color: context.appColors.onSecondary,
3233
),
3334
const Gap(16),
34-
Column(
35-
crossAxisAlignment: .start,
36-
children: [
37-
BBText(
38-
context.loc.backupCardTitle,
39-
style: context.font.bodyMedium,
40-
color: context.appColors.onSecondary,
41-
),
42-
BBText(
43-
context.loc.backupCardSubtitle,
44-
style: context.font.bodyMedium,
45-
color: context.appColors.onSecondary,
46-
),
47-
],
35+
Expanded(
36+
child: Column(
37+
crossAxisAlignment: .start,
38+
children: [
39+
BBText(
40+
context.loc.backupCardTitle,
41+
style: context.font.bodyMedium,
42+
color: context.appColors.onSecondary,
43+
),
44+
BBText(
45+
context.loc.backupCardSubtitle,
46+
style: context.font.bodyMedium,
47+
color: context.appColors.onSecondary,
48+
),
49+
],
50+
),
4851
),
49-
const Spacer(),
52+
const Gap(8),
5053
Icon(Icons.arrow_forward, color: context.appColors.onSecondary),
5154
],
5255
),

0 commit comments

Comments
 (0)