Skip to content
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