Skip to content
containerd 1.2.9

Welcome to the v1.2.9 release of containerd!

The ninth patch release for `containerd` 1.2 provides a handful of bug fixes and an
update to the gRPC vendored codebase to include 3 CVE fixes provided in the upstream
v1.23.0 release of gRPC. Note that updating gRPC to the current release required small
changes to our core containerd codebase to match the upstream changes since gRPC v1.12.0.
These changes have been backported from containerd's master branch, as well as a
similar small change in ttrpc, requiring that package's vendoring to be updated.

In addition to the gRPC update to include CVE fixes, fixes were made to correct a
container's default Unix environment (introduced in 1.2.8), a small list of CRI plugin
fixes, as well as fixes for registry interactions where `Docker-Content-Digest` is not
returned (e.g. GitHub Package Registry), and a tar archive modification time bug found
by the buildkit maintainers. A fix to the zfs snapshotter was also included via a
re-vendoring of containerd's zfs import. More notes on these fixes are found below.

### Notable Updates
* Cherry-pick update to gRPC 1.23.0. [PR #3586](https://github.com/containerd/containerd/pull/3586) {cherry-picked from changes in master PRs [#3192](https://github.com/containerd/containerd/pull/3192) and [#3581](https://github.com/containerd/containerd/pull/3581)}.
  - Fixes [grpc/grpc-go#2970](https://github.com/grpc/grpc-go/pull/2970) transport: block reading frames when too many transport control frames are queued.
  - Addresses CVE-2019-9512 (Ping Flood), CVE-2019-9514 (Reset Flood), and CVE-2019-9515 (Settings Flood).
  - Other changes can be found in the [gRPC release notes](https://github.com/grpc/grpc-go/releases/tag/v1.23.0).

* CRI fixes:
  - Fix a bug that the default apparmor profile is mistakenly applied to privileged containers with runtime/default specified. [containerd/cri#1239](https://github.com/containerd/cri/issues/1239)
  - Fix a bug that image can't be pulled if an empty AuthConfig is specified. [containerd/cri#1249](https://github.com/containerd/cri/issues/1249)

* Bug fix: Compute manifest data when not provided (Docker-Content-Digest header missing). [PR #3591](https://github.com/containerd/containerd/pull/3591) {cherry-picked from master [PR #3245](https://github.com/containerd/containerd/pull/3245) with backports of [#2871](https://github.com/containerd/containerd/pull/2871) and [#3335](https://github.com/containerd/containerd/pull/3335) required}.
* Bug fix: Use default UNIX env when image has no environment. [PR #3601](https://github.com/containerd/containerd/pull/3601) {cherry-picked from master branch [PR #3599](https://github.com/containerd/containerd/pull/3599)}.
* Bug fix: archive: truncate modification time. [PR #3602](https://github.com/containerd/containerd/pull/3602) {cherry-picked from master branch [PR #3589](https://github.com/containerd/containerd/pull/3589)}.
* Bug fix: zfs: Datasets don't seem to be cleaned up properly on image removal. Reported in [containerd/zfs#22](https://github.com/containerd/zfs/issues/22) and fixed by [PR containerd/zfs#24](https://github.com/containerd/zfs/pull/24) and re-vendored into containerd `release/1.2` via [PR #3596](https://github.com/containerd/containerd/pull/3596).

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

### Contributors

* Michael Crosby
* Phil Estes
* Derek McGowan
* Wei Fu
* Akihiro Suda
* Lantao Liu
* Sebastiaan van Stijn
* Maksym Pavlenko
* Akihiro Suda
* Charles Kenney
* Eric Lin
* Kevin Parsons
* Mark Gordon
* Nishchay
* Nishchay Kumar
* Tõnis Tiigi

### Changes

* [`d50db0a420`](https://github.com/containerd/containerd/commit/d50db0a42053864a270f648048f9a8b4f24eced3) Merge pull request  [#3587](https://github.com/containerd/containerd/pull/3587) from estesp/prep-v1.2.9
* [`b3a8460684`](https://github.com/containerd/containerd/commit/b3a846068428bed48d9c32b16843ca15bbffcbcb) Update mailmap
* [`1530fcac13`](https://github.com/containerd/containerd/commit/1530fcac13564804a9a56f1dc9d6d1f816f8dc0f) Merge pull request  [#3608](https://github.com/containerd/containerd/pull/3608) from awesomenix/release/1.2
* [`413609294d`](https://github.com/containerd/containerd/commit/413609294dd7421424b06744151b109718c64df5) Prepare v1.2.9 release
* [`6ef0529f1f`](https://github.com/containerd/containerd/commit/6ef0529f1f0f6d870771b9e772f07cd314ed9f72) Merge pull request  [#3591](https://github.com/containerd/containerd/pull/3591) from thaJeztah/1.2_backport_compute_manifest_metadata
* [`ad5af8a4e3`](https://github.com/containerd/containerd/commit/ad5af8a4e381ec204802e469f13e76077132de2a) Merge pull request  [#3586](https://github.com/containerd/containerd/pull/3586) from estesp/cp-3581
* [`322c57a10f`](https://github.com/containerd/containerd/commit/322c57a10f7bf96d8fa99df5837c4faca766fcea) Merge pull request  [#3602](https://github.com/containerd/containerd/pull/3602) from estesp/cp-3589
* [`b1e40b64f8`](https://github.com/containerd/containerd/commit/b1e40b64f87bdc980f1c276a7522b4756be314f5) [release/1.2] Update cri to ad5dcc6cba067488d017540d06ebc08b21bb82bc
* [`ef264a7411`](https://github.com/containerd/containerd/commit/ef264a7411f14099af2f8b64879c82605476fc6e) Merge pull request  [#3601](https://github.com/containerd/containerd/pull/3601) from estesp/cp-3599
* [`14ff021bd6`](https://github.com/containerd/containerd/commit/14ff021bd60ba6079a2ab0147e26488c42d9ff70) archive: truncate modification time
* [`86ea2b7266`](https://github.com/containerd/containerd/commit/86ea2b726615e035ab10309abf7e18a64ee7406d) Use default UNIX env when image has no environment
* [`783f67d5ac`](https://github.com/containerd/containerd/commit/783f67d5acd99a9340a044574adb68343e2a017c) Merge pull request  [#3596](https://github.com/containerd/containerd/pull/3596) from AkihiroSuda/zfs-20190829-12
* [`99c2e56e30`](https://github.com/containerd/containerd/commit/99c2e56e3000d851ab97f6d1c81857efcc699377) bump containerd/zfs 2ceb2dbb8154202ed1b8fd32e4ea25b491d7b251
* [`0d6d883a6d`](https://github.com/containerd/containerd/commit/0d6d883a6d315878f57cc88f14b9e426be637608) Compute manifest metadata when not provided.
* [`e6275a02bf`](https://github.com/containerd/containerd/commit/e6275a02bf8d8192ed148c2d57e2e078ec46f8c6) Add user agent header to all requests
* [`4bffd8855e`](https://github.com/containerd/containerd/commit/4bffd8855ee4e7e2d7c921186dd2168dee933958) Explicitly stating utf-8 when fetching oauth token
* [`09c68d083f`](https://github.com/containerd/containerd/commit/09c68d083fa9d71ad2aefc83974811198f07637d) Add custom headers option to dockerResolver
* [`5c284a771b`](https://github.com/containerd/containerd/commit/5c284a771b8481d581f76de8c2076606dcc685a2) Revert "Add user agent header to all requests"
* [`08325686b9`](https://github.com/containerd/containerd/commit/08325686b903d38e5c72a95f31c19082c9a5c557) Update gRPC to v1.23.0
* [`5fbd02f81b`](https://github.com/containerd/containerd/commit/5fbd02f81b66392946189ae5fb5a8927bfd32b6d) Update ttrpc to 92c8520ef9f86600c650dd540266a00

### Changes from containerd/cri

* [`ad5dcc6c`](https://github.com/containerd/cri/commit/ad5dcc6cba067488d017540d06ebc08b21bb82bc) Merge pull request  [#1254](https://github.com/containerd/cri/pull/1254) from awesomenix/release/1.2
* [`ce727bab`](https://github.com/containerd/cri/commit/ce727bab729ad258c4e2b4346e363de20d7196e9) fix: support empty auth config for anonymous registry
* [`0ee59257`](https://github.com/containerd/cri/commit/0ee59257af5b4de7e41ead2149fe531c5b8e16fe) Merge pull request  [#1241](https://github.com/containerd/cri/pull/1241) from Random-Liu/cherrypick-#1240-release-1.2
* [`f5a171f4`](https://github.com/containerd/cri/commit/f5a171f400d0e8ece77e1e6972b7aba0f131564f) Fix apparmor for privileged.

### Changes from containerd/ttrpc

* [`92c8520`](https://github.com/containerd/ttrpc/commit/92c8520ef9f86600c650dd540266a007bf03670f) Merge pull request  [#49](https://github.com/containerd/ttrpc/pull/49) from crosbymichael/status
* [`0e0f228`](https://github.com/containerd/ttrpc/commit/0e0f228740de8ef098d18c490be48c364b3dda05) Handle ok status
* [`9abb3e2`](https://github.com/containerd/ttrpc/commit/9abb3e268010ea188f4e4051f77eb5aca49315fb) Merge pull request  [#48](https://github.com/containerd/ttrpc/pull/48) from crosbymichael/travis
* [`8c74fe8`](https://github.com/containerd/ttrpc/commit/8c74fe86d790d51a3b3895960e90b6707fc0f2c9) Update to go 1.12x on travis
* [`1ab4dfb`](https://github.com/containerd/ttrpc/commit/1ab4dfb4c977bfd436355a53a4203913c2df06bf) Merge pull request  [#46](https://github.com/containerd/ttrpc/pull/46) from thaJeztah/adjust_for_grpc_1.23
* [`17f4d32`](https://github.com/containerd/ttrpc/commit/17f4d32234ddcc21bc0540f4ad319fb056b1216d) Client.Call(): do not return error if no Status is set (gRPC v1.23 and up)
* [`f969a7f`](https://github.com/containerd/ttrpc/commit/f969a7f076a2309c3cc5b93ab8fcc2f143cc25cd) Merge pull request  [#44](https://github.com/containerd/ttrpc/pull/44) from kevpar/method-full-name
* [`271238a`](https://github.com/containerd/ttrpc/commit/271238abf2f97c4f48f466e71641382b7b5257d1) Fix method full name generation
* [`1fb3814`](https://github.com/containerd/ttrpc/commit/1fb3814edf44a76e0ccf503decf726d994919a9a) Merge pull request  [#42](https://github.com/containerd/ttrpc/pull/42) from crosbymichael/client
* [`5829a06`](https://github.com/containerd/ttrpc/commit/5829a06d8c9c0240a9f7a164b31fdd117bc7101a) Merge pull request  [#43](https://github.com/containerd/ttrpc/pull/43) from crosbymichael/metadata
* [`694de9d`](https://github.com/containerd/ttrpc/commit/694de9d9557f6c1251d484bf0d2fdf378342fff1) metadata as KeyValue type
* [`3afb82b`](https://github.com/containerd/ttrpc/commit/3afb82bd2726e56810fb416d4869420ad6d0b2b1) Fix error handling with server shutdown
* [`f3eb35b`](https://github.com/containerd/ttrpc/commit/f3eb35b158fd4000538703db623e3da7baf69d4e) Refactor close handling for ttrpc clients
* [`d134fe7`](https://github.com/containerd/ttrpc/commit/d134fe75a41a1da0056294d0426a4aec044bd49d) Merge pull request  [#41](https://github.com/containerd/ttrpc/pull/41) from crosbymichael/interceptors
* [`de8faac`](https://github.com/containerd/ttrpc/commit/de8faac08ba83f355db2c8972c444ecd151d5e1a) Add godocs for interceptors
* [`e409d7d`](https://github.com/containerd/ttrpc/commit/e409d7d775bf8a9b74268b4f59c317f494ba85d5) Add example binary for testing the example service
* [`819653f`](https://github.com/containerd/ttrpc/commit/819653f40c3ed5441c8f73050509d9ff6784d325) Add client and server unary interceptors
* [`a5bd8ce`](https://github.com/containerd/ttrpc/commit/a5bd8ce9e40bc7c065a11c6936f4d032ce6bfa2b) Merge pull request  [#40](https://github.com/containerd/ttrpc/pull/40) from mxpv/headers
* [`04523b9`](https://github.com/containerd/ttrpc/commit/04523b9d2c466b8b716f4177ed81b5f2ac81048a) Rename headers to metadata
* [`5926a92`](https://github.com/containerd/ttrpc/commit/5926a92b70e623c78a690e6bfe4848e6deb2270c) Support headers

### Changes from containerd/zfs

* [`2ceb2db`](https://github.com/containerd/zfs/commit/2ceb2dbb8154202ed1b8fd32e4ea25b491d7b251) Merge pull request  [#24](https://github.com/containerd/zfs/pull/24) from AkihiroSuda/fix-remove-committed
* [`5b87656`](https://github.com/containerd/zfs/commit/5b87656ef290ca02328db8c2048b68f67d7656b5) Merge pull request  [#23](https://github.com/containerd/zfs/pull/23) from AkihiroSuda/update-travis
* [`1b4b223`](https://github.com/containerd/zfs/commit/1b4b223f74e81da3bff8d1b072c76a3acda7f8ad) update .travis.yml
* [`6fde16e`](https://github.com/containerd/zfs/commit/6fde16e2c480f7dc6f61a905744dbd3980bfc340) fix removing Committed
* [`31af176`](https://github.com/containerd/zfs/commit/31af176f2ae84fe142ef2655bf7bb2aa618b3b1f) Merge pull request  [#21](https://github.com/containerd/zfs/pull/21) from estesp/add-project-repo-checks
* [`2f23511`](https://github.com/containerd/zfs/commit/2f235119dd7a37da77f3727d64100c68088ad1c6) Add common project content/checks to zfs
* [`c6182c4`](https://github.com/containerd/zfs/commit/c6182c4d3d01575a4c87b66c9b3ef81dc55ded31) Add license headers to files
* [`9f6ef3b`](https://github.com/containerd/zfs/commit/9f6ef3b1fe5144bd91fe5855b4eba81bc0d17d03) Merge pull request  [#20](https://github.com/containerd/zfs/pull/20) from containerd/skip
* [`d78b0d0`](https://github.com/containerd/zfs/commit/d78b0d0a3209bb5e541e25a49144e5fe92fe2377) Return skip error on unsupported fs
* [`39692b4`](https://github.com/containerd/zfs/commit/39692b47b0de2609e33dc36f4536e55f75b97adf) Merge pull request  [#19](https://github.com/containerd/zfs/pull/19) from AkihiroSuda/update-containerd
* [`154f951`](https://github.com/containerd/zfs/commit/154f95142514539415fe90a461100d70cc67988c) update containerd

### Dependency Changes

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

* **github.com/containerd/cri**    d928a4dd337fd2a992dbe72380eff2063c3ec62f -> ad5dcc6cba067488d017540d06ebc08b21bb82bc
* **github.com/containerd/ttrpc**  f82148331ad2181edea8f3f649a1f7add6c3f9c2 -> 92c8520ef9f86600c650dd540266a007bf03670f
* **github.com/containerd/zfs**    9a0b8b8b5982014b729cd34eb7cd7a11062aa6ec -> 2ceb2dbb8154202ed1b8fd32e4ea25b491d7b251
* **github.com/google/uuid**       v1.1.1 **_new_**
* **github.com/mistifyio/go-zfs**  166add352731e515512690329794ee593f1aaff2 -> f784269be439d704d3dfa1906f45dd848fed2beb
* **google.golang.org/grpc**       v1.12.0 -> 6eaf6f47437a6b4e2153a190160ef39a92c7eceb