·
1 commit
to main
since this release
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-labelled0.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
*Configmodels from the same regeneration pass; see commitb1c3cb0for
the full set.
Changed
- Breaking. Bumped MSRV from
1.81.0to1.86.0and migrated the library crate to Rust edition 2024. - Breaking. Dropped HTTP authentication from the public surface.
apis::configuration::Configurationno
longer exposesbasic_auth,oauth_access_token, orapi_key, and theBasicAuthalias andApiKeystruct
are gone. The cloud-hypervisor REST API speaks over a Unix domain socket and defines nosecuritySchemes, so
these fields had no effect against cloud-hypervisor itself. Callers that constructedConfigurationas a struct
literal must drop the auth initializers. Anyone tunneling through an authenticating proxy can attach headers on
thehyper::Clientpassed toConfiguration::with_client. - Bumped the
httpdependency from~0.2to1. The library only referenceshttp::header::InvalidHeaderValue,
http::Error, andhttp::uri::InvalidUri(inapis::Errorvariants), all of which exist with identical shape
inhttp 1.x. Aligns the dep tree with thehttp 1.xalready pulled in transitively byhyper 1.x. ConsoleConfig::modeandDebugConsoleConfig::modenow use the sharedmodels::ConsoleModeenum instead of
per-struct inlineModeenums. Callers constructing these configs need to switch tomodels::ConsoleMode::*.VmInfo::statenow usesmodels::VmStateinstead of an inline per-structStateenum.
Removed
models::SgxEpcConfig(dropped from the upstream spec).base64runtime dependency. Its only call site wasbase64::encodein theAuth::Basicarm ofrequest.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-clirelease is available than the pinned one. - Top-level
Justfilewith ajust genrecipe 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 itsworkdirtoCARGO_MANIFEST_DIRrather than the current
working directory, so it can be invoked from anywhere (e.g.cargo run --manifest-path generator/Cargo.tomlfrom 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.0to7.22.0. Regenerated the
templates_original/baseline against 7.22.0; generatedsrc/is byte-identical for the current spec. - Generator dependencies updated, including new entries for
quick-xml,semver, andserde(used by the new
release check). - Switched the error-handling library from
anyhowtorootcause(with therootcause-backtraceand
rootcause-tracingcompanions).main()now installs both hooks at startup so error reports automatically
capture a backtrace and the active tracing spans, andtracing_initaddsRootcauseLayerto 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.mustacheandgenerator/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-dirfallback.