Shrike 2.5.5-blake2b.15 - superseded by blake2b.16
Superseded by blake2b.16. Later releases add: report the protection a transaction actually has.
Shrike signing with the unified opt-in signature hash as Bitcoin Knots v29.4.1.knots20260508 defines it, on upstream Sparrow 2.5.5.
Everything in 2.5.5-blake2b.14, plus the release-integrity work below. Nothing a user does changes, so there is no reason to hurry this one if you are already on .14.
Releases cannot ship an incomplete manifest
SHA256SUMS covers every file in a release, and it is what tells you a download was not tampered with. The job that writes it runs even when a build has failed, so that one platform failing does not skip the checksums for the rest. That also meant it would write a manifest for whatever arrived and upload it.
It nearly shipped twice. A Windows build failed and the manifest lost the .msi and .zip; a macOS build failed and it lost the arm64 .dmg. Both were caught by hand, by comparing the manifest against the artifacts before publishing. Anyone on the missing platform would have had a download with no line to check it against.
The manifest is now verified against the set of files a release carries, and the job refuses to upload a short one. It has already caught a real occurrence: a macOS build failed on a transient packaging error, and the job stopped rather than publishing eleven entries where there should be twelve.
The macOS packaging step also retries when hdiutil reports the volume busy, which is the transient behind both of those, so a release is less likely to need a re-run at all.
One chain
Bitcoin hardforked. Describing software that has not adopted the fork as following a separate chain frames it as a different coin, which it is not. The wallet now says what it means throughout, including on the send screen where a signature that can be lifted out is described as spendable against nodes that have not adopted the fork.
Verified
368 wallet and 611 drongo unit tests, nine end to end suites, and the manifest check pinned against six manifests including the short one the failed macOS run actually produced.
Reproducible: this commit built locally with Eclipse Temurin 25.0.2 produces an application tree whose 171 paths, every file and symlink, hash identically to the tree CI published in shrike-2.5.5-x86_64.tar.gz. Only the Linux x86_64 build was reproduced; the archive contents are compared rather than the installers.
Upgrading
From .12 onward the Debian revision carries the release number, so apt can order releases. Coming from .11 or earlier this still needs dpkg:
sudo dpkg -i shrike_2.5.5-15_amd64.deb
/opt/shrike/bin/Shrike --version # expect Shrike 2.5.5-blake2b.15Wallets and configuration in ~/.shrike are untouched.
Downloads
| Platform | File |
|---|---|
| Windows | Shrike-2.5.5.msi, or .zip for a portable copy |
| macOS | Shrike-2.5.5-arm64-unsigned.dmg, or -x86_64-unsigned.dmg for Intel |
| Linux x86_64 | shrike_2.5.5-15_amd64.deb, or -x86_64.tar.gz |
| Linux aarch64 | shrike_2.5.5-15_arm64.deb, or -aarch64.tar.gz |
| Headless | the shrikeserver-* files |
Verify before running:
gpg --import privkeyio-signing-key.asc
gpg --verify SHA256SUMS.asc SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMSSigned by Kyle Santiago kyle@privkey.io, key A47D99B6DB0D715D40C59A2023AE8A8EA7E24E38.
The macOS builds are not code signed or notarized, so macOS reports the app as from an unidentified developer on first launch:
xattr -dr com.apple.quarantine /Applications/Shrike.app
Verify SHA256SUMS first, because clearing quarantine removes the check that would otherwise stop a tampered download. The Windows installer is not Authenticode signed either.
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. Using it is entirely at your own risk, and you alone bear any loss of funds.