MJ
← All projectsmonero-java

monero-java

Java SDK for Monero daemon, wallet RPC, and native client-side wallets.

Cryptographic librariesMoneroSoftware walletsNormal
Repository coverage

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

6security candidates58second-pass queue64AI analyses
26commits · 30 days
43commits · 60 days
95commits · 180 days
122commits · 365 days
Backfill bands
Sep 27 → Mar 3127 seen2 candidatesComplete
Mar 31 → Jul 2949 seen3 candidatesComplete
Jul 29 → Aug 2815 seen0 candidatesComplete
Aug 28 → Sep 2719 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.

57/100 average clarity
14Strong · 80–100
41Adequate · 60–79
51Thin · 40–59
16Opaque · 0–39
1security candidate 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.
woodser120563058
everoddandeven211051
Analysis record

Published AI watches

Last scanned 51 minutes ago

Informational 24 AI analysisMessage 50 · Thin
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet: send amounts to wallet rpc as json numbers for v0.18.5.3

This commit changes how the Java wallet library sends monetary amounts to the Monero wallet RPC server. Previously, amounts were converted to strings before being sent; now they are sent as JSON numbers. This is a compatibility fix for Mon…

Data type mismatch between client and RPC server could lead to failed or misinterpreted transactionsAmount handling changes in transaction creation and reserve proof generation pathsNo input validation or bounds checks added in the patch
6d0cd696by woodser+3−31 file
No security note in commit
Informational 15 AI analysisMessage 40 · Thin
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

docs: update api docs

This commit only updates generated Java API documentation (Javadoc HTML files). It adds descriptions explaining how SSL/TLS certificate verification works when connecting to a Monero daemon. No actual program code was changed, so this comm…

f93bae8eby woodser+17−45 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

ci: run TLS regression tests

This commit only changes the project's automated build configuration to run a few extra tests during continuous integration. It does not modify any application code, libraries, or user-facing behavior. There is no security fix or vulnerabi…

8c6f97c0by woodser+3−31 file
No security note in commit
Moderate 59 AI analysisMessage 60 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet: propagate TLS verification to native and RPC wallets

This commit fixes how Java wallet code passes TLS/SSL certificate verification settings down to the underlying native Monero wallet and to RPC wallets. Previously, the Java layer could request 'verify the certificate' or 'allow any certifi…

TLS/SSL verification preference now propagated across JNI to native walletRPC wallet now translates connection sslVerify into ssl_allow_any_cert and ssl_support parametersConnection equality/hashCode now includes sslVerify, preventing silent mismatches
43c2a9ecby woodser+240−4010 files
No security note in commit
Informational 15 AI analysisMessage 40 · Thin
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

docs: update api docs

This commit only updates generated API documentation (Javadoc HTML files). It does not change any actual program code, so it cannot introduce or fix a security vulnerability on its own.

bf0ac8c3by woodser+278−2317 files
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

tests: isolate key image import test

This commit only changes a test file. It rewrites one wallet test so that it uses a separate offline wallet instead of importing outputs back into the same wallet. There is no change to production code and no security fix or vulnerability …

86567073by woodser+16−151 file
No security note in commit
Informational 15 AI analysisMessage 75 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

tests: sync balances before multi-destination sends

This commit only changes a test file. It makes a wallet test wait for mining to stop and sync balances before checking send results. There is no change to production wallet code, no user-facing behavior change, and no security fix.

e6fd994cby woodser+4−01 file
No security note in commit
Informational 23 AI analysisMessage 65 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet rpc: retain unlock notifications after long polling gaps

This change fixes a bug in a Monero wallet's long-polling notification system. Previously, if there was a long gap between polls, the wallet could use a height bound that was too recent and miss transactions that had since unlocked. The fi…

Functional bug in wallet notification logicPotential missed unlock notifications after polling gapsNo cryptographic, authentication, or input-validation changes
7a1a3af4by woodser+6−21 file
No security note in commit
Informational 14 AI analysisMessage 75 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

tests: synchronize notification balances before sending

This commit only changes a test file. It makes the wallet notification tests more reliable by syncing balances before sending and ensuring mining, listeners, and temporary wallets are cleaned up even if the test fails. There is no change t…

555c973bby woodser+237−2071 file
No security note in commit
Low 35 AI analysisMessage 65 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet rpc: reset snapshots when switching wallets

This commit fixes a lifecycle bug in the Monero Java wallet library. When a user switches from one wallet to another, background polling and notification threads could keep running with stale data from the previous wallet. The patch adds g…

stale callback invalidation across wallet lifecycle changesgeneration-counter pattern to prevent use of stale snapshotsbackground poller and ZMQ listener reset on wallet clear/switch
2bdc3fc8by woodser+105−322 files
No security note in commit
Low 26 AI analysisMessage 65 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet rpc: restore callbacks when reopening wallets

This commit fixes a state-tracking bug in a Monero wallet library. When a wallet client object was reused to open or create another wallet, an internal 'closed' flag was not reset. This could leave event/callback listeners disabled on the …

State-management bug in wallet lifecycleMissing reset of closed flag on reused RPC clientPotential loss of transaction/sync callbacks after wallet reopen
e6a5b8d5by woodser+2−01 file
No security note in commit
Informational 15 AI analysisMessage 83 · Strong
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

tests: wait for wallet pending state before equality

This commit only changes test code. It makes wallet equality tests wait for pending transactions to fully clear from the wallets' own state before comparing balances and rescanning spent outputs. There is no change to production wallet log…

eb72c61cby woodser+5−52 files
No security note in commit
Informational 14 AI analysisMessage 60 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

tests: mine to height before checking sync notifications

This commit only changes test code. It refactors how a Monero wallet test waits for a new block by introducing a helper that mines until a specific blockchain height is reached, instead of starting mining and waiting for the next block in …

4f38f454by woodser+33−272 files
No security note in commit
Low 43 AI analysisMessage 68 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet full: cancel native calls before closing

This commit hardens how the Java Monero wallet shuts down. It makes sure background native (C++) calls are cancelled and finish before the wallet is freed, and it protects listener cleanup from running at the same time as notifications. Th…

Use-after-free / double-free risk in close pathRace condition between native listener callbacks and wallet destructionCross-thread JNIEnv handling in JNI listener destructor
e949b9e1by woodser+123−576 files
No security note in commit
Informational 22 AI analysisMessage 73 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet: announce missed confirm transition when tx unlocks between polls

This commit fixes a notification bug in a Monero wallet library. Previously, if a transaction both confirmed and became unlocked between two polling checks (which can happen during fast block times), the wallet would only announce the 'unl…

No security-relevant signals present in commit message or diffChange is a state-transition notification ordering fixNo input validation, cryptographic, authorization, or memory-safety changes
37bfe4a5by woodser+6−01 file
No security note in commit
Informational 17 AI analysisMessage 95 · Strong
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

test: update offline wallet expectations for ungated daemon calls

This commit only changes test code. It updates the expected behavior of an offline Monero wallet so that certain daemon-related calls no longer throw a 'not connected' error. The underlying wallet behavior was already changed elsewhere; th…

Test-only changeError message masking from untrusted daemons mentioned in commentBehavior alignment with monero-wallet-rpc auto_refresh
5eb65343by woodser+4−51 file
No security note in commit
Informational 15 AI analysisMessage 95 · Strong
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

test: update sync progress tests for throttled progress with hash-skip reporting

This commit only updates test code to match a new wallet behavior where sync progress notifications are throttled and may report a temporary 'hash-skip' phase. There are no product code changes, no bug fixes, and no security-relevant behav…

9872555aby woodser+20−151 file
No security note in commit
Moderate 59 AI analysisMessage 73 · Adequate
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet: prevent close from freeing wallet during in-flight calls

This commit fixes a race condition in a Monero wallet Java library. Previously, calling close() on a wallet could free the underlying native wallet memory while other operations were still running, which could cause crashes or unpredictabl…

Race condition between wallet close() and in-flight native callsPotential use-after-free of C++ wallet handle (jniWalletHandle)New read/write locking around all JNI wallet operations
5c01e76cby woodser+883−4682 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 55 · Thin
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

test correct restore heights after closing wallet

This commit only updates test expectations in a Java test file. It changes three comments/assertions so that the test now expects a wallet's restore height to be remembered after closing, rather than expecting it to be lost. There is no pr…

246ab28dby woodser+3−31 file
No security note in commit
Informational 23 AI analysisMessage 50 · Thin
MJ monero-javamonero-java Cryptographic librariesMoneroSoftware wallets

wallet rpc: bound getTxs re-fetch on inconsistency

This change fixes a potential infinite recursion bug in the Monero wallet RPC client. Previously, when the software detected inconsistent transaction data from multiple RPC calls, it would repeatedly re-fetch the data forever. Now it limit…

Unbounded recursion / retry loop replaced with bounded retry limitPotential denial of service via stack overflow or unresponsive wallet RPC clientError handling added for unresolvable data inconsistency
8c7dcc35by woodser+7−21 file
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.

Security candidatewallet: support offset in key image export and importby woodser · fe98ea7f · Jul 27, 2026 · 10 filesMessage 73 · AdequateInformational 20Details
Commit message · woodser

wallet: support offset in key image export and import

Adds MoneroKeyImageExportResult with the offset returned by the wallet
and an offset parameter on importKeyImages(), in rpc and jni bindings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
privacy or spend-authorization protocolsigning or wallet path
AI analysis · Informational 20/100

This commit updates the Java Monero wallet library so that exporting and importing signed key images now also carries an 'offset' value. The offset tells the wallet where the exported key images start among all the wallet's outputs. This is a feature/API alignment change rather than a clear security fix. There is no evidence in the commit message or diff that the author describes it as fixing a vulnerability, and no independent security references are provided.

Lower-prioritybuild: bump version to 0.8.51by woodser · 9e3f5e0f · Jul 27, 2026 · 3 filesMessage 57 · ThinTriage 0Details
Commit message · woodser

build: bump version to 0.8.51

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queueddocs: update javadocsby woodser · f7a4ce09 · Jul 27, 2026 · 21 filesMessage 40 · ThinInformational 15Details
Commit message · woodser

docs: update javadocs

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathdocumentation-only discountsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only updates generated Javadoc HTML documentation files. It does not change any source code, runtime behavior, or security logic. The visible differences are documentation additions for existing wallet API methods (such as trusted-daemon flags and key-image import/export) and regenerated index files. There is no security-relevant code change to assess.

AI review queuedwallet: export raw tx hex and tx keys from signTxs()by woodser · 3e3bd586 · Jul 27, 2026 · 2 filesMessage 73 · AdequateInformational 12Details
Commit message · woodser

wallet: export raw tx hex and tx keys from signTxs()

Signed txs always include raw full hex and tx keys, with the RPC wallet
requesting both for parity with jni.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit changes how a Monero wallet library requests data when signing transactions via RPC. It now explicitly asks the remote wallet to also return the raw transaction hex data and the transaction keys, matching behavior already present in the JNI wallet implementation. There is no direct evidence in the commit that this introduces a security vulnerability; it appears to be a parity/feature completeness change.

Lower-priorityFix jni binding wallet.getDaemonConnection (#136)by everoddandeven · cb6ab399 · Jul 26, 2026 · 1 fileMessage 53 · ThinTriage 0Details
Commit message · everoddandeven

Fix jni binding wallet.getDaemonConnection (#136)

53/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Lower-prioritybuild: bump version to 0.8.50by woodser · ce28e686 · Jul 25, 2026 · 3 filesMessage 57 · ThinTriage 0Details
Commit message · woodser

build: bump version to 0.8.50

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedwallet: support explicit trusted daemon for full walletsby woodser · 95c69cad · Jul 25, 2026 · 7 filesMessage 73 · AdequateInformational 21Details
Commit message · woodser

wallet: support explicit trusted daemon for full wallets

Adds setDaemonConnection(connection, isTrusted) to MoneroWallet, wallet
config support, and isDaemonTrusted() for full wallets.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 21/100

This commit adds a new option for users to explicitly tell a Monero wallet whether its connected daemon should be treated as 'trusted.' A trusted daemon can receive more sensitive data or perform more powerful operations than an untrusted one. The change is a feature addition that exposes an existing underlying wallet capability; it does not by itself create a vulnerability, but it makes it easier for users to accidentally or intentionally mark a remote daemon as trusted. That could increase the impact of other attacks if a user is tricked into trusting a malicious daemon.

Lower-prioritybuild: update to monero-cpp v0.8.20by woodser · cce35e64 · Jul 25, 2026 · 1 fileMessage 57 · ThinTriage 0Details
Commit message · woodser

build: update to monero-cpp v0.8.20

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Lower-prioritybuild: bump version to 0.8.49 for fresh maven uploadby woodser · 867ed144 · Jul 24, 2026 · 3 filesMessage 62 · AdequateTriage 0Details
Commit message · woodser

build: bump version to 0.8.49 for fresh maven upload

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Lower-prioritybuild: publish releases via central-publishing-maven-plugin (#155)by woodser · fcb4bdc0 · Jul 24, 2026 · 1 fileMessage 93 · StrongTriage 0Details
Commit message · woodser

build: publish releases via central-publishing-maven-plugin (#155)

Deploy releases straight to Maven Central through the Portal with
autoPublish, removing the IP-scoped ossrh-staging-api manual promote.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

93/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Lower-prioritydocs: update javadocsby woodser · 4e2d2576 · Jul 24, 2026 · 3 filesMessage 40 · ThinTriage 0Details
Commit message · woodser

docs: update javadocs

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
Lower-prioritybuild: update to monero-project v0.18.5.1, update monero-cpp submoduleby woodser · de3435d1 · Jul 24, 2026 · 4 filesMessage 62 · AdequateTriage 0Details
Commit message · woodser

build: update to monero-project v0.18.5.1, update monero-cpp submodule

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI review queuedtest: fix flaky reserve proof over-request (#6595)by woodser · 5bbcb829 · Jul 24, 2026 · 1 fileMessage 100 · StrongInformational 12Details
Commit message · woodser

test: fix flaky reserve proof over-request (#6595)

get_reserve_proof validates against the account's strict balance
(counts pending-spent outputs), so request the whole-wallet balance to
reliably exceed it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit only changes a test file to fix a flaky test. The test was requesting a reserve proof for an amount slightly above a single account's balance, but the underlying Monero wallet validates against a stricter 'whole-wallet' balance that includes pending-spent outputs. Because unconfirmed transactions can make the strict balance higher than the reported account balance, the old test sometimes failed to trigger the expected error. The fix requests an amount above the whole-wallet balance instead. There is no change to production code, no security vulnerability, and no user-facing behavior change.

AI review queuedtest: aggregate send destinations by address instead of orderby woodser · 73ce5a15 · Jul 23, 2026 · 1 fileMessage 95 · StrongInformational 15Details
Commit message · woodser

test: aggregate send destinations by address instead of order

monero-project does not preserve destination order or splitting, so
testTxsWallet compares per-address totals rather than positionally.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes a test file. It updates how a Monero wallet test checks transaction destinations: instead of comparing each destination in the exact order it was sent, it now adds up the amounts sent to each address and compares the totals. This is a test-only adjustment to match how the upstream Monero software actually behaves, not a fix for a security problem in production code.

Security candidatetest: fix sending from subaddresses in single transactionby woodser · 3d8e696d · Jul 23, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · woodser

test: fix sending from subaddresses in single transaction

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
privacy or spend-authorization protocolsigning or wallet path
AI analysis · Informational 15/100

This commit changes one line in a test file. It fixes a test that checks sending Monero from multiple subaddresses in a single, unsplit transaction. Previously the test passed null (likely allowing default split behavior); now it explicitly disables transaction splitting. There is no change to production wallet code, no security fix, and no indication of a vulnerability.

Lower-prioritybuild: remove duplicate libunbound from JNI link lineby woodser · a9dfcf9e · Jul 23, 2026 · 1 fileMessage 62 · AdequateTriage 0Details
Commit message · woodser

build: remove duplicate libunbound from JNI link line

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
AI review queuedtest: remove fixed segfault todosby woodser · e51a7e20 · Jul 23, 2026 · 1 fileMessage 67 · AdequateInformational 12Details
Commit message · woodser

test: remove fixed segfault todos

67/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit simply removes two comment lines in test code that said certain tests occasionally crashed on Apple Silicon Macs. No actual code behavior was changed, so it does not introduce or fix a security issue on its own. It only updates internal notes about previously observed test failures.

Lower-prioritybuild: add CI build of standalone JNI libraryby woodser · 8985c08b · Jul 22, 2026 · 2 filesMessage 90 · StrongTriage 0Details
Commit message · woodser

build: add CI build of standalone JNI library

Build libmonero-java with static deps on linux (x86_64/arm64), mac, and windows,
smoke test native loading via TestMoneroUtils, and upload per-platform artifacts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Lower-prioritybuild: publish native libs as one artifact + staging scriptby woodser · 99182555 · Jul 22, 2026 · 3 filesMessage 85 · StrongTriage 0Details
Commit message · woodser

build: publish native libs as one artifact + staging script

Add a combined monero-java-native-libs CI artifact laid out as ./lib and
bin/stage_native_libs.sh to download and stage it in one step.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Lower-prioritybuild: bump version to v0.8.48by woodser · 7252ce1c · Jul 22, 2026 · 3 filesMessage 90 · StrongTriage 0Details
Commit message · woodser

build: bump version to v0.8.48

Target java 8 with --release (fixes a java-10-only URLEncoder call), force the
junit 5 surefire provider, verify a known seed-to-address vector, and pin
CI-invoked maven plugins.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Mentions testing or verification
Lower-prioritybuild: assemble jar from CI-built native librariesby woodser · 7b9eb746 · Jul 22, 2026 · 15 filesMessage 85 · StrongTriage 0Details
Commit message · woodser

build: assemble jar from CI-built native libraries

Stop committing natives under lib/; CI stages per-platform artifacts into lib/,
verifies loading on debian 12, and packages the jar.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Lower-prioritybuild: link monero-cpp and dependencies statically into standalone JNI libraryby woodser · 9a14c988 · Jul 22, 2026 · 6 filesMessage 85 · StrongTriage 0Details
Commit message · woodser

build: link monero-cpp and dependencies statically into standalone JNI library

Import monero-cpp and monero-project as static archives and link boost/openssl/
libstdc++ and remaining deps statically (STATIC=ON) so libmonero-java ships
without external dependencies; load only libmonero-java.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Lower-prioritybuild: update to httpclient5 5.6.2 (#149)by woodser · b544cc26 · Jul 4, 2026 · 2 filesMessage 65 · AdequateTriage 0Details
Commit message · woodser

build: update to httpclient5 5.6.2 (#149)

65/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
AI review queuedfix: validate same proxy uri without scheme in wallet rpc (#151)by woodser · e46f579e · Jul 4, 2026 · 3 filesMessage 70 · AdequateInformational 22Details
Commit message · woodser

fix: validate same proxy uri without scheme in wallet rpc (#151)

70/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: security-sensitive path
AI analysis · Informational 22/100

This commit fixes a bug where the wallet RPC component treated the same proxy address as different if one version included a scheme prefix like 'socks5://' and the other did not. Previously, this caused an unnecessary error when setting a daemon connection. The fix normalizes proxy URIs before comparing them, so equivalent addresses are recognized as the same. It is a usability and correctness fix rather than a clear-cut security vulnerability.

Lower-prioritybuild: bump version to 0.8.47 (#150)by woodser · b1a4ad3b · Jul 4, 2026 · 3 filesMessage 65 · AdequateTriage 0Details
Commit message · woodser

build: bump version to 0.8.47 (#150)

65/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body