Shrike 2.5.5-blake2b.20 - updated colors, and the opt-in reads the verified chain
Everything in 2.5.5-blake2b.19, plus Shrike's own colors, corrected icons, and one hardening change to how the opt-in is decided. Signing itself is unchanged.
Opting in on a hardware device needs firmware that implements it. Builds for SeedSigner, Coldcard and Trezor are listed under hardware wallet firmware. An unmarked device still signs, the ordinary way.
Built on upstream Sparrow's 2.5.5 development line, which this release is level with. Upstream's newest release is 2.5.4; 2.5.5 is not released yet.
Updated colors
The interface was upstream's blue throughout, and is Shrike's red now, taken from the site, so the icon, the browser tab and the wallet agree. Colors that carry meaning keep it: the palettes behind the transaction fields and the charts, the network indicators, the server type switches, the syntax colors.
The application icons sit on a red ground, which a launcher needs since the desktop draws it over a background the wallet does not choose. macOS keeps a shaped icon with no ground, as its dock expects.
The opt-in reads the verified chain
Nothing authenticates the tip a server announces, and this decision used to be taken from it. A forged header at or past the activation height could bring the opt-in forward, and transactions signed under it would not verify.
The header store is re-verified from a pinned anchor, so where it has reached the announced height its answer is used instead. Where it is behind, the announcement still decides, because declining there would sign the legacy way, and a signature carrying no replay protection is the worse of the two failures. This is never less protective than before, and more once the store is level.
Also
The Linux packages name this project's maintainer, rather than the one the packaging was inherited from.
Verification
Twenty end to end checks against a Bitcoin Knots v29.4.1.knots20260508 regtest node, every transaction judged by the node rather than by an assertion in the harness. All twenty pass. Unit suites: 1041 tests, no failures.
Builds are reproducible: on a second machine with the same JDK, every file is byte-identical apart from five bytes in the bundled Java runtime that jlink itself varies.
No warranty
This is unofficial, unaudited software provided as is, with no warranty and no liability, under the same Apache 2.0 license it inherits. It is not a Sparrow release and is neither affiliated with nor supported by the Sparrow project, nor by any hardware wallet manufacturer. Using it is entirely at your own risk, and you alone bear any loss of funds.
Verifying this release
If you already have Shrike installed, download SHA256SUMS, SHA256SUMS.asc and your install file into one folder, then drag any of them onto Shrike, or open Tools > Verify Download.
Otherwise, with gpg, adding privkeyio-signing-key.asc to that folder:
gpg --import privkeyio-signing-key.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
Look for Good signature from "Kyle Santiago <kyle@privkey.io>" on key A47D99B6DB0D715D40C59A2023AE8A8EA7E24E38, and OK for your file. The warning that the key is not certified is expected: it means only that you have not marked it trusted yourself.
The macOS builds are not notarized and the Windows installer is not Authenticode signed, so both warn on first run. Reproducible builds: see reproducible.md.