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
This is a build-system maintenance change. It ensures an empty Rust bindings file is created even when no bindings are requested, and refactors how generated files are compared and written. There is no user-facing or security-relevant beha…
This change is purely about how automated tests are run in the project's build system. It switches Rust unit tests to run through a helper tool called xtask and, as noted by the developer, temporarily disables those Rust unit tests in CI u…
Commit message explicitly states Rust unit tests are disabled temporarilyNo source code changes to firmware, crypto, or device logicCI/build-system-only diff
This is a code cleanup (refactor) in the Python trezorlib library. It moves Trezor hardware model definitions (names, USB IDs, firmware verification keys, hash settings, UI layout, BLE capability) from several scattered files into one shar…
No security-relevant behavioral change observedNo new attack surface introducedNo change to keys, signature thresholds, hash parameters, or trust model
This commit updates the minimum supported firmware version numbers for four Trezor hardware wallet models in the Python client library. The old values were generic placeholders (2.3.0), and the new values reflect the actual earliest firmwa…
Version metadata change onlyNo firmware code or cryptographic logic modifiedNo vulnerability description in commit or supplied references
This commit fixes how a small on-screen reminder (the 'nudge screen') for U2F is created, tracked, and cleaned up. Before the fix, the code could lose track of the reminder screen or mishandle its removal, which might cause display glitche…
Use-after-free / dangling-pointer risk: global _nudge_label pointer could outlive the component it referencesUI state inconsistency: previous callback set _nudge_label = NULL on screen pop, but component cleanup may occur later or not at allMemory management fix: custom cleanup wrapper now synchronizes global pointer with component lifetime
This commit fixes a bug in the U2F confirmation workflow where the firmware could read a result from memory that had already been cleared, potentially giving an incorrect success/failure answer. The fix simply reads the result before wipin…
use-after-clear / stale reference in task stateincorrect result lifetime orderingU2F confirmation workflow
This commit fixes a simple typo in a Python project configuration file. The date for an exception allowing a newer Stellar SDK package had an extra '1' in the day ('2026-07-051'), which is not a valid date. The change corrects it to '2026-…
This commit fixes a missing constant in Trezor's Python library that talks to hardware wallets over USB HID. The change adds CHUNK_SIZE = 64, which likely restores normal communication with devices. There is no direct evidence in the commi…
Missing size constant restored in transport layerCommunication failure with hardware wallet possible without the constantNo explicit security claim in commit message or changelog
This commit is purely a documentation update that generates the changelog for version 0.20.2 of the Trezor Python library. It deletes individual changelog fragment files and adds their contents to the main CHANGELOG.md file. No source code…
This commit is a routine version bump for the Python 'trezor' package from 0.20.2 to 0.20.3 after a release. It only changes two version strings in packaging files and contains no functional code changes.
This commit fixes a flaky automated test for Ledger hardware wallets. The test script was sometimes clicking the wrong on-screen button because a warning message appears twice on different screens. The fix narrows the click target so it on…
No production code changedOnly test automation JSON modifiedFixes test flakiness, not a product vulnerability
A quiet fix may be responsible caution—or it may leave users unaware that their assets were ever at risk. CommitWatch preserves the evidence, adds context, and tracks whether vendors disclose, acknowledge, and learn.