Skip to content

Commit dcfdaae

Browse files
authored
Merge pull request #2403 from SatoshiPortal/changelog-6.12.0
chore: 6.12.0 changelog
2 parents 7f8904d + b75e38d commit dcfdaae

1 file changed

Lines changed: 78 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,86 @@ All notable changes to Bull Bitcoin Mobile will be documented in this file.
66

77
## [Unreleased]
88

9+
_Nothing yet._
10+
11+
---
12+
13+
## [6.12.0] - 2026-07-05
14+
15+
_This release corresponds to the internal "Rolling Elephant" development cycle._
16+
917
### New Features
1018

11-
- **Coins (UTXO) view**: See every unspent output in a Bitcoin wallet — amount, label, keychain, and confirmation status — from a new "Coins" entry on the wallet screen. Sort and filter your coins, then freeze any you don't want to spend; frozen coins are excluded from every transaction until you unfreeze them, and the freeze survives app restarts. ([#760](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/760))
19+
- **Coins (UTXO) view**: See every unspent output in a Bitcoin wallet — amount, label, keychain, and confirmation status — from a new "Coins" entry on the wallet screen. Sort and filter your coins, then freeze any you don't want to spend; frozen coins are excluded from every transaction until you unfreeze them, and the freeze survives app restarts. Built on the new `bull_ui` design system. And when a payment can't be covered by your spendable balance but you hold frozen coins, the "not enough balance" error now names the frozen amount and points you to Manage coins to unfreeze, instead of a dead end. ([#760](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/760), [#2304](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2304), [#2337](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2337))
20+
- **Coldcard NFC**: Import a Coldcard Q or Mk4 wallet and sign transactions over NFC — a tap instead of finicky QR scanning. ([#1544](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1544), [#2224](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2224))
21+
- **BitBox02 Nova over Bluetooth**: The BitBox02 Nova now works on iOS via BLE, lifting the previous Android-only restriction. Pairing, import, signing, and address verification are shared across USB (Android) and Bluetooth (iOS), with clear handling of Bluetooth permission and availability errors. The BitBox02 is also no longer feature-gated — it's available to all users. ([#2323](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2323), [#2388](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2388))
22+
- **Sub-1 sat/vByte fees**: You can now set fee rates below 1 sat/vByte (e.g. 0.5) to take advantage of low-mempool conditions. Fractional rates are stored losslessly in BDK's native unit, Bitcoin fee presets are sourced from mempool's precise endpoint (with a fallback for self-hosted servers), and the fee shown in the preview is now the exact fee of the transaction that gets broadcast. A live relay-minimum floor prevents building a transaction the network won't accept. ([#2133](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2133), [#2199](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2199))
23+
- **Swap recovery via mnemonic**: Swap secrets (including the preimage) are now derived deterministically from a standardized path, so stuck or orphaned swaps can be restored through Boltz's `restore` endpoint by sharing the master xpub. This aligns Bull with the new Boltz swap-mnemonic standard and lays the groundwork for reliable swap recovery. ([#2282](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2282), [#2138](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2138), [#2316](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2316))
24+
- **Export logs as a file**: Share app logs as a file attachment instead of copy-pasting, making it practical to send large logs to support. ([#2194](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2194), [#2317](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2317))
25+
26+
### Exchange & Payouts
27+
28+
- **Funding blocked for restricted users**: Users in the `RESTRICTED_FULL` or `RISK_PROHIBITED_COUNTRY` groups can no longer proceed through the funding flow in the app, matching the gating already enforced by the web exchange (BBX). Part of the wider effort to align mobile KYC gating with BBX across all jurisdictions. ([#2385](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2385), [#2393](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2393), see [#2262](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2262))
29+
- **Staging exchange access restored (dev/testnet)**: The staging exchange basic-auth credentials are now stored and read from the database, so testnet mode can reach the exchange again under dev mode. ([#2291](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2291), [#2310](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2310))
30+
- **Clearer funding option label**: Updated a funding option label for clarity. ([#2298](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2298))
31+
32+
### Bug Fixes
33+
34+
#### Sending & Receiving
35+
- Lightning invoice memos are now displayed on the send confirmation screen instead of being parsed and dropped. ([#2189](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2189), [#2309](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2309))
36+
- Sending a BOLT11 invoice below the Boltz swap minimum now shows a specific, actionable error on the address screen instead of the generic "Something went wrong". ([#2321](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2321), [#2322](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2322))
37+
- Fixed the recipients page getting stuck on an infinite loading spinner. ([#2305](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2305), [#2336](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2336))
38+
- The QR scanner now handles non-standard BIP21 and donation URIs: `%40`-encoded Lightning addresses are decoded, LNURLs are extracted from non-standard URIs, and unrecognized QR codes now show a clear "unsupported format" error and dismiss the scanner instead of hanging. ([#2202](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2202), [#2300](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2300))
39+
40+
#### Swaps
41+
- Reverse-swap claim fees are now pinned, and stored claim fees are always used for send-exact-amount, so preview and broadcast stay consistent. ([#2388](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2388), [#2400](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2400))
42+
- Swap-review pass: the send flow's swap status watcher now uses a live database watch, Lightning receive shows a loading shimmer during load, and the confirmation screen aligns the invoice with a copy button and a copyable swap ID. Also floors the claim fee at the relay minimum, adds proper watcher teardown, and fixes several send-flow fee edge cases (preserving lockup fee, tx-fee fallback, confirm-amount flash). ([#2290](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2290))
43+
44+
#### Wallet Sync
45+
- The pull-to-refresh spinner now stays visible until every chain (Bitcoin, Liquid, swaps) has finished syncing, instead of releasing after Bitcoin alone. ([#2386](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2386))
46+
- The wallet-card sync bar is now visible in light theme. ([#2387](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2387))
47+
48+
#### UI & Layout
49+
- Added missing back arrows to the RecoverBull "connecting" and vault-selection screens. ([#2335](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2335))
50+
- Fixed invisible snackbar text in dark mode. ([#2329](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2329), [#2343](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2343))
51+
- Fixed unreadable colors in the encrypted-vault (Google Drive) delete confirmation dialog in dark theme. ([#2257](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2257), [#2260](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2260))
52+
53+
#### Stability
54+
- Fixed a startup crash — `Bad state: Content hash on Dart side ... is different from Rust side` — caused by a stale prebuilt native library. `bull_sdk` now pins Boltz and LWK to their reproducible v0.5.0 tags instead of moving branches to prevent recurrence. ([#2401](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2401))
55+
- Fixed a QR scanner crash on iOS caused by symbol stripping (`STRIP_STYLE = non-global`), and added the iOS location-permission description required when a website opened in the in-app browser requests geolocation — the app itself never collects location. ([#2402](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2402))
56+
57+
#### Error Messages
58+
- **User-facing error sanitization**: Established a repo-wide pattern that keeps raw exception text, node rejection reasons, and BDK/Electrum/NFC internals out of the UI — replacing them with clear, localized messages. Rolled out across backup settings, RecoverBull, Bitcoin price, seed view, Electrum settings, mempool settings, BIP85 entropy, replace-by-fee, and mnemonic import. ([#1895](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/1895), [#2293](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2293), [#2328](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2328), [#2330](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2330), [#2331](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2331), [#2332](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2332), [#2334](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2334), [#2339](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2339), [#2342](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2342), [#2344](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2344), [#2346](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2346))
59+
60+
#### Translations
61+
- Simplified Chinese: word fixes. ([#2308](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2308))
62+
- German: translation updates. ([#2263](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2263), [#2345](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2345))
63+
- Spanish: shortened the auto-transfer settings label so it fits. ([#2278](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2278), [#2284](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2284))
64+
65+
### Under the Hood
66+
67+
_Developer-facing changes with no direct user impact._
68+
69+
- **Back to official bdk-dart**: Switched the `bdk_dart` dependency from the `i5hi/bdk-dart` fork back to the official `bitcoindevkit/bdk-dart` (`1.0.0-rc.2`), updated call sites to the upstream `NetworkKind` API, and removed the now-obsolete `dependency_overrides`. ([#2389](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2389))
70+
- **Migrations collapsed**: Folded the accumulated database migrations into a single 12→13 step. ([#2338](https://github.com/SatoshiPortal/bullbitcoin-mobile/issues/2338), [#2383](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2383))
71+
- **`bull_ui` design-system package**: Introduced a standalone `bull_ui` package with official-theme foundation tokens and duplicated core widgets, plus a Widgetbook v3 component catalogue in CI. This is the foundation the new Coins view is built on. ([#2302](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2302))
72+
- **Flutter 3.44 migration**: Migrated to Flutter 3.44.1 / Dart 3.12.1 (FVM 4.1.0, Android Kotlin/DSL compat flags, `font_awesome_flutter` 11.0.0), then bumped to Flutter 3.44.2 with FVM versions aligned across CI and images and more robust devcontainer/reproducible-build tooling. ([#2271](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2271), [#2318](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2318))
73+
- **Architecture docs & Melos skeleton**: Consolidated architecture documentation (datasource→repository→usecase→bloc layering, contributor onboarding) and a Melos monorepo skeleton, routing analysis through a single `make analyze` entry point. ([#2276](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2276))
74+
- **Localization cleanup**: Removed dead localization keys from non-English ARB files. ([#2285](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2285))
75+
- **Devcontainer Wayland forwarding**: Fixed Wayland socket forwarding via the host `XDG_RUNTIME_DIR`. ([#2303](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2303))
76+
- **GitHub Actions modernization**: Version bumps, supply-chain and least-privilege hardening, SHA-pinned third-party actions, faster pre-commit hook (runs analysis only on staged Dart files), and commit-SHA-tagged build artifacts. ([#2395](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2395), [#2392](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2392))
77+
- **Per-OS devcontainers**: Split `.devcontainer` into self-contained `linux/` and `macos/` configs so it can start on Apple Silicon (via Rosetta) as well as Linux. ([#2307](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2307))
78+
- **Crash-cache → issues sync**: New manually-dispatched workflow that turns the latest app version's reported crashes into GitHub issues, deduplicated by fingerprint. ([#2347](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2347))
79+
- **CI reliability**: Free disk space before analyze/test to avoid "No space left on device" ([#2311](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2311)), and fixed intermittent libgit2 SSL failures during container cargo fetches ([#2320](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2320)).
80+
- Version bumps to 6.12.0. ([#2382](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2382), [#2390](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2390))
81+
82+
---
83+
84+
## [6.11.1] - 2026-06-09
85+
86+
### Exchange & Payouts
87+
88+
- **Funding flow aligned with the web exchange**: Reworked funding methods and error handling to match bb-exchange — the titles, error codes, and backend messages shown during funding now mirror what the web exchange returns, so failures are consistent and understandable across platforms. ([#2272](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2272), [#2258](https://github.com/SatoshiPortal/bullbitcoin-mobile/pull/2258))
1289

1390
---
1491

0 commit comments

Comments
 (0)