Releases: NVIDIA/nvidia-container-toolkit
Release list
v1.20.0-rc.1
What's Changed
- Validate imex channels for CDI/JIT-CDI mode
- [wsl2] discover all .so, .bin, and .dll files at nvidia driver store path
- [nri plugin] move cdi inject info log to debug level
- [CDI Hooks] add ability to specify OCI hook type
- [cudacompat] use Masterminds/semver for parsing/comparing versions
- Expand cudacompat hook to always inspect libcuda.so ELF header if available
- Add libnvidia-nvvm70.so library to CDI spec
- fix: prevent config option from reverting modified configurations
- [nri-plugin] support injection of management CDI devices in multiple namespaces
- docker.mk: Add Podman support and fix volume/artifact handling
- Only generate update-ldcache hook if libraries are discovered
- Mount nvidia.icd file needed by OpenCL
- Update SECURITY.md
- Allow multiple driver library paths
- import text/template instead of html/template
- feat: drop
nvidia-cdi-hookshell shim - Fix nvidia-cdi-refresh systemd packaging
- Add ability to disable CDI hooks in jit-cdi mode
- [nri] only restrict management CDI devices to the toolkit namespace
Changes in the Toolkit Container
- Ship static busybox shell in container-toolkit image
Changes in libnvidia-container
- refactor: Use version script instead of linker script for library symbols
v1.19.1
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.
What's Changed
- Fix the nvidia-cdi-refresh systemd unit conditions to work on WSL2.
- Remove the dependency on multi-user.target in the nvidia-cdi-refresh systemd service. For more information, see issue #1735.
- The egl-wayland2 library and configuration file are now discovered and added to CDI specifications.
- Fix handling of the CUDA compat header on Orin systems.
- Fix default path used by nvidia-ctk and nvidia-ctk-installer for cri-o’s drop-in configuration directory.
- Add support for injecting /dev/dri* device nodes for MIG devices.
- Add disable-ipc-discoverer feature flag to the nvcdi library for disabling the discovery of IPC sockets.
v1.19.0
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 feature release and includes the following high-level changes:
- Report errors when unknown OCI runtime spec fields are detected.
- Added support for IGX 2.0 Thor-based systems including those with dGPUs installed.
- Added support for CUDA Forward Compatibility on Tegra-based systems. On Orin-based systems, this requires specific compat libraries in the container.
- Added support for running containers as a user that may not have explicit access to a device node without requiring that additional groups be explicitly specified.
- Improve triggering of systemd service that ensures that CDI specifications are up-to-date.
- Add support for read-only root filesystems such as those on an initramfs.
Changes since v1.19.0-rc.7
v1.19.0-rc.7
- build(deps): Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #1683
- build(deps): Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1684
- stop marking PRs as stale by @rahulait in #1675
- fix: Ensure that CUDA Compat Container path is set by default by @elezar in #1690
- fix: Use correct version when updating versions.mk by @elezar in #1681
- chore: Run goimports on mocks by @elezar in #1692
- chore: Rename isIntegratedGPUID function to isOrinGPUID by @elezar in #1674
- Use automatic CDI spec generation to generate CDI specs for other modifiers by @elezar in #1667
- fix: Don't use driver version in ELF header for compat check by @elezar in #1697
- fix: Reuse instantiated editsFactory in CDI by @elezar in #1666
- Bump version for v1.19.0-rc.7 release by @elezar in #1698
v1.19.0-rc.6
- Use host CUDA version for all CSV compat checks by @elezar in #1679
- Bump version for v1.19.0-rc.6 release by @elezar in #1680
v1.19.0-rc.5
- Separate nvcdi construction options from runtime options by @elezar in #1659
- build(deps): Bump nvidia/distroless/go from v4.0.1-dev to v4.0.2-dev in /deployments/container by @dependabot[bot] in #1672
- chore: Fix release tooling to support annotated tags by @elezar in #1669
- allow stale cache to be deleted by @rahulait in #1670
- Remove dlopen locator by @elezar in #1676
- Bump version for v1.19.0-rc.5 release by @elezar in #1678
v1.19.0-rc.4
- build(deps): Bump golang from 1.25.6 to 1.25.7 in /deployments/devel by @dependabot[bot] in #1640
- build(deps): Bump golang.org/x/mod from 0.32.0 to 0.33.0 by @dependabot[bot] in #1642
- build(deps): Bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 in /tests by @dependabot[bot] in #1619
- build(deps): Bump golang from 1.25.7 to 1.26.0 in /deployments/devel by @dependabot[bot] in #1647
- build(deps): Bump golang.org/x/crypto from 0.47.0 to 0.48.0 in /tests by @dependabot[bot] in #1644
- build(deps): Bump golang.org/x/sys from 0.40.0 to 0.41.0 by @dependabot[bot] in #1641
- Refactor device node tests by @elezar in #1637
- Add debug-level log option for ctk-installer by @jactor-sue in #1551
- build(deps): Bump golang.org/x/mod from 0.32.0 to 0.33.0 in /tests by @dependabot[bot] in #1643
- fix: Correct container compat path for orin by @elezar in #1649
- Refactor ldcache locator by @elezar in #1648
- test: Add to package with Ptr function by @elezar in #1653
- chore: Rename management receiver from m to l by @elezar in #1654
- test: Don't use modifier to add test runtime hook by @elezar in #1656
- refactor: Move update-ldcache argument processing into hook creator by @elezar in #1651
- Add a modifier factory by @elezar in #1655
- refactor: Prefer cdilib methods over functions by @elezar in #1658
- Fix golangci-lint errors by @elezar in #1662
- fix: Fix support for nvswitch mode by @elezar in #1661
- refactor: Move NormalizeSearchPaths into lookup package by @elezar in #1660
- Allow Orin CUDA forward compat root to be specified by @elezar in #1614
- fix: Fix typo due to merge conflict by @elezar in #1664
- refactor: Add AsOptional wrapper for lookup.Locator by @elezar in #1645
- Generate CDI specification including additional GIDs by @elezar in #630
- Add dev root to driver by @elezar in #1652
- Add dlopen library locator by @elezar in #1646
- Bump version for v1.19.0-rc.4 release by @elezar in #1668
v1.19.0-rc.3
- [CI] : add github issue templates by @rahulait in #1613
- test: Adjust e2e test for Docker 29.2.0 by @elezar in #1615
- Use rpmrebuild instead of fpm to rebuild rpm packages by @elezar in #1612
- build(deps): Bump third_party/libnvidia-container from
a83ddc0tofe0d8e5by @dependabot[bot] in #1622 - build(deps): Bump nvidia/distroless/go from v4.0.0-dev to v4.0.1-dev in /deployments/container by @dependabot[bot] in #1618
- build(deps): Bump third_party/libnvidia-container from
fe0d8e5to7585946by @dependabot[bot] in #1623 - build(deps): Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 in /tests by @dependabot[bot] in #1620
- fix: Allow config options to be set to default values by @elezar in #1629
- Expose internal packages for external consumption by @elezar in #1577
- fix: Log actual CDI spec version by @elezar in #1633
- fix: Set device node GID in CDI specs by @elezar in #1631
- Bump version for v1.19.0-rc.3 release by @elezar in #1636
- Remove restart logic from nvidia-cdi-refresh.service by @elezar in #1638
v1.19.0-rc.2
- [no-relnote] Fix typo in release script by @elezar in #1529
- Bump github.com/onsi/gomega from 1.38.2 to 1.38.3 in /tests by @dependabot[bot] in #1533
- trim extraneous whitespaces when parsing comma-separated config sources by @tariq1890 in #1535
- Bump nvidia/distroless/go from v3.2.1-dev to v3.2.2-dev in /deployments/container by @dependabot[bot] in #1547
- fix: Return error on JIT CDI spec generation failure by @elezar in #1538
- Bump tags.cncf.io/container-device-interface from 1.0.2-0.20251114135136-1b24d969689f to 1.1.0 by @dependabot[bot] in https://gith...
v1.19.0-rc.7
What's Changed
- build(deps): Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #1683
- build(deps): Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #1684
- stop marking PRs as stale by @rahulait in #1675
- fix: Ensure that CUDA Compat Container path is set by default by @elezar in #1690
- fix: Use correct version when updating versions.mk by @elezar in #1681
- chore: Run goimports on mocks by @elezar in #1692
- chore: Rename isIntegratedGPUID function to isOrinGPUID by @elezar in #1674
- Use automatic CDI spec generation to generate CDI specs for other modifiers by @elezar in #1667
- fix: Don't use driver version in ELF header for compat check by @elezar in #1697
- fix: Reuse instantiated editsFactory in CDI by @elezar in #1666
- Bump version for v1.19.0-rc.7 release by @elezar in #1698
Full Changelog: v1.19.0-rc.6...v1.19.0-rc.7
v1.19.0-rc.6
What's Changed
- Use host CUDA version for all CSV compat checks by @elezar in #1679
- Bump version for v1.19.0-rc.6 release by @elezar in #1680
Full Changelog: v1.19.0-rc.5...v1.19.0-rc.6
v1.19.0-rc.5
Fixes a critical error in CDI spec generation in v1.19.0-rc.4.
What's Changed
- Separate nvcdi construction options from runtime options by @elezar in #1659
- build(deps): Bump nvidia/distroless/go from v4.0.1-dev to v4.0.2-dev in /deployments/container by @dependabot[bot] in #1672
- chore: Fix release tooling to support annotated tags by @elezar in #1669
- allow stale cache to be deleted by @rahulait in #1670
- Remove dlopen locator by @elezar in #1676
- Bump version for v1.19.0-rc.5 release by @elezar in #1678
Full Changelog: v1.19.0-rc.4...v1.19.0-rc.5
v1.19.0-rc.4
What's Changed
- build(deps): Bump golang from 1.25.6 to 1.25.7 in /deployments/devel by @dependabot[bot] in #1640
- build(deps): Bump golang.org/x/mod from 0.32.0 to 0.33.0 by @dependabot[bot] in #1642
- build(deps): Bump github.com/onsi/ginkgo/v2 from 2.27.5 to 2.28.1 in /tests by @dependabot[bot] in #1619
- build(deps): Bump golang from 1.25.7 to 1.26.0 in /deployments/devel by @dependabot[bot] in #1647
- build(deps): Bump golang.org/x/crypto from 0.47.0 to 0.48.0 in /tests by @dependabot[bot] in #1644
- build(deps): Bump golang.org/x/sys from 0.40.0 to 0.41.0 by @dependabot[bot] in #1641
- Refactor device node tests by @elezar in #1637
- Add debug-level log option for ctk-installer by @jactor-sue in #1551
- build(deps): Bump golang.org/x/mod from 0.32.0 to 0.33.0 in /tests by @dependabot[bot] in #1643
- fix: Correct container compat path for orin by @elezar in #1649
- Refactor ldcache locator by @elezar in #1648
- test: Add to package with Ptr function by @elezar in #1653
- chore: Rename management receiver from m to l by @elezar in #1654
- test: Don't use modifier to add test runtime hook by @elezar in #1656
- refactor: Move update-ldcache argument processing into hook creator by @elezar in #1651
- Add a modifier factory by @elezar in #1655
- refactor: Prefer cdilib methods over functions by @elezar in #1658
- Fix golangci-lint errors by @elezar in #1662
- fix: Fix support for nvswitch mode by @elezar in #1661
- refactor: Move NormalizeSearchPaths into lookup package by @elezar in #1660
- Allow Orin CUDA forward compat root to be specified by @elezar in #1614
- fix: Fix typo due to merge conflict by @elezar in #1664
- refactor: Add AsOptional wrapper for lookup.Locator by @elezar in #1645
- Generate CDI specification including additional GIDs by @elezar in #630
- Add dev root to driver by @elezar in #1652
- Add dlopen library locator by @elezar in #1646
- Bump version for v1.19.0-rc.4 release by @elezar in #1668
New Contributors
- @jactor-sue made their first contribution in #1551
Full Changelog: v1.19.0-rc.3...v1.19.0-rc.4
v1.19.0-rc.3
What's Changed
- [CI] : add github issue templates by @rahulait in #1613
- test: Adjust e2e test for Docker 29.2.0 by @elezar in #1615
- Use rpmrebuild instead of fpm to rebuild rpm packages by @elezar in #1612
- build(deps): Bump third_party/libnvidia-container from
a83ddc0tofe0d8e5by @dependabot[bot] in #1622 - build(deps): Bump nvidia/distroless/go from v4.0.0-dev to v4.0.1-dev in /deployments/container by @dependabot[bot] in #1618
- build(deps): Bump third_party/libnvidia-container from
fe0d8e5to7585946by @dependabot[bot] in #1623 - build(deps): Bump github.com/onsi/gomega from 1.39.0 to 1.39.1 in /tests by @dependabot[bot] in #1620
- fix: Allow config options to be set to default values by @elezar in #1629
- Expose internal packages for external consumption by @elezar in #1577
- fix: Log actual CDI spec version by @elezar in #1633
- fix: Set device node GID in CDI specs by @elezar in #1631
- Bump version for v1.19.0-rc.3 release by @elezar in #1636
- Remove restart logic from nvidia-cdi-refresh.service by @elezar in #1638
New Contributors
Full Changelog: v1.19.0-rc.2...v1.19.0-rc.3
v1.19.0-rc.2
What's Changed
- [no-relnote] Fix typo in release script by @elezar in #1529
- Bump github.com/onsi/gomega from 1.38.2 to 1.38.3 in /tests by @dependabot[bot] in #1533
- trim extraneous whitespaces when parsing comma-separated config sources by @tariq1890 in #1535
- Bump nvidia/distroless/go from v3.2.1-dev to v3.2.2-dev in /deployments/container by @dependabot[bot] in #1547
- fix: Return error on JIT CDI spec generation failure by @elezar in #1538
- Bump tags.cncf.io/container-device-interface from 1.0.2-0.20251114135136-1b24d969689f to 1.1.0 by @dependabot[bot] in #1536
- Bump github.com/opencontainers/runc from 1.3.3 to 1.4.0 by @dependabot[bot] in #1504
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #1549
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #1548
- Fix library driver library resolution in musl-based containers by @elezar in #1530
- Bump github.com/onsi/gomega from 1.38.3 to 1.39.0 in /tests by @dependabot[bot] in #1566
- Bump golang.org/x/sys from 0.39.0 to 0.40.0 by @dependabot[bot] in #1564
- fix: Fix arguments when creating DRM device symlinks by @elezar in #1563
- Bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.4 in /tests by @dependabot[bot] in #1565
- fix: Don't inject device nodes when NVIDIA_VISIBLE_DEVICES=none by @elezar in #1562
- Bump golang.org/x/mod from 0.31.0 to 0.32.0 by @dependabot[bot] in #1572
- Bump golang.org/x/crypto from 0.46.0 to 0.47.0 in /tests by @dependabot[bot] in #1575
- Bump github.com/onsi/ginkgo/v2 from 2.27.4 to 2.27.5 in /tests by @dependabot[bot] in #1574
- Bump nvidia/distroless/go from v3.2.2-dev to v4.0.0-dev in /deployments/container by @dependabot[bot] in #1576
- implement NRI plugin server to inject management CDI devices by @tariq1890 in #1498
- Bump github.com/urfave/cli/v3 from 3.6.1 to 3.6.2 by @dependabot[bot] in #1590
- Ensure that IPC sockets are not mounted read-only by @faganihajizada in #1593
- Simplify logger.Interface by @elezar in #1591
- fix: Allow nvidia-cdi-refresh.service to be restarted by @elezar in #1586
- fix: Ensure consistent device permissions for CDI devices by @oOraph in #1539
- Bump golang from 1.25.5 to 1.25.6 in /deployments/devel by @dependabot[bot] in #1592
- Bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 by @dependabot[bot] in #1584
- Add no-runtime-configure option to the toolkit installer by @elezar in #1521
- Add basic test for CSV CDI spec generation by @elezar in #1604
- [no-relnote] Set golang version when building libnvidia-container by @elezar in #1597
- restrict NRI injection of CDI devices to pods in the toolkit's namespace by @tariq1890 in #1601
- Ensure that the CSV files define the required devices when only a iGPU is present by @elezar in #1556
- Query CUDA forward compatibility elf note if available by @elezar in #1598
- fix: Add docker swarm support to jit-cdi mode by @elezar in #1600
- fix: Include /dev/nvidia2 in container requesting iGPU if required by @elezar in #1561
- Bump version for v1.19.0-rc.2 release by @elezar in #1609
- [no-relnote] Fix version bump by @elezar in #1610
New Contributors
- @faganihajizada made their first contribution in #1593
- @oOraph made their first contribution in #1539
Full Changelog: v1.19.0-rc.1...v1.19.0-rc.2
v1.18.2
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.
What's Changed
- Fix the trigger of the CDI refresh service to handle compressed kernels.
- Return an error when JIT CDI spec generation failure. This makes it clearer as to why a container fails to start instead of reporting an unresolvable CDI device.
- Allow driver libraries to be properly located in
musl-based containers. - Properly construct the arguments of the hook used to create DRM device symlinks. This fixes a bug where a container would not start in
legacymode whenNVIDIA_DRIVER_CAPABILITIESincludesgraphics. - Fix a bug where all GPUs were made available to a container when
NVIDIA_VISIBLE_DEVICES=nonewas specified. - Add restart logic to the CDI refresh service to allow for the case where the driver may not be ready at boot.
- Do not mount IPC sockets are read-only when using CDI. This fixes crashes in certain nested scenarios such as Slurm on K8s.
Changes in the Toolkit Container
- Bump nvidia/distroless/go to v3.2.2-dev in /deployments/container
Full Changelog: v1.18.1...v1.18.2