ReleaseNVIDIANVIDIApublished Oct 21, 2025seen Jun 26

NVIDIA/nvidia-container-toolkit v1.18.0

NVIDIA/nvidia-container-toolkit

Open original ↗

Captured source

source ↗
published Oct 21, 2025seen Jun 26captured Aug 31http 200method plain

v1.18.0

Repository: NVIDIA/nvidia-container-toolkit

Tag: v1.18.0

Published: 2025-10-21T12:13:16Z

Prerelease: no

Release notes:

What's Changed

NOTE: This release is a unified release of the NVIDIA Container Toolkit that consists of the following packages:

The packages for this release are published to the `libnvidia-container` package repositories.

This is a major release and includes the following high-level changes:

  • The default mode of the NVIDIA Container Runtime has been updated to make use

of a just-in-time-generated CDI specification instead of defaulting to the legacy mode.

  • Added a systemd unit to generate CDI specifications for available devices automatically. This allows

native CDI support in container engines such as Docker and Podman to be used without additional steps.

Changes since v1.18.0-rc.6

  • Fix bug in device selection in jit-cdi mode
  • Make list of explicit driver libraries opt-in

Changes in the Toolkit Container

  • Invoke the actual default low-level runtime in the nvidia-ctk wrapper script
  • Remove default_runtime from cri-o config on cleanup
  • Do not remove cri-o drop-in file on shutdown.

v1.18.0-rc.6

  • Remove ppc64le artifacts from build
  • Add support for building artifacts with custom GOPROXY
  • Always update the ldcache in the container.

Changes in the Toolkit Container

  • Bump nvidia/distroless/go to v3.1.13-dev in /deployments/container
  • Allow config sources to be specified for containerd and crio
  • Allow file for config source to be specified explicitly

Changes in libnvidia-container

  • Add clock_gettime to the set of allowed syscalls under seccomp.

v1.18.0-rc.5

  • Fix handling of unrecognised hooks
  • Disable generation of coherent CDI specs by default
  • Update go-nvlib to restrict nvidia.com/gpu.coherent devices to devices with an ATS addressing mode.
  • Deprecate the hook config mode for cri-o

Changes in the Toolkit Container

  • Deprecate the hook config mode for cri-o
  • Add CRI plugin config from source containerd config to drop-in file
  • Add support for drop-in config files in a container

v1.18.0-rc.4

  • Add drop-in file support for containerd and crio
  • Add support for IMEX_CHANNELS to jit-cdi mode
  • Refactor IMEX channel requests from image
  • Remove redundant CDI annotations
  • support running and degraded systemd state during install
  • Don't inject enable-cuda-compat hook in CSV mode
  • Cleanup default runtime in runtime config when setAsDefault=false

Changes in the Toolkit Container

  • Bump nvidia/distroless/go to v3.1.12-dev in /deployments/container

v1.18.0-rc.3

  • Generate separate specs for coherent and noncoherent devices
  • Disable chmod hook by default
  • Add support for gated modifications jit-cdi mode
  • Add support for nvswitch mode to nvcdi API
  • Add support for gdrcopy mode to nvcdi API
  • Consolidate CDI spec generation of gated modes
  • Add missing imex mode to Valid modes
  • Add explicitLibs list to libs discovery
  • Consolidate logic to determine driver version
  • Fix: Enable local YUM repo by default in CentOS8 and Fedora35 entrypoints

Changes in the Toolkit Container

  • Bump nvidia/distroless/go to v3.1.11-dev in /deployments/container

v1.18.0-rc.2

  • Ensure that .so symlinks are created for driver libraries in the container
  • Load settings from config.toml file during CDI generation
  • Use securejoin to resolve /proc
  • Refactor nvml CDI spec generation for consistency
  • Simplify nvcdi interface
  • Add SpecGenerator interface
  • Ensure that modified params file mount does not leak to host
  • Add test for leaking mounts with shared mount propagation

Changes in the Toolkit Container

  • Bump nvidia/distroless/go to v3.1.10-dev in /deployments/container
  • Bump nvidia/cuda to 12.9.1-base-ubi9 in /deployments/container

v1.18.0-rc.1

  • Add create-soname-symlinks hook
  • Require matching version of libnvidia-container-tools
  • Add envvar for libcuda.so parent dir to CDI spec
  • Add EnvVar to Discover interface
  • Resolve to legacy by default in nvidia-container-runtime-hook
  • Default to jit-cdi mode in the nvidia runtime
  • Use functional options to construct runtime mode resolver
  • Add NVIDIA_CTK_CONFIG_FILE_PATH envvar
  • Switch to cuda ubi9 base image
  • Use single version tag for image
  • BUGFIX: modifier: respect GPU volume-mount device requests
  • Ensure consistent sorting of annotation devices
  • Extract deb and rpm packages to single image
  • Remove docker-run as default runtime candidate
  • Return annotation devices from VisibleDevices
  • Make CDI device requests consistent with other methods
  • Construct container info once
  • Add logic to extract annotation device requests to image type
  • Add IsPrivileged function to CUDA container type
  • Add device IDs to nvcdi.GetSpec API
  • Refactor extracting requested devices from the container image
  • Add EnvVars option for all nvidia-ctk cdi commands
  • Add nvidia-cdi-refresh service
  • Add discovery of arch-specific vulkan ICD
  • Add disabled-device-node-modification hook to CDI spec
  • Add a hook to disable device node creation in a container
  • Remove redundant deduplication of search paths for WSL
  • Added ability to disable specific (or all) CDI hooks
  • Consolidate HookName functionality on internal/discover pkg
  • Add envvar to control debug logging in CDI hooks
  • Add FeatureFlags to the nvcdi API
  • Reenable nvsandboxutils for driver discovery
  • Edit discover.mounts to have a deterministic output
  • Refactor the way we create CDI Hooks
  • Issue warning on unsupported CDI hook
  • Run update-ldcache in isolated namespaces
  • Add cuda-compat-mode config option
  • Fix mode detection on Thor-based systems
  • Add rprivate to CDI mount options
  • Skip nil discoverers in merge
  • bump runc go dep to v1.3.0
  • Fix resolution of libs in LDCache on ARM
  • Updated .release:staging to stage images in nvstaging
  • Refactor toolkit installer
  • Allow container runtime executable path to be specified
  • Add support for building ubuntu22.04 on arm64
  • Fix race condition in mounts cache
  • Add support for building ubuntu22.04 on amd64
  • Fix update-ldcache arguments
  • Remove positional arguments from nvidia-ctk-installer
  • Remove deprecated --runtime-args from nvidia-ctk-installer
  • Add version...

Excerpt shown — open the source for the full document.