Skip to content
containerd api/v1.8.0-rc.4

Welcome to the api/v1.8.0-rc.4 release of containerd!
*This is a pre-release of containerd*

The first dedicated release for the containerd API. This release continues the 1.x
line of API compatibility with the 9th minor release of the 1.x API.

### Highlights

* Add Update API for sandbox controller ([#9903](https://github.com/containerd/containerd/pull/9903))
* Add PluginInfo to introspection API ([#9442](https://github.com/containerd/containerd/pull/9442))
* Expose usage of deprecated features ([#9258](https://github.com/containerd/containerd/pull/9258))
* Add image delete target ([#8989](https://github.com/containerd/containerd/pull/8989))

#### Go client

* Add api Go module and move all protos under api ([#10151](https://github.com/containerd/containerd/pull/10151))

#### Image Distribution

* Enable Transfer service API to support plain HTTP ([#10024](https://github.com/containerd/containerd/pull/10024))
* Enable Transfer service to use registry configuration directory ([#9908](https://github.com/containerd/containerd/pull/9908))
* Update Transfer service to add OCI descriptors to Progress structure ([#9630](https://github.com/containerd/containerd/pull/9630))
* Add option to perform syncfs after pull ([#9401](https://github.com/containerd/containerd/pull/9401))

#### Runtime

* Store bootstrap parameters in sandbox metadata ([#9736](https://github.com/containerd/containerd/pull/9736))
* Add sandboxer configuration and move sandbox controllers to plugins ([#8268](https://github.com/containerd/containerd/pull/8268))
* Add annotations to CreateSandbox request ([#8960](https://github.com/containerd/containerd/pull/8960))
* Add SandboxMetrics ([#8680](https://github.com/containerd/containerd/pull/8680))
* Publish sandbox events ([#8602](https://github.com/containerd/containerd/pull/8602))

#### Deprecations

* Add type alias for event Envelope ([#10279](https://github.com/containerd/containerd/pull/10279))

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

### Contributors

* Derek McGowan
* Maksym Pavlenko
* Wei Fu
* Abel Feng
* Akihiro Suda
* Phil Estes
* Danny Canter
* Samuel Karp
* Kohei Tokunaga
* Sebastiaan van Stijn
* Akhil Mohan
* Brian Goff
* Bryant Biggs
* Davanum Srinivas
* Iceber Gu
* Kirtana Ashok

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

* Clean up some dependency trees for runc shim ([#10757](https://github.com/containerd/containerd/pull/10757))
  * [`2123855ee`](https://github.com/containerd/containerd/commit/2123855eeb399dfcbb152ca3502e8fb4322d06cb) Add build tag to omit grpc
* Add Update API for sandbox controller ([#9903](https://github.com/containerd/containerd/pull/9903))
  * [`15887d7ef`](https://github.com/containerd/containerd/commit/15887d7efc60e4bde9e65c87a0376d94e9f6eb04) sandbox: add update api for controller
* api: update github.com/containerd/ttrpc v1.2.5 to be aligned with containerd ([#10366](https://github.com/containerd/containerd/pull/10366))
  * [`cb38b1e2b`](https://github.com/containerd/containerd/commit/cb38b1e2be065ea9e248e03906ee893f954370d8) api: update github.com/containerd/ttrpc v1.2.5
* Add type alias for event Envelope ([#10279](https://github.com/containerd/containerd/pull/10279))
  * [`3e71ccafc`](https://github.com/containerd/containerd/commit/3e71ccafc48bc87a054f4ce3a67ecf2df91932c5) Add type alias for event Envelope
* Update api minimum Go version to 1.21 ([#10276](https://github.com/containerd/containerd/pull/10276))
  * [`359d84351`](https://github.com/containerd/containerd/commit/359d84351d53d335688ab96c1a3e1ae0151b3a2d) Update api minimum go version to 1.21
* Prepare release notes for api/v1.8.0-rc.0 ([#10167](https://github.com/containerd/containerd/pull/10167))
  * [`55fcebffc`](https://github.com/containerd/containerd/commit/55fcebffc76e642e9155eda5e097043f95109e4d) Prepare release notes for api/v1.8.0
* Add api Go module and move all protos under api ([#10151](https://github.com/containerd/containerd/pull/10151))
  * [`2ac2b9c90`](https://github.com/containerd/containerd/commit/2ac2b9c909fb64f4d06958a0ca2f556bec348d05) Make api a Go sub-module
  * [`3e9cace72`](https://github.com/containerd/containerd/commit/3e9cace720cee5eb631c8291d8fb51928dc3fb3b) Move runtimeoptions to api directory
  * [`4a4550777`](https://github.com/containerd/containerd/commit/4a455077722796fd6a63253bc30d2b4c0c379d1d) Move runc options to api directory
* Store bootstrap parameters in sandbox metadata ([#9736](https://github.com/containerd/containerd/pull/9736))
  * [`de38490ed`](https://github.com/containerd/containerd/commit/de38490ed6b8d9cb9cb6ea7cfcd0071e8f27d304) sandbox: merge address and protocol to one url
  * [`f6e0cf189`](https://github.com/containerd/containerd/commit/f6e0cf1894b9211f07d801e1af3166f290969cd7) sandbox: add address info in Start and Status response
* Enable Transfer service API to support plain HTTP ([#10024](https://github.com/containerd/containerd/pull/10024))
  * [`433279438`](https://github.com/containerd/containerd/commit/4332794384253ad85a05a17fe42aa929f62fc72a) Transfer: Registry: Enable plain HTTP
* Enable Transfer service to use registry configuration directory ([#9908](https://github.com/containerd/containerd/pull/9908))
  * [`7a3b7fba5`](https://github.com/containerd/containerd/commit/7a3b7fba59a9ff9e8756976cf6f55117b1814a63) Transfer: Registry: Enable to use registry configuration diretory
* Generate proto services with go-ttrpc ([#7609](https://github.com/containerd/containerd/pull/7609))
  * [`f0e874941`](https://github.com/containerd/containerd/commit/f0e8749411301e99958e0caf545d85bf0112dda4) Add ttrpc generated services
  * [`65031eade`](https://github.com/containerd/containerd/commit/65031eadec262d783db25456a8bbca1eed1956b7) Update protobuild to build ttrpc services
* Add OSVersion to platform protobuf ([#9733](https://github.com/containerd/containerd/pull/9733))
  * [`5aa05481d`](https://github.com/containerd/containerd/commit/5aa05481ddd40138eef79ec4bce2b0232adef354) Add OSVersion to platform protobuf
* Move Message proto to types ([#9742](https://github.com/containerd/containerd/pull/9742))
  * [`0facc8592`](https://github.com/containerd/containerd/commit/0facc85925a114edac4b3b05a871f4ad205f45f1) Fix proto formatting
  * [`7f2d2c4f4`](https://github.com/containerd/containerd/commit/7f2d2c4f44afe090872301cc8614e8fc0d432e9e) Move Message proto to types
* refactor: move plugin/fieldpath to api/types/ ([#9687](https://github.com/containerd/containerd/pull/9687))
  * [`b16e3572a`](https://github.com/containerd/containerd/commit/b16e3572a308be0c58b3c810b1922ec8d444d1f7) refactor: move plugin/fieldpath to api/types/
* Add PluginInfo to introspection API ([#9442](https://github.com/containerd/containerd/pull/9442))
  * [`22d586e51`](https://github.com/containerd/containerd/commit/22d586e515654d3a901c40443fb2b4adcad65827) api/services/instrospection: add PluginInfo
* Update Transfer service to add OCI descriptors to Progress structure ([#9630](https://github.com/containerd/containerd/pull/9630))
  * [`a2472c0b5`](https://github.com/containerd/containerd/commit/a2472c0b5ab17e46ab3f3b000a6fa512a45d7f05) transfer: add OCI descriptors to Progress structure
* Add option to perform syncfs after pull ([#9401](https://github.com/containerd/containerd/pull/9401))
  * [`bd5c602c4`](https://github.com/containerd/containerd/commit/bd5c602c4dc91d19976f2dc222a337ab76716750) api: introduce sync_fs to diff.ApplyRequest
* Containerd v2 module ([#9306](https://github.com/containerd/containerd/pull/9306))
  * [`5fdf55e49`](https://github.com/containerd/containerd/commit/5fdf55e493d68079d22a08de1a7afe522e5838e5) Update go module to github.com/containerd/containerd/v2
* Expose usage of deprecated features ([#9258](https://github.com/containerd/containerd/pull/9258))
  * [`57c897f10`](https://github.com/containerd/containerd/commit/57c897f10df48556af799f71c85a91b889df2d70) api/introspection: deprecation warnings in server
* Add sandboxer configuration and move sandbox controllers to plugins ([#8268](https://github.com/containerd/containerd/pull/8268))
  * [`d2d434b7d`](https://github.com/containerd/containerd/commit/d2d434b7d6546842b1f791ef17392da99320265d) sandbox: add all sandbox information to Create method
  * [`f372b3501`](https://github.com/containerd/containerd/commit/f372b3501b6096c8228203f9d5d5aae8ff998d61) sandbox: add sandboxer field of sandbox requests
* Add image delete target ([#8989](https://github.com/containerd/containerd/pull/8989))
  * [`f8fb2dad3`](https://github.com/containerd/containerd/commit/f8fb2dad39a4b45ce1de59f236e72ee72ad53cf7) api: update image service to support target in delete request
* fix: Add `containerd` to the message type reference ([#9126](https://github.com/containerd/containerd/pull/9126))
  * [`42eee8bf0`](https://github.com/containerd/containerd/commit/42eee8bf05c89524a29f064cb4ce0a460a8c0081) fix: Add `containerd` to the message type reference
* platforms: isolate from errdefs and api dependencies ([#9095](https://github.com/containerd/containerd/pull/9095))
  * [`e916d77c8`](https://github.com/containerd/containerd/commit/e916d77c81b8a61d7a37276e310b4a150b04f4ab) platforms: move ToProto, FromProto to api/types
* Add annotations to CreateSandbox request ([#8960](https://github.com/containerd/containerd/pull/8960))
  * [`939ccbed4`](https://github.com/containerd/containerd/commit/939ccbed427e81eaecd37777ddcb2eac792114e6) Sandbox: Add annotations to CreateSandbox surface
* archive: use 1970-01-01 as the whiteout timestamp ([#8764](https://github.com/containerd/containerd/pull/8764))
  * [`5dedb6d0d`](https://github.com/containerd/containerd/commit/5dedb6d0d2565507f0636254a18fdb7462a9eac3) archive: use 1970-01-01 as the whiteout timestamp
* Add SandboxMetrics ([#8680](https://github.com/containerd/containerd/pull/8680))
  * [`d278d37ca`](https://github.com/containerd/containerd/commit/d278d37caae501ef18fd919e611610c639ad471b) Sandbox: Add Metrics rpc for controller
  * [`d56722ef2`](https://github.com/containerd/containerd/commit/d56722ef2a42953841728f5ed5666da776ce0d8f) Sandbox: Add SandboxMetrics rpc
* Publish sandbox events ([#8602](https://github.com/containerd/containerd/pull/8602))
  * [`65906335b`](https://github.com/containerd/containerd/commit/65906335bf086dfe4ed73fbddb90429047e8aa96) Add sandbox events protos
* Cleanup protobuild config ([#8278](https://github.com/containerd/containerd/pull/8278))
  * [`0bbca7f1b`](https://github.com/containerd/containerd/commit/0bbca7f1bcc29933dfd3cb3c463cc4fb8fbbe036) Cleanup protobuild config
</p>
</details>

### Dependency Changes

* **github.com/containerd/log**                  v0.1.0 **_new_**
* **github.com/containerd/ttrpc**                v1.2.1 -> v1.2.5
* **github.com/containerd/typeurl/v2**           v2.1.0 -> v2.1.1
* **github.com/golang/protobuf**                 v1.5.2 -> v1.5.3
* **github.com/opencontainers/image-spec**       3a7f492d3f1b -> v1.1.0
* **github.com/sirupsen/logrus**                 v1.9.0 -> v1.9.3
* **golang.org/x/net**                           v0.7.0 -> v0.23.0
* **golang.org/x/sys**                           v0.6.0 -> v0.18.0
* **golang.org/x/text**                          v0.7.0 -> v0.14.0
* **google.golang.org/genproto/googleapis/rpc**  c3f982113cda **_new_**
* **google.golang.org/grpc**                     v1.53.0 -> v1.59.0
* **google.golang.org/protobuf**                 v1.28.1 -> v1.33.0

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