Sourced from github.com/containerd/containerd/v2's releases.
containerd 2.0.0
Welcome to the v2.0.0 release of containerd!
The first major release of containerd 2.x focuses on the continued stability of containerd's core feature set with an easy upgrade from containerd 1.x. This release includes the stabilization of new features added in the last 1.x release as well as the removal of features which were deprecated in 1.x. The goal is to support the vast community of containerd users well into the future along with their ever increasing deployment footprints and variety of use cases.
See containerd 2.0 documentation for details on what is new and has changed in this release.
Highlights
- Allow sections of Plugins to be merged, and not overwritten as entire sections. (#9982)
- Add Update API for sandbox controller (#9903)
- Configure otel from env instead of config.toml (#8970)
- Enable NRI by default (#9744)
- Add PluginInfo to introspection API (#9442)
- Remove overlayfs volatile option on temp mounts (#9555)
- Expose usage of deprecated features (#9258)
- Use Intel ISA-L's igzip if available (#9200)
- Introduce top level config migration (#9223)
- Add image delete target (#8989)
- Remove
LimitNOFILEfromcontainerd.service(#8924)- Add support for image expiration during garbage collection (#9022)
- Reduce the contention between ref lock and boltdb lock in content store (#8792)
- Remove "containerd.io/restart.logpath" label (#8264)
- Remove
aufssnapshotter (#8263)- Fix deadlock during NRI plugin registration (containerd/nri#79)
- Support arm64/v9 and minor variants (containerd/platforms#8)
- Fix deadlock when writing to pipe blocks (containerd/ttrpc#168)
Build and Release Toolchain
- Generate attestation for artifacts during release (#10543)
- Remove
cri-containerd-*.tar.gzrelease bundles (#9096)Container Runtime Interface (CRI)
- Use 'UserSpecifiedImage' from CRI to set the image-name annotation (#10747)
- Fine-grained SupplementalGroups control (#9737)
- Add support to set loopback to up (#10238)
- KEP-3857: Recursive Read-only (RRO) mounts (#9787)
- Add support for multiple subscribers to CRI container events (#9661)
- Enable CDI by default (#9621)
- Remove non-sandboxed CRI implementation (#9228)
- Add support for userns in stateless and stateful pods with idmap mounts (KEP-127, k8s >= 1.27) (#8287)
- Use sandboxed CRI by default (#8994)
- Implement RuntimeConfig CRI call (#8722)
... (truncated)
Sourced from github.com/containerd/containerd/v2's changelog.
Versioning and Release
This document details the versioning and release plan for containerd. Stability is a top goal for this project, and we hope that this document and the processes it entails will help to achieve that. It covers the release process, versioning numbering, backporting, API stability and support horizons.
If you rely on containerd, it would be good to spend time understanding the areas of the API that are and are not supported and how they impact your project in the future.
This document will be considered a living document. Supported timelines, backport targets and API stability guarantees will be updated here as they change.
If there is something that you require or this document leaves out, please reach out by filing an issue.
Releases
Releases of containerd will be versioned using dotted triples, similar to Semantic Version. For the purposes of this document, we will refer to the respective components of this triple as
<major>.<minor>.<patch>. The version number may have additional information, such as alpha, beta and release candidate qualifications. Such releases will be considered "pre-releases".Major and Minor Releases
Major and minor releases of containerd will be made from main. Releases of containerd will be marked with GPG signed tags and announced at https://github.com/containerd/containerd/releases. The tag will be of the format
v<major>.<minor>.<patch>and should be made with the commandgit tag -s v<major>.<minor>.<patch>.After a minor release, a branch will be created, with the format
release/<major>.<minor>from the minor tag. All further patch releases will be done from that branch. For example, once we releasev1.0.0, a branchrelease/1.0will be created from that tag. All future patch releases will be done against that branch.Pre-releases
Pre-releases, such as alphas, betas and release candidates will be conducted from their source branch. For major and minor releases, these releases will be done from main. For patch releases, these pre-releases should be done within the corresponding release branch.
While pre-releases are done to assist in the stabilization process, no guarantees are provided.
... (truncated)
207ad71
Merge pull request #10939
from dmcgowan/prepare-v2.0.003ba4ce
Update release notes for v2.0.0f2da3fd
Update release docs for v2.0.06369206
Merge pull request #10954
from dmcgowan/update-typeurl-2.2.2ff09b42
Update typeurl to v2.2.218caa33
Merge pull request #10944
from containerd/dependabot/github_actions/softprops...545605d
Merge pull request #10945
from containerd/dependabot/github_actions/google-gi...71c274b
Merge pull request #10947
from containerd/dependabot/go_modules/github.com/co...e841240
Merge pull request #10946
from containerd/dependabot/go_modules/github.com/co...9fe6f7c
Merge pull request #10943
from containerd/dependabot/github_actions/google-gi...