Skip to content

Releases: containerd/containerd

containerd 2.1.3

19 Jun 22:39
v2.1.3
c787fb9
Compare
Choose a tag to compare

Welcome to the v2.1.3 release of containerd!

The third patch release for containerd 2.1 contains various fixes and updates
to address pull issues with some registries.

Highlights

Image Distribution

  • Fix multipart fetch issue when the server does not return content length (#12003)
  • Update transfer service supported platforms logic (#11999)
  • Fix import for local transfer service (#12000)
  • Fix registry errors with transfer service (#11979)
  • Fix fetch always adding range to requests (#12001)
  • Update fetcher errors to include full registry error (#11997)

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

Contributors

  • Derek McGowan
  • Phil Estes
  • Adrien Delorme

Changes

15 commits

  • Prepare release notes for v2.1.3 (#12002)
  • Fix multipart fetch issue when the server does not return content length (#12003)
    • 7636bd5eb fix when multipart fetching and the server does not return content length
  • Update transfer service supported platforms logic (#11999)
    • 3c5ede878 Update transfer supported platforms logic
  • Fix import for local transfer service (#12000)
    • fb752bc8e fix import for local transfer service
  • Fix registry errors with transfer service (#11979)
    • f6d926314 Register remote errors for clients to access registry errors
    • 7c1813345 Decode grpc errors in the transfer client proxy
  • Fix fetch always adding range to requests (#12001)
    • babacebad Fix fetch always adding range to requests
  • Update fetcher errors to include full registry error (#11997)
    • f30be44ad Update fetcher errors to include full registry error

Dependency Changes

This release has no dependency changes

Previous release can be found at v2.1.2

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.

containerd 2.1.2

12 Jun 13:08
v2.1.2
64ed272
Compare
Choose a tag to compare

Welcome to the v2.1.2 release of containerd!

The second patch release for containerd 2.1 contains various fixes and updates.

Highlights

  • Fix check of wrapped errors in erofs snapshotter (#11935)

Go client

  • Improve mount error message (#11884)

Image Distribution

  • Fix transfer differ selection (#11936)
  • Enable DuplicationSuppressor in transfer service (#11932)

Runtime

  • Properly shutdown non-groupable shims to prevent resource leaks (#11971)

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

Contributors

  • Derek McGowan
  • Akihiro Suda
  • Kirtana Ashok
  • Austin Vazquez
  • Maksym Pavlenko
  • ningmingxiao
  • Gao Xiang
  • Henry Wang
  • Jin Dong
  • Phil Estes
  • Wei Fu

Changes

28 commits

  • Prepare release notes for v2.1.2 (#11962)
  • Properly shutdown non-groupable shims to prevent resource leaks (#11971)
    • cff1feb28 *: properly shutdown non-groupable shims to prevent resource leaks
  • ci: bump golang [1.23.10,1.24.4] in build and release (#11968)
    • 2ce169aae ci: bump golang [1.23.10,1.24.4] in build and release
  • Backport Enable CIs to run on WS2022 and WS2025 (#11955)
    • 70bcb9b55 Enable CIs to run on WS2022 and WS2025
  • cri:use debug level when receive exec process exited events (#11848)
    • 40575a15f cri:use debug level when receive exec process exited events
  • build(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.2 (#11952)
    • c71f77170 build(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.2
  • Fix transfer differ selection (#11936)
    • 4bcea74de Update differ selection in transfer service to prefer default
    • 0c3cd8a99 Add debug log when transfer returns not implemented
    • 820e56765 Add more error details when unpack fails to extract
  • Fetch image with default platform only in TestExportAndImportMultiLayer (#11943)
    • 9b6c1949a Fetch image with default platform only in TestExportAndImportMultiLayer
  • Fix check of wrapped errors in erofs snapshotter (#11935)
    • 480126f50 erofs-snapshotter: fix to work with wrapped errors
  • Enable DuplicationSuppressor in transfer service (#11932)
    • d82921ff5 Enable DuplicationSuppressor in transfer service
  • ci: bump golang [1.23.9, 1.24.3] in build and release (#11889)
    • 0bb25c3d6 ci: bump golang [1.23.9, 1.24.3] in build and release
  • Improve mount error message (#11884)
    • ac8e84efc client:improve mount error message
  • Add symlink breakout test for overriden path (#11887)
    • dd2ce49d0 Add symlink breakout test for overriden path

Dependency Changes

  • google.golang.org/grpc v1.72.0 -> v1.72.2

Previous release can be found at v2.1.1

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.

containerd 2.1.1

20 May 18:01
v2.1.1
cb10766
Compare
Choose a tag to compare

Welcome to the v2.1.1 release of containerd!

The first patch release for containerd 2.1 fixes a critical vulnernability (CVE-2025-47290)
which was first introduced in 2.1.0. See the Github Advisory
for more details. This release also contains a few smaller updates and bux fixes.

Highlights

Image Storage

  • Fix erofs media type handling (#11855)

Runtime

  • Reduce shim cleanup log level and add more context (#11831)

Deprecations

  • Update removal version for deprecated registry config fields (#11835)

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

Contributors

  • Akihiro Suda
  • Samuel Karp
  • Derek McGowan
  • Gao Xiang
  • Akhil Mohan
  • Chris Henzie
  • Phil Estes
  • Sebastiaan van Stijn
  • ningmingxiao

Changes

17 commits

  • cb1076646 Merge commit from fork
  • 216667ba0 Prepare release notes for 2.1.1
  • ac00b8e61 Revert "perf(applyNaive): avoid walking the tree for each file in the same directory"
  • build(deps): bump github.com/Microsoft/hcsshim (#11847)
    • 444ca17cd update runhcs version to v0.13.0
    • 0684f1c44 build(deps): bump github.com/Microsoft/hcsshim
  • Fix erofs media type handling (#11855)
    • e1817a401 docs/snapshotters/erofs.md: a tip for improved performance
    • 2168cb92c erofs-differ: fix EROFS native image support
  • Reduce shim cleanup log level and add more context (#11831)
    • 7fcbc3c46 core/runtime/v2: cleanup shim-cleanup logs
  • Update removal version for deprecated registry config fields (#11835)
    • 37d6c4236 Update removal version for deprecated registry config fields
  • ctr:make sure containerd socket exist before create client (#11827)
    • e7be076d4 ctr:make sure containerd socket exist before create client
  • .github: mark 2.1 releases as latest (#11821)
    • c90524d5f .github: mark 2.1 releases as latest

Dependency Changes

  • github.com/Microsoft/hcsshim v0.13.0-rc.3 -> v0.13.0

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

containerd 2.1.0

07 May 18:31
v2.1.0
061792f
Compare
Choose a tag to compare

Welcome to the v2.1.0 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

  • Derek McGowan
  • Phil Estes
  • Akihiro Suda
  • Maksym Pavlenko
  • Jin Dong
  • Wei Fu
  • Sebastiaan van Stijn
  • Samuel Karp
  • Mike Brown
  • Adrien Delorme
  • Austin Vazquez
  • Akhil Mohan
  • 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
  • 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
  • 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.o...
Read more

containerd 2.1.0-rc.1

07 May 00:08
v2.1.0-rc.1
5a3bbca
Compare
Choose a tag to compare
containerd 2.1.0-rc.1 Pre-release
Pre-release

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 ...
Read more

containerd API 1.9.0

07 May 16:39
api/v1.9.0
9033738
Compare
Choose a tag to compare

Welcome to the api/v1.9.0 release of containerd!

The 10th release for the containerd 1.x API aligns with the containerd 2.1 release.

Highlights

  • Add content create event (#11006)

Image Distribution

  • Enable HTTP debug and trace for transfer based puller (#10762)

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

Contributors

  • Derek McGowan
  • Maksym Pavlenko
  • Akihiro Suda
  • Davanum Srinivas
  • Phil Estes
  • Adrian Reber
  • Jin Dong
  • Philip Laine

Changes

18 commits

  • Prepare release notes for api/v1.9.0 (#11812)
    • 145175bf4 Prepare release notes for api/v1.9.0
  • Add release notes for api v1.9.0-rc.0 (#11751)
    • c0ce618a1 Add release notes for api v1.9.0-rc.0
  • Enable HTTP debug and trace for transfer based puller (#10762)
  • Add content create event (#11006)
  • bump golang.org/x/net from 0.33.0 to 0.37.0 (#11574)
  • Support container restore through CRI/Kubernetes (#10365)
    • 9e6beafd5 Support container restore through CRI/Kubernetes
  • build(deps): bump golang.org/x/net from 0.23.0 to 0.33.0 in /api (#11472)
    • 37fe1e8b4 build(deps): bump golang.org/x/net from 0.23.0 to 0.33.0 in /api
  • Bump to newer opencontainers/image-spec @ v1.1.1 (#11461)
    • d37ea6977 Bump to newer opencontainers/image-spec @ v1.1.1

Dependency Changes

  • github.com/opencontainers/image-spec v1.1.0 -> v1.1.1
  • golang.org/x/net v0.23.0 -> v0.37.0
  • golang.org/x/sys v0.18.0 -> v0.31.0
  • golang.org/x/text v0.14.0 -> v0.23.0
  • gopkg.in/yaml.v3 v3.0.1 new

Previous release can be found at api/v1.8.0

containerd 2.1.0-rc.0

25 Apr 17:52
v2.1.0-rc.0
e29f23e
Compare
Choose a tag to compare
containerd 2.1.0-rc.0 Pre-release
Pre-release

Welcome to the v2.1.0-rc.0 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

  • 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

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
  • Austin Vazquez
  • Mike Brown
  • Kazuyoshi Kato
  • Akhil Mohan
  • Henry Wang
  • Adrien Delorme
  • Gao Xiang
  • ningmingxiao
  • Krisztian Litkey
  • Archit Kulkarni
  • Chris Henzie
  • Iceber Gu
  • Yang Yang
  • Alexey Lunev
  • Antonio Ojea
  • Davanum Srinivas
  • Marat Radchenko
  • Michael Zappa
  • Paweł Gronowski
  • 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
  • Brian Goff
  • Cesar Talledo
  • ChengyuZhu6
  • Chongyi Zheng
  • Craig Ingram
  • 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
  • Teresaliu
  • Tony Fang
  • Tõnis Tiigi
  • Vered Rosen
  • 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.6.2
  • 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/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.13.0
  • golang.org/x/sys v0.26.0 -> v0.32.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 ...
Read more

containerd API 1.9.0-rc.0

24 Apr 23:04
api/v1.9.0-rc.0
11524ef
Compare
Choose a tag to compare
Pre-release

Welcome to the api/v1.9.0-rc.0 release of containerd!
This is a pre-release of containerd

The 10th release for the containerd 1.x API aligns with the containerd 2.1 release.

Highlights

  • Enable HTTP debug and trace for transfer based puller (#10762)
  • Add content create event (#11006)

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

Contributors

  • Derek McGowan
  • Maksym Pavlenko
  • Akihiro Suda
  • Davanum Srinivas
  • Phil Estes
  • Adrian Reber
  • Jin Dong
  • Philip Laine

Changes

16 commits

  • Add release notes for api v1.9.0-rc.0 (#11751)
    • c0ce618a1 Add release notes for api v1.9.0-rc.0
  • Enable HTTP debug and trace for transfer based puller (#10762)
  • Add content create event (#11006)
  • bump golang.org/x/net from 0.33.0 to 0.37.0 (#11574)
  • Support container restore through CRI/Kubernetes (#10365)
    • 9e6beafd5 Support container restore through CRI/Kubernetes
  • build(deps): bump golang.org/x/net from 0.23.0 to 0.33.0 in /api (#11472)
    • 37fe1e8b4 build(deps): bump golang.org/x/net from 0.23.0 to 0.33.0 in /api
  • Bump to newer opencontainers/image-spec @ v1.1.1 (#11461)
    • d37ea6977 Bump to newer opencontainers/image-spec @ v1.1.1

Dependency Changes

  • github.com/opencontainers/image-spec v1.1.0 -> v1.1.1
  • golang.org/x/net v0.23.0 -> v0.37.0
  • golang.org/x/sys v0.18.0 -> v0.31.0
  • golang.org/x/text v0.14.0 -> v0.23.0
  • gopkg.in/yaml.v3 v3.0.1 new

Previous release can be found at api/v1.8.0

containerd 2.0.5

17 Apr 19:48
v2.0.5
fb4c30d
Compare
Choose a tag to compare

Welcome to the v2.0.5 release of containerd!

The fifth patch release for containerd 2.0 includes various bug fixes and updates.

Highlights

Build and Release Toolchain

  • Update go to 1.23.8 (#11717)

Container Runtime Interface (CRI)

  • Update ImageService to delete images synchronously (#11599)

Image Distribution

  • Prevent panic on zero length push (#11698)
  • Set default differ for the default unpack config of transfer service (#11688)

Runtime

  • Remove invalid error log when stopping container after containerd restart (#11621)
  • Update taskOptions based on runtimeOptions when creating a task (#11618)

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

Contributors

  • Akihiro Suda
  • Akhil Mohan
  • Derek McGowan
  • Phil Estes
  • Wei Fu
  • Iceber Gu
  • Austin Vazquez
  • Maksym Pavlenko
  • Cesar Talledo
  • Henry Wang
  • Jin Dong
  • Krisztian Litkey
  • Yang Yang

Changes

33 commits

  • Update go to 1.23.8 (#11717)
  • Prepare release notes for v2.0.5 (#11713)
  • Disable criu test on arm64 (#11710)
    • 58b715ad8 Disable arm64 criu testing in GH Actions
    • b4a53e826 disable portmap test in ubuntu-22 to make CI happy
    • 4bcf472de add option to skip tests in critest
  • Prevent panic on zero length push (#11698)
  • Set default differ for the default unpack config of transfer service (#11688)
    • 84d9658c3 Set default differ for the default unpack config of transfer service
  • ci: update GitHub Actions release runner to ubuntu-24.04 (#11703)
    • b184a97d3 ci: update GitHub Actions release runner to ubuntu-24.04
  • Remove invalid error log when stopping container after containerd restart (#11621)
  • Update taskOptions based on runtimeOptions when creating a task (#11618)
    • 9f46e7a44 integration/client: add tests for TaskOptions is not empty
    • 8a16a6a04 prefer task options for PluginInfo request
    • a183b2d23 update taskOptions based on runtimeOptions when creating a task
  • Update ImageService to delete images synchronously (#11599)
    • 091143135 *: CRIImageService should delete image synchronously
  • Update runc binary to v1.2.6 (#11583)
  • go.{mod,sum}: bump CDI deps to stable v1.0.0. (#11566)
    • e8506511b go.{mod,sum}: bump CDI deps to stable v1.0.0.
  • silence govulncheck false positives (#11571)
    • 4cfb89430 go.mod: github.com/go-jose/go-jose/v4
    • 2b9e6a29d go.mod: golang.org/x/oauth2 v0.28.0
    • 6df1ea0d9 go.mod: golang.org/x/net v0.37.0
  • Fix CI lint error (cherry-picked #11555) (#11567)

Dependency Changes

  • github.com/go-jose/go-jose/v4 v4.0.4 -> v4.0.5
  • golang.org/x/crypto v0.31.0 -> v0.36.0
  • golang.org/x/net v0.33.0 -> v0.37.0
  • golang.org/x/oauth2 v0.23.0 -> v0.28.0
  • golang.org/x/sync v0.10.0 -> v0.12.0
  • golang.org/x/sys v0.28.0 -> v0.31.0
  • golang.org/x/term v0.27.0 -> v0.30.0
  • golang.org/x/text v0.21.0 -> v0.23.0
  • tags.cncf.io/container-device-interface v0.8.1 -> v1.0.0
  • tags.cncf.io/container-device-interface/specs-go v0.8.0 -> v1.0.0

Previous release can be found at v2.0.4

Which file should I download?

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

See also the Getting Started documentation.

containerd 2.1.0-beta.1

15 Apr 23:36
v2.1.0-beta.1
afc840b
Compare
Choose a tag to compare
Pre-release

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

The 2.1 beta series is here, see the 2.1 milestone to track
ongoing efforts. Please try out the beta and report any issues!

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

  • Erofs snapshotter and differ (#10705)

Container Runtime Interface (CRI)

Image Distribution

  • Add dial timeout field to hosts toml configuration (#11106)

Node Resource Interface (NRI)

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

Runtime

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

Contributors

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

Changes

520 commits

  • release: use Ubuntu 22.04 (glibc 2.35) (#11685)
    • 81acabd95 release: use Ubuntu 22.04 (glibc 2.35)
  • Prevent panic in Docker pusher. (#11670)
  • build(deps): bump the golang-x group with 2 updates (#11659)
    • be602ea5c build(deps): bump the golang-x group with 2 updates
  • build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.3 to 2.2.4 (#11658)
    • 3a5f04fdd build(deps): bump github.com/pelletier/go-toml/v2 from 2.2.3 to 2.2.4
  • wrong explicitTLS value when dialTimeout is set (#11546)
    • 53eec6c78 move host tlsconfig update to a separate function
    • f702bf9fe [hosts] wrong explicitTLS value when dialTimeout is set
  • build(deps): bump github/codeql-action from 3.28.13 to 3.28.15 (#11665)
    • eae1a6adc build(deps): bump github/codeql-action from 3.28.13 to 3.28.15
  • avoid import to testing pkg outside of tests (#11666)
    • f87b2c1cd avoid import to testing pkg outside of tests
  • build(deps): bump github.com/containernetworking/cni from 1.2.3 to 1.3.0 (#11660)
    • 2d3ff252d build(deps): bump github.com/containernetworking/cni from 1.2.3 to 1.3.0
  • fix call fmt.Errorf with wrong error (#11649)
    • be9ca11a1 fix call fmt.Errorf with wrong error
  • Set default differ for the default unpack config of transfer service (#11641)
    • a083b669c Set default differ for the default unpack config of transfer service
  • build(deps): bump lycheeverse/lychee-action from 2.3.0 to 2.4.0 (#11631)
    • 33dae72b9 build(deps): bump lycheeverse/lychee-action from 2.3.0 to 2.4.0
  • pkg/sys: improve GetLocalListener/CreateUnixSocket error message (#11608)
    • 1dbb7f2ae pkg/sys: improve GetLocalListener/CreateUnixSocket error message
  • cri: fix lost container exit events if they arrive before info is cached (#11579)
    • ead5c1ee6 cri:fix lost container exit events if they arrive before info is cached
  • Fix the panic caused by the failure of RunPodSandbox (#11588)
    • a3a66d1f2 Fix the panic caused by the failure of RunPodSandbox
  • fix: call checkCopyShimLogError(shimCtx) to avoid expected error log flood (#11475)
  • update taskOptions based on runtimeOptions when creating a task (#11569)
    • 450038a28 integration/client: add tests for TaskOptions is not empty
    • 7e5c5038a prefer task options for PluginInfo request
    • ec3567d6b update taskOptions based on runtimeOptions when creating a task
  • correct kep template - remove render type (#11615)
  • *: image volume feature's follow-up (#11605)
    • fe4703cde integration: check image volume snapshot after deleting pod
    • d141d6c3d integration: run image volumes for linux platform only
    • de833ebbb cri: enhance error handling for image volume
    • be0ab6e93 cri: add volatile option to image volume mount if applicable
  • downgrade cni version in CI test (#11616)
  • Create cri_kep.yaml for the new issue template for the new KEP process (#11610)
  • build(deps): bump github.com/containernetworking/plugins from 1.5.1 to 1.6.2 (#11226)
    • aff7e4797 build(deps): bump github.com/containernetworking/plugins
  • build(deps): bump actions/download-artifact from 4.1.9 to 4.2.1 ([#11595](https://github.com/conta...
Read more