Instructions
This is a mandatory release containing important security, stability, and wallet fixes. Wallet users, full-node and masternode operators, miners, exchanges, and service providers should upgrade as soon as possible.
Please back up your wallet before updating.
Important Spark changes
This release temporarily restricts each Spark spend transaction to a single Spark coin. Spark minting and existing Spark balances remain available. A follow-up release is planned to restore multi-input Spark spends.
If a payment does not fit within one Spark coin, Firo Core can split it into several transactions. Each transaction pays its own fee.
Credits to @carter-0 for the responsible disclosure.
Temporary limitations:
- Spark Coin Control supports at most one manually selected coin. Clear the selection to let the wallet split the payment automatically.
- Fee subtraction is unavailable when a Spark payment needs multiple transactions.
- RPC users can use
spendsparksplitto opt into split payments. It always returns an array of transaction IDs.
Changelog
- Added temporary single-input Spark security hardening, preserved verification of historical Spark transactions, and added wallet and RPC support for splitting larger payments into separate single-input transactions. #1899
- Closed a headers-only validation gap by rejecting malformed FiroPoW headers whose serialized height does not match the height derived from the parent block. #1898
- Added the amount-based Make Private workflow, allowing users to move an exact amount or their maximum eligible transparent balance into Spark. #1891
- Added Spark address and Spark Name message signing and verification to the desktop wallet, with stricter handling of malformed and non-canonical ownership proofs. #1877
- Added support for pasting Firo payment URIs into the recipient field and displaying Rosen Bridge payment metadata. #1874
- Improved wallet responsiveness by preventing GUI stalls during block updates, transaction preparation, proof generation, and sending. #1883
- Substantially improved startup and balance-processing performance for wallets with large Spark histories, with visible wallet-loading progress. #1885, #1886
- Hardened Spark wallet concurrency, memo decoding, proof handling, quorum message parsing, and Spark Name validation. #1879, #1868, #1873
- Improved early reindex performance and prevented macOS App Nap from throttling Firo Core while it is out of focus. #1864, #1867
- Updated the bundled Tor client to 0.4.9.11 and modernized node logging with improved categories, levels, and diagnostics. #1876, #1875
- Included further build-system, dependency, CI, and macOS packaging maintenance. #1872, #1881, #1862, #1861, #1882
Full changelog: v0.14.16.1...v0.14.17.2
BINARIES
- SHA256 Hashes:
- Linux aarch64: b8ef8e070a7ca0bd94525fd45bf1b1a4cf6e40b75350d7ac28467ab93d77244a
- Linux: 153d165de6f0c0fdc20f68561711d05ac6925df143fbc2d0212b9f27e9aaabec
- macOS: d1182ab833277b01b7c20ee280486311e94065165b11c3e0679db24952da76e4
- macOS arm64: 1a32acaca7fa47a12e8ceef58cb28462432c10a9fe9a60de092af31d2c84c99e
- macOS tar.gz: 4c8c3511f998b8e3ff3610d56b22990e5ef71211767e22b2130913c63a2c5e5d
- Windows Installer: cc81a14d53441488c05ed6a1e365bf128bf1963ff350237b1afe82de19e3e9ff
- Windows zip: 8e709e1e9bfa6817be9cb4e2c7ada5c642c414914d6be952367ea90ea7a595b8
- The signatures can be verified using reuben.asc found in root of this repository or on https://firo.org/reuben.asc