EP
← All projectsElements Project

libwally-core

Cross-platform wallet primitives for keys, addresses, transactions, PSBT, and Elements.

BitcoinCryptographic librariesSoftware walletsNormal
Repository coverage

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

21security candidates29second-pass queue104AI analyses
6commits · 30 days
17commits · 60 days
76commits · 180 days
101commits · 365 days
Backfill bands
Aug 5 → Feb 622 seen3 candidatesComplete
Feb 6 → Jun 652 seen3 candidatesComplete
Jun 6 → Jul 67 seen0 candidatesComplete
Jul 6 → Aug 514 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.

62/100 average clarity
15Strong · 80–100
48Adequate · 60–79
37Thin · 40–59
10Opaque · 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.
Jon Griffiths901886159
KY-U111075
Erick Cestari1110100
Ondřej Češka111050
dependabot[bot]707093
pythcoiner201069
Daniel Newton202055
odudex202062
longhutianjie101072
Bruno Garcia100083
Greg Sanders101068
Leonardo Comandini101060
Analysis record

Published AI watches

Last scanned 0 minutes ago

Informational 15 AI analysisMessage 93 · Strong
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

build(deps-dev): bump browserslist in /src/wasm_package

This is a routine automated update by Dependabot that bumps the version of a JavaScript build tool called browserslist, used only in the WebAssembly packaging part of the project. The change only updates version numbers and metadata in a l…

834987a8by dependabot[bot]+65−511 file
No security note in commit
Informational 14 AI analysisMessage 93 · Strong
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

build(deps-dev): bump fast-uri from 3.1.5 to 3.1.7 in /src/wasm_package

This is a routine automated update by Dependabot that bumps the JavaScript helper library fast-uri from version 3.1.5 to 3.1.7 inside the WebAssembly packaging directory. The commit itself only changes a package-lock.json file and does not…

Dependency update for a known URI-parsing libraryfast-uri 3.1.7 is associated with a fix for a malformed-URI parsing issue (CVE-2025-24035)Only package-lock.json changed; no application code modified
05843a61by dependabot[bot]+8−71 file
No security note in commit
Low 40 AI analysisMessage 73 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: return an error if fetching input_amount when not present

This commit changes a library function so that it now returns an error when a PSBT/PSET input amount is missing, instead of silently returning zero. It also adds a new 'has_input_amount' check so callers can ask whether the value exists be…

API behavior change: missing field now returns error instead of default zeroAdds presence-check accessor to prevent callers from reading unset valuesABI break noted by vendor
fa3a5859by Jon Griffiths+44−108 files
No security note in commit
Low 34 AI analysisMessage 50 · Thin
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: return an error if fetching output_amount when not present

This commit changes a library function so that it returns an error when asked for an output amount that is not actually present, instead of silently returning zero. This prevents callers from accidentally treating a missing amount as a rea…

API now distinguishes 'missing amount' from 'amount is zero' via explicit error codePresence check (has_amount) is enforced before returning sensitive numeric valueTest updated to assert exception when fetching amount on blinded output
07871406by Jon Griffiths+32−162 files
No security note in commit
Moderate 51 AI analysisMessage 75 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

psbt: reject trailing data when parsing if WALLY_PSBT_PARSE_FLAG_COMPLETE is used

This commit tightens how the library reads PSBT (Partially Signed Bitcoin Transaction) data. It adds a new parsing flag that requires the parser to consume the entire input, and turns that flag on automatically when reading base64-encoded …

New strict-input-consumption parse flag addedBase64 decoder now enforces complete input consumption automaticallyTrailing bytes after a valid PSBT now rejected in COMPLETE mode
3bf543cdby KY-U+26−55 files
No security note in commit
Informational 15 AI analysisMessage 93 · Strong
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

build(deps-dev): bump fast-uri from 3.1.4 to 3.1.5 in /src/wasm_package

This is an automated dependency update by Dependabot that bumps the JavaScript package fast-uri from version 3.1.4 to 3.1.5 inside the WebAssembly packaging directory. The change only updates version numbers and package hashes in package-l…

d3f6adf0by dependabot[bot]+6−61 file
No security note in commit
Low 47 AI analysisMessage 75 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

aes: add missing length check for multi-chunk encrypt/decrypt, with tests

This commit fixes a missing safety check in libwally-core's AES encryption/decryption function. Previously, callers could pass an output buffer smaller than the input data, which could lead to writing past the end of the buffer (a buffer o…

Missing length check enabling potential buffer overflowOut-of-bounds write risk in symmetric crypto routineReported by independent external researcher
e9fed8a4by Jon Griffiths+35−122 files
No security note in commit
Low 36 AI analysisMessage 60 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

java: fix output type for psbt_get_output_amount

This commit fixes a Java language binding bug where a function that reads a Bitcoin transaction output amount was incorrectly declared to return a 'size' type (a memory/length value) instead of an unsigned 64-bit integer. Output amounts in…

Incorrect JNI/SWIG return type for cryptographic/monetary valuePotential integer truncation of PSBT output amountType confusion between size_t and uint64_t in language bindings
aed82410by Jon Griffiths+1−11 file
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

crypto: add ec_public_key_compress to produce a compressed pubkey

This commit adds a new public-key compression function to a cryptographic library and updates the existing decompression function so both can accept already-compressed or already-uncompressed keys as input. It also adds tests and language …

03351cc9by Jon Griffiths+92−1610 files
No security note in commit
Informational 12 AI analysisMessage 55 · Thin
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

tests: add tests for parsing invalid der sigs

This commit only adds new test cases to check that the library correctly rejects malformed cryptographic signatures. It does not change any production code, so by itself it cannot introduce or fix a security vulnerability. It may be relate…

DER signature parsing validation is being exercisedTest vectors include R/S overflow and zero R/S casesNo functional code change in this commit
824e8a33by Jon Griffiths+11−01 file
No security note in commit
Moderate 62 AI analysisMessage 85 · Strong
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

sign: disallow overlong der encodings and zero r or s values

This commit tightens signature validation in a cryptographic library. It now rejects malformed DER-encoded signatures that are longer than allowed, or where one of the signature numbers (R or S) is zero. Previously, the underlying secp256k…

Cryptographic input validation hardeningRejection of overlong DER-encoded ECDSA signaturesRejection of zero R or S signature components
e7894ee6by Jon Griffiths+6−11 file
Vendor flagged security relevance
Low 33 AI analysisMessage 73 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

descriptor: add derive_bip32_key to derive a given descriptor key

This commit adds a new public API to libwally-core that lets users derive BIP32 keys directly from a parsed Bitcoin/Elements descriptor. It also fixes two consistency bugs in how descriptor keys are looked up: it now correctly routes reque…

New API exposes derivation of private BIP32 keys from descriptors; misuse by callers could leak private key materialSLIP77 blinding keys are returned in the private-key field of an ext_key, which may surprise callers and lead to incorrect handlingRefactoring of generate_script changes the public-key extraction offset logic from a conditional x-only offset to EC_PUBLIC_KEY_LEN - output_len; this is intended to be equivalent but is a sensitive crypto code path
00d26754by Jon Griffiths+234−4911 files
No security note in commit
Informational 13 AI analysisMessage 93 · Strong
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

build(deps-dev): bump fast-uri from 3.1.2 to 3.1.4 in /src/wasm_package

This is an automated update by Dependabot that bumps the JavaScript helper library fast-uri from version 3.1.2 to 3.1.4 inside the WebAssembly packaging directory. It only changes a package-lock.json file and is marked as a development dep…

Dependency version bump of fast-uri (indirect devDependency)No changes to libwally-core native/WASM cryptographic codeNo vendor security advisory or CVE referenced in commit message
c25fc5fdby dependabot[bot]+6−61 file
No security note in commit
Informational 15 AI analysisMessage 38 · Opaque
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

Bump version to 1.5.6

This commit is a routine version bump from 1.5.5 to 1.5.6. It only changes version numbers in build files, documentation, and package metadata. There are no code changes that affect security or functionality.

0c41f38fby Jon Griffiths+12−129 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

update CHANGES.md for release 1.5.6

This commit only updates the project's changelog file (CHANGES.md) to document what is included in the upcoming 1.5.6 release. It does not change any source code, build scripts, tests, or documentation that affects how the software runs. T…

9947fc4eby Jon Griffiths+8−21 file
Vendor flagged security relevance
Moderate 53 AI analysisMessage 73 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

descriptor: reject nested expressions with unconsumed trailing input

This commit fixes a parsing bug in libwally-core's Bitcoin descriptor handling. Previously, if extra characters appeared after a valid nested expression inside parentheses, the parser silently ignored them. For example, 'wsh(pk(KEY)xyz)' w…

Input validation bypass: parser accepted malformed descriptors with trailing garbageSilent truncation/misinterpretation of user-supplied descriptor stringsPotential for consensus or policy mismatch between systems parsing the same descriptor
f23a1c97by odudex+17−02 files
No security note in commit
Moderate 59 AI analysisMessage 50 · Thin
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

descriptor: require type B for the top level miniscript in sh()/wsh()

This commit tightens validation for Bitcoin descriptors that wrap a miniscript inside sh() (pay-to-script-hash) or wsh() (pay-to-witness-script-hash). Previously, the library accepted any miniscript fragment as the top-level child, even fr…

Input-validation hardening for descriptor parsingRejection of non-top-level miniscript fragments in script wrappersNew negative test vectors for malformed descriptors
6f656241by odudex+33−22 files
No security note in commit
Low 44 AI analysisMessage 45 · Thin
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

update CHANGES.md for release 1.5.5

This commit is just a changelog update for libwally-core version 1.5.5. It mentions that the release 'de-optimizes some memcpy calls on x86 to prevent leaks via extended registers.' That wording suggests a security-sensitive fix, but the a…

Changelog entry describes a security-motivated fixMentions prevention of information leaks via CPU extended registersRelates to secure memory handling of cryptographic secrets
d0ac03baby Jon Griffiths+5−01 file
Vendor flagged security relevance
Informational 15 AI analysisMessage 38 · Opaque
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

Bump version to 1.5.5

This commit is a routine version bump from 1.5.4 to 1.5.5 across build files, documentation, and package metadata. It changes only version strings and the build version constant; no code logic is modified.

78499f00by Jon Griffiths+12−129 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
EP Elements Projectlibwally-core BitcoinCryptographic librariesSoftware wallets

ci: re-enable clear tests

This commit only changes the project's continuous integration (CI) configuration. It re-enables a set of tests called 'clear tests' that were previously disabled in automated build pipelines, and adds a compiler warning suppression for an …

1009497bby Jon Griffiths+4−41 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.

Lower-priorityci: re-enable clear testsby Jon Griffiths · 1009497b · Jul 9, 2026 · 1 fileMessage 67 · AdequateInformational 15Details
Commit message · Jon Griffiths

ci: re-enable clear tests

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
AI analysis · Informational 15/100

This commit only changes the project's continuous integration (CI) configuration. It re-enables a set of tests called 'clear tests' that were previously disabled in automated build pipelines, and adds a compiler warning suppression for an amalgamation compile test. There is no change to the actual library code that users run, so this commit does not introduce or fix a security vulnerability in the software itself.

Security candidateinternal: avoid potential info leaks via sse/avx registersby Jon Griffiths · 91b3b6d6 · Jul 9, 2026 · 10 filesMessage 73 · AdequateModerate 68Details
Commit message · Jon Griffiths

internal: avoid potential info leaks via sse/avx registers

In particular when built as a shared library, calls through the PLT
spill these registers onto the stack.

Thanks to @pythcoiner <pythcoiner@proton.me> for identifying the
leak cause and suggesting a fix.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
cryptography-sensitive path
AI analysis · Moderate 68/100

This commit fixes a potential information leak in a cryptocurrency wallet library. When the library is built as a shared library on x86/x86_64 systems, optimized memory-copy functions can leave secret data (private keys, seed phrases, chain codes) inside special CPU registers (SSE/AVX). If the program then makes a call through the dynamic linker before those registers are reused, the CPU spills the register contents onto the stack, where they may remain uncleared. The patch replaces many ordinary memory copies with a simple, unoptimized byte-by-byte copy function for sensitive data, preventing the data from being left in those registers. The commit message explicitly calls this an 'info leak' and thanks an external contributor for finding the cause and suggesting the fix.

Lower-prioritytests: add more test_clear testsby pythcoiner · 9d05ca17 · Jul 9, 2026 · 1 fileMessage 55 · ThinInformational 12Details
Commit message · pythcoiner

tests: add more test_clear tests

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 12/100

This commit only adds new test cases to an existing test file. It does not change any production code, fix a bug, or alter behavior. The tests check whether sensitive secret bytes are cleared from the call stack after using certain cryptographic functions, which is a defensive security practice, but the commit itself is purely a testing improvement.

Lower-priorityinternal: mark internal functions as hidden visibility when possibleby Jon Griffiths · 2d36c91d · Jul 9, 2026 · 5 filesMessage 73 · AdequateLow 47Details
Commit message · Jon Griffiths

internal: mark internal functions as hidden visibility when possible

Even when building with -fvisibility=hidden, some internal functions
(those that aren't static and thus provably limited to a single
compilation unit) are not marked hidden. As a result, calls to them from
within the library are routed through the PLT. This can result in
register data containing secrets/partial secrets being spilled to the
stack.

Mark such internal functions as hidden so internal calls to them avoid
the PLT call mechanism.

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Low 47/100

This change is a hardening patch for a cryptocurrency wallet library. It tells the compiler to keep certain internal helper functions private to the library, so calls to them stay inside the library instead of going through an external lookup table (the PLT). The commit message says the old route could cause CPU register values containing secret key material to be temporarily saved to the stack, where they might be more easily exposed in a crash dump or memory leak. The patch reduces that risk but does not by itself fix a specific, independently reported vulnerability.

Lower-prioritydescriptor: avoid iterating multisig nodes twiceby Jon Griffiths · 017d76eb · Jul 6, 2026 · 1 fileMessage 68 · AdequateInformational 12Details
Commit message · Jon Griffiths

descriptor: avoid iterating multisig nodes twice

node_get_child_count() iterates all keys which we then immediately do
again below. Count the children as we iterate checking the keys instead.

Co-authored-by: odudex <odudex@proton.me>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
AI analysis · Informational 12/100

This is a small code cleanup in how a Bitcoin descriptor function counts child nodes. It removes a redundant loop and counts children while already checking them. There is no visible security bug being fixed—just an efficiency and clarity improvement.

AI review queuedBump version to 1.5.4by Jon Griffiths · c5591834 · Jun 16, 2026 · 9 filesMessage 38 · OpaqueInformational 15Details
Commit message · Jon Griffiths

Bump version to 1.5.4

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 15/100

This commit is a routine version bump from 1.5.3 to 1.5.4 across build files, documentation, and package metadata. It changes only version strings and constants; no code logic is modified. There is no security-relevant content in the diff.

Lower-prioritybuild: bump dso version for 1.5.4by Jon Griffiths · f5b4055b · Jun 16, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Jon Griffiths

build: bump dso version for 1.5.4

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a routine build-system version bump. It changes one number in a Makefile from 0 to 1 so the shared library reports version 1.5.4 instead of 1.5.3. There is no code change, no bug fix, and no security relevance visible in the diff.

Lower-priorityupdate CHANGES.md for release 1.5.4by Jon Griffiths · cea4227f · Jun 16, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Jon Griffiths

update CHANGES.md for release 1.5.4

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates the project's changelog file (CHANGES.md) to document what is included in the upcoming 1.5.4 release. No actual source code, build scripts, or configuration files were changed. It is a documentation-only release-notes update.

Lower-priorityci: update ci imageby Jon Griffiths · a212c0d3 · Jun 16, 2026 · 1 fileMessage 40 · ThinInformational 15Details
Commit message · Jon Griffiths

ci: update ci image

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit simply swaps the Docker image used by the project's automated CI (continuous integration) pipeline to a newer version. There is no change to the actual library code, no user-facing behavior change, and no security-relevant signal visible in the diff.

Lower-prioritydocker: update trixie base imageby Jon Griffiths · 112c0ff3 · Jun 16, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Jon Griffiths

docker: update trixie base image

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 the pinned SHA256 digest of the Debian 'trixie' base Docker image used for building and testing. It is a routine dependency refresh with no code changes and no security-relevant content described by the project.

Lower-priorityelements: align unblinding with the elements implby Jon Griffiths · d8153d1c · Jun 16, 2026 · 1 fileMessage 45 · ThinModerate 59Details
Commit message · Jon Griffiths

elements: align unblinding with the elements impl

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

This commit tightens the unblinding process for confidential asset transactions in the Elements/Liquid sidechain. Previously, the code blindly trusted the decrypted message and did not verify that the extracted asset ID and blinding factor actually match the original cryptographic commitments. The patch adds verification steps: after decryption it re-derives the asset generator and value commitment and compares them to the inputs. If they do not match, it clears the sensitive outputs and returns an error. This prevents a class of attacks where a malicious or malformed blinded output could make the wallet accept an incorrect asset ID or amount.

Lower-priorityjava: only set source level to 17 if supported by javacby Jon Griffiths · 71fd4c4c · May 28, 2026 · 1 fileMessage 50 · ThinInformational 18Details
Commit message · Jon Griffiths

java: only set source level to 17 if supported by javac

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 18/100

This commit changes the Java build configuration so that it falls back to Java 8 source compatibility when the compiler does not support Java 17, instead of unconditionally requiring Java 17. It is a build-system compatibility fix, not a security patch.

Lower-priorityjs: update github build to ubuntu 24.04by Jon Griffiths · 4976dc48 · May 28, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · Jon Griffiths

js: update github build to ubuntu 24.04

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit simply updates the GitHub Actions workflow that builds the JavaScript/WebAssembly package. It changes the build runner from Ubuntu 22.04 to Ubuntu 24.04 and switches the dependency installation script from one named for Debian 'bullseye' to one named for 'trixie'. There is no code change affecting users, no security fix, and no vulnerability introduced.

Lower-prioritybuild: remove abandoned msvc-dev-cmd from window wheel buildby Jon Griffiths · 53452d74 · May 28, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Jon Griffiths

build: remove abandoned msvc-dev-cmd from window wheel build

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 analysis · Informational 15/100

This commit swaps one way of setting up Microsoft's C++ compiler on Windows in the project's automated wheel-building workflow. It replaces a third-party GitHub Action (msvc-dev-cmd) with a direct call to a Microsoft-provided batch file on the runner. There is no code change that affects the library's behavior, its cryptography, or how it handles user input.

Lower-prioritybuild: add python 3.14 support, disable 3.15 while in betaby Jon Griffiths · 11c7da3e · May 28, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Jon Griffiths

build: add python 3.14 support, disable 3.15 while in beta

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 analysis · Informational 15/100

This commit is a routine build configuration update. It changes one line in the project's wheel-building workflow so that Python 3.14 wheels are now built and Python 3.15 wheels are skipped while Python 3.15 is still in beta. There is no security relevance in the change itself.

Lower-prioritybase64: fix -Wunterminated-string-initialization warningsby Jon Griffiths · cb95fe3f · May 28, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Jon Griffiths

base64: fix -Wunterminated-string-initialization warnings

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit changes how two fixed lookup tables are written in the source code for the base64 encoding/decoding module. The old form used long string literals made of many hex escape characters; the new form lists individual characters/bytes inside braces. The commit message says the purpose is to silence a compiler warning about unterminated string initialization. The data values in the tables are identical before and after, so this is a code-style/maintenance change, not a security fix.

Lower-priorityjava: disable loadLibrary warning running testsby Jon Griffiths · 82275dd4 · May 28, 2026 · 1 fileMessage 70 · AdequateInformational 15Details
Commit message · Jon Griffiths

java: disable loadLibrary warning running tests

Note this means that java v20+ is now required for testing.

70/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100

This is a small build/test configuration change for Java tests. It adds a Java command-line option that suppresses a warning when native (non-Java) libraries are loaded during testing. The change only affects how tests are run and requires Java 20 or newer. There is no indication it fixes or introduces a security vulnerability.

Lower-priorityjava: update source and target version to 17by Jon Griffiths · 53d900a9 · May 28, 2026 · 1 fileMessage 60 · AdequateInformational 16Details
Commit message · Jon Griffiths

java: update source and target version to 17

Fixes the obsolete version warning when building.

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 16/100

This commit simply changes the Java compiler target version from 1.8 to 17 in the build configuration. It is a routine build hygiene change to silence an obsolete-version warning and does not alter any program logic, cryptographic code, or security behavior.

Lower-prioritybuild: build wheel and sdist separatelyby Jon Griffiths · 05bfee5d · May 28, 2026 · 1 fileMessage 90 · StrongInformational 12Details
Commit message · Jon Griffiths

build: build wheel and sdist separately

Something in the secp aux macros breaks when building the sdist and
wheel at the same time. Build them separately to work around this.

Note that we only want the sdist artifact; the wheel is just used for
smoke testing before producing the sdist.

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
AI analysis · Informational 12/100

This commit changes the project's automated build script so that Python wheel and source distribution packages are built in two separate steps instead of one combined step. The commit message says this is a workaround because something in the secp256k1 auxiliary macros breaks when both are built together. The wheel is only used for a quick smoke test; the final artifact they keep is the source distribution. There is no indication this is a security fix.

Lower-priorityci: factor out common test config, rebuild wallycore docker imageby Jon Griffiths · d601cbd5 · May 28, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Jon Griffiths

ci: factor out common test config, rebuild wallycore docker image

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
AI analysis · Informational 15/100

This commit only reorganizes the project's GitLab CI configuration file. It creates a shared template for test jobs and updates the Docker image used for testing to a newer version. There are no changes to the actual library code, cryptographic logic, or any files that end users install.

Lower-prioritytests: use the (now) already-installed gcovr binaryby Jon Griffiths · c153347c · May 27, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · Jon Griffiths

tests: use the (now) already-installed gcovr binary

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This is a tiny CI (continuous integration) maintenance change. It removes a redundant pip install command for a code-coverage tool called gcovr, because that tool is now pre-installed in the test environment. There is no change to the actual library code, cryptography, or anything users interact with.

AI review queuedcmake: add missing definesby Jon Griffiths · be278177 · May 27, 2026 · 2 filesMessage 35 · OpaqueLow 32Details
Commit message · Jon Griffiths

cmake: add missing defines

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 32/100

This commit fixes the CMake build system so it correctly detects several platform features and headers that the library's C code relies on. Before this fix, the CMake build could silently produce a misconfigured library that uses less secure fallback code paths (for example, missing secure memory-zeroing functions or unaligned-access handling). The commit does not change the core cryptographic code itself; it only changes how the build system discovers what the current platform supports.

Lower-priorityci: update scan-build, asan and valgrind for trixieby Jon Griffiths · 5adb8acc · May 27, 2026 · 1 fileMessage 87 · StrongInformational 15Details
Commit message · Jon Griffiths

ci: update scan-build, asan and valgrind for trixie

Run valgrind tests on the test binaries not the libtool wrapper scripts.

87/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100

This commit is a routine update to the project's automated testing configuration for newer Debian 'trixie' tooling versions. It changes CI paths from older GCC 10/Clang 11 tool versions to newer GCC 14/Clang 19 versions, and adjusts the Valgrind test step to run directly on compiled test binaries instead of libtool wrapper scripts. There is no change to the actual library source code, no bug fix, and no security patch.

Lower-prioritybuild: re-apply: don't require linking to work for manylinux buildsby Jon Griffiths · 5d9149b1 · May 27, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Jon Griffiths

build: re-apply: don't require linking to work for manylinux builds

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit changes the build configuration so that when building Python packages for 'manylinux' (a standard for portable Linux Python wheels), a failed link check against libpython is ignored. This is a build-system workaround, not a code change, and it does not alter cryptographic behavior, memory handling, or runtime security.

Lower-prioritybuild: run swig python tests lastby Jon Griffiths · a2804b36 · May 27, 2026 · 1 fileMessage 100 · StrongInformational 15Details
Commit message · Jon Griffiths

build: run swig python tests last

Since the swig python tests were updated to build the python wheel using
setup.py, 'make check' has issues due to the wheel build reconfiguring
the source tree when being built while the other tests are running.

Change this to run all other tests before the swig python tests; This
fixes 'make check' including for parallel builds.

100/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
AI analysis · Informational 15/100

This commit is a build-system fix that changes the order in which automated tests run during 'make check'. It moves the Python wheel-building tests to run last, because building the Python wheel while other tests are running in parallel was causing test failures. There is no security-relevant code change here.