SW
← All projectsSparrow

Sparrow Wallet

Desktop Bitcoin wallet focused on security, privacy, multisignature, and hardware signers.

BitcoinHardware integrationSoftware walletsNormal
Repository coverage

411 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

71security candidates271second-pass queue399AI analyses
85commits · 30 days
152commits · 60 days
250commits · 180 days
405commits · 365 days
Backfill bands
Aug 5 → Feb 6100 seen9 candidatesComplete
Feb 6 → Jun 6128 seen15 candidatesComplete
Jun 6 → Jul 67 seen1 candidatesComplete
Jul 6 → Aug 546 seen8 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

48/100 average clarity
0Strong · 80–100
35Adequate · 60–79
325Thin · 40–59
51Opaque · 0–39
2security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Craig Raw39767385648
doblon8313048
nzb-tuxxx212060
Michele Balistreri212048
nroktib111050
Liz Lightning202045
PeterXMR101045
Ian McKenzie101050
ottosch101050
craigraw101060
Analysis record

Published AI watches

Last scanned 29 minutes ago

Informational 17 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

remove the surplus signatures progress bar segments a finalized multisig transaction discards

This commit fixes a UI display bug in Sparrow Wallet's signature progress bar. When a multi-signature Bitcoin transaction becomes finalized, extra signatures beyond the required threshold are discarded. Previously, the progress bar did not…

UI state desynchronization after multisig finalizationProgress bar segment count mismatch with actual signature setNo change to cryptographic or transaction validation code
40f77206by Craig Raw+9−12 files
No security note in commit
Informational 15 AI analysisMessage 38 · Opaque
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

bump to v2.5.6

This commit is a routine version bump from 2.5.5 to 2.5.6. It only changes version strings in four files (build configuration, documentation, macOS app metadata, and a Java source constant). There are no code logic changes, no bug fixes, a…

f7f36d00by Craig Raw+4−44 files
No security note in commit
Informational 17 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

use a framerate-capped interpolated timeline for the server toggle and wallet tab loading pulse animations, and stop any running server toggle pulse before starting a new one

This commit tweaks two visual animations in the Sparrow Wallet desktop app: the server connection toggle pulse and the wallet loading pulse. It caps how often the screen is redrawn during the pulse and makes sure any already-running pulse …

Resource-consumption / performance hardening: capped animation framerate reduces CPU/GPU load from continuous 60 Hz redraws.State-management hardening: stopping an existing pulse before starting a new one prevents accumulation of running Timelines.No direct security flaw is present in the diff; signals are defensive-hardening in nature.
4da29f4eby Craig Raw+7−132 files
No security note in commit
Low 45 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

cut pasted amounts to the unit precision in the send tab and send to many, and stop the csv import skipping fractional sats and exponent amounts

This commit fixes how Sparrow Wallet handles pasted or imported Bitcoin amounts. Previously, very small or oddly formatted amounts (like scientific notation '1e-8' or fractional satoshis) could be misread or silently skipped during CSV imp…

Amount parsing inconsistency between UI paste and CSV importSilent swallowing of NumberFormatException could skip payment rowsUse of Double.parseDouble for monetary amounts
9e999d3fby Craig Raw+39−362 files
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add a system theme option that follows the os light or dark setting, and make it the default for new installs

This commit adds a new 'System' theme option to the Sparrow Wallet desktop app that automatically follows the operating system's light or dark mode setting, and makes it the default for new installations. It also updates various UI compone…

a573f22aby Craig Raw+90−3215 files
No security note in commit
Low 36 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

refuse bitbox02 keystore import and discovery for legacy p2sh and p2pkh wallets it cannot sign for, and hide those script types from the device import menus

This commit tightens how Sparrow Wallet handles BitBox02 hardware wallets when working with older Bitcoin address formats (legacy P2PKH and P2SH). Previously, the app could let a user import or discover a wallet that the BitBox02 cannot ac…

Prevents user from configuring a signing device for wallet types the device cannot sign forCould avoid funds becoming unspendable or requiring complex recovery if a user unknowingly imported an unsupported legacy script typeReplaces hard-coded device-specific logic with a generic capability model, reducing future similar issues
de169b18by Craig Raw+23−73 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

reject unknown command line options and values given to flags with an error and exit code instead of starting on the default network, and accept the --option=value form

This commit tightens how Sparrow Wallet handles command-line arguments. Previously, typos or unexpected values could silently be ignored, causing the wallet to start on the default Bitcoin network instead of the one the user intended. Now,…

Command-line argument parsing now rejects unknown options instead of silently ignoring themBoolean flags now reject `--flag=value` forms that would otherwise silently pass the value through as a file/URI argumentProgram now exits with non-zero status on argument errors, reducing risk of unintended default-network startup
46197586by Craig Raw+26−12 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

ignore amount digits beyond the selected unit precision in the send tab amount and fee fields and the send to many grid, instead of truncating them in the payment

This commit fixes a UI bug in the Sparrow Bitcoin wallet where typing or pasting too many decimal digits into amount or fee fields could be silently truncated, potentially causing a user to send a different amount than they saw on screen. …

Precision-loss / truncation bug in financial input fieldsUser-facing amount/fee mismatch between displayed value and parsed valueInput validation now tied to unit-specific precision (satoshis indivisible)
6cde97adby Craig Raw+48−315 files
No security note in commit
Low 41 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

derive public keys from the seed when importing a sparrow wallet file

This commit changes how Sparrow Wallet restores its own wallet files. Previously, when importing a Sparrow wallet file, the public keys (used to find transactions and addresses) might not be correctly rebuilt from the seed phrase. The fix …

Correctness fix for key material restoration during wallet importAdds test coverage for encrypted and unencrypted seed-based wallet importAdds test coverage for watch-only wallet import
1fb4e8bbby Craig Raw+149−23 files
No security note in commit
Informational 21 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add file import of the xpub descriptor jade writes to usb storage

This commit adds the ability to import a Bitcoin wallet's extended public key (xpub) into Sparrow Wallet from a file written by a Blockstream Jade hardware wallet via USB storage. Previously, Jade only supported QR-code import. The change …

New file import path parses external descriptor data and converts it to a keystoreScript type mismatch is explicitly rejected with an IllegalArgumentExceptionSilent payments policy (SINGLE_SP) is explicitly rejected
c4b53879by Craig Raw+74−44 files
No security note in commit
Low 34 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

include the non-witness utxo in psbts for krux keystores, and in the qr display when the psbt has more than one input

This commit changes how Sparrow Wallet builds QR codes for partially-signed Bitcoin transactions (PSBTs). For certain hardware wallets (Krux), it now includes extra data (the full previous transaction, called 'non-witness utxo') in the QR …

Hardware wallet signing correctness: missing non-witness UTXO data can cause some signers to reject or mis-handle multi-input segwit PSBTsQR payload size increase: larger QR codes may be harder to scan reliably, potentially affecting usabilitySubproject update (drongo) likely contains related serialization logic changes
0e2c402fby Craig Raw+4−32 files
No security note in commit
Low 35 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

clear a scanned wallet when a file, text payload or unrecognised qr is imported in the same pane

This commit fixes a UI state bug in Sparrow Wallet's import pane. Previously, when a user scanned or imported a wallet and then imported a non-wallet file, text payload, or unrecognized QR code in the same pane, the previously loaded walle…

Stale UI state could mislead users about which wallet is loadedCross-import state retention in single import paneUser interface consistency fix with security-relevant consequences
d7ded1e7by Craig Raw+4−21 file
No security note in commit
Low 35 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

lock the cormorant store against client connection reads and serve history as a copy, and close the client socket however its handler exits

This commit fixes two reliability issues in Sparrow Wallet's built-in Electrum server (Cormorant). First, it makes sure the internal transaction store is locked while being read or updated, and returns a fresh copy of a wallet's history so…

Concurrency: shared mutable store accessed by client handler and polling threads now synchronizedData consistency: history returned as a defensive copy to avoid iterator seeing concurrent modificationsResource leak: client socket now closed in finally block regardless of exception path
6cc4d50aby Craig Raw+57−94 files
No security note in commit
Low 44 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

ensure cormorant responses and notifications are always serialized per client connection

This commit fixes a race condition in Sparrow Wallet's built-in Electrum server (Cormorant). Previously, a response to a wallet client and an asynchronous notification (like a new block or a balance update) could be written to the same net…

Race condition on shared socket output streamConcurrent writes from RPC response path and event-bus notification pathPotential interleaving/framing of JSON-RPC messages on same TCP connection
6d9d3014by Craig Raw+146−303 files
No security note in commit
Low 27 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

wake a silent payments history waiter when a failed widening restores a completed scan, rather than leaving it parked for the session

This commit fixes a bug in Sparrow Wallet's silent-payments scanning cache. If a background scan had already finished, then a later 'widening' request to extend the scan failed and rolled back, any history request that arrived during the f…

Concurrency / condition-variable waiter starvationSilent-payments history lookup hang / wallet UI unresponsivenessFailure-recovery path missing signal on rollback
7868a94dby Craig Raw+100−122 files
No security note in commit
Informational 18 AI analysisMessage 60 · Adequate
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

guard a short server.version response in the desktop and terminal connection tests

This commit fixes a minor crash bug in Sparrow Wallet's connection-test screens. Previously, if a Bitcoin Electrum server answered the version request with an unusually short response, the wallet would try to read list items that didn't ex…

Input validation hardening for external server responseIndexOutOfBoundsException prevented in UI feedback pathNo cryptographic, authentication, or transaction logic touched
66348fafby Craig Raw+4−42 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

omit a paynym contact whose payment code does not parse rather than keeping it with a null code or failing the whole paynym response

This commit fixes a bug in Sparrow Wallet's PayNym (BIP47 reusable payment code) contact handling. Previously, if a single contact in your PayNym following/followers list had a malformed payment code, the app either kept a broken contact w…

Null payment code previously stored in contact objectPotential NullPointerException or downstream dereference of null PaymentCode in contact lists/searchWhole PayNym response could fail on one malformed contact
94ebb849by Craig Raw+43−114 files
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

skip the exchange currencies request in offline mode in the desktop and terminal general settings

This change stops Sparrow Wallet from trying to fetch live fiat-currency exchange rates when the user has explicitly chosen 'offline mode'. Instead of making a network request that is doomed to fail, it now reuses the currency already save…

Avoids unnecessary network egress in offline modeReduces error/warning noise for expected offline behavior
b91f7993by Craig Raw+15−12 files
No security note in commit
Low 37 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

skip addresses already given out under a label and widen the gap limit on an explicit advance in the terminal receive dialog

This commit fixes two related Bitcoin wallet behaviors in Sparrow. First, when you ask for a new receive address, the wallet now skips any address that already has a label, because a label means that address was already given to someone. P…

Address reuse prevention: labeled-but-empty addresses are now skipped consistently across desktop and terminal receive flowsGap-limit widening on explicit advance reduces risk of missing funds during wallet recovery/rescanLogic centralized in WalletForm to reduce UI-specific divergence
cae870ceby Craig Raw+85−164 files
No security note in commit
Low 44 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

cap bbqr display and pdf encodings at the 1295 parts the header can number, using larger parts for data that needs more rather than emitting a sequence that cannot be reassembled

This commit fixes a bug in Sparrow Wallet's BBQ QR code format. Previously, if a large transaction or data blob needed more than 1,295 QR-code-sized pieces, the app would generate pieces with impossible sequence numbers that could not be r…

Integer/sequence-number overflow-like limit violation in a data-encoding protocolPotential denial-of-service or data-integrity failure when exporting large transactions via QRRound-trip unit test added to prevent regression
4b5326d8by Craig Raw+27−12 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

Lower-priorityupgrade commons-compress to v1.28.0by Craig Raw · 3498b5ba · Mar 4, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Craig Raw

upgrade commons-compress to v1.28.0

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit simply bumps the version of a third-party Java library called Apache Commons Compress from 1.27.1 to 1.28.0 in the project's build file. There is no information in the commit itself saying this fixes a security problem, and no verified security references were provided. It is a routine dependency update.

Lower-priorityupgrade commons-lang3 to v3.20.0by Craig Raw · 74635b1d · Mar 4, 2026 · 2 filesMessage 45 · ThinInformational 7Details
Commit message · Craig Raw

upgrade commons-lang3 to v3.20.0

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 7/100

This commit simply bumps the version of a common Java helper library (Apache Commons Lang3) from 3.19.0 to 3.20.0 in the project's build file. There is no code change shown, and no security issue is mentioned or identifiable from the diff alone.

AI review queuedupgrade jdbi to v3.51.0by Craig Raw · 229c6430 · Mar 4, 2026 · 2 filesMessage 38 · OpaqueModerate 57Details
Commit message · Craig Raw

upgrade jdbi to v3.51.0

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Moderate 57/100

This commit upgrades a database library (jdbi) and adds a new validation step that checks a Sparrow wallet file's embedded H2 database for unexpected objects such as custom routines, triggers, check constraints, non-base tables, generated columns, and domains. It also tightens a filename check to inspect the full wallet file path. These changes look like hardening against a maliciously crafted wallet file, but the commit message only says 'upgrade jdbi to v3.51.0' and does not explain the security relevance. No advisory or CVE is referenced in the materials.

Lower-priorityupgrade hikaricp to v7.0.2by Craig Raw · c74abfee · Mar 4, 2026 · 1 fileMessage 45 · ThinLow 25Details
Commit message · Craig Raw

upgrade hikaricp to v7.0.2

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 25/100

This commit updates a database connection-pooling library called HikariCP from version 4.0.3 to 7.0.2 in the project's build file. Such upgrades are often done to pick up bug fixes, performance improvements, or security patches, but the commit message itself does not say this is a security fix, and no specific vulnerability is referenced.

Lower-priorityupgrade openpdf to v1.3.43by Craig Raw · c78bc7b1 · Mar 4, 2026 · 1 fileMessage 45 · ThinLow 47Details
Commit message · Craig Raw

upgrade openpdf to v1.3.43

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 47/100

This commit simply bumps the version of a PDF library called OpenPDF from 1.3.30 to 1.3.43 in the project's build file. It is a routine dependency update. The commit itself does not say why the upgrade was made, and no security advisory or vulnerability details are provided. It may include bug or security fixes from the newer OpenPDF release, but that cannot be confirmed from this change alone.

AI review queuedupgrade jna to v5.18.1by Craig Raw · 87cd96a6 · Mar 4, 2026 · 1 fileMessage 38 · OpaqueInformational 0Details
Commit message · Craig Raw

upgrade jna to v5.18.1

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 0/100

This commit appears to be a routine dependency upgrade of the JNA (Java Native Access) library to version 5.18.1. No diff content was provided, and no verified references link this change to any security issue. There is not enough information to assess whether this is a security-relevant patch or a normal maintenance update.

Lower-priorityupgrade slf4j-api and jul-to-slf4j to v2.0.17by Craig Raw · 7ae04a25 · Mar 4, 2026 · 3 filesMessage 45 · ThinInformational 15Details
Commit message · Craig Raw

upgrade slf4j-api and jul-to-slf4j to v2.0.17

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit simply updates two logging helper libraries (SLF4J) from version 2.0.12 to 2.0.17. There is no indication in the commit itself that this fixes any security issue. It appears to be a routine dependency maintenance change.

AI review queueddetect algorithm on provided certificate when checking for ca certby Craig Raw · d4c0df0d · Feb 28, 2026 · 1 fileMessage 50 · ThinModerate 59Details
Commit message · Craig Raw

detect algorithm on provided certificate when checking for ca cert

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: broader security terminologysecond-pass: security-sensitive path
AI analysis · Moderate 59/100

This commit fixes a certificate validation bug in Sparrow Wallet's TLS code. Previously, the app always told Java's certificate checker to expect an RSA-based certificate, even when the server presented an Elliptic Curve (EC) certificate. That mismatch could cause valid EC-secured servers to be rejected or, in some situations, weaken the validation path. The patch now detects the certificate's actual algorithm and passes the correct value ('ECDHE_ECDSA' for EC, 'RSA' otherwise).

AI review queuedadd hostname verification for ca-validated tls connectionsby Craig Raw · dc88dc4e · Feb 28, 2026 · 2 filesMessage 60 · AdequateHigh 74Details
Commit message · Craig Raw

add hostname verification for ca-validated tls connections

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: broader security terminologysecond-pass: security-sensitive path
AI analysis · High 74/100

This commit fixes a bug in Sparrow Wallet's encrypted network connections. When the wallet connected to a server through a proxy (like Tor), it accidentally checked the proxy's identity instead of the actual server's identity. It also adds proper hostname verification for connections that use standard certificate authorities. Without these checks, a malicious actor controlling a proxy or network path could trick the wallet into trusting the wrong server, potentially exposing transaction data or balances.

AI review queueduse ca validation or tofu pinning for public servers depending on certificate typeby Craig Raw · a478edfa · Feb 27, 2026 · 6 filesMessage 50 · ThinModerate 52Details
Commit message · Craig Raw

use ca validation or tofu pinning for public servers depending on certificate type

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: broader security terminologysecond-pass: security-sensitive path
AI analysis · Moderate 52/100

This commit changes how Sparrow Wallet validates TLS certificates when connecting to public Electrum servers. Previously, the app avoided saving certificates for public servers and relied on user-approved certificate 'pinning' (TOFU). Now it tries to use normal certificate authority (CA) validation for public servers that have CA-signed certificates, while still using pinning for self-signed certificates. The change also deletes a saved pinned certificate if it expires on a public server, so the app can fetch a fresh, CA-validated one. This is a security-hardening change, not an obvious vulnerability fix, though the prior behavior could have made man-in-the-middle attacks against public servers easier if users routinely accepted changed certificates.

AI review queuedimplement tofu certificate pinning for tls bitcoin core connectionsby Craig Raw · 46d44461 · Feb 19, 2026 · 4 filesMessage 50 · ThinModerate 59Details
Commit message · Craig Raw

implement tofu certificate pinning for tls bitcoin core connections

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: broader security terminologysecond-pass: security-sensitive path
AI analysis · Moderate 59/100

This commit adds certificate pinning for secure (TLS) connections to Bitcoin Core in the Sparrow Wallet. Previously, Sparrow trusted any certificate when talking to a user's own Bitcoin Core node over HTTPS, which could allow a network attacker to impersonate that node and intercept or alter wallet traffic. Now Sparrow records the first certificate it sees (a 'trust on first use' or TOFU model) and checks that future connections present the same certificate. It also keeps Electrum server certificates separate from Bitcoin Core ones. This is a security improvement, not a vulnerability being introduced.

AI review queuedescape backticks in schema name for drop schema statementby Craig Raw · 78fe5578 · Feb 18, 2026 · 2 filesMessage 50 · ThinModerate 59Details
Commit message · Craig Raw

escape backticks in schema name for drop schema statement

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Moderate 59/100

This commit fixes a bug where a wallet name containing a backtick character could break or manipulate the SQL command used to delete a wallet account. The fix both prevents users from typing backticks into wallet names and safely escapes any backtick that already exists before running the database command. This is a defensive hardening change rather than a confirmed remote attack.

AI review queuedbind cormorant server to localhost onlyby Craig Raw · cd0be365 · Feb 18, 2026 · 1 fileMessage 45 · ThinHigh 74Details
Commit message · Craig Raw

bind cormorant server to localhost only

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · High 74/100

This commit fixes a networking issue in Sparrow Wallet's built-in 'cormorant' Electrum server so it now listens only on the local computer (localhost) instead of on all network interfaces. Previously, the server could accept connections from other devices on the same network, which could let an attacker or another user on the network interact with the wallet's internal server without the user's knowledge.

AI review queuedbump to v2.4.2by Craig Raw · b9d62c0b · Feb 17, 2026 · 4 filesMessage 38 · OpaqueInformational 15Details
Commit message · Craig Raw

bump to v2.4.2

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine version bump from 2.4.1 to 2.4.2. It only changes version strings in build files, macOS packaging metadata, and the application's internal version constant. There are no code logic changes, no bug fixes, and no security-related modifications.

AI review queuedsuggest configuring a custom wallets directory when opening a wallet from a non-default locationby Craig Raw · 53d1f196 · Feb 17, 2026 · 3 filesMessage 50 · ThinInformational 15Details
Commit message · Craig Raw

suggest configuring a custom wallets directory when opening a wallet from a non-default location

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit adds a user-facing convenience feature: when you open a wallet file from a folder that is not Sparrow's default wallets folder, Sparrow now asks if you want to make that folder your new default wallets directory. It also lets you save a custom wallets directory in settings. There is no security bug being fixed here—this is purely a usability improvement.

AI review queuedrecognise renamed linux packages for file verify drag and dropby Craig Raw · 64b8da14 · Feb 16, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · Craig Raw

recognise renamed linux packages for file verify drag and drop

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit updates Sparrow Wallet's download verification tool so it recognises additional Linux package filenames when users drag-and-drop files to verify. Previously only names starting with 'sparrow-' or 'sparrow_' were accepted; now 'sparrowwallet-', 'sparrowwallet_', 'sparrowserver-', and 'sparrowserver_' are also accepted. There is no security vulnerability here—it is a straightforward compatibility/usability improvement.

AI review queuedhandle import of samourai wallet backup file with extraneous appended databy ottosch · 529cc3d6 · Feb 12, 2026 · 1 fileMessage 50 · ThinLow 35Details
Commit message · ottosch

handle import of samourai wallet backup file with extraneous appended data

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 35/100

This commit changes how Sparrow Wallet imports a Samourai wallet backup file. Previously, if the backup file contained any extra characters after the closing JSON brace, the import would fail. The new code tries to parse the file as-is, and if that fails, it trims everything after the first closing brace and tries again. This is a robustness fix for malformed or padded backup files, not a clear-cut security patch. It could, in theory, hide malicious trailing content from the parser, but there is no direct evidence in the commit that this trailing content is dangerous or that the change is intended to address a security vulnerability.

Security candidateadd keepkey passphrase supportby Craig Raw · e13fe897 · Feb 12, 2026 · 1 fileMessage 35 · OpaqueInformational 2Details
Commit message · Craig Raw

add keepkey passphrase support

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
access control
AI analysis · Informational 2/100

This commit appears to add support for using a passphrase with KeepKey hardware wallets in Sparrow Wallet. A passphrase is an extra word added to a wallet seed for additional security. No actual code diff was provided, so we cannot assess whether the change was implemented safely or unsafely. Based only on the title and one-line description, there is no visible security issue.

AI review queuedcheck wallet file names on openby Craig Raw · dac1a616 · Feb 12, 2026 · 2 filesMessage 45 · ThinModerate 56Details
Commit message · Craig Raw

check wallet file names on open

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Moderate 56/100

This commit tightens what characters are allowed in Sparrow wallet file names. It appears to block a way that a specially crafted wallet file name could inject extra commands into the H2 database connection string (JDBC URL), which might let an attacker who can get a user to open a maliciously named wallet file perform unexpected database operations. The patch is defensive and partial: it adds a blocklist for semicolon-prefixed parameters in the file name and also removes the semicolon from allowed characters when naming wallets.

AI review queuedavoid triggering repeated layout passes in address chunking skinsby Craig Raw · 227c7ae6 · Feb 11, 2026 · 3 filesMessage 50 · ThinInformational 19Details
Commit message · Craig Raw

avoid triggering repeated layout passes in address chunking skins

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit makes a small JavaFX UI tweak in three address-display components. It marks an internal 'TextFlow' layout node as 'unmanaged,' which stops it from participating in automatic layout calculations. The stated goal is to prevent repeated layout passes when addresses are shown in chunked groups. There is no indication this fixes a security vulnerability, and no exploit path is visible from the change.

AI review queuedbump to v2.4.1by Craig Raw · e11675b9 · Feb 10, 2026 · 4 filesMessage 38 · OpaqueInformational 15Details
Commit message · Craig Raw

bump to v2.4.1

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine version bump from 2.4.0 to 2.4.1 for the Sparrow Wallet application. It updates version strings in the build file, macOS app metadata, and the application's Java code, plus refreshes documentation about which Java version to use for reproducible builds. There are no code changes that affect wallet security, transaction handling, or user data.

AI review queuedimprove context menu item text fill on dark theme for default split menu buttonsby Craig Raw · 146e6cbd · Feb 9, 2026 · 7 filesMessage 50 · ThinInformational 15Details
Commit message · Craig Raw

improve context menu item text fill on dark theme for default split menu buttons

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a purely cosmetic fix for the Sparrow Wallet desktop application. It makes sure that when using the dark theme, the text on menu items attached to certain default-style buttons is colored white so it remains readable. There is no security issue here.

AI review queuedbump to v2.4.0by Craig Raw · e4fa0c93 · Feb 9, 2026 · 3 filesMessage 38 · OpaqueInformational 15Details
Commit message · Craig Raw

bump to v2.4.0

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine version bump from 2.3.2 to 2.4.0. It only changes three version number strings in build files and source code. There is no functional code change, no bug fix, and no security-related modification.

AI review queuedfinal address chunk contrast tweakingby Craig Raw · 30719c5a · Feb 9, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Craig Raw

final address chunk contrast tweaking

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a purely cosmetic tweak to the dark theme's color settings. It slightly darkens the alternate color used when Bitcoin addresses are displayed in chunks, improving visual contrast. There is no security relevance.

Security candidateremove extension-less file associations which are no longer supported by jpackageby Craig Raw · a120d08e · Feb 6, 2026 · 4 filesMessage 50 · ThinInformational 17Details
Commit message · Craig Raw

remove extension-less file associations which are no longer supported by jpackage

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Informational 17/100

This commit removes Sparrow Wallet's installer associations for handling 'bitcoin:', 'lightning:', and 'auth47:' web-style links. The change was made because the packaging tool (jpackage) no longer supports these extension-less file associations. This is a compatibility/build cleanup, not a security fix. A side effect is that after installing future Sparrow versions, clicking these link types in a browser may no longer automatically open Sparrow, depending on the platform and how the installer is configured.