Releases: MostroP2P/mobile
v1.2.5
⚡ Mostro Mobile v1.2.5
A new version of the Mostro P2P Bitcoin trading app is here!
This release brings 4 new feature(s):
- feat: filter offers by maker's account age in order book - New Days of use filter in the order book filter dialog, reading the days field from the rating tag of kind 38383 events. - Slider 0..20 with the same gray palette as the reputation and premium filters, adjacent text input accepts higher values (clamped to 0..9999). - Right-side label switches from Days: 20 to the typed value when the user enters a higher number. - New minDaysFilterProvider in home_order_providers.dart; offers are excluded when rating.days < minDays. - Localization keys daysOfUse and days added to en, es, it, de and fr. (bfcba51)
- feat: in-app snackbar notifications for chat messages outside chat screen (#578) (38ed8ee)
- feat: add configurable trade history retention in settings (#571) (8116311)
- Add P2P chat background notifications (Phase 2) (#529) (4dc0a31)
We also squashed 2 bug(s) 🐛:
- fix: prevent wrong role text on canceled order detail screen (#580) (8007b35)
- fix: context-aware buttons during cooperative cancellation (#576) (c885098)
📥 Install
Download the APK for your device architecture below:
mostro-v1.2.5-arm64-v8a.apk— most modern Android phones (64-bit)mostro-v1.2.5-armeabi-v7a.apk— older Android phones (32-bit)
The
.aab(Android App Bundle) is for Google Play Store distribution.
🖥️ Desktop
Linux and macOS builds are triggered separately and will be attached to this release shortly.
📋 Full Changelog
See CHANGELOG.md for the complete history.
v1.2.4
⚡ Mostro Mobile v1.2.4
A new version of the Mostro P2P Bitcoin trading app is here!
This release brings 2 new feature(s):
- feat: add timestamp to P2P chat message bubbles (#565) (a1fbf60)
- feat: add community discovery and node selector on first launch (#564) (728abfe)
We also squashed 5 bug(s) 🐛:
- fix(ci): use client_payload.version in desktop workflow (#559) (2eded43)
- fix: add tooManyRequests i18n key to DE and FR locales (#568) (9def78b)
- fix: preserve app settings during key import/creation (#567) (bb24575)
- fix: resolve trade index desync, session lookup crash (#566) (e96671b)
- fix: upgrade dart_nostr to main with parallel relay connections and per-relay timeout - Switch dart_nostr from pub.dev 9.1.1 to git ref ca07ddd - Split nostrConnectionTimeout (30s) into relayConnectionTimeout (5s) and nostrOperationTimeout (20s) - Remove bip340 dependency_override (no longer needed with bip340 ^0.3.0 from upstream) (2b1aab6)
v1.2.3
⚡ Mostro Mobile v1.2.3
A new version of the Mostro P2P Bitcoin trading app is here!
This release brings 3 new feature(s):
- feat: handle deep links from different Mostro instances (#552) (2518c37)
- feat: detect admin/dispute DMs in background notification pipeline (#498) (62ea948)
- feat: fetch exchange rates from Nostr with HTTP/cache fallback (#551) (1bde634)
We also squashed 4 bug(s) 🐛:
- fix(ci): remove direct push to main from release workflow (#556) (b0445a4)
- fix: commit premium field value before order submission (#555) (a4a9b64)
- fix: remove fictional SessionFileCache docs and rewrite Future Improvements (#545) (3e276a2)
- fix: rename notfiers → notifiers directory (#547) (22a0fbd)
📥 Install
Download the APK for your device architecture below:
mostro-v1.2.3-arm64-v8a.apk— most modern Android phones (64-bit)mostro-v1.2.3-armeabi-v7a.apk— older Android phones (32-bit)
The
.aab(Android App Bundle) is for Google Play Store distribution.
🖥️ Desktop
Linux and macOS builds are triggered separately and will be attached to this release shortly.
📋 Full Changelog
See CHANGELOG.md for the complete history.
v1.2.2
⚡ Mostro Mobile v1.2.2
A new version of the Mostro P2P Bitcoin trading app is here!
This release brings 2 new feature(s):
- feat: Add complete German (de) translation (#531) (0af6476)
- feat: implement NIP-13 proof-of-work mining for Mostro events (#519) (d693cfe)
We also squashed 3 bug(s) 🐛:
- fix: start background service from FCM handler when service is dead (#489) (fe0cd79)
- fix: resolve chat history loss after reconnection or app restart (#538) (8b46931)
- fix: P2P chat messages with images block rendering until download completes (#526) (4a0f2bf)
📥 Install
Download the APK for your device architecture below:
mostro-v1.2.2-arm64-v8a.apk— most modern Android phones (64-bit)mostro-v1.2.2-armeabi-v7a.apk— older Android phones (32-bit)
The
.aab(Android App Bundle) is for Google Play Store distribution.
🖥️ Desktop
Linux and macOS builds are triggered separately and will be attached to this release shortly.
📋 Full Changelog
See CHANGELOG.md for the complete history.
v1.2.1
⚡ Mostro Mobile v1.2.1
A new version of the Mostro P2P Bitcoin trading app is here!
This release brings 11 new feature(s):
- feat: enable QR scanner for NWC wallet import (#516) (12eaee4)
- feat: add multimedia rendering in dispute chat (Phase 4) (#514) (795302e)
- feat: auto-close dispute UI when order reaches terminal state (#503) (e4ebe4a)
- feat: add Venezuelan-themed nouns to handle generator (#510) (e8d61c4)
- feat: add mutation testing for test quality assurance (#505) (bd26b24)
- feat: migrate dispute chat to shared key encryption Phase 1 (#495) (5e8b542)
- add HalCash, remove SEPA payment method (#493) (3aa870b)
- feat: add French translation (#500) (dfab8f7)
- feat: add automatic navigation to trade detail for key order actions (38f3774)
- feat: consolidate notification tap handling in background_notification_service (c87104c)
- feat: implement FCM notification tap handling for background and terminated states (abea608)
We also squashed 11 bug(s) 🐛:
- fix: release workflow — prevent double build number and fix changelog generation (#524) (3d651e0)
- fix: strip build number from desktop release version (#522) (7f75ae7)
- fix: override bip340 dependency to 0.2.0 to fix Schnorr signature padding bug (#496) (195b6fa)
- fix(chat): retain input focus after sending a message (#483) (3149973)
- fix: replace Stack layout with Column in chat screen to prevent input bar overlap (#466) (1175459)
- fix: display selected fiat amount instead of range for taken orders (#477) (236459a)
- fix: dispose invoiceController and remove unused amount parameter (#479) (75f0f6d)
- fix: use black text on green buttons for consistency (#473) (d749733)
- fix: prevent restore crash and revert loop on node switching (#468) (fe41511)
- fix: update supported NIPs list in zapstore.yaml (#464) (89e5b57)
- fix: add mounted check before navigation in notification launch handler (931380c)
📥 Install
Download the APK for your device architecture below:
mostro-v1.2.1-arm64-v8a.apk— most modern Android phones (64-bit)mostro-v1.2.1-armeabi-v7a.apk— older Android phones (32-bit)
The
.aab(Android App Bundle) is for Google Play Store distribution.
🖥️ Desktop
Linux and macOS builds are triggered separately and will be attached to this release shortly.
📋 Full Changelog
See CHANGELOG.md for the complete history.
v1.2.0+2
⚡ Version 1.2.0 Beta ⚡
This release is a big one — Mostro Mobile now has a built-in Lightning wallet. No more switching apps to pay invoices or generate them. NWC (Nostr Wallet Connect) integration means your wallet talks directly to Mostro, automating the entire payment flow for both buyers and sellers.
🔗 NWC — Your Wallet, Inside Mostro
The headline feature of 1.2.0 — full Nostr Wallet Connect integration, rolled out in 5 phases:
- Core NWC protocol library — handles
pay_invoice,make_invoice, andget_balancecommands over Nostr relays - Wallet connection UI — connect your NWC-compatible wallet (Alby, Mutiny, etc.) with a simple paste-and-go flow
- Automatic hold invoice payment for sellers — when you sell sats, the app detects the hold invoice and pays it automatically via your connected wallet. No more copy-pasting invoices.
- Automatic invoice generation for buyers — when you buy sats, the app generates a Lightning invoice from your wallet automatically. Just confirm and wait for your sats.
- Payment notifications — get notified when payments are sent, received, or fail, with clear status indicators throughout the trade flow
🛡️ UX Improvements
- Confirmation step before receiving sats — when using a Lightning Address to receive, the app now shows a confirmation dialog before proceeding. No more accidental submissions.
- Cleaner payment methods — removed banks from payment method list, keeping only actual payment methods (transfers, mobile pay, etc.)
- Consistent button styling — black text on green buttons across the app
💬 Chat Fixes
- Input focus retained after sending — no more tapping the input field again after every message
- Fixed input bar overlap — replaced Stack layout with Column in chat screen, fixing the overlapping input bar on some devices
- Cleaner chat room code — extracted side effects, deduplicated callbacks, and improved overall reliability
🛠️ Under the Hood
- Fixed restore crash — prevented crash and revert loop when switching between Mostro nodes
- Disposed invoice controller properly — fixed a memory leak in the order flow
- Fixed fiat amount display — taken orders now show the selected fiat amount instead of the full range
- Refactored pending state —
isPendingis now a single source of truth passed through the widget tree
Thank you for testing and providing feedback — it makes Mostro better every release. 🚀
Contributors
Full Changelog: v1.1.1...v1.2.0
v1.1.1+1
🎉 Version 1.1.1 Beta 🎉
This release brings multi-Mostro node support, chat reliability fixes, and order creation improvements. Here's what's new:
🌐 Multi-Mostro Node Support
The biggest feature in this release — you can now connect to multiple Mostro nodes:
• Trusted nodes registry with a curated list of known Mostro instances
• Add custom nodes by pubkey, with validation and duplicate detection
• Kind 0 metadata fetching — nodes display their Nostr profile name, avatar, and description instead of raw pubkeys
• Node selector UI with a bottom sheet picker, trusted badges, and custom node management
• Automatic fallback — if a selected node is offline, the app reverts to the previous working node and shows an error
• Metadata persistence — both trusted and custom node metadata survives app restarts
• Performance tested with up to 50 custom nodes
🛒 Order Creation Improvements
• Editable premium/discount — replaced the static indicator with an editable input field and dynamic slider range
• Fixed price + range validation — prevents combining fixed price with range orders, avoiding invalid order states
• Expanded payment methods — added new payment methods including CRC options
• Always-visible custom payment input — no more toggling "Other" checkbox, the custom field is always available
• Smarter submit validation — button stays disabled until all required fields are filled, including custom payment method support
💬 Chat Reliability
• Fixed chat restore errors — resolved issues where chat data wasn't properly cleared during restore
• Better error handling — reusable error screens for missing sessions or unavailable peers
• Keyboard-aware scrolling — chat now scrolls properly when the keyboard appears
• Increased restore timeout to accommodate slower relay message delivery
🛠️ Behind-the-Scenes Fixes
• Kind 0 metadata now applied even when signature verification fails (dart_nostr rejects some valid vanity pubkey events)
• Pubkey normalization to lowercase prevents case-sensitive duplicates
• Updated screenshots and changelog
Thank you for using the app!
As always, your feedback helps us keep improving. 🚀
Contributors
• @AndreaDiazCorreia
• @BraCR10
• @Catrya
• @grunch
Full Changelog: v1.1.0...v1.1.1 (v1.1.0...v1.1.1)
v1.1.0
🎉 Version 1.1.0 Beta Is Here! 🎉
We have finally released our first beta version. After 3 years of hard work, we have a fairly stable version that will continue to improve. this new version of the app with major improvements to logging, notifications, and overall polish. Here's what's new:
📋 Complete Logging System
We've built a full-featured logging system from the ground up:
- Singleton logger across the entire codebase for consistent, reliable logging
- Background isolate support so logs keep recording even when the app is in the background
- Share and save log files — you can now export your logs and share them for debugging
- Visual recording indicator so you always know when log capture is active
This makes it much easier to troubleshoot issues and share diagnostic info with the team.
🔔 Better Notifications
Notifications got a significant upgrade:
- New Notification Settings Screen where you can manage your push notification preferences
- Fixed a bug where background notifications weren't showing due to a serialization issue
- Added Android background permissions for more reliable notification delivery
🎨 UI & Visual Improvements
The interface keeps getting better:
- Phase 2 visual refinements with layout enhancements across the app
- Improved toggles and buttons with a new shared MostroSwitch widget for consistency
- Updated drawer logo with the latest Mostro branding
- SnackBars moved to the top of the screen so they no longer block bottom navigation
- All SnackBar messages internationalized — no more hardcoded English strings
- Improved About screen with additional information
🛠️ Behind-the-Scenes Fixes
- Smarter relay updates: NostrService now uses additive initialization instead of disconnect-reconnect, making relay changes smoother and more reliable
- Auto-generated files cleanup: Updated gitignore and documentation to properly handle generated files
Thank you for using the app!
As always, your feedback helps us keep improving. 🚀
Contributors
Full Changelog: v1.0.7...v1.1.0
v1.0.7
Added
- In-App Logging System (#403, #398): Complete logging service with UI components and settings integration
- Logger service with basic integration for debugging and troubleshooting
- Logging UI components with toggle controls and log viewer
- Multi-language support for logging features
- Push Notification System (#391, #394, #396): Full Firebase Cloud Messaging integration
- Firebase basic configuration for push notifications
- FCM service with background integration (Phase 2)
- PushNotificationService with encrypted token registration (Phase 3)
- Encrypted File Messaging (#367): Support for encrypted file attachments in chat
- Backup Account Reminder (#383): Notification system to remind users to backup their account
- FVM Configuration (#376): Flutter Version Management configuration for consistent development environment
Fixed
- Order Creation Time Display (#386): Fixed bug in order creation time display
- Background Notifications (#378): Fixed background notifications failing in release builds
- Localization Entries: Fixed invalidKeyFormat entry in Italian and Spanish ARB files
- Logging Toggle State: Fixed toggle resetting to OFF on app restart
- Build Workflow (#375): Added missing build_runner step to flutter.yml workflow
Changed
- Brand Colors Unification (#407): Unified brand colors and consolidated color variants (Phase 1)
- UI Buttons and Opacity (#402): Improved button styling and opacity handling
- Mostro Instance Configuration (#390): Enhanced UX for Mostro instance configuration
- Order Expiration (#392): Removed hardcoded 24h order expiration, now uses expiration_hours for trade messages and new orders
- Info Event Kind (#410): Updated info event kind from 38383 to 38385
Documentation
v1.0.6
🎉 Version 1.0.6 Is Here! 🎉
We’ve just released a new version of the app, and it comes with helpful improvements to make your experience smoother, faster, and more reliable. Here’s what’s new:
🔄 Easier Recovery of Your Orders
We’ve added a brand-new Restore Orders feature.
If you ever lose your session or need to reconnect, the app can now restore your previous orders automatically. This means:
- You can quickly pick up where you left off
- Works whether you use the app in full privacy mode or with reputation features
- A more reliable and seamless recovery process overall
📱 Smaller, Optimized App Downloads
We’ve improved the way the app is packaged:
- The app now comes in versions optimized for your device’s processor
- This makes the download smaller and more efficient
- Better compatibility and faster installation for supported devices
(Note: The Zapstore version will now only support newer devices with arm64-v8a processors.)
🛠️ Behind-the-Scenes Fixes
We fixed an issue affecting how the app’s files were checked and verified during the build process. This ensures:
- More reliable app updates
- More secure installation packages
Thank you for using the app!
As always, your feedback helps us keep improving. 🚀
Contributors
Full Changelog: v1.0.4...v1.0.6