containerd 1.0.0-beta.1 Welcome to the second beta release of `containerd`. The highlights of this release focus around making integrations much easier. The `Container.Extensions` field allows one to add arbitrary metadata, such as protobufs and json, to a container metadata object. The `Tasks.Wait` rpc makes waiting for containers to exit much simpler in practice. With this release, `containerd` now fully supports pulling multi-platform Docker and OCI images, complete with foreign layer support. Please try out the release binaries and report any issues at https://github.com/containerd/containerd/issues. Upgrading Label validation now requires that the key and value together are under 4096 bytes. If you had labels large than this size, metadata objects may need to be rewritten. The metrics API has been moved from `/metrics` to be versioned under `/v1/metrics` and is now slated to be covered under our release policy. The `Tasks` service now has a `Wait` rpc to make it easier to wait on container processes, eliminating race conditions that were hard to handle with events. Old clients will still work with events, but they will suffer from the problems that this change is meant to solve. Multi-Platform While `containerd` is fairly agnostic to the image format, the release of multi-platform images on Docker Hub caused some issues with the client-side pull support. `containerd` now properly handles multi-platform Docker and OCI images. This includes support for foreign layers. This means that one should be able to pull multi-platform images without issues for Linux and Windows, as well as most architectures. This works even if the platform doesn't support the particular image. Container Extensions A new field, `Container.Extensions`, supports storing integration specific structures directly in `containerd`. This allows drivers like Docker and CRI-containerd to store their own metadata objects in `containerd`. This obviates the need for secondary storage systems and ensures updates follow the same transaction semantics as other parts of `containerd`. At the same time, it also avoids problems with "label bloat" when storing more complex metadata. JSON and protobuf are supported. New Maintainer We want to welcome a new maintainer to `containerd`, Akihiro Suda. The container ecosystem would be as strong as it is today without his tireless efforts. We are excited to have him on board and his presence will ensure that `containerd` will be a strong platform. Contributors We'd like to extend a thanks to the following people who contributed to this release: Akihiro Suda Allen Sun Brian Goff Derek McGowan Ian Campbell Jess Valarezo Kenfe-Mickaël Laventure Kunal Kushwaha Lantao Liu Michael Crosby Mike Brown Phil Estes Roy Inganta Ginting Stephen Day Tao Qingyun Tobias Klauser yanxuean Changes 20c62117 Merge pull request #1550 from stevvooe/beta1 95675f3b release: prepare 1.0.0-beta.1 316ce18a Merge pull request #1549 from estesp/fix-getting-started-examples fe1e00c0 Fix example using old GenerateSpec function 9a7e776e Merge pull request #1547 from AkihiroSuda/remove-dist-grpc 3a88be38 design: remove distribution GRPC service df896c92 Merge pull request #1528 from jessvalarezo/labels-validate ba53292f Merge pull request #1544 from allencloud/consistent-display-format 94b5aafb Merge pull request #1543 from Random-Liu/fix-container-timestamp 82a68e23 Merge pull request #1542 from stevvooe/update-architecture-diagram d5b027c9 make command help display consistent 54521126 Fix container CreatedAt and UpdatedAt. 709d34f8 Merge pull request #1537 from allencloud/add-reponse-body-close c6d55954 add a response body close fe9d6a46 Merge pull request #1525 from crosbymichael/shim-hang 18c4322b Labels are consistently validated across services 04ed74f4 README, design: update architecture diagram 32733152 Merge pull request #1541 from stevvooe/update-releases c381a9e4 RELEASES: update component table 90d74528 Merge pull request #1540 from estesp/revert-temp-image-ref 2146feec Merge pull request #1534 from crosbymichael/metricsv1 e2f3e310 Make WithCheckpoint() work with manifest list images cadee037 Revert "Merge pull request #1502 from crosbymichael/test-image" d67763d9 Add wait API endpoint for waiting on process exit 2f5dda62 Merge pull request #1536 from stevvooe/foreign-layers 26329b2b Merge pull request #1535 from dmcgowan/fix-pull-multi-arch 13771fba images, remotes: add support for foreign layers eef47ffa Add platform filtering on children handler f23edd3c Add v1 to metrics API endpoint 9934acb2 Merge pull request #1532 from mikebrow/seccomp-default-proc-fix ef5f2025 Merge pull request #1533 from stevvooe/specifier-default 91633771 platforms: provide simpler function for common use 78c4e550 Merge pull request #1529 from crosbymichael/console 120bb4cd fixes missing default permission 7030a4ad Close epoller on task stop 781ce658 Update console dep to b28c739c79ce69d017e3691ad366 d700a9c3 Merge pull request #1500 from crosbymichael/typeurl d22160c2 Vendor typeurl package 929283a3 Remove typeurl package from repo f41871be Merge pull request #1515 from dmcgowan/add-akihiro 0cb2c961 Merge pull request #1519 from crosbymichael/contrib 58015abb Add readme to contib e517952b Merge pull request #1378 from cpuguy83/container_store_extra_data 59384ffd Merge pull request #1522 from qingyunha/master e1ce48d5 README.md: correct headers level b6a0fb13 Merge pull request #1518 from crosbymichael/security 8ac97434 Merge pull request #1510 from crosbymichael/signals 2e830e0d Update security reporting text 72f380af Merge pull request #1517 from mlaventure/remove-toml-omitempty 4bfe3a99 Merge pull request #1516 from tklauser/fix-cstring-leaks 7fdf8cd3 Handle signals first on boot 4a582405 mount: fix CString memory leaks 3596ec53 Add Akihiro as maintainer f2d14599 Remove omitempty from toml tags cf1d4223 Merge pull request #1511 from crosbymichael/solaris 6d440dc2 Remove solaris from travis 63654f91 Merge pull request #1509 from crosbymichael/ns-event d1e11f17 Merge pull request #1465 from AkihiroSuda/gcr 14c36cca Set ctx ns before publish 9f280404 Merge pull request #1506 from dmcgowan/unpack-manifest-list 46ded63f Support for multi-arch image unpacking cc75a112 Merge pull request #1484 from yanxuean/loadconfig 49437711 Merge pull request #1504 from stevvooe/resolve-platforms 0f6d1d21 Merge pull request #1501 from crosbymichael/trap-err bcfdbb13 Merge pull request #1503 from crosbymichael/update-runc ea8adf90 cmd/ctr: show resolved image platform 37d049d2 Merge pull request #1493 from mikebrow/seccomp-helper 8785f3f0 Merge pull request #1403 from stevvooe/platform-selectors 775f7cea platforms: update format for platform specifier 77f699cc Update runc to 593914b8bd5448a93f7c3e4902a03408b6d 426650f2 adds seccomp helpers 03b43acd Trap close error on shutdown 558b46f2 Merge pull request #1502 from crosbymichael/test-image 0e616f4d Merge pull request #1496 from kunalkushwaha/movefile-testcase ca3f16c5 [tmp] Use amd64 test image 8442e4bb Testcase added for Moving files in snapshot layers a2aa4ecd Merge pull request #1485 from AkihiroSuda/expose-differ 313cebc5 Merge pull request #1473 from kunalkushwaha/snapshot-testcases 1310c859 differ: expose newWalkingDiff() for standalone buildkit 39b5f90b Improve server.LoadConfig function f7d31e2b api, metadata: use map type for Container.Extensions 94f6be5f platforms: implement matcher support fb068836 platforms: define selectors for platforms 52fbc5f0 Merge pull request #1490 from ijc/defalt a791f044 Merge pull request #1489 from crosbymichael/list-state 128aaf6e Correct spelling of default. 3552ce56 Add field to `Container` for client-defined data 951c129b Handle locking and errors for process state 17901faf Merge pull request #1488 from crosbymichael/prom-containers 72bcdb8f Add config for exporting container metrics to prom aa8bd16a Merge pull request #1487 from crosbymichael/guide 9c207952 Add go build and ./main to guide 34a58ce0 Improve the getting started guide 2cfd7df2 Merge pull request #1456 from ijc/ctr-list-no-labels 2f080329 remotes/docker: add scope (registry:foo/bar:pull) aaae7060 remotes/docker: allow 404 for POST /v2/token b6fb2341 Testcase added for deletion of files in lower layer 121d3377 Added testcase Removal of intermediate snapshot 94b0d0ec ctr: drop labels from `ctr containers` subcommand list