XMR
← All projectsMonero Project

Monero GUI

Official graphical Monero wallet and its release-build integration.

MoneroPrivacy protocolsSoftware walletsNormal
Repository coverage

138 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.

12security candidates46second-pass queue58AI analyses
34commits · 30 days
43commits · 60 days
110commits · 180 days
138commits · 365 days
Backfill bands
Sep 27 → Mar 3127 seen0 candidatesComplete
Mar 31 → Jul 2961 seen8 candidatesComplete
Jul 29 → Aug 287 seen2 candidatesComplete
Aug 28 → Sep 2715 seen1 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.

49/100 average clarity
6Strong · 80–100
14Adequate · 60–79
101Thin · 40–59
17Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Thomas636178
selsta81628048
tobtoht2328052
Cole Munz111073
SChernykh10010028
jpk68902046
plowsof403051
наб100081
munzzyy100083
reservedbytes100050
Balló György100068
Analysis record

Published AI watches

Last scanned 21 minutes ago

Moderate 59 AI analysisMessage 51 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4645

This change fixes a bug in the Monero wallet setup wizard. Previously, when restoring or creating a wallet from seed/keys, the wallet was first saved with a blank or temporary password before the user's chosen password was applied. If appl…

Wallet file created with empty/blank password before user password is appliedFailure to set user password does not prevent wallet file from being savedSensitive on-disk artifact (wallet file) may be protected by weaker credentials than intended
d7c2f13dby tobtoht+14−93 files
No security note in commit
Informational 17 AI analysisMessage 51 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4687

This commit updates the Monero GUI wallet's message-signing screen so that when a user verifies a signature, the app now reports extra details: whether the signature is valid, which key type was used (spend key, view key, or unknown), and …

UI-only change to signature verification feedbackNo modification to cryptographic verification logicNew method exposes already-existing signature metadata (key type, version, old algorithm flag)
485a102cby tobtoht+50−133 files
No security note in commit
Low 35 AI analysisMessage 51 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4709

This change adjusts how the Monero GUI wallet stores and passes login credentials for remote daemon connections. Previously, daemon username/password and 'trusted daemon' status were kept as persistent properties on the wallet object and r…

Credential scoping/lifetime reductionRemoval of persistent daemon login state from wallet objectDefense against cross-connection credential reuse
a5c305deby tobtoht+7−63 files
No security note in commit
Informational 19 AI analysisMessage 59 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4693

This commit fixes a display bug in the Monero GUI wallet's transaction history. Previously, when sorting transactions by block height, failed transactions were incorrectly treated like pending ones and shown at the top of the list. The fix…

UI display logic correction for transaction state classificationTightened conditional for treating transactions as pendingNo memory safety, cryptographic, or authorization changes observed
baef8be9by tobtoht+14−52 files
No security note in commit
Informational 15 AI analysisMessage 51 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4692

This commit is a user-interface improvement for the Monero GUI wallet's transaction history screen. It changes how outgoing payments with multiple recipients are displayed, searched, and copied. There is no security vulnerability here; it …

0f8a1cf4by tobtoht+84−185 files
No security note in commit
Moderate 58 AI analysisMessage 51 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4690

This update fixes a timing bug in the Monero wallet's send screen. If a user quickly changed or cancelled a payment while a transaction was still being prepared in the background, the wallet could accidentally show or use the wrong transac…

Race condition between asynchronous transaction creation and UI state changesUse-after-free / dangling pointer risk from stale PendingTransaction objectsPotential wrong-transaction confirmation or commit due to stale async result
c72adf62by tobtoht+57−243 files
No security note in commit
Informational 21 AI analysisMessage 51 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Merge pull request #4665

This commit adds a feature that lets users scan a QR code to restore a Monero wallet from its secret keys. The change itself is a feature addition, not a fix for a known vulnerability. There is one minor security-relevant detail: the QR co…

New QR URI parser handles secret keys (secret_view_key, secret_spend_key) and restore heightAddress validation is performed before accepting parsed restore URIScheme changed from monero_wallet: to monero-wallet:
68327c0aby tobtoht+52−13 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

p2pool v4.18.1

This commit simply updates the Monero GUI wallet's built-in downloader to fetch a newer version of the bundled P2Pool mining software (from v4.18 to v4.18.1) and updates the matching file hashes. There is no indication in the commit itself…

8d95b8a4by SChernykh+12−121 file
No security note in commit
Low 34 AI analysisMessage 50 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Wallet: keep daemon credentials scoped to each connection

This commit changes how the Monero GUI wallet stores and uses login credentials for remote nodes (servers that help the wallet talk to the Monero network). Previously, the wallet kept daemon username/password as persistent wallet-level set…

Credential scoping change: daemon username/password no longer stored as persistent wallet state for connection reuseRemoval of setDaemonLogin() call from QML remote-node selection pathDaemon credentials now captured per-init and passed directly to underlying wallet implementation
10b08b3bby selsta+7−63 files
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

TransactionHistoryModel: only place pending tx first

This commit fixes a display bug in the Monero GUI wallet's transaction history list. Previously, failed transactions were being shown at the top of the list alongside pending transactions, because any transaction without a confirmed block …

UI presentation bug, not a memory-safety or cryptographic issueNo attacker-controlled input parsing changedNo privilege escalation, authentication, or authorization logic modified
27328f36by selsta+6−51 file
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

History: improve display of transactions with multiple recipients

This commit is a user-interface improvement for the Monero GUI wallet's transaction history screen. It changes how outgoing payments to multiple recipients are displayed, searched, and copied. There is no security vulnerability here; it is…

a3dc3882by selsta+84−185 files
No security note in commit
Low 42 AI analysisMessage 50 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Wallet: fix send confirmation stale transaction race

This patch fixes a race condition in the Monero GUI wallet's send screen. If a user quickly changed send details or canceled a transaction while an earlier transaction was still being prepared in the background, the wallet could mix up the…

Race condition between asynchronous transaction creation and UI state changesPotential use of stale PendingTransaction object after cancellation/replacementMemory leak via undisposed PendingTransaction objects on rejection paths
3f2d9794by selsta+57−243 files
No security note in commit
Informational 15 AI analysisMessage 35 · Opaque
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

workflows: fix Windows build

This is a routine GitHub Actions CI fix for the Windows build. It adds the 'rust:p' package to the list of MSYS2 packages installed during the build. There is no security-relevant change visible in the diff.

dc9f980bby selsta+1−11 file
No security note in commit
Moderate 59 AI analysisMessage 45 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

updater: use proxy for signed hash downloads

This change fixes a privacy leak in the Monero GUI wallet's update checker. Previously, when the wallet checked for updates and downloaded the signed list of official file hashes, it did not route that request through the user's configured…

Privacy leak: update metadata fetch bypassed user-configured proxyProxy setting now propagated to signed hash download pathPotential deanonymization of users who rely on proxy for network privacy
5e5ea68fby selsta+19−67 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

p2pool v4.18

This commit simply updates the Monero GUI's built-in downloader to fetch a newer version (4.18) of the bundled P2Pool mining software. It changes download URLs and the expected file hashes to match the new release. There is no indication o…

ddd080e3by SChernykh+12−121 file
No security note in commit
Moderate 58 AI analysisMessage 50 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

Transfer: disable offline signing for hardware wallets

This commit removes the 'Sign (offline)' button for hardware wallets in the Monero GUI wallet. The change prevents users from attempting an unsupported operation that could lead to failed or unsafe transactions when using a Ledger/Trezor-l…

UI control disabled for hardware-wallet-backed walletsReported by external party (zkao / zkSecurity)Prevents use of an operation likely unsupported by hardware wallet signing flow
66fab82cby selsta+1−11 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

wizard: simplify restore QR scanner layout

This commit is a straightforward user-interface cleanup in the Monero wallet restore wizard. It replaces a third radio-button option ('Restore from QR Code') with a dedicated QR scan button, simplifying the layout. There is no security-rel…

88324856by selsta+14−151 file
No security note in commit
Low 27 AI analysisMessage 50 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

wizard: support key-based monero-wallet restore QR codes

This commit adds a feature to the Monero GUI wallet that lets users scan a QR code to restore a wallet from its secret keys. The change itself is a feature addition, not a direct security fix. However, it handles extremely sensitive data (…

Parsing of URI-encoded secret key material from QR codesManual URI/query-string parsing instead of using a hardened parserUse of decodeURIComponent on untrusted QR code data
a33f2421by selsta+52−13 files
No security note in commit
Informational 23 AI analysisMessage 68 · Adequate
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

wizard: fix restore from QR code

This commit fixes a broken feature in the Monero wallet's setup wizard that restores a wallet by scanning a QR code. The feature had been completely non-functional since a prior redesign because the code that processes the scanned QR code …

No security-relevant signals in the diff or commit messageFixes a broken user-facing feature (restore from QR code)Adds null-safety for extra_parameters to prevent crashes on bare-address QR codes
fbe4c084by Thomas+18−252 files
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
XMR Monero ProjectMonero GUI MoneroPrivacy protocolsSoftware wallets

tests: add QML wallet wizard coverage

This commit adds automated user-interface tests for the Monero wallet setup wizard. It does not change how real users create or open wallets; it only adds test code and exposes a few internal UI control names so the tests can interact with…

0eef8dacby selsta+686−217 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-prioritycmake: set Qt 5.12 as minimumby selsta · 053a6d43 · Jan 19, 2026 · 2 filesMessage 45 · ThinTriage 0Details
Commit message · selsta

cmake: set Qt 5.12 as minimum

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
Lower-prioritycmake: warn if qmake has -qt5 suffix during deployby selsta · dfe7f302 · Jan 15, 2026 · 2 filesMessage 65 · AdequateTriage 0Details
Commit message · selsta

cmake: warn if qmake has -qt5 suffix during deploy

Also make sure that windeployqt only runs when make deploy
is executed.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Lower-priorityPasswordDialog: fix lack of focus on window changeby selsta · 2f3e9abe · Jan 14, 2026 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · selsta

PasswordDialog: fix lack of focus on window change

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritybuild: prepare v0.18.4.5by selsta · 7db51361 · Jan 5, 2026 · 4 filesMessage 50 · ThinTriage 0Details
Commit message · selsta

build: prepare v0.18.4.5

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedp2pool v4.13by SChernykh · 9384dc9d · Dec 18, 2025 · 1 fileMessage 28 · OpaqueInformational 16Details
Commit message · SChernykh

p2pool v4.13

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 16/100

This commit simply updates the Monero GUI's built-in downloader to fetch a newer version (v4.13) of the bundled P2Pool mining software. It changes download URLs and the expected file hashes to match the new release. There is no visible security bug or malicious change in the diff itself, but any update that downloads and runs external binaries carries a small inherent supply-chain risk if the upstream release or hashes were ever compromised.

Lower-prioritywallet: add new ledger nano gen5by plowsof · c3b984e1 · Dec 3, 2025 · 3 filesMessage 45 · ThinTriage 0Details
Commit message · plowsof

wallet: add new ledger nano gen5

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritymacOS: support dark mode againby selsta · ef406624 · Dec 1, 2025 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · selsta

macOS: support dark mode again

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityDockerfile.linux: bump hidapi to 0.15.0by tobtoht · d7a3a61b · Nov 22, 2025 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · tobtoht

Dockerfile.linux: bump hidapi to 0.15.0

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-priorityDon't try negative numbers when translating "%n second(s) ago"-style stringsby наб · 1cce66f8 · Nov 15, 2025 · 1 fileMessage 81 · StrongTriage 0Details
Commit message · наб

Don't try negative numbers when translating "%n second(s) ago"-style strings

When the local clock is running behind,
transactions may appear to have been confirmed in the future,
which seems to leave the %n in "%n second(s) ago" unreplaced,
so round negative times ago to 0

Ref: #3284

81/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Lower-prioritycmake: update deploy icu versionby selsta · aa5b20ef · Nov 12, 2025 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · selsta

cmake: update deploy icu version

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Lower-prioritybuild: prepare v0.18.4.4by selsta · 2ae9d3f6 · Nov 12, 2025 · 4 filesMessage 50 · ThinTriage 0Details
Commit message · selsta

build: prepare v0.18.4.4

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedp2pool v4.12by SChernykh · 7c6138ea · Nov 5, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · SChernykh

p2pool v4.12

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit simply updates the Monero GUI wallet to download and verify version 4.12 of the bundled P2Pool mining software instead of version 4.11. It changes download URLs, filenames, and the matching SHA-256 hashes for Windows, Linux, and macOS. There is no code change to how downloads are performed or verified, and no security issue is visible in the diff itself.

Lower-prioritybuild: prepare v0.18.4.3by selsta · c2858793 · Oct 7, 2025 · 4 filesMessage 50 · ThinTriage 0Details
Commit message · selsta

build: prepare v0.18.4.3

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body