# containerd: what changed from 1 to 2 - Product: containerd (https://whatsnew.fyi/product/containerd) - Vendor: CNCF - Range: changelog entries numbered after v1.7.35 up to and including v2.3.5, stable releases only - Entries below: 12 releases (newest first) - Resolved: 1 is v1.7.35 and 2 is v2.3.5, the newest stable release of each major we track - Carrying security changes: 7 · CVEs mentioned: 6 · Mentioning breaking changes: 0 · Removing or deprecating something: 2 - Page: https://whatsnew.fyi/product/containerd/compare/1...2 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (74 changes, grouped by kind) ### Added #### v2.2.7 (2026-08-12) - Support non-UTF-8 binary environment variable values in CRI (also in v2.3.4) - Add enable_criu configuration option and disable checkpoint restore codepaths when CRIU is not installed (also in v2.3.4) - Enable OCI runtime feature introspection for non-runc runtimes in CRI (also in v2.3.4) #### v2.3.4 (2026-08-12) - Normalize sandbox image references in CRI to resolve images without domain prefixes ### Changed #### v2.0.12 (2026-09-04) - Strip sensitive authentication headers when fetching descriptor URLs - Surface OCI error bodies in registry 403 responses by falling back to GET requests - Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services - Enable log scrubbing by default on Windows (also in v2.2.7; v2.3.4) - Skip redundant opaque whiteout walks in archive - Add --scrub-logs flag for Windows in ctr - Normalize descriptor URL origins in docker fetcher #### v2.3.5 (2026-09-04) - Update runc to v1.5.1 - Update runhcs to v0.15.0-rc.4 - Vendor github.com/containerd/platforms v1.0.0-rc.5 #### v2.2.7 (2026-08-12) - Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable (also in v2.3.4) #### v2.3.4 (2026-08-12) - Set default runtimeFeatures.UserNamespacesHostNetwork to true in CRI #### v2.1.9 (2026-06-18) - Update runc binary to v1.3.6 (also in v2.0.10; v2.2.5) - Update Go to 1.26.4/1.25.11 (also in v2.2.5) #### v2.0.10 (2026-06-18) - Update Go to 1.26.4 and 1.25.11 #### v2.3.2 (2026-06-18) - Allow the last host to retry on transient network errors - Update golang.org/x/crypto to v0.53.0 (also in v2.2.5) - Update golang.org/x/mod to v0.36.0 (also in v2.2.5) - Update golang.org/x/net to v0.55.0 (also in v2.2.5) - Update golang.org/x/sync to v0.21.0 (also in v2.2.5) - Update golang.org/x/sys to v0.46.0 (also in v2.2.5) - Update golang.org/x/term to v0.44.0 (also in v2.2.5) #### v2.2.5 (2026-06-18) - Update golang.org/x/text to v0.38.0 ### Fixed #### v2.0.12 (2026-09-04) - Cancel ExecSync IO drain on context cancellation in CRI #### v2.3.5 (2026-09-04) - Avoid hangs and data races when streaming container standard I/O in CRI - Fix missing error messages in OpenTelemetry trace attributes - Fix user and group lookup failures in container rootfs containing symlinked /etc/passwd or /etc/group (also in v2.2.8) - Fix configuration loading error when drop-in configuration files have a higher version than the root configuration - Avoid containerd startup hangs when loading shims - Add context to error when shim delete times out - Fix Windows Server 2022 container compatibility on host builds newer than the latest LTSC - Fix unpack failure for EROFS images containing the erofs OS feature #### v2.2.8 (2026-09-04) - Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services (also in v2.3.3) - Fix EROFS snapshot creation failure caused by concurrent snapshot removal - Cancel ExecSync IO drain on context cancellation #### v2.2.7 (2026-08-12) - Fix mount manager activation error when activation already exists #### v2.3.4 (2026-08-12) - Memory leak in OOM watcher map when stopping container monitoring - Avoid orphaning shims on transient errors when loading process IDs - Corruption of binary protobuf shim start responses caused by premature whitespace trimming - EROFS snapshotter dropping lower layers stacked above merged filesystem metadata #### v2.3.3 (2026-07-10) - Fix nil pointer dereference in NRI GetIPs during pod sandbox teardown or container exit (also in v2.2.6) - Reject CreateContainer calls when the target sandbox is not running (also in v2.2.6) - Ensure sandbox shutdown on RunPodSandbox hook failures to avoid mount leaks (also in v2.2.6) - Surface OCI error bodies in registry 403 responses by falling back to GET requests - Align default 4K mkfs block size for EROFS across all platforms #### v2.2.6 (2026-07-09) - Limit fallback to /blobs endpoint during ref resolution to prevent content store pollution (also in v2.0.11) #### v2.1.9 (2026-06-18) - Filter CDI annotations on checkpoint restore in cri - Do not re-tag restored checkpoints in cri - Make checkpoint restore robust to unexpected archive content in cri - Bound user-database file reads in openBoundedUserFile (also in v2.0.10) - Do not propagate reserved labels from image configs (also in v2.0.10; v2.3.2; v2.2.5) #### v2.3.2 (2026-06-18) - Fix data race when reading shim logs on Windows - Fix container startup failures caused by concurrent task RPC timeouts during slow container creation - Filter CDI annotations on checkpoint restore (also in v2.2.5) - Do not re-tag restored checkpoints (also in v2.2.5) - Make checkpoint restore robust to unexpected archive content (also in v2.2.5) - Bound user-database file reads in openUserFile (also in v2.2.5) ### Deprecated #### v2.2.7 (2026-08-12) - Deprecate checkpoint restore in CreateContainer #### v2.3.4 (2026-08-12) - Checkpoint restore in CreateContainer - Emit deprecation warnings for plugins using deprecated NRI interfaces ### Security #### v2.0.12 (2026-09-04) - Fix CVE-2026-53495 - Fix GHSA-rp3h-jf77-q9p4 #### v2.3.5 (2026-09-04) - Address CVE-2026-53495 (also in v2.2.8) - Address GHSA-rp3h-jf77-q9p4 (also in v2.2.8) - Strip sensitive authentication headers when fetching descriptor URLs (also in v2.2.8) #### v2.1.9 (2026-06-18) - Fix CVE-2026-50195 (also in v2.3.2; v2.2.5) - Fix CVE-2026-53488 (also in v2.0.10; v2.3.2; v2.2.5) - Fix CVE-2026-53492 (also in v2.3.2; v2.2.5) - Fix CVE-2026-53489 (also in v2.3.2; v2.2.5) - Fix CVE-2026-47262 (also in v2.0.10; v2.3.2; v2.2.5) ## Release notes ### v2.0.12 — containerd 2.0.12 - Date: 2026-09-04 - Version: v2.0.12 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.0.12 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.0.12 - **security** — Fix CVE-2026-53495 - **security** — Fix GHSA-rp3h-jf77-q9p4 - **changed** — Strip sensitive authentication headers when fetching descriptor URLs - **changed** — Surface OCI error bodies in registry 403 responses by falling back to GET requests - **changed** — Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services - **changed** — Enable log scrubbing by default on Windows - **fixed** — Cancel ExecSync IO drain on context cancellation in CRI - **changed** — Skip redundant opaque whiteout walks in archive - **changed** — Add --scrub-logs flag for Windows in ctr - **changed** — Normalize descriptor URL origins in docker fetcher Welcome to the v2.0.12 release of containerd! The twelfth patch release for containerd 2.0 contains various fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-53495**](https://github.com/containerd/containerd/security/advisories/GHSA-7jxh-36q5-gcqv) * [**GHSA-rp3h-jf77-q9p4**](https://github.com/containerd/containerd/security/advisories/GHSA-rp3h-jf77-q9p4) ###### Highlights ###### Image Distribution * Apply hardening to strip sensitive authentication headers when fetching descriptor URLs ([#14045](https://github.com/containerd/containerd/pull/14045)) * Surface OCI error bodies in registry 403 responses by falling back to GET requests ([#13749](https://github.com/containerd/containerd/pull/13749)) ###### Runtime * Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services ([#14100](https://github.com/containerd/containerd/pull/14100)) * Enable log scrubbing by default on Windows ([#13884](https://github.com/containerd/containerd/pull/13884)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Maksym Pavlenko * Oleh Konko * Akihiro Suda * Chris Henzie * Maksim An * Phil Estes * Wei Fu * XlabAI * cshung ###### Changes
19 commits

* [`d6a01e72a`](https://github.com/containerd/containerd/commit/d6a01e72ab3feb5ab9fa08413ded65981b780c1f) Prepare release notes for v2.0.12 * [`2e964db90`](https://github.com/containerd/containerd/commit/2e964db909676a0d16620d27b2ee6aaa67018cb2) Merge commit from fork * [`eebea8c4c`](https://github.com/containerd/containerd/commit/eebea8c4c912f44b656c8295c9e6607a19b76650) cri: cancel ExecSync IO drain on context cancellation * [`d93c158a6`](https://github.com/containerd/containerd/commit/d93c158a6d70b8bd5b0c7b67f7d01c92a5bb34bd) Merge commit from fork * [`6c060c952`](https://github.com/containerd/containerd/commit/6c060c9525bd53ce91adc3e1736ab2017bcc689f) archive: skip redundant opaque whiteout walks * Set SystemTemp env var to config temp on Windows ([#14100](https://github.com/containerd/containerd/pull/14100)) * [`56058341c`](https://github.com/containerd/containerd/commit/56058341cb9f21ffe11b1d81099889d39c8e280e) Set SystemTemp env var to config temp on Windows * docker fetcher: strip sensitive headers on descriptor URLs ([#14045](https://github.com/containerd/containerd/pull/14045)) * [`88c95d56d`](https://github.com/containerd/containerd/commit/88c95d56da275becf89bab5b373fbfc080231e49) core/remotes/docker: normalize descriptor URL origins * [`7711c3d21`](https://github.com/containerd/containerd/commit/7711c3d2188999822928251e154b8570ae9a078d) core/remotes/docker: strip sensitive headers on desc.urls fetch * Use ScrubLogs by default on Windows ([#13884](https://github.com/containerd/containerd/pull/13884)) * [`84c6caa67`](https://github.com/containerd/containerd/commit/84c6caa67d38df4e63af911679fd79b9e7e66de6) ctr: add --scrub-logs flag for Windows * [`5fcdfaab2`](https://github.com/containerd/containerd/commit/5fcdfaab2222759804b2fe043dbf1f9a70a0857a) cri/config: use ScrubLogs by default on Windows * ci: bound Go fuzzing by execution count ([#13787](https://github.com/containerd/containerd/pull/13787)) * [`b452f2856`](https://github.com/containerd/containerd/commit/b452f285600b8b4827596eb9ff9dcdf46b20acbe) ci: bound Go fuzzing by execution count * CI: migrate Vagrant to Lima ([#13756](https://github.com/containerd/containerd/pull/13756)) * [`a15448870`](https://github.com/containerd/containerd/commit/a15448870588fc5f94b8aa6809d3e50b1305a396) CI: migrate Vagrant to Lima * remotes: surface OCI error body on HEAD 403 via GET fallback ([#13749](https://github.com/containerd/containerd/pull/13749)) * [`71a73c8a0`](https://github.com/containerd/containerd/commit/71a73c8a0f3818e30d873e645b0335e4aa7913ba) remotes: surface OCI error body on HEAD 403 vi _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.0.12]_ ### v2.3.5 — containerd 2.3.5 - Date: 2026-09-04 - Version: v2.3.5 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.3.5 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.3.5 - **security** — Address CVE-2026-53495 - **security** — Address GHSA-rp3h-jf77-q9p4 - **security** — Strip sensitive authentication headers when fetching descriptor URLs - **fixed** — Avoid hangs and data races when streaming container standard I/O in CRI - **fixed** — Fix missing error messages in OpenTelemetry trace attributes - **fixed** — Fix user and group lookup failures in container rootfs containing symlinked /etc/passwd or /etc/group - **fixed** — Fix configuration loading error when drop-in configuration files have a higher version than the root configuration - **fixed** — Avoid containerd startup hangs when loading shims - **fixed** — Add context to error when shim delete times out - **fixed** — Fix Windows Server 2022 container compatibility on host builds newer than the latest LTSC - **fixed** — Fix unpack failure for EROFS images containing the erofs OS feature - **changed** — Update runc to v1.5.1 - **changed** — Update runhcs to v0.15.0-rc.4 - **changed** — Vendor github.com/containerd/platforms v1.0.0-rc.5 Welcome to the v2.3.5 release of containerd! The fifth patch release for containerd 2.3 contains various fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-53495**](https://github.com/containerd/containerd/security/advisories/GHSA-7jxh-36q5-gcqv) * [**GHSA-rp3h-jf77-q9p4**](https://github.com/containerd/containerd/security/advisories/GHSA-rp3h-jf77-q9p4) ###### Highlights ###### Image Distribution * Apply hardening to strip sensitive authentication headers when fetching descriptor URLs ([#14030](https://github.com/containerd/containerd/pull/14030)) ###### Runtime * Avoid hangs and data races when streaming container standard I/O in CRI ([#14094](https://github.com/containerd/containerd/pull/14094)) * Fix missing error messages in OpenTelemetry trace attributes ([#14049](https://github.com/containerd/containerd/pull/14049)) * Fix user and group lookup failures in container rootfs containing symlinked /etc/passwd or /etc/group ([#13999](https://github.com/containerd/containerd/pull/13999)) * Fix configuration loading error when drop-in configuration files have a higher version than the root configuration ([#13995](https://github.com/containerd/containerd/pull/13995)) * Avoid containerd startup hangs when loading shims ([#13983](https://github.com/containerd/containerd/pull/13983)) * Add context to error when shim delete times out ([#13921](https://github.com/containerd/containerd/pull/13921)) * Fix Windows Server 2022 container compatibility on host builds newer than the latest LTSC ([containerd/platforms#34](https://github.com/containerd/platforms/pull/34)) ###### Snapshotters * Fix unpack failure for EROFS images containing the erofs OS feature ([#14062](https://github.com/containerd/containerd/pull/14062)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Phil Estes * Samuel Karp * Derek McGowan * Sebastiaan van Stijn * Akhil Mohan * Maksym Pavlenko * Wei Fu * Oleh Konko * Austin Vazquez * Jing Chen * Martín Fernández * Paco Xu * XlabAI * Yuanliang Zhang ###### Changes

33 commits

* [`934efa5e0`](https://github.com/containerd/containerd/commit/934efa5e09193139c810bcab1fb5ca547dbb6b90) Prepare release notes for v2.3.5 * [`be419b070`](https://github.com/containerd/containerd/commit/be419b070c178548c8e384d8bc3c8fe0ad6f154a) Merge commit from fork * [`9ec55f024`](https://github.com/containerd/containerd/commit/9ec55f024041d0641f6d79841e45c8781141ddaa) cri: cancel ExecSync IO drain on context cancellation * [`84ea25bc1`](https://github.com/containerd/containerd/commit/84ea25bc1d7e9f71390ce9d647dbdec4408c05bc) Merge commit from fork * [`c53577965`](https://github.com/containerd/containerd/commit/c535779652bc8d541328a36ba598088c09819b97) archive: skip redundant opaque whiteout walks * Fix data races and a deadlock in the byte stream helpers ([#14094](https://github.com/containerd/containerd/pull/14094)) * [`9f6be869c`](https://github.com/containerd/containerd/commit/9f6be869c8a6144dc66befde081d6e262b7c4c7d) Fix data races and a deadlock in the byte stream helpers * plugins: remove some stray logrus imports ([#14063](https://github.com/containerd/containerd/pull/14063)) * [`6c59399bf`](https://github.com/containerd/containerd/commit/6c59399bf07df45110770dbe28710e2e65c3e8c6) plugins: remove some stray logrus imports * snapshots/erofs: advertise the erofs OS feature from the snapshotter plugin ([#14062](https://github.com/containerd/containerd/pull/14062)) * [`f65732115`](https://github.com/containerd/containerd/commit/f65732115d1319a62fd35dc694d5fbe3045594f7) snapshots/erofs: test the advertised erofs feature platform * [`5ffc2bbda`](https://github.com/containerd/containerd/commit/5ffc2bbda2a878f87b56ffa2496157f3b814fbc1) erofs: advertise the erofs OS feature platform from the snapshotter * update runc to v1.5.1 ([#14059](https://github.c _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.3.5]_ ### v2.2.8 — containerd 2.2.8 - Date: 2026-09-04 - Version: v2.2.8 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.2.8 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.2.8 - **security** — Address CVE-2026-53495 - **security** — Address GHSA-rp3h-jf77-q9p4 - **security** — Strip sensitive authentication headers when fetching descriptor URLs - **fixed** — Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services - **fixed** — Fix user and group lookup failures in container rootfs containing symlinked /etc/passwd or /etc/group - **fixed** — Fix EROFS snapshot creation failure caused by concurrent snapshot removal - **fixed** — Cancel ExecSync IO drain on context cancellation Welcome to the v2.2.8 release of containerd! The eighth patch release for containerd 2.2 contains various fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-53495**](https://github.com/containerd/containerd/security/advisories/GHSA-7jxh-36q5-gcqv) * [**GHSA-rp3h-jf77-q9p4**](https://github.com/containerd/containerd/security/advisories/GHSA-rp3h-jf77-q9p4) ###### Highlights ###### Image Distribution * Apply hardening to strip sensitive authentication headers when fetching descriptor URLs ([#14044](https://github.com/containerd/containerd/pull/14044)) ###### Runtime * Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services ([#14102](https://github.com/containerd/containerd/pull/14102)) * Fix user and group lookup failures in container rootfs containing symlinked /etc/passwd or /etc/group ([#14005](https://github.com/containerd/containerd/pull/14005)) ###### Snapshotters * Fix EROFS snapshot creation failure caused by concurrent snapshot removal ([#13950](https://github.com/containerd/containerd/pull/13950)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Wei Fu * Oleh Konko * Chris Ayoub * Maksim An * XlabAI ###### Changes

14 commits

* [`4864b1814`](https://github.com/containerd/containerd/commit/4864b18144ed746eda776112370bf83121348275) Prepare release notes for v2.2.8 * [`3458b7fd3`](https://github.com/containerd/containerd/commit/3458b7fd367be3981b57262c5f0c267bf0570a71) Merge commit from fork * [`22ccf4314`](https://github.com/containerd/containerd/commit/22ccf4314d1fe0834f8e28f10d37d5305ef9880c) cri: cancel ExecSync IO drain on context cancellation * [`2bf01ce17`](https://github.com/containerd/containerd/commit/2bf01ce17baa2cc3904f377f2cc9d815631ac704) Merge commit from fork * [`45166eb82`](https://github.com/containerd/containerd/commit/45166eb828c9f8605db44299836a87b78bda701b) archive: skip redundant opaque whiteout walks * Set SystemTemp env var to config temp on Windows ([#14102](https://github.com/containerd/containerd/pull/14102)) * [`2c722ad04`](https://github.com/containerd/containerd/commit/2c722ad0418df21ff173c3f54dd3dd4713302cd8) Set SystemTemp env var to config temp on Windows * pkg/oci: resolve rootfs symlinks for user lookup ([#14005](https://github.com/containerd/containerd/pull/14005)) * [`196664bc0`](https://github.com/containerd/containerd/commit/196664bc020998bf20f3d96708edcaacc5c891d0) pkg/oci: resolve rootfs symlinks for user lookup * docker fetcher: strip sensitive headers on descriptor URLs ([#14044](https://github.com/containerd/containerd/pull/14044)) * [`6da9d9528`](https://github.com/containerd/containerd/commit/6da9d9528820212d3e0d357738acff1b34ee4188) core/remotes/docker: normalize descriptor URL origins * [`4f7851699`](https://github.com/containerd/containerd/commit/4f7851699263c4b7fff39e80af3464ad07d5bdc1) core/remotes/docker: strip sensitive headers on desc.urls fetch * snapshots/erofs: protect snapshot staging from cleanup ([#13950](https://github.com/containerd/containerd/pull/13950)) * [`f7075a224`](https://github.com/containerd/containerd/commit/f7075a224aa2f17d5e4afcc3026a6ac644b5c93b) snapshots/erofs: protect snapshot staging from cleanup

###### Dependency Changes This release has no dependency changes Previous release can be found at [v2.2.7](https://github.com/containerd/containerd/releases/tag/v2.2.7) ###### Which file should I download? * `containerd---.tar.gz`: ✅Recommended. Dynamically linked with glibc 2.35 (Ubuntu 22.04). * `containerd-static---.tar.gz`: Statically linked. Expected to be used on Linux distributions that do not use glibc >= 2.35. Not position-independent. In addition to containerd, typically you will have to install [runc](https://github.c _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.2.8]_ ### v2.2.7 — containerd 2.2.7 - Date: 2026-08-12 - Version: v2.2.7 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.2.7 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.2.7 - **changed** — Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable - **deprecated** — Deprecate checkpoint restore in CreateContainer - **added** — Support non-UTF-8 binary environment variable values in CRI - **added** — Add enable_criu configuration option and disable checkpoint restore codepaths when CRIU is not installed - **added** — Enable OCI runtime feature introspection for non-runc runtimes in CRI - **changed** — Enable log scrubbing by default on Windows - **fixed** — Fix mount manager activation error when activation already exists Welcome to the v2.2.7 release of containerd! The seventh patch release for containerd 2.2 contains various fixes and updates. ###### Highlights ###### Container Runtime Interface (CRI) * Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable ([#13937](https://github.com/containerd/containerd/pull/13937)) * Deprecate checkpoint restore in CreateContainer ([#13872](https://github.com/containerd/containerd/pull/13872)) * Support non-UTF-8 binary environment variable values in CRI ([#13455](https://github.com/containerd/containerd/pull/13455)) * Disable checkpoint restore codepaths when CRIU is not installed and add enable_criu configuration option ([#13795](https://github.com/containerd/containerd/pull/13795)) * Enable OCI runtime feature introspection for non-runc runtimes in CRI ([#13779](https://github.com/containerd/containerd/pull/13779)) ###### Runtime * Enable log scrubbing by default on Windows ([#13882](https://github.com/containerd/containerd/pull/13882)) * Fix mount manager activation error when activation already exists ([#13823](https://github.com/containerd/containerd/pull/13823)) ###### Breaking * Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable ([#13937](https://github.com/containerd/containerd/pull/13937)) ###### Deprecations * Deprecate checkpoint restore in CreateContainer ([#13872](https://github.com/containerd/containerd/pull/13872)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Jordan Liggitt * Akihiro Suda * Amir Alavi * Chris Henzie * Derek McGowan * Maksym Pavlenko * Mike Brown * Phil Estes ###### Changes
21 commits

* [`43f299db6`](https://github.com/containerd/containerd/commit/43f299db6e087ef066e47c3cf41ee56723983eb3) Prepare release notes for v2.2.7 * cri: disable restore in CreateContainer by default ([#13937](https://github.com/containerd/containerd/pull/13937)) * [`5c3a47036`](https://github.com/containerd/containerd/commit/5c3a47036ec08f8a7517a01a0baf113d6146eca0) cri: disable restore in CreateContainer by default * Use ScrubLogs by default on Windows ([#13882](https://github.com/containerd/containerd/pull/13882)) * [`4c93ae6d5`](https://github.com/containerd/containerd/commit/4c93ae6d5e7eaa5957887d469aa610763c2f8b42) ctr: add --scrub-logs flag for Windows * [`a124c7e35`](https://github.com/containerd/containerd/commit/a124c7e354da7252a363f3a3eaafb5a81a6d508e) cri/config: use ScrubLogs by default on Windows * cri: deprecate restore in CreateContainer ([#13872](https://github.com/containerd/containerd/pull/13872)) * [`c59d041d8`](https://github.com/containerd/containerd/commit/c59d041d84cb402b991338f2894c0637eb5dc608) cri: deprecate restore in CreateContainer * Handle []byte envvar value for CRI ([#13455](https://github.com/containerd/containerd/pull/13455)) * [`6cdc2ddce`](https://github.com/containerd/containerd/commit/6cdc2ddce8aa962135459e02d41ab84772e8e08e) Handle []byte envvar value * [`a60898833`](https://github.com/containerd/containerd/commit/a60898833909a6bb4c38cc1fa47d44434edfe9bf) update to v0.34.x kubernetes dependencies * Fix mount manager activation error when already exists ([#13823](https://github.com/containerd/containerd/pull/13823)) * [`54ecff6ca`](https://github.com/containerd/containerd/commit/54ecff6cabbbbf5b7ffa606cdeeba13131a03968) core/mount: Fix mount manager activation error when already exists * Disable checkpoint restore codepath when CRIU is not installed ([#13795](https://github.com/containerd/containerd/pull/13795)) * [`fd966ba29`](https://github.com/containerd/containerd/commit/fd966ba2904fc92c429fff41b0e4d6cd2384fe7c) github/workflows: install criu in node-e2e * [`7d41b25c9`](https://github.com/containerd/containerd/commit/7 _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.2.7]_ ### v2.3.4 — containerd 2.3.4 - Date: 2026-08-12 - Version: v2.3.4 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.3.4 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.3.4 - **changed** — Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable - **changed** — Set default runtimeFeatures.UserNamespacesHostNetwork to true in CRI - **deprecated** — Checkpoint restore in CreateContainer - **added** — Support non-UTF-8 binary environment variable values in CRI - **added** — Enable OCI runtime feature introspection for non-runc runtimes in CRI - **added** — Add enable_criu configuration option and disable checkpoint restore codepaths when CRIU is not installed - **added** — Normalize sandbox image references in CRI to resolve images without domain prefixes - **deprecated** — Emit deprecation warnings for plugins using deprecated NRI interfaces - **changed** — Enable log scrubbing by default on Windows - **fixed** — Memory leak in OOM watcher map when stopping container monitoring - **fixed** — Avoid orphaning shims on transient errors when loading process IDs - **fixed** — Corruption of binary protobuf shim start responses caused by premature whitespace trimming - **fixed** — EROFS snapshotter dropping lower layers stacked above merged filesystem metadata Welcome to the v2.3.4 release of containerd! The fourth patch release for containerd 2.3 contains various fixes and updates. ###### Highlights ###### Container Runtime Interface (CRI) * Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable ([#13913](https://github.com/containerd/containerd/pull/13913)) * Set default runtimeFeatures.UserNamespacesHostNetwork to true in CRI ([#13914](https://github.com/containerd/containerd/pull/13914)) * Deprecate checkpoint restore in CreateContainer ([#13868](https://github.com/containerd/containerd/pull/13868)) * Support non-UTF-8 binary environment variable values in CRI ([#13454](https://github.com/containerd/containerd/pull/13454)) * Enable OCI runtime feature introspection for non-runc runtimes in CRI ([#13778](https://github.com/containerd/containerd/pull/13778)) * Disable checkpoint restore codepaths when CRIU is not installed and add enable_criu configuration option ([#13734](https://github.com/containerd/containerd/pull/13734)) * Normalize sandbox image references in CRI to resolve images without domain prefixes ([#13759](https://github.com/containerd/containerd/pull/13759)) ###### Node Resource Interface (NRI) * Emit deprecation warnings for plugins using deprecated NRI interfaces ([#13935](https://github.com/containerd/containerd/pull/13935)) ###### Runtime * Enable log scrubbing by default on Windows ([#13904](https://github.com/containerd/containerd/pull/13904)) * Fix memory leak in OOM watcher map when stopping container monitoring ([#13870](https://github.com/containerd/containerd/pull/13870)) * Avoid orphaning shims on transient errors when loading process IDs ([#13857](https://github.com/containerd/containerd/pull/13857)) * Fix corruption of binary protobuf shim start responses caused by premature whitespace trimming ([#13803](https://github.com/containerd/containerd/pull/13803)) ###### Snapshotters * Fix EROFS snapshotter dropping lower layers stacked above merged filesystem metadata ([#13876](https://github.com/containerd/containerd/pull/13876)) ###### Breaking * Disable checkpoint restore in CreateContainer by default, requiring the enable_experimental_restore_via_create configuration option to enable ([#13913](https://github.com/containerd/containerd/pull/13913)) ###### Deprecations * Deprecate checkpoint restore in CreateContainer ([#13868](https://github.com/containerd/containerd/pull/13868)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Maksym Pavlenko * Mike Brown * Akihiro Suda * Derek McGowan * Jordan Liggitt * Paweł Gronowski * Amir Alavi * Andrew Halaney * Bing Hongtao * Chris Henzie * Harshal Patel * Krisztian Litkey * Phil Estes * Wei Fu * ningmingxiao ###### Changes

35 commits

* [`c1f5360ef`](https://github.com/containerd/containerd/commit/c1f5360ef7b9afb748d4119ad7be665ba5144480) Prepare release notes for v2.3.4 * cri: disable restore in CreateContainer by default ([#13913](https://github.com/containerd/containerd/pull/13913)) * [`928c03c68`](https://github.com/containerd/containerd/commit/928c03c6898cad95f795300281fdff0dbc55a32f) cri: disable restore in CreateContainer by default * nri,deprecation: record and emit warnings for NRI deprecations. ([#13935](https://github.com/containerd/containerd/pull/13935)) * [`5966e2edb`](https://github.com/containerd/containerd/commit/5966e2edb15bb939aa2bb73649fbad73a2b04094) nri,deprecation: emit warnings for old NRI plugins. * Set the default of runtimeFeatures.UserNamespacesHostNetwork to true ([#13914](https://github.com/containerd/containerd/pull/13914)) * [`ab52c58f1`](https://github.com/containerd/containerd/commit/ab52c58f16ac50bb6724354bf36cbb4da480c2a2) Set the default of runtimeFeatures.UserNamespacesHostNetwork to true * Use ScrubLogs by default on Windows ([#13904](htt _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.3.4]_ ### v2.3.3 — containerd 2.3.3 - Date: 2026-07-10 - Version: v2.3.3 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.3.3 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.3.3 - **fixed** — Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services - **fixed** — Fix nil pointer dereference in NRI GetIPs during pod sandbox teardown or container exit - **fixed** — Reject CreateContainer calls when the target sandbox is not running - **fixed** — Ensure sandbox shutdown on RunPodSandbox hook failures to avoid mount leaks - **fixed** — Surface OCI error bodies in registry 403 responses by falling back to GET requests - **fixed** — Align default 4K mkfs block size for EROFS across all platforms Welcome to the v2.3.3 release of containerd! The third patch release for containerd 2.3 contains various fixes and updates. ###### Highlights * Set SystemTemp environment variable on Windows so temp directory overrides work for SYSTEM services ([#13694](https://github.com/containerd/containerd/pull/13694)) ###### Container Runtime Interface (CRI) * Fix nil pointer dereference in NRI GetIPs during pod sandbox teardown or container exit ([#13697](https://github.com/containerd/containerd/pull/13697)) * Reject CreateContainer calls when the target sandbox is not running ([#13668](https://github.com/containerd/containerd/pull/13668)) * Ensure sandbox shutdown on RunPodSandbox hook failures to avoid mount leaks ([#13645](https://github.com/containerd/containerd/pull/13645)) ###### Image Distribution * Surface OCI error bodies in registry 403 responses by falling back to GET requests ([#13738](https://github.com/containerd/containerd/pull/13738)) ###### Snapshotters * Align default 4K mkfs block size for EROFS across all platforms ([#13632](https://github.com/containerd/containerd/pull/13632)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Maksym Pavlenko * Samuel Karp * Chris Henzie * Phil Estes * Sebastiaan van Stijn * Akihiro Suda * Austin Vazquez * Chris Crone * Derek McGowan * Maksim An * crawfordxx * cshung * lauralorenz ###### Changes

14 commits

* Prepare release notes for v2.3.3 ([#13750](https://github.com/containerd/containerd/pull/13750)) * [`7f6cee02a`](https://github.com/containerd/containerd/commit/7f6cee02ad5afc5f3244ec36937d8eed61f7057d) Prepare release notes for v2.3.3 * CI: migrate Vagrant to Lima ([#13744](https://github.com/containerd/containerd/pull/13744)) * [`7316210ce`](https://github.com/containerd/containerd/commit/7316210ce6bd95e8afd2856e256b5d9855385d01) CI: migrate Vagrant to Lima * remotes: surface OCI error body in registry 4xx responses ([#13738](https://github.com/containerd/containerd/pull/13738)) * [`457fba3a3`](https://github.com/containerd/containerd/commit/457fba3a380dab10ef7e9334352352f72caf8423) remotes: surface OCI error body on HEAD 403 via GET fallback * Update go to 1.26.5 ([#13732](https://github.com/containerd/containerd/pull/13732)) * [`dc2df934e`](https://github.com/containerd/containerd/commit/dc2df934efebc78523d6821c2520f538ff65986d) Update go to 1.26.5 * ci: pin fog-json to resolve gem conflict ([#13711](https://github.com/containerd/containerd/pull/13711)) * [`5be0495df`](https://github.com/containerd/containerd/commit/5be0495dff529910a85b6ca1b2a1a35ea220da59) ci: pin fog-json to resolve gem conflict * Fix nil pointer dereference in NRI GetIPs ([#13697](https://github.com/containerd/containerd/pull/13697)) * [`36c713971`](https://github.com/containerd/containerd/commit/36c7139715fee7ff2f87f78a8b3d6fea4e2e7b35) Fix nil pointer dereference in NRI GetIPs * Set SystemTemp env var to config temp on Windows ([#13694](https://github.com/containerd/containerd/pull/13694)) * [`26dce170d`](https://github.com/containerd/containerd/commit/26dce170df24e227aeb5ccd1cec1e5c91b307595) Set SystemTemp env var to config temp on Windows * update runhcs to v0.15.0-rc.3 ([#13693](https://github.com/containerd/containerd/pull/13693)) * [`9bc2c2349`](https://github.com/containerd/containerd/commit/9bc2c23496073c3b48b083f6bede9e82d879a7d4) update runhcs to v0.15.0-rc.3 * Update to current setup-go version ([#13686](https://github.com/containerd/containerd/pull/13686)) * [`3e97edeb7`](https://github.com/containerd/containerd/commit/3e97edeb7d3dfcee903c37ab531b1fdfe0a49ae4) Update to current setup-go version * cri: reject CreateContainer when sandbox is not running ([#13668](https://github.com/containerd/containerd/pull/13668)) * [`8856b0f9c`](https://github.com/containerd/containerd/commit/8856b0f9c3ae50efe6f2a84ab7337953faeb129f) cri: reject CreateContainer wh _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.3.3]_ ### v2.2.6 — containerd 2.2.6 - Date: 2026-07-09 - Version: v2.2.6 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.2.6 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.2.6 - **fixed** — Fix nil pointer dereference in NRI GetIPs during pod sandbox teardown or container exit - **fixed** — Reject CreateContainer calls when the target sandbox is not running - **fixed** — Ensure sandbox shutdown on RunPodSandbox hook failures to avoid mount leaks - **fixed** — Limit fallback to /blobs endpoint during ref resolution to prevent content store pollution Welcome to the v2.2.6 release of containerd! The sixth patch release for containerd 2.2 contains various fixes and updates. ###### Highlights ###### Container Runtime Interface (CRI) * Fix nil pointer dereference in NRI GetIPs during pod sandbox teardown or container exit ([#13696](https://github.com/containerd/containerd/pull/13696)) * Reject CreateContainer calls when the target sandbox is not running ([#13669](https://github.com/containerd/containerd/pull/13669)) * Ensure sandbox shutdown on RunPodSandbox hook failures to avoid mount leaks ([#13644](https://github.com/containerd/containerd/pull/13644)) ###### Image Distribution * Limit fallback to /blobs endpoint during ref resolution to prevent content store pollution ([#13620](https://github.com/containerd/containerd/pull/13620)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Chris Henzie * Phil Estes * Akihiro Suda * Joseph Zhang * Maksym Pavlenko * crawfordxx * lauralorenz ###### Changes

8 commits

* Prepare release notes for v2.2.6 ([#13751](https://github.com/containerd/containerd/pull/13751)) * [`701734d2f`](https://github.com/containerd/containerd/commit/701734d2f96b150769ef2f0b7be2e1e39e67f2fb) Prepare release notes for v2.2.6 * CI: migrate Vagrant to Lima ([#13745](https://github.com/containerd/containerd/pull/13745)) * [`672ea355f`](https://github.com/containerd/containerd/commit/672ea355f5a7134160fc66a1a800cd9f89176f40) CI: migrate Vagrant to Lima * Update go to 1.26.5/1.25.12 ([#13726](https://github.com/containerd/containerd/pull/13726)) * [`d7eba3f42`](https://github.com/containerd/containerd/commit/d7eba3f429449d19e9ea1f4e5f017a8893d49281) Update go to 1.26.5/1.25.12 * ci: pin fog-json to resolve gem conflict ([#13714](https://github.com/containerd/containerd/pull/13714)) * [`8f123e4f7`](https://github.com/containerd/containerd/commit/8f123e4f7fbe59cf9ca86999f65cc8f2021dafd6) ci: pin fog-json to resolve gem conflict * Fix nil pointer dereference in NRI GetIPs ([#13696](https://github.com/containerd/containerd/pull/13696)) * [`d3e1a2be9`](https://github.com/containerd/containerd/commit/d3e1a2be92e527bf40ea4746b616bd782e108380) Fix nil pointer dereference in NRI GetIPs * cri: reject CreateContainer when sandbox is not running ([#13669](https://github.com/containerd/containerd/pull/13669)) * [`872a9502e`](https://github.com/containerd/containerd/commit/872a9502eebee41d58005a8a2eb11c7194025fb1) cri: reject CreateContainer when sandbox is not running * Add defer in event of mid-function failures in RunPodSandbox to avoid mount leaks ([#13644](https://github.com/containerd/containerd/pull/13644)) * [`ba7605ee7`](https://github.com/containerd/containerd/commit/ba7605ee7eb74493c464018055b43f0fed5e9289) Add deferred call to ShutdownSandbox to avoid leaks * fix: avoid content storage pollution by limiting the fallback on ref resolution ([#13620](https://github.com/containerd/containerd/pull/13620)) * [`36c4275ee`](https://github.com/containerd/containerd/commit/36c4275eed174bdf40df60a5dea2c32191a1e946) fix:avoid content storage pollution by limiting the fallback on ref resolution

###### Dependency Changes This release has no dependency changes Previous release can be found at [v2.2.5](https://github.com/containerd/containerd/releases/tag/v2.2.5) ###### Which file should I download? * `containerd---.tar.gz`: ✅Recommended. Dynamically linked with glibc 2.35 (Ubuntu 22.04). * `containerd-static---.tar.gz`: Statically linked. Expected to be used on Linux distributions that do not use glibc >= 2.35. Not position-independent. In addition to containerd, typically you will have to install [runc](https://github.com/opencontainers/runc/releases) and [CNI plugins](https://github.com/containernetworking/plugins/releases) from their official sites too. See als _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.2.6]_ ### v2.0.11 — containerd 2.0.11 - Date: 2026-07-09 - Version: v2.0.11 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.0.11 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.0.11 - **fixed** — Limit fallback to /blobs endpoint during ref resolution to prevent content store pollution Welcome to the v2.0.11 release of containerd! The eleventh patch release for containerd 2.0 contains various fixes and updates. ###### Highlights ###### Image Distribution * Limit fallback to /blobs endpoint during ref resolution to prevent content store pollution ([#13622](https://github.com/containerd/containerd/pull/13622)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Chris Henzie * Joseph Zhang * Phil Estes ###### Changes
4 commits

* Prepare release notes for v2.0.11 ([#13752](https://github.com/containerd/containerd/pull/13752)) * [`24a2ac9db`](https://github.com/containerd/containerd/commit/24a2ac9db44440a5c23314bbbe265a0be5330d30) Prepare release notes for v2.0.11 * Update go to 1.26.5/1.25.12 ([#13730](https://github.com/containerd/containerd/pull/13730)) * [`8f0774f1a`](https://github.com/containerd/containerd/commit/8f0774f1a0c7b07fc4cd8ae8a7fdefdc212ea620) Update go to 1.26.5/1.25.12 * ci: pin fog-json to resolve gem conflict ([#13713](https://github.com/containerd/containerd/pull/13713)) * [`f89266ecb`](https://github.com/containerd/containerd/commit/f89266ecb9d2bcb7b8677ddabda09d6dc4e21aca) ci: pin fog-json to resolve gem conflict * fix: avoid content storage pollution by limiting the fallback on ref resolution ([#13622](https://github.com/containerd/containerd/pull/13622)) * [`179b642d6`](https://github.com/containerd/containerd/commit/179b642d662ddbaeebe57214164a399ceaed5fbd) fix:avoid content storage pollution by limiting the fallback on ref resolution

###### Dependency Changes This release has no dependency changes Previous release can be found at [v2.0.10](https://github.com/containerd/containerd/releases/tag/v2.0.10) ###### Which file should I download? * `containerd---.tar.gz`: ✅Recommended. Dynamically linked with glibc 2.31 (Ubuntu 20.04). * `containerd-static---.tar.gz`: Statically linked. Expected to be used on non-glibc Linux distributions. Not position-independent. In addition to containerd, typically you will have to install [runc](https://github.com/opencontainers/runc/releases) and [CNI plugins](https://github.com/containernetworking/plugins/releases) from their official sites too. See also the [Getting Started](https://github.com/containerd/containerd/blob/main/docs/getting-started.md) documentation. ### v2.1.9 — containerd 2.1.9 - Date: 2026-06-18 - Version: v2.1.9 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.1.9 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.1.9 - **security** — Fix CVE-2026-50195 - **security** — Fix CVE-2026-53488 - **security** — Fix CVE-2026-53492 - **security** — Fix CVE-2026-53489 - **security** — Fix CVE-2026-47262 - **fixed** — Filter CDI annotations on checkpoint restore in cri - **fixed** — Do not re-tag restored checkpoints in cri - **fixed** — Make checkpoint restore robust to unexpected archive content in cri - **fixed** — Bound user-database file reads in openBoundedUserFile - **fixed** — Do not propagate reserved labels from image configs - **changed** — Update runc binary to v1.3.6 - **changed** — Update Go to 1.26.4/1.25.11 Welcome to the v2.1.9 release of containerd! The ninth patch release for containerd 2.1 contains various fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-50195**](https://github.com/containerd/containerd/security/advisories/GHSA-cvxm-645q-p574) * [**CVE-2026-53488**](https://github.com/containerd/containerd/security/advisories/GHSA-xhf5-7wjv-pqxp) * [**CVE-2026-53492**](https://github.com/containerd/containerd/security/advisories/GHSA-33vj-92qq-66hc) * [**CVE-2026-53489**](https://github.com/containerd/containerd/security/advisories/GHSA-rgh6-rfwx-v388) * [**CVE-2026-47262**](https://github.com/containerd/containerd/security/advisories/GHSA-jpcc-p29g-p8mq) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Chris Henzie * Samuel Karp * Akihiro Suda * Wei Fu * Akhil Mohan * Ben Cressey * Brian Goff * Davanum Srinivas * Derek McGowan * Jared Ledvina ###### Changes
23 commits

* Prepare release notes for v2.1.9 ([#13629](https://github.com/containerd/containerd/pull/13629)) * [`b8b3a86e9`](https://github.com/containerd/containerd/commit/b8b3a86e9e5c240943379f9f89c56943688003c8) Prepare release notes for v2.1.9 * [`ee965da63`](https://github.com/containerd/containerd/commit/ee965da639fa919559b9cf3717c6647567da9181) Merge commit from fork * [`b5e0c4733`](https://github.com/containerd/containerd/commit/b5e0c473300aa973730c90c2117010821640790d) Merge commit from fork * [`02045fd46`](https://github.com/containerd/containerd/commit/02045fd4696d21db11767226ff14576522809066) cri: filter CDI annotations on checkpoint restore * [`e9c26cf3c`](https://github.com/containerd/containerd/commit/e9c26cf3c8635232ab14956c5e9b788439b0fbc2) Merge commit from fork * [`2e4583a9f`](https://github.com/containerd/containerd/commit/2e4583a9f7934961f47a5c4bba6ea779dce95635) cri: do not re-tag restored checkpoints * [`6e4ec908a`](https://github.com/containerd/containerd/commit/6e4ec908add52a98cd39137beb3a5a1f3c50232b) Merge commit from fork * [`570e69884`](https://github.com/containerd/containerd/commit/570e69884650eb6b0bcee19edd812428adbac8c2) cri: make checkpoint restore robust to unexpected archive content * [`3788b4b9e`](https://github.com/containerd/containerd/commit/3788b4b9e0555e0967d4aebd9562a8312fca135f) Merge commit from fork * [`290420fa7`](https://github.com/containerd/containerd/commit/290420fa7bbe3c77f5b8e96f6a7946ec3d6cb188) Bound user-database file reads in openBoundedUserFile * [`bc5014f45`](https://github.com/containerd/containerd/commit/bc5014f451157074562015677d2bf9633de7fb6a) Merge commit from fork * [`429bcb924`](https://github.com/containerd/containerd/commit/429bcb924c278571f3d135933f562a87af1b6a53) Do not propagate reserved labels from image configs * update runc binary to v1.3.6 ([#13616](https://github.com/containerd/containerd/pull/13616)) * [`698f2fd66`](https://github.com/containerd/containerd/commit/698f2fd664b09497f7b2c4d63b21ba97debd2f5b) update runc binary to v1.3.6 * update go to 1.26.4/1.25.11 ([#13578](https://github.com/containerd/containerd/pull/13578)) * [`b8b75a90e`](https://github.com/containerd/containerd/commit/b8b75a90ef06d91f96dbea5d56fcabe00ad376bf) update go to 1.26.4/1.25.11 * Configure udevd children-max for root-test ([#13566](https://github.com/containerd/containerd/pull/13566)) * [`22515b56f`](https://github.com/containerd/containerd/commit/22515b56fb7c242cf5629f7a9d53537dc77ae42b) Configure udevd children-max for root-test * Clean up disk space in node e2e workflow ([#13554](https://github.com/containerd/containerd/pull/13554)) * [`af88d4f60`](https://github.com/containerd/containerd/commit/af88d4f604da9b62dbf61dac72e5835e51ebf474) Clean up disk space in node e2e workflow * [github-action] release - Empty allowedSignersFile ([#13517](https://github.com/containerd/containerd/pull/13517)) * [`06d _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.1.9]_ ### v2.0.10 — containerd 2.0.10 - Date: 2026-06-18 - Version: v2.0.10 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.0.10 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.0.10 - **security** — Fix CVE-2026-53488 - **security** — Fix CVE-2026-47262 - **fixed** — Bound user-database file reads in openBoundedUserFile - **fixed** — Do not propagate reserved labels from image configs - **changed** — Update runc binary to v1.3.6 - **changed** — Update Go to 1.26.4 and 1.25.11 Welcome to the v2.0.10 release of containerd! The tenth patch release for containerd 2.0 includes various bug fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-53488**](https://github.com/containerd/containerd/security/advisories/GHSA-xhf5-7wjv-pqxp) * [**CVE-2026-47262**](https://github.com/containerd/containerd/security/advisories/GHSA-jpcc-p29g-p8mq) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Chris Henzie * Akhil Mohan * Akihiro Suda * Ben Cressey * Davanum Srinivas * Paweł Gronowski * Sebastiaan van Stijn ###### Changes

17 commits

* Prepare release notes for v2.0.10 ([#13630](https://github.com/containerd/containerd/pull/13630)) * [`cbbd21672`](https://github.com/containerd/containerd/commit/cbbd21672287cdb7f1a01c7af414ac73637f14ca) Prepare release notes for v2.0.10 * [`200a4005f`](https://github.com/containerd/containerd/commit/200a4005fc5d64e9e0dc1bb5f2991f160f7263ed) Merge commit from fork * [`da4098647`](https://github.com/containerd/containerd/commit/da40986474287efcd4c6a39ac03bc098c25ef0a9) Merge commit from fork * [`03a19324f`](https://github.com/containerd/containerd/commit/03a19324f9903a12805cab5df83b38313603d542) Bound user-database file reads in openBoundedUserFile * [`126177ea4`](https://github.com/containerd/containerd/commit/126177ea411500d7a73da1def31e53a74660c44d) Merge commit from fork * [`bbf4a2b8e`](https://github.com/containerd/containerd/commit/bbf4a2b8e6c89483ff1b631f5814197fc8d99a0c) Do not propagate reserved labels from image configs * update runc binary to v1.3.6 ([#13619](https://github.com/containerd/containerd/pull/13619)) * [`a15e98122`](https://github.com/containerd/containerd/commit/a15e98122d2551af8af379106a72372aff9ba0b9) update runc binary to v1.3.6 * [`ba2ed2a5e`](https://github.com/containerd/containerd/commit/ba2ed2a5e5b5a5c8d8111c56a607a53a0423b5cf) [release/2.2] update runc binary to v1.3.5 * [`474184497`](https://github.com/containerd/containerd/commit/474184497e5bc61256e530a4210eda2d8e03e100) runc: Update runc binary to v1.3.4 * update go to 1.26.4/1.25.11 ([#13581](https://github.com/containerd/containerd/pull/13581)) * [`becbb802e`](https://github.com/containerd/containerd/commit/becbb802ec9a1453f21262102d4cc12298c3c740) update go to 1.26.4/1.25.11 * Configure udevd children-max for root-test ([#13565](https://github.com/containerd/containerd/pull/13565)) * [`55bdc8bc5`](https://github.com/containerd/containerd/commit/55bdc8bc5b0de8b975c7f5328f609dc5ad79b3b7) Configure udevd children-max for root-test * Clean up disk space in node e2e workflow ([#13553](https://github.com/containerd/containerd/pull/13553)) * [`6d81e8867`](https://github.com/containerd/containerd/commit/6d81e88679f88daaa0612849edb5c8afd96a3432) Clean up disk space in node e2e workflow

###### Dependency Changes This release has no dependency changes Previous release can be found at [v2.0.9](https://github.com/containerd/containerd/releases/tag/v2.0.9) ###### Which file should I download? * `containerd---.tar.gz`: ✅Recommended. Dynamically linked with glibc 2.31 (Ubuntu 20.04). * `containerd-static---.tar.gz`: Statically linked. Expected to be used on non-glibc Linux distributions. Not position-independent. In addition to containerd, typically you will have to install [runc](https://github.com/opencontainers/runc/releases) and [CNI plugins](https://github.com/containernetworking/plugins/releases) from their official sites too. See also the [Getting Started](https://github.com/containerd/containerd/blob/main/docs/getting-started.md) documentation. ### v2.3.2 — containerd 2.3.2 - Date: 2026-06-18 - Version: v2.3.2 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.3.2 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.3.2 - **security** — Fix CVE-2026-50195 - **security** — Fix CVE-2026-53488 - **security** — Fix CVE-2026-53492 - **security** — Fix CVE-2026-53489 - **security** — Fix CVE-2026-47262 - **fixed** — Fix data race when reading shim logs on Windows - **changed** — Allow the last host to retry on transient network errors - **fixed** — Fix container startup failures caused by concurrent task RPC timeouts during slow container creation - **fixed** — Filter CDI annotations on checkpoint restore - **fixed** — Do not re-tag restored checkpoints - **fixed** — Make checkpoint restore robust to unexpected archive content - **fixed** — Bound user-database file reads in openUserFile - **fixed** — Do not propagate reserved labels from image configs - **changed** — Update golang.org/x/crypto to v0.53.0 - **changed** — Update golang.org/x/mod to v0.36.0 - **changed** — Update golang.org/x/net to v0.55.0 - **changed** — Update golang.org/x/sync to v0.21.0 - **changed** — Update golang.org/x/sys to v0.46.0 - **changed** — Update golang.org/x/term to v0.44.0 Welcome to the v2.3.2 release of containerd! The second patch release for containerd 2.3 contains various fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-50195**](https://github.com/containerd/containerd/security/advisories/GHSA-cvxm-645q-p574) * [**CVE-2026-53488**](https://github.com/containerd/containerd/security/advisories/GHSA-xhf5-7wjv-pqxp) * [**CVE-2026-53492**](https://github.com/containerd/containerd/security/advisories/GHSA-33vj-92qq-66hc) * [**CVE-2026-53489**](https://github.com/containerd/containerd/security/advisories/GHSA-rgh6-rfwx-v388) * [**CVE-2026-47262**](https://github.com/containerd/containerd/security/advisories/GHSA-jpcc-p29g-p8mq) ###### Highlights * Fix a data race when reading shim logs on Windows ([#13522](https://github.com/containerd/containerd/pull/13522)) ###### Image Distribution * Allow the last host to retry on transient network errors ([#13591](https://github.com/containerd/containerd/pull/13591)) ###### Runtime * Fix container startup failures caused by concurrent task RPC timeouts during slow container creation ([#13512](https://github.com/containerd/containerd/pull/13512)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Chris Henzie * Akihiro Suda * Derek McGowan * Akhil Mohan * Austin Vazquez * Ben Cressey * Brian Goff * Maksym Pavlenko * Sebastiaan van Stijn * Sergey Kanzhelev ###### Changes
30 commits

* Prepare release notes for v2.3.2 ([#13627](https://github.com/containerd/containerd/pull/13627)) * [`fb8ca00b0`](https://github.com/containerd/containerd/commit/fb8ca00b051fa9a9187502b16620fdb46595f1b7) Prepare release notes for v2.3.2 * [`9c69960ba`](https://github.com/containerd/containerd/commit/9c69960ba495c0aa08797be3f17b3c7712d17a22) Merge commit from fork * [`0f6251520`](https://github.com/containerd/containerd/commit/0f6251520569a25f0b52158a97d035726e6af9d2) Merge commit from fork * [`91d7471e2`](https://github.com/containerd/containerd/commit/91d7471e2cc7113c31dbcc62007756ba88f8cf9f) cri: filter CDI annotations on checkpoint restore * [`7c2e086bf`](https://github.com/containerd/containerd/commit/7c2e086bf31a4402cc19817df3b05ffd74d454e6) Merge commit from fork * [`dae67765f`](https://github.com/containerd/containerd/commit/dae67765f2d51ca3e67190c26e51edf496dd4cf4) cri: do not re-tag restored checkpoints * [`94aa1e2c1`](https://github.com/containerd/containerd/commit/94aa1e2c1a6ebadf2578fabe85ba7845e1e553c0) Merge commit from fork * [`09599078f`](https://github.com/containerd/containerd/commit/09599078f66bb98f6e83087893e3f2349b019fe7) cri: make checkpoint restore robust to unexpected archive content * [`e1fdb8d22`](https://github.com/containerd/containerd/commit/e1fdb8d221a27ce017264875e3658d021511ba0c) Merge commit from fork * [`ff1d116ef`](https://github.com/containerd/containerd/commit/ff1d116ef9c2d7505306d7d367ef46ff0756460b) Bound user-database file reads in openUserFile * [`d156e07cb`](https://github.com/containerd/containerd/commit/d156e07cbe61331f77b72e3603d8b6d67dda59e5) Merge commit from fork * [`f99aad54a`](https://github.com/containerd/containerd/commit/f99aad54af507168a1393dfae1559fde4cae9b2c) Do not propagate reserved labels from image configs * vendor: golang.org/x/crypto v0.53.0 ([#13608](https://github.com/containerd/containerd/pull/13608)) * [`0b9469501`](https://github.com/containerd/containerd/commit/0b9469501257584fc8ff32c8160dbda3501e99cc) [release/2.3] vendor: golang.org/x/crypto v0.53.0 * resolver: retry on transient network errors ([#13591](https://github.com/containerd/containerd/pull/13591)) * [`983bbddc1`](https://github.com/containerd/containerd/commit/983bbddc139c607700259a2bec519e7026018c6f) resolver: retry on transient network errors * update runc binary to v1.4.3 ([#13601](https://github.com/containerd/containerd/pu _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.3.2]_ ### v2.2.5 — containerd 2.2.5 - Date: 2026-06-18 - Version: v2.2.5 - Original notes: https://github.com/containerd/containerd/releases/tag/v2.2.5 - Permalink: https://whatsnew.fyi/product/containerd/releases/v2.2.5 - **security** — Fix CVE-2026-50195 - **security** — Fix CVE-2026-53488 - **security** — Fix CVE-2026-53492 - **security** — Fix CVE-2026-53489 - **security** — Fix CVE-2026-47262 - **fixed** — Filter CDI annotations on checkpoint restore - **fixed** — Do not re-tag restored checkpoints - **fixed** — Make checkpoint restore robust to unexpected archive content - **fixed** — Bound user-database file reads in openUserFile - **fixed** — Do not propagate reserved labels from image configs - **changed** — Update golang.org/x/crypto to v0.53.0 - **changed** — Update golang.org/x/mod to v0.36.0 - **changed** — Update golang.org/x/net to v0.55.0 - **changed** — Update golang.org/x/sync to v0.21.0 - **changed** — Update golang.org/x/sys to v0.46.0 - **changed** — Update golang.org/x/term to v0.44.0 - **changed** — Update golang.org/x/text to v0.38.0 - **changed** — Update runc binary to v1.3.6 - **changed** — Update Go to 1.26.4/1.25.11 Welcome to the v2.2.5 release of containerd! The fifth patch release for containerd 2.2 contains various fixes and updates including security patches. ###### Security Updates * **containerd** * [**CVE-2026-50195**](https://github.com/containerd/containerd/security/advisories/GHSA-cvxm-645q-p574) * [**CVE-2026-53488**](https://github.com/containerd/containerd/security/advisories/GHSA-xhf5-7wjv-pqxp) * [**CVE-2026-53492**](https://github.com/containerd/containerd/security/advisories/GHSA-33vj-92qq-66hc) * [**CVE-2026-53489**](https://github.com/containerd/containerd/security/advisories/GHSA-rgh6-rfwx-v388) * [**CVE-2026-47262**](https://github.com/containerd/containerd/security/advisories/GHSA-jpcc-p29g-p8mq) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ###### Contributors * Samuel Karp * Chris Henzie * Akihiro Suda * Derek McGowan * Maksym Pavlenko * Akhil Mohan * Ben Cressey * Brian Goff * Davanum Srinivas * Sebastiaan van Stijn ###### Changes

27 commits

* Prepare release notes for v2.2.5 ([#13628](https://github.com/containerd/containerd/pull/13628)) * [`269031099`](https://github.com/containerd/containerd/commit/269031099e51bd875bc8097b79a41fd00af08a28) Prepare release notes for v2.2.5 * [`ad59aa564`](https://github.com/containerd/containerd/commit/ad59aa5647ac505a97965f521e21fcd4f9403631) Merge commit from fork * [`0b4d23690`](https://github.com/containerd/containerd/commit/0b4d23690ead6f34fb990155e1cc19d27f906370) Merge commit from fork * [`be8460656`](https://github.com/containerd/containerd/commit/be8460656b84c4a1a4b244a03801e9fff1e914d3) cri: filter CDI annotations on checkpoint restore * [`347240f72`](https://github.com/containerd/containerd/commit/347240f72479246a801ea4ec4304e180ac45b85e) Merge commit from fork * [`cff578841`](https://github.com/containerd/containerd/commit/cff57884176a1e6ba0857a417753d799958e0f46) cri: do not re-tag restored checkpoints * [`668cf2c2f`](https://github.com/containerd/containerd/commit/668cf2c2fd0d9c6394f2aa95c44c4735c353d380) Merge commit from fork * [`357652293`](https://github.com/containerd/containerd/commit/357652293053d0cd3ed565f718b0050aa662ae1a) cri: make checkpoint restore robust to unexpected archive content * [`d43da05af`](https://github.com/containerd/containerd/commit/d43da05af9b515b89740889a84a91c8ed27a73f0) Merge commit from fork * [`30708e8d1`](https://github.com/containerd/containerd/commit/30708e8d1142287e9c6bb839f1b3f84c71ca4485) Bound user-database file reads in openUserFile * [`028647ea2`](https://github.com/containerd/containerd/commit/028647ea2597eb3f7add39c6171b62768e0be74c) Merge commit from fork * [`b6072a49f`](https://github.com/containerd/containerd/commit/b6072a49f8d3f6efc5ac9895efbb1852b16a2602) Do not propagate reserved labels from image configs * vendor: golang.org/x/crypto v0.53.0 ([#13607](https://github.com/containerd/containerd/pull/13607)) * [`cfea2c141`](https://github.com/containerd/containerd/commit/cfea2c1413a55243e5d8db9def5ed5e3e595894e) [release/2.2] vendor: golang.org/x/crypto v0.53.0 * update runc binary to v1.3.6 ([#13606](https://github.com/containerd/containerd/pull/13606)) * [`fc96ea6b3`](https://github.com/containerd/containerd/commit/fc96ea6b3fbcd8fb467914a3fe5f977a5705efff) update runc binary to v1.3.6 * update go to 1.26.4/1.25.11 ([#13577](https://github.com/containerd/containerd/pull/13577)) * [`5a125fd66`](https://github.com/containerd/containerd/commit/5a125fd66a384f1d5b2221d3e1b9cfb92d99fd58) update go to 1.26.4/1.25.11 * Configure udevd children-max for root-test ([#13567](https://github.com/containerd/containerd/pull/13567)) * [`2b7dfbd7f`](https://github.com/containerd/containerd/commit/2b7dfbd7ff229288f8b94ef73c1a26d71df39f51) Configure udevd children-max for root-test * Clean up disk space in node e2e workflow ([#13548](https://github.com/containerd/containerd/pull/13548)) * [` _[Truncated at 4000 characters — full notes: https://github.com/containerd/containerd/releases/tag/v2.2.5]_