Amber nodes are monitored by CommitWatch. Gray nodes are sampled from authenticated GitHub public commit search and may not represent complete contribution history.
This commit is a small internal cleanup in the Rust code that handles device logging. It replaces manual pointer-and-length handling with a helper called FatPtr, which is designed to safely represent string slices. There is no indication t…
This commit changes how Trezor firmware passes empty data buffers from Rust code to C code. Previously, an empty Rust slice could produce a pointer that looks like a memory address but points to nothing valid. The patch forces such empty s…
Rust-to-C FFI pointer handling changeEmpty slice now coerced to NULL FatPtrExplicitly motivated by C interop pointer validity checks
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
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 commit is a routine internal code reorganization. It moves the syslog (system logging) functionality from one Rust module into a new shared 'sys' crate and updates the callers to use the new location. There is no user-facing change, n…
This commit removes internal debug-only printing helpers from the Trezor firmware's Rust code. It is a cleanup change with no security relevance: the removed macros were only active when a special 'debug' build feature was enabled, and the…
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 purely cosmetic code-style commit. It runs the project's Rust formatter across hundreds of files, changing only how import statements are grouped and how long comments are wrapped. No program logic, security behavior, or function…
This commit only changes Rust code formatting rules. It moves a rustfmt.toml configuration file up one directory and adjusts how Rust import statements are automatically grouped and sorted. There is no change to program logic, security beh…
This commit fixes a build problem in Trezor's firmware. The code used a very common filename, version.h, which could accidentally pull in the wrong file from another software package during compilation. The fix creates a symlink with a mor…
Header name collision could theoretically cause wrong version metadata to be compiled into firmwareNo input validation, memory safety, or cryptographic change presentNo vendor disclosure of security relevance
This is a build-system cleanup, not a security fix. It changes how the Trezor firmware build tells the compiler whether to produce object files or preprocessed source files, so that it no longer accidentally passes conflicting flags that n…
This is a one-line build fix for a software-only emulator path. The C _Static_assert macro requires a message string as its second argument on some compilers/toolchains. The change adds an empty string so the code compiles. It does not alt…
This is a build-system cleanup for the Trezor hardware wallet firmware. The developers replaced a GCC-only compiler flag with portable warning flags and added explicit type casts in a handful of driver files to silence the new warnings. Th…
No security-relevant signals in commit message or diffChanges are build/compiler-warning hygiene, not vulnerability remediationExplicit casts reduce ambiguity but do not change intended arithmetic semantics
This commit simply adds two directory names to the project's .gitignore file so that files created by a Visual Studio Code extension are not accidentally committed to the repository. It does not change any executable code, cryptographic lo…
This is a minor build cleanup. A developer added a compile-time branch so that when neither the Optiga nor Tropic security chips are used, the 'strong' random-number wrapper simply calls the normal random-number function and returns. The o…
This commit only changes a build script to suppress a compiler warning. It does not fix a security bug, change runtime behavior, or alter any device firmware code. The warning was about a string being slightly too long for its container in…
This is a one-line update to a test file. It changes what the test expects the device to return after a screen unlock step, from a PublicKey message to a Success message. There is no change to the actual device firmware or any security-sen…
This is a small optimization in the Trezor Python library. The `ensure_unlocked()` helper used to pick or create a wallet session, which forced the hardware wallet to derive the master seed just to check if the device was unlocked. The new…
No security-relevant keywords in commit title or messageNo CVE, advisory, or vendor security notice referencedChange is framed as a feature/performance optimization in changelog
This commit fixes the `trezorctl get-session` command in Trezor's Python library. It prevents crashes when an invalid session ID is supplied, ensures a required pairing step is completed when resuming secure (THP) sessions, and changes the…
Invalid input (malformed base64 session ID) previously caused an unhandled exception/crash in the CLI.THP session resumption could leave pairing in an invalid state because `pairing.finish()` was skipped when no pairing flow ran.The `passphrase=False` semantic change could affect which wallet/session is derived in CLI workflows, but the commit message frames this as matching actual intended usage.