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)