diff --git a/releases/v1.0.0-rc.0.toml b/releases/v1.0.0-rc.0.toml new file mode 100644 index 000000000..d33c92310 --- /dev/null +++ b/releases/v1.0.0-rc.0.toml @@ -0,0 +1,81 @@ +# commit to be tagged for new release +commit = "HEAD" + +project_name = "containerd" +github_repo = "containerd/containerd" + +# previous release +previous = "v1.0.0-rc.0" + +pre_release = true + +preface = """\ +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.""" + +# notable prs to include in the release notes, 1234 is the pr number +[notes] + + [notes.ctr] + title= "Shim Memory Improvements" + description = """\ +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.""" + + [notes.gc] + title= "Garbage Collector Improvements" + description = """\ +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.""" + + +[breaking] + [breaking.api] + pr = 1797 + description = "The snapshots GRPC service was renamed from snapshot." + + [breaking.shim] + pr = 1767 + description = """\ +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."""