Changelog¶
The changelog format is based on Keep a Changelog.
This project uses Semantic Versioning - MAJOR.MINOR.PATCH
0.0.1 (2026-06-09)¶
No significant changes.
0.0.1 (2026-05-19)¶
Changed¶
The default backend is now
autoinstead ofredfish. Profiles that omitbackend:will probe Redfish first and fall back to IPMI on TLS / connection / non-Redfish HTTP responses — so mixed fleets containing both modern (Redfish) and legacy (IPMI-only) hardware work without per-profile configuration. To preserve the previous fast-path behaviour on Redfish-only fleets, setbackend: redfishexplicitly to skip the probe.
Fixed¶
bmc.get_system_infoon the IPMI backend now works on legacy BMCs. The previous implementation calledCommand.get_fru()andCommand.get_bmc_information()— neither of which exist onpyghmi.ipmi.command.Command. The fix:Calls pyghmi’s actual API (
get_firmware()) for BMC firmware version, plus a tolerant in-house FRU reader for the system FRU. Pyghmi’s built-in FRU read starts at a 224-byte chunk size and only backs off on IPMI completion codes 0xC9 / 0xCA, leaving older BMCs (e.g. early HP iLO / Allegro RomPager-based BMCs) that return 0xC7 (“Request data length invalid”) with no usable inventory. Our reader treats 0xC7 the same way pyghmi treats 0xC9 / 0xCA — halve the chunk and retry — then parses the bytes with pyghmi’s ownFRUclass.Recognises pyghmi’s title-case FRU keys (
Manufacturer,Product name,Serial Number,Model,UUID,SKU) in_normalize_fru_flat; snake-case keys are still accepted for backwards compatibility.Returns
Nonefor fields the BMC does not expose rather than raising, matching the docstring promise. Each component (FRU, firmware, power) is queried independently.