Summary
Investigate and correct the semantics and use of per-model minimum_version in trezorlib.
PR #7212 consolidates model metadata in python/src/trezorlib/_modeldata/ and adds model-specific minimum firmware versions. During review, it was noted that trezorctl warns that firmware is outdated whenever this threshold is not met. That behavior may not be appropriate if these values represent the first firmware release for a model rather than a mandatory upgrade floor.
Required investigation
- Define the intended contract for
ModelData.minimum_version:
- whether it is the first released firmware version,
- a minimum supported firmware version for host operations,
- or another compatibility threshold.
- Trace every
trezorlib and trezorctl consumer of this metadata and document how it affects user-visible warnings and behavior.
- Decide whether the field should be enforced, renamed, split into distinct metadata, or removed until there is a valid use case.
- Ensure the model values are accurate if the field remains.
Affected areas
python/src/trezorlib/_modeldata/
python/src/trezorlib/models.py
- Firmware/CLI version-checking and warning paths in
python/src/trezorlib/
Acceptance criteria
- The meaning of
minimum_version is documented and unambiguous.
trezorctl does not emit misleading “outdated firmware” warnings based solely on model-release metadata.
- All consumers implement the agreed semantics consistently.
- Tests cover the intended warning/compatibility behavior and the relevant model-version cases.
Requested by @obrusvit.
Related:
Summary
Investigate and correct the semantics and use of per-model
minimum_versionintrezorlib.PR #7212 consolidates model metadata in
python/src/trezorlib/_modeldata/and adds model-specific minimum firmware versions. During review, it was noted thattrezorctlwarns that firmware is outdated whenever this threshold is not met. That behavior may not be appropriate if these values represent the first firmware release for a model rather than a mandatory upgrade floor.Required investigation
ModelData.minimum_version:trezorlibandtrezorctlconsumer of this metadata and document how it affects user-visible warnings and behavior.Affected areas
python/src/trezorlib/_modeldata/python/src/trezorlib/models.pypython/src/trezorlib/Acceptance criteria
minimum_versionis documented and unambiguous.trezorctldoes not emit misleading “outdated firmware” warnings based solely on model-release metadata.Requested by @obrusvit.
Related: