@dmcgowan dmcgowan released this Nov 8, 2017 · 1461 commits to master since this release

Assets 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

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.


  • 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


  • 2b8ed96 Merge pull request #1705 from stevvooe/beta3
  • cb3b960 Add garbage collection release notes
  • e5912e1 Merge pull request #1734 from vieux/update_images_ls_platforms
  • 8866254 update notes with ctr changes
  • 3289ca2 release: prepare 1.0.0-beta.3
  • f8a536e Add S to PLATFORM in images & plugins list
  • 4701e12 Merge pull request #1730 from dmcgowan/fix-usage-deadlock
  • ad9eca1 Fix deadlock in overlay snapshotter
  • 59d1c16 Merge pull request #1732 from dmcgowan/fix-userns-tests
  • b3659d2 Fix not found caused by race to remove snapshot
  • 27d450a Merge pull request #1690 from dmcgowan/metadata-transactions
  • 844e957 Merge pull request #1729 from crosbymichael/shim-size
  • 07885f1 Updates lease creation to respect existing leases
  • dce27d8 Remove client use of gc root label
  • e13894b Add leases api
  • d01fb04 Fix runtime root with no-shim
  • fc08f01 Fix windows compile for dialer package
  • bba473a Move shim client into subpackage
  • 13c7c3e Remove urfave cli dep from shim
  • a70b95b Move events exchange into subpackage
  • 526d15b Move dial funcs to dialer pkg
  • 01cdf33 Merge pull request #1716 from crosbymichael/strip
  • 2aad5ec Merge pull request #1725 from dmcgowan/diff-parent-permission
  • 8889d45 Add directory permission tests
  • 7e398dd Merge pull request #1717 from dnephin/use-gometalinter
  • 46ac2be Merge pull request #1721 from bandoshintaro/master
  • 8498de0 Merge pull request #1719 from AkihiroSuda/proc-scsi
  • 5128f03 Fix docs, log output in getting started
  • db58988 Add /proc/scsi to masked paths
  • f9e969b Use gometalinter for linting
  • ab67fd5 Merge pull request #1715 from thaJeztah/nit-fix-printf
  • 65d5b8b Align version output and minor code cleanup
  • a045575 Strip binaries in Makefile
  • 99595e0 Merge pull request #1714 from dnephin/remove-deadcode-from-release
  • 393e8cc Remove deadcode from cmd/containerd-release
  • 5acf187 Merge pull request #1712 from stevvooe/defaults-package
  • 0a1a134 defaults: add package to contain server defaults
  • 564600e Merge pull request #1707 from dmcgowan/snapshot-storage-db
  • 68d3c77 Open snapshot database only once
  • 7a91c66 Merge pull request #1710 from AkihiroSuda/print-revision
  • dfdcd4d containerd --version: print version.Revision
  • c933088 Merge pull request #1663 from dmcgowan/content-local-labels
  • a7a869f Merge pull request #1703 from estesp/remove-copyright
  • aa35164 Merge pull request #1704 from jessvalarezo/ctr-move-tasks
  • 7b08bcd Add support for label storage in local content store
  • 864b16a ctr: alphabetize commands, rename signals
  • f654b7b ctr: move pprof to commands package
  • a827a17 ctr: move shim to commands
  • c3b70f1 ctr: move tasks, run to commands package
  • 7d6017a Update with proper CC-BY-4.0 text
  • fe3d9a7 Merge pull request #1702 from estesp/fix-cc-by-lic
  • 474d4df Merge pull request #1692 from dmcgowan/gc-fix-sweep-race
  • ff90484 Merge pull request #1668 from jessvalarezo/image-unpack-check
  • 015788f Fix CC-BY license reference in
  • 7fd20ed Merge pull request #1701 from stevvooe/backoff-v1-images
  • 9f5b97c Merge pull request #1698 from crosbymichael/task-ls
  • 8bbf8d8 Merge pull request #1693 from jessvalarezo/ctr-refactor-fourth-pass
  • 1552ee2 client: Add helper function which checks if an image is unpacked
  • 8eee47c remotes/docker/schema1: back off on locked ref
  • 7a1d709 ctr: remove apply command
  • 4326702 Fix race in gc sweep
  • e4da49c ctr: move unpack to snapshot command
  • 456d3f4 ctr: move push and pull to images command
  • b58e4fc ctr: move fetch,fetch-object,push-object to content
  • e2f9fbf Merge pull request #1687 from crosbymichael/pie
  • 91597bc Move task list to separate command
  • 58835d2 Merge pull request #1697 from crosbymichael/template
  • adc502b Add template filepath for release tool
  • 5fb3a0e Merge pull request #1695 from runcom/abstract-release-tool
  • fa678a0 cmd: containerd-release: abstract it out to create a new project
  • b93bd0c Merge pull request #1676 from AkihiroSuda/null-io-fix
  • e0da28a ctr: error if tty && nullIO
  • e74c423 Fix races with concurrent GC
  • 1f704e9 Merge pull request #1688 from crosbymichael/cli
  • 994c717 Merge pull request #1689 from jessvalarezo/ctr-refactor-third-pass
  • 16855ee ctr: move resolver to commands package
  • ffd0d2e ctr: move signals to commands package
  • b8c4d85 Add buildmode=pie to makefile
  • 9d05197 Update cli to 7bc6a0acffa589f415f88aca16cc1de5ffd6
  • 638f3a3 Merge pull request #1685 from jessvalarezo/ctr-refactor
  • 8540587 ctr: move events command
  • fdb6859 ctr: move namespaces command
  • 750fd89 ctr: move snapshot command
  • 0895dbe ctr: move content command
  • f980cc1 ctr: move images command
  • 47fae4d ctr: move containers command
  • 8c77d9a Merge pull request #1683 from crosbymichael/ctr-moving
  • 083b10b Merge pull request #1684 from crosbymichael/lint-final
  • 1d298c8 Fix windows lint issues and enable ci
  • 1c533a2 Enable go lint in CI
  • b6e0c4f Fix go lint errors
  • ae995bc Move plugins command
  • 2dac1b6 Move version command into package
  • 4743f1f Move NewClient and AppContext to commands pkg
  • 8509569 Merge pull request #1680 from crosbymichael/solaris
  • 9956fa4 Remove solaris files
  • 80de000 Merge pull request #1679 from jessvalarezo/ctr-refactor-first-pass
  • a19a203 ctr: add commands package with shared utility functions
  • 04659d9 Merge pull request #1675 from crosbymichael/ctr-newclient
  • 9f76083 Refactor newClient in ctr
  • edf4114 Merge pull request #1673 from qingyunha/ctr
  • 313bab3 Merge pull request #1654 from crosbymichael/ctr-daemon
  • 0813ee4 Merge pull request #1666 from estesp/add-test-stress-info
  • 6112102 ctr use client's underlying service
  • 5b6564d Merge pull request #1667 from crosbymichael/more-lint
  • 230dc74 Merge pull request #1669 from crosbymichael/container-api-tests
  • 43ec3df Add testing information to
  • b937d23 Add additional container test for missing methods
  • 5fd0415 Add comments and fix common lint issues
  • 9bd1dc7 Unexport grpc service types
  • 3679a55 Merge pull request #1665 from crosbymichael/bump-runc
  • 8feebb7 Bump runc to 74a17296470088de3805e138d3d87c62e613d
  • 91a33a0 Merge pull request #1664 from qingyunha/issue1607
  • f325d51 move the fifo locations /run/containerd
  • c7dc795 [ctr] add --detach to run
  • 2e00408 [ctr] Add --null-io to ctr run/start
  • 992280e Merge pull request #1662 from mlaventure/update-cgroups
  • 7c9be56 Update containerd/cgroups to f7dd103d3e4e696aa67152f6b4ddd1779a3455a9
  • 1752bf5 Merge pull request #1660 from stevvooe/update-security-email
  • 639d1bd README, RELEASES: update security email
  • f2ae8a0 Merge pull request #1658 from dmcgowan/gc-content-delete
  • 923a5c8 Update content store garbage collection
  • 87596ad Merge pull request #1657 from mlaventure/vendor-go-runc
  • 90c5355 Vendor go-runc ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7
  • 84fa396 Merge pull request #1656 from crosbymichael/rev-name
  • 21c992a Reverse checkpoint url
  • 5244d7b Merge pull request #1655 from dmcgowan/skip-user-ns-tests
  • cbeb0a8 Merge pull request #1652 from crosbymichael/cr-image
  • efcec36 Skip user namespace tests in kernels which have it disabled
  • ce57d6d Merge pull request #1634 from crosbymichael/release-build
  • 5a38644 Merge pull request #1653 from dmcgowan/fix-pull-race
  • ca63e6d Merge pull request #1645 from cpuguy83/limited_reader
  • b798d87 Ensure manifests are marked as root during pull
  • e4c6bf3 Remove default filter from ctr
  • e833da1 Clear root labels during checkpoint
  • e201be5 Create checkpointed image in client
  • a19fd6e Add checkpoint media types to handler
  • abbec62 cmd/ctr: create an image for checkpoint
  • 6eb56a2 Use limited reader for some ReadAll cases.
  • 70b5668 Merge pull request #1631 from dmcgowan/cancel-unpack
  • 3c89aaf Merge pull request #1649 from mlaventure/win-procdetaisl-use-stdtime
  • 6b9edd0 Merge pull request #1640 from Random-Liu/fix-image-pull-race
  • 2cdb395 Merge pull request #1643 from cpuguy83/close_wait_chan
  • 2056254 Close wait chan after sending status
  • e7ea7b5 windows: Use stdtime for hcsshimtypes.ProcessDetails.CreatedAt
  • ef5fe56 Merge pull request #1641 from WeiZhang555/fix-progress-bar
  • 79dad0a Merge pull request #1650 from dmcgowan/fix-gc-race
  • 295cce2 Use single instance of snapshot and content stores
  • e378196 Add snapshot label command to ctr
  • d28b8cc Merge pull request #1648 from mlaventure/checkpoint-workdir
  • 7562047 Merge pull request #1642 from mlaventure/arm-panic
  • 71f0bb3 linux: Pass correct path to runc when doing a checkpoint
  • d8e4894 linux: Ensure count is 64bits aligned for proper atomic use on 32bits machines
  • a06abd7 [progress] Fix wrong display of progress bar
  • 103dd0e Merge pull request #1644 from cpuguy83/unmarshal_error_desc
  • c1a0775 Build release tar and include hash
  • 7f4f4b5 Merge pull request #1646 from mlaventure/mlaventure-email
  • 3c7645a Merge pull request #1647 from yanxuean/typo
  • d8d1209 a typo in comment of Snapshotter.Update
  • bdf801b Update @mlaventure e-mail address
  • 0847ae6 Improve error message for WithContainerExtension
  • 09c2bfa Reduce image pull race.
  • c66fd83 Merge pull request #1636 from crosbymichael/cgroups
  • d805f77 Bump cgroups dep to 38a61430f7ceb01581fba6dd7ead48
  • 91614a5 Merge pull request #1633 from ijc/go1.9
  • 71c4ee5 Merge pull request #1629 from dmcgowan/remove-archive-umask
  • 680bab8 Update docs with go 1.9 requirement.
  • dcf7ff5 Update apply diff to support context cancellation
  • e20b371 Remove umask, replace with explicit chmod after create

Dependency Changes

Previous release can be found at v1.0.0-beta.2

  • 0351df1c5a66838d0c392b4ac4cf9450de844e2d -> 74a17296470088de3805e138d3d87c62e613dfc4
  • 8ba6f23b6e36d03666a14bd9421f5e3efcb59aca -> 7bc6a0acffa589f415f88aca16cc1de5ffd66f9c
  • 633fd07c086ff591adaa2849278764771d791f6f -> ed1cbe1fc31f5fb2359d3a54b6330d1a097858b7
  • 9c238e632e80d94f71a067c3deb9b34b1886ef18 -> f7dd103d3e4e696aa67152f6b4ddd1779a3455a9