Kubernetes

containerd point release disables CreateContainer checkpoint-restore and enables UserNamespacesHostNetwork

Recent containerd point release disables checkpoint-restore via CreateContainer and enables UserNamespacesHostNetwork, forcing platform teams to revalidate CRI semantics.

August 17, 2026·3 min read·AI researched · AI written · AI reviewed

containerd just changed CRI semantics in a point release.

In a recent point update, containerd has disabled checkpoint-restore via CreateContainer by default — the behavior was previously gated behind an experimental restore-via-create flag and that CreateContainer restore path is now being deprecated — and it also enables user-namespace host-networking behavior via runtimeFeatures.UserNamespacesHostNetwork. The release also tightens CRIU-dependent restore paths and adds safer handling for non-UTF-8 binary environment variables. This isn't a cosmetic tweak; it's a runtime semantics change that can alter container lifecycle behavior on clusters the moment operators roll the new binaries.

Why this matters

For years, checkpoint/restore via CRIU in CreateContainer has been an experimental escape hatch: useful for some stateful workloads and VM-like workflows, but fragile across different kernels and CRIU versions. Turning the feature off by default and deprecating the CreateContainer path reduces silent restore failures and surprise state carryover, but doing it in a point release means platform teams must be deliberate about upgrades.

What to watch for:

  • If you have tooling or controllers that rely on CreateContainer performing a checkpoint restore, those workflows will stop working unless you explicitly re-enable the experimental restore-via-create option. That includes bespoke restore orchestration that assumed CreateContainer was a no-op in normal runtime flows.
  • runtimeFeatures.UserNamespacesHostNetwork=true subtly changes expectations about network setup when using user namespaces. If you run user-namespace remapping or rely on host-network semantics, test thoroughly; network policies, CNI behavior, and port binding assumptions may behave differently.
  • The CRIU path hardening means some previously accepted (but insecure or brittle) restore paths will be rejected — good for security, but potentially breaking for edge-case restore tooling.

If youre planning a Kubernetes 1.37 rollout, this is the precise kind of alignment that will bite you if ignored. Kubernetes is tightening CRI semantics and making runtime behavior more explicit; upstream guidance recommends testing container runtimes and removing deprecated or fragile workflows before upgrading. Do not treat containerd as an opaque vendor blob you can swap without testing.

Podman and quadlets

Less dramatic but equally important: a recent Podman patch fixes a quadlet install --replace truncation bug that could leave older or partial unit content on disk when replacing a unit file. If you use quadlets to manage systemd units for containers (especially on nodes that auto-update images or apply config-driven replacements), update — truncated or stale unit files are a quiet way to get surprising drift in production.

CNCF signals: automation and distribution

Behind these fixes the CNCF messaging is consistent: tighten defaults, automate upgrades, and rethink distribution. The foundation has been highlighting automated, low-friction upgrade pipelines and improvements in distribution tooling and project moves that underscore networking and distribution as operational hot spots.

Opinion

This is the right call from containerd. Hardening defaults and removing fragile behaviors should happen early, not later, even if it creates short-term churn. But the team should have made this a minor-version gate, not a patch behavior shift. Platform engineers treat patch releases as low-risk; changing runtime semantics there is going to create outages for operators who followed that convention.

If you manage clusters: run containerd 2.x tests now, grep for restore-via-create usage, and audit any quadlet workflows. Kubernetes 1.37 is the deadline; the ecosystem is converging on stricter CRI behavior and faster, more automated upgrade paths. If you don't start validating runtime semantics today, the forced alignment will hit you during your next maintenance window — and it won't be pretty.

For a tighter checklist and the broader Kubernetes timing, see the recent Kubernetes 1.37 release notes and upgrade guidance on the release candidate Kubernetes v1.37.0-rc.0 Released; 1.36.3 and 1.35.7 Patch Trains Open.

Final thought: expect more small, opinionated hardenings from runtime projects through late summer. The safer defaults are overdue — but platform teams who ignore the upstream signals will end up sprinting to undo breakage during a release freeze. That's avoidable work. Start testing now.

Sources

containerdpodmankubernetes-1-37cri
← All articles
Kubernetes

Kubernetes 1.37.0-rc.1: built with Go 1.26.5 — August patch wave delayed, containerd runtime fixes

Kubernetes v1.37.0-rc.1 built with Go 1.26.5; August patches moved to Aug 19 after GitHub cherry-pick failures. Test toolchains and runtimes before GA.

Aug 23, 2026·3mkubernetescontainerd
Kubernetes

Kubernetes v1.37 RC1 moves to Go 1.26; August patch cadence delayed by GitHub automation outage

Kubernetes v1.37 RC1 moves to Go 1.26; August patch cadence delayed by GitHub cherry-pick automation. Teams should validate toolchains and release flow.

Aug 22, 2026·3mkubernetescontainerd
Kubernetes

Kubernetes v1.37.0-rc.1: Go 1.26.5 build and August patch delay

Kubernetes v1.37.0-rc.1 built with Go 1.26.5; GitHub automation delays compressed the August patch window, forcing tighter coordination with runtimes and tooling.

Aug 21, 2026·3mkubernetesgo-1-26