Releases: arqma/Flutter-Wallet
Release list
Arqma Wallet 5.1.2
Arqma Wallet 5.1.2
Desktop and mobile bundles for tag 5.1.2. Wallet FFI 1.0.15 (sync near tip, solo pool sidecar lifecycle + rewards).
Release refresh (2026-07-02)
- iOS / TestFlight: 5.1.2+97 — fix transaction details header on narrow screens (RU/UA/PL/pt-BR/es): icon actions + ellipsized title so the close button stays tappable on iPhone 14/15.
Release refresh (2026-07-01)
- iOS / TestFlight: 5.1.2+96 — rebuilt from
main(d6eebf0+): faster wallet refresh at chain tip, locale parity (UA/ZH/JA), Erase all local wallet data in Settings, dynamic app version + FFI stamp, CIflutter-test/ios-build. Universal iPhone + iPad, iOS 13.0+ (arm64). Assets:Arqma-Wallet-Mobile-5.1.2-ios-testflight.ipa, manifest, xcarchive zip,SHA256SUMS-ios.txt. - Desktop Flutter: 5.1.2+10 — locale mapping fix, erase local data UI, solo pool tab hidden in release builds, Windows uninstall paths documented, desktop
integration_teststub smoke. - Android: 5.1.2+95 — mirror of mobile bridge fixes (erase data,
app_version_str, locale keys); package namearqma_wallet_android. - CI:
.github/workflows/flutter-test.yml, locale key verify/sync scripts, iOS compile check workflow.
Release refresh (2026-06-13)
- Android FFI (1.0.15 republish): ArqTras/FFI 1.0.15 — Android-only asset refresh links
__clear_cachein static-hybridlibarqma_wallet_flutter_ffi.so(fixesdlopen/ “wallet backend not running” on restore). iOS, Linux, macOS, Windows, and solo-pool zips on FFI 1.0.15 unchanged. - Android: 5.1.2+15 — APK/AAB rebuilt with refreshed FFI 1.0.15 Android prebuilts (
Arqma-Wallet-Android-5.1.2.apk/.aabon this release page). - Windows (desktop):
Arqma-Wallet-Flutter-5.1.2-windows-x64-Setup.exerepublished — Inno Setup uses the bundledapp_icon.ico; portable ZIP unchanged.
Highlights
- Solo pool (desktop): Fixed
submit_block— Stratum miner nonce in the block-header nonce field (notreserved_offset). Block reward stored from template/get_block;solo_pool_block_foundtriggers transaction refresh; desktop notifications on accept/reject. Sidecar stops on wallet close and app exit (fixes orphanedarqma_flutter_solo_poolon Linux). - Wallet sync (desktop + mobile + Android): FFI 1.0.15 —
TIP_BAND1 block; footer scan progress uses 1-block tip tolerance; refresh when sync stalls near tip; transaction history refreshes on balance change during catch-up. - Desktop Flutter: 5.1.2+6 — republished with FFI 1.0.15 and updated solo pool sidecar.
- iOS / mobile: 5.1.2+97 (TestFlight) — see Release refresh (2026-07-02) above. FFI 1.0.15, no solo pool on mobile.
- Android: 5.1.2+15 — sideload APK/AAB from this release; requires FFI 1.0.15 Android prebuilts (June 2026 republish).
TestFlight — What to Test (5.1.2 build 97)
Paste into App Store Connect → TestFlight → build 5.1.2 (97) → What to Test.
Transaction details header (narrow phones)
• Switch to Russian, Ukrainian, Polish, or Portuguese (Brazil).
• Open History → tap any transaction.
• The X close button must remain visible and tappable (not covered by title or action text).
• Long-press the JSON and explorer icon buttons in the header — tooltips should show the full labels.
Language switching
• Switch to Ukrainian, Chinese, or Japanese from the footer (tap the language label).
• UI must stay usable — no yellow warning icons instead of menus or filters.
• Tap Reset to English at the bottom of the language list, or switch to another language.
• Force-quit and reopen — selected language should load without breaking the UI.
Wallet name with spaces
• Create or restore a wallet named Arqma Wallet or My Wallet.
• Should succeed (stored as Arqma_Wallet / My_Wallet) — no “Invalid wallet name” error.
• Invalid characters (e.g. /, ..) should still show a validation message before submit.
Sync after backgrounding (iOS)
• Open a password-protected wallet and start blockchain scan/sync.
• Background the app for several minutes, then return.
• With Face ID enabled: sync should resume after biometric unlock when possible.
• Without Face ID (or if biometric is cancelled): a Continue syncing password dialog should appear — enter the wallet password and sync should resume.
• Cancel the dialog — after another background/foreground cycle, the dialog should be offered again (not stuck forever).
• Wrong password shows an error — re-enter the correct password and sync should continue.
• Remote node status in the footer should reconnect without reinstalling the app.
Sync progress readability
• While scanning, footer and transaction list progress text should be easier to read on the dark theme.
Smoke test
• Open wallet → Transactions / Send / Receive.
• Change language once and return to English.
• Create a test wallet with a spaced name, then open it.
Please report: language menu stuck / warning triangles, cannot switch back from UA/ZH/JA, sync frozen after background, resume dialog never reappears after cancel, remote node stuck on “Connecting…”, or “Invalid wallet name” for normal names with spaces.
What's New (short): Fixes locale switching (UA/ZH/JA), wallet names with spaces, iOS sync resume after background (Face ID + password dialog), brighter sync progress text, and safer wallet session reopen.
Desktop install (artifact names use slug 5.1.2)
| OS | File | Notes |
|---|---|---|
| Windows | Arqma-Wallet-Flutter-5.1.2-windows-x64.zip or …-Setup.exe |
Portable ZIP or installer (Setup includes app icon) |
| Linux | Arqma-Wallet-Flutter-5.1.2-linux-x64.tar.gz and/or …-x86_64.AppImage |
tar.gz or AppImage |
| macOS (signed) | Arqma-Wallet-Flutter-5.1.2-macos-signed.zip and/or …-macos-signed.dmg |
Developer ID signed + notarized (local package_flutter_release.sh with .notenv). Preferred for end users. |
| macOS (unsigned) | Arqma-Wallet-Flutter-5.1.2-macos-unsigned.zip and/or …-macos-unsigned.dmg |
GitHub Actions CI build (adhoc signature, not Developer ID). For developers or re-signing locally. |
Mobile install
| OS | File | Notes |
|---|---|---|
| Android | Arqma-Wallet-Android-5.1.2.apk or .aab |
CI debug-signed APK for sideload; Play upload needs your keystore |
| iOS | Arqma-Wallet-Mobile-5.1.2-ios-testflight.ipa |
TestFlight / sideload; see manifest on this release |
macOS signed builds are Developer ID signed and notarized when repo-root .notenv contains valid SIGNING_APPLE_ID + app-specific SIGNING_APP_PASSWORD (from appleid.apple.com). Unsigned CI artifacts (…-macos-unsigned.*) are adhoc only.
Full Changelog: ArqTras/Arqma-GUI-MM@5.1.1...5.1.2
Arqma Wallet 5.1.1
Arqma Wallet 5.1.1
Desktop and mobile bundles for tag 5.1.1. Wallet FFI 1.0.14 (large-stack open_wallet, serialized FFI, deferred refresh on open). Desktop includes arqma_flutter_solo_pool built from this repo (solo-pool fixes below).
Release refresh (2026-06-03)
Desktop bundles rebuilt from main after the Flutter multi-platform audit (#14):
- Release/debug env guard blocks unsafe
String.fromEnvironmentoverrides in store builds. - Bridge log redaction, remote node validation, wallet sync lane hardening (iOS background/foreground).
- CI: Flutter tests for desktop, mobile (iOS tree), and Android; pinned
pubspec.lockin all three app trees. - Android CI/release builds use debug signing (no keystore secrets); sideload APK from GitHub Release.
- FFI Latest policy in CI via
ensure-latest-ffiscripts.
Android and iOS assets on this release page are unchanged unless you trigger Android release / iOS release workflows separately.
Release refresh (2026-06-07, build 49)
- View on explorer (iOS + Android):
open_urlnow usesurl_launcheron mobile (Safari / system browser). Previously only desktopProcess.runhandlers ran — taps on View on explorer were a silent no-op on iOS/Android. - Android: Manifest declares
http/httpsintent queries (Android 11+ package visibility). - iOS: TestFlight build 5.1.1 (49) — explorer links fix; GitHub Release IPA refreshed from local App Store export.
Release refresh (2026-06-07, build 48)
- Wallet safety (desktop + mobile): Desktop exit flushes with
save_wallet/close_walletbefore teardown; Android background persist + recover parity with iOS; mutating RPC blocked during full rescan (sweepAll,stake, address book, etc.);replace_tx_listafter rescan avoids stale tx merge. - Staking Pools: Fix sliver layout crash when filtering (e.g. Operator) — list renders inside
SliverToBoxAdapterinstead of invalidLayoutBuilderin a sliver slot (desktop + mobile + Android). - iOS: TestFlight build 5.1.1 (48) — wallet safety + staking pools filter fix.
Release refresh (2026-06-07, build 47)
- Transaction history (mobile + desktop): First
get_transfersafter open usesmin_height: 0when the wallet is already synced at tip; store merges by txid and ignores empty RPC snapshots that would wipe visible history;close_walletclears tx state cleanly. - Staking Pools scroll: Filters, stats, and pool list scroll as one page (no nested vertical scroll overlapping fixed filters on phones).
- iOS: TestFlight build 5.1.1 (47) — tx history persistence after reopen + staking pools scroll fix.
Release refresh (2026-06-07)
- Transaction history after sync: Desktop and mobile refresh
get_transferswhen the wallet enters the footer Ready band (2880-block tolerance), when switching to the Transactions tab, and when desktop heavy RPC defer ends near chain tip — fixes stale or empty history after open-wallet sync and partial catch-up. - iOS: TestFlight build 5.1.1 (46) — same tx-history refresh fixes as desktop; bump build for TestFlight re-upload.
Solo pool (desktop — Windows, Linux, macOS)
- Block submission: Detect network-valid blocks using the same difficulty rule as universal nodejs-pool (
hashDiff), not only a compact 4-byte target approximation. - Template refresh: Pool respects Automatic block template refresh and the interval (seconds) from settings; when disabled, templates refresh on new chain height.
- VarDiff defaults: Start 60k, max 5M, retarget 30s, max jump 50% — adjust per your hashrate in Solo Pool settings.
Native wallet (FFI)
- FFI: ArqTras/FFI prebuilts for each platform, or build locally with
rust/tool/build_native_wallet_flutter_ffi_*. - Android / iOS: FFI only — no
arqma_flutter_solo_poolsidecar. - Android / iOS: Transaction history poll every 5 s at tip, on new blocks, and right after relay (transfer / stake / sweep).
Mobile builds (this release refresh)
- iOS: TestFlight build 5.1.1 (43) — reopen wallet after iOS background/sleep, clearer open errors, FFI 1.0.12+; build 42: FFI 1.0.12 + password prompt + restore UI; build 40: FFI 1.0.11 + resume/rescan.
- Android: 5.1.1+12 — same Dart wallet guards + restore layout; use FFI 1.0.12 prebuilts when rebuilding APK/AAB.
Wallet scan progress (FFI 1.0.9 — desktop + mobile)
- Async
rescanBlockchainandrefresh/sync with height polling — footer, status bar, and iOS Live Activity show current / tip (%) instead of staying at 0% while the wallet catches up. - Flutter desktop (Windows, macOS, Linux) uses the same FFI prebuilts as mobile.
iOS (5.1.1 builds 17–26)
- Face ID / Touch ID: Unlock password-protected accounts with biometrics (Keychain). Enable via switch on the password dialog, after login, or in wallet settings (must enter wallet password).
- Background sync: Keeps wallet heartbeat running while the app is backgrounded (screen off) via iOS background tasks.
- Build 18: Fix password prompt when opening imported accounts (
passwordnull vs empty). - Build 25: Face ID prompt runs after wallet screen loads; settings menu always prompts for password before Keychain save.
- Build 26: FFI 1.0.8 rescan progress UI.
- Build 27: Live Activity extension enabled (App Group +
com.arqma.arqmaWalletMobile.RescanLiveActivity); FFI 1.0.9 sync/rescan progress; installable on device and TestFlight. - Build 28: Background sync while screen locked; inactivity logout does not fire during lock/rescan; rescan progress no longer resets when opening from Live Activity.
- Build 31: Smoother tab switching (narrow GoRouter refresh); fewer periodic UI rebuilds in footer and transaction list.
- Build 32: Instant tab switches on iOS (
IndexedStack,NoTransitionPage, lazy tab bodies). - Build 33: Same tab performance stack on iOS, Android, and desktop (including Solo Pool tab on desktop).
- Build 34: Staking Pools layout on phones: compact operator/status filter dropdown; pool list uses stacked cards (no column overlap) instead of forcing horizontal scroll on narrow screens. Android build 11 includes the same staking UI.
- Build 35: Wallet heartbeat defers heavy
get_transferswhile switching tabs or scrolling tx history; inactive tabs skip rebuilds on 5 s polls (smoother UI during refresh). - Build 37: Background
store+ session checkpoint before suspend; foreground recover (refresh/ reopen); full rescan clears history only after RPC success; skipstoreduring rescan. - Build 38: Screen stays awake while the wallet screen is open (no auto-lock during sync/rescan on the foreground UI).
- Build 39: Foreground resume uses lightweight RPC nudge (history not cleared); interrupted full rescan restarts after wake; rescan retries when wallet is busy; failed rescan restores previous height and tx list.
- Build 44: App Store review demo wallet documented (
AppReviewDemo/AppReview2026); remote node picker keeps user selection (node1–node4); mobile wallet FFI worker isolate; Android wallet bootstrap/biometric parity. - Build 43: iOS session rebuild after background; sanitize
basic_stringopen errors;open_walletwaits for background idle (FFI). - Build 42: FFI 1.0.12 (deferred refresh on open,
bad_allocuser message) + open-password fix + responsive restore controls. - Build 40: Native wallet FFI 1.0.11 (background job safety in Rust FFI) + same Dart fixes as build 39.
- Build 29: Native wallet FFI 1.0.10 (rescan poller +
getheightduring background jobs).
Desktop Flutter (5.1.1+5, FFI 1.0.14)
- Open wallet retry: After a failed
open_walletor account switch, desktop FFI re-configures the native client (fixes spuriousopen_wallet failed/call_json code=-4on retry without restarting the app). - macOS wallet open: FFI worker isolate stays responsive;
open_wallet/ restore run on an 8 MiB stack pthread (fixes crash on large wallet caches; CLI parity). - Daemon target: When local
arqmadRPC is down, wallet FFI uses configured remotehost:port(same path CLI users expect). - Open flow: Serialized in-process FFI; no
refresh_async_startduringopen_wallet; post-open UI loads asynchronously; parallelgetheight/getbalance/get_address. - Accounts screen: Non-blocking
close_walletbeforelist_wallets; navigation via wallet status (no invalidGoRouterStateafter open). - Biometrics: Face ID / Touch ID disabled on desktop (mobile-only).
- Staking Pools: Compact status filter dropdown (same as mobile filter field; wide tabular list unchanged on desktop).
- Full rescan / sync footer progress: ignore stale pre-rescan
getheighttip; complete only after real sub-tip catch-up (same logic as mobile). - Inactivity auto-logout: paused when the app window is inactive/minimized and during
full_rescan_ui. - Wallet RPC: rescan/safe-store guards in
desktop_native_bridge(Dart); nativewallet2_clientsafety in FFI 1.0.14 prebuilts. - All desktop OS:
NoTransitionPagewallet routes; lazy tab builds; deduplicated store notifications during daemon/wallet heartbeat.
Release assets (by platform)
| Platform | File(s) | How to run |
|---|---|---|
| Windows | Arqma-Wallet-Flutter-5.1.1-windows-x64.zip (portable) or Arqma-Wallet-Flutter-5.1.1-windows-x64-Setup.exe (installer) |
ZIP: unzip anywhere, run Arqma-Wallet.exe (keep all DLLs and data\ beside the exe; bin\arqmad.exe and bin\arqma_flutter_solo_pool.exe for local daemon / solo pool). Setup: run installer, launch from Start menu... |