This is the first release candidate of the runc 1.5.0 release. It
contains a couple of new features, but is mostly made up of various
cleanups (such as the removal of many deprecated APIs) and improvements.
runc v1.5.0-rc.1 includes all of the patches backported to runc v1.4.1.
Users are strongly encouraged to test our release candidates over the
next two months so we can fix issues before the general release. You
should expect runc 1.5.0 to be released at the end of April 2026 (at
which point, runc 1.3.z will only receive high-severity security fixes
for 6 months and runc 1.2.z will become unmaintained -- users are thus
very strongly encouraged to migrate to a newer version).
libcontainer API
- The following deprecated Go APIs have been removed:
CleanPath,StripRoot, andWithProcfdfromlibcontainer/utils. Note
thatWithProcfdFilehas not been removed (due to import cycle issues) but
is instead marked as internal in its godoc comment. (#5051)- All of the cgroup-related types and functions from
libcontainer/configs
which are now maintained ingithub.com/opencontainers/cgroups(#5141):libcontainer/configs.Cgrouplibcontainer/configs.Resourceslibcontainer/configs.FreezerStatelibcontainer/configs.LinuxRdmalibcontainer/configs.BlockIODevicelibcontainer/configs.WeightDevicelibcontainer/configs.ThrottleDevicelibcontainer/configs.HugepageLimitlibcontainer/configs.IfPrioMaplibcontainer/configs.Undefinedlibcontainer/configs.Frozenlibcontainer/configs.Thawedlibcontainer/configs.NewWeightDevicelibcontainer/configs.NewThrottleDevice
libcontainer/configs.HookList.RunHooks. (#5141)libcontainer/configs.MPOL_*(#5141)- All of the types in
libcontainer/deviceswhich are now maintained in
github.com/opencontainers/cgroups/devices/config(#5141):libcontainer/devices.Wildcardlibcontainer/devices.WildcardDevicelibcontainer/devices.BlockDevicelibcontainer/devices.CharDevicelibcontainer/devices.FifoDevicelibcontainer/devices.Devicelibcontainer/devices.Permissionslibcontainer/devices.Typelibcontainer/devices.Rule
libcontainer.Processmethods (Wait,Pid,Signal) and
libcontainer/configs.Configmethods (HostUID,HostRootUID,HostGID,
HostRootGID) now use pointer receivers. (#5088)- The example code for
libcontainerhas been moved out of aREADMEand into
a properExample*test file that will be compile-tested by our CI. As
mentioned elsewhere, we still do not recommend users make use of the
libcontainerAPI directly. (#5127)
Deprecated
- The
libcontainer/configs.Mount.Relabelconfiguration field (used to relabel
mounts with thezandZ"pseudo" mount options) was never accessible
outside of the libcontainer API, and in practice the relabel logic has always
lived in higher level runtimes. It has been made into a no-op and the field
will be removed entirely in runc 1.7. (#5152, #5160)
Removed
- The
memfd-bindhelper binary has been removed, as it has never been
particularly useful and was completely obsoleted by the changes to
/proc/self/exesealing we introduced in runc [1.2.0][]. (#5141)
Added
- User-namespaced containers can now configure
user.*sysctls. (#4889) - Intel RDT: the RDT subdirectory is now only removed if runc created it,
matching the updated runtime-spec guidance. (#3832, #5155)
Changed
- Our release binaries and default build configuration now use libpathrs by
default, providing better hardening against certain kinds of attacks. Users
of runc should not see any changes as a result of this, but packagers will
need to adjust their packaging accordingly. runc can still be built without
libpathrs (by building without thelibpathrsbuild tag), but we currently
plan to make runc 1.6 require libpathrs. (#5103) runc execwill now request systemd to move theexecprocess into the
container cgroup, making the procedure more rootless-friendly. (#4822)- seccomp: minor documentation updates. (#4902)
- Errors from
runc inithave historically been quite painful to understand
and debug, we have made several improvements to make them more comprehensive
and thus useful when debugging issues. (#4951, #4928) - Update spec conformance documentation for OCI runtime-spec v1.3.0. (#4948,
#5150) - Our release archives now have the name
runc-$version.tar.xzto make distro
packaging a little easier by matching the filename to the top-level directory
name in the archive. (#5052)
Static Linking Notices
The runc binaries distributed with this release are statically linked with
the following GNU LGPL-2.1 licensed libraries, with runc acting
as a "work that uses the Library":
Similarly, the runc binaries distributed with this release are also
statically linked with the following MPLv2 licensed libraries,
with runc acting as a "Larger Work":
The versions of these libraries were not modified from their upstream versions,
but in order to comply with their corresponding licenses, we have attached the
complete source code for those libraries which (when combined with the attached
runc source code) may be used to exercise your rights under their respective
license.
However, we strongly suggest that you make use of your distribution's packages
or download them from the authoritative upstream sources, especially since
these libraries are related to the security of your containers.
Thanks to the following contributors for making this release possible:
- Akihiro Suda akihiro.suda.cz@hco.ntt.co.jp
- Aleksa Sarai aleksa@amutable.com
- Antti Kervinen antti.kervinen@intel.com
- Ariel Otilibili otilibil@eurecom.fr
- Arina Cherednik arinacherednik034@gmail.com
- Curd Becker me@curd-becker.de
- Dimitri John Ledkov dimitri.ledkov@surgut.co.uk
- Donet Tom donettom@linux.ibm.com
- Efim Verzakov efimverzakov@gmail.com
- Ismo Puustinen ismo.puustinen@intel.com
- Joshua Rogers MegaManSec@users.noreply.github.com
- Kir Kolyshkin kolyshkin@gmail.com
- Lei Wang ssst0n3@gmail.com
- Li Fubang lifubang@acmcoder.com
- Luke Hinds luke@stacklok.com
- Markus Lehtonen markus.lehtonen@intel.com
- Osama Abdelkader osama.abdelkader@gmail.com
- Phil Estes estesp@gmail.com
- Ricardo Branco rbranco@suse.de
- Rodrigo Campos Catelin rodrigo@amutable.com
- Tianon Gravi admwiggin@gmail.com
- Tycho Andersen tycho@tycho.pizza
- Tõnis Tiigi tonistiigi@gmail.com
- Vishal Chourasia vishalc@linux.ibm.com
- zhaixiaojuan zhaixiaojuan@loongson.cn
Signed-off-by: Aleksa Sarai cyphar@cyphar.com