@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66
77## [ Unreleased]
88
9+ ## [ 1.5.0-rc.1] - 2026-03-10
10+
11+ > 不易流行
12+
913### libcontainer API ###
1014- The following deprecated Go APIs have been removed:
1115 - ` CleanPath ` , ` StripRoot ` , and ` WithProcfd ` from ` libcontainer/utils ` . Note
@@ -28,7 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2832 - ` libcontainer/configs.NewWeightDevice `
2933 - ` libcontainer/configs.NewThrottleDevice `
3034 - ` libcontainer/configs.HookList.RunHooks ` . (#5141 )
31- - ` libcontainer/configs.MPOL_* ` (#5414 )
35+ - ` libcontainer/configs.MPOL_* ` (#5141 )
3236 - All of the types in ` libcontainer/devices ` which are now maintained in
3337 ` github.com/opencontainers/cgroups/devices/config ` (#5141 ):
3438 - ` libcontainer/devices.Wildcard `
@@ -40,12 +44,62 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4044 - ` libcontainer/devices.Permissions `
4145 - ` libcontainer/devices.Type `
4246 - ` libcontainer/devices.Rule `
47+ - ` libcontainer.Process ` methods (` Wait ` , ` Pid ` , ` Signal ` ) and
48+ ` libcontainer/configs.Config ` methods (` HostUID ` , ` HostRootUID ` , ` HostGID ` ,
49+ ` HostRootGID ` ) now use pointer receivers. (#5088 )
50+ - The example code for ` libcontainer ` has been moved out of a ` README ` and into
51+ a proper ` Example* ` test file that will be compile-tested by our CI. As
52+ mentioned elsewhere, we still * do not* recommend users make use of the
53+ ` libcontainer ` API directly. (#5127 )
4354
4455### Removed ###
4556- The ` memfd-bind ` helper binary has been removed, as it has never been
4657 particularly useful and was completely obsoleted by the changes to
4758 ` /proc/self/exe ` sealing we introduced in runc [ 1.2.0] [ ] . (#5141 )
4859
60+ ### Added ###
61+ - User-namespaced containers can now configure ` user.* ` sysctls. (#4889 )
62+ - Preliminary ` loong64 ` support. (#4938 )
63+ - Intel RDT: the RDT subdirectory is now only removed if runc created it,
64+ matching the updated runtime-spec guidance. (#3832 , #5155 )
65+
66+ ### Fixed ###
67+ - libct: fix panic in ` initSystemdProps ` when processing certain systemd
68+ properties in the OCI spec. (#5133 )
69+ - libct: fix several file descriptor leaks on error paths. (#5009 )
70+ - Remove unnecessary ` crypto/tls ` dependency by open-coding the systemd socket
71+ activation logic, allowing us to more easily avoid false positive CVE
72+ warnings. (#5057 )
73+ - Remove legacy ` os.Is* ` error usage, improving error type detection to make
74+ our error fallback paths more robust. (#5061 )
75+ - Go 1.26 has started enforcing a restriction of ` os/exec.Cmd ` which caused
76+ issues with our usage of ` CLONE_INTO_CGROUP ` (on newer kernels). This has now
77+ been resolved. (#5091 )
78+ - Recursive ` atime ` -related mount flags (` rrelatime ` et al.) are now applied
79+ properly. (#5098 )
80+ - Fix a regression in ` runc exec ` due to ` CLONE_INTO_CGROUP ` in the
81+ (inadvisable) scenario where a container is configured without cgroup
82+ namespaces and with ` /sys/fs/cgroup ` mounted ` rw ` . (#5101 )
83+ - On machines with more than 1024 CPU cores, our logic for resetting the CPU
84+ affinity will now correctly reset the affinity onto _ all_ available cores
85+ (not just the first 1024). (#5025 )
86+ - #4757 caused a regression that resulted in spurious `cannot start a container
87+ that has stopped` errors when running ` runc create` and has thus been
88+ reverted. (#5153 , #5151 , #4645 , #4757 )
89+
90+ ### Changed ###
91+ - ` runc exec ` will now request systemd to move the ` exec ` process into the
92+ container cgroup, making the procedure more rootless-friendly. (#4822 )
93+ - seccomp: minor documentation updates. (#4902 )
94+ - Errors from ` runc init ` have historically being quite painful to understand and
95+ debug, we have made several improvements to make them more comprehensive and
96+ thus useful when debugging issues. (#4951 , #4928 )
97+ - Update spec conformance documentation for OCI runtime-spec v1.3.0. (#4948 )
98+ - Our release archives now have the name ` runc-$version.tar.xz ` to make distro
99+ packaging a little easier by matching the filename to the top-level directory
100+ name in the archive. (#5052 )
101+ - Minor signing keyring updates. (#5139 , #5144 , #5148 )
102+
49103## [ 1.4.0] - 2025-11-27
50104
51105> 路漫漫其修远兮,吾将上下而求索!
@@ -1594,3 +1648,7 @@ implementation (libcontainer) is *not* covered by this policy.
15941648[ 1.4.0-rc.3 ] : https://github.com/opencontainers/runc/compare/v1.4.0-rc.2...v1.4.0-rc.3
15951649[ 1.4.0-rc.2 ] : https://github.com/opencontainers/runc/compare/v1.4.0-rc.1...v1.4.0-rc.2
15961650[ 1.4.0-rc.1 ] : https://github.com/opencontainers/runc/compare/v1.3.0...v1.4.0-rc.1
1651+
1652+ <!-- 1.5.z patch releases -->
1653+ [ Unreleased 1.5.z ] : https://github.com/opencontainers/runc/compare/v1.5.0-rc.1...release-1.5
1654+ [ 1.5.0-rc.1 ] : https://github.com/opencontainers/runc/compare/v1.4.0...v1.5.0-rc.1
0 commit comments