containerd 2.2.0-beta.1 Welcome to the v2.2.0-beta.1 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 mount manager ([#12063](https://github.com/containerd/containerd/pull/12063)) * Add conf.d include in the default config ([#12323](https://github.com/containerd/containerd/pull/12323)) * Add support for back references in the garbage collector ([#12025](https://github.com/containerd/containerd/pull/12025)) #### Go client * Update pkg/oci to use fs.FS interface and os.OpenRoot ([#12245](https://github.com/containerd/containerd/pull/12245)) #### Image Distribution * Add referrers fetcher to remotes ([#12309](https://github.com/containerd/containerd/pull/12309)) * Tar unpack progress through transfer service ([#11921](https://github.com/containerd/containerd/pull/11921)) #### Image Storage * Add snapshotter and differ for block CIMs ([#12050](https://github.com/containerd/containerd/pull/12050)) * Add tar index mode to erofs snapshotter ([#11919](https://github.com/containerd/containerd/pull/11919)) #### Node Resource Interface (NRI) * Enable otel traces in NRI ([#12082](https://github.com/containerd/containerd/pull/12082)) * Add WASM plugin support ([containerd/nri#121](https://github.com/containerd/nri/pull/121)) #### Runtime * Fix pidfd leak in UnshareAfterEnterUserns ([#12167](https://github.com/containerd/containerd/pull/12167)) #### Deprecations * 1.6 is EOL ([#12348](https://github.com/containerd/containerd/pull/12348)) Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ### Contributors * Derek McGowan * Phil Estes * Maksym Pavlenko * Krisztian Litkey * Akihiro Suda * Mike Brown * Wei Fu * Markus Lehtonen * Sebastiaan van Stijn * Samuel Karp * Austin Vazquez * ningmingxiao * yashsingh74 * Jin Dong * Kirtana Ashok * Aadhar Agarwal * Chris Henzie * Etienne Champetier * Rodrigo Campos * Akhil Mohan * Gao Xiang * Sascha Grunert * Henry Wang * Aleksa Sarai * Eric Mountain * Keith Mattix II * Paweł Gronowski * Adrien Delorme * Apurv Barve * Enji Cooper * Kohei Tokunaga * Rehan Khan * Yang Yang * jokemanfire * Amit Barve * Andrew Halaney * Antonio Ojea * Brian Goff * Carlos Eduardo Arango Gutierrez * Chenyang Yan * Dawei Wei * Divya Rani * Fabiano Fidêncio * Iceber Gu * Jared Ledvina * Jonathan Perkin * Jose Fernandez * Karl Baumgartner * Osama Abdelkader * Radostin Stoyanov * Ruidong Cao * Sameer * Sergey Kanzhelev * Swagat Bora * Sylvain MOUQUET * Tom Wieczorek * Tycho Andersen * Tõnis Tiigi * 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/StackExchange/wmi** cbe66965904d **_new_** * **github.com/checkpoint-restore/checkpointctl** v1.3.0 -> v1.4.0 * **github.com/containerd/console** v1.0.4 -> v1.0.5 * **github.com/containerd/containerd/api** v1.9.0 -> v1.10.0-beta.1 * **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.2 * **github.com/go-logr/logr** v1.4.2 -> v1.4.3 * **github.com/go-ole/go-ole** v1.2.6 **_new_** * **github.com/golang/groupcache** 41bb18bfe9da -> 2c02b8208cf8 * **github.com/google/certtostore** v1.0.6 **_new_** * **github.com/google/deck** 105ad94aa8ae **_new_** * **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/hashicorp/errwrap** v1.1.0 **_new_** * **github.com/intel/goresctrl** v0.8.0 -> v0.9.0 * **github.com/knqyf263/go-plugin** v0.9.0 **_new_** * **github.com/moby/sys/capability** v0.4.0 **_new_** * **github.com/modern-go/reflect2** v1.0.2 -> 35a7c28c31ee * **github.com/opencontainers/runtime-tools** 2e043c6bd626 -> 0ea5ed0382a2 * **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 -> a7a43d27e69b * **google.golang.org/genproto/googleapis/rpc** 56aae31c358a -> a7a43d27e69b * **google.golang.org/grpc** v1.72.0 -> v1.76.0 * **google.golang.org/protobuf** v1.36.6 -> v1.36.10 * **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](https://github.com/containerd/containerd/releases/tag/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](https://github.com/opencontainers/runc/releases) and [CNI plugins](https://github.com/containernetworking/plugins/releases) from their official sites too. See also the [Getting Started](https://github.com/containerd/containerd/blob/main/docs/getting-started.md) documentation.