Skip to content
containerd 1.7.4

Welcome to the v1.7.4 release of containerd!

The fourth patch release for containerd 1.7 contains remote differ plugin support,
a new block file based snapshotter, and various fixes and updates.

### Notable Updates

* **Add blockfile snapshotter** ([#8986](https://github.com/containerd/containerd/pull/8986))
* **Add remote/proxy differ** ([#8985](https://github.com/containerd/containerd/pull/8985))
* **Update runc binary to v1.1.9** ([#8965](https://github.com/containerd/containerd/pull/8965))
* **Cri: Don't use rel path for image volumes** ([#8926](https://github.com/containerd/containerd/pull/8926))
* **Allow attaching to any combination of stdin/out/err** ([#8910](https://github.com/containerd/containerd/pull/8910))
* **Fix ro mount option being passed** ([#8887](https://github.com/containerd/containerd/pull/8887))
* **Fix leaked shim caused by high IO pressure** ([#9003](https://github.com/containerd/containerd/pull/9003))
* **Add configurable mount options to overlay snapshotter** ([#9005](https://github.com/containerd/containerd/pull/9005))

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

* Wei Fu
* Derek McGowan
* Akihiro Suda
* Kazuyoshi Kato
* Cardy.Tang
* Phil Estes
* Ben Foster
* Danny Canter
* Hsing-Yu (David) Chen
* James Jenkins
* James Sturtevant
* Maksym Pavlenko
* Rodrigo Campos
* Sebastiaan van Stijn
* rongfu.leng

### Changes
<details><summary>43 commits</summary>
<p>

* [release/1.7] Prepare release notes for v1.7.4 ([#9000](https://github.com/containerd/containerd/pull/9000))
  * [`7a0cae3ca`](https://github.com/containerd/containerd/commit/7a0cae3ca1acf9a5ab4df4f77ee1b7cc6c3306ce) [release/1.7] Prepare release notes for v1.7.4
* [releases/1.7] *: fix leaked shim caused by high IO pressure ([#9003](https://github.com/containerd/containerd/pull/9003))
  * [`537d7526e`](https://github.com/containerd/containerd/commit/537d7526e44bcefe509614abc04930345fbdb941) integration: issue7496 case should work for runc.v2 only
  * [`5add172be`](https://github.com/containerd/containerd/commit/5add172be5d27d1f98b430a6775da0256afc1e82) Vagrantfile: add strace tool
  * [`207e28f36`](https://github.com/containerd/containerd/commit/207e28f36dd9daa7ef412c0c2b7b32af3356a2da) integration: add ShouldRetryShutdown case based on #7496
  * [`b4f480fb3`](https://github.com/containerd/containerd/commit/b4f480fb30f71ec15055cab0421aa16258ac4b58) pkg/cri/sbserver: fix leaked shim issue for podsandbox mode
  * [`88ff575c5`](https://github.com/containerd/containerd/commit/88ff575c5cecf81ea7ef78079941521123b451de) pkg/cri/server: fix leaked shim issue
  * [`9f61dfb7c`](https://github.com/containerd/containerd/commit/9f61dfb7c50dea7bdf4326cf7b04a2ec088b81a5) integration: add case to reproduce #7496
* [release/1.7] Cherry-pick: [overlay] add configurable mount options to overlay snapshotter ([#9005](https://github.com/containerd/containerd/pull/9005))
  * [`0f4885c16`](https://github.com/containerd/containerd/commit/0f4885c1660d2b1a855e79751daf5367fc679079) Add configurable mount options to overlay
  * [`8804a27d7`](https://github.com/containerd/containerd/commit/8804a27d72275497e4a590b92832d4f1076b43dc) feat: make overlay sync removal configurable
* [release/1.7] Remove temporary replace ([#8997](https://github.com/containerd/containerd/pull/8997))
  * [`1c2dd5198`](https://github.com/containerd/containerd/commit/1c2dd5198e5d3d6d111d37a68ad67ae37adf6101) Remove temporary replace
* [release/1.7] Add blockfile snapshotter ([#8986](https://github.com/containerd/containerd/pull/8986))
  * [`2bf6bd143`](https://github.com/containerd/containerd/commit/2bf6bd1431512c59f91318e817ee83c4adfcd282) vendor: update github.com/containerd/continuity
  * [`30a163086`](https://github.com/containerd/containerd/commit/30a163086959b89459b8193884f669561bb56f9e) snapshots|pkg: umount without DETACH and nosync after umount
  * [`c9eebe3d1`](https://github.com/containerd/containerd/commit/c9eebe3d1151ba3e523c2f0473e61132edf95a72) mount: support direct-io for loopback device
  * [`1c2977db0`](https://github.com/containerd/containerd/commit/1c2977db01efdd4a5aaff79d72d7e21b19d0f59a) Modify loopback size
  * [`cf9c78d2d`](https://github.com/containerd/containerd/commit/cf9c78d2d9eb7c3d66d1a94768d63b4f8482c4b2) snapshots/blockfile: fix lint issue
  * [`b823b4f54`](https://github.com/containerd/containerd/commit/b823b4f546cec4a9d92f9a8ed5b606cbffa287f9) snapshots/blockfile: deflaky the testsuite
  * [`6daeceb11`](https://github.com/containerd/containerd/commit/6daeceb1168303548ddc0d1af420813ad8475ceb) snapshots/blockfile: use passed in dst in scratchGenerator
  * [`99b61aee3`](https://github.com/containerd/containerd/commit/99b61aee341fa89370524e49b42212cea79d9fbc) snapshots/blockfile: use loop if options is empty
  * [`fd39769ac`](https://github.com/containerd/containerd/commit/fd39769ac70a382a0b4459080cb2f10c40842182) Add mount options to blockfile snapshotter
  * [`8d732c6c2`](https://github.com/containerd/containerd/commit/8d732c6c22d6e723f65be957427b16d48e1d488d) Add sync before unmount on snapshotter layer test
  * [`8472a407e`](https://github.com/containerd/containerd/commit/8472a407e0eb91f4e10d9e446bdfd439d11cfd55) Add blockfile snapshotter to snapshotters doc
  * [`6740d77ca`](https://github.com/containerd/containerd/commit/6740d77cae44522820e7575eb9d105e6c5b8d56b) Add blockfile as a builtin
  * [`07cc24b32`](https://github.com/containerd/containerd/commit/07cc24b32a319fb72622453f40ee8c338062df95) Add blockfile snapshotter
* [release/1.7] Backport remote/proxy differ ([#8985](https://github.com/containerd/containerd/pull/8985))
  * [`32e3b76ee`](https://github.com/containerd/containerd/commit/32e3b76ee70fea42234b95ef01f78a13ac7c5c1d) Add diffservice to contrib
  * [`661e505c8`](https://github.com/containerd/containerd/commit/661e505c8239e97710bac220edf735f06027dbda) Add proxy differ
* [release/1.7 backport] update runc binary to v1.1.9 ([#8965](https://github.com/containerd/containerd/pull/8965))
  * [`af79c07fd`](https://github.com/containerd/containerd/commit/af79c07fd69cd20b97b37a903ee6c6957e4628ec) update runc binary to v1.1.9
* [release/1.7] Port fix for Linux Integration test failure ([#8950](https://github.com/containerd/containerd/pull/8950))
  * [`c0b1c8f74`](https://github.com/containerd/containerd/commit/c0b1c8f74aa5616c5e27845d18d4dca5ab30f9fd) fix ci Linux Integration test fail
* [release/1.7] cri: Don't use rel path for image volumes ([#8926](https://github.com/containerd/containerd/pull/8926))
  * [`4e97a115f`](https://github.com/containerd/containerd/commit/4e97a115f702bd7de43ee17442a96f3537007a07) cri: Don't use rel path for image volumes
* [release/1.7] fix: allow attaching to any combination of stdin/stdout/stderr ([#8910](https://github.com/containerd/containerd/pull/8910))
  * [`34a5d0330`](https://github.com/containerd/containerd/commit/34a5d033007eaae0530a89470407fbe920eec033) fix: allow attaching to any combination of stdin/stdout/stderr
* [release/1.7 backport] update to go1.20.7, go1.19.12 ([#8906](https://github.com/containerd/containerd/pull/8906))
  * [`c5e7b84c0`](https://github.com/containerd/containerd/commit/c5e7b84c08b507f93b2df6d393eede3ff75f4e2f) update to go1.20.7, go1.19.12
* [release/1.7] cherry-pick: Fix ro mount option being passed ([#8887](https://github.com/containerd/containerd/pull/8887))
  * [`2eaeb3205`](https://github.com/containerd/containerd/commit/2eaeb3205a1bd61b385a259d43f29ccc09993e18) Fix ro mount option being passed
</p>
</details>

### Changes from containerd/continuity
<details><summary>4 commits</summary>
<p>

* fs: use io.Copy because go supports CopyFileRange ([#227](https://github.com/containerd/continuity/pull/227))
  * [`4b8bec5`](https://github.com/containerd/continuity/commit/4b8bec5682b6d50a6fba026303fb42a6369851a6) fs: use io.Copy because go supports CopyFileRange
* fs/fstest: CreateFile should use sync ([#228](https://github.com/containerd/continuity/pull/228))
  * [`3fa7d7a`](https://github.com/containerd/continuity/commit/3fa7d7a5ec66805f9f099001d3fe83f11fb80c0c) fs/fstest: CreateFile should use sync
</p>
</details>

### Dependency Changes

* **github.com/AdaLogics/go-fuzz-headers**    1f10f66a31bf -> ced1acdcaa24
* **github.com/AdamKorcz/go-118-fuzz-build**  5330a85ea652 -> 8075edf89bb0
* **github.com/containerd/continuity**        v0.4.1 -> 1e0d26eb2381

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