Skip to content

Releases: lpotthast/cloud-hypervisor-client

v0.4.0+api-spec-0.3.0-2026-05-04

04 May 15:08

Choose a tag to compare

cloud-hypervisor-client

Added

  • Two new generated API operations on DefaultApi, regenerated from a newer revision of the upstream cloud-hypervisor
    OpenAPI spec (still self-labelled 0.3.0):
    • vm_add_generic_vhost_user_put (PUT /vm.add-generic-vhost-user)
    • vm_resize_disk_put (PUT /vm.resize-disk)
  • New generated models: ConsoleMode, CoreSchedulingMode, GenericVhostUserConfig, ImageType, LockGranularity,
    MemoryRestoreMode, TimeoutStrategy, UserDeviceConfig, VmResizeDisk, VmState.
  • Various new optional fields on existing *Config models from the same regeneration pass; see commit b1c3cb0 for
    the full set.

Changed

  • Breaking. Bumped MSRV from 1.81.0 to 1.86.0 and migrated the library crate to Rust edition 2024.
  • Breaking. Dropped HTTP authentication from the public surface. apis::configuration::Configuration no
    longer exposes basic_auth, oauth_access_token, or api_key, and the BasicAuth alias and ApiKey struct
    are gone. The cloud-hypervisor REST API speaks over a Unix domain socket and defines no securitySchemes, so
    these fields had no effect against cloud-hypervisor itself. Callers that constructed Configuration as a struct
    literal must drop the auth initializers. Anyone tunneling through an authenticating proxy can attach headers on
    the hyper::Client passed to Configuration::with_client.
  • Bumped the http dependency from ~0.2 to 1. The library only references http::header::InvalidHeaderValue,
    http::Error, and http::uri::InvalidUri (in apis::Error variants), all of which exist with identical shape
    in http 1.x. Aligns the dep tree with the http 1.x already pulled in transitively by hyper 1.x.
  • ConsoleConfig::mode and DebugConsoleConfig::mode now use the shared models::ConsoleMode enum instead of
    per-struct inline Mode enums. Callers constructing these configs need to switch to models::ConsoleMode::*.
  • VmInfo::state now uses models::VmState instead of an inline per-struct State enum.

Removed

  • models::SgxEpcConfig (dropped from the upstream spec).
  • base64 runtime dependency. Its only call site was base64::encode in the Auth::Basic arm of request.rs,
    which the auth removal above eliminates.

generator

Added

  • Generator config maps unsigned integer schema types (uint8 / uint16 / uint32 / uint64) to their Rust
    counterparts (u8 / u16 / u32 / u64) instead of the signed types OpenAPI Generator otherwise picks (#3).
  • Generator performs a pre-flight check against Maven Central and emits a tracing::warn! when a newer
    openapi-generator-cli release is available than the pinned one.
  • Top-level Justfile with a just gen recipe that drives the code generator from the repo root.
  • templates/hyper/configuration.mustache override, driving the auth removal from generated code.

Changed

  • Generator binary (generator/src/main.rs) anchors its workdir to CARGO_MANIFEST_DIR rather than the current
    working directory, so it can be invoked from anywhere (e.g. cargo run --manifest-path generator/Cargo.toml from the
    repo root).
  • The generator source is now spread across multiple modules with main.rs only acting as a thin orchestrator.
  • Constants for the generator/spec versions and URLs are now lifted to the top of module file.
  • Bumped the OpenAPI Generator CLI pinned by the generator from 7.12.0 to 7.22.0. Regenerated the
    templates_original/ baseline against 7.22.0; generated src/ is byte-identical for the current spec.
  • Generator dependencies updated, including new entries for quick-xml, semver, and serde (used by the new
    release check).
  • Switched the error-handling library from anyhow to rootcause (with the rootcause-backtrace and
    rootcause-tracing companions). main() now installs both hooks at startup so error reports automatically
    capture a backtrace and the active tracing spans, and tracing_init adds RootcauseLayer to the subscriber so
    span fields are recorded.

Removed

  • Runtime check that required the git checkout to literally be named cloud-hypervisor-client.
  • Local generator/workdir/templates/hyper/api.mustache and generator/workdir/templates/model.mustache. They had
    no intentional overrides and were stale 7.12.0-era copies; the generator now uses the embedded 7.22.0 versions via
    OpenAPI Generator's --template-dir fallback.

v0.3.3

20 Jun 06:57
40fd72a

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.2...v0.3.3

v0.3.2

16 Jun 08:11

Choose a tag to compare

Changed

  • Remove unused serde_with and rand dependencies

Full Changelog: v0.3.1...v0.3.2

v0.3.1

12 Jun 21:04

Choose a tag to compare

Full Changelog: v0.3.0...v0.3.1

v0.3.0

11 Apr 13:16

Choose a tag to compare