Skip to content
containerd 1.2.7

Welcome to the v1.2.7 release of containerd!

The seventh patch release for `containerd` 1.2 introduces OCI
image descriptor annotation support and contains fixes for
containerd shim logs, container stop/deletion, cri plugin
and selinux.

It also contains several important bug fixes for goroutine and
file descriptor leakage in containerd and containerd shims.
### Notable Updates
* Support annotations in the OCI image descriptor, and filtering image by annotations. [#3254](https://github.com/containerd/containerd/pull/3254)
* Support context timeout in ttrpc which can help avoid containerd hangs when a shim is unresponsive. [ttrpc#31](https://github.com/containerd/ttrpc/pull/31)
* Fix a bug that containerd shim leaks goroutine and file descriptor after containerd restarts. [ttrpc#37](https://github.com/containerd/ttrpc/pull/37)
* Fix a bug that a container can't be deleted if first deletion attempt is canceled or timeout. [#3264](https://github.com/containerd/containerd/pull/3264)
* Fix a bug that containerd leaks file descriptor when using v2 containerd shims, e.g. `containerd-shim-runc-v1`. [#3273](https://github.com/containerd/containerd/pull/3273)
* Fix a bug that a container with lingering processes can't terminate when it shares pid namespace with another container. [moby/moby#38978)(https://github.com/moby/moby/issues/38978)
* Fix a bug that containerd can't read shim logs after restart. [#3282](https://github.com/containerd/containerd/pull/3282)
* Fix a bug that `shim_debug` option is not honored for existing containerd shims after containerd restarts. [#3283](https://github.com/containerd/containerd/pull/3283)
* cri: Fix a bug that a container can't be stopped when the exit event is not successfully published by the containerd shim. [#3125](https://github.com/containerd/containerd/issues/3125), [#3177](https://github.com/containerd/containerd/issues/3177)
* cri: Fix a bug that exec process is not cleaned up if grpc context is canceled or timeout. [cri#1159](https://github.com/containerd/cri/pull/1159)
* Fix a selinux keyring labeling issue by updating runc to v1.0.0-rc.8 and selinux library to v1.2.2. [opencontainers/selinux#50](https://github.com/opencontainers/selinux/pull/50)
* Update ttrpc to f82148331ad2181edea8f3f649a1f7add6c3f9c2. [#3316](https://github.com/containerd/containerd/pull/3316)
* Update cri to 49ca74043390bc2eeea7a45a46005fbec58a3f88. [#3330](https://github.com/containerd/containerd/pull/3330)

Please try out the release binaries and report any issues at
https://github.com/containerd/containerd/issues.

### Contributors

* Phil Estes
* Lantao Liu
* Michael Crosby
* Stefan Berger
* Derek McGowan
* Brian Goff
* Georgi Sabev
* Sebastiaan van Stijn
* Li Yuxuan
* Wei Fu
* Jared Cordasco
* Julia Nedialkova
* Justin Terry
* Lifubang
* Mike Brown
* Stephen J Day
* Tõnis Tiigi
* zhoulin xie

### Changes

* [`85f6aa5`](https://github.com/containerd/containerd/commit/85f6aa58b8a3170aec9824568f7a31832878b603) Merge pull request  [#3331](https://github.com/containerd/containerd/pull/3331) from Random-Liu/1.2.7-release-note
* [`bad4fdd`](https://github.com/containerd/containerd/commit/bad4fdd7667df85df23bea5f9b53feba785b5002) Prepare release note for v1.2.7.
* [`1bda2ed`](https://github.com/containerd/containerd/commit/1bda2ed0d5be5bf332d51a19094f3b323c6a28bc) Merge pull request  [#3338](https://github.com/containerd/containerd/pull/3338) from dmcgowan/backport-user-agent-fix
* [`1af8e6e`](https://github.com/containerd/containerd/commit/1af8e6ec3cc61a8cd0d5fc2a61bd457924d6758b) Add user agent header to all requests
* [`71f5018`](https://github.com/containerd/containerd/commit/71f5018395b5d801971c4e2b87ca04fbe9f1c448) Merge pull request  [#3332](https://github.com/containerd/containerd/pull/3332) from crosbymichael/cherry
* [`ea70cd6`](https://github.com/containerd/containerd/commit/ea70cd66995571c569fd6da36d0acdf17aafa220) Merge pull request  [#3330](https://github.com/containerd/containerd/pull/3330) from Random-Liu/update-cri-release-1.2
* [`e4e631a`](https://github.com/containerd/containerd/commit/e4e631ad5e92886d2adb74d1d59443d2460f0abe) differ: fix deadlock on commit error
* [`dbd25c8`](https://github.com/containerd/containerd/commit/dbd25c80c98cc42f39784ab3305350e747ddec3e) Update cri to 49ca74043390bc2eeea7a45a46005fbec58a3f88
* [`7c69912`](https://github.com/containerd/containerd/commit/7c69912f5d676d5550c0d40eb558763453710dc7) Merge pull request  [#3316](https://github.com/containerd/containerd/pull/3316) from estesp/update-ttrpc
* [`d2d36e5`](https://github.com/containerd/containerd/commit/d2d36e564b8e094aa60c2cd00f6e979cba367db4) Bump ttrpc
* [`367c672`](https://github.com/containerd/containerd/commit/367c6721592ee8809e8cf8c3922b567f58180372) Merge pull request  [#3283](https://github.com/containerd/containerd/pull/3283) from fuweid/cp-v1_respect_shim_debug
* [`845990f`](https://github.com/containerd/containerd/commit/845990f8733e1e1aadd41b31ecbd9b452e76124c) Merge pull request  [#3282](https://github.com/containerd/containerd/pull/3282) from fuweid/cp-redirect-shim-v1-output
* [`57f79a1`](https://github.com/containerd/containerd/commit/57f79a19707e091bd97b623f9a81400b4f188e07) v1: Respect the `shim_debug` flag when load tasks
* [`5508046`](https://github.com/containerd/containerd/commit/55080467864a48c235dfb5cd5560333df696494c) containerd-shim: redirect output into stdout fifo
* [`5a62161`](https://github.com/containerd/containerd/commit/5a62161af31e6c1ca0526227759a05d0e43b2ba5) Merge pull request  [#3273](https://github.com/containerd/containerd/pull/3273) from fuweid/cp-fifo-fd-leak
* [`d0319ec`](https://github.com/containerd/containerd/commit/d0319ec44af6ff59f3d6d38ae463d2a68b8ad12a) Merge pull request  [#3274](https://github.com/containerd/containerd/pull/3274) from thaJeztah/1.2_backport_pidnamespace
* [`1014235`](https://github.com/containerd/containerd/commit/1014235c6d80933528edc7266e498d0098ae8b61) fix shouldKillAllOnExit check
* [`5cd83f3`](https://github.com/containerd/containerd/commit/5cd83f397f162bd672c4865b3cc126541ff877b2) Fix fd leak of shim log
* [`0717fe6`](https://github.com/containerd/containerd/commit/0717fe62c127e1edece52cb280c0e936f43cfa59) Use named pipes for shim logs
* [`ea75cfc`](https://github.com/containerd/containerd/commit/ea75cfc1582d55fa9f43f8f1e9c74b8375ee9cf9) Merge pull request  [#3264](https://github.com/containerd/containerd/pull/3264) from Random-Liu/cherry-pick-#3244-#3263-release-1.2
* [`3d276b4`](https://github.com/containerd/containerd/commit/3d276b4b0234adee69cd4295472b122c6cfeaa02) Fix error handling for task deletion.
* [`247de3f`](https://github.com/containerd/containerd/commit/247de3f467902d2866fa97114a8f4566e5de90db) Return NotFound error for kill and delete in deleted state.
* [`3923c02`](https://github.com/containerd/containerd/commit/3923c02491f88c4d277a709c3703c9bdcbb9a3fe) Merge pull request  [#3254](https://github.com/containerd/containerd/pull/3254) from jcordasc/cherrypick-annotation-fix-1.2
* [`9196892`](https://github.com/containerd/containerd/commit/9196892f991bd48329333e73bf90f6ad5e112f74) Merge pull request  [#3250](https://github.com/containerd/containerd/pull/3250) from thaJeztah/1.2_backport_bump_ttrpc
* [`9ad688a`](https://github.com/containerd/containerd/commit/9ad688aaeb398a5e5868191b96d8fbc9b9e2dd81) Extend adaptImage function with annotations case
* [`5538d71`](https://github.com/containerd/containerd/commit/5538d71db302ed5d793a12e73527189735be37ed) Extend metadata images test with fieldpaths for Annotations
* [`309e1db`](https://github.com/containerd/containerd/commit/309e1dbeeead24f4880e854ea97c84838f66b80a) Write the Annotations map into the bolt db
* [`a456958`](https://github.com/containerd/containerd/commit/a4569586732ace89bdbdd28f52077df100268c30) Prepare boltutil for reading and writing another map
* [`4bb9151`](https://github.com/containerd/containerd/commit/4bb91512688eb4989ddf4b390104634f5208620c) Add test for ocispec.Descriptor Annotations
* [`2364b03`](https://github.com/containerd/containerd/commit/2364b037202c87f0403f90cf210c5473f231afd8) Copy annotations around where necessary
* [`9844ce4`](https://github.com/containerd/containerd/commit/9844ce442429ebb38a5b192b9627d9b98996c815) Add missing annotations map to Descriptor for gRPC transfer
* [`502ed64`](https://github.com/containerd/containerd/commit/502ed64d5864c28e14d54301b3e45d0bc3f2b1d9) Merge pull request  [#3257](https://github.com/containerd/containerd/pull/3257) from jcordasc/jcordasc/vndr-go-mod-only
* [`f7b8ac5`](https://github.com/containerd/containerd/commit/f7b8ac594188c07e1a68901c9b77265fa8941a66) Merge pull request  [#3247](https://github.com/containerd/containerd/pull/3247) from thaJeztah/1.2_bump_runc_1.0.0rc8
* [`d37c5e0`](https://github.com/containerd/containerd/commit/d37c5e05f1b39341ec1558ed096a1868f57647c2) Add go.mod file for gopkg.in/yaml.v2
* [`79f6941`](https://github.com/containerd/containerd/commit/79f6941d219f7a74cc05d9473628821889808284) bump containerd/ttrpc 699c4e40d1e7416e08bf7019c7ce2e9beced4636
* [`5f1c66f`](https://github.com/containerd/containerd/commit/5f1c66ff6c0eb606eea27076cfacab25c15f37a2) Update ttrpc to support context timeout.
* [`05c3be6`](https://github.com/containerd/containerd/commit/05c3be6dfdf6dd99aabb48600eb76be397895ac1) bump opencontainers/selinux v1.2.2
* [`abd5f7c`](https://github.com/containerd/containerd/commit/abd5f7c0be353b3a0d17c46a020e6c5c573a6eee) bump runc v1.0.0-rc8
* [`af407fb`](https://github.com/containerd/containerd/commit/af407fb77cae19d65a9b25af60da2749d49c4d96) Merge pull request  [#3235](https://github.com/containerd/containerd/pull/3235) from estesp/update-to-ms-image
* [`6bfa149`](https://github.com/containerd/containerd/commit/6bfa149b7a3a8dcf92622f045b123946b0b22666) Convert Windows CI to use Microsoft MCR image urls
* [`6cdfa49`](https://github.com/containerd/containerd/commit/6cdfa4930c8ce99f64457abc97a589e9eb96a206) Merge pull request  [#3219](https://github.com/containerd/containerd/pull/3219) from jcordasc/cherrypick-#3213-release-1.2
* [`b9da989`](https://github.com/containerd/containerd/commit/b9da989b47dd014d5de5c61e889330c0a0b677ed) Merge pull request  [#3213](https://github.com/containerd/containerd/pull/3213) from jcordasc/small-fixes
* [`56a6552`](https://github.com/containerd/containerd/commit/56a655285c61fc48dd1385c3f8d297e57aa27719) Merge pull request  [#3229](https://github.com/containerd/containerd/pull/3229) from estesp/fix-appveyor
* [`0b2d89c`](https://github.com/containerd/containerd/commit/0b2d89cc821c0ae10715e518a9fe3e7aba42befa) Fix error on pull hang in CI
* [`0b58491`](https://github.com/containerd/containerd/commit/0b58491d02f5458d79f1a2394afb4576e64972aa) Move to sha-specified test image for nanoserver

### Changes from containerd/cri

* [`49ca740`](https://github.com/containerd/cri/commit/49ca74043390bc2eeea7a45a46005fbec58a3f88) Merge pull request  [#1159](https://github.com/containerd/cri/pull/1159) from Random-Liu/cherrypick-#1156-release-1.2
* [`7a5e210`](https://github.com/containerd/cri/commit/7a5e2105693c54eb5c3244e7f464b9d8a5305d22) Make sure exec process is killed when context is canceled.
* [`cdbb238`](https://github.com/containerd/cri/commit/cdbb23828b21518105b56d356fc2ea13b362b97d) Merge pull request  [#1136](https://github.com/containerd/cri/pull/1136) from Random-Liu/cherrypick-#1133-release-1.2
* [`27b70db`](https://github.com/containerd/cri/commit/27b70dbcf08bfd6c07bd2e1c8057f286faf38625) Use wait instead of `TaskExit`.
* [`cb0eb47`](https://github.com/containerd/cri/commit/cb0eb47fbb0eaf3a670fb825316075393ece2ded) Merge pull request  [#1123](https://github.com/containerd/cri/pull/1123) from Random-Liu/update-containerd-release-1.2
* [`34c9699`](https://github.com/containerd/cri/commit/34c96998aa0f5939453fec734df352d1b08cfaf5) Update containerd to v1.2.6.
* [`1ee63ba`](https://github.com/containerd/cri/commit/1ee63baa0901e47f451b58d86d38819b181daab7) Merge pull request  [#1120](https://github.com/containerd/cri/pull/1120) from Random-Liu/cherrypick-#1118-release-1.2
* [`35f1216`](https://github.com/containerd/cri/commit/35f1216a311a5a51f7777e1a959851d9b193ebba) Support comment in vendor.

### Changes from containerd/ttrpc

* [`f821483`](https://github.com/containerd/ttrpc/commit/f82148331ad2181edea8f3f649a1f7add6c3f9c2) Merge pull request  [#38](https://github.com/containerd/ttrpc/pull/38) from masters-of-cats/pr-client-eof-improvement
* [`911c9cd`](https://github.com/containerd/ttrpc/commit/911c9cda77ee36640c4c13350cdad7ec592b0a72) Improve connection error handling
* [`69eadd1`](https://github.com/containerd/ttrpc/commit/69eadd1c7f53d23d70163055e5c878075dde31fb) Merge pull request  [#37](https://github.com/containerd/ttrpc/pull/37) from masters-of-cats/pr-handle-client-eof
* [`96dcf73`](https://github.com/containerd/ttrpc/commit/96dcf73d208d67a3f88a173be3a23731cb62c2be) Handle EOF to prevent file descriptor leak
* [`699c4e4`](https://github.com/containerd/ttrpc/commit/699c4e40d1e7416e08bf7019c7ce2e9beced4636) Merge pull request  [#35](https://github.com/containerd/ttrpc/pull/35) from Random-Liu/make-on-close-an-options
* [`ba15956`](https://github.com/containerd/ttrpc/commit/ba15956d22fc5bfe9dd6caaefcc013cd29da38b7) Make onclose an option.
* [`6914432`](https://github.com/containerd/ttrpc/commit/69144327078caa5a2f1d5eda8bea6110bf16eeb3) Merge pull request  [#33](https://github.com/containerd/ttrpc/pull/33) from JoeWrightss/patch-1
* [`ce5c1c4`](https://github.com/containerd/ttrpc/commit/ce5c1c4546907f3b1146f3bb28c1fea8f0094528) Fix returns error message
* [`f02858b`](https://github.com/containerd/ttrpc/commit/f02858b1457c5ca3aaec3a0803eb0d59f96e41d6) Merge pull request  [#31](https://github.com/containerd/ttrpc/pull/31) from cpuguy83/support_context_deadlines
* [`a364f44`](https://github.com/containerd/ttrpc/commit/a364f44e55b1de969afc68a603408dde233a23d1) Add support for request timeout propgation.
* [`f51df44`](https://github.com/containerd/ttrpc/commit/f51df4475b76e0ab0315ee0684bef0703a070e6b) Merge pull request  [#30](https://github.com/containerd/ttrpc/pull/30) from estesp/add-common-project-content
* [`6c96b39`](https://github.com/containerd/ttrpc/commit/6c96b39a2870610e453c280ea2bc6140df5a3a11) Add common check scripts and project references

### Dependency Changes

Previous release can be found at [v1.2.6](https://github.com/containerd/containerd/releases/tag/v1.2.6)

* **github.com/containerd/cri**          eb926cd79d3bac188dcc4ed7694fc9298f8831be -> 49ca74043390bc2eeea7a45a46005fbec58a3f88
* **github.com/containerd/ttrpc**        2a805f71863501300ae1976d29f0454ae003e85a -> f82148331ad2181edea8f3f649a1f7add6c3f9c2
* **github.com/opencontainers/runc**     029124da7af7360afa781a0234d1b083550f797c -> v1.0.0-rc8
* **github.com/opencontainers/selinux**  v1.2.1 -> v1.2.2