Skip to content

标签

标签使您能够将历史中的特定点标记为重要点
  • v1.0.2
    containerd 1.0.2
    
    Welcome to the v1.0.2 release of containerd!
    
    This is the second patch release for `containerd` in the 1.0 series. There are
    several fixes to reduce memory usage and garbage collection pressure in the
    shim. The content store has a few fixes to address cases where download
    resumption wasn't working properly. The image store has fixes to be more
    efficient and to handle edge cases in the garbage collector. Less CPU will be
    used when collecting cgroup metrics.
    
    The most critical fix addresses a hang in runc that can happen due to a race
    condition around FIFOs. Make sure to update your runc binary if you are
    affected. The fix is described in
    https://github.com/opencontainers/runc/pull/1698. Make sure to update to the
    runc version in
    https://github.com/containerd/containerd/blob/master/RUNC.md to ensure you are not affected.
    
    In addition to the above, a few fixes for handling of layer files have been backported. https://github.com/containerd/containerd/pull/2063
    addresses an issue where duplicate directory entries can land in a layer diff
    if both the metadata and a child entry are changed.
    https://github.com/containerd/containerd/pull/2103 where whiteout files for
    parent directories may be missing and a related diff bug https://github.com/containerd/containerd/pull/2127.
    
    The license of the dependency `BurntSushi/toml` has been updated to an MIT
    license.
    
    We also now ensure that the vendor directory contents are as expected.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Contributors
    
    * Akihiro Suda
    * Daniel Nephin
    * Derek McGowan
    * Kenfe-Mickaël Laventure
    * Li Yi
    * Michael Crosby
    * Phil Estes
    * Stephen J Day
    
    Changes
    
    * cfd04396dc Merge pull request #2128 from dmcgowan/release-1.0.2-release-notes
    * a43eff64a4 release: prepare 1.0.2
    * b99bbe9d83 Merge pull request #2127 from dmcgowan/cherry-pick-2119
    * 84dc1651ec Ensure rmdir gets set for every directory
    * a8bf017049 Add test for consecutive directory removal
    * 53aaa89850 Merge pull request #2104 from stevvooe/prepare-1.0.2-rc.1
    * 76699291e6 release: prepare 1.0.2-rc.1
    * 37a05d4b56 Merge pull request #2110 from crosbymichael/release-onclose
    * d1d3fd0f88 Delete task on dead shim
    * 04b5f3fbbf Set OnClose shim function
    * 4d0f40cdff Update ttrpc to d4528379866b0ce7e9d71f3eb96f0582fc
    * 6ddb0bd96a Merge pull request #2103 from dmcgowan/backport-1.0-2095
    * bed74e242e Fixes missing whiteout parent directories
    * 7193749fb0 Merge pull request #2102 from dnephin/fix-vendor-validation
    * b9640ad1d9 Fix vendor.conf now that it is validated
    * 043828fb88 Fix vendor validation
    * 5e1c6f6c21 Add a vendor check to CI
    * 309d3b3083 Remove go install from Makefile
    * 04c223f69e Merge pull request #2101 from AkihiroSuda/remove-wtf-1.0
    * 4e2e564c6f vendor: update BurntSushi/toml for MIT license
    * 96df811cf4 Merge pull request #2087 from crosbymichael/cherry-cgroups
    * 64f913d7e3 Bump cgroups to c0710c92e8b3a44681d1321dcfd1360fc5
    * 8b098d036b Merge pull request #2074 from stevvooe/prepare-1.0.2-rc.0
    * a67e9d2718 release: prepare 1.0.2-rc.0
    * b17f5b8354 Merge pull request #2077 from estesp/cherrypick-ensure-content-unique
    * 91c3b8bffc content/testsuite: pass context to hold lease
    * c910b4705d content/testsuite: ensure unique content per test
    * 29a899b98d Merge pull request #2072 from dmcgowan/cherry-pick-content-discard
    * 45e7aa529b Update copy to discard over truncate
    * d7a0e70274 Add resume content test cases
    * 3e89d82e05 Merge pull request #2063 from dmcgowan/cherry-pick-2054
    * 9016ae9002 Merge pull request #2062 from stevvooe/cherry-pick-#2059
    * 5c21576e40 Fix duplicate directories entries on metadata change
    * af4455b3b3 vendor: update go-runc to reduce gc pressure
    * c10ef55c04 Merge pull request #2057 from stevvooe/cherry-pick-#2056
    * 3f98e5d0fc Merge pull request #2058 from stevvooe/cherry-pick-#2055
    * f042dc58e5 cmd/containerd-shim: aggressive memory reclamation
    * 8cf32d34bb cmd/containerd-shim, reaper: reduce channel allocation
    * 0f46dd5190 Merge pull request #2051 from stevvooe/cherry-pick-#2036
    * 367eddb4be archive, cio, cmd, linux: use buffer pools
    * a4837f3307 Merge pull request #2050 from crosbymichael/bump-runc-r
    * 852f989a87 Update runc to 9f9c96235cc97674e935002fc3d78361b69
    * 383a6dea31 Merge pull request #2034 from estesp/cherrypick-npe-fix
    * a03fb1bd13 Fix NPE in dialer
    * d2179c2dc1 Merge pull request #2018 from dmcgowan/cherry-pick-image-removal-gc
    * d04746b416 Update metadata image store to be initialized once
    * 5a67161dc0 Update namespace empty check to use buckets
    
    Dependency Changes
    
    Previous release can be found at [v1.0.1](https://github.com/containerd/containerd/releases/tag/v1.0.1)
    
    * 29da22c6171a4316169f9205ab6c49f59b5b852f -> c0710c92e8b3a44681d1321dcfd1360fc5c6c089 **github.com/containerd/cgroups**
    * d2710463e497617f16f26d1e715a3308609e7982 -> d4528379866b0ce7e9d71f3eb96f0582fc374577 **github.com/stevvooe/ttrpc**
    * ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7 -> 4f6e87ae043f859a38255247b49c9abc262d002f **github.com/containerd/go-runc**
    * 7f24b40cc5423969b4554ef04ba0b00e2b4ba010 -> 9f9c96235cc97674e935002fc3d78361b696a69e **github.com/opencontainers/runc**
    * v0.2.0-21-g9906417 -> a368813c5e648fee92e5f6c30e3944ff9d5e8895 **github.com/BurntSushi/toml**
    
  • v1.0.2-rc.1
    containerd 1.0.2-rc.1
    
    Welcome to the v1.0.2-rc.1 release of containerd!
    *This is a pre-release of containerd*
    
    This is the second patch release for `containerd` in the 1.0 series.
    There are several fixes to reduce memory usage and garbage collection
    pressure in the shim. The content store has a few fixes to address cases
    where download resumption wasn't working properly. The image store has
    fixes to be more efficient and to handle edge cases in the garbage
    collector. Less CPU will be used when collecting cgroup metrics.
    
    The most critical fix addresses a hang in runc that can happen due to a
    race condition around FIFOs. Make sure to update your runc binary if you
    are affected. The fix is described in
    https://github.com/opencontainers/runc/pull/1698. Make sure to update to
    the runc version in
    https://github.com/containerd/containerd/blob/master/RUNC.md to ensure
    you are not affected.
    
    In addition to the above, a few fixes for handling of layer files have
    been backported. https://github.com/containerd/containerd/pull/2063
    addresses an issue where duplicate directory entries can land in a layer
    diff if both the metadata and a child entry are changed.
    https://github.com/containerd/containerd/pull/2103 where whiteout files
    for parent directories may be missing.
    
    The license of the dependency `BurntSushi/toml` has been updated to an
    MIT license.
    
    We also now ensure that the vendor directory contents are as expected.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Contributors
    
    * Akihiro Suda
    * Daniel Nephin
    * Derek McGowan
    * Kenfe-Mickaël Laventure
    * Li Yi
    * Michael Crosby
    * Phil Estes
    * Stephen Day
    
    Changes
    
    * 53aaa898 Merge pull request #2104 from stevvooe/prepare-1.0.2-rc.1
    * 76699291 release: prepare 1.0.2-rc.1
    * 37a05d4b Merge pull request #2110 from crosbymichael/release-onclose
    * d1d3fd0f Delete task on dead shim
    * 04b5f3fb Set OnClose shim function
    * 4d0f40cd Update ttrpc to d4528379866b0ce7e9d71f3eb96f0582fc
    * 6ddb0bd9 Merge pull request #2103 from dmcgowan/backport-1.0-2095
    * bed74e24 Fixes missing whiteout parent directories
    * 7193749f Merge pull request #2102 from dnephin/fix-vendor-validation
    * b9640ad1 Fix vendor.conf now that it is validated
    * 043828fb Fix vendor validation
    * 5e1c6f6c Add a vendor check to CI
    * 309d3b30 Remove go install from Makefile
    * 04c223f6 Merge pull request #2101 from AkihiroSuda/remove-wtf-1.0
    * 4e2e564c vendor: update BurntSushi/toml for MIT license
    * 96df811c Merge pull request #2087 from crosbymichael/cherry-cgroups
    * 64f913d7 Bump cgroups to c0710c92e8b3a44681d1321dcfd1360fc5
    * 8b098d03 Merge pull request #2074 from stevvooe/prepare-1.0.2-rc.0
    * a67e9d27 release: prepare 1.0.2-rc.0
    * b17f5b83 Merge pull request #2077 from estesp/cherrypick-ensure-content-unique
    * 91c3b8bf content/testsuite: pass context to hold lease
    * c910b470 content/testsuite: ensure unique content per test
    * 29a899b9 Merge pull request #2072 from dmcgowan/cherry-pick-content-discard
    * 45e7aa52 Update copy to discard over truncate
    * d7a0e702 Add resume content test cases
    * 3e89d82e Merge pull request #2063 from dmcgowan/cherry-pick-2054
    * 9016ae90 Merge pull request #2062 from stevvooe/cherry-pick-#2059
    * 5c21576e Fix duplicate directories entries on metadata change
    * af4455b3 vendor: update go-runc to reduce gc pressure
    * c10ef55c Merge pull request #2057 from stevvooe/cherry-pick-#2056
    * 3f98e5d0 Merge pull request #2058 from stevvooe/cherry-pick-#2055
    * f042dc58 cmd/containerd-shim: aggressive memory reclamation
    * 8cf32d34 cmd/containerd-shim, reaper: reduce channel allocation
    * 0f46dd51 Merge pull request #2051 from stevvooe/cherry-pick-#2036
    * 367eddb4 archive, cio, cmd, linux: use buffer pools
    * a4837f33 Merge pull request #2050 from crosbymichael/bump-runc-r
    * 852f989a Update runc to 9f9c96235cc97674e935002fc3d78361b69
    * 383a6dea Merge pull request #2034 from estesp/cherrypick-npe-fix
    * a03fb1bd Fix NPE in dialer
    * d2179c2d Merge pull request #2018 from dmcgowan/cherry-pick-image-removal-gc
    * d04746b4 Update metadata image store to be initialized once
    * 5a67161d Update namespace empty check to use buckets
    
    Dependency Changes
    
    Previous release can be found at
    [v1.0.1](https://github.com/containerd/containerd/releases/tag/v1.0.1)
    
    * 29da22c6171a4316169f9205ab6c49f59b5b852f -> c0710c92e8b3a44681d1321dcfd1360fc5c6c089 **github.com/containerd/cgroups**
    * v0.2.0-21-g9906417 -> a368813c5e648fee92e5f6c30e3944ff9d5e8895 **github.com/BurntSushi/toml**
    * 7f24b40cc5423969b4554ef04ba0b00e2b4ba010 -> 9f9c96235cc97674e935002fc3d78361b696a69e **github.com/opencontainers/runc**
    * ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7 -> 4f6e87ae043f859a38255247b49c9abc262d002f **github.com/containerd/go-runc**
    * d2710463e497617f16f26d1e715a3308609e7982 -> d4528379866b0ce7e9d71f3eb96f0582fc374577 **github.com/stevvooe/ttrpc**
    
  • v1.0.2-rc.0
    contaierd 1.0.2-rc.0
    
    Welcome to the v1.0.2-rc.0 release of containerd!
    *This is a pre-release of containerd*
    
    This is the second patch release for `containerd` in the 1.0 series. There are
    several fixes to reduce memory usage and garbage collection pressure in the
    shim. The content store has a few fixes to address cases where download
    resumption wasn't working properly. The image store has fixes to be more
    efficient and to handle edge cases in the garbage collector.
    
    The most critical fix addresses a hang in runc that can happen due to a race
    condition around FIFOs. Make sure to update your runc binary if you are
    affected. The fix is described in
    https://github.com/opencontainers/runc/pull/1698. Make sure to update to the
    runc version in
    https://github.com/containerd/containerd/blob/master/RUNC.md to ensure you are not affected.
    
    In addition to the above, https://github.com/containerd/containerd/pull/2063
    addresses an issue where duplicate directory entries can land in a layer diff
    if both the metadata and a child entry are changed.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Contributors
    
    * Akihiro Suda
    * Derek McGowan
    * Li Yi
    * Michael Crosby
    * Phil Estes
    * Stephen Day
    
    * 8b098d03 Merge pull request #2074 from stevvooe/prepare-1.0.2-rc.0
    * a67e9d27 release: prepare 1.0.2-rc.0
    * b17f5b83 Merge pull request #2077 from estesp/cherrypick-ensure-content-unique
    * 91c3b8bf content/testsuite: pass context to hold lease
    * c910b470 content/testsuite: ensure unique content per test
    * 29a899b9 Merge pull request #2072 from dmcgowan/cherry-pick-content-discard
    * 45e7aa52 Update copy to discard over truncate
    * d7a0e702 Add resume content test cases
    * 3e89d82e Merge pull request #2063 from dmcgowan/cherry-pick-2054
    * 9016ae90 Merge pull request #2062 from stevvooe/cherry-pick-#2059
    * 5c21576e Fix duplicate directories entries on metadata change
    * af4455b3 vendor: update go-runc to reduce gc pressure
    * c10ef55c Merge pull request #2057 from stevvooe/cherry-pick-#2056
    * 3f98e5d0 Merge pull request #2058 from stevvooe/cherry-pick-#2055
    * f042dc58 cmd/containerd-shim: aggressive memory reclamation
    * 8cf32d34 cmd/containerd-shim, reaper: reduce channel allocation
    * 0f46dd51 Merge pull request #2051 from stevvooe/cherry-pick-#2036
    * 367eddb4 archive, cio, cmd, linux: use buffer pools
    * a4837f33 Merge pull request #2050 from crosbymichael/bump-runc-r
    * 852f989a Update runc to 9f9c96235cc97674e935002fc3d78361b69
    * 383a6dea Merge pull request #2034 from estesp/cherrypick-npe-fix
    * a03fb1bd Fix NPE in dialer
    * d2179c2d Merge pull request #2018 from dmcgowan/cherry-pick-image-removal-gc
    * d04746b4 Update metadata image store to be initialized once
    * 5a67161d Update namespace empty check to use buckets
    
    Previous release can be found at [v1.0.1](https://github.com/containerd/containerd/releases/tag/v1.0.1)
    
    * 7f24b40cc5423969b4554ef04ba0b00e2b4ba010 -> 9f9c96235cc97674e935002fc3d78361b696a69e **github.com/opencontainers/runc**
    * ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7 -> 4f6e87ae043f859a38255247b49c9abc262d002f **github.com/containerd/go-runc**
    
  • v1.0.1
    containerd 1.0.1
    
    Welcome to the v1.0.1 release of containerd!
    
    This is the first patch release for `containerd` in the 1.0 series. Several
    bugfixes surrounding tar, image handling, errant log messages and resource
    management are present. During the release candidate period, issues with layer
    whiteout files were fixed, in addition to logic adjustements to user resolution
    in OCI images.
    
    Note the daemon no longer shuts down when failing to adjust its own OOM score.
    Instead, a warning will be issued.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Contributors
    
    * Akihiro Suda
    * Daniel Nephin
    * Derek McGowan
    * Jess Valarezo
    * Kenfe-Mickaël Laventure
    * Lantao Liu
    * Michael Crosby
    * Phil Estes
    * Stephen J Day
    
    Changes
    
    * 9b55aab9 Merge pull request #2010 from stevvooe/prepare-101
    * 9a969ce3 release: prepare 1.0.1
    * dafb45d7 Merge pull request #2005 from AkihiroSuda/fix-user-1.0
    * 2eb4408d oci: simplify WithImageConfig
    * fc51e569 oci: add TODO comments
    * 2b041869 oci: fix err variable scope
    * 51590f21 ctr: promote cOpts over opts, as oci.WithImageConfig requires snapshot
    * 0a2c2a26 Merge pull request #2003 from dmcgowan/cherry-pick-fix-whiteout-rootpath-1.0
    * ce75ddff archive: check whiteout path before removal
    * 1549ddad Merge pull request #1998 from stevvooe/use-correct-version
    * ec0b96a2 release: use correct version number
    * 27cbd2ad Merge pull request #1997 from stevvooe/release-1.0.1-rc.0
    * 5a09fd37 release: prepare v1.0.1-rc.0
    * 4cc882cd Merge pull request #1996 from crosbymichael/bp-reaper
    * 8cfebc0d Merge pull request #1992 from stevvooe/backport-1982
    * 4acee3f9 Remove reaper from containerd daemon
    * 2d82842e services/tasks, linux: ignore shutdown tasks
    * fbc6de1a Merge pull request #1984 from stevvooe/backport-1981
    * 8b6cbcc7 vendor: update ttrpc for shutdown fix
    * 3cb6d730 Merge pull request #1988 from crosbymichael/content-lease
    * 9e50861e metadata: add content lease on existing content
    * edc72bbc Merge pull request #1980 from dmcgowan/cherry-pick-fix-1723
    * 2e3f26fd Revert "Emit unmodified change events for directories"
    * 0f1f8f66 Add parent directories to tar
    * eeef202b Fix parent directories not included in tar
    * c59bc7e4 Merge pull request #1954 from crosbymichael/cherry-diff
    * 70bc6db2 rootfs: remove upper snapshot after use
    * a1a9bda2 Merge pull request #1933 from crosbymichael/cherry-runc-bump
    * e643d8e6 Update runc to 7f24b40cc5423969b4554ef04ba0b00e2
    * 49540d69 Merge pull request #1929 from stevvooe/less-noise-build-1.0
    * e6798c73 Less verbose build output
    * 6c7abf7c Merge pull request #1918 from crosbymichael/cherry-pull-fix
    * 63e1963b Fix image pull after a failure
    * dba5fa07 Merge pull request #1913 from Random-Liu/cherry-pick-#1907
    * de5beee2 Fix containerd deadlock.
    * 2689c984 Merge pull request #1909 from estesp/backport-oom-warn-only
    * e5de8bdb server: only warn on failed OOM score adjust
    
    Dependency Changes
    
    Previous release can be found at [v1.0.0](https://github.com/containerd/containerd/releases/tag/v1.0.0)
    
    * 74a17296470088de3805e138d3d87c62e613dfc4 -> 7f24b40cc5423969b4554ef04ba0b00e2b4ba010 **github.com/opencontainers/runc**
    * 76e68349ad9ab4d03d764c713826d31216715e4f -> d2710463e497617f16f26d1e715a3308609e7982 **github.com/stevvooe/ttrpc**
    
  • v1.0.1-rc.0
    containerd 1.0.1-rc.0
    
    Welcome to the v1.0.1-rc.0 release of containerd!
    *This is a pre-release of containerd*
    
    This is the first patch release for `containerd` in the 1.0 series. Several
    bugfixes surrounding tar, image handling, errant log messages and resource
    management are present.
    
    Note the daemon no longer shuts down when failing to adjust its own OOM score.
    Instead, a warning will be issued.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Contributors
    
    * Daniel Nephin
    * Derek McGowan
    * Jess Valarezo
    * Kenfe-Mickaël Laventure
    * Lantao Liu
    * Michael Crosby
    * Phil Estes
    * Stephen J Day
    
    Changes
    
    * 5a09fd37 release: prepare v1.0.1-rc.0
    * 4cc882cd Merge pull request #1996 from crosbymichael/bp-reaper
    * 8cfebc0d Merge pull request #1992 from stevvooe/backport-1982
    * 4acee3f9 Remove reaper from containerd daemon
    * 2d82842e services/tasks, linux: ignore shutdown tasks
    * fbc6de1a Merge pull request #1984 from stevvooe/backport-1981
    * 8b6cbcc7 vendor: update ttrpc for shutdown fix
    * 3cb6d730 Merge pull request #1988 from crosbymichael/content-lease
    * 9e50861e metadata: add content lease on existing content
    * edc72bbc Merge pull request #1980 from dmcgowan/cherry-pick-fix-1723
    * 2e3f26fd Revert "Emit unmodified change events for directories"
    * 0f1f8f66 Add parent directories to tar
    * eeef202b Fix parent directories not included in tar
    * c59bc7e4 Merge pull request #1954 from crosbymichael/cherry-diff
    * 70bc6db2 rootfs: remove upper snapshot after use
    * a1a9bda2 Merge pull request #1933 from crosbymichael/cherry-runc-bump
    * e643d8e6 Update runc to 7f24b40cc5423969b4554ef04ba0b00e2
    * 49540d69 Merge pull request #1929 from stevvooe/less-noise-build-1.0
    * e6798c73 Less verbose build output
    * 6c7abf7c Merge pull request #1918 from crosbymichael/cherry-pull-fix
    * 63e1963b Fix image pull after a failure
    * dba5fa07 Merge pull request #1913 from Random-Liu/cherry-pick-#1907
    * de5beee2 Fix containerd deadlock.
    * 2689c984 Merge pull request #1909 from estesp/backport-oom-warn-only
    * e5de8bdb server: only warn on failed OOM score adjust
    
    Dependency Changes
    
    Previous release can be found at [v1.0.0](https://github.com/containerd/containerd/releases/tag/v1.0.0)
    
    * 76e68349ad9ab4d03d764c713826d31216715e4f -> d2710463e497617f16f26d1e715a3308609e7982 **github.com/stevvooe/ttrpc**
    * 74a17296470088de3805e138d3d87c62e613dfc4 -> 7f24b40cc5423969b4554ef04ba0b00e2b4ba010 **github.com/opencontainers/runc**
    
  • v1.0.0
    containerd 1.0.0
    
    Welcome to the v1.0.0 release of containerd!
    
    `containerd` provides a daemon for managing running containers.
    
    The new containerd is designed for use designed for use in container-based
    systems, like Docker and Kubernetes. It provides minimal abstractions over the
    operating system that gets out of the way.
    
    A short list of differences from the 0.2 version of containerd follow:
    
    - New runtime model based on tasks and containers
    - Client-defined image push/pull, allows fully replaceable image distribution
    - End-to-end event system
    - Snapshot-based container storage system
    - Content-addressed image storage system
    - Arbitrary metadata storage for association with containerd objects
    - Extensive, namespaced [GRPC API](https://github.com/containerd/containerd/tree/master/api/services)
    - Rich API Client ([getting started](https://github.com/containerd/containerd/blob/master/docs/getting-started.md) and [godoc](https://godoc.org/github.com/containerd/containerd)).
    
    You can read about the full details of the project in the [README](https://github.com/containerd/containerd/blob/v1.0.0/README.md).
    
    If you would like to try containerd, please download the binaries included on
    this release. If you are using Docker, you have already been using containerd
    since Docker 1.11. The next release of Docker, 17.12 CE Edge, will include this
    version of containerd. If you would like to use it with Kubernetes, a CRI
    implementation against containerd is available at
    [cri-containerd](https://github.com/kubernetes-incubator/cri-containerd).
    
    The 1.0 release has been reached after 7 alphas, 4 betas, and 1 release
    candidate full of stability fixes, hardening, and API improvements. If you run
    into a new problems, please file an
    [issue](https://github.com/containerd/containerd/issues).
    
    The [_support horizon_](https://github.com/containerd/containerd/blob/master/RELEASES.md#support-horizon)
    for containerd has been updated to include the 1.0 release. With this release,
    the 0.2 release line is now moved to the "End of Life" state. No new releases
    on that branch will be made. The 1.0 release train will be considered an active
    branch with new patches until December 5, 2018 or when 1.1 is released.
    
    As part the release of containerd 1.0, the governance model has been updated.
    The day to day management of the project is taken care of by the maintainers.
    The roles of chief maintainer and BDFL have been removed and a technical
    steering committee has been added as an escalation point when consensus cannot
    be reached among maintainers. See https://github.com/moby/tsc for details.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Contributors
    
     - Michael Crosby
     - Stephen J Day
     - Derek McGowan
     - Kenfe-Mickaël Laventure
     - Akihiro Suda
     - Jess Valarezo
     - Phil Estes
     - Daniel Nephin
     - Ian Campbell
     - Kunal Kushwaha
     - Lantao Liu
     - Yanqiang Miao
     - Samuel Karp
     - Qiang Huang
     - Evan Hazlett
     - Justin Cormack
     - fate-grand-order
     - Vincent Batts
     - Tobias Klauser
     - Darren Stahl
     - Brian Goff
     - yanxuean
     - Lei Jitang
     - Arnaud Porterie
     - Tonis Tiigi
     - Sunny Gogoi
     - Antonio Murdaca
     - Allen Sun
     - Zhang Wei
     - yason
     - Krasi Georgiev
     - Gábor Lipták
     - Edward Pilatowicz
     - Daniel Dao
     - Volodymyr Burenin
     - unclejack
     - Tao Qingyun
     - Random-Liu
     - Patrick Chanezon
     - Mike Brown
     - kevinetc123
     - Federico Padua
     - Chris Aniszczyk
     - Alex Ellis
     - xiekeyang
     - Samuel Ortiz
     - Kir Kolyshkin
     - He Xiaoxi
     - Gianluca Arbezzano
     - CuiHaozhi
     - Christopher Jones
     - chchliang
     - Ace-Tang
     - Aaron.L.Xu
     - Zachary Adam Kaplan
     - yuexiao-wang
     - Wang Long
     - Victor Vieux
     - swapdisk
     - Sebastiaan van Stijn
     - sakeven
     - Roy Inganta Ginting
     - Ross Boucher
     - Robert Northard
     - rajasec
     - Ophir Sneh
     - Nick Santos
     - Mathieu Pasquet
     - Ma Shimiao
     - Liz Rice
     - Li Li
     - Leonids Maslovs
     - Kevin Swiber
     - Jovi Zhangwei
     - John Howard
     - Jizhong Jiang
     - Jacob Wen
     - Fabio Kung
     - Ed King
     - David Lyle
     - Davanum Srinivas
     - Daniel Zhang
     - bando-shintaro
     - Andrew Pennebaker
     - Alessandro Resta
     - Akim Demaille
     - Abhinandan Prativadi
    
    Changes since v1.0.0-rc.0
    
    * 89623f28 Merge pull request #1879 from stevvooe/one-point-oh
    * 4d5c2860 release: prepare 1.0.0
    * 40c67fdf Merge pull request #1880 from AkihiroSuda/refactor-importer
    * 7e1bc9cb Merge pull request #1874 from stevvooe/regexp-quoting-syntax
    * 2ff2a700 Merge pull request #1878 from jessvalarezo/docs-updates
    * 4dfcf60b filters: supporting alternative characters for quote
    * b284da31 docs: update BUILDING and README
    * 63401970 importer: refactor
    * a9caf9bf Merge pull request #1877 from yanxuean/add-unmount-fail-error
    * 6a1ef90a Merge pull request #1876 from dmcgowan/fs-include-parent-directories
    * ba10e497 Emit unmodified change events for directories
    * 147d4987 output error when unmount fail in diff.Apply
    * b77fa49d Merge pull request #1875 from jessvalarezo/docs-revamp
    * 2214a07c Merge pull request #1872 from estesp/manifest-list-push
    * 26012df4 add table of contents to readme
    * 68d4dfe4 Merge pull request #1870 from dnephin/fix-error-messages
    * 9570174b Merge pull request #1871 from dmcgowan/btrfs-usage
    * 4a662b2c Merge pull request #1873 from jessvalarezo/docs-readme
    * 350e8156 docs: add cio import
    * 02661c70 Add more descriptive error on manifest list push
    * 3bc4e69b Implement btrfs usage
    * 0e03d778 Update snapshot storage error message
    * 617c63de Merge pull request #1864 from yanxuean/withSnapshotBucket
    * a6fad51e Merge pull request #1869 from Ace-Tang/cio-docs-fix
    * cc969fb4 Merge pull request #1868 from crosbymichael/unmount
    * a8b543f8 rmdir tmp dirs for rootfs mounts
    * b0ca6858 Retry unmount on EBUSY and return errors
    * aca8e159 docs: fix usage of cio package in docs
    * e427fd61 Merge pull request #1866 from Random-Liu/lock-task-list
    * 71e42bf6 Lock task list properly.
    * db742c90 get wrong parents bucket in withSnapshotBucket
    * fe4e30cb Merge pull request #1859 from dmcgowan/fix-snapshot-logs
    * 53c892d7 Merge pull request #1856 from crosbymichael/mountns
    * 026bf290 Merge pull request #1861 from jessvalarezo/images-err-2
    * 96572395 Merge pull request #1860 from stevvooe/ignore-not-found
    * 41ac9fac update images error
    * 0925a886 integration: ignore not found error on cleanup
    * 271836a4 Merge pull request #1858 from jessvalarezo/images-errors
    * e2894327 Merge pull request #1857 from stevvooe/less-noise
    * b28d7cdf Update snapshot and content related log messages
    * 8c550859 Merge pull request #1855 from stevvooe/update-ttrpc
    * fd2e3cd3 Remove mount namespace from shim
    * 1710fe9b cmd/ctr: move log messages to debug
    * 2b159512 update image error messages
    * f6df9f66 Merge pull request #1854 from yanxuean/overlay-prepare-rollback
    * 4b364304 vendor: update ttrpc to pull in euid change
    * 222156d5 Merge pull request #1847 from jessvalarezo/metadata-errors
    * b873ae8b metadata: update container error messages
    * bb02302c improve rollback for overlay.prepare
    * 38fdf9c8 Merge pull request #1846 from crosbymichael/service
    * 16a2177a Merge pull request #1852 from yanxuean/error-log
    * 4f1c0e06 improve error message
    * c9c36d4a Merge pull request #1849 from stevvooe/unix-socket-credentials
    * 2d966df1 cmd/containerd-shim: require unix socket credentials
    * efe9e284 Merge pull request #1850 from mlaventure/min-kern-version
    * 9d759203 Fix flexible kernel version
    * b009642e Add rlimits to service file
    
    Dependency Changes
    
    Previous release can be found at [v1.0.0-rc.0](https://github.com/containerd/containerd/releases/tag/v1.0.0-rc.0)
    
    * 8c92e22ce0c492875ccaac3ab06143a77d8ed0c1 -> 76e68349ad9ab4d03d764c713826d31216715e4f **github.com/stevvooe/ttrpc**
    
  • v1.0.0-rc.0
    Welcome to the release of containerd v1.0.0-rc.0!
    
    *This is a pre-release of containerd*
    
    The final 1.0 release stretch has been reached after 7 alphas and 4 betas full
    of stability fixes, hardening, and API improvements. This release candidate
    continues that pattern in including stability fixes, usability improvements and
    performance optimizations.
    
    As part of the preparation for supporting the release of Containerd 1.0, the
    governance model has been updated. The same as in previous versions, the day to
    day management of the project is taken care of by the maintainers. The roles
    of chief maintainer and BDFL have been removed and a technical steering
    committee has been added as an escalation point when consensus cannot be reached
    among maintainers. See https://github.com/moby/tsc.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Shim Memory Improvements
    
    The shim memory usage has been identified as a key component to optimize. The
    shim gets run for every container making memory usage multiplied by the
    number of containers on a machine, requiring lower memory usage in order to
    increase density.
    
    In profiling the memory usage of the shim, it was discovered that the HTTP2
    and GRPC stacks were accounting for a majority of the usage. Since the RPC
    requests to the shim are fairly simple and there is no need for handling many
    clients, a simpler protocol is now used with much less overhead. In order to
    avoid changing the client or server code, ttrpc is used to generate code
    similar to GRPC using the same protocol definitions, but using the lighter
    weight protocol. This had the effect of drastically reducing the memory
    usage of the shim.
    
    Memory improvements over beta 2...
    ```
      RSS CMD
     3644 containerd-shim -namespace default -workdir /var/lib/containerd/io.containerd.runtime.v1.linux/default/test10 -address /run/containerd/containerd.sock -containerd-binary /usr/local/bin/containerd -debug
    15320 docker-containerd-shim --namespace moby --workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/ffa219303c1419b179393a1123f176bb4268337432b0ca7945bc7ac66db73cad --address /var/run/docker/containerd/docker-containerd.sock --runtime-root /var/run/docker/
    ```
    
    See [ttrpc repository](https://github.com/stevvooe/ttrpc) for implementation.
    
    Garbage Collector Improvements
    
    Garbage collection is now scheduled by a background process which watches
    changes and tracks the amount of time garbage collection is taking. It is able
    to use that information to schedule garbage collection based on configuration
    options. The default configuration option aims to limit the amount of time the
    metadata store is locked for garbage collection to 20ms of every second.
    
    Additionally image removal now has an option to synchronously cleanup all
    referenced resources (such as snapshots). This option immediately schedules a
    garbage collection and waits for it to complete before returning to the client.
    Since the time to remove a snapshot depends on the size of the snapshot, the
    time to synchronously remove an image cannot be consistent. For faster and
    more consistent removals, images should be deleted asynchronously whenever
    possible. Asynchronous remains the default.
    
    Contributors
    
    * Akihiro Suda
    * Daniel Nephin
    * Daniel, Dao Quang Minh
    * Darren Stahl
    * Derek McGowan
    * Jess Valarezo
    * Kenfe-Mickaël Laventure
    * Kir Kolyshkin
    * Lantao Liu
    * Michael Crosby
    * Phil Estes
    * Stephen J Day
    * yanxuean
    
    Changes
    
    * 08f179386e Merge pull request #1848 from dmcgowan/update-version-rc.0
    * 30ac46e9cf Update version to v1.0.0-rc.0
    * 4bcd272c14 Merge pull request #1845 from dmcgowan/fix-rc.0-notes
    * 6952a61daa Update previous version to beta not current rc
    * 7e4be4639a Merge pull request #1834 from dmcgowan/v1.0.0-rc.0-notes
    * 07d4154515 Merge pull request #1844 from Random-Liu/close-fifos-on-failure
    * a03fdabc14 Close FIFOs on failure.
    * e64d179163 Add release notes for v1.0.0-rc.0
    * 763d29f4c2 Merge pull request #1842 from dmcgowan/fix-snapshot-close-twice
    * 25b5592eaf Fix close twice test to retain snapshot
    * 2657e49fc1 Merge pull request #1835 from stevvooe/we-use-ttrpc
    * 6c416fa3a7 shim: we use ttrpc in the shim now
    * c357934f0f Merge pull request #1841 from crosbymichael/parse-uid
    * a4a4c90ed3 Use strconv.Atoi for uid/gid parsing
    * 8fbdd5c63d Merge pull request #1840 from kolyshkin/mkdir-all
    * acc6f4ec77 MkdirAll: fix usage
    * 8114d2f2e2 Merge pull request #1838 from estesp/mention-kernel-vers
    * e974099b8c Merge pull request #1839 from crosbymichael/test-long-exec
    * a87062efdd Add runtime requirements section to README
    * 6bff39c643 Merge pull request #1837 from crosbymichael/bump-cgroups
    * 68bec1e9ce Add test for large exec payload
    * c4b11148f9 Merge pull request #1831 from stevvooe/update-ttrpc
    * 4349df4554 Update cgroups to 29da22c6171a4316169f9205ab6c49f5
    * 393cf8e8fc vendor: update ttrpc with latest changes
    * 96ca9738ca Merge pull request #1797 from jessvalarezo/rename-packages
    * 04dab2acd6 Merge pull request #1832 from crosbymichael/stress-kill
    * 1dd6f339a2 rename snapshot->snapshots proto pkg and service
    * 9885edfc44 rename snapshot->snapshots pkg
    * 4363994d87 Fix stress test tool exec kill
    * 61c8fe2307 ctr: snapshot->snapshots cmd, add aliases
    * 59bd196711 Merge pull request #1830 from stevvooe/define-fieldpath-support-envelope
    * 16d3aeb515 Merge pull request #1829 from AkihiroSuda/ctr-envvar-snapshotter
    * d7c950e145 events: define fieldpath implement for envelope
    * a56e7420a7 Merge pull request #1812 from darrenstahlmsft/revendor
    * d298f9a070 Merge pull request #1824 from kolyshkin/static-build
    * 3da99ed7a5 Merge pull request #1825 from mlaventure/use-defaults-pkg-everywhere
    * 7f95b9f987 ctr: add EnvVar `CONTAINERD_SNAPSHOTTER` for `--snapshotter`
    * 0d682e24a1 plugins: don't compile for static build
    * 6bf779c589 Use defaults pkg for all platforms
    * bc9cb25012 Update tar to use PAXRecords instead of Xattrs
    * 16d00870ef Add test for prefix header issue
    * 444e4220c2 Revendor hcsshim and go-tar
    * 90a6b79bfc Merge pull request #1810 from dnephin/add-staticcheck-linter
    * a3955e1d21 Merge pull request #1822 from crosbymichael/subreaper
    * 6e9f24b711 Change default subreaper setting
    * 967caeeacc Merge pull request #1821 from dnephin/remove-use-of-deprecated-grpc-funcs
    * dab3ba2aff Replace calls to deprecated grpc functions
    * 118c0a279e Merge pull request #1820 from crosbymichael/shim-lockup
    * 74b3cb3391 Fix exit event handling in shim
    * 723f37d846 Add exec support to stress test tool
    * a05e5fd77a restore deferred cleanup in rootfs.init
    * ee04cfa3f9 Add staticcheck linter
    * 2556c594ec Merge pull request #1767 from stevvooe/ttrpc-shim
    * 9e04cff8e9 Merge pull request #1814 from stevvooe/panic-client-fix-oci-spec
    * ca39f76f82 Merge pull request #1798 from stevvooe/shim-gomaxprocs
    * d54961ccaa vendor: add ttrpc as vendored dependency
    * 372cdfac3b Merge pull request #1638 from dmcgowan/gc-policy
    * f011bec35e Merge pull request #1800 from yanxuean/image-store-redandunt
    * 0d957b1da5 oci: allocate process if not already set
    * 3b670ebc94 remove redundant check for imagestore create
    * 5764bf1bad cmd/containerd-shim: set GOMAXPROCS to 2
    * abeb262d0d Merge pull request #1796 from dnephin/move-oci-pkg
    * f6e877e8be Proposed fix for image content store
    * a21a19a658 fix windows oci package
    * cdf62f69a1 Fix usage of oci in other packages.
    * 081f8c7ce0 oci package passing tests
    * 70e0c8443f Merge pull request #1809 from Random-Liu/fix-build
    * 33c95bb418 Fix build.
    * a7ade66815 Merge pull request #1799 from yanxuean/provide-withLease
    * 9bf0a15946 Merge pull request #1808 from crosbymichael/stress-race
    * ff6c12b284 Merge pull request #1803 from dnephin/warn-on-mem-not-supported
    * 1cb0e81b5a Fix race in stress test tool
    * 12e7c76771 Merge pull request #1802 from yanxuean/unpack-lease
    * 153fcfaea0 Merge pull request #1806 from dnephin/fix-ctr-events
    * 0103d14b47 Fix ctr events
    * 8fe12adc20 Warn if OOM monitoring is not available
    * 545f247c8e prevent snapshot from gc when unpack image
    * 4af5f65752 Merge pull request #1793 from dmcgowan/gc-add-container-test
    * 908df29ad5 Merge pull request #1792 from dmcgowan/schema1-resumeable
    * d56b49dd7c provide client.WithLease to user
    * e8f52c35ce linux/shim: reduce memory overhead by using ttrpc
    * 8e09b565a7 Merge pull request #1795 from crosbymichael/cgroup-lock
    * e830112efd Add lock around task cgroup
    * 1a6e6a96a4 Merge pull request #1794 from yanxuean/some-typo
    * 81307793b7 some typo
    * 92d40b9a2d Add test for container as gc root
    * bae47820d7 Document defaults
    * b674c64827 Support unknown size from schema 1 manifests
    * 2b1c915f82 Merge pull request #1787 from AkihiroSuda/diff-link
    * 633f4a6b3e Merge pull request #1751 from dnephin/add-unused-linters
    * f74862a0dd Add structcheck, unused, and varcheck linters.
    * 96e2f30250 Merge pull request #1759 from dnephin/single-integration-target
    * a3aeb398fe fs/diff: support symlink to abspath with second-precision mtime
    * 374f04d0e9 Update gc policy configuration to use time duration
    * 3f1a61f76a Add synchronous image delete
    * 72fb8f8f40 Add gc labels to content tests
    * 56b6a5dbd1 Add root labels to snapshot test suite
    * 00596f400e Add gc policy plugin
    * 1bd39d36ed Merge pull request #1788 from crosbymichael/plugin
    * 23dfe54894 Add plugin stability guarantees to release.md
    * 9649a428e8 Merge pull request #1784 from stevvooe/remove-sync-write
    * 95cbe81247 Merge pull request #1783 from crosbymichael/static-shim
    * 5113299cb6 content/local: don't open file with sync
    * 67232e93dc Merge pull request #1779 from AkihiroSuda/resolve-util-bin
    * 434f0e679f Compile shim without cgo for size and mem usage
    * 7ef4aa5c25 shim: support non-default binary name
    * 2fad7822e3 Merge pull request #1782 from dnephin/move-io-pkg
    * 298dabc6c2 Move io.go into cio package
    * bc063f263c Merge pull request #1778 from stevvooe/weak-imports-on-plugins
    * 2edc475818 Merge pull request #1776 from stevvooe/decouple-events-grpc
    * a4968710fd Merge pull request #1777 from jessvalarezo/migrate-client-code
    * 77cb722e1c Merge pull request #1775 from dmcgowan/fix-push-different-tags
    * 50532f231a api: use weak imports for plugin protobufs
    * 9cb91f8bfa Merge pull request #1765 from dmcgowan/rm-lease-resources
    * 2d05c4aa1a events: decouple events package from grpc
    * 8c5dede74e client: move content store client to containerd package
    * aefaeeacb0 client: move diff client to containerd package
    * 8d23e5ef9c client: move image store client to containerd package
    * 6cd9962c7f client: move namespaces client to containerd package
    * 56a35d5cb9 Update docker pusher check tag
    * 5c6e789dde Merge pull request #1769 from stevvooe/split-events-types
    * 5b64f7030d client: move snapshot client to containerd package
    * 09b5ca1072 api/events: split event types from events service
    * fc149f0ef9 Merge pull request #1770 from crosbymichael/resume
    * 4192f99cf0 Only compare times on non-windows
    * 3e5e2ecc0a content/local: consistent handling of data and locks
    * f4fdb940ed vendor: include require package from testify
    * 682151b166 remotes/docker: implement seekable http requests
    * a9308e174d content/local: ensure that resumption is properly supported
    * 368dc17a4c testutil: add Size to DumpDir output
    * 4df7075a74 Remove integration-parallel target
    * 05ec01e827 Fix .gitignore for coverage files
    * 7d64713dce Merge pull request #1768 from stevvooe/consolidate-empty
    * c5022ad92d protobuf: use the gogo/types package for empty
    * cc7e5934c8 Merge pull request #1760 from dnephin/run-unit-tests-on-windows
    * f49b1b7179 Merge pull request #1764 from crosbymichael/exit
    * 96d2c1e0c2 Merge pull request #1766 from dnephin/fix-error-message
    * 2e7f7318cc Normalize 'already exists' errors
    * f3a63f52dc Add support for removing leases on resource removal
    * a72279e53d Skip some tests on windows where the implementation is missing
    * fe5bb4a0fc Update platform tests to use the defaultOS
    * 666d946455 Implement diff.compareSysStat on windows
    * 5025b53704 Re-enable unit tests on appveyor
    * a522a6c7ee Add publish subcommand for publishing events
    * a542cf7dac Merge pull request #1761 from stevvooe/update-protoc
    * 19168f98fe Merge pull request #1754 from AkihiroSuda/fix-snapshot-commit-spec
    * 571c002ef6 Merge pull request #1755 from AkihiroSuda/fix-ctr-snapshot-args
    * 343d2d3c5d Merge pull request #1758 from dnephin/speed-up-unit-test
    * 7354a7f001 README, travis: update protobuf compiler version
    * 5eff92d1ba ctr: fix args
    * 5e8218a63b snapshot: fix specification of Commit
    * d8cf30e42e Reduce number of blobs in TestWalkBlobs
    * c78c156feb Merge pull request #1728 from AkihiroSuda/snapshot-closable
    * d15cee0358 Merge pull request #1737 from estesp/progress-line-fixup
    * f435ec0733 Merge pull request #1757 from dnephin/fix-coverage
    * b28e1eee42 Fix coverage report
    * 37ee054e61 Merge pull request #1739 from crosbymichael/shim-redux
    * 4feb6f228a snapshot: add Close()
    * f9933e9f96 Merge pull request #1742 from jessvalarezo/ctr-task-kill
    * 8376b50b19 Add grpc methods to errdefs
    * c81788b129 Remove errdefs and shimapi types from proc package
    * 9abde39bf7 Fix lint issues on init process
    * 33fe5c1d22 Add debug package for memory reporting
    * 66a70e7fda Refactor runtime initialization
    * 36e5548e76 Remove namepsaces and id imports from shim
    * a7343b0773 Move events from shim into linux runtime
    * 1fe5a251c4 Move Exec creation to init process
    * 6e25898ff0 Move shim process code to package
    * 92ca22c997 Merge pull request #1735 from estesp/image-rm-feedback
    * a74148ba27 Merge pull request #1741 from dnephin/fix-task-path-conflict
    * 1966f9f1b7 ctr: update task kill to take exec-id
    * 680101f919 Merge pull request #1750 from mlaventure/delete-exec-pidfile
    * 231c96098e containerd-shim: Delete exec pidfile on exit
    * c2ab5564b3 Merge pull request #1748 from crosbymichael/bdfl
    * 503b536bf7 Add TSC [Rule]
    * a90669377e Remove chief stuff as well
    * e36c1066fc Remove BDFL sections
    * 732b1560b4 Merge pull request #1745 from AkihiroSuda/remove-lcow-sys-firmware-todo
    * 79e3b978d6 spec_unix.go: remove unneeded TODO (moby/moby#35442)
    * 08760757ed Fix output on ctr images rm to show actual feedback
    * 17093c2f6a Merge pull request #1718 from jessvalarezo/ctr-task-ps
    * 0961807715 rename runcopts to runctypes
    * 807f4d2ec7 expose exec-id on ctr task ps
    * 49af59bfca Validate that root and state paths are different.
    * b4a65de5c6 Merge pull request #1740 from stevvooe/update-grpc
    * 08d1e72cc0 api,linux,windows: update generated protobufs
    * 35697865c0 vendor: update protobuf, grpc and gogo
    * b1527e0a10 Handle progress line length properly for formatting
    
    Breaking Changes
    
    * [#1797](https://github.com/containerd/containerd/pulls/1797) The snapshots GRPC service was renamed from snapshot.
    
    * [#1767](https://github.com/containerd/containerd/pulls/1767) The shim protocol has changed to use ttrpc. The
    new protocol does not use http2 and is not compatible with previous shim versions using grpc.
    
    Dependency Changes
    
    Previous release can be found at [v1.0.0-beta.3](https://github.com/containerd/containerd/releases/tag/v1.0.0-beta.3)
    
    * 2e2c51242e8993c50445dab7c03c8e7febddd0cf -> go1.10 **github.com/dmcgowan/go-tar**
    * d2e1ade2d719b78fe5b061b4c18a9f7111b5bdc8 -> v0.5 **github.com/gogo/protobuf**
    * 5a0f697c9ed9d68fef0116532c6e05cfeae00e55 -> 1643683e1b54a9e88ad26d98f81400c8c9d9f4f9 **github.com/golang/protobuf**
    * f7dd103d3e4e696aa67152f6b4ddd1779a3455a9 -> 29da22c6171a4316169f9205ab6c49f59b5b852f **github.com/containerd/cgroups**
    * v0.6.3 -> v0.6.7 **github.com/Microsoft/hcsshim**
    * v1.3.0 -> v1.7.2 **google.golang.org/grpc**
    * 8c92e22ce0c492875ccaac3ab06143a77d8ed0c1 **github.com/stevvooe/ttrpc**
    
    
  • v1.0.0-beta.3
    Welcome to the release of containerd v1.0.0-beta.3!
    
    *This is a pre-release of containerd*
    
    After rounding out the feature set in beta.2, we have taken a number of stability fixes.
    
    This release contains mostly bug fixes, code cleanup and improvements to useability of
    the client and ctr tool.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    `ctr` makeover
    
    `ctr` is getting a makeover! The end goal is for commands to be consistent and scoped.
    Most notably:
    - `push`, `pull` are now `images` subcommands: `ctr images push`, `ctr images pull`
    - `fetch`, `fetch-object`, and `push-object` are `content` subcommands
    - `rootfs unpack` is now `snapshot unpack`
    - `apply` no longer exists. RIP'
    
    Garbage collector improvements
    
    The garbage collector continues to improve with this release, including bug
    fixes on the client causing races and a new lease feature for making retention
    from the client easier.
    
    The lease API was added to make it easier for clients to prevent content and
    snapshots from being garbage collected while they are being actively worked on
    (such as from pull, import, or checkpoint). The API includes functions for
    creating, deleting, and listing leases. The lease gets attached to the context
    and the backend metadata store sees it and associates newly created content
    and snapshots with that lease.
    
    Leases are currently acquired and released automatically through the client.
    From the user perspective, fewer `gc.root` labels should be seen on client
    during pull/import operations or left over after a failed operation.
    
    Contributors
    
    * Akihiro Suda
    * Antonio Murdaca
    * Brian Goff
    * Daniel Nephin
    * Daniel, Dao Quang Minh
    * Derek McGowan
    * Ian Campbell
    * Jacob Wen
    * Jess Valarezo
    * Kenfe-Mickaël Laventure
    * Lantao Liu
    * Michael Crosby
    * Phil Estes
    * Sebastiaan van Stijn
    * Stephen J Day
    * Tao Qingyun
    * Victor Vieux
    * Zhang Wei
    * bando-shintaro
    * yanxuean
    
    Changes
    
    * 2b8ed96d2a Merge pull request #1705 from stevvooe/beta3
    * cb3b9601a4 Add garbage collection release notes
    * e5912e1c89 Merge pull request #1734 from vieux/update_images_ls_platforms
    * 8866254ec3 update notes with ctr changes
    * 3289ca2fca release: prepare 1.0.0-beta.3
    * f8a536ed6a Add S to PLATFORM in images & plugins list
    * 4701e122fe Merge pull request #1730 from dmcgowan/fix-usage-deadlock
    * ad9eca1dc4 Fix deadlock in overlay snapshotter
    * 59d1c16666 Merge pull request #1732 from dmcgowan/fix-userns-tests
    * b3659d296d Fix not found caused by race to remove snapshot
    * 27d450a01b Merge pull request #1690 from dmcgowan/metadata-transactions
    * 844e957834 Merge pull request #1729 from crosbymichael/shim-size
    * 07885f1364 Updates lease creation to respect existing leases
    * dce27d8c62 Remove client use of gc root label
    * e13894bb7a Add leases api
    * d01fb047f4 Fix runtime root with no-shim
    * fc08f019f3 Fix windows compile for dialer package
    * bba473aeb1 Move shim client into subpackage
    * 13c7c3ef10 Remove urfave cli dep from shim
    * a70b95b202 Move events exchange into subpackage
    * 526d15bd86 Move dial funcs to dialer pkg
    * 01cdf330bb Merge pull request #1716 from crosbymichael/strip
    * 2aad5ecdf6 Merge pull request #1725 from dmcgowan/diff-parent-permission
    * 8889d459af Add directory permission tests
    * 7e398dd591 Merge pull request #1717 from dnephin/use-gometalinter
    * 46ac2befcc Merge pull request #1721 from bandoshintaro/master
    * 8498de00bd Merge pull request #1719 from AkihiroSuda/proc-scsi
    * 5128f034b8 Fix docs, log output in getting started
    * db589884ee Add /proc/scsi to masked paths
    * f9e969bac8 Use gometalinter for linting
    * ab67fd50dc Merge pull request #1715 from thaJeztah/nit-fix-printf
    * 65d5b8b937 Align version output and minor code cleanup
    * a045575998 Strip binaries in Makefile
    * 99595e0b84 Merge pull request #1714 from dnephin/remove-deadcode-from-release
    * 393e8cc332 Remove deadcode from cmd/containerd-release
    * 5acf187697 Merge pull request #1712 from stevvooe/defaults-package
    * 0a1a13448b defaults: add package to contain server defaults
    * 564600ee79 Merge pull request #1707 from dmcgowan/snapshot-storage-db
    * 68d3c77eae Open snapshot database only once
    * 7a91c66d25 Merge pull request #1710 from AkihiroSuda/print-revision
    * dfdcd4decb containerd --version: print version.Revision
    * c933088381 Merge pull request #1663 from dmcgowan/content-local-labels
    * a7a869f14e Merge pull request #1703 from estesp/remove-copyright
    * aa3516487c Merge pull request #1704 from jessvalarezo/ctr-move-tasks
    * 7b08bcdb65 Add support for label storage in local content store
    * 864b16a2cb ctr: alphabetize commands, rename signals
    * f654b7b71e ctr: move pprof to commands package
    * a827a17f1d ctr: move shim to commands
    * c3b70f1d0b ctr: move tasks, run to commands package
    * 7d6017a954 Update LICENSE.docs with proper CC-BY-4.0 text
    * fe3d9a70fa Merge pull request #1702 from estesp/fix-cc-by-lic
    * 474d4df2aa Merge pull request #1692 from dmcgowan/gc-fix-sweep-race
    * ff904841f9 Merge pull request #1668 from jessvalarezo/image-unpack-check
    * 015788f1d8 Fix CC-BY license reference in README.md
    * 7fd20edf4e Merge pull request #1701 from stevvooe/backoff-v1-images
    * 9f5b97c510 Merge pull request #1698 from crosbymichael/task-ls
    * 8bbf8d892a Merge pull request #1693 from jessvalarezo/ctr-refactor-fourth-pass
    * 1552ee23da client: Add helper function which checks if an image is unpacked
    * 8eee47cf82 remotes/docker/schema1: back off on locked ref
    * 7a1d709cc9 ctr: remove apply command
    * 432670237c Fix race in gc sweep
    * e4da49c44c ctr: move unpack to snapshot command
    * 456d3f4475 ctr: move push and pull to images command
    * b58e4fc2ed ctr: move fetch,fetch-object,push-object to content
    * e2f9fbfe71 Merge pull request #1687 from crosbymichael/pie
    * 91597bc6c3 Move task list to separate command
    * 58835d2edc Merge pull request #1697 from crosbymichael/template
    * adc502b790 Add template filepath for release tool
    * 5fb3a0e0cf Merge pull request #1695 from runcom/abstract-release-tool
    * fa678a0937 cmd: containerd-release: abstract it out to create a new project
    * b93bd0cfec Merge pull request #1676 from AkihiroSuda/null-io-fix
    * e0da28acc4 ctr: error if tty && nullIO
    * e74c423f78 Fix races with concurrent GC
    * 1f704e9862 Merge pull request #1688 from crosbymichael/cli
    * 994c717d0d Merge pull request #1689 from jessvalarezo/ctr-refactor-third-pass
    * 16855eedf7 ctr: move resolver to commands package
    * ffd0d2ef58 ctr: move signals to commands package
    * b8c4d85564 Add buildmode=pie to makefile
    * 9d05197f96 Update cli to 7bc6a0acffa589f415f88aca16cc1de5ffd6
    * 638f3a3380 Merge pull request #1685 from jessvalarezo/ctr-refactor
    * 8540587b37 ctr: move events command
    * fdb6859921 ctr: move namespaces command
    * 750fd89b38 ctr: move snapshot command
    * 0895dbe932 ctr: move content command
    * f980cc197e ctr: move images command
    * 47fae4dd17 ctr: move containers command
    * 8c77d9ac72 Merge pull request #1683 from crosbymichael/ctr-moving
    * 083b10bdaa Merge pull request #1684 from crosbymichael/lint-final
    * 1d298c89a4 Fix windows lint issues and enable ci
    * 1c533a2725 Enable go lint in CI
    * b6e0c4f321 Fix go lint errors
    * ae995bc7b3 Move plugins command
    * 2dac1b6963 Move version command into package
    * 4743f1fc4c Move NewClient and AppContext to commands pkg
    * 8509569329 Merge pull request #1680 from crosbymichael/solaris
    * 9956fa4b33 Remove solaris files
    * 80de00069a Merge pull request #1679 from jessvalarezo/ctr-refactor-first-pass
    * a19a20303a ctr: add commands package with shared utility functions
    * 04659d9405 Merge pull request #1675 from crosbymichael/ctr-newclient
    * 9f76083a8f Refactor newClient in ctr
    * edf4114d55 Merge pull request #1673 from qingyunha/ctr
    * 313bab3dd6 Merge pull request #1654 from crosbymichael/ctr-daemon
    * 0813ee472c Merge pull request #1666 from estesp/add-test-stress-info
    * 61121024c1 ctr use client's underlying service
    * 5b6564d89d Merge pull request #1667 from crosbymichael/more-lint
    * 230dc74a72 Merge pull request #1669 from crosbymichael/container-api-tests
    * 43ec3df34b Add testing information to BUILDING.md
    * b937d230ba Add additional container test for missing methods
    * 5fd0415985 Add comments and fix common lint issues
    * 9bd1dc78cb Unexport grpc service types
    * 3679a55883 Merge pull request #1665 from crosbymichael/bump-runc
    * 8feebb7513 Bump runc to 74a17296470088de3805e138d3d87c62e613d
    * 91a33a0b47 Merge pull request #1664 from qingyunha/issue1607
    * f325d51c5e move the fifo locations /run/containerd
    * c7dc795455 [ctr] add --detach to run
    * 2e004086cf [ctr] Add --null-io to ctr run/start
    * 992280e8e2 Merge pull request #1662 from mlaventure/update-cgroups
    * 7c9be56930 Update containerd/cgroups to f7dd103d3e4e696aa67152f6b4ddd1779a3455a9
    * 1752bf590a Merge pull request #1660 from stevvooe/update-security-email
    * 639d1bdd62 README, RELEASES: update security email
    * f2ae8a020a Merge pull request #1658 from dmcgowan/gc-content-delete
    * 923a5c873b Update content store garbage collection
    * 87596ad708 Merge pull request #1657 from mlaventure/vendor-go-runc
    * 90c535521a Vendor go-runc ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7
    * 84fa3967c5 Merge pull request #1656 from crosbymichael/rev-name
    * 21c992a9c8 Reverse checkpoint url
    * 5244d7b829 Merge pull request #1655 from dmcgowan/skip-user-ns-tests
    * cbeb0a847c Merge pull request #1652 from crosbymichael/cr-image
    * efcec3674a Skip user namespace tests in kernels which have it disabled
    * ce57d6d619 Merge pull request #1634 from crosbymichael/release-build
    * 5a386446e3 Merge pull request #1653 from dmcgowan/fix-pull-race
    * ca63e6d10f Merge pull request #1645 from cpuguy83/limited_reader
    * b798d87bd4 Ensure manifests are marked as root during pull
    * e4c6bf3b5e Remove default filter from ctr
    * e833da1356 Clear root labels during checkpoint
    * e201be5196 Create checkpointed image in client
    * a19fd6ed6e Add checkpoint media types to handler
    * abbec62620 cmd/ctr: create an image for checkpoint
    * 6eb56a2ec9 Use limited reader for some `ReadAll` cases.
    * 70b5668351 Merge pull request #1631 from dmcgowan/cancel-unpack
    * 3c89aafdc3 Merge pull request #1649 from mlaventure/win-procdetaisl-use-stdtime
    * 6b9edd089a Merge pull request #1640 from Random-Liu/fix-image-pull-race
    * 2cdb3951a4 Merge pull request #1643 from cpuguy83/close_wait_chan
    * 205625473f Close wait chan after sending status
    * e7ea7b5b50 windows: Use stdtime for hcsshimtypes.ProcessDetails.CreatedAt
    * ef5fe56c24 Merge pull request #1641 from WeiZhang555/fix-progress-bar
    * 79dad0ab02 Merge pull request #1650 from dmcgowan/fix-gc-race
    * 295cce278f Use single instance of snapshot and content stores
    * e378196505 Add snapshot label command to ctr
    * d28b8cc80d Merge pull request #1648 from mlaventure/checkpoint-workdir
    * 7562047f6a Merge pull request #1642 from mlaventure/arm-panic
    * 71f0bb3e3c linux: Pass correct path to runc when doing a checkpoint
    * d8e489443c linux: Ensure count is 64bits aligned for proper atomic use on 32bits machines
    * a06abd7493 [progress] Fix wrong display of progress bar
    * 103dd0e75e Merge pull request #1644 from cpuguy83/unmarshal_error_desc
    * c1a0775136 Build release tar and include hash
    * 7f4f4b5e68 Merge pull request #1646 from mlaventure/mlaventure-email
    * 3c7645a89d Merge pull request #1647 from yanxuean/typo
    * d8d1209e50 a typo in comment of Snapshotter.Update
    * bdf801bd36 Update @mlaventure e-mail address
    * 0847ae6cdf Improve error message for `WithContainerExtension`
    * 09c2bfadd2 Reduce image pull race.
    * c66fd83eae Merge pull request #1636 from crosbymichael/cgroups
    * d805f77f50 Bump cgroups dep to 38a61430f7ceb01581fba6dd7ead48
    * 91614a57dc Merge pull request #1633 from ijc/go1.9
    * 71c4ee5cf8 Merge pull request #1629 from dmcgowan/remove-archive-umask
    * 680bab8468 Update docs with go 1.9 requirement.
    * dcf7ff5db5 Update apply diff to support context cancellation
    * e20b371807 Remove umask, replace with explicit chmod after create
    
    Dependency Changes
    
    Previous release can be found at [v1.0.0-beta.2](https://github.com/containerd/containerd/releases/tag/v1.0.0-beta.2)
    
    * 8ba6f23b6e36d03666a14bd9421f5e3efcb59aca -> 7bc6a0acffa589f415f88aca16cc1de5ffd66f9c **github.com/urfave/cli**
    * 0351df1c5a66838d0c392b4ac4cf9450de844e2d -> 74a17296470088de3805e138d3d87c62e613dfc4 **github.com/opencontainers/runc**
    * 9c238e632e80d94f71a067c3deb9b34b1886ef18 -> f7dd103d3e4e696aa67152f6b4ddd1779a3455a9 **github.com/containerd/cgroups**
    * 633fd07c086ff591adaa2849278764771d791f6f -> ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7 **github.com/containerd/go-runc**
    
    
  • v1.0.0-beta.2
    containerd 1.0.0-beta.2
    
    Welcome to the release of containerd v1.0.0-beta.2!
    
    *This is a pre-release of containerd*
    
    This release rounds out much of the remaining feature set for the 1.0 release
    time frame. In addition to a large number of bugfixes and utility additions,
    services and methods have been added to the GRPC API to meet production use
    cases.  The highlight is garbage collection, along with database migrations,
    plugin introspection and rich PID listing.
    
    Please try out the release binaries and report any issues at
    https://github.com/containerd/containerd/issues.
    
    Garbage Collection
    
    Full garbage collection support for cleaning up content, snapshots and metadata
    for containerd resources. The implementation is based on well-known concurrent
    mark and sweep and the approach allows for extensibility in collection
    policies.
    
    The GC is triggered `Container.Delete and Image.Delete. Note that images may
    need to be re-pulled for proper support.
    
    Introspection API
    
    The new introspection API allows for querying the state of containerd. The
    `Plugins` method lists the state and exports of all initialized plugins in use
    in a containerd instance.
    
    ```console
    $ ctr plugins
    TYPE                            ID             PLATFORM       STATUS
    io.containerd.content.v1        content        -              ok
    io.containerd.metadata.v1       bolt           -              ok
    io.containerd.differ.v1         walking        linux/amd64    ok
    io.containerd.grpc.v1           containers     -              ok
    io.containerd.grpc.v1           content        -              ok
    io.containerd.grpc.v1           diff           -              ok
    io.containerd.grpc.v1           events         -              ok
    io.containerd.grpc.v1           healthcheck    -              ok
    io.containerd.grpc.v1           images         -              ok
    io.containerd.grpc.v1           namespaces     -              ok
    io.containerd.snapshotter.v1    btrfs          linux/amd64    error
    io.containerd.snapshotter.v1    overlayfs      linux/amd64    ok
    io.containerd.grpc.v1           snapshots      -              ok
    io.containerd.monitor.v1        cgroups        linux/amd64    ok
    io.containerd.runtime.v1        linux          linux/amd64    ok
    io.containerd.grpc.v1           tasks          -              ok
    io.containerd.grpc.v1           version        -              ok
    ```
    
    Rich ListPIDs
    
    Listing PIDs through the task service can now provide runtime specific metadata
    through the API. This is particularly interesting on the windows platform. The
    following is an example of a Windows container `ps` output:
    
    ```console
    $ ctr tasks ps <container-id>
    PID       INFO
    3716      {ImageName:smss.exe CreatedAt:2017-10-10T17:51:45.1552607Z KernelTime_100Ns:156250 MemoryCommitBytes:348160 MemoryWorkingSetPrivateBytes:217088 MemoryWorkingSetSharedBytes:946176 ProcessID:3716 UserTime_100Ns:0}
    5404      {ImageName:csrss.exe CreatedAt:2017-10-10T17:51:45.1848844Z KernelTime_100Ns:0 MemoryCommitBytes:606208 MemoryWorkingSetPrivateBytes:339968 MemoryWorkingSetSharedBytes:1560576 ProcessID:5404 UserTime_100Ns:0}
    3628      {ImageName:wininit.exe CreatedAt:2017-10-10T17:51:45.1974386Z KernelTime_100Ns:156250 MemoryCommitBytes:983040 MemoryWorkingSetPrivateBytes:610304 MemoryWorkingSetSharedBytes:3448832 ProcessID:3628 UserTime_100Ns:0}
    8576      {ImageName:services.exe CreatedAt:2017-10-10T17:51:45.2091635Z KernelTime_100Ns:468750 MemoryCommitBytes:2048000 MemoryWorkingSetPrivateBytes:1437696 MemoryWorkingSetSharedBytes:4182016 ProcessID:8576 UserTime_100Ns:0}
    7892      {ImageName:lsass.exe CreatedAt:2017-10-10T17:51:45.2177712Z KernelTime_100Ns:937500 MemoryCommitBytes:2666496 MemoryWorkingSetPrivateBytes:1982464 MemoryWorkingSetSharedBytes:7561216 ProcessID:7892 UserTime_100Ns:312500}
    6384      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.3676107Z KernelTime_100Ns:468750 MemoryCommitBytes:1896448 MemoryWorkingSetPrivateBytes:1277952 MemoryWorkingSetSharedBytes:4730880 ProcessID:6384 UserTime_100Ns:156250}
    4904      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.5431743Z KernelTime_100Ns:312500 MemoryCommitBytes:1781760 MemoryWorkingSetPrivateBytes:1331200 MemoryWorkingSetSharedBytes:4952064 ProcessID:4904 UserTime_100Ns:0}
    2092      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.5838844Z KernelTime_100Ns:156250 MemoryCommitBytes:2486272 MemoryWorkingSetPrivateBytes:2117632 MemoryWorkingSetSharedBytes:5668864 ProcessID:2092 UserTime_100Ns:312500}
    6576      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:45.727607Z KernelTime_100Ns:156250 MemoryCommitBytes:1818624 MemoryWorkingSetPrivateBytes:1417216 MemoryWorkingSetSharedBytes:6684672 ProcessID:6576 UserTime_100Ns:156250}
    2412      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.0427889Z KernelTime_100Ns:468750 MemoryCommitBytes:5570560 MemoryWorkingSetPrivateBytes:3915776 MemoryWorkingSetSharedBytes:5963776 ProcessID:2412 UserTime_100Ns:0}
    5472      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.0827893Z KernelTime_100Ns:312500 MemoryCommitBytes:2625536 MemoryWorkingSetPrivateBytes:1908736 MemoryWorkingSetSharedBytes:7532544 ProcessID:5472 UserTime_100Ns:312500}
    8756      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.1108672Z KernelTime_100Ns:312500 MemoryCommitBytes:1843200 MemoryWorkingSetPrivateBytes:1466368 MemoryWorkingSetSharedBytes:4612096 ProcessID:8756 UserTime_100Ns:0}
    1508      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.1522136Z KernelTime_100Ns:2812500 MemoryCommitBytes:4816896 MemoryWorkingSetPrivateBytes:3600384 MemoryWorkingSetSharedBytes:9281536 ProcessID:1508 UserTime_100Ns:468750}
    4612      {ImageName:svchost.exe CreatedAt:2017-10-10T17:51:46.2212148Z KernelTime_100Ns:937500 MemoryCommitBytes:3063808 MemoryWorkingSetPrivateBytes:2265088 MemoryWorkingSetSharedBytes:8667136 ProcessID:4612 UserTime_100Ns:156250}
    5936      {ImageName:CExecSvc.exe CreatedAt:2017-10-10T17:51:46.2224031Z KernelTime_100Ns:0 MemoryCommitBytes:983040 MemoryWorkingSetPrivateBytes:737280 MemoryWorkingSetSharedBytes:3723264 ProcessID:5936 UserTime_100Ns:0}
    4416      {ImageName:cmd.exe CreatedAt:2017-10-10T17:51:46.5943846Z KernelTime_100Ns:0 MemoryCommitBytes:1564672 MemoryWorkingSetPrivateBytes:356352 MemoryWorkingSetSharedBytes:2174976 ProcessID:4416 UserTime_100Ns:0}
    8700      {ImageName:powershell.exe CreatedAt:2017-10-10T17:51:46.6120645Z KernelTime_100Ns:2343750 MemoryCommitBytes:24522752 MemoryWorkingSetPrivateBytes:19853312 MemoryWorkingSetSharedBytes:27156480 ProcessID:8700 UserTime_100Ns:10156250}
    ```
    
    Migrations
    
    A lightweight migration framework is now part of containerd. This allows us to
    safely evolve the schema between releases with the groundwork laid early.
    
    As part of this release, a migration will be run to add back references in
    support of garbage collection.
    
    Contributors
    
    * Ace-Tang
    * Akihiro Suda
    * Akim Demaille
    * Allen Sun
    * Daniel, Dao Quang Minh
    * Derek McGowan
    * Jess Valarezo
    * Kenfe-Mickaël Laventure
    * Lantao Liu
    * Mathieu Pasquet
    * Michael Crosby
    * Phil Estes
    * Stephen J Day
    * Tobias Klauser
    * Yanqiang Miao
    
    Changes
    
    * a543c937 Merge pull request #1630 from stevvooe/beta2
    * 683ed979 release: prepare 1.0.0-beta.2
    * 1fe31c7e Merge pull request #1628 from crosbymichael/release-tool
    * 769d9e16 add release tool to generate releases
    * 587f2524 Merge pull request #1563 from dmcgowan/gc-alpha
    * 3cc75915 Merge pull request #1627 from jessvalarezo/task-remove-cast
    * 1e69de18 Remove ProcessInfo cast
    * b5152f27 Merge pull request #1626 from jessvalarezo/windows-changes
    * 830e0ea3 Change hcsshimopts to hcsshimtypes package
    * ffb03c4f Add checkpoint and userns gc labels
    * de7b2818 Update services to call garbage collection
    * 17471d55 Metadata garbage collection
    * 7884707c Add reference labels to snapshots and content
    * 551579b3 Merge pull request #1621 from dmcgowan/refactor-diff
    * 64a96aab Abort newly created references on error
    * 69e7e7fa Add error wrapping for client checkpoint errors
    * d9db1d11 Refactor differ into separate package
    * 60960e1c Merge pull request #1597 from stevvooe/introspection-service
    * 0e72ce5c services/introspection: implement plugin reporting
    * 49814646 plugin: allow declaring a plugin depends on all others
    * 8508e825 plugin: refactor plugin system to support initialization reporting
    * fe52d936 errdefs: use status package for mapping errors
    * d8bd6b70 plugin: allow querying plugin graph to be re-entrant
    * 363d692f api/services: define the introspection API
    * 12c79cc0 Merge pull request #1604 from jessvalarezo/windows-listpids
    * 061c7192 ListPids returns process ID and other info
    * 96725a5a Merge pull request #1620 from mlaventure/runc-io-id
    * c807ba83 Allow setting the uid & gid of the io pipes
    * 1ea8ac41 Merge pull request #1617 from crosbymichael/2cgroup
    * d7864eb7 Use namespace in default cgroup path
    * 72bb45ac Merge pull request #1603 from mlaventure/fix-windows-flaky-tests
    * cfa87567 windows: Create init process with task
    * ad526645 windows: Fix a few races
    * b2e34823 Merge pull request #1584 from miaoyq/fix-mount-lookup-err
    * d7c46118 Ensure getting the correct mountinfo corresponds to path
    * a8426ed9 Merge pull request #1609 from crosbymichael/attach-docs
    * 6c3f3937 Merge pull request #1611 from stevvooe/address-cgroup-merge-conflicty
    * 77e5f655 metrics/cgroups: handle error on call to cgroup
    * bbb01ee1 Add docs around multiple attach
    * 987fcd12 Merge pull request #1598 from Random-Liu/fix-load-task
    * 67bbfc5d Merge pull request #1605 from dmcgowan/metadata-db-documentation
    * e4defbcb Add documentation for metadata database
    * 6f351f0a Merge pull request #1586 from mathieui/postmortem-stats
    * d92f6eea Allow blocking and non-blocking metrics collection
    * ed519bb5 Collect cgroup stats one last time before exit
    * 8558b98e Merge pull request #1582 from dmcgowan/metadata-db-object
    * 7f657ce3 Add database migrations
    * 28ca8f05 Fix task load.
    * 7c4bca59 Merge pull request #1600 from AkihiroSuda/defaultspec
    * d7b0e522 spec: set MaskedPaths and ReadOnlyPaths by default
    * 72a3a019 Merge pull request #1595 from crosbymichael/container-lock
    * 28882fdd Merge pull request #1589 from mlaventure/shim-no-newns
    * fa9e9bdf Fetch current container info before operations
    * 8d892a65 Update metadata plugin initialization
    * 2ab70f21 Add content and snapshot store references
    * 447a0a94 Add children bucket to back reference snapshots
    * 56c1b79a Create metadata db object
    * acba0f50 Merge pull request #1594 from akimd/akim/clean
    * ec43dc2b Merge pull request #1592 from AkihiroSuda/workdir2
    * 26d4c2c2 Add an option to prevent putting the shim in a new mount namespace
    * 0ae9d8fa Merge pull request #1567 from stevvooe/image-check-function
    * 8ceeeed4 style: move definition for consistency
    * b26e2e78 ctr run: add --cwd
    * f6d88927 Merge pull request #1583 from stevvooe/image-storage-validation
    * 698b6d15 metadata: validation and testing of image store
    * c555df54 images: support checking status of image content
    * 7c9b0eab Merge pull request #1590 from crosbymichael/container-update
    * 9e85035f Add container update method
    * 1c7a042e Merge pull request #1566 from stevvooe/split-children
    * 6b9aafda Merge pull request #1587 from Ace-Tang/remove_blank_line
    * 2231de37 Remove a blank line
    * 8ded4fe3 Merge pull request #1581 from crosbymichael/lint-2
    * 451421b6 Comment more packages to pass go lint
    * 33e974ce Merge pull request #1577 from crosbymichael/lint-1
    * 2416559f Merge pull request #1580 from tklauser/unix-mkdev-major-minor
    * f43b7acf Update files based on go lint
    * 579093f1 Merge pull request #1579 from tklauser/vendor-ansiterm
    * f01b1391 archive: use Mkdev, Major and Minor functions from golang.org/x/sys/unix
    * 727fd599 ctr: remove SIGUNUSED from signal map
    * e789135a vendor: update golang.org/x/sys
    * acc246e5 Remove stray entry for Azure/go-ansiterm from vendor.conf
    * ce6859fd images: provide separated children function for images
    * 16bf8236 Merge pull request #1570 from AkihiroSuda/oci-runtime-readonly
    * 27023c7f readonly: pass RW rootfs to runtime, and let the runtime remount it as RO
    * 70b353df Merge pull request #1551 from mlaventure/client-pull-set-labels
    * 9f84513b Merge pull request #1571 from allencloud/remove-defaultns-from-Client
    * fd44a3ae remove field defaultns from struct Client
    * df82159f client: Allow setting image labels on Pull() and Import()
    * b24acea2 Merge pull request #1565 from allencloud/fix-potential-panic
    * 382dafef fix a potential panic when map is nil
    * cc9f58ac Merge pull request #1559 from mlaventure/fix-oor-panic
    * cee13ebf Merge pull request #1557 from crosbymichael/console-bump
    * cf2c4609 Bump runc with console change for ONLCR
    * d026f813 Merge pull request #1562 from AkihiroSuda/ctr-images-q
    * ed811896 Update console dep to 84eeaae905fa414d03e07bcd6c8d
    * 2a648136 ctr: add `ctr images ls --quiet`
    * af2226c9 client: Prevent Out-Of-Range panic in task.Metrics()
    * bd1f89b7 Merge pull request #1555 from crosbymichael/client-lint
    * 51b9240b Update client to pass go lint
    * 1a9d9394 Merge pull request #1558 from mlaventure/dialer-quick-fix
    * 357eff82 Merge pull request #1556 from crosbymichael/tests
    * c42f56b3 Move unix specific tidbits into dialer_unix.go
    * 76a2d1cc State adding tests when submitting changes
    * 76bfff39 Merge pull request #1554 from mlaventure/list-images-filters
    * 8e447197 Merge pull request #1552 from allencloud/update-docs-and-comments
    * 4700968f update docs and comments
    * 8f1dd438 client: Allow specifying filters when listing images
    
    Dependency Changes
    
    Previous release can be found at [v1.0.0-beta.1](https://github.com/containerd/containerd/releases/tag/v1.0.0-beta.1)
    
    * b3c048c028ddd789c6f9510c597f8b9c62f25359 -> 633fd07c086ff591adaa2849278764771d791f6f **github.com/containerd/go-runc**
    * b28c739c79ce69d017e3691ad3664568d68e95c6 -> 84eeaae905fa414d03e07bcd6c8d3f19e7cf180e **github.com/containerd/console**
    * 5933ab4dc4f7caa3a73a1dc141bd11f42b5c9163 -> 9c238e632e80d94f71a067c3deb9b34b1886ef18 **github.com/containerd/cgroups**
    * 7ddbeae9ae08c6a06a59597f0c9edbc5ff2444ce -> 314a259e304ff91bd6985da2a7149bbf91237993 **golang.org/x/sys**
    * 593914b8bd5448a93f7c3e4902a03408b6d5c0ce -> 0351df1c5a66838d0c392b4ac4cf9450de844e2d **github.com/opencontainers/runc**
    
    
  • v1.0.0-beta.1
    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
    
  • v1.0.0-beta.0
    containerd 1.0.0-beta.0
    
    After a large push for stability changes, we now present containerd
    1.0.0-beta.0.
    
    With this release, going forward, our focus will be on not breaking
    integrations. If we do push a beta that breaks something, please let us
    know immediately so we can update our processes and procedures to avoid
    breaks in the future.
    
    While we are making the above the committment, we will make exceptions
    if critical design changes are required or if there are security issues.
    
    Release Process
    
    The release process and versioning guarantees have been laid out in
    RELEASES.md. It identifies the release process, versioning, branching,
    support horizon and backporting processes for containerd.
    
    Upgrading
    
    As a matter of policy, there is no compatibility with previous alpha
    releases, so it is recommended that existing installations be cleared
    out to avoid future issues. Existing clients should work but one may
    encounter compilation errors due to changes.
    
    The name of the field `Container.RootFS` has been changed to
    `Container.SnapshotKey`. Existing clients should work with out change,
    but when upgrading deamons, the storage location of this value has
    changed. If this is a problem, please reach out and we can work out a
    migration solution.
    
    Metrics
    
    The main addition for this release is support for inline container
    metrics access on the Tasks service. The container metrics, previously
    available via the prometheus API, are now made available directly
    through the GRPC API to support use cases that are focused on single
    containers rather than aggregrates.
    
    Contributors
    
    Akihiro Suda
    Darren Stahl
    Derek McGowan
    Kenfe-Mickaël Laventure
    Lantao Liu
    Michael Crosby
    Phil Estes
    Stephen Day
    
    Changes
    
    a2e89919 release: prepare 1.0.0-beta.0
    3b282ba7 Merge pull request #1480 from dmcgowan/unique-unpack-keys
    09f24214 Merge pull request #1466 from AkihiroSuda/snapshotkey
    597d0d76 Support simultaneous unpacking of same layer
    e30e0c8b api: RootFS -> SnapshotKey
    8b633869 Merge pull request #1479 from stevvooe/baseline-api-txt
    e66d1a79 Merge pull request #1468 from crosbymichael/stats
    157cfb1a api, linux/runcopts: ensure output is current
    2ed3c62e Update cgroups to 5933ab4dc4f7caa3a73a1dc141bd11f4
    843b35c9 Merge pull request #1478 from estesp/freebsd-compile
    8b938b00 Fix FreeBSD compilation
    e0f7b5f1 Merge pull request #1477 from stevvooe/revert-rootfs-init
    e1eeb0e0 Merge pull request #1475 from dmcgowan/content-commit-context
    4d8f7895 Revert "rootfs: remove unused functions"
    9613acb2 Add context to content commit
    bf08f7cd Merge pull request #1474 from mlaventure/update-gorunc
    f766801a Update go-runc to b3c048c028ddd789c6f9510c597f8b9c62f25359
    026ebe14 Merge pull request #1472 from dmcgowan/fix-gcr-registries
    48afd445 Support blob commit returning a 200 instead of 201
    4c5ed9c0 Move metrics requests to services
    c07f7cab Add task.Metrics to windows
    8510512e Add test for client metrics
    f45269be Update cgroups to 4be134fe43b9e207558365ad2675546b
    ed459528 Use cgroups proto for prom metrics
    0973a084 Update cgroups to e364e5d4183340acdf51f943ba033543
    697dcdd4 Refactor task service metrics
    16fcb8dc Merge pull request #1470 from crosbymichael/lossy
    a6aa3ccd Merge pull request #1469 from crosbymichael/sys
    f5d81a63 Return grpc errs from task service
    887f97f2 Merge pull request #1463 from stevvooe/switch-snapshot-kind
    f7dc0ab9 Update golang/sys to 7ddbeae9ae08c6a06a59597f0c9ed
    1c311997 snapshot: use switch to parse snapshot.Kind
    f4b84987 Merge pull request #1373 from AkihiroSuda/fix-snapshot-view
    a560e5e0 mount: fix read-only bind (#1368)
    b4cc42d0 Merge pull request #1460 from mlaventure/pid-host-kill-init
    939ad321 Update go-runc to ba22f6a82e52be3be4eb4a00000fe816f4b41c2e
    a6fb9bc1 reaper: Return an error if exit status is not 0
    92772bd4 linux: Ensure all init children are dead when it exits
    9d251cbd Delete bundle dir on restore if we're not debugging the shim
    d3e11325 Merge pull request #1453 from crosbymichael/oom
    378e3343 Merge pull request #1362 from AkihiroSuda/ctr-snapshot-info
    b04e408a Convert OOM Metric to Const
    93395c0b Merge pull request #1462 from stevvooe/fieldpath-fix
    5cc10860 service/containers: correctly plumb fieldpaths
    71820855 Merge pull request #1447 from stevvooe/nice-events
    4291fb48 Merge pull request #1454 from
    mlaventure/per-container-runtime-binary
    a3f0bbaa Merge pull request #1459 from crosbymichael/exec-wait
    5614e9c7 Wait on exec process not task
    3e2a9c60 Merge pull request #1458 from AkihiroSuda/net-host
    dd05301b Merge pull request #1457 from AkihiroSuda/nit-doc
    053deb5c ctr: net-host: bind-mount host /etc/{hosts,resolv.conf}
    37896edf RELEASES.md: Go API -> Go client API
    525bffd1 snapshot: support JSON marshalling for Info
    fef7f3ad ctr: add `ctr snapshot info <key>`
    1b791708 linux: Add RuntimeRoot to RuncOptions
    ab0cb4e7 linux: Honor RuncOptions if set on container
    e0d8cb13 Fix retrieval of container Runtime.Options field
    22df20b3 Merge pull request #1452 from crosbymichael/reaper2
    6b4c4a29 Update reaper for multipe subscribers
    9255e752 containerd: export Subscribe method on client
    c2e894c3 Merge pull request #1448 from darrenstahlmsft/ConsoleSize
    c1c2aaff Merge pull request #1444 from Random-Liu/add-image-config
    04c6bf42 Ensure ConsoleSize is not nil
    76e016ca Add image config function.
    0baecaa7 Merge pull request #1439 from
    mlaventure/allow-setting-rutime-opts
    49e3d43f Merge pull request #1443 from crosbymichael/daemon-cgroup
    932246b5 Place containerd inside cgroup
    c3711c38 Merge pull request #1319 from mlaventure/handle-sigkilled-shim
    744308a9 Merge pull request #1440 from mlaventure/fix-shim-panic
    42b131c1 Allow setting runtime options when using WithRuntime()
    1c92c0ec Fix panic in CloseIO when not Stdin was allocated for a process
    456e1697 Merge pull request #1438 from crosbymichael/apparmor
    7dd87c35 Merge pull request #1436 from crosbymichael/security
    2b46989d Add default apparmor profile generation
    edd1da85 Use configured runtime when cleaning up after dead shim
    700120c0 Don't build binaries when running `make vet`
    3f34c421 Add missing "/tasks/exec-started" event topic
    dbd3eff1 containerd: add state flag to specify state dir
    d5415671 Handle SIGKILL'ed shim while daemon is running
    c23f29eb containerd-shim: Don't try to delete container twice
    eb4abac9 linux: Prevent deadlock in reaper.WaitPid()
    9923a49e linux/shim: Kill container upon SIG{TERM,KILL}
    6ec92ddb Merge pull request #1437 from darrenstahlmsft/LCOWConfig
    d0b61366 Split Windows config generation to support LCOW
    4a782f7b Vendor opengcs and hcsshim
    6b6ac8e9 Add security mailing list to readme and releases
    cf09e326 Merge pull request #1435 from Random-Liu/with-process-kill-all
    2f237b2f WithProcessKill should kill all processes.
    31b5bb91 Merge pull request #1434 from crosbymichael/kill-all
    ed6b8fb0 Add KillOpts for killing all processes
    a1976187 Merge pull request #1428 from mlaventure/go1.9
    b9879d46 Merge pull request #1433 from Random-Liu/fix-with-user-id
    410bcea2 WithUserID should not return error when /etc/passwd doesn't exist.
    360e46dd Merge pull request #1429 from dmcgowan/client-use-root-path
    44e266b7 Use RootPath for resolving path inside of an image
    e4a77fcc Merge pull request #1425 from Random-Liu/add-with-user-id
    bb9e2bfa Add WithUserID which gets uid and gid from image's /etc/passwd.
    ab1968d5 Merge pull request #1427 from crosbymichael/states
    fb427da1 Merge pull request #1424 from crosbymichael/load-exec
    1a77db1a Merge pull request #1423 from crosbymichael/events
    96749709 Add procesStates for shim processes
    34c25e07 Use golang 1.9 on AppVeyor CI
    77b98f05 Use golang 1.9 on Travis CI
    b3303b55 Add LoadProcess api to Task
    a6ce1ef2 Merge pull request #1413 from crosbymichael/user-opts
    2052b76f Change WithSpec to take SpecOpts
    421c607c Add Events client method
    5c7f6718 Add libcontainer/user package for passwd parsing
    f66f0fb7 Update windows SpecOpts in tests
    f436f4c8 Add WithUsername spec opt
    c601606f Move spec generation to Container Create
    fa14f2ef Add context and client to SpecOpts
    ba69f5d4 Add WithUserIDs SpecOpt
    
  • v1.0.0-alpha6
    containerd 1.0.0-alpha6
    
    The seventh alpha release brings further stability and testing to containerd.
    This release mostly contains fixes and clean ups on the client side along with
    a few bug fixes on the daemon side. There are no API changes or need to update
    dependencies with this release. See changes for the full list of fixes.
    
    Please download and test this version. Report issues at
    https://github.com/containerd/containerd/issues.
    
    Release Process
    
    The release process and versioning guarantees have been laid out in
    [RELEASES.md](RELEASES.md). It identifies the release process,
    versioning, branching, support horizon and backporting processes for
    containerd.
    
    Contributors
    
    A special thanks to the contributors of this release:
    
    Akihiro Suda
    Brian Goff
    Christopher Jones
    Derek McGowan
    Kenfe-Mickaël Laventure
    Kunal Kushwaha
    Michael Crosby
    Phil Estes
    Stephen Day
    Zhang Wei
    
    Changes
    
    f05281743e Merge pull request #1420 from dmcgowan/alpha6
    b14c2cce11 release: updated version to alpha6
    709c37b1d1 Merge pull request #1419 from dmcgowan/walk-skip-not-found
    0daa593b3a Merge pull request #1393 from dmcgowan/multiple-differs
    98960f0493 Skip items removed during walk
    05cdc4f435 Merge pull request #1417 from mlaventure/delete-exitedat
    7f6c487031 go-client: Return an ExitStatus struct when calling process.Delete()
    12b43a5c8a Merge pull request #1416 from tophj-ibm/fix-race-testflags
    e6ab556f0e Only use race flag on amd64
    60fea11686 Merge pull request #1400 from dmcgowan/content-local-writer-locks
    311ea33608 Merge pull request #1414 from dmcgowan/btrfs-test-fail-2
    3bcb6f835b Merge pull request #1415 from kunalkushwaha/minor-fmt-fix
    8f7086a8bd unused fmt package
    96a75ab1ab Move detach flags to platform specific
    f74cea71dd Update basic test to allow being run in parallel on client
    750771f6d0 Remove snapshot test suite as a parallel test runner
    502734116d Update loopback to return error
    4028add553 Merge pull request #1405 from crosbymichael/fifos
    4015f7376f Merge pull request #1410 from mlaventure/errdegs-stack
    0e1f6c5da6 Merge pull request #1394 from crosbymichael/test-io
    fc535efe58 windows: Close IO if process in created state
    01b217f884 Merge pull request #1411 from estesp/snapshotter-cli-default
    4712ed5390 Fix snapshot ctr command to use default
    a8b21da538 Add FifoIO to expose fifos directly to client
    1b470c180e Remove Stdio usage in tests
    4de219903a errdefs: Provide a valid stack in all cases
    10460647f2 Merge pull request #1392 from cpuguy83/wait_async
    6ab99edb71 Convert `ExitStatus` to use fn to get details
    0648ec3ead Merge pull request #1388 from kunalkushwaha/makefile
    026896ac4c Make Wait() async
    1c989588c0 Breaking Makefile into platform specific files
    89da512692 Merge pull request #1377 from crosbymichael/exec-delete
    c71066252b Ensure content writer only unlocks resource once
    853fd15115 Merge pull request #1407 from crosbymichael/cgroups-bump
    bf82de3a4e Allow exec process to be deleted in created state
    77836a6c27 Update cgroups to e6d1aa8c71c6103624b2c6e6f4be0863
    873a34649a Merge pull request #1366 from stevvooe/containers-metadata-tests
    3e81b092de Merge pull request #1406 from mlaventure/add-exitedat-to-process
    8a1b03e525 Add ExitedAt to process proto definition
    4c5f824167 Merge pull request #1404 from WeiZhang555/add-newline
    14fe2d5f20 Add newline char to avoid mix of logs
    677257f032 service/snapshotter: move default to client
    783ed05057 metadata: ensure correct updates on Container
    8095244c26 Merge pull request #1396 from crosbymichael/reverts
    4950c26757 Revert "Wait for client side copy goroutines to start"
    e3696cfb4e Merge pull request #1395 from dmcgowan/content-testsuite-cleanup
    42119539be Close writers in content test suite
    2fa366d6af Add support for multiple differs
    567c2758f8 Merge pull request #1391 from crosbymichael/stdin-block
    cc3b7a5e9a Revert part of 06dc87ae59cca1536a3a98741a267af687b6dcdd
    0c10ce01c9 Merge pull request #1390 from AkihiroSuda/fix-typo
    5f7c527ed5 client: Resoveconf -> Resolvconf
    
  • v1.0.0-alpha5
    containerd 1.0.0-alpha5
    
    Another release brings further stability. Several quality fixes are
    included in this release, which include a fix to memory leaks, race
    conditions and error handling. The documentation has also been rounded
    out.
    
    Please download the binaries provided and let the bears get at 'em.
    Please report issues through
    https://github.com/containerd/containerd/issues. Your feedback is
    extremely important at this stage, so please don't be bashful about
    letting us know what you think.
    
    Upgrading
    
    The `runc` version has been upgrade. Make sure to update your `runc` to
    the version called out in [RUNC.md](RUNC.md). No other changes should
    have to take place on upgrade.
    
    Release Process
    
    The release process and versioning guarantees have been laid out in
    [RELEASES.md](RELEASES.md). It identifies the release process,
    versioning, branching, support horizon and backporting processes for
    containerd.
    
    If there are components missing or questions, please report them in an
    issue or propose changes via a PR.
    
    Stress Tool
    
    The `containerd-stress` tool can now be used to put `containerd` through
    its paces. Fire it at your instance today!
    
    Contributors
    
    A special thanks to the contrubutors of this release:
    
    Abhinandan Prativadi
    Akihiro Suda
    Christopher Jones
    Derek McGowan
    Ian Campbell
    Jess Valarezo
    Kenfe-Mickaël Laventure
    Lantao Liu
    Michael Crosby
    Phil Estes
    Stephen J Day
    
    Changes
    
    b2ee0ab3 Merge pull request #1387 from stevvooe/alpha5
    a7445504 release: prepare for 1.0.0-alpha5
    0fd951c2 Merge pull request #1379 from crosbymichael/profile
    a29c6c7a Merge pull request #1386 from
    Random-Liu/task-service-grpc-error
    f79981c2 Convert errors returned by task service to errdefs error.
    0a188014 Merge pull request #1382 from stevvooe/update-api-descriptors
    15f56727 Merge pull request #1369 from AkihiroSuda/ctr-snapshot-view
    c890ca9b Merge pull request #1383 from stevvooe/document-config-function
    2a1f7b64 images: document config utility function
    8ae20a13 api: update protobuf descriptors
    e800f08f Change oom metric to const
    ed1c4042 Merge pull request #1372 from jessvalarezo/d4m-gettingstarted
    d8abb61b Update building doc for Docker for Mac users
    89daacfe Merge pull request #1370 from crosbymichael/daemon-lock
    240a7be6 Merge pull request #1371 from dmcgowan/btrfs-test-errors
    06dc87ae Wait for client side copy goroutines to start
    bfd62ceb Defer unlock for testing daemon
    73ac66ee Merge pull request #1352 from ijc/userns
    0e28f2c7 Update mount creation to only use btrfs subvolume id
    ebafab47 correct container "/" ownership with userns
    e03ecd30 ctr: add `ctr snapshot view`
    4703b99a Merge pull request #1364 from
    AkihiroSuda/fix-ctr-snapshot-commit
    62cebf9f Merge pull request #1365 from AkihiroSuda/stress
    f8b1f4f6 stress -> containerd-stress
    ca352220 ctr: fix `ctr snapshot commit`
    a64399ac Merge pull request #1341 from
    mlaventure/enable-test-parallelism
    72159bf4 Merge pull request #1325 from dmcgowan/diffid-labels
    2abaf6e9 Fix possible deadlock in WithProcessKill
    b02e9a84 Fix TestContainerNoBinaryExists on windows
    104a8088 Add integration-parallel to Travis & AppVeyor CIs
    eb0970bb Mark relevant tests as elligible for parallelism
    938810e7 Merge pull request #1311 from abhinandanpb/client_int
    ca6b4632 Merge pull request #1343 from Random-Liu/change-io-to-interface
    dbb63b63 Merge pull request #1346 from stevvooe/disallow-runtime-update
    8e2c95f9 Change IO to interface.
    c288fbe9 Merge pull request #1354 from crosbymichael/null-io
    6a4a09d3 Merge pull request #1351 from jessvalarezo/check-nil-spec
    eb58ecab Add null io option
    cf1b5934 Merge pull request #1348 from AkihiroSuda/remove-unused
    e5cf1471 metadata: container spec nil check
    77035a6e Merge pull request #1345 from crosbymichael/gorunc
    4e233779 rootfs: remove unused functions
    ca9dec32 Merge pull request #1329 from tophj-ibm/change-test-image
    7a5d5923 Exposing helpers to access internal structure
    a3801b73 Merge pull request #1344 from crosbymichael/ops
    d7689418 metadata: disallow changing the runtime of an existing container
    da34812d Update differ to support compressed archives
    fa3454e5 Update go-runc to b85ac701de5065a66918203dd18f05
    dee8dc2c Add support for content labels on commit
    c4387a15 Add content test suite run to client
    b1eb1103 Add section for `state` dir
    edc51c86 Merge pull request #1342 from mlaventure/is-serving-failfast
    f2ee71c5 Merge pull request #1339 from dmcgowan/refactor-oci-package
    fed5ad4b Update tests to properly use IsServing
    7de9ca51 Disable FailFast on client.IsServing()
    661bcd3e Change test image based on platform
    a437d140 Remove oci package
    a6be9f54 Merge pull request #1338 from mlaventure/client-reconnect-fix
    5f36ac20 Add test to ensure we can access tasks on restart
    e661be6a Fix failure to connect to shim on daemon restart
    7ac351cd Share Dialer and DialAddress between client and shim
    587a811d Check credentials when connecting to shim
    24aac336 Update unix dialer to keep retrying if socket is gone
    bb443241 Merge pull request #1331 from crosbymichael/stress
    f27f8dd1 Merge pull request #1320 from crosbymichael/cr-race
    c7f04ce0 Merge pull request #1310 from stevvooe/releases
    9827b4c1 RELEASES: define the release process
    d513dd2b Fix race with task checkpoint
    fd75f1e5 Add stress test tool
    
  • v1.0.0-alpha4
    containerd 1.0.0-alpha4
    
    With this weeks release, we are starting to become more stable. Many
    fixes related to rounding out core features and usability. We have our
    first documentation available, oriented towards getting started with
    containerd.
    
    This is the first release where we have no backwards incompatible
    changes to the GRPC API. There are some changes to the metadata storage
    layout, so please check upgrading for details.
    
    Please download the binaries provided and let the bears get at 'em.
    Please report issues through
    https://github.com/containerd/containerd/issues. Your feedback is
    extremely important at this stage, so please don't be bashful about
    letting us know what you think.
    
    Upgrading
    
    With respect to the GRPC API, there have only been additions to add
    labels to snapshot. All existing integrations should continue working
    with this release without changes.
    
    The storage format has had some changes to store labels and runc state
    has been relocated. Removing the contents of `/var/lib/containerd` is
    recommend before running this new version. This will cause loss of
    containers and image data. Let us know if this is a problem.
    
    Documentation
    
    We now have guides for [Getting
    Started](https://github.com/containerd/containerd/blob/master/docs/getting-started.md),
    [Operations](https://github.com/containerd/containerd/blob/master/docs/ops.md)
    and [Namespacing and
    Multi-tenancy](https://github.com/containerd/containerd/blob/master/docs/namespaces.md).
    Please take some time to read them and get to know containerd.
    
    The [godoc](https://godoc.org/github.com/containerd/containerd) has also
    been updated with new descriptions.
    
    Snapshot Labels
    
    Snapshots can now be decorated with labels on `Prepare`, `Commit` and
    `Update`. This is useful to associated snapshots with various components
    in containerd.
    
    Snapshot Command
    
    The arguments naming and order now correctly match the `Snapshotter`
    interface. Ordering of arguments may be affected. Make sure to use the
    help before using these commands if you are unsure.
    
    State Directory
    
    The runtime state directory has been brought back. Previously, this
    stored ephemeral container data associated with running containers. It
    was removed because checkpoint data was much too large for `tmpfs` used
    for the the `/run` directory. The checkpoint data is now in the main
    containerd directory, while the ephemeral data resides in
    `/run/containerd`. Access performance for `runc` should increase and old
    runtime data should be cleaned up on reboot with this change.
    
    API stability
    
    Tooling for GRPC API stability has been added. When protobufs are
    built, the descriptors for the entire symbol set that make up the API
    are aggregated into a single file. Changes that affect the API will show
    in these files, making it much easier to identify differences that
    aren't apparent in proto files. At each minor release, these files will
    be snapshotted.
    
    Go API Additions
    
    While there are several changes to the Go API, a few highlights include
    an option to kill the process process on delete, `WithProcessKill` and
    the ability to set the cgroup path and hostname options on the the runc
    specification.
    
    Solaris Build Support
    
    The project now builds on solaris.
    
    Contributors
    
    A special thanks to all those that contributed to this release:
    
    Akihiro Suda
    Edward Pilatowicz
    Kenfe-Mickaël Laventure
    Lantao Liu
    Michael Crosby
    Phil Estes
    Stephen J Day
    Tobias Klauser
    Yanqiang Miao
    
    Changes
    
    56d499e1 Merge pull request #1335 from stevvooe/alpha4
    875672ef release: prepare for 1.0.0-alpha4
    70c2d367 Merge pull request #1328 from crosbymichael/ctr-runtime
    a888587c Set runtime on container from ctr
    258c719c Merge pull request #1327 from estesp/namespace-doc-fixes
    f90fa4e1 Minor updates to the namespaces doc
    7ddd6ad9 Merge pull request #1316 from crosbymichael/namespaces
    7a40eaab Add namespace doc for containerd
    921b830b Merge pull request #1322 from stevvooe/easy-install
    17d7a5c6 Merge pull request #1321 from
    stevvooe/refactor-snapshot-commands
    67954062 Merge pull request #1326 from Random-Liu/fix-typo
    debd07fc Minor typo fix.
    7717eb6f Makefile: simplify installation from tar file
    cea1d337 cmd/snapshot: follow conventions from Snapshotter
    e6ba48f2 Merge pull request #1257 from stevvooe/content-changes
    8be340e3 content: remove Provider.Reader
    f3ff1e22 Merge pull request #1315 from crosbymichael/lchown
    1f6b10b6 Use lchown when remapping rootfs
    ef344c14 Merge pull request #1312 from tklauser/use-x-sys
    f2bed8ff Use CopyFileRange from golang.org/x/sys/unix
    4a6a2b9d Switch from package syscall to golang.org/x/sys
    29a4dd7f Merge pull request #1276 from dmcgowan/snapshot-labels
    ee027d4e Merge pull request #1309 from crosbymichael/opts-doc
    67572b63 Merge pull request #1307 from crosbymichael/spec-opts
    bed8df11 Add cgroup paths and hostname spec opts
    1907116b Add doc for extending client opts
    1f04edda Merge pull request #1306 from estesp/error-no-container
    8ebbd1cd Delete command should require at least one container ID
    42c1c9a9 Merge pull request #1301 from crosbymichael/task-force
    d8c075aa Add WithProcessKill DeleteOpt
    d4be9822 Merge pull request #1303 from estesp/cleanup-workdir
    a2add745 Merge pull request #1302 from dmcgowan/fix-blob-by-tag-attempt
    c8cd3d90 Fix bundle removal with the reappearance of state dir
    2b0aa29c Avoid attemping blobs endpoint when digest is not provided
    738c22a7 Merge pull request #1299 from crosbymichael/ctr
    cdd03c98 Merge pull request #1300 from crosbymichael/ops
    2fb2168b Merge pull request #1224 from epilatow/solaris.cc.20170719.0
    56c1f5c1 Add solaris build support
    00288bcb Update ctr containers and tasks command
    a543d057 Add ops guide for containerd
    f2ba04ff Set subreaper true in default linux config
    e9b86af8 Merge pull request #1283 from mlaventure/resurrect-state-dir
    fc941088 Merge pull request #1294 from crosbymichael/gettingstarted
    b20fd92a Merge pull request #1298 from miaoyq/add-start-cmd
    60f7eee2 Merge pull request #1275 from mlaventure/travis-ineffassign
    a88397e9 Merge pull request #1296 from stevvooe/api-stability-tooling
    d6c171ea Add getting started guide
    ac72bbab Add `start` subcommand in `ctr`.
    a73eb2b2 api: generate merged descriptors when building protobufs
    e8625bcd Merge pull request #1295 from mlaventure/separate-client-opts
    de7afd8a Merge pull request #1293 from dmcgowan/fix-snapshotter-run
    56b18c1d Move client's options to separate files
    5a74a46d Fix bug where snapshots got created with wrong snapshotter
    6c1a04f3 Merge pull request #1292 from stevvooe/cleanup-protobuf-imports
    bf913547 Merge pull request #1290 from Random-Liu/cleanup-io-properly
    d986a187 api: cleanup protobuf imports
    73735c4d Cleanup FIFOs on error.
    bb39d1d9 Merge pull request #1289 from mlaventure/add-missing-return
    308ebe7e Add missing return when failing to write tar header
    99315f8e Merge pull request #1285 from crosbymichael/client-godoc
    bce8fe7b Merge pull request #1288 from
    mlaventure/dont-touch-grpclog-in-client
    2eaf9117 Merge pull request #1279 from Random-Liu/cancel-context-on-wait
    16f6e094 Do not touch grpc logger from within the packages
    8fae8a5b Cancel event subscribe context in Wait.
    0a85f6e4 Update godoc for client package
    7e006332 Merge pull request #1282 from
    AkihiroSuda/dismiss-progressbar-on-debug
    ff15d18f Merge pull request #1287 from crosbymichael/exitstatus
    0e97bdfe Merge pull request #1284 from mlaventure/use-tmp-console-socket
    fdc5a475 Gate task.Wait status check on checkpoints
    8700e23a Use root dir when storing temporary checkpoint data
    9f13b414 Return exit status from Wait of stopped process
    fbe4751b Use a temp socket to receive the console from runc
    642620ca Resurrect State directory
    829845d2 Fix ineffassign warnings
    b45fb985 ctr: dismiss progressbar on --debug
    534a137e vendor: update github.com/containerd/console
    949d4903 vendor: update golang.org/x/sys
    47637f2a vendor: update github.com/containerd/continuity
    be36d26e Update windows snapshotter
    24783b9e Add snapshot test suite for update
    efca0c53 Update GRPC api to support labels and snapshot updates
    55c3711f Update snapshot metadata to support labels
    7d3a1e77 Add snapshot labels
    ad72036e Refactor common boltdb fields to subpackage
    78933003 Invoke ineffassign during CI
    9526f536 Remove Windows cross compile from Travis
    
  • v1.0.0-alpha3
    containerd 1.0.0-alpha3
    
    Another released alpha brings us closer to a stable release! This
    release contains more changes to the event system, cleanup of the
    process execution model and several bug fixes.
    
    Please download the binaries provided and light them on fire. Please
    report issues through https://github.com/containerd/containerd/issues.
    Your feedback is extremely important at this stage, so please don't be
    bashful about letting us know what you think.
    
    Upgrading
    
    With changes to the `Tasks` service and the `Events` service, it is
    recommend to full upgrade containerd and any constituent shim processes.
    Running with previous versions may effect task startup and event
    distribution from the shim.
    
    These changes were done to ensure API consistency.
    
    No changes to the `ctr` tool or storage formats should affect
    compatibility.
    
    If there are  changes that affecting compatibility that weren't listed
    here, please file an issue.
    
    Process Exec
    
    More work has been undertaken to merge the behavior of container tasks
    and exec processes. The `Task` object no longer exists. The user now
    interacts with only processes. The main container processes is started
    through `Start` method, while processes can be added to the container
    with `Exec`.
    
    Event Filters
    
    Events now support full filtering. Filters act on events at publish
    time, per subscriber, allowing a subscriber to receive only relevant
    events. The same filtering syntax and behavior used on other APIs has
    been added here except that we autogenerate the available fields using
    protobuf definitions.
    
    The following example will match all events having to do with tasks in
    the `bb` namespace:
    
    ```console
    $ ctr events 'topic~=/tasks/.+,namespace==bb'
    ```
    
    Event specific data can even be selected upon. The following example
    will match *any* event that has a `container_id` field with the value
    `mycontainer`.
    
    ```console
    $ ctr events 'event.container_id==mycontainer'
    ```
    
    The above will actually decode event data, if known to containerd, and
    match regardless of the particular type, allowing this to act on
    unrelated event types without changing syntax.
    
    Events API
    
    The `Publish` method no longer takes an `Envelope` message as an
    argument and a new `Forward` method has been added. While this change
    seems superficial, it actually has the effect of avoiding a
    serialization round trip when forwarding events from other backends,
    such as container shims.
    
    This change is not backwards compatible with previous alpha releases.
    
    Unmanaged Root Filesystem
    
    Container's can now be run without snapshots using the `ctr` tool. If
    the `--rootfs` flag is provided, the positional argument for image will
    now be interpreted as a filesystem path. The following is an example:
    
    ```console
    ctr run --rootfs --tty /my/root/fs mycontainer
    ```
    
    Shim CGroup
    
    Container shims may not be started in a specific cgroup with a parameter
    passed at task creation time.
    
    Changes
    
    0fa76584 Merge pull request #1280 from stevvooe/alpha3
    916254e4 release: prepare for 1.0.0-alpha3
    c8b4e4db Merge pull request #1277 from crosbymichael/tty-block
    ee2dea2b Merge pull request #1278 from stevvooe/update-oci-spec
    bf4838eb Shutdown console after process exits
    610e1a25 vendor: update OCI image-spec dependency
    8b0a0400 Merge pull request #1268 from crosbymichael/exec-state
    f945cdc7 Update windows locking code
    d18af869 Update for epoll console handling
    e827adaf Update windows with exec create/start actions
    83b27db9 Check status for stopped processes before wait
    cd00216f Rename TaskStatus to Status
    504033e3 Add Get of task and process state
    2974e485 Add no-criu flag for running tests
    9f089656 Change Exited/Status to SetExited/ExitStatus
    a2a34519 Implement Exec + Start for tasks service
    63878d14 Add create/start to exec processes in shim
    2533bfea Merge pull request #1271 from stevvooe/autogenerate-fieldpaths
    c857ba2d events: autogenerate fieldpath filters
    bb7b41ad Merge pull request #1269 from stevvooe/plumb-correct-interfaces
    7ed88c1e linux/shim: use events.Publisher interface
    92d737f4 Merge pull request #1259 from dqminh/epoll-io
    834f55df Merge pull request #1264 from stevvooe/event-filters
    af2d7f0e events: initial support for filters
    4ba6d8e5 Merge pull request #1267 from crosbymichael/bump-runc
    2386062c Update runc to e775f0fba3ea329b8b766451c892c41a3d4
    ce07fa04 Merge pull request #1263 from crosbymichael/no-shim-events
    f86d5ae0 Merge pull request #1262 from dmcgowan/more-snapshot-tests
    7b6ff6ec event forwarding without shim
    8e534658 use epoll to manage console i/o in linux
    d28126f0 Handle kernel related ci failure
    a7c44f00 Add snapshot test cases for former issues
    20fa6aee Merge pull request #1182 from AkihiroSuda/rootfs
    183a6ca8 Merge pull request #1013 from AkihiroSuda/oci-export
    de2671b7 bump vendor for containerd/console update
    b518f11d client: add Import() and Export() for importing/exporting image
    in OCI format
    752d253f client, ctr: allow specifying unmanaged rootfs dir
    1a054c67 Merge pull request #1134 from crosbymichael/shim-cgroup
    4e299a9a Merge pull request #1254 from stevvooe/close-channel
    16797276 Merge pull request #1230 from
    dmcgowan/snapshot-client-testsuite
    fdea1cea Merge pull request #1256 from
    dmcgowan/fix-ingest-file-not-exists
    afe0ce35 Merge pull request #1255 from stevvooe/multi-delete
    585f7d64 Skip test on windows
    ccbb0352 Convert file not exists to status not found
    83ac8748 cmd/ctr: allow deleting multiple containers at once
    a1f75096 events: close channel explicitly
    98a86c4d Add ShimCgroup path for placing shim in cgroup
    d4349eff Merge pull request #1251 from crosbymichael/apparmor
    a0a5cc77 Add user namespace support to client
    c3872b84 Move RootPath to fs package
    da5c72c3 Run snapshot test suite for metadata and client
    
  • v1.0.0-alpha2
    containerd 1.0.0-alpha2
    
    With another week comes another alpha release. With this release, we have
    focused on increasing overall quality and consistency across the code base.
    Several new tests have been added, along with attention to refactoring in
    various subsystems to match current needs.
    
    Unfortunately, we had to break some interfaces to achieve these goals. See the
    section on Upgrading for details.
    
    Again, please download the binaries provided and kick the tires. Please report
    issues through the https://github.com/containerd/containerd/issues. Your
    feedback is extremely important at this stage, so please don't be bashful about
    letting us know what you think.
    
    Upgrading
    
    Some backwards incompatible changes have been made to the GRPC API and the
    snapshotter storage format. See the sections on Events and Snapshotters for more details.
    
    To upgrade, you'll need to clear out the containerd root, which defaults to
    `/var/lib/containerd/`. All containers, images and metadata will be lost, if
    you do this. If this is a problem, please reach out and we can work out a
    migration script. If such a change was done from a production release, a
    migration script would have been provided.
    
    Also, make sure to update your clients to the latest version that picks up the
    new definition for the events service. This change would not be accepted in a
    full released version.
    
    Events
    
    After dealing with a few deadlock issues, the events subsystem has been
    completely refactored to match the existing use cases. Specifically, a lot of
    cruft around the original design, based on Go's context package has been
    removed. The use of go-events has been cleaned up to ensure correct
    subscription and distribution of events, in addition to ensuring correct
    teardown.
    
    The nomenclature has also been updated to better reflect familiar "publish" and
    "subscribe" models. If you closely examine #1246, you'll see that the usage of
    the `Publisher` interface is much simpler than the `WithTopic` approach. This
    should allow us to add events to more subsystems.
    
    The GRPC API for the Events service was updated to bring the service inline
    with these changes. Post and Stream have been replaced with Publish and
    Subscribe, respectively. Clients will have to be updated to use the new API
    endpoints.
    
    After these changes, adding proper filter support should be more
    straightforward.
    
    See a615a6fe for details.
    
    Snapshotter
    
    Previously, snapshots had an attribute `Readonly` that was only valid for
    `Active` snapshots. After looking at various conditionals, snapshot behavior
    and usage, we found that these snapshots were better represented as a discrete
    type, known as a "view snapshot".
    
    Unfortunately, we've add to break compatibility with the existing storage
    format to correctly enumerate the snapshot types. Users will have to remove the
    old storage and start from the scratch.
    
    See 863784f9 for details.
    
    Tar
    
    Tars with duplicated symlinks in disparate layers are now handled correctly.
    
    See afec478b for details.
    
    - Windows support
    - snapshot command now supports "commit"
    - More testing
    
    Windows Support
    
    Progress on supporting windows has received a major boost. Windows integration
    has been refactored to more closely follow existing changes throughout
    containerd.
    
    Commands
    
    A new command has been added to `ctr snapshot` to allow committing of active
    snapshots. The help output has been reordered to be alphabetical.
    
    Changes
    
    856b0384 Merge pull request #1253 from stevvooe/alpha2
    997a1b5a release: prepare for v1.0.0-alpha2
    b84817a2 Merge pull request #1246 from stevvooe/events-refactor
    03623285 Merge pull request #1248 from dmcgowan/snapshot-storage-kind-test
    366ebfd6 Merge pull request #1249 from dmcgowan/client-rename-with-rootfs
    c7cc6ad2 Add root mounts to task info
    73bec3ed client: rename rootfs to snapshot in "With" functions
    a615a6fe events: refactor event distribution
    6012f504 Update storage kind test
    9434bf9e Merge pull request #1236 from stevvooe/snapshot-column-kind
    050c7d24 Merge pull request #1247 from darrenstahlmsft/revendorMicrosoft
    cec6331e Revendor hcsshim and go-winio
    1251413a Merge pull request #1245 from dmcgowan/archive-more-tar-fixes
    afec478b Update tar path resolution
    863784f9 snapshot: replace "readonly" with View snapshot type
    a9ab45fb Merge pull request #1241 from stevvooe/allow-resumable-upload
    bfe747da Merge pull request #1242 from mlaventure/appveyor-no-coverage-only-master
    f5bd8bbb Merge pull request #1243 from crosbymichael/reg-diff-urls
    a3769f88 Panic when registering the same type but diff urls
    219c3e39 Disable coverage tests on Windows CI
    2eaac710 Only run Windows CI on master branch
    d0e396aa metadata: defer ingest lock to backend
    c52523c4 Merge pull request #1238 from crosbymichael/reg-specs
    f98b2979 Merge pull request #1239 from crosbymichael/roadmap
    ba577f71 Merge pull request #1227 from tossmilestone/fix-comment-typo
    becf0015 Replace roadmap with link to milestones
    b7e0101b Merge pull request #1228 from dmcgowan/content-testsuite
    228f7d45 Register spec types in client
    8e1591bd Call upload status tests
    bb3c9c59 Rename content/fs to content/local
    938f3185 Add content test suite
    44236524 Move content store implementation
    9b53b8b6 Merge pull request #1237 from WeiZhang555/remove-hardcoded-str
    adeec483 Replace hardcoded debug address with const var
    856c351f Improve the comment
    4118a256 Merge pull request #1234 from dmcgowan/update-logrus
    14912932 Update dependencies for logrus rename
    1d2a079f update to github.com/sirupsen/logrus v1.0.0
    dd7642fc Merge pull request #1196 from mlaventure/update-windows-runtime
    a2df6d1a Merge pull request #1141 from ijc/rootfsPropagation
    0f6959a2 Merge pull request #1160 from darkowlzz/1082-snapshot-commit
    a6211858 Merge pull request #1179 from AkihiroSuda/makefile-i
    aeab9355 Fix vet errors
    eb4e0b5f Add AppVeyor configuration
    e3fcde69 Fix deadlock in events service
    5ea5fbdf Fix deadlock in TestContainerExec if `process.Wait()` fails
    d4e780d7 Ensure tasks are started when running tests
    3df07cbc Cancel io if task is deleted without being started
    8e12d1fc ctr: Allow deleting a container in the Created state
    4d14bfd8 go-winio: Don't increment the wait count if the file is closing
    7f786cf0 go-winio: Prevent Data Race when accessing closing
    db1b0a2a Update go-winio to v0.4.3
    651aaff7 Update integration test to support windows
    79d04ded Make integration a bit more verbose
    b2d9db2e windows: Use runtime event topic constants
    5c8e0efb windows: Add servicing code
    4bb9ac28 Sort ctr commands alphabetically
    d0166c42 Register content command with ctr
    d10c62d4 Wrap typeurl returned errors with the provided url/type
    5fd004a1 Update vendoring
    546f0451 Update errdefs.ErrInvalidArgument message
    674b460d Move typeurl registrations to runtime package
    a4aaa09c Update ctr so it works again on windows
    61fbd231 windows: Refactor whole code
    fc82e149 windows: Move runtime options out of the spec field
    acf863a0 windows: Rely on the OCI specs instead of custom type
    bff040d0 windows: Ensure pids are not reused if active
    d42cb88b Loop umount'ing rootfs until there are no more mounts
    d63d2ecf Simplify mount cleanup on failure by using defer
    300f0831 Cleanup mounts if we fail to mount one element of rootfs
    8b365117 containerd-shim: Do not remount root MS_SLAVE
    912ddbae cmd/ctr: add commit command to snapshot
    b6dbbd33 Fix typo error in Protobuild.toml
    7822819f .travis.yml: run go build -i
    f72e97db Makefile: `go build -i` -> `go build`
    
  • v1.0.0-alpha1
    containerd 1.0.0-alpha1
    
    We have followed up the initial alpha with this second release. There are a
    large number of changes to focus on API stability, error handling and several
    bug fixes.
    
    Again, please download the binaries provided and kick the tires. Please report
    issues through the https://github.com/containerd/containerd/issues. Your
    feedback is extremely important at this stage, so please don't be bashful about
    letting us know what you think.
    
    Commands Merged
    
    The most visible changes to users will be that the `dist` command has now been
    merged into `ctr`. We've found this to be much easier for demonstration,
    testing and deployment. For the most part, this change has moved the
    subcommands untouched under `ctr`.
    
    In addition to the command merge, all commands that mutate labels were changed
    from `set-labels` to the shorter `label`.
    
    The `snapshot` command has a few additions to display details in a tree format,
    as well as some tweaks to expose mounts. See 659e3d78 and 4dc02c09 for details.
    
    Since we are discussing command syntax, it is a good time to remind
    users that cli behavior will not be covered by the 1.0 version
    guarantees. We will only guarantee behavior of GRPC APIs, although we'll
    try to keep changes like this minimized.
    
    Event Topics
    
    The topics for task events have been tweaked to be more consistent. This could
    effect users that were matching on event topic. Please see a578730a for
    details.
    
    Changes
    
    A full list of changes is provided for your convenience:
    
    0b3e572b Merge pull request #1221 from stevvooe/alpha1
    6273d79c containerd: prepare for v1.0.0-alpha1
    28bb2b35 Merge pull request #1220 from stevvooe/release-target
    88656970 Makefile: add release target
    28e8d95a Merge pull request #1210 from dmcgowan/use-forked-tar
    72c59aeb Merge pull request #1154 from darkowlzz/1082-snapshot-prepare
    14e10c87 Merge pull request #1214 from jovizhangwei/fix
    b5267baa Merge pull request #1216 from tklauser/prctl-x-sys-unix
    834cafc2 Merge pull request #1206 from AkihiroSuda/improve-btrfs-error
    70dc92f1 Merge pull request #1217 from fate-grand-order/fixed
    0600753b Merge pull request #1208 from dmcgowan/tar-test
    648f82e4 Merge pull request #1211 from stevvooe/no-build-proto
    d3d1987f correct some misspellings to make Go Report more happy
    4dc02c09 cmd/ctr: add mount subcmd to snapshot & a flag in prepare
    bfa4b901 Use Prctl() and associated constants from x/sys/unix
    50c84c4d Claim Go 1.8.x version requirement in BUILDING.md
    e76357cb btrfs: improve an error string
    a8504277 Merge pull request #1209 from stevvooe/remove-errors
    23aa4910 Use forked archive/tar package
    60792458 Replace uses of filepath.Join in Apply
    35d59004 Merge pull request #1207 from mlaventure/update-linux-events-topic
    1ecb2ea3 linux/shim: remove redundant topic prefix
    8d195132 Merge pull request #1195 from darkowlzz/tree
    e3a07b56 Makefile: no need to build protos binary
    6d0bcd5a linux, linux/shim: remove error definitions
    4a3f98cb Add link breakout checks and tests
    805654ab Merge pull request #1178 from rajasec/ctr-run-error
    728f8acc Fixing return error on run command
    123aab86 Merge pull request #1202 from stevvooe/add-go-report-card
    59b0fc31 Merge pull request #1204 from fate-grand-order/typo
    e4beb7c5 Use constants for runtime event topics
    a578730a Update linux events topic
    58dfd56a fix some typos for reference/reference.go
    4888d40a Merge pull request #1203 from stevvooe/containerd-startup-version
    659e3d78 cmd/ctr: add tree subcommand in snapshot
    6cfdbb2a README: add go report card badge
    2a923f72 cmd/containerd: show version and revision on startup
    6d305c74 Merge pull request #1200 from stevvooe/image-is-found
    778b1f1c cmd/ctr: container list should not look up image
    52927e59 Merge pull request #1199 from dmcgowan/socket-directory-permissions
    528a9d87 Create socket parent directory with correct permissions
    afd533de Merge pull request #1197 from dmcgowan/fix-snapshot-client-panic
    fb7af302 Merge pull request #1198 from stevvooe/mark-ociimageconfig-childleess
    9f654b08 images: OCI image config is a childless data type
    a220fb6b Fix panic in snapshotter when connection fails
    81b893ac Merge pull request #1194 from AkihiroSuda/nit-comment
    a0664b5c comment: dist -> ctr
    e48ef84b Merge pull request #1190 from stevvooe/remove-dist-command
    98f6deb5 cmd/dist: completely remove dist command
    751598e8 Merge pull request #1189 from stevvooe/move-content-commands
    1db80ed9 cmd/{ctr, dist}: move content command to ctr
    695351f3 Merge pull request #1188 from stevvooe/move-images-command
    1905380a Merge pull request #1187 from stevvooe/use-protobuild
    f7306d7f cmd/{ctr,dist}: move images command to ctr
    d50e4bcd Merge pull request #1183 from mlaventure/move-tasklist-to-runtime
    6c925924 protobuild: replace protobuild command
    31324e54 Merge pull request #1181 from mlaventure/fix-races
    a5b3038c Fix deadlock when task's exec start fails
    9dcf725b Fix data race when task's exec fails to start
    ae334b04 Prevent a data race in client_test.go on test failure
    bf679063 Merge pull request #1186 from estesp/update-fifo-racefix
    5e594d03 Update containerd/fifo for race fix
    56a4023a Merge pull request #1184 from stevvooe/label-commands
    a8b22549 cmd/{ctr,dist}: label can be a verb
    88c1db5c Move taskList to the runtime package
    
  • v1.0.0-alpha0
    containerd 1.0.0-alpha0
    
    We are pushing the first containerd alpha release today.  It includes a fully
    functional execution, content, snapshotting filesystems, and distribution
    layer.
    
    With the alpha release we wanted to make sure the GRPC API was in a good shape
    for people to start or finish the integrations for the 1.0 branch.  Ideally,
    there will not be any major API changes after this release.
    
    We encourage users integrating containerd into their software and platforms to
    use our Go client, `import "github.com/containerd/containerd"`.  We have not
    finalized this Go API at the time of the alpha release so that users can
    provide feedback and modifications can be made to the client to reduce code
    that containerd consumers have to write.
    
    During the alpha period, we will be working on integrating containerd into
    various projects and working out any rough edges or bugs.  We will also be
    tagging a weekly alpha release going forward with fixes and updates during this
    phase.
    
  • v0.2.9
  • v0.2.8