版本发布 8
## Overview of changes * Avoid running out of storage space when running the system tests on the CI * Bump the minimum `github.com/sirupsen/logrus` version to 1.9.3 for CVE-2025-65637 or GHSA-4f99-4q7p-p3gh * Bump the minimum `golang.org/x/sys` version to 0.1.0 for CVE-2022-29526 or GHSA-p782-xgp4-8hr8 * Unbreak Podman's and Toolbx's downstream Fedora CI * Unbreak the line count checks with Bats >= 1.10.0 * Unbreak the `toolbox run /etc` tests with Bash >= 5.3
### Security fixes * Bumped the minimum `github.com/go-viper/mapstructure/v2` version to 2.3.0 for GHSA-fv92-fjc5-jj9h or GO-2025-3787 * Bumped the minimum `github.com/NVIDIA/nvidia-container-toolkit` version to 1.17.8 for CVE-2025-23266 and CVE-2025-23267 ### Bug fixes * Improved error handling when creating symbolic links inside the container to initialize it * Preserved environment variables set by a KDE session and Konsole * Unbroke access to CA certificates in `sshd(8)` sessions (regression in 0.1.2) * Unbroke overriding the `HOME` variable (regression in 0.0.90) ### Dependencies * Bumped the minimum Go version to 1.22 ### Tests * Enabled the runtime environment tests for the Container Device Interface specification and resource limits on Ubuntu 22.04 * Isolated the host's `HOME` from the system tests * Unbroke the missing subordinate ID ranges (regression in Fedora Rawhide) * Unbroke the `toolbox run /etc` tests with Bash >= 5.3 (regression in Fedora Rawhide)
### Security fixes * Bumped the minimum `github.com/briandowns/spinner` version to 1.23.2 for CVE-2022-29526 or GHSA-p782-xgp4-8hr8, and other bug fixes * Bumped the minimum `github.com/NVIDIA/nvidia-container-toolkit` version to 1.17.4 for CVE-2024-0134 or GHSA-7jm9-xpwx-v999, CVE-2024-0135 or GHSA-9v84-cc9j-pxr6, CVE-2024-0136 or GHSA-vcfp-63cx-4h59, CVE-2024-0137 or GHSA-frhw-w3wm-6cw4, and CVE-2025-23359 or GHSA-4hmh-pm5p-9j7j ### Enhancements * Added `ubuntu-toolbox` image definitions for Ubuntu 25.04 * Gave access to the CA certificates from the host operating system — requires new Toolbx images and `p11-kit server` on the host. Note that the UBI-based images for RHEL haven't yet been updated, and this feature is currently disabled for those containers. ### Bug fixes * Optimized getting the runtime directory * Replaced links to the code repository with the website * Updated fallback release to 42 for non-fedora hosts ### Dependencies * Added a new weak dependency on `p11-kit server` * Bumped the minimum `github.com/NVIDIA/go-nvlib` version to 0.7.1 * Bumped the minimum `github.com/spf13/viper version` to 1.20.1 to reduce the number of indirect dependencies * Bumped the minimum `github.com/stretchr/testify` version to 1.10.0 ### Tests * Added runtime environment tests for the Kerberos and RPM configuration * Added unit tests for `utils.PathExists()` * Enabled the commands and options tests for `list` on Arch and Ubuntu 22.04 * Enabled the system tests for `create` and networking on Arch Linux * Isolated the storage directory from the host's `XDG_CACHE_HOME` or `HOME` — bumped the minimum Linux kernel version to 6.6 * Made the the commands and options tests for `create` stricter * Optimized the runtime environment tests by avoiding a lot of disk I/O * Restored the generation and installation of the Bash completions on the CI (regression from Fedora 41)
### Security fixes * Bumped the minimum github.com/NVIDIA/nvidia-container-toolkit version to 1.16.2 for CVE-2024-0132 or GHSA-mjjw-553x-87pq, and CVE-2024-0133 or GHSA-f748-7hpg-88ch ### Bug fixes * Unbroke 'enter' if the NVIDIA Persistence Daemon is used (regression in 0.1.0) * Unbroke 'enter' if the proprietary NVIDIA driver is installed, but not used (regression in 0.1.0)
## Overview of changes * Add `ubuntu-toolbox` image definitions for Ubuntu 24.10 * Optimize the CI on stable Fedora nodes * Stop updating the `ubuntu-toolbox` images for Ubuntu 16.04 and 18.04 * Stop using `slirp4netns(1)` in the system tests * Unbreak the downstream Fedora CI * Unbreak the `ubuntu-toolbox` image build for Ubuntu 24.04 * Update fallback release to 40 for non-fedora hosts
## Overview of changes * Add all the iconv converter modules for glibc to the fedora-toolbox images * Add an extra space after the ⬢ in the PS1 * Add cracklib-dicts to the fedora-toolbox images * Add logos to the Arch Linux and Fedora badges, and a badge for the Ubuntu package * Add manual pages and pacman progress bars to the arch-toolbox image * Add toolbox image definitions for RHELs 8.8, 8.9, 9.2 and 9.3 * Add translations for gawk to the fedora-toolbox images * Add ubuntu-toolbox image definitions for Ubuntu 24.04 * Avoid running out of storage space when running the system tests on the CI * Bump the minimum github.com/briandowns/spinner version to 1.18.0 * Depend on github.com/go-logfmt/logfmt version 0.5.0 * Depend on github.com/NVIDIA/go-nvlib version 0.6.1 * Depend on github.com/NVIDIA/nvidia-container-toolkit version 1.16.1 * Don't unmarshal the 'podman ps' JSON twice * Don't use use auto dependencies for shell completion scripts * Drop one "o" and rename the project as "Toolbx" * Enable more tests on Ubuntu 22.04 by setting the SHELL environment variable * Enable the proprietary NVIDIA driver * Exclude the meson.build files when installing the system tests * Fix pacman cache removal in the arch-toolbox image * Let 'create' use an image without a name * Let the terminal know the active container on all host operating systems, and not just Fedora Silverblue and Workstation * Limit the scope of temporary files used by the system tests * Optimize 'enter' and 'run' for both an already running container and a container getting initialized * Optimize the CI on Fedora nodes * Optimize the resource limits tests * Preserve the Konsole and xterm versions * Require --assumeyes to pull an image when not connected to a terminal * Retain errors from toolbox(1) without --verbose when forwarding to host * Retain exit codes from toolbox(1) when forwarding to host * Show the entry point's debug logs & errors in 'enter' and 'run' * Support 64-bit LoongArch * Synchronize the documentation with the website * Unbreak Podman's downstream Fedora CI * Use Buildah and Podman to build and test the arch-toolbox and ubuntu-toolbox images * Use the same linker flags as NVIDIA Container Toolkit, and '-z now' is unsupported * Work around bug in pasta(1) networks in the system tests
## Overview of changes * Add psmisc to the fedora-toolbox images * Add several new system and unit tests, and make the existing ones stricter * Add workaround to support configuring the user's password on some Active Directory set-ups * Be aware of security hardened mount points marked with 'nosuid,nodev,noexec' * Bump the minimum Bats version to 1.7.0 to simplify running a subset of the system tests and fix various warnings * Bump the minimum Go requirement to 1.20 * Bump the minimum github.com/docker/go-units version to 0.5.0 * Bump the minimum golang.org/x/sys version to 0.1.0 for CVE-2022-29526 or GHSA-p782-xgp4-8hr8 * Bump the minimum golang.org/x/text version to 0.3.8 for CVE-2022-32149 or GHSA-69ch-w2m2-3vjp * Bump the minimum gopkg.in/yaml.v3 version to 3.0.0 for CVE-2022-28948 or GHSA-hp87-p4gw-j4gq * Deprecate the --monitor-host option of 'init-container' * Don't leak the NAME and VERSION environment variables into containers made from the fedora-toolbox images * Drop golang.org/x/term as a dependency * Ensure that Toolbx containers start even if there aren't sufficient resources for inotify(7) * Ensure that the fedora-toolbox images retain documentation and translations * Ensure that toolbox(1) can be built without using podman(1) and validating subordinate IDs * Fix DNS queries in Toolbx containers made from images with systemd-resolved, when running on hosts that don't use it * Handle space-separated input when asking for confirmation * Let the terminal know the active container also on Fedora Linux Asahi Remix * Offer built-in support for Arch Linux * Offer built-in support for Ubuntu * Preserve the host's environment variables for Bash's history facility inside Toolbx containers * Rely on podman >= 1.6.4 always being present * Report the size of the image that will be downloaded from a registry * Show welcome message on Fedora Sericea * Support 64-bit RISC-V * Update fallback release to 38 for non-fedora hosts * Unbreak the line count checks with Bats >= 1.10.0 * Unbreak the manual page checks with GNU roff >= 1.23 * Various updates to the documentation and manuals
## Overview of changes * Add an --authfile option to 'create' * Add a --preserve-fds option to 'run' * Add a test that runs codespell * Add fedora-toolbox image definition for Fedoras 37, 38 and 39 * Add several new system tests and make the existing ones stricter * Avoid unexpected DNF behaviour with reinstalling or swapping RPMs when building the fedora-toolbox images * Be more strict when looking for a C compiler for building * Call 'systemd-tmpfiles --create' when installing * Check if subordinate ID ranges are present for also the UID, and not just the username * Document the toolbox.conf configuration file * Don't create a nested pseudo-terminal device during 'run' if the standard input and output streams are not connected to a terminal * Don't leak ID and VARIANT_ID into the shell * Don't unmarshal the 'podman images' JSON twice * Enable OpenGL and Vulkan for hardware with free drivers on the fedora-toolbox images * Enable running non-nested display servers from a virtual terminal * Enforce all the default 'go vet' checks on all Go sources * Enforce gofmt on all Go sources * Ensure that the 'distro' option is valid, instead of silently falling back to Fedora * Ensure that 'run' has the same container environment as 'enter' * Ensure that the fedora-toolbox images has all the locales known to glibc, and not just C, POSIX and C.UTF-8 * Exit 'run' with exit code of invoked command * Fix the titles of the manuals * Give precedence to /etc/os-release over /usr/lib/os-release in /etc/profile.d/toolbox.sh * Hide the Fedora-specific welcome banner on non-Fedora containers * Improve the error messages if the 'distro' and 'release' options are invalid * Improve the error messages for mutually exclusive options * Improve the default image used for RHEL Toolbx containers to offer an interactive command line experience similar to that on RHEL Workstation * Make /etc/profile.d/toolbox.sh compatible with Z shell again * Make sd_booted(3) work inside Toolbx containers * Preserve the host's XDG_SESSION_CLASS environment variable inside Toolbx containers * Replace github.com/mattn/go-isatty and the deprecated golang.org/x/crypto/ssh/terminal API with golang.org/x/term * Replace jwhois with whois in the fedora-toolbox images for Fedora >= 37 * Replace the hand-written shell completion for Bash with ones generated by Cobra that cover fish and Z shell too * Restore more documentation removed from the base Fedora images * Run unit tests with -Dmigration_path_for_coreos_toolbox on CentOS Stream 9 as part of the CI * Silence warning when running the system tests with Bats >= 1.7.0 * Support RHEL 9 Toolbx containers * Support subordinate user and group ID ranges on enterprise set-ups * Unbreak sorting and clearly identify copied images in 'list' * Update fallback release to 37 for non-fedora hosts * Update the Go dependencies with 'go get -u' * Various updates to the documentation and manuals * Work around Cobra 1.1.2's handling of usage functions