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 command git 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 release v1.0.0, a branch
release/1.0 will 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)
Commits
8fc6bcf Merge pull request #10481 from dmcgowan/prepare-v1.7.20
Fix a regression that could result in a ResourceExhausted desc = grpc: received message larger than max error when building from a large Dockerfile. moby/moby#48245
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the go group with 8 updates in the / directory:
1.7.11
1.7.20
27.0.3+incompatible
27.1.2+incompatible
27.1.1+incompatible
27.1.2+incompatible
1.0.8
1.1.1
0.19.2
0.20.2
2.17.1
2.19.1
0.25.0
0.26.0
0.4.0
0.5.0
Updates
github.com/containerd/containerd
from 1.7.11 to 1.7.20Release notes
Sourced from github.com/containerd/containerd's releases.
... (truncated)
Changelog
Sourced from github.com/containerd/containerd's changelog.
... (truncated)
Commits
8fc6bcf
Merge pull request #10481 from dmcgowan/prepare-v1.7.207f2d4cd
Prepare release notes for v1.7.207eb0501
Merge pull request #10413 from austinvazquez/cherry-pick-78421616e0a6ba76ac25...34ea461
Merge pull request #10461dims/automated-cherry-pick-of-#8367
87c908e
Merge pull request #10462dims/automated-cherry-pick-of-#9730
b06e353
Merge pull request #10469dims/automated-cherry-pick-of-#8356
209ee4f
CRI: An empty DNSConfig != unspecifiedce65228
Support for dropping inheritable capabilitiesdf86bdd
CRI Sbserver: Make PodSandboxStatus friendlier to shim crashes923bb1f
Merge pull request #10423 from dims/cri-ttrpc-closed-during-ListPodSandboxStatsUpdates
github.com/docker/cli
from 27.0.3+incompatible to 27.1.2+incompatibleCommits
d01f264
Merge pull request #5333 from thaJeztah/27.x_bump_engine65dec14
vendor: github.com/docker/docker f9522e5e96c3 (v27.1.2-dev)1f80c54
Merge pull request #5339 from thaJeztah/27.x_backport_fix_bps_limit33573e2
Merge pull request #5343 from dvdksn/cp-docs-manuals-refactor-linkfix73452e3
docs: update internal links after refactorbcd90be
docs: fix link to http proxy documentf62c68e
Merge pull request #5337 from vvoland/5327-27.x946d109
run: fix GetList return empty issue for throttledevice096e42b
Merge pull request #5335 from vvoland/5310-27.x984ef90
plugins: don't panic on Close if PluginServer nilUpdates
github.com/docker/docker
from 27.1.1+incompatible to 27.1.2+incompatibleRelease notes
Sourced from github.com/docker/docker's releases.
Commits
f9522e5
Merge pull request #48315 from vvoland/48169-27.xa037b72
Merge pull request #48314 from vvoland/48275-27.xfc0150b
daemon/containerd: rm use of regexp73c01d0
image/v1: rm regexp usec93fe4a
layer: rm regexp use31459c8
docs/api: swagger: fix x-nullable for SystemInfo.Containerd (api v1.46)35d430c
api/swagger: fix x-nullable for SystemInfo.Containerdf5fa090
Merge pull request #48308 from thaJeztah/27.x_backport_migrate_usernsa17f5d4
Merge pull request #48294 from austinvazquez/cherry-pick-2b5ffa0b63c76e8bb4eb...80a59c2
migrate to github.com/moby/sys/usernsUpdates
github.com/go-test/deep
from 1.0.8 to 1.1.1Release notes
Sourced from github.com/go-test/deep's releases.
Changelog
Sourced from github.com/go-test/deep's changelog.
Commits
9e863ff
Release v1.1.1dc5b2f6
Update SECURITY.md185886d
Restore 100% test coverage (NilPointersAreZero case)47ae1b8
Merge pull request #61 from seveas/nil-pointers-are-zero93c35ac
Merge branch 'master' into nil-pointers-are-zero2982c5c
Update test matrix to latest 3 Go versions2b8252e
Add an option to consider nil pointers to be equivalent to zero values95fb3b1
Merge pull request #58 from bartleyg/patch-11127c84
fix copy pasta test7ff4e92
Update changelog for v1.1.0Updates
github.com/google/go-containerregistry
from 0.19.2 to 0.20.2Release notes
Sourced from github.com/google/go-containerregistry's releases.
Commits
c195f15
deps: bump docker dep (#1991)c3d1dcc
Createremote.Push
(#1978)d36047a
Restore blind-write to remote.Put (#1970)9915a85
Referrer API must return correct Content-Type (#1968)Updates
github.com/sylabs/sif/v2
from 2.17.1 to 2.19.1Release notes
Sourced from github.com/sylabs/sif/v2's releases.
Commits
1ed3ce5
Merge pull request #384 from tri-adam/overflow-fix6f00aba
fix: check descriptor capacity during SIF creationc1fcc37
fix: correct the range check for descriptor IDsfd8a090
Merge pull request #383 from tri-adam/golangci-lint-v1.60d2a9ddc
fix: address lint with golangci-lint v1.60f4453b3
ci: remove deprecated exportloopref linterdd77d01
chore: bump golangci-lint to v1.60518b3a3
build(deps): bump github.com/sigstore/sigstore from 1.8.4 to 1.8.8 (#381)afa5a4e
Merge pull request #382 from tri-adam/go-1.239a07943
chore: bump module to Go 1.22Updates
golang.org/x/crypto
from 0.25.0 to 0.26.0Commits
5bcd010
go.mod: update golang.org/x dependencies3375612
ssh: add support for unpadded RSA signaturesbb80217
ssh: don't use dsa keys in integration tests6879722
ssh: remove go 1.21+ dependency on slicese983fa2
sha3: Avo port of keccakf_amd64.s80fd972
LICENSE: update per Google Legalf2bc3a6
x509roots/fallback/internal/goissue52287: deleted66d9c3
x509roots/fallback: update bundleUpdates
github.com/docker/go-connections
from 0.4.0 to 0.5.0Commits
fa09c95
Merge pull request #108 from thaJeztah/carry_67a67a58
Swap CloseRead and CloseWrite481d3d2
Merge pull request #107 from thaJeztah/drop_legacy_go9548f9f
tlsconfig: remove deprecated io/ioutilc564c21
drop support for go1.17 and older7cbebcf
gha: update actions2cf423f
tlsconfig: move allTLSVersions vardca283b
tlsconfig: drop support for go1.12 and older21876c5
tlsconfig: drop support for go1.6 and older4d174db
tlsconfig: drop support for go1.4 and olderDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show