TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

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

916security candidates311second-pass queue1118AI analyses
342commits · 30 days
582commits · 60 days
1357commits · 180 days
2654commits · 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
473Strong · 80–100
1318Adequate · 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.
Andrew Kozlik702427266
Roman Zeyde571177231171
tychovrahe292104111161
PrisionMike945976173
Jakub Janků19915184
Martin Pastyřík2389173
cepetr1968282059
Ioan Bizău23076131059
obrusvit2137693064
M1nd3r2067181071
Lukas Bielesch846771067
Martin Milata1744648063
Analysis record

Published AI watches

Last scanned 56 minutes ago

Informational 18 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): remove sha1 from regular FW

This commit removes the SHA-1 hashing function from the regular Trezor firmware. SHA-1 is an old, weak hash algorithm that is no longer considered secure for sensitive uses. The change deletes the code that exposes SHA-1 to apps running on…

Removal of a deprecated cryptographic primitive (SHA-1) from the firmware API surfaceReduction of attack surface and prevention of future misuse of a collision-vulnerable hashNo direct vulnerability patch or memory-safety bug is present in the diff
16d15774by M1nd3r+0−2006 files
No security note in commit
Low 27 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): pass static public key to `noise_xxpsk3_*_init()`

This commit changes how a cryptographic library sets up secure connections. Previously, the code automatically calculated the public key from the private key. Now, the caller must provide the public key directly. This is a code-quality ref…

Cryptographic key handling changed: public key is now supplied rather than derivedPotential reduction of key-mismatch risk if caller provides correct public keyNew null-pointer check added for static_public_key
1b3128a4by Ondřej Vejpustek+20−92 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): change order of parameters

This commit simply reorders the arguments of an internal function called dh() and updates every place that calls it. The actual math and security behavior are unchanged; it is a code cleanup with no security effect.

33a119eeby Ondřej Vejpustek+15−151 file
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): prefix enums

This commit simply renames two groups of internal status labels (called enums) in the Trezor firmware's cryptographic code. The old names like WAITING_FOR_REQUEST1 were shared between two different parts of the code, so the developer gave …

f1c74046by Ondřej Vejpustek+26−222 files
No security note in commit
Low 37 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(crypto): prevent calling `memzero(NULL, ...)`

This commit fixes three places in the Trezor firmware's cryptographic code where a memory-clearing function could be called with a NULL pointer. In practice, passing NULL to memzero is harmless on Trezor's platform (it does nothing), but i…

NULL pointer passed to memory-zeroing helper in cryptographic codeUndefined behavior in C standard library contractDefensive hardening in Noise protocol implementation
0394e934by Ondřej Vejpustek+11−51 file
No security note in commit
Informational 18 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): return remote static key from `noise_xxpsk3_*_handle_*()`

This commit is a code cleanup (refactor) for the cryptographic handshake code used in Trezor devices. It changes how the other party's long-term public key is returned to the caller: instead of storing it inside an internal state structure…

Removal of long-term public key storage from internal handshake stateCaller-supplied output buffer for remote static public key reduces internal secret retentionError-path memzero of returned key material on failure
3ead1aa6by Ondřej Vejpustek+79−423 files
No security note in commit
Informational 17 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(xtask): introduce project-toml build-options

This commit is a build-system refactoring for Trezor firmware. It moves the mapping of command-line build options to Rust/cargo features out of hard-coded Rust logic and into per-project TOML files. It also adds a small change so debug bui…

Build-option mapping now lives in project.toml files, increasing the attack surface for supply-chain/build-configuration tamperingMakefile change automatically enables debug-link for PYOPT=0 debug buildsValidation added to reject storage_insecure_testing_mode in production builds
d44de007by cepetr+681−40817 files
No security note in commit
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 70 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): use mp_obj_new_str_from_cstr

This commit is a simple code cleanup that replaces a common MicroPython string-creation pattern with a new helper function. It does not change what the code does, only how it is written. There is no security issue visible in the change.

6a889e6aby Martin Milata+3−33 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 18 AI analysisMessage 70 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): replace m_new_obj_with_finaliser

This commit is a routine code cleanup in the Trezor firmware's embedded MicroPython modules. It replaces an older, two-step object allocation pattern with a newer helper that allocates memory and sets the object type in one step. The chang…

No security-relevant logic changes observedNo input validation changesNo memory safety bug fixes (e.g., no overflow, use-after-free, or uninitialized memory fixes)
142794eaby Martin Milata+40−5619 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): bundle the utimeq module

This commit is a routine maintenance refactor. MicroPython removed its built-in 'utimeq' module, so Trezor copied the same code into its own firmware tree and renamed it to 'timeq'. There is no security bug being fixed and no new vulnerabi…

617bc806by Martin Milata+284−2211 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 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): switch to slots-based mp_obj_type_t

This commit is a routine internal cleanup that switches how Trezor's firmware defines built-in MicroPython object types. It replaces older, manually-written type structures with a newer macro provided by the upstream MicroPython project. T…

ab51798fby Martin Milata+163−16624 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/rust): bindgen wrapper for calling static micropython functions

This commit is a straightforward internal code refactor. It adds a small C wrapper file so that Rust code can call two specific internal MicroPython functions that are declared as static/inline in headers. There is no user-facing change, n…

d5121d92by Martin Milata+20−06 files
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

build(core): adjust mpy-cross paths

This commit is a routine build-system update for the Trezor firmware. It changes where the build process looks for the MicroPython cross-compiler binary (mpy-cross) and synchronizes a configuration header with newer MicroPython code. There…

2ef70e16by Martin Milata+18−264 files
No security note in commit
Low 30 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

build(core): collect micropython GC root pointers

This commit updates the Trezor firmware build system to use a newer MicroPython mechanism for tracking special memory pointers called 'root pointers.' It removes hard-coded lists of these pointers from configuration files and instead colle…

GC root pointer handling changedBuild system now auto-collects root pointers instead of hard-coding themRemoves manual MICROPY_PORT_ROOT_POINTERS lists
fc128f3dby Martin Milata+75−107 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.

AI review queuedchore(translations): sync Crowdin translationsby obrusvit · 9ca5dab2 · Nov 26, 2025 · 7 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(translations): sync Crowdin translations

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 pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine synchronization of translated user-interface text strings from the Crowdin translation platform. It updates wording in Czech, German, Spanish, French, and Portuguese translation files, refreshes the cryptographic signature that authenticates those translations, and updates the corresponding visual test snapshots. There are no code logic changes, no security fixes, and no behavior changes beyond the exact text shown on screen.

AI review queuedchore(tests): add test for back from amountby Ioan Bizău · 25a0c80a · Nov 25, 2025 · 2 filesMessage 67 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore(tests): add test for back from amount

[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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds a new automated test for the Trezor hardware wallet. It simulates a user pressing the 'back' button while confirming a Bitcoin transaction amount, then completing the transaction normally. There is no change to the actual wallet firmware or production code, so it does not introduce or fix any security issue on its own.

AI review queuedchore(core): sign translationsby Roman Zeyde · f740f1eb · Nov 19, 2025 · 1 fileMessage 47 · ThinTriage 0Details
Commit message · Roman Zeyde

chore(core): sign translations

[no changelog]

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI review queueddocs(core): changelog for 2.9.4by Roman Zeyde · 26ef9c62 · Nov 19, 2025 · 23 filesMessage 57 · ThinTriage 0Details
Commit message · Roman Zeyde

docs(core): changelog for 2.9.4

[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
second-pass: unusually broad change
AI review queuedrefator(core): refactor tropic certificate cacheby Ondřej Vejpustek · 2f857bf6 · Nov 10, 2025 · 3 filesMessage 45 · ThinTriage 0Details
Commit message · Ondřej Vejpustek

refator(core): refactor tropic certificate cache

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: broader security terminology
AI review queuedchore(core): remove italian localizationby obrusvit · 4b691a3e · Nov 7, 2025 · 29 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(core): remove italian localization

[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 pathsecond-pass: unusually broad changesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit simply removes the Italian language translation files and related font glyph definitions from the Trezor firmware. It is a routine localization cleanup with no security relevance. No code that handles cryptography, authentication, or device security is changed.

AI review queuedchore(core): remove Bolt-specific stringsby obrusvit · 985835f4 · Nov 5, 2025 · 6 filesMessage 80 · StrongTriage 0Details
Commit message · obrusvit

chore(core): remove Bolt-specific strings

- these strings are specific for reset flow in Bolt layout, remove them
from other layouts.
- done to reduce size of translation blobs

[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
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI review queuedfix(ui): break on unitby Ioan Bizău · c1559ce8 · Nov 5, 2025 · 6 filesMessage 50 · ThinInformational 15Details
Commit message · Ioan Bizău

fix(ui): break on unit

[no changelog]

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a cosmetic user-interface change. It replaces a non-breaking space between a number and its unit (like '1.23 BTC') with a regular space so the unit can wrap to the next line on small screens. There is no security impact.

AI review queuedchore: add characters to PT fontby Ioan Bizău · 085f973c · Nov 4, 2025 · 23 filesMessage 57 · ThinTriage 0Details
Commit message · Ioan Bizău

chore: add characters to PT font

[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
second-pass: unusually broad change
AI review queuedchore: make genby obrusvit · 3ef747bc · Nov 4, 2025 · 1 fileMessage 40 · ThinTriage 0Details
Commit message · obrusvit

chore: make gen

[no changelog]

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 pathtranslation-only discountsecond-pass: security-sensitive path
AI review queuedtest(ethereum): Add fixture for an unkown function callby PrisionMike · b4cb9951 · Nov 3, 2025 · 2 filesMessage 95 · StrongInformational 15Details
Commit message · PrisionMike

test(ethereum): Add fixture for an unkown function call

Every unkown call should not have an unkown contract address screen lest users get used to ignoring the warning screens.
[no changelog]

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 adds a new test case for Ethereum transactions. It does not change any production code, so it cannot directly introduce or fix a security vulnerability. The test checks how the device displays a transaction when the called function, token, and blockchain are all unknown. The commit message hints at a user-interface design concern—avoiding unnecessary warning screens so users don't learn to ignore them—but that concern is not implemented in this change.

AI review queuedchore(core): remove redunant payment request sanitizer [no changelog]by M1nd3r · 00e9f105 · Oct 27, 2025 · 1 fileMessage 77 · AdequateLow 26Details
Commit message · M1nd3r

chore(core): remove redunant payment request sanitizer
[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
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: security-sensitive path
AI analysis · Low 26/100

This commit removes a safety check that ensured each memo inside a Bitcoin payment request contained exactly one memo type. The change is described by the developer as removing a redundant sanitizer, suggesting the validation is believed to happen elsewhere. Without access to the rest of the codebase or vendor confirmation, it is unclear whether this weakens security or is genuinely redundant.

AI review queuedfix(core/rust): fix UB due to unaligned access in protobuf codecby matejcik · 5a0f3a62 · Oct 23, 2025 · 5 filesMessage 74 · AdequateModerate 61Details
Commit message · matejcik

fix(core/rust): fix UB due to unaligned access in protobuf codec

74/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Moderate 61/100

This commit fixes undefined behavior in the Rust-based protobuf codec inside Trezor firmware. The code was reading multi-byte integers from data files that were not guaranteed to be properly aligned in memory, which can cause crashes or unpredictable behavior on some hardware. The patch ensures the data files are loaded with correct memory alignment and removes the use of 'packed' structs that forced unaligned access. It is a defensive hardening fix rather than a confirmed remote exploit.

AI review queueddocs(python): changelog for 0.20.0-dev0by matejcik · 9faa614a · Oct 20, 2025 · 22 filesMessage 57 · ThinTriage 0Details
Commit message · matejcik

docs(python): changelog for 0.20.0-dev0

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
second-pass: unusually broad change
AI review queuedchore(test): add payment requests test case used in connect-e2e tests [no changelog]by M1nd3r · 27fa2a17 · Oct 18, 2025 · 3 filesMessage 87 · StrongInformational 15Details
Commit message · M1nd3r

chore(test): add payment requests test case used in connect-e2e tests
[no changelog]

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
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds a new test case and updates expected test screenshots. It does not change the actual Trezor firmware code that users run. The new test verifies that a payment request without a memo or nonce behaves as expected and does not trigger a nonce-reuse error. There is no security fix or vulnerability here.

AI review queuedchore: let br_code be Warningby Ioan Bizău · cb65178a · Oct 16, 2025 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

chore: let br_code be Warning

[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 pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This is a minor internal cleanup change in the Trezor hardware wallet firmware. It removes explicit button-request type labels from two warning screens in the Ripple and Stellar cryptocurrency apps, letting them default to a generic 'Warning' category instead of 'ConfirmOutput'. There is no visible security bug or vulnerability being fixed.

AI review queuedchore: warning for Ripple destination tag missingby Ioan Bizău · 99b3f9fb · Oct 16, 2025 · 9 filesMessage 57 · ThinInformational 20Details
Commit message · Ioan Bizău

chore: warning for Ripple destination tag missing

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 pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100

This commit adds a user-facing warning in Trezor hardware wallets when signing a Ripple transaction that does not include a destination tag. Destination tags are often required by exchanges to credit the correct account, so missing one can lead to lost funds. The change only shows an extra warning screen; it does not alter how transactions are validated or signed.

AI review queuedfeat: 32 bytes amount in ETH payment requestsby Ioan Bizău · abb2816c · Oct 16, 2025 · 15 filesMessage 57 · ThinLow 36Details
Commit message · Ioan Bizău

feat: 32 bytes amount in ETH payment requests

[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 pathsecond-pass: security-sensitive path
AI analysis · Low 36/100

This commit changes how payment-request amounts are encoded in Trezor firmware. Previously amounts were 8-byte numbers; now they can be 8 or 32 bytes, with 32 bytes used for Ethereum/EVM transactions. The change is a feature update to support larger EVM token amounts, not a clearly disclosed security fix. It does add length checks and an overflow guard, which reduces risk, but the change touches the trusted payment-request verification path, so any bug there could affect what amount the user is asked to approve.

AI review queuedchore(tests): long values in payment requestsby Ioan Bizău · ba67a2de · Oct 16, 2025 · 2 filesMessage 67 · AdequateInformational 12Details
Commit message · Ioan Bizău

chore(tests): long values in payment requests

[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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit only adds new automated tests. It checks that Trezor devices correctly reject payment-request amounts encoded with the wrong number of bytes (for Bitcoin) or values that are too large (for Ethereum). There is no change to the actual firmware or production code, and the commit message explicitly marks itself as a test-only chore with no changelog.

AI review queuedchore(core): Crowdin partial syncby obrusvit · 8da475da · Oct 15, 2025 · 10 filesMessage 72 · AdequateInformational 15Details
Commit message · obrusvit

chore(core): Crowdin partial sync

- including gen and fixtures

[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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine translation and localization update for the Trezor firmware. It updates translated user-facing strings in several languages, fixes a typo ('minumum' to 'minimum'), adjusts some strings to be device-layout-specific, and refreshes the corresponding UI test fixture hashes. There is no code behavior change and no security impact.

AI review queuedchore(core): sign translationsby obrusvit · 09907258 · Oct 14, 2025 · 1 fileMessage 62 · AdequateTriage 0Details
Commit message · obrusvit

chore(core): sign translations

- note: translations are signed from branch
`release/translations/25.10.21`

[no changelog]

62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI review queuedchore(tests): generate certificate chain for Tropicby Ioan Bizău · 46b5510e · Oct 14, 2025 · 4 filesMessage 72 · AdequateTriage 0Details
Commit message · Ioan Bizău

chore(tests): generate certificate chain for Tropic

[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
second-pass: broader security terminology
AI review queuedfix(core): fix crash when setting wipe codeby tychovrahe · 66b0a65e · Oct 12, 2025 · 1 fileMessage 72 · AdequateTriage 0Details
Commit message · tychovrahe

fix(core): fix crash when setting wipe code

[no changelog]

(cherry picked from commit da76bd501dd1bfefba472a969f213253ac6fc7cf)

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
second-pass: broader security terminology
AI review queuedfix(core): fix crash when setting wipe codeby tychovrahe · da76bd50 · Oct 10, 2025 · 1 fileMessage 57 · ThinTriage 0Details
Commit message · tychovrahe

fix(core): fix crash when setting wipe code

[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
second-pass: broader security terminology
AI review queuedchore(core): remove unused translations per layoutby obrusvit · 1b5250c7 · Oct 8, 2025 · 9 filesMessage 62 · AdequateTriage 0Details
Commit message · obrusvit

chore(core): remove unused translations per layout

[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 or wallet pathtranslation-only discountsecond-pass: security-sensitive path