Changelog
Notable Changes to qlean
0.3.0 (2026-5-22)
Added
- Introduce
ImageConfigto support guest distro, architecture, source, and digest configuration. - Integrate QMP for graceful VM shutdown and running-state queries.
- Add progress bars during image downloads.
- Add builder-style chaining for
ImageConfigandMachineConfig.
Fixed
- Inject SSH over vhost-vsock startup logic into VMs via cloud-init to improve SSH connection stability.
- Improve streaming hash computation performance (set
sha2crateopt-level = 3).
Changed
- Refactor image handling logic to unify built-in distro and custom image creation via the
Image::new()interface. - Make SSH launch timeout configurable and support ephemeral images via auto-cleanup.
- Tighten the public API surface and align doc comments with rustdoc conventions.
Removed
- Remove dependency on external
sha256sum/sha512sumbinaries. - Remove kernel/initrd extraction logic; QEMU no longer boots directly from kernel, and the host no longer depends on
guestfishorvirt-copy-out. - Deprecated factory function
create_image.
0.2.3 (2026-2-12)
Added
- Added support for multi-distro and custom images, and implemented streaming hash computation.
0.2.2 (2026-1-31)
Fixed
- Use
qemu:///systemURI to enable bridge creation.
0.2.1 (2026-1-29)
Added
- Fallback to TCG when KVM is unavailable.
0.2.0 (2026-1-26)
Added
- Added
MachinePoolfor managing multiple machines concurrently. - Introduced network setup with
virshto ensure the "qlean" network exists.
0.1.1 (2026-1-24)
Fixed
- Match SHA512 entries by exact qcow2 filename to avoid picking JSON hashes when downloading Debian images.
0.1.0 (2026-1-12)
Added
- Implemented virtual machine lifecycle management.
- Added SFTP file transfer and
std::fs-compatible operations.