Skip to content

Stashi Wallet v1.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Sep 00:06
· 35 commits to main since this release
v1.2.0 introduces Stashi Wallet, the new public identity for Pirate Unified Wallet. Existing wallet data, recovery phrases, addresses, application identifiers, and storage locations remain compatible. This release also improves transaction recovery, endpoint failover, Android signing, build verification, accessibility, and SDK security.

- Renamed the Flutter wallet to Stashi Wallet across Windows, macOS, Linux, and Android.
- Added the new Stashi Wallet logo, application icons, executable titles, installer names, and runtime identity.
- Renamed release archives, packages, checksums, signatures, metadata bundles, and SBOM files to use the Stashi Wallet name.
- Preserved existing application identifiers and wallet data locations so upgrades continue to find installed wallets and local state.
- Updated desktop installers and automatic update handling for the renamed executable.
- Rebuilt platform icons with transparent backgrounds for clearer display at small sizes.

- Strengthened Auto endpoint selection by requiring servers to provide a current compact-block cache and the exact compact block they advertise.
- Empty, stale, malformed, or inconsistent compact-block responses are rejected before an endpoint can join the active pool.
- Auto mode now rotates away from an endpoint that accepts connections but is not ready to serve usable blockchain data.
- Unready endpoints remain available for future sessions instead of being permanently removed.
- Added privacy-safe endpoint diagnostics covering the active server, blockchain height, response latency, and pool health.
- Automatic sends now relay the same signed transaction through a healthy alternate endpoint after the primary response, improving propagation without creating a second transaction.
- Added durable tracking for outgoing transaction expiry heights.
- Expired outgoing transactions are now separated from pending transactions throughout the Home and Activity screens.
- Funds reserved by an unconfirmed transaction are released after the locally scanned blockchain passes its expiry height.
- Transaction details now show the expiry state and explain when the released funds can be used for a new payment.
- Confirmed transactions remain protected from expiry reconciliation.
- Existing pending records are migrated conservatively during upgrade.

- Improved spendability reporting so witness repair remains visible while repair work is queued, active, or waiting for final anchor validation.
- Added the complete spendability reason-code contract: `OK`, `ERR_SYNC_FINALIZING`, `ERR_WITNESS_REPAIR_QUEUED`, and `ERR_RESCAN_REQUIRED`.
- Improved Android native initialization so foreground and background wallet operations use consistent writable application directories.
- Sapling proving parameters are now loaded directly from embedded memory instead of being written to temporary files.
- Removed temporary-file permission failures from the Android Sapling signing path.
- Added a deterministic mobile debug log file that can be exported through the existing Share action.

- Added CoinPaprika as a fallback ARRR price provider when CoinGecko is unavailable.
- Retained CoinMarketCap as the final USD fallback.
- Prevented duplicate simultaneous price requests.
- Added bounded startup retries and immediate price refreshes when the application resumes, regains focus, or is restored.
- Preserved the last valid fiat price during temporary provider or network outages.
- Updated the outbound API disclosure to identify the available price providers.

- Improved Verify Build so the installed desktop application is hashed before any GitHub request is made.
- Added retries for temporary release-download failures.
- Network or transport problems are now reported as an unavailable verification check instead of a failed or modified application.
- Local artifact information remains visible when official verification files cannot be downloaded.
- Added reliable version, Git commit, build date, Rust compiler, and target information across supported platforms.
- Published the README, public key, checksum manifests, payload manifest, and signatures as individual release files in addition to the verification bundle.

- Renamed the main Wallet destination to Wallets and updated the payment hub, navigation, translations, tests, and documentation.
- Improved setup recovery so a temporary finalisation failure can be retried without creating duplicate wallet records.
- Added editable wallet names during creation and recovery, with sequential suggested names.
- Improved recovery phrase language selection and offline backup guidance.
- Adjusted desktop layouts using both viewport width and height for better presentation on laptops and displays using fractional scaling.
- Improved keyboard focus, screen-reader labels, editable-field labelling, checkbox visibility, and high-contrast presentation.
- Improved rendering stability on Intel Macs by using the stable Flutter renderer.

- Added optional wallet-scoped encryption for seed phrases and imported spending keys while keeping viewing data and compact-block caches available for synchronisation.
- Added in-memory signing sessions that require wallet-scoped credentials before protected keys can be used.
- Added explicit wallet locking that clears active signing credentials and related database state.
- React Native registry secrets are now created and stored through Android Keystore or iOS Keychain instead of being exposed to JavaScript storage.
- Added typed React Native interfaces for spendability status, endpoint diagnostics, signing sessions, and wallet locking.
- Made transaction broadcasting explicitly wallet-scoped.
- React Native integrations must now use `broadcastTransaction(walletId, signedTransaction)`. The former one-argument broadcast method has been removed.
- Updated the shared Rust backend, CLI, native FFI, Qortal CLI, and Android SDK to version 0.3.3.
- Updated the React Native wrapper and native companion packages to version 0.3.4.

- Published the complete Stashi Wallet User Guide with installation, setup, recovery, migration, payments, wallet management, privacy, verification, and troubleshooting guidance.
- Added paired Mobile and Desktop screenshots for workflows that differ by screen size.
- Added an accessible tagged PDF with heading structure, image descriptions, bookmarks, clickable contents, tagged lists, and structured reading order.
- Added automated GitHub Pages publication and pull-request validation for future guide updates.
- Updated the guide to use British English and consistent user-facing terminology.
- Updated the project to Flutter 3.47.2.
- Updated documentation and React Native example dependencies to current security baselines.
- Updated translations for the Stashi Wallet identity, transaction expiry, wallet navigation, verification, pricing, and security controls.

[Read the v1.1.9 release notes](https://github.com/PirateNetwork/Pirate-Unified-Light-Wallet/releases/tag/v1.1.9)

[View the full changes since v1.1.9](https://github.com/PirateNetwork/Pirate-Unified-Light-Wallet/compare/v1.1.9...v1.2.0)