containerd 1.7.7 Welcome to the v1.7.7 release of containerd! The seventh patch release for containerd 1.7 contains various fixes and updates. ### Notable Updates * **Require plugins to succeed after registering readiness** ([#9165](https://github.com/containerd/containerd/pull/9165)) * **Handle unexpected shim kill events** ([#9132](https://github.com/containerd/containerd/pull/9132)) * **Build binaries with Go 1.21.1** ([#9167](https://github.com/containerd/containerd/pull/9167)) * **cri: Stop recommending disable_cgroup** ([#9168](https://github.com/containerd/containerd/pull/9168)) * **remotes/docker: Fix MountedFrom prefixed with target repository** ([#9193](https://github.com/containerd/containerd/pull/9193)) * **remotes: always try to establish tls connection when tls configured** ([#9188](https://github.com/containerd/containerd/pull/9188)) * **NRI: Add support for rlimits** ([#48](https://github.com/containerd/nri/pull/48)) See the changelog for complete list of changes Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. ### Contributors * Derek McGowan * Samuel Karp * Krisztian Litkey * Wei Fu * Phil Estes * Sebastiaan van Stijn * Iceber Gu * Mike Brown * Akihiro Suda * Paweł Gronowski * Steve Griffith * Aditya Ramani * Austin Vazquez * Danny Canter * James Sturtevant * Kern Walster * ZP-AlwaysWin ### Changes <details><summary>31 commits</summary> <p> * [release/1.7] Prepare release notes for v1.7.7 ([#9194](https://github.com/containerd/containerd/pull/9194)) * [`a34fa5681`](https://github.com/containerd/containerd/commit/a34fa5681a8cf8a250cdb638e29f54be44b7554f) Prepare release notes for v1.7.7 * [release/1.7] Allow for images with artifacts to pull ([#9149](https://github.com/containerd/containerd/pull/9149)) * [`6ca0aebf0`](https://github.com/containerd/containerd/commit/6ca0aebf0c40c3a2ea59c0ede440f9b6be5d1ded) Allow for images with artifacts to pull * [release 1.7] remotes/docker: Fix MountedFrom prefixed with target repository ([#9193](https://github.com/containerd/containerd/pull/9193)) * [`7df492a95`](https://github.com/containerd/containerd/commit/7df492a95c7283a3f402b5a0e96030e42724d9d0) remotes/docker: Fix MountedFrom prefixed with target repository * [release/1.7] Update x/net to 0.13 ([#9134](https://github.com/containerd/containerd/pull/9134)) * [`b3db314a5`](https://github.com/containerd/containerd/commit/b3db314a58311b3e754906baf356ec83d05015d6) Bump x/net to 0.13 * [release/1.7] remotes: always try to establish tls connection when tls configured ([#9188](https://github.com/containerd/containerd/pull/9188)) * [`7779ce64e`](https://github.com/containerd/containerd/commit/7779ce64e563f366199e7b22972ca18ec060b944) remotes: always try to establish tls connection when tls configured * [release/1.7] cri: stop recommending disable_cgroup ([#9168](https://github.com/containerd/containerd/pull/9168)) * [`6013b5e03`](https://github.com/containerd/containerd/commit/6013b5e03ebadfc70eb711118a05e24891f8e2dc) cri: stop recommending disable_cgroup * [release/1.7] Require plugins to succeed after registering readiness ([#9165](https://github.com/containerd/containerd/pull/9165)) * [`a83c66813`](https://github.com/containerd/containerd/commit/a83c66813f908c861ad3d908755d4c4b0a86778c) Require plugins to succeed after registering readiness * [`171d76849`](https://github.com/containerd/containerd/commit/171d76849393a3efa3b244f84c7dceff8c7d5026) cri: call RegisterReadiness after NewCRIService * [release/1.7] Handle unexpected shim kill events ([#9132](https://github.com/containerd/containerd/pull/9132)) * [`3d27bc738`](https://github.com/containerd/containerd/commit/3d27bc738a6e6762a9c240f420491632e3eaae3d) Handle unexpected shim kill events * [release/1.7] Build binaries with 1.21.1 ([#9167](https://github.com/containerd/containerd/pull/9167)) * [`4ffa3ed29`](https://github.com/containerd/containerd/commit/4ffa3ed2940b122cf5191746edeb30e177ea9820) Build binaries with 1.21.1 * [release/1.7] vendor: github.com/Microsoft/hcsshim v0.11.1 ([#9127](https://github.com/containerd/containerd/pull/9127)) * [`5756f6064`](https://github.com/containerd/containerd/commit/5756f6064b89c4c403439b49353d5dd035ba8c4f) [release/1.7] vendor: github.com/Microsoft/hcsshim v0.11.1 * [release/1.7 backport] alias log package to github.com/containerd/log v0.1.0 ([#9106](https://github.com/containerd/containerd/pull/9106)) * [`09633b539`](https://github.com/containerd/containerd/commit/09633b539fad441c730569050e66a87d713a14a9) deprecate logs package, but disable linter (for transitioning) * [`cb201519f`](https://github.com/containerd/containerd/commit/cb201519f8757f4272d88f3a785a4cb56215095c) alias log package to github.com/containerd/log v0.1.0 * [`a5024e6dd`](https://github.com/containerd/containerd/commit/a5024e6dd9f797051a465516066b248294c434e1) vendor: github.com/stretchr/testify v1.8.4 * [`7bd976af3`](https://github.com/containerd/containerd/commit/7bd976af3fe068a79fec23d9fc05a69e26aa18c3) vendor: github.com/sirupsen/logrus v1.9.3 * [release/1.7] remotes/docker: Add MountedFrom and Exists push status ([#9097](https://github.com/containerd/containerd/pull/9097)) * [`8cd2d33c2`](https://github.com/containerd/containerd/commit/8cd2d33c2aaa730717be1b75a4d2f3629e493c55) [release/1.7] remotes/docker: Add MountedFrom and Exists push status * [release/1.7] vendor: update github.com/containerd/nri@v0.4.0 ([#9099](https://github.com/containerd/containerd/pull/9099)) * [`3ca015e55`](https://github.com/containerd/containerd/commit/3ca015e55672c128d9f021d14f49ef96c247cd5b) nri: update mock plugin handlers * [`4cd208c1f`](https://github.com/containerd/containerd/commit/4cd208c1f2d80d863776c1947881d5283f3b25fc) vendor: update github.com/containerd/nri@v0.4.0 </p> </details> ### Changes from containerd/log <details><summary>9 commits</summary> <p> * Update golangci to 1.49 ([#1](https://github.com/containerd/log/pull/1)) * [`89c9a54`](https://github.com/containerd/log/commit/89c9a54561e8736fddc519cf033d936de65ebe67) Update golangci to 1.49 * [`cf26711`](https://github.com/containerd/log/commit/cf267115d825238992448dbe1cd6cd440c934d8a) Update description in README * [`f9f250c`](https://github.com/containerd/log/commit/f9f250cc3a5d033c759b715aa09ff7cdbfc19500) Add project details * [`fb7fe3d`](https://github.com/containerd/log/commit/fb7fe3d663dee55b38f2ab094d9ac794dcacba40) Add github CI flow * [`7e13034`](https://github.com/containerd/log/commit/7e13034365475c99956f31770c43e296fc6d1a98) Add go module * [`16a3c76`](https://github.com/containerd/log/commit/16a3c768269b03fe62fff34d3a76528335a35064) Rename log import from logtest * [`698c398`](https://github.com/containerd/log/commit/698c39829fd9372465cb2537db16a7346afb9f31) Add README * [`87c83c4`](https://github.com/containerd/log/commit/87c83c42bbd22c5f1d3725fc5006b35217b4629a) Add license file </p> </details> ### Changes from containerd/nri <details><summary>35 commits</summary> <p> * releases: update note about 0.4.0 ([#50](https://github.com/containerd/nri/pull/50)) * [`5f13915`](https://github.com/containerd/nri/commit/5f139156d546cb68a8495c9c36cfc6a574ba3a55) releases: update note about 0.4.0 * Add support for rlimits ([#48](https://github.com/containerd/nri/pull/48)) * [`5ecea04`](https://github.com/containerd/nri/commit/5ecea042d15be1ba5e0b988a40a4c90fb2210a7f) ulimit-adjuster: add validation for hard limits * [`db3de10`](https://github.com/containerd/nri/commit/db3de101ccaba370f9238188da0d8e05039efdee) test: exclude ulimit-adjuster from ginkgo * [`f0deb59`](https://github.com/containerd/nri/commit/f0deb59b4fbf7bcc62597a1299f4544638daa81a) ulimit-adjuster: new sample plugin * [`d2dd708`](https://github.com/containerd/nri/commit/d2dd708de134cfe0617821142557b3e55b0bdf64) Add support for rlimits * [`efaf36e`](https://github.com/containerd/nri/commit/efaf36e49f30c4ca0bfb0bba2c412e87241674c1) api: add POSIXRlimit type * .github: add test build to CI workflow. ([#47](https://github.com/containerd/nri/pull/47)) * [`3f092c2`](https://github.com/containerd/nri/commit/3f092c29cf62a77c9eadaa9d7ff9ac28ece3d180) .github: add test build to CI workflow. * stub: pass context to plugins, pass updated resources to UpdateContainers. ([#40](https://github.com/containerd/nri/pull/40)) * [`01d5f14`](https://github.com/containerd/nri/commit/01d5f14d96708830f232b2744742fc14763816b1) Add a note about NRI API stability and release notes. * [`ea9976d`](https://github.com/containerd/nri/commit/ea9976d8dae3a6e630da76a26dbef44b5c8a3de3) adaptation: add UpdateContainer tests. * [`d042d24`](https://github.com/containerd/nri/commit/d042d24bc4a96fa5fcf1aa0d2195ff75833d7d4e) stub: fix plugin UpdateContainerInterface. * [`f5d0f51`](https://github.com/containerd/nri/commit/f5d0f513608b2afc3fcc5e6bdf76b10b3004c14c) plugins: update plugins for stub changes. * [`b4bd301`](https://github.com/containerd/nri/commit/b4bd301a1ead4d277af088e321c05e76102c8769) adaptation: update tests with stub changes. * [`9d86150`](https://github.com/containerd/nri/commit/9d86150fce4318491481e354d0f34c6b76e8806e) stub: pass context to plugin event handlers. * Updated the OCI Hook Injector README to resovle broken links to the p… ([#34](https://github.com/containerd/nri/pull/34)) * [`5eee915`](https://github.com/containerd/nri/commit/5eee9158f7fab6294bdbc5c76b2793f2dbe9faec) removed link * [`c783fc7`](https://github.com/containerd/nri/commit/c783fc76a80b315253d407f1e74ff9263cf5ce21) Resolves broken podman links and adds details to help better guide people in testing. * Fix ParseEventMask to produce proper masks for 'pod' and 'container' shorthand event notations. ([#39](https://github.com/containerd/nri/pull/39)) * [`da291a6`](https://github.com/containerd/nri/commit/da291a66180b6989a6dcc6bcffcc3257c185f8f8) Fix ParseEventMask to produce proper masks * fix the `NRI_PLUGIN_NAME` env value when launching a pre-installed plugin ([#42](https://github.com/containerd/nri/pull/42)) * [`4a4cea6`](https://github.com/containerd/nri/commit/4a4cea6142a5a34301b796a36355e3b38bb98522) fix the NRI_PLUGIN_NAME env value when launching a pre-installed plugin * [`a67478e`](https://github.com/containerd/nri/commit/a67478ed7c0b38454f3ef4e86f36d870c365c0d5) stub: update setIdentify to ensureIdentify * update module name of the logger plugin ([#41](https://github.com/containerd/nri/pull/41)) * [`841f5ed`](https://github.com/containerd/nri/commit/841f5ed96067b8d737e39e9df16c55231c350d1d) update module name of the logger plugin * Add gitignore for build artifacts ([#32](https://github.com/containerd/nri/pull/32)) * [`8d9c64d`](https://github.com/containerd/nri/commit/8d9c64def7f2ba89a065990e89c2bf39f8046bac) Add gitignore for build artifacts * Makefile: fix 'install-*' targets. ([#38](https://github.com/containerd/nri/pull/38)) * [`c03d1be`](https://github.com/containerd/nri/commit/c03d1bee1efca43e4b59395622510844b36cd26c) Makefile: fix 'install-*' targets. * docs: add a chapter about security considerations. ([#36](https://github.com/containerd/nri/pull/36)) * [`ab28e71`](https://github.com/containerd/nri/commit/ab28e7136bbf3c41c7344b0430087c1aed47b05a) docs: add a chapter about security considerations. * api: initialize OCI LinuxMemory resources to empty. ([#37](https://github.com/containerd/nri/pull/37)) * [`2862d98`](https://github.com/containerd/nri/commit/2862d98443ccdb1162963ee979639fd973ddc37b) api: initialize OCI LinuxMemory resources to empty. </p> </details> ### Dependency Changes * **github.com/Microsoft/hcsshim** v0.11.0 -> v0.11.1 * **github.com/containerd/log** v0.1.0 **_new_** * **github.com/containerd/nri** v0.3.0 -> v0.4.0 * **github.com/sirupsen/logrus** v1.9.0 -> v1.9.3 * **github.com/stretchr/testify** v1.8.2 -> v1.8.4 * **golang.org/x/crypto** v0.1.0 -> v0.11.0 * **golang.org/x/net** v0.8.0 -> v0.13.0 * **golang.org/x/sys** v0.7.0 -> v0.10.0 * **golang.org/x/term** v0.6.0 -> v0.10.0 * **golang.org/x/text** v0.8.0 -> v0.11.0 Previous release can be found at [v1.7.6](https://github.com/containerd/containerd/releases/tag/v1.7.6) ### 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. * `cri-containerd-<VERSION>-<OS>-<ARCH>.tar.gz`: (Deprecated) * `cri-containerd-cni-<VERSION>-<OS>-<ARCH>.tar.gz`: (Deprecated) 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.