Releases: containerd/containerd
containerd 2.1.3
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)
627729341
Prepare release notes for v2.1.3
- 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)
- 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
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
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)
63b9eae62
Prepare release notes for v2.1.2
- 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)
- 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
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 fork216667ba0
Prepare release notes for 2.1.1ac00b8e61
Revert "perf(applyNaive): avoid walking the tree for each file in the same directory"- build(deps): bump github.com/Microsoft/hcsshim (#11847)
- Fix erofs media type handling (#11855)
- 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
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
- Support multiple uid/gid mappings (#10722)
- Fix race between serve and immediate shutdown on the server (containerd/ttrpc#175)
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...
containerd 2.1.0-rc.1
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
- Support multiple uid/gid mappings (#10722)
- Fix race between serve and immediate shutdown on the server (containerd/ttrpc#175)
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 ...
containerd API 1.9.0
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)
752914b5b
Add content create event to api
- bump golang.org/x/net from 0.33.0 to 0.37.0 (#11574)
7fe5c4123
go.mod: golang.org/x/net v0.37.0
- 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
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
- Support multiple uid/gid mappings (#10722)
- Fix race between serve and immediate shutdown on the server (containerd/ttrpc#175)
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 ...
containerd API 1.9.0-rc.0
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
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)
752914b5b
Add content create event to api
- bump golang.org/x/net from 0.33.0 to 0.37.0 (#11574)
7fe5c4123
go.mod: golang.org/x/net v0.37.0
- 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
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)
a8082cd60
Prepare release notes for v2.0.5
- Disable criu test on arm64 (#11710)
- Prevent panic on zero length push (#11698)
8a638b71a
Prevent panic in Docker pusher.
- 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)
e04543db0
use shimCtx for fifo copy
- Update taskOptions based on runtimeOptions when creating a task (#11618)
- Update ImageService to delete images synchronously (#11599)
091143135
*: CRIImageService should delete image synchronously
- Update runc binary to v1.2.6 (#11583)
c2372c072
Update runc binary to v1.2.6
- 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)
- Fix CI lint error (cherry-picked #11555) (#11567)
16f20abdf
Fix CI lint error
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
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)
- Support multiple cni plugin bin dirs (#11311)
- 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
- Add dial timeout field to hosts toml configuration (#11106)
Node Resource Interface (NRI)
- Expose Pod assigned IPs to NRI plugins (#10921)
Runtime
- Support multiple uid/gid mappings (#10722)
- Fix race between serve and immediate shutdown on the server (containerd/ttrpc#175)
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)
3251e2cc8
Prevent panic in Docker pusher.
- 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)
- 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)
4357a7600
use shimCtx for fifo copy
- update taskOptions based on runtimeOptions when creating a task (#11569)
- correct kep template - remove render type (#11615)
07a23b6f4
use type textarea
- *: image volume feature's follow-up (#11605)
- downgrade cni version in CI test (#11616)
cffb6d425
downgrade cni version in CI test
- Create cri_kep.yaml for the new issue template for the new KEP process (#11610)
3ef9084d0
Create cri_kep.yaml
- 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...