TZ
← All projectsTrezor

Trezor firmware

Firmware monorepo for Trezor One, Model T, and Safe devices.

BitcoinHardware walletsNormal
Repository coverage

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

915security candidates307second-pass queue429AI analyses
338commits · 30 days
577commits · 60 days
1352commits · 180 days
2649commits · 365 days
Backfill bands
Aug 5 → Feb 61298 seen115 candidatesComplete
Feb 6 → Jun 6775 seen58 candidatesComplete
Jun 6 → Jul 6217 seen13 candidatesComplete
Jul 6 → Aug 5360 seen54 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.

66/100 average clarity
470Strong · 80–100
1316Adequate · 60–79
859Thin · 40–59
5Opaque · 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.
Jakub Janků1997184
Martin Pastyřík2385173
Roman Zeyde56617677071
tychovrahe29210449061
cepetr1968224059
Ioan Bizău2307644059
obrusvit2137627064
M1nd3r2067131071
Lukas Bielesch846739067
PrisionMike945948073
Martin Milata1744620063
Ondřej Vejpustek95345060
Analysis record

Published AI watches

Last scanned 46 minutes ago

Informational 15 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

test(ethereum): fix incorrect address checksum

This commit only updates test data. It corrects the capitalization (checksum) of Ethereum addresses used in automated tests and refreshes the expected screen-shot hashes those tests compare against. There are no changes to the actual Trezo…

2b1938ccby Tomas Martykan+52−523 files
No security note in commit
Low 33 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(python/trezorlib): enable entropy check on T1 by default

This commit changes the Trezor Python library so that, when setting up a Trezor Model One (the original Trezor 1 device), it now performs an entropy check by default if the device runs firmware 1.13.1 or newer. Previously, the library only…

Enables a previously disabled security/validation feature (entropy check) for a specific device modelAdds version-gated behavior to avoid errors on older firmwareDefensive hardening of wallet setup randomness verification
a4af9107by Andrew Kozlik+10−42 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): remove scons related files

This commit is a routine cleanup that removes the old SCons build system files from the Trezor Core firmware repository. It deletes Makefiles, SConscripts, and related Python helper scripts, but does not change any firmware source code, cr…

a4b25c31by cepetr+5−927554 files
No security note in commit
Informational 22 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): assorted micropython-1.28.0 fixes

This commit updates Trezor's embedded MicroPython interpreter from an older version to 1.28.0. It pulls in several upstream MicroPython bug fixes, including stricter buffer-size checks for converting integers to bytes, a new stack-safety A…

Synchronizes upstream MicroPython fixes that include buffer-size and stack-safety hardeningPrevents Ctrl+C interruption of frozen boot code, reducing denial-of-service/control-flow risk during bootFixes sys.stdout.buffer.write() return value, which could affect code relying on correct I/O semantics
7ba7879dby Martin Milata+36−4012 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): replace hexlify with bytes.hex()

This is a large but straightforward internal cleanup: the project switched from using the MicroPython `ubinascii` module's `hexlify`/`unhexlify` functions to the standard Python `bytes.hex()` and `bytes.fromhex()` methods. The change remov…

44aa469eby Martin Milata+1334−1383120 files
No security note in commit
Informational 17 AI analysisMessage 70 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): use mp_obj_new_str_from_vstr

This is a code cleanup change in Trezor's firmware that swaps one MicroPython internal helper for another. It replaces calls that create byte or string objects from a vstr buffer with newer, purpose-built helpers. The commit message says t…

Refactor only: helper function renames with equivalent semanticsNew str helper adds UTF-8 validation; bytes helper does not validateNo input validation, length, or error-handling changes observed
7ea11191by Martin Milata+72−7433 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): get rid of the STATIC macro

This commit is a large but purely mechanical code cleanup: it replaces the custom STATIC macro with the standard C keyword static across many MicroPython module files. There is no change to program logic, security boundaries, or behavior. …

053def4cby Martin Milata+789−79757 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): fix renamed micropython modules

This commit is a routine code cleanup that updates Trezor firmware to match a newer MicroPython version where built-in module names dropped the 'u' prefix (for example, 'uos' became 'os' and 'ustruct' became 'struct'). It renames imports, …

e1edbee0by Martin Milata+86−11727 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): bump version to 2.12.5

This commit only updates the firmware version number from 2.12.4 to 2.12.5 in the source code and translation files. It does not change any security-related logic, fix any bug, or alter any cryptographic behavior. It is a routine release b…

82c04645by Martin Milata+10−108 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): build trezor_lib with xbuild

This is a routine build-system cleanup for the Trezor firmware. It switches the internal 'trezor_lib' Rust crate to be built with the project's own 'xbuild' tool, removes transitional feature flags, and reorganizes Cargo.toml files. There …

9ba7ee1bby cepetr+597−86816 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(nordic): add nrf/ble functionality to T3T2

This commit adds Bluetooth Low Energy (BLE) support for the Trezor T3T2 hardware model. It introduces new board configuration files, pin mappings, build scripts, and firmware binaries for the Nordic nRF54LS05A BLE radio used in T3T2. There…

d8b4daa6by tychovrahe+526−922 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core/rust): separate trezor-crypto to its own Rust crate

This commit is a large but straightforward internal refactoring: the cryptographic code is moved from one Rust crate (`rtl`) into a new dedicated crate (`crypto`), and all project dependencies are updated to point to the new crate. The act…

No security-relevant code changes detectedRefactoring only: moving existing crypto wrappers and build logic into a new crateFeature flags and C source lists preserved from the original `rtl` crate
836142c7by matejcik+2213−195139 files
No security note in commit
Informational 17 AI analysisMessage 90 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/embed): reorganize error handling

This commit is a code cleanup that moves how Trezor firmware handles fatal errors and shutdowns between its internal software layers. It does not add new user-facing features or change security protections. The main risk is that reorganizi…

Refactor of fatal-error and shutdown code pathsNew noreturn annotations on systask_exit, systask_exit_error, systask_exit_fatal, systask_killRemoval of duplicated test-only system_exit_error/system_exit_fatal implementations
a9dbab53by matejcik+408−32227 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/bootloader): correct "Change FW vendor" title

This commit changes a single on-screen label in the Trezor bootloader from lowercase 'Change fw vendor' to uppercase 'Change FW vendor'. It is purely a cosmetic wording fix with no security relevance.

5f756282by Roman Zeyde+1−11 file
No security note in commit
Low 30 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(clear_signing): calldata array support

This commit adds support in Trezor's Ethereum clear-signing feature for transactions that contain multiple embedded subcalls (like a multicall). Previously, only a single embedded call could be clearly displayed. The change lets the device…

New input validation added: callee array length must match subcall array lengthType validation enforced: each subcall blob must be bytes, each callee must be a 20-byte addressGraceful degradation preserved: unparseable subcalls fall back to raw hex display rather than failing the whole transaction
0feb0b96by PrisionMike+186−162 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

test(clear signing): multiple calldata

This commit only adds new automated tests for Trezor's Ethereum 'clear signing' feature. It includes a test case for an Aave multi-call transaction, a matching test data blob, and expected screen snapshots for different device models and l…

0de94b8aby PrisionMike+46−64 files
No security note in commit
Informational 19 AI analysisMessage 82 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(clear_signing): double display of amount.

This commit fixes a user-interface bug in Trezor's Ethereum 'clear signing' flow where the transaction's native ETH amount could be shown twice on the device screen. The old code tried to avoid duplication by checking whether an 'AmountFor…

No cryptographic, authorization, memory-safety, or input-validation changesChange is limited to on-screen display deduplication logicNo changelog entry requested by the vendor ('[no changelog]')
ce2282bdby PrisionMike+14−172 files
No security note in commit
Informational 21 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(clear_signing): Add enum formatter - core

This commit adds a new display formatter for Ethereum clear signing. It lets a transaction descriptor map numeric enum values (like 1 or 2) to human-readable labels (like 'stable' or 'variable') on the Trezor screen. The change is purely a…

New formatter raises InvalidFormatDefinition on unexpected/missing enum values, causing fallback to blind signing rather than displaying an untrusted labelDuplicate enum keys are rejected at descriptor decode timeNon-integer enum values are rejected at format time
4b25321cby PrisionMike+131−42 files
No security note in commit
Informational 15 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

test(clear_signing): add device test for calldata formatter.

This commit only adds a new automated test case for an existing Ethereum transaction display feature. It does not change any production firmware code, so it cannot introduce a security vulnerability or fix one. It is purely a test-data add…

701624d3by PrisionMike+21−02 files
No security note in commit
Low 39 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(clear_signing): support for calldata formatter. - core changes

This commit adds a new Trezor firmware feature called 'clear signing' for nested Ethereum calls. It lets the device understand when a transaction wraps another contract call (like a router or multicall) and tries to show the user readable …

New nested calldata parsing path with explicit depth cap of 1@.to override to callee to prevent token resolution from pointing at the wrapper contract@.from and @.value rejected in nested parse to avoid displaying confidently wrong sender/value
570eb868by PrisionMike+627−503 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.

Security candidaterefactor(core): fix renamed micropython modulesby Martin Milata · e1edbee0 · Aug 3, 2026 · 27 filesMessage 80 · StrongInformational 15Details
Commit message · Martin Milata

refactor(core): fix renamed micropython modules

E.g. uos was renamed to os, uerrno to errno.

Relevant micropython commits:
45ac651d1a2801bccbdc32fddaa9b029ed4ce879 all: Rename *umodule*.c to remove the "u" prefix.
f5f9edf6457624bf32e71b0c2fdcfbfa5d5753a6 all: Rename UMODULE to MODULE in preprocessor/Makefile vars.

[no changelog]

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
cryptography-sensitive pathsigning or wallet pathboot or update pathauthentication path
AI analysis · Informational 15/100

This commit is a routine code cleanup that updates Trezor firmware to match a newer MicroPython version where built-in module names dropped the 'u' prefix (for example, 'uos' became 'os' and 'ustruct' became 'struct'). It renames imports, configuration flags, and source file references, and removes old mock files. There is no security fix or vulnerability here.

Security candidatechore(core): bump version to 2.12.5by Martin Milata · 82c04645 · Aug 3, 2026 · 8 filesMessage 57 · ThinInformational 15Details
Commit message · Martin Milata

chore(core): bump version to 2.12.5

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathboot or update path
AI analysis · Informational 15/100

This commit only updates the firmware version number from 2.12.4 to 2.12.5 in the source code and translation files. It does not change any security-related logic, fix any bug, or alter any cryptographic behavior. It is a routine release bookkeeping change with no security relevance.

Security candidatechore(core): build trezor_lib with xbuildby cepetr · 9ba7ee1b · Aug 3, 2026 · 16 filesMessage 57 · ThinInformational 15Details
Commit message · cepetr

chore(core): build trezor_lib with xbuild

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
boot or update pathparser or protocol path
AI analysis · Informational 15/100

This is a routine build-system cleanup for the Trezor firmware. It switches the internal 'trezor_lib' Rust crate to be built with the project's own 'xbuild' tool, removes transitional feature flags, and reorganizes Cargo.toml files. There is no indication this change fixes or introduces a security vulnerability.

Security candidatefeat(nordic): add nrf/ble functionality to T3T2by tychovrahe · d8b4daa6 · Jul 31, 2026 · 22 filesMessage 57 · ThinInformational 15Details
Commit message · tychovrahe

feat(nordic): add nrf/ble functionality to T3T2

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathauthentication path
AI analysis · Informational 15/100

This commit adds Bluetooth Low Energy (BLE) support for the Trezor T3T2 hardware model. It introduces new board configuration files, pin mappings, build scripts, and firmware binaries for the Nordic nRF54LS05A BLE radio used in T3T2. There is no indication in the commit that this fixes a security bug; it appears to be a feature addition enabling BLE functionality on a new device variant.

Security candidatechore(core): reorganize Cargo.toml feature sectionsby cepetr · 40ce9494 · Jul 31, 2026 · 14 filesMessage 62 · AdequateTriage 12Details
Commit message · cepetr

chore(core): reorganize Cargo.toml feature sections

[no changelog]

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
boot or update path
Security candidatefeat(core/rust): separate trezor-crypto to its own Rust crateby matejcik · 836142c7 · Jul 31, 2026 · 39 filesMessage 62 · AdequateInformational 15Details
Commit message · matejcik

feat(core/rust): separate trezor-crypto to its own Rust crate

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
cryptography-sensitive pathboot or update path
AI analysis · Informational 15/100

This commit is a large but straightforward internal refactoring: the cryptographic code is moved from one Rust crate (`rtl`) into a new dedicated crate (`crypto`), and all project dependencies are updated to point to the new crate. The actual cryptographic algorithms, build flags, and source files remain the same. There is no indication of a security bug fix or a vulnerability being introduced.

Security candidaterefactor(core/embed): reorganize error handlingby matejcik · a9dbab53 · Jul 31, 2026 · 27 filesMessage 90 · StrongInformational 17Details
Commit message · matejcik

refactor(core/embed): reorganize error handling

in rtl:
* provide headers for error_shutdown and __fatal_error (and variants)
* implement all except error_shutdown_ex_n and __fatal_error_n
* if feature error_shims is activated (dependency of test), also
error_shutdown_ex_n and __fatal_error_n are implemented via unix calls

in crypto:
* implement tc_fault_handler by delegating to error_shutdown

in sys:
* add error_handling.c, which provides global implementations of
error_shutdown_ex_n and __fatal_error_n by delegating to
system_exit_error/fatal

in conclusion: the error failure functions are forward-declared
in rtl, and waiting for _someone_ to provide an implementation at link
time

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
Why it was queued
cryptography-sensitive pathboot or update path
AI analysis · Informational 17/100

This commit is a code cleanup that moves how Trezor firmware handles fatal errors and shutdowns between its internal software layers. It does not add new user-facing features or change security protections. The main risk is that reorganizing low-level error paths could accidentally introduce a bug, but the diff itself does not show a vulnerability being fixed or introduced.

Security candidaterefactor(python): extract model definition into single fileby tychovrahe · e16fbb27 · Jul 31, 2026 · 19 filesMessage 62 · AdequateTriage 12Details
Commit message · tychovrahe

refactor(python): extract model definition into single file

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
boot or update path
Security candidatechore(core): add trailing colon for Bolt/Caesar EIP-7702 info itemsby Roman Zeyde · 243a9d21 · Jul 30, 2026 · 3 filesMessage 62 · AdequateTriage 15Details
Commit message · Roman Zeyde

chore(core): add trailing colon for Bolt/Caesar EIP-7702 info items

[no changelog]

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
cryptography-sensitive path
Security candidatefix(core/bootloader): correct "Change FW vendor" titleby Roman Zeyde · 5f756282 · Jul 29, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

fix(core/bootloader): correct "Change FW vendor" title

[no changelog]

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
update trustboot or update path
AI analysis · Informational 15/100

This commit changes a single on-screen label in the Trezor bootloader from lowercase 'Change fw vendor' to uppercase 'Change FW vendor'. It is purely a cosmetic wording fix with no security relevance.

Security candidatefeat(clear_signing): calldata array supportby PrisionMike · 0feb0b96 · Jul 29, 2026 · 2 filesMessage 57 · ThinLow 30Details
Commit message · PrisionMike

feat(clear_signing): calldata array support

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 30/100

This commit adds support in Trezor's Ethereum clear-signing feature for transactions that contain multiple embedded subcalls (like a multicall). Previously, only a single embedded call could be clearly displayed. The change lets the device show each subcall separately with labels like "(Subcall #1)" and handles both a single shared recipient address or a parallel list of recipients. It is a feature addition, not a fix for a known vulnerability.

Security candidatetest(clear signing): multiple calldataby PrisionMike · 0de94b8a · Jul 29, 2026 · 4 filesMessage 67 · AdequateInformational 15Details
Commit message · PrisionMike

test(clear signing): multiple calldata

[no changelog]

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 boundarysigning or wallet path
AI analysis · Informational 15/100

This commit only adds new automated tests for Trezor's Ethereum 'clear signing' feature. It includes a test case for an Aave multi-call transaction, a matching test data blob, and expected screen snapshots for different device models and languages. There are no changes to the actual firmware code that runs on the device, so this commit does not introduce or fix a security vulnerability.

Security candidatefix(core): add signatures [no changelog]by Michal Kazda · f83c7a79 · Jul 28, 2026 · 1 fileMessage 72 · AdequateTriage 5Details
Commit message · Michal Kazda

fix(core): add signatures
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing boundarysigning or wallet pathtranslation-only discount
Security candidatefix(clear_signing): double display of amount.by PrisionMike · ce2282bd · Jul 28, 2026 · 2 filesMessage 82 · StrongInformational 19Details
Commit message · PrisionMike

fix(clear_signing): double display of amount.

- compare rendered strings now.
- small typo in a test fixture name.

[no changelog]

82/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
signing boundarysigning or wallet path
AI analysis · Informational 19/100

This commit fixes a user-interface bug in Trezor's Ethereum 'clear signing' flow where the transaction's native ETH amount could be shown twice on the device screen. The old code tried to avoid duplication by checking whether an 'AmountFormatter' field was present, but that check missed cases where the same amount was rendered by other field types. The new code compares the actual rendered strings and suppresses the summary amount only when it exactly matches a field already displayed. There is no security vulnerability here; it is purely a display-quality fix.

Security candidatefeat(clear_signing): Add enum formatter - scaffoldingby PrisionMike · 74269511 · Jul 28, 2026 · 6 filesMessage 62 · AdequateTriage 18Details
Commit message · PrisionMike

feat(clear_signing): Add enum formatter - scaffolding

[no changelog]

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
signing boundary
Security candidatefeat(clear_signing): Add enum formatter - coreby PrisionMike · 4b25321c · Jul 28, 2026 · 2 filesMessage 57 · ThinInformational 21Details
Commit message · PrisionMike

feat(clear_signing): Add enum formatter - core

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Informational 21/100

This commit adds a new display formatter for Ethereum clear signing. It lets a transaction descriptor map numeric enum values (like 1 or 2) to human-readable labels (like 'stable' or 'variable') on the Trezor screen. The change is purely additive and includes tests. There is no indication it fixes a security bug or introduces a vulnerability; it is a feature implementation.

Security candidatetest(clear_signing): add device test for calldata formatter.by PrisionMike · 701624d3 · Jul 28, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · PrisionMike

test(clear_signing): add device test for calldata formatter.

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
signing boundarysigning or wallet path
AI analysis · Informational 15/100

This commit only adds a new automated test case for an existing Ethereum transaction display feature. It does not change any production firmware code, so it cannot introduce a security vulnerability or fix one. It is purely a test-data addition.

Security candidatefeat(clear_signing): support for calldata formatter. - core changesby PrisionMike · 570eb868 · Jul 28, 2026 · 3 filesMessage 62 · AdequateLow 39Details
Commit message · PrisionMike

feat(clear_signing): support for calldata formatter. - core changes

[no changelog]

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
signing boundarysigning or wallet path
AI analysis · Low 39/100

This commit adds a new Trezor firmware feature called 'clear signing' for nested Ethereum calls. It lets the device understand when a transaction wraps another contract call (like a router or multicall) and tries to show the user readable details about the inner call instead of just a blob of hex. The change is a feature addition with built-in safeguards: nested parsing is limited to one level, ambiguous fields like sender and value are blocked inside nested calls, and failures fall back to showing raw hex rather than aborting the whole transaction. There is no indication in the commit that this fixes a known security bug; it reads as a defensive new capability.

Security candidatefeat(clear_signing): support for calldata formatter. - scaffoldingby PrisionMike · 03741838 · Jul 28, 2026 · 12 filesMessage 62 · AdequateTriage 18Details
Commit message · PrisionMike

feat(clear_signing): support for calldata formatter. - scaffolding

[no changelog]

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
signing boundary
Security candidatetest(clear_signing): add enum formatter device test.by PrisionMike · b2d82435 · Jul 28, 2026 · 7 filesMessage 72 · AdequateInformational 23Details
Commit message · PrisionMike

test(clear_signing): add enum formatter device test.

[no changelog]

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
signing boundarysigning or wallet path
AI analysis · Informational 23/100

This commit is a test-only addition for Trezor's Ethereum 'clear signing' feature. It adds new test cases and makes a small production-code tweak so that enum display-formatters can accept byte values (converted to integers). The change is not described as a security fix, and the production change is minor and defensive: it broadens accepted input types rather than fixing a crash or bypass. There is no evidence of a disclosed vulnerability or exploit.

Security candidatefix(core/bolt): wider Continue buttonby Martin Milata · 493d9789 · Jul 28, 2026 · 2 filesMessage 57 · ThinTriage 12Details
Commit message · Martin Milata

fix(core/bolt): wider Continue button

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
boot or update path
Security candidateci: fix sync with trezor-common repositoryby Martin Milata · 28b9f13e · Jul 28, 2026 · 1 fileMessage 80 · StrongTriage 0Details
Commit message · Martin Milata

ci: fix sync with trezor-common repository

- do not persist conflicting token from actions/checkout
- remove failing git command that is no longer needed
- explicitly specify required permissions

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
credential or privilege statedocumentation-only discount
Security candidatechore(crypto): replace `int` by `size_t` for nonnegative parametersby M1nd3r · 78f83c9a · Jul 28, 2026 · 25 filesMessage 77 · AdequateLow 34Details
Commit message · M1nd3r

chore(crypto): replace `int` by `size_t` for nonnegative parameters

Assisted-by: Claude, Opus 5

[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
cryptography-sensitive pathboot or update path
AI analysis · Low 34/100

This commit is a code-quality cleanup that changes many function parameters from signed integers (`int`) to unsigned size types (`size_t`) where only non-negative lengths or sizes make sense. It also removes some now-unnecessary negative-value checks and adjusts callers/tests accordingly. The change is defensive: using `size_t` prevents accidental negative lengths from being interpreted as huge positive values, which can cause memory corruption or information leaks. The commit itself does not claim to fix a specific vulnerability, and no external security advisory is supplied.

Security candidatefeat(core): compose Stellar authorization entry labels as root label + path.by Jun Luo · ad830fa9 · Jul 28, 2026 · 1 fileMessage 98 · StrongTriage 18Details
Commit message · Jun Luo

feat(core): compose Stellar authorization entry labels as root label + path.

The same auth entry now renders with the same sub-invocation paths
regardless of where it appears: "Authorization #2" for the entry itself
and "Authorization #2.1", "Authorization #2.1.1", ... for its
(nested) sub-invocations.

[no changelog]

98/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✓ Names security-relevant behavior explicitly
Why it was queued
access control
Security candidatefeat(common,core,python,tests): support signing Stellar Soroban authorization entries.by Jun Luo · 6008cc25 · Jul 28, 2026 · 25 filesMessage 100 · StrongLow 36Details
Commit message · Jun Luo

feat(common,core,python,tests): support signing Stellar Soroban authorization entries.

Fixes: https://github.com/trezor/trezor-firmware/issues/7312

100/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✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
signing boundaryaccess controlsigning or wallet pathboot or update pathauthentication path
AI analysis · Low 36/100

This commit adds a new Trezor feature that lets users sign Stellar Soroban smart-contract authorization entries. The device now supports a new message type where it derives the user's Stellar address, shows confirmation screens, and produces an Ed25519 signature over a protocol-defined authorization payload. The change is a feature addition rather than a bug fix, and the signing flow includes user confirmation steps.