Releases: containerd/containerd
containerd API 1.10.0-beta.1
Welcome to the api/v1.10.0-beta.1 release of containerd!
This is a pre-release of containerd
The 11th release for the containerd 1.x API aligns with the containerd 2.2 release.
Highlights
- Add mount manager (#12063)
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors
- Derek McGowan
- Wei Fu
Changes
6 commits
Dependency Changes
This release has no dependency changes
Previous release can be found at api/v1.9.0
containerd 2.2.0-beta.0
Welcome to the v2.2.0-beta.0 release of containerd!
This is a pre-release of containerd
The second minor release of containerd 2.x focuses on continued stability alongside
new features and improvements. This is the second time-based released for containerd.
This is a beta release and some functionality is still under development.
Highlights
- Add support for back references in the garbage collector (#12025)
Go client
- Update pkg/oci to use fs.FS interface and os.OpenRoot (#12245)
Image Distribution
- Tar unpack progress through transfer service (#11921)
Image Storage
Node Resource Interface (NRI)
- Enable otel traces in NRI (#12082)
- Add WASM plugin support (containerd/nri#121)
Runtime
- Fix pidfd leak in UnshareAfterEnterUserns (#12167)
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors
- Phil Estes
- Derek McGowan
- Krisztian Litkey
- Akihiro Suda
- Maksym Pavlenko
- Mike Brown
- Wei Fu
- Markus Lehtonen
- Samuel Karp
- Sebastiaan van Stijn
- Austin Vazquez
- ningmingxiao
- yashsingh74
- Jin Dong
- Kirtana Ashok
- Etienne Champetier
- Rodrigo Campos
- Akhil Mohan
- Chris Henzie
- Gao Xiang
- Sascha Grunert
- Aleksa Sarai
- Eric Mountain
- Keith Mattix II
- Paweł Gronowski
- Adrien Delorme
- Enji Cooper
- Kohei Tokunaga
- Yang Yang
- jokemanfire
- Aadhar Agarwal
- Amit Barve
- Andrew Halaney
- Antonio Ojea
- Brian Goff
- Chenyang Yan
- Dawei Wei
- Divya Rani
- Fabiano Fidêncio
- Henry Wang
- Iceber Gu
- Jared Ledvina
- Jonathan Perkin
- Jose Fernandez
- Karl Baumgartner
- Radostin Stoyanov
- Rehan Khan
- Ruidong Cao
- Sameer
- Swagat Bora
- Sylvain MOUQUET
- Tom Wieczorek
- Tycho Andersen
- Ubuntu
- Wuyue (Tony) Sun
- jinda.ljd
- tanhuaan
- zounengren
Dependency Changes
- dario.cat/mergo v1.0.1 -> v1.0.2
- github.com/Microsoft/hcsshim v0.13.0-rc.3 -> v0.14.0-rc.1
- github.com/checkpoint-restore/checkpointctl v1.3.0 -> v1.4.0
- github.com/containerd/console v1.0.4 -> v1.0.5
- github.com/containerd/go-cni v1.1.12 -> v1.1.13
- github.com/containerd/nri v0.8.0 -> v0.10.0
- github.com/containernetworking/plugins v1.7.1 -> v1.8.0
- github.com/coreos/go-systemd/v22 v22.5.0 -> v22.6.0
- github.com/cpuguy83/go-md2man/v2 v2.0.5 -> v2.0.7
- github.com/emicklei/go-restful/v3 v3.11.0 -> v3.13.0
- github.com/fxamacker/cbor/v2 v2.7.0 -> v2.9.0
- github.com/go-jose/go-jose/v4 v4.0.5 -> v4.1.1
- github.com/go-logr/logr v1.4.2 -> v1.4.3
- github.com/golang/groupcache 41bb18bfe9da -> 2c02b8208cf8
- github.com/gorilla/websocket v1.5.0 -> e064f32e3674
- github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1 -> v1.1.0
- github.com/intel/goresctrl v0.8.0 -> v0.9.0
- github.com/knqyf263/go-plugin v0.9.0 new
- github.com/modern-go/reflect2 v1.0.2 -> 35a7c28c31ee
- github.com/prometheus/client_golang v1.22.0 -> v1.23.2
- github.com/prometheus/client_model v0.6.1 -> v0.6.2
- github.com/prometheus/common v0.62.0 -> v0.66.1
- github.com/prometheus/procfs v0.15.1 -> v0.16.1
- github.com/stretchr/testify v1.10.0 -> v1.11.1
- github.com/tchap/go-patricia/v2 v2.3.2 -> v2.3.3
- github.com/tetratelabs/wazero v1.9.0 new
- github.com/urfave/cli/v2 v2.27.6 -> v2.27.7
- github.com/vishvananda/netlink 0e7078ed04c8 -> v1.3.1
- go.etcd.io/bbolt v1.4.0 -> v1.4.3
- go.opentelemetry.io/otel v1.35.0 -> v1.37.0
- go.opentelemetry.io/otel/metric v1.35.0 -> v1.37.0
- go.opentelemetry.io/otel/sdk v1.35.0 -> v1.37.0
- go.opentelemetry.io/otel/trace v1.35.0 -> v1.37.0
- go.uber.org/goleak v1.3.0 new
- go.yaml.in/yaml/v2 v2.4.2 new
- golang.org/x/crypto v0.36.0 -> v0.41.0
- golang.org/x/mod v0.24.0 -> v0.28.0
- golang.org/x/net v0.38.0 -> v0.43.0
- golang.org/x/oauth2 v0.27.0 -> v0.30.0
- golang.org/x/sync v0.14.0 -> v0.17.0
- golang.org/x/sys v0.33.0 -> v0.36.0
- golang.org/x/term v0.30.0 -> v0.34.0
- golang.org/x/text v0.23.0 -> v0.28.0
- golang.org/x/time v0.7.0 -> v0.9.0
- google.golang.org/genproto/googleapis/api 56aae31c358a -> 8d1bb00bc6a7
- google.golang.org/genproto/googleapis/rpc 56aae31c358a -> 8d1bb00bc6a7
- google.golang.org/grpc v1.72.0 -> v1.75.1
- google.golang.org/protobuf v1.36.6 -> v1.36.9
- k8s.io/api v0.32.3 -> v0.34.1
- k8s.io/apimachinery v0.32.3 -> v0.34.1
- k8s.io/client-go v0.32.3 -> v0.34.1
- k8s.io/cri-api v0.32.3 -> v0.34.1
- k8s.io/utils 3ea5e8cea738 -> 4c0f3b243397
- sigs.k8s.io/json 9aa6b5e7a4b3 -> cfa47c3a1cc8
- sigs.k8s.io/randfill v1.0.0 new
- sigs.k8s.io/structured-merge-diff/v6 v6.3.0 new
- sigs.k8s.io/yaml v1.4.0 -> v1.6.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.4
Welcome to the v2.1.4 release of containerd!
The fourth patch release for containerd 2.1 contains various fixes and updates.
Highlights
Container Runtime Interface (CRI)
- Fix containerd panic when sandbox extension is missing (#12076)
- Update status response to return stable order for runtime handlers (#12054)
Go client
- Fix lazy gRPC connection mode waiting for connect on client creation (#12079)
Image Distribution
- Fix resolve deadlock issue in docker fetcher open (#12127)
Image Storage
- Update erofs snapshotter to make immutable optional (#12091)
- Fix erofs filesystem UUID for tar-converted layers (#12058)
Runtime
- Fix close container io not closed when runtime create failed (#12009)
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors
- Derek McGowan
- Phil Estes
- Eric Mountain
- Maksym Pavlenko
- Gao Xiang
- Kirtana Ashok
- ningmingxiao
- Akihiro Suda
- Austin Vazquez
- Paweł Gronowski
- Sebastiaan van Stijn
- Wei Fu
- jinda.ljd
Changes
26 commits
- Prepare release notes for v2.1.4 (#12159)
112e41363
Add release notes for v2.1.4
- Fix resolve deadlock issue in docker fetcher open (#12127)
- ci: bump Go 1.23.11, 1.24.5 (#12115)
82c4d6875
ci: bump Go 1.23.11, 1.24.5
- Backport windows test fixes (#12119)
- Update erofs snapshotter to make immutable optional (#12091)
8d194c19f
erofs-snapshotter: make IMMUTABLE_FL optional
- Fix lazy gRPC connection mode waiting for connect on client creation (#12079)
2df7175d7
client/New: Don't unlazy the gRPC connection implicitly
- backport: update go-md2man binary to v2.0.7 (#12074)
4902adb92
update go-md2man binary to v2.0.7
- Fix containerd panic when sandbox extension is missing (#12076)
02298e1a0
cri:fix containerd panic when can't find sandbox extension
- Fix erofs filesystem UUID for tar-converted layers (#12058)
583133e71
erofs-differ: fix filesystem UUID for tar-converted layers
- Update status response to return stable order for runtime handlers (#12054)
- Fix close container io not closed when runtime create failed (#12009)
b74268f86
bugfix:close container io when runtime create failed
Dependency Changes
This release has no dependency changes
Previous release can be found at v2.1.3
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.0.6
Welcome to the v2.0.6 release of containerd!
The sixth patch release for containerd 2.0 includes various bug fixes and updates.
Highlights
- Update containerd config dump to reflect plugin config migrations (#11772)
Container Runtime Interface (CRI)
- Fix containerd panic when sandbox extension is missing (#12077)
- Fix the panic caused by the failure of RunPodSandbox (#12047)
- Add extension to sandbox metadata store on create sandbox (#11808)
- Fix issue where Prometheus metric names changed for CRI (#11750)
- Fix issue preventing some v2 shims from shutting down properly (#11741)
Go client
- Fix lazy gRPC connection mode waiting for connect on client creation (#12080)
Image Distribution
- Fix cross-repo mount fallback after authorization failure (#11832)
Runtime
- Fix container io to close after runtime create failure (#12051)
- Fix incompatibility with some pre-v3 shims (#11973)
- Update runc binary to v1.3.0 (#11801)
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors
- Derek McGowan
- Phil Estes
- Austin Vazquez
- Wei Fu
- Akihiro Suda
- Maksym Pavlenko
- Samuel Karp
- Yang Yang
- Akhil Mohan
- ningmingxiao
- Alberto Garcia Hierro
- Chris Henzie
- HirazawaUi
- Jin Dong
- Kirtana Ashok
- Paweł Gronowski
- Vinayak Goyal
Changes
49 commits
- Prepare release notes for v2.0.6 (#12145)
d94b0fee6
Prepare release notes for v2.0.6
- ci: bump Go 1.23.11, 1.24.5 (#12116)
f901e3c81
ci: bump Go 1.23.11, 1.24.5
- go.mod: golang.org/x/* latest (#12097)
7e4ac4761
go.mod: golang.org/x/* latest
- Fix lazy gRPC connection mode waiting for connect on client creation (#12080)
bed6d1401
client/New: Don't unlazy the gRPC connection implicitly
- Fix containerd panic when sandbox extension is missing (#12077)
8094fa21a
cri:fix containerd panic when can't find sandbox extension
- Fix container io to close after runtime create failure (#12051)
552f717be
bugfix:close container io when runtime create failed
- Fix the panic caused by the failure of RunPodSandbox (#12047)
c4394d05a
Fix the panic caused by the failure of RunPodSandbox
- ci: bump golang [1.23.10, 1.24.4] in build and release (#11969)
- Enable CIs to run on WS2022 and WS2025 (#11970)
9724cd5ea
Enable CIs to run on WS2022 and WS2025
- Fix incompatibility with some pre-v3 shims (#11973)
7fc3151fc
*: properly shutdown non-groupable shims to prevent resource leaks4396336a1
core/runtime: should invoke shim binary10bcc6929
Revert "not set sandbox id when use podsandbox type"f38eb62b6
integration: add testcase to recover ungroupable shim2358561d5
Update release upgrade tests to test 1.7 and 2.08931b1464
Fix upgrade test runtime config
- Fetch image with default platform only in TestExportAndImportMultiLayer (#11944)
fc9235910
Fetch image with default platform only in TestExportAndImportMultiLayer
- Add extension to sandbox metadata store on create sandbox (#11808)
f8679737e
store extension when create sandbox in store
- Fix cross-repo mount fallback after authorization failure (#11832)
cbfa66223
fix(docker pusher): if authorizing a cross-repo mount fails, fall back
- .github: do not mark 2.0 releases as latest (#11820)
7bf4d0a40
.github: do not mark 2.0 releases as latest
- Update runc binary to v1.3.0 (#11801)
fa5a08244
Update runc binary to v1.3.0
- Revert "disable portmap test in ubuntu-22 to make CI happy" (#11784)
- Update containerd config dump to reflect plugin config migrations (#11772)
626a57dd7
fix: update containerd config dump to reflect plugin config migrations.
- core/transfer/local: should not mark completed if it's not found (#11768)
983dd336f
core/transfer/local: should not mark complete if it's not found
- Fix issue where Prometheus metric names changed for CRI (#11750)
d2a30ea0c
Revert criserver metrics subsystem back to cri
- Fix issue preventing some v2 shims from shutting down properly (#11741)
e9804ee0e
not set sandbox id when use podsandbox type
- [CI] Fix vagrant (#11740)
9ddeff7f7
Fix vagrant setup
Dependency Changes
- golang.org/x/crypto v0.36.0 -> v0.40.0
- golang.org/x/exp aacd6d4b4611 -> 6ae5c78190dc
- golang.org/x/mod v0.21.0 -> v0.26.0
- golang.org/x/net v0.37.0 -> v0.42.0
- golang.org/x/oauth2 v0.28.0 -> v0.30.0
- golang.org/x/sync v0.12.0 -> v0.16.0
- golang.org/x/sys v0.31.0 -> v0.34.0
- golang.org/x/term v0.30.0 -> v0.33.0
- golang.org/x/text v0.23.0 -> v0.27.0
- golang.org/x/time v0.3.0 -> v0.12.0
Previous release can be found at v2.0.5
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 [Get...
containerd 1.7.28
Welcome to the v1.7.28 release of containerd!
The twenty-eighth patch release for containerd 1.7 contains various fixes
and updates.
Highlights
Image Distribution
- Refresh OAuth tokens when they expire during registry operations (#11721)
- Set default differ for the default unpack config of transfer service (#11689)
Runtime
- Update runc binary to v1.3.0 (#11800)
- Remove invalid error log when stopping container after containerd restart (#11620)
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors
- Akhil Mohan
- Akihiro Suda
- Austin Vazquez
- Maksym Pavlenko
- Phil Estes
- Derek McGowan
- Kirtana Ashok
- Henry Wang
- Iain Macdonald
- Jin Dong
- Swagat Bora
- Wei Fu
- Yang Yang
- madraceee
Changes
57 commits
- Prepare release notes for v1.7.28 (#12134)
b01b809f8
Prepare release notes for v1.7.28
- ci: bump Go 1.23.11, 1.24.5 (#12117)
ce2373176
ci: bump Go 1.23.11, 1.24.5
- Backport windows test fixes (#12121)
- ci: use fedora 39 archive (#12123)
6d7e021cf
ci: use fedora/39-cloud-base image from archive
- update runners to ubuntu 24.04 (#11802)
- go.mod: golang.org/x/* latest (#12096)
da5d1a371
go.mod: golang.org/x/* latest
- Remove additional fuzzers from instrumentation repo (#12099)
5fef123ba
Remove additional fuzzers from CI
- backport windows runner and golang toolchain updates (#11972)
- test: added runc v1 tests using vagrant (#11896)
60e73122c
test: added runc v1 tests using vagrant
- Revert "disable portmap test in ubuntu-22 to make CI happy" (#11803)
- Update runc binary to v1.3.0 (#11800)
b001469c7
Update runc binary to v1.3.0
- Refresh OAuth tokens when they expire during registry operations (#11721)
a6421da84
remotes/docker/authorizer.go: invalidate auth tokens when they expire.
- [CI] Fix vagrant (#11739)
effc49e8b
Fix vagrant setup
- Fix CI (#11722)
d3e7dd716
Skip criu on Arms7cf9ebe94
Disable port mapping tests in CRI-in-UserNS42657a4ed
disable portmap test in ubuntu-22 to make CI happyb300fd37b
add option to skip tests in critest6f4ffad27
Address cgroup mountpoint does not existcef298331
Update Ubuntu to 242dd9be16e
ci: update GitHub Actions release runner to ubuntu-24.04
- Set default differ for the default unpack config of transfer service (#11689)
e40e59e4e
Set default differ for the default unpack config of transfer service
- silence govulncheck false positives (#11679)
ff097d5a4
silence govulncheck false positives
- vendor: github.com/go-jose/go-jose/v3 v3.0.4 (#11619)
52dd4dc51
vendor: github.com/go-jose/go-jose/v3 v3.0.4
- Remove invalid error log when stopping container after containerd restart (#11620)
24f41d2d5
use shimCtx for fifo copy
- Update runc binary to v1.2.6 (#11584)
1e1e78ad7
Update runc binary to v1.2.6
- Use RWMutex in NSMap and reduce lock area (#11556)
9a8d1d44a
Use RWMutex in NSMap and reduce lock area
Dependency Changes
- github.com/go-jose/go-jose/v3 v3.0.3 -> v3.0.4
- golang.org/x/crypto v0.31.0 -> v0.40.0
- golang.org/x/mod v0.17.0 -> v0.26.0
- golang.org/x/net v0.33.0 -> v0.42.0
- golang.org/x/oauth2 v0.11.0 -> v0.30.0
- golang.org/x/sync v0.10.0 -> v0.16.0
- golang.org/x/sys v0.28.0 -> v0.34.0
- golang.org/x/term v0.27.0 -> v0.33.0
- golang.org/x/text v0.21.0 -> v0.27.0
- golang.org/x/time 90d013bbcef8 -> v0.12.0
Previous release can be found at v1.7.27
containerd 1.6.39
Welcome to the v1.6.39 release of containerd!
The thirty-ninth patch release for containerd 1.6 contains various fixes
and updates.
Highlights
Runtime
- Fix close container io not closed when runtime create failed (#12052)
- Update runc binary to v1.3.0 (#11799)
Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.
Contributors
- Akihiro Suda
- Austin Vazquez
- Phil Estes
- Derek McGowan
- Kirtana Ashok
- Akhil Mohan
- Maksym Pavlenko
- Mike Brown
- madraceee
- ningmingxiao
- zounengren
Changes
33 commits
- Prepare release notes for v1.6.39 (#12045)
22134cbfe
Prepare release notes for v1.6.39
- ci: bump Go 1.23.11, 1.24.5 (#12118)
067a639f6
ci: bump Go 1.23.11, 1.24.5
- Backport windows test fixes (#12122)
- ci: use fedora 39 archive (#12125)
b58df07d6
ci: use fedora 39 archive
- go.mod: github.com/containerd/btrfs v1.0.1 (#12105)
fa4b325e0
go.mod: github.com/containerd/btrfs v1.0.1
- go.mod: golang.org/x/* latest, github.com/go-jose/go-jose/v3 v3.0.4 (#12095)
- Fix close container io not closed when runtime create failed (#12052)
22f669a7c
bugfix:close container io when runtime create failed
- backport windows runner and golang toolchain updates (#12005)
- Update runc binary to v1.3.0 (#11799)
d00ccf523
Update runc binary to v1.3.0
- test: added runc v1 support in vagrant (#11913)
9e49725bf
test: added runc v1 support in vagrant
- : Fix CI (#11804)
- Update runc binary to v1.2.6 (#11585)
2325157ed
Update runc binary to v1.2.6
Changes from containerd/btrfs
12 commits
- Fix
error: implicit declaration of function ‘memcpy’
(containerd/btrfs#44) - Update GitHub actions CI workflow (containerd/btrfs#38)
5d1f727
Update GitHub actions CI workflow
- Upgrade Go compiler from Go 1.16 to Go 1.19 (containerd/btrfs#39)
d16e22b
Upgrade Go compiler from Go 1.16 to Go 1.19
- replace pkg/errors (containerd/btrfs#35)
9933796
replace pkg/errors
- Branch rename for GH Actions (containerd/btrfs#33)
1aff978
Branch rename for GH Actions
Dependency Changes
- cloud.google.com/go/compute/metadata v0.2.3 -> v0.3.0
- github.com/containerd/btrfs v1.0.0 -> v1.0.1
- github.com/go-jose/go-jose/v3 v3.0.3 -> v3.0.4
- golang.org/x/crypto v0.21.0 -> v0.40.0
- golang.org/x/net v0.23.0 -> v0.42.0
- golang.org/x/oauth2 v0.11.0 -> v0.30.0
- golang.org/x/sync v0.3.0 -> v0.16.0
- golang.org/x/sys v0.18.0 -> v0.34.0
- golang.org/x/term v0.18.0 -> v0.33.0
- golang.org/x/text v0.14.0 -> v0.27.0
- golang.org/x/time 1f47c861a9ac -> v0.12.0
Previous release can be found at v1.6.38
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...