v2.1.19
ComputePools has no hypervisor_type/hypervisor_version columns, so these were always null. The real data lives on the VM's ComputeMember as a single combined hypervisor_model string (e.g. "XenServer 8.2.5", the only format any driver currently produces via HostSyncInterface::detectVersion). Split it into type/version.