containerd v2.4.0-beta.0

v2.4.0-beta.0Pre-release

containerd 2.4.0-beta.0

Added 6
  • Include media type in content create event
  • Support warm image cache for erofs snapshotter
  • Add parent path to runc checkpoint options
  • Introspect OCI runtime features for non-runc runtimes
  • Add forward References to the GC collection context
  • Add max size label for snapshots
Changed 1
  • Use klauspost/compress/gzip for decode
Fixed 1
  • Fix sandbox task API endpoints for non-runc runtimes
Removed 1
  • Remove restore in CreateContainer

Welcome to the v2.4.0-beta.0 release of containerd! This is a pre-release of containerd

containerd 2.4 is a regular (non-LTS) release with a shorter support window, intended for users who want to adopt new features sooner. As the release following the 2.3 LTS, it is the point in the release cycle where previously deprecated features may be removed, so this release may include breaking changes; check the notes below and clear any deprecation warnings from your current version before upgrading.

Users prioritizing stability and a longer support lifecycle should stay on the 2.3 LTS release.

This is a beta release and some functionality is still under development.

Highlights
  • Include media type in content create event (#13833)
  • Support warm image cache for erofs snapshotter (#13813)
  • Add parent path to runc checkpoint options (#13699)
Container Runtime Interface (CRI)
  • Introspect OCI runtime features for non-runc runtimes (#13504)
Image Distribution
  • Use klauspost/compress/gzip for decode (#13560)
Image Storage
  • Add forward References to the GC collection context (#13634)
Snapshotters
  • Add max size label for snapshots (#13520)
Breaking
  • Remove restore in CreateContainer (#13871)
Deprecations
  • Fix sandbox task API endpoints for non-runc runtimes (#13360)

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

Contributors
  • Maksym Pavlenko
  • Samuel Karp
  • Akihiro Suda
  • Derek McGowan
  • Wei Fu
  • Sebastiaan van Stijn
  • Chris Henzie
  • Paweł Gronowski
  • Mike Brown
  • Brian Goff
  • Jordan Liggitt
  • Austin Vazquez
  • Kazuyoshi Kato
  • Kir Kolyshkin
  • Phil Estes
  • Sergey Kanzhelev
  • ningmingxiao
  • Ahmet Alp Balkan
  • Akhil Mohan
  • Chris Ayoub
  • Damien Grisonnet
  • Esteban Ginez
  • Laura Lorenz
  • Maksim An
  • Abhishek Bhunia
  • Alan Grosskurth
  • Albin Kerouanton
  • Alex Lyn
  • Aman Raj
  • Amir Alavi
  • Amit Barve
  • Andrew Halaney
  • AprilNEA
  • Arjun Yogidas
  • Ayato Tokubi
  • Aysha Afrah Ziya
  • Ben Cressey
  • Bing Hongtao
  • Chris Crone
  • Craig Gumbley
  • Daniel De Graaf
  • Davanum Srinivas
  • Dr. Jan-Philip Gehrcke
  • Gao Xiang
  • Harshal Patel
  • Henry Wang
  • Kohei Tokunaga
  • Krisztian Litkey
  • LEI WANG
  • Mikhail Dmitrichenko
  • Nikolaus Schuetz
  • Paco Xu
  • Philip Laine
  • SaloniRathi
  • Tianon Gravi
  • ayush-panta
  • crawfordxx
  • cshung
  • s3onghyun
  • 归寂
  • 徐晓伟
Dependency Changes
  • cyphar.com/go-pathrs v0.2.1 -> v0.2.4
  • github.com/Microsoft/hcsshim v0.15.0-rc.1 -> v0.15.0-rc.3
  • github.com/ProtonMail/go-crypto v1.4.1 new
  • github.com/cilium/ebpf v0.16.0 -> v0.17.3
  • github.com/cloudflare/circl v1.6.3 new
  • github.com/containerd/containerd/api v1.11.0 -> v1.12.0-beta.0
  • github.com/containerd/imgcrypt/v2 v2.0.2 -> v2.0.3
  • github.com/containerd/nri v0.12.0 -> v0.12.1
  • github.com/containerd/ttrpc v1.2.8 -> v1.2.9
  • github.com/containerd/typeurl/v2 v2.2.3 -> v2.3.0
  • github.com/containers/ocicrypt v1.2.1 -> v1.3.2
  • github.com/cyphar/filepath-securejoin v0.6.0 -> v0.6.1
  • github.com/erofs/go-erofs v0.3.0 -> v0.3.1
  • github.com/fsnotify/fsnotify v1.9.0 -> v1.10.1
  • github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 -> v2.29.0
  • github.com/intel/goresctrl v0.12.0 -> v0.13.0
  • github.com/klauspost/compress v1.18.5 -> v1.19.1
  • github.com/mdlayher/socket v0.5.1 -> v0.6.0
  • github.com/mdlayher/vsock v1.2.1 -> v1.3.0
  • github.com/miekg/pkcs11 v1.1.1 -> v1.1.2
  • github.com/moby/sys/user v0.4.0 -> v0.4.1
  • github.com/opencontainers/selinux v1.13.1 -> v1.15.1
  • github.com/pelletier/go-toml/v2 v2.3.0 -> v2.4.3
  • github.com/prometheus/client_golang v1.23.2 -> v1.24.0
  • github.com/prometheus/common v0.67.5 -> v0.70.0
  • github.com/prometheus/procfs v0.19.2 -> v0.21.1
  • github.com/smallstep/pkcs7 v0.1.1 -> v0.2.1
  • go.etcd.io/bbolt v1.4.3 -> v1.5.0
  • go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.68.0 -> v0.69.0
  • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.68.0 -> v0.69.0
  • go.opentelemetry.io/otel v1.43.0 -> v1.44.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 -> v1.44.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.43.0 -> v1.44.0
  • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 -> v1.44.0
  • go.opentelemetry.io/otel/metric v1.43.0 -> v1.44.0
  • go.opentelemetry.io/otel/sdk v1.43.0 -> v1.44.0
  • go.opentelemetry.io/otel/trace v1.43.0 -> v1.44.0
  • go.yaml.in/yaml/v2 v2.4.3 -> v2.4.4
  • go.yaml.in/yaml/v3 v3.0.4 new
  • golang.org/x/crypto v0.49.0 -> v0.53.0
  • golang.org/x/mod v0.35.0 -> v0.38.0
  • golang.org/x/net v0.52.0 -> v0.56.0
  • golang.org/x/oauth2 v0.35.0 -> v0.36.0
  • golang.org/x/sync v0.20.0 -> v0.22.0
  • golang.org/x/sys v0.43.0 -> v0.47.0
  • golang.org/x/term v0.41.0 -> v0.44.0
  • golang.org/x/text v0.35.0 -> v0.38.0
  • google.golang.org/genproto/googleapis/api 9d38bb4040a9 -> 3dc84a4a5aaa
  • google.golang.org/genproto/googleapis/rpc 6f92a3bedf2d -> 3dc84a4a5aaa
  • google.golang.org/grpc v1.80.0 -> v1.82.1
  • k8s.io/api v0.36.0 -> v0.36.3
  • k8s.io/apimachinery v0.36.0 -> v0.36.3
  • k8s.io/client-go v0.36.0 -> v0.36.3
  • k8s.io/component-base v0.36.0 -> v0.36.3
  • k8s.io/cri-api v0.36.0 -> v0.36.3
  • k8s.io/cri-client v0.36.0 -> v0.36.3
  • k8s.io/cri-streaming v0.36.0 -> v0.36.3
  • sigs.k8s.io/structured-merge-diff/v6 v6.3.2 -> v6.3.3
  • tags.cncf.io/container-device-interface v1.1.0 -> 49ac08dcf160

Previous release can be found at v2.3.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.

View original

Upgraded? How did it go?

Discussion