github containerd/containerd v2.1.0-rc.1
containerd 2.1.0-rc.1

latest releases: v2.1.4, v2.0.6, v1.7.28...
pre-release4 months ago

Welcome to the v2.1.0-rc.1 release of containerd!
This is a pre-release of containerd

The first minor release of containerd 2.x focuses on continued stability alongside
new features and improvements. This is the first time-based released for containerd.
Most the feature set and core functionality has long been stable and harderened in production
environments, so now we transition to a balance of timely delivery of new functionality
with the same high confidence in stability and performance.

Highlights

  • Add no_sync option to boost boltDB performance on ephemeral environments (#10745)
  • Add content create event (#11006)
  • Erofs snapshotter and differ (#10705)

Container Runtime Interface (CRI)

  • Update CRI to use transfer service for image pull by default (#8515)
  • Support multiple cni plugin bin dirs (#11311)
  • Support container restore through CRI/Kubernetes (#10365)
  • Add OCI/Image Volume Source support (#10579)
  • Enable Writable cgroups for unprivileged containers (#11131)
  • Fix recursive RLock() mutex acquisition (containerd/go-cni#126)
  • Support CNI STATUS Verb (containerd/go-cni#123)

Image Distribution

  • Retry last registry host on 50x responses (#11484)
  • Multipart layer fetch (#10177)
  • Enable HTTP debug and trace for transfer based puller (#10762)
  • Add support for unpacking custom media types (#11744)
  • Add dial timeout field to hosts toml configuration (#11106)

Node Resource Interface (NRI)

  • Expose Pod assigned IPs to NRI plugins (#10921)

Runtime

Breaking

  • Update FreeBSD defaults and re-organize platform defaults (#11017)

Deprecations

  • Postpone cri config deprecations to v2.2 (#11684)
  • Remove deprecated dynamic library plugins (#11683)
  • Remove the support for Schema 1 images (#11681)

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

Contributors

  • Phil Estes
  • Derek McGowan
  • Akihiro Suda
  • Maksym Pavlenko
  • Jin Dong
  • Wei Fu
  • Sebastiaan van Stijn
  • Samuel Karp
  • Mike Brown
  • Adrien Delorme
  • Akhil Mohan
  • Austin Vazquez
  • Kazuyoshi Kato
  • Henry Wang
  • Gao Xiang
  • ningmingxiao
  • Krisztian Litkey
  • Yang Yang
  • Archit Kulkarni
  • Chris Henzie
  • Iceber Gu
  • Alexey Lunev
  • Antonio Ojea
  • Davanum Srinivas
  • Marat Radchenko
  • Michael Zappa
  • Paweł Gronowski
  • Rodrigo Campos
  • Alberto Garcia Hierro
  • Amit Barve
  • Andrey Smirnov
  • Divya
  • Etienne Champetier
  • Kirtana Ashok
  • Philip Laine
  • QiPing Wan
  • fengwei0328
  • zounengren
  • Adrian Reber
  • Alfred Wingate
  • Amal Thundiyil
  • Athos Ribeiro
  • Austin Vazquez
  • Brian Goff
  • Cesar Talledo
  • ChengyuZhu6
  • Chongyi Zheng
  • Craig Ingram
  • Danny Canter
  • David Son
  • Fupan Li
  • HirazawaUi
  • Jing Xu
  • Jonathan A. Sternberg
  • Jose Fernandez
  • Kaita Nakamura
  • Kohei Tokunaga
  • Lei Liu
  • Marco Visin
  • Mike Baynton
  • Qiyuan Liang
  • Sameer
  • Shiming Zhang
  • Swagat Bora
  • Teresaliu
  • Tony Fang
  • Tõnis Tiigi
  • Vered Rosen
  • Vinayak Goyal
  • bo.jiang
  • chriskery
  • luchenhan
  • mahmut
  • zhaixiaojuan

Dependency Changes

  • github.com/Microsoft/hcsshim v0.12.9 -> v0.13.0-rc.3
  • github.com/cilium/ebpf v0.11.0 -> v0.16.0
  • github.com/containerd/cgroups/v3 v3.0.3 -> v3.0.5
  • github.com/containerd/containerd/api v1.8.0 -> v1.9.0-rc.0
  • github.com/containerd/continuity v0.4.4 -> v0.4.5
  • github.com/containerd/go-cni v1.1.10 -> v1.1.12
  • github.com/containerd/imgcrypt/v2 v2.0.0-rc.1 -> v2.0.1
  • github.com/containerd/otelttrpc ea5083fda723 -> v0.1.0
  • github.com/containerd/platforms v1.0.0-rc.0 -> v1.0.0-rc.1
  • github.com/containerd/ttrpc v1.2.6 -> v1.2.7
  • github.com/containerd/typeurl/v2 v2.2.2 -> v2.2.3
  • github.com/containernetworking/cni v1.2.3 -> v1.3.0
  • github.com/containernetworking/plugins v1.5.1 -> v1.7.1
  • github.com/containers/ocicrypt v1.2.0 -> v1.2.1
  • github.com/davecgh/go-spew d8f796af33cc -> v1.1.1
  • github.com/fsnotify/fsnotify v1.7.0 -> v1.9.0
  • github.com/go-jose/go-jose/v4 v4.0.4 -> v4.0.5
  • github.com/google/go-cmp v0.6.0 -> v0.7.0
  • github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 -> v2.26.1
  • github.com/klauspost/compress v1.17.11 -> v1.18.0
  • github.com/mdlayher/socket v0.4.1 -> v0.5.1
  • github.com/moby/spdystream v0.4.0 -> v0.5.0
  • github.com/moby/sys/user v0.3.0 -> v0.4.0
  • github.com/opencontainers/image-spec v1.1.0 -> v1.1.1
  • github.com/opencontainers/runtime-spec v1.2.0 -> v1.2.1
  • github.com/opencontainers/selinux v1.11.1 -> v1.12.0
  • github.com/pelletier/go-toml/v2 v2.2.3 -> v2.2.4
  • github.com/petermattis/goid 4fcff4a6cae7 new
  • github.com/pmezard/go-difflib 5d4384ee4fb2 -> v1.0.0
  • github.com/prometheus/client_golang v1.20.5 -> v1.22.0
  • github.com/prometheus/common v0.55.0 -> v0.62.0
  • github.com/sasha-s/go-deadlock v0.3.5 new
  • github.com/smallstep/pkcs7 v0.1.1 new
  • github.com/stretchr/testify v1.9.0 -> v1.10.0
  • github.com/tchap/go-patricia/v2 v2.3.1 -> v2.3.2
  • github.com/urfave/cli/v2 v2.27.5 -> v2.27.6
  • github.com/vishvananda/netlink v1.3.0 -> 0e7078ed04c8
  • github.com/vishvananda/netns v0.0.4 -> v0.0.5
  • go.etcd.io/bbolt v1.3.11 -> v1.4.0
  • go.opentelemetry.io/auto/sdk v1.1.0 new
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 -> v0.60.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 -> v0.60.0
  • go.opentelemetry.io/otel v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/metric v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/sdk v1.31.0 -> v1.35.0
  • go.opentelemetry.io/otel/trace v1.31.0 -> v1.35.0
  • go.opentelemetry.io/proto/otlp v1.3.1 -> v1.5.0
  • golang.org/x/crypto v0.28.0 -> v0.36.0
  • golang.org/x/exp aacd6d4b4611 -> 2d47ceb2692f
  • golang.org/x/mod v0.21.0 -> v0.24.0
  • golang.org/x/net v0.30.0 -> v0.38.0
  • golang.org/x/oauth2 v0.22.0 -> v0.27.0
  • golang.org/x/sync v0.8.0 -> v0.14.0
  • golang.org/x/sys v0.26.0 -> v0.33.0
  • golang.org/x/term v0.25.0 -> v0.30.0
  • golang.org/x/text v0.19.0 -> v0.23.0
  • golang.org/x/time v0.3.0 -> v0.7.0
  • google.golang.org/genproto/googleapis/api 5fefd90f89a9 -> 56aae31c358a
  • google.golang.org/genproto/googleapis/rpc 324edc3d5d38 -> 56aae31c358a
  • google.golang.org/grpc v1.67.1 -> v1.72.0
  • google.golang.org/protobuf v1.35.1 -> v1.36.6
  • k8s.io/api v0.31.2 -> v0.32.3
  • k8s.io/apimachinery v0.31.2 -> v0.32.3
  • k8s.io/apiserver v0.31.2 -> v0.32.3
  • k8s.io/client-go v0.31.2 -> v0.32.3
  • k8s.io/cri-api v0.31.2 -> v0.32.3
  • k8s.io/kubelet v0.31.2 -> v0.32.3
  • k8s.io/utils 18e509b52bc8 -> 3ea5e8cea738
  • sigs.k8s.io/json bc3834ca7abd -> 9aa6b5e7a4b3
  • sigs.k8s.io/structured-merge-diff/v4 v4.4.1 -> v4.4.2
  • tags.cncf.io/container-device-interface v0.8.0 -> v1.0.1
  • tags.cncf.io/container-device-interface/specs-go v0.8.0 -> v1.0.0

Previous release can be found at v2.0.0

Which file should I download?

  • containerd-<VERSION>-<OS>-<ARCH>.tar.gz: ✅Recommended. Dynamically linked with glibc 2.35 (Ubuntu 22.04).
  • containerd-static-<VERSION>-<OS>-<ARCH>.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
and CNI plugins from their official sites too.

See also the Getting Started documentation.

Don't miss a new containerd release

NewReleases is sending notifications on new releases.