v1.1.8-rc.1: Pirate Unified Wallet v1.1.8 (Release Candidate 1)
·
232 commits
to main
since this release
v1.1.8-rc.1 is the release candidate for Pirate Unified Wallet v1.1.8. It introduces faster and more resilient synchronization, improved privacy-network handling, broader Linux compatibility, and safer, deterministic release packaging. ## Faster and More Resilient Sync - Added automatic multi-server synchronization for eligible mainnet configurations. Auto mode validates compatible lightwalletd servers and can download ordered historical block ranges from multiple sources. - Added validated failover while preserving explicit manual servers, custom endpoints, certificate pins, testnet settings, and private-network routing. - Historical rescans now bootstrap at the requested height instead of unnecessarily replaying from Sapling activation when suitable tree state is available. - Added capability-aware routing for Sapling and Ironwood subtree roots, allowing Auto mode to use a validated compatible server without changing the normal sync endpoint. - Improved cached-rescan throughput, durable prefetch admission, dense-block workload control, and sync progress reporting. - Preserved the last durable wallet height during startup recovery and automatically restart synchronization when it stops unexpectedly. - Added broader recovery and regression coverage for stale endpoints, interrupted sync, historical rescans, endpoint failover, and chain-tail updates. ## Privacy and Networking - Made the latest Direct, Tor, SOCKS, or I2P selection authoritative and cancel stale connection requests when the transport changes. - Prevented old health checks and private-network requests from blocking the settings screen or reporting results for a transport that is no longer selected. - Kept Tor configurations on onion endpoints and moved embedded Tor state into app-private storage on Android. - Improved embedded I2P startup, SOCKS connectivity, endpoint validation, retry behavior, and slow-network timeout handling. - Removed the incompatible mainnet I2P endpoint and improved recovery when a private endpoint remains offline. - Bounded connection tests so failed or unreachable private transports no longer wait indefinitely. ## Endpoint and Wallet Experience - Added a persistent Auto server option with curated Pirate, Qortal, CryptoForge, and supported MathNodes endpoints. - Applied endpoint selections immediately and restored the previous configuration if saving fails. - Added an Auto-mode tooltip explaining parallel synchronization in straightforward language. - Improved endpoint health presentation and added diagnostic logging for automatic pools, alternate servers, routing decisions, and rescans. - Updated and localized endpoint names, Auto-mode descriptions, health states, and private-network guidance across all supported languages. - Improved seed import error handling so valid recovery phrases are not incorrectly reported as invalid when a later setup or secure-storage operation fails. - Enabled the required macOS Keychain entitlements and made non-secret seed-language preference persistence resilient to unavailable secure storage. ## Linux Compatibility - Established Ubuntu 22.04 and GLIBC 2.35 as the compatibility floor for published Linux artifacts. - Built embedded i2pd from pinned source on the supported ABI baseline instead of packaging a binary requiring a newer Linux distribution. - Added fail-closed ELF symbol checks for Flutter bundles, AppImages, command-line tools, Qortal JNI, native FFI, and x86_64 and aarch64 releases. - Fixed the Flatpak Flutter runtime layout that could cause the application to exit without opening. ## Security and Deterministic Builds - Updated audited Rust dependencies, including the patched `h2` release for RUSTSEC-2026-0258. - Tightened Cargo audit and cargo-deny policy while retaining only the documented transitive RSA exception with no available fixed release. - Made Komodo coin, icon, and KDF assets checksum-pinned and hermetic for Flutter builds. - Added one validated Flutter asset preflight for every supported desktop and mobile build. - Standardized unit and widget tests so upstream asset transformers cannot perform unexpected network downloads. - Made tag-derived application versions authoritative and added release gates that reject artifact version drift. ## SDK and Package Delivery - Reduced React Native iOS archive size by removing debug and incremental data, enabling optimized release linking, and stripping nonessential symbols. - Split the oversized combined iOS simulator package into separate arm64 and x86_64 companion packages. - Added strict package allowlists that reject unexpected files, debug bundles, symlinks, incorrect architectures, and oversized payloads. - Updated the React Native package family to version 0.3.2. - Refreshed CLI, Qortal, native FFI, iOS SDK, and Android SDK artifacts to version 0.3.1. - Made Native FFI packaging deterministic by validating the reviewed C ABI, building from Cargo.lock, and removing runner-dependent header generation. - Added an explicit, pinned cbindgen workflow for intentional Native FFI header regeneration. [Read the v1.1.7 release notes](https://github.com/PirateNetwork/Pirate-Unified-Light-Wallet/releases/tag/v1.1.7) [View the full changes since v1.1.7](https://github.com/PirateNetwork/Pirate-Unified-Light-Wallet/compare/v1.1.7...v1.1.8-rc.1)