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 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 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 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 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.
This commit fixes a regression in the Trezor command-line tool (trezorctl). A recent earlier change accidentally removed a shortcut that skips asking the user for their passphrase when the caller explicitly says it is not needed. Because o…
Behavioral regression in authentication flowPassphrase prompt bypass restored for non-wallet operationsNo cryptographic changes or buffer/memory safety issues visible
This commit only updates expected test screenshots (called UI fixtures) recorded as cryptographic hashes. The firmware code itself is not changed. The message explains that a helper function called ensure_unlocked() no longer creates a new…
No source code changesOnly test fixture hashes updatedChange is explained as a test-side consequence of a prior behavior change in ensure_unlocked()
This commit is a hardening change to Trezor's build tooling. It tells the Python package manager 'uv' not to use any package uploaded to PyPI in the last 30 days, which reduces the risk of accidentally pulling in a freshly compromised depe…
This is a large internal refactoring of the Python trezorlib client API. It reworks how sessions are created, managed, and closed, moves session classes out of the transport layer, adds a credential/keyring helper for the new THP pairing f…
Large refactor of security-critical session and authentication codeNew OS keyring integration for THP pairing credentialsNew JSON credential index file in user config dir
This is a tiny fix in the Trezor Python library that stops an incorrect error message. When a Trezor device is in bootloader mode, it legitimately does not return a session ID, but the library was wrongly logging a scary 'session managemen…
No security-relevant behavior change: only log message suppressionCondition tied to existing device-reported state (bootloader_mode)No input parsing, memory handling, or authentication change
This commit fixes a logic bug in the Trezor Python library's pairing flow. Previously, the library would skip pairing whenever the device allowed it, even when the caller also asked for a security credential. Skipping pairing moves the pro…
Protocol-state mismatch between pairing skip and credential requestFunctional bug in THP (Trezor Host Protocol) pairing flowType-safety overloads added to clarify credential return behavior
This commit refactors how Trezor's command-line tool stores and looks up pairing credentials. It changes the way secrets are labeled in the system keyring, adds new lookup methods, and adds a 'forget' command to remove remembered device ke…
Credential storage structure changed to use random identifiers instead of public keys as keyring usernamesNew credential lookup by masked key set, unmasked public key, and random idNew CLI command to forget/remove pairing credentials
This is a small code cleanup in Trezor's Python library. It changes how a new Bluetooth-style pairing flow is started so that it no longer asks the device for a 'credential' during setup. The commit message says the credential could not be…
Change is in pairing/authentication-related code pathCredential request disabled in default pairing flowNo changelog entry, suggesting developer does not treat as security fix
This commit refactors how the Trezor Python command-line tool (trezorctl) manages device sessions and unlocking. It aims to avoid creating duplicate sessions when unlocking the device and to handle passphrases more cleanly. The changes are…
Refactor of device unlock/session reuse logic in CLI clientRemoval of get_default_session() path that could trigger redundant ensure_unlocked() callsCaching of standard session and features to avoid repeated state queries
This is a large code-style and type-annotation cleanup. It replaces concrete type hints like `bytes` with broader aliases such as `AnyBytes`, `AnyBuffer`, and `StrOrBytes`, and fixes a few minor type-checker warnings (for example adding an…
This is a routine code-style and type-annotation cleanup in the Python part of the Trezor firmware repository. It updates type hints to satisfy a newer version of the pyright type checker, replaces some manual success checks with a helper,…
This commit is a routine build-system housekeeping change for the Trezor Python library. It replaces the old setup.py/requirements.txt packaging with a modern pyproject.toml and the uv build tool, drops Python 3.8 support, and changes how …
This commit is purely a code-style update. It reformats Python source files to match the latest version of the Black formatter, changes uppercase hex escapes in byte strings to lowercase, removes unnecessary 'global' declarations, and adju…
This commit updates a small Python helper script used to display a fingerprint (a kind of checksum) for Trezor firmware files. It adds support for a newer bootloader image format (BootloaderV2) so the tool can handle both old and new forma…
No security-relevant keywords in commit title or messageNo vendor security advisory or CVE referencedChange is limited to a developer/CLI utility script