diff --git a/CHANGELOG.md b/CHANGELOG.md index 87fd6c0..313ec70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,23 @@ This file describes the changes / additions / fixes between wrapper releases, tr ## [Unreleased] +## [0.13.0] (released 2026-08-31) + +### Changed + +* **Breaking**: `Device::active_vgpus()` now returns `Vec>` instead of raw vGPU instance ids, and drops its explicit lifetime clause (#130, #144) +* Bindings updated to the NVML API version 13 (CUDA 13) header via `nvml-wrapper-sys` 0.10.0 (#139) + ### Added -* `Device::power_mizer_mode()` and `Device::set_power_mizer_mode()` for NVML v580 PowerMizer mode support +* Greatly expanded vGPU API coverage (#130): a `VgpuInstance` wrapper with methods for UUID, VM id, framebuffer usage, encoder/FBC sessions and stats, license info, metadata, placement id, runtime state size, mdev UUID, guest driver version, ECC and accounting modes, and more; new `VgpuType` methods (`bar1_info()`, `fb_reservation()`, `gsp_heap_size()`); new vGPU enum and struct wrappers +* `VgpuInstance::new()` is public, allowing construction from a raw vGPU instance id (#144) +* `Device::power_mizer_mode()` and `Device::set_power_mizer_mode()` for NVML v580 PowerMizer mode support (#140) +* `GpmSample::from_handle()` (unsafe) to reconstruct a `GpmSample` from its raw handle, with a documented ownership contract (#141, #143) + +### Fixed + +* `VgpuInstance::instance_type()` takes `&self` instead of `&'dev self`, so the returned `VgpuType` no longer keeps the instance borrowed for the device's lifetime (#144) ## [0.12.1] (released 2026-03-27) diff --git a/Cargo.lock b/Cargo.lock index 13e18a8..a8ab4fb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -111,7 +111,7 @@ dependencies = [ [[package]] name = "nvml-wrapper" -version = "0.12.1" +version = "0.13.0" dependencies = [ "bitflags", "libloading", @@ -126,7 +126,7 @@ dependencies = [ [[package]] name = "nvml-wrapper-sys" -version = "0.9.1" +version = "0.10.0" dependencies = [ "libloading", ] diff --git a/nvml-wrapper-sys/CHANGELOG.md b/nvml-wrapper-sys/CHANGELOG.md index 2b2fb77..1439be8 100644 --- a/nvml-wrapper-sys/CHANGELOG.md +++ b/nvml-wrapper-sys/CHANGELOG.md @@ -4,6 +4,12 @@ This file describes the changes / additions / fixes between bindings releases. ## Unreleased +## 0.10.0 (released 2026-08-31) + +Bindings have been regenerated using the NVML 13.0.39 header (CUDA 13, sourced from NVIDIA/go-nvml v0.13.0-1) and bindgen 0.72.1 (#139). + +Existing function signatures are preserved; new CUDA 13 structs, enums, and function pointers are added. Some public constants changed value with the new header (e.g. `NVML_API_VERSION` is now 13, `NVML_BRAND_COUNT` and `NVML_GPM_METRIC_MAX` grew), hence the minor version bump. Field IDs 251-273 retain v12 numbering so the wrapper's runtime remapping logic is unaffected. + ## 0.9.1 (released 2026-03-27) ### Fixed diff --git a/nvml-wrapper-sys/Cargo.toml b/nvml-wrapper-sys/Cargo.toml index 362d3b1..e0f114f 100644 --- a/nvml-wrapper-sys/Cargo.toml +++ b/nvml-wrapper-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nvml-wrapper-sys" -version = "0.9.1" +version = "0.10.0" authors = ["Cldfire"] description = "Generated bindings to the NVIDIA Management Library." readme = "README.md" diff --git a/nvml-wrapper/Cargo.toml b/nvml-wrapper/Cargo.toml index 614d9a8..9d28acf 100644 --- a/nvml-wrapper/Cargo.toml +++ b/nvml-wrapper/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nvml-wrapper" -version = "0.12.1" +version = "0.13.0" authors = ["Cldfire"] description = "A safe and ergonomic Rust wrapper for the NVIDIA Management Library" readme = "../README.md" @@ -23,7 +23,7 @@ thiserror = "1.0" bitflags = "2.4.0" serde = { version = "1.0", optional = true } serde_derive = { version = "1.0", optional = true } -nvml-wrapper-sys = { version = "0.9.1", path = "../nvml-wrapper-sys" } +nvml-wrapper-sys = { version = "0.10.0", path = "../nvml-wrapper-sys" } wrapcenum-derive = "0.4.1" libloading = "0.8.1" static_assertions = "1.1"