github.com/blixtra/rkt@v0.8.1-0.20160204105720-ab0d1add1a43/CHANGELOG.md (about)

     1  ## vUNRELEASED
     2  
     3  #### New features and UX changes
     4  
     5  - Add pod creation and start times to `rkt list` and `rkt status` ([#2030](https://github.com/coreos/rkt/pull/2030)). See [`rkt list`](https://github.com/coreos/rkt/blob/master/Documentation/subcommands/list.md) and [`rkt status`](https://github.com/coreos/rkt/blob/master/Documentation/subcommands/status.md) documentation.
     6  - The DNS configuration can now be passed to the pod via the command line ([#2040](https://github.com/coreos/rkt/pull/2040)). See [`DNS support`](https://github.com/coreos/rkt/blob/master/Documentation/networking.md#dns-support) documentation.
     7  - Errors are now structured, allowing for better control of the output ([#1937](https://github.com/coreos/rkt/pull/1937)). See [Error & Output](https://github.com/coreos/rkt/blob/master/Documentation/hacking.md#errors--output) for how a developer should use it.
     8  - All output now uses the new log package in `pkg/log` to provide a more clean and consistent output format and more helpful debug output ([#1937](https://github.com/coreos/rkt/pull/1937)).
     9  - Added configuration for stage1 image. Users can drop a configuration file to `/etc/rkt/stage1.d` (or to `stage1.d` in the user configuration directory) to tell rkt to use a different stage1 image name, version and location instead of build-time defaults ([#1977](https://github.com/coreos/rkt/pull/1977)).
    10  - Replaced the `--stage1-image` flag with a new set of flags. `--stage1-url`, `--stage-path`, `--stage1-name` do the usual fetching from remote if the image does not exist in the store. `--stage1-hash` takes the stage1 image directly from the store. `--stage1-from-dir` works together with the default stage1 images directory and is described in the next point ([#1977](https://github.com/coreos/rkt/pull/1977)).
    11  - Added default stage1 images directory. User can use the newly added `--stage1-from-dir` parameter to avoid typing the full path. `--stage1-from-dir` behaves like `--stage1-path` ([#1977](https://github.com/coreos/rkt/pull/1977)).
    12  - Removed the deprecated `--insecure-skip-verify` flag ([#2068](https://github.com/coreos/rkt/pull/2068)).
    13  - Fetched keys are no longer automatically trusted by default, unless `--trust-keys-from-https` is used. Additionally, newly fetched keys have to be explicitly trusted with `rkt trust` if a previous key was trusted for the same image prefix ([#2033](https://github.com/coreos/rkt/pull/2033)).
    14  - Use NAT loopback to make ports forwarded in pods accessible from localhost ([#1256](https://github.com/coreos/rkt/issues/1256)).
    15  - Show a clearer error message when unprivileged users execute commands that require root privileges ([#2081](https://github.com/coreos/rkt/pull/2081)).
    16  - Add a rkt tmpfiles configuration file to make the creation of the rkt data directory on first boot easier ([#2088](https://github.com/coreos/rkt/pull/2088)).
    17  - Remove `rkt install` command. It was replaced with a `setup-data-dir.sh` script ([#2101](https://github.com/coreos/rkt/pull/2101).
    18  
    19  #### Bug fixes
    20  
    21  - Fix regression when authenticating to v2 Docker registries ([#2008](https://github.com/coreos/rkt/issues/2008)).
    22  - Don't link to libacl, but dlopen it ([#1963](https://github.com/coreos/rkt/pull/1963)). This means that rkt will not crash if libacl is not present on the host, but it will just print a warning.
    23  
    24  #### Other changes
    25  
    26  - Trusted Platform Module logging (TPM) is now enabled by default ([#1815](https://github.com/coreos/rkt/issues/1815)). This ensures that rkt benefits from security features by default. See rkt's [Build Configuration](https://github.com/coreos/rkt/blob/master/Documentation/build-configure.md#security) documentation.
    27  - Added long descriptions to all rkt commands ([#2098](https://github.com/coreos/rkt/issues/2098)).
    28  
    29  #### Migration
    30  
    31  - The `--stage1-image` flag was removed. Scripts using it should be updated to use one of `--stage1-url`, `--stage1-path`, `--stage1-name`, `--stage1-hash` or `--stage1-from-dir`
    32  - All uses of the deprecated `--insecure-skip-verify` flag should be replaced with the `--insecure-options` flag which allows user to selectively disable security features.
    33  - The `rkt install` command was removed in favor of the `dist/scripts/setup-data-dir.sh` script.
    34  
    35  #### Note for packagers
    36  
    37  With this release, `rkt` RPM/dpkg packages should have the following updates:
    38  
    39  - Pass `--enable-tpm=no` to configure script, if `rkt` should not use TPM.
    40  - Use the `--with-default-stage1-images-directory` configure flag, if the default is not acceptable and install the built stage1 images there.
    41  - Distributions using systemd: install the new file `dist/init/systemd/tmpfiles.d/rkt.conf` in `/usr/lib/tmpfiles.d/rkt.conf` and then run `systemd-tmpfiles --create rkt.conf`. This can replace running `rkt install` to set the correct ownership and permissions.
    42  
    43  ## v0.16.0
    44  
    45  #### New features and UX changes
    46  
    47  - Explicitly allow http connections via a new 'http' option to `--insecure-options` ([#1945](https://github.com/coreos/rkt/pull/1945)). Any data and credentials will be sent in the clear.
    48  - When using `bash`, `rkt` commands can be auto-completed ([#1955](https://github.com/coreos/rkt/pull/1955)).
    49  - The executables given on the command line via the `--exec` parameters don't need to be absolute paths anymore ([#1953](https://github.com/coreos/rkt/pull/1953)). This change reflects an update in the appc spec since [v0.7.2](https://github.com/appc/spec/releases/tag/v0.7.2). See rkt's [rkt run --exec](https://github.com/coreos/rkt/blob/master/Documentation/subcommands/run.md#overriding-executable-to-launch) documentation.
    50  - Add a `--full` flag to rkt fetch so it returns full hash of the image ([#1976](https://github.com/coreos/rkt/pull/1976)).
    51  - There is a new global flag for specifying the user configuration directory, `--user-config`. It overrides whatever is configured in system and local configuration directories. It can be useful for specifying different credentials for fetching images without putting them in a globally visible directory like `/etc/rkt`. See rkt's [Global Options](https://github.com/coreos/rkt/blob/master/Documentation/commands.md#global-options) documentation ([#1981](https://github.com/coreos/rkt/pull/1981)).
    52  - As a temporary fix, search for network plugins in the local configuration directory too ([#2005](https://github.com/coreos/rkt/pull/2005)).
    53  - Pass the environment defined in the image manifest to the application when using the fly stage1 image ([#1989](https://github.com/coreos/rkt/pull/1989)).
    54  
    55  #### Build improvements
    56  
    57  - Fix vagrant rkt build ([#1960](https://github.com/coreos/rkt/pull/1960)).
    58  - Switch to using unrewritten imports, this will allow rkt packages to be cleanly vendored by other projects ([#2014](https://github.com/coreos/rkt/pull/2014)).
    59  
    60  #### API service
    61  
    62  - Allow filtering images by name ([#1985](https://github.com/coreos/rkt/pull/1985)).
    63  
    64  #### Bug fixes
    65  
    66  - Fix bug where the wrong image signature was checked when using dependencies ([#1991](https://github.com/coreos/rkt/pull/1991)).
    67  
    68  #### Test improvements
    69  
    70  - A new script to run test on AWS makes it easier to test under several distributions: CentOS, Debian, Fedora, Ubuntu ([#1925](https://github.com/coreos/rkt/pull/1925)).
    71  - The functional tests now skip user namespace tests when user namespaces do not work ([#1947](https://github.com/coreos/rkt/pull/1947)).
    72  - Check that rkt is not built with go 1.5.{0,1,2} to make sure it's not vulnerable to CVE-2015-8618 ([#2006](https://github.com/coreos/rkt/pull/2006)).
    73  
    74  #### Other changes
    75  
    76  - Cleanups in the kvm stage1 ([#1895](https://github.com/coreos/rkt/pull/1895)).
    77  - Document stage1 filesystem layout for developers ([#1832](https://github.com/coreos/rkt/pull/1832)).
    78  
    79  #### Note for packagers
    80  
    81  With this release, `rkt` RPM/dpkg packages should have the following updates:
    82  
    83  - Install the new file `dist/bash_completion/rkt.bash` in `/etc/bash_completion.d/`.
    84  
    85  ## v0.15.0
    86  
    87  rkt v0.15.0 is an incremental release with UX improvements, bug fixes, API service enhancements and new support for Go 1.5.
    88  
    89  #### New features and UX changes
    90  
    91  - Images can now be deleted from the store by both ID and name ([#1866](https://github.com/coreos/rkt/pull/1866)). See rkt's [rkt image rm](https://github.com/coreos/rkt/blob/master/Documentation/subcommands/image.md#rkt-image-rm) documentation.
    92  - The journals of rkt pods can now be accessed by members of the Unix group rkt ([#1877](https://github.com/coreos/rkt/pull/1877)). See rkt's [journalctl -M](https://github.com/coreos/rkt/blob/master/Documentation/using-rkt-with-systemd.md#journalctl--m) documentation.
    93  
    94  #### Improved documentation
    95  
    96  - Mention [rkt integration in Nomad](https://github.com/coreos/rkt/blob/master/Documentation/using-rkt-with-nomad.md) ([#1884](https://github.com/coreos/rkt/pull/1884)).
    97  - Document [how to start the api service](https://github.com/coreos/rkt/blob/master/Documentation/subcommands/api-service.md) and add a [program example](https://github.com/coreos/rkt/blob/master/api/v1alpha/client_example.go) explaining how the api service can be used to integrate rkt with other programs ([#1915](https://github.com/coreos/rkt/pull/1915)).
    98  
    99  #### API service
   100  
   101  - Programs using rkt's API service are now provided with the size of the images stored in rkt's store ([#1916](https://github.com/coreos/rkt/pull/1916)).
   102  - Programs using rkt's API service are now provided with any annotations found in the [image manifest](https://github.com/appc/spec/blob/master/spec/aci.md#image-manifest-schema) and [pod manifest](https://github.com/appc/spec/blob/master/spec/pods.md#pod-manifest-schema) ([#1924](https://github.com/coreos/rkt/pull/1924)).
   103  - Fix a panic in the API service by making the store database thread-safe ([#1892](https://github.com/coreos/rkt/pull/1892)) and by refactoring the API service functions to get the pod state ([#1893](https://github.com/coreos/rkt/pull/1893)).
   104  
   105  #### Build improvements
   106  
   107  - Add support for building rkt with Go 1.5, which is now the preferred version. rkt can still be built with Go 1.4 as best effort ([#1907](https://github.com/coreos/rkt/pull/1907)). As part of the move to Go 1.5, rkt now has a godep-save script to support Go 1.5 ([#1857](https://github.com/coreos/rkt/pull/1857)).
   108  - Continuous Integration on Travis now builds with both Go 1.4.2 and Go 1.5.2. Go 1.4.3 is avoided to workaround recent problems with go vet ([#1941](https://github.com/coreos/rkt/pull/1941)).
   109  
   110  #### Bug fixes
   111  
   112  - Fix regression issue when downloading image signatures from quay.io ([#1909](https://github.com/coreos/rkt/pull/1909)).
   113  - Properly cleanup the tap network interface that were not cleaned up in some error cases when using the kvm stage1 ([#1921](https://github.com/coreos/rkt/pull/1921)).
   114  - Fix a bug in the 9p filesystem used by the kvm stage1 that were preventing `apt-get` from working propertly ([#1918](https://github.com/coreos/rkt/pull/1918)).
   115  
   116  ## v0.14.0
   117  
   118  rkt v0.14.0 brings new features like resource isolators in the kvm stage1, a new stage1 flavor called *fly*, bug fixes and improved documentation.
   119  The appc spec version has been updated to v0.7.4
   120  
   121  #### New features and UX changes
   122  
   123  - The data directory that rkt uses can now be configured with a config file ([#1806](https://github.com/coreos/rkt/pull/1806)). See rkt's [paths configuration](https://github.com/coreos/rkt/blob/master/Documentation/configuration.md#rktkind-paths) documentation.
   124  - CPU and memory resource isolators can be specified on the command line to override the limits specified in the image manifest ([#1851](https://github.com/coreos/rkt/pull/1851), [#1874](https://github.com/coreos/rkt/pull/1874)). See rkt's [overriding isolators](https://github.com/coreos/rkt/blob/master/Documentation/subcommands/run.md#overriding-isolators) documentation.
   125  - CPU and memory resource isolators can now be used within the kvm stage1 ([#1404](https://github.com/coreos/rkt/pull/1404))
   126  - The `rkt image list` command can now display the image size ([#1865](https://github.com/coreos/rkt/pull/1865)).
   127  - A new stage1 flavor has been added: fly; and it represents the first experimental implementation of the upcoming rkt fly feature. ([#1833](https://github.com/coreos/rkt/pull/1833))
   128  
   129  #### Build improvements
   130  
   131  - It is now possible to build rkt inside rkt ([#1681](https://github.com/coreos/rkt/pull/1681)). This should improve the reproducibility of builds. This release does not use it yet but it is planned for future releases.
   132  - Linux distribution packagers can override the version of stage1 during the build ([#1821](https://github.com/coreos/rkt/pull/1821)). This is needed for any Linux distributions that might carry distro-specific patches along the upstream release. See rkt's documentation about [building stage1 flavors](https://github.com/coreos/rkt/blob/master/Documentation/build-configure.md#--with-stage1-flavors-version-override).
   133  - Smaller build improvements with dep generation ([#1838](https://github.com/coreos/rkt/pull/1838)), error messages on `make clean` ([#1850](https://github.com/coreos/rkt/pull/1850)), dependency checks in the kvm flavor ([#1860](https://github.com/coreos/rkt/pull/1860))
   134  
   135  #### Bug fixes
   136  
   137  - rkt is now able to override the application command with `--exec` when the application manifest didn't specify any command ([#1843](https://github.com/coreos/rkt/pull/1843)).
   138  - In some cases, user namespaces were not working in Linux distributions without systemd, such as Ubuntu 14.04 LTS. This is fixed by creating a unique cgroup for each pod when systemd is not used ([#1844](https://github.com/coreos/rkt/pull/1844))
   139  - rkt's tar package didn't prefix the destination file correctly when using hard links in images. This was not a issue in rkt itself but was causing acbuild to misbehave ([#1852](https://github.com/coreos/rkt/pull/1852)).
   140  - ACIs with multiple dependencies can end up depending on the same base image through multiple paths. In some of those configuration with multiple dependencies, fetching the image via image discovery was not working. This is fixed and a new test ensures it will keep working ([#1822](https://github.com/coreos/rkt/pull/1822)).
   141  - The pod cgroups were misconfigured when systemd-devel is not installed. This was causing per-app CPU and memory isolators to be ineffective on those systems. This is now fixed but will require an additional fix for NixOS ([#1873](https://github.com/coreos/rkt/pull/1873)).
   142  - During the garbage collection of pods (`rkt gc`), all mounts will be umounted even when the pod is in an inconsistent state ([#1828](https://github.com/coreos/rkt/pull/1828), [#1856](https://github.com/coreos/rkt/pull/1856))
   143  
   144  #### Improved documentation
   145  
   146  - New documentation about configure flags ([#1824](https://github.com/coreos/rkt/pull/1824)). This also includes formatting and typos fixes and updates. The examples about rkt's configuration files are also clarified ([#1847](https://github.com/coreos/rkt/pull/1847)).
   147  - New documentation explaining [how cgroups are used by rkt](https://github.com/coreos/rkt/blob/master/Documentation/devel/cgroups.md) ([#1870](https://github.com/coreos/rkt/pull/1870)). This should make it easier for software developers to integrate rkt with monitoring software.
   148  
   149  #### API service
   150  
   151  - The API service is meant to be used by orchestration tools like Kubernetes. The performance of the API service was improved by reducing the round-trips in the ListPods and ListImages requests ([#1786](https://github.com/coreos/rkt/pull/1786)). Those requests also gained multiple filters for more flexibility ([#1853](https://github.com/coreos/rkt/pull/1853)).
   152  
   153  ## v0.13.0
   154  
   155  The primary motivation for this release is to add support for fetching images on the Docker Registry 2.0. It also includes other small improvements.
   156  
   157  - docker2aci: support Docker Registry 2.0 ([#1826](https://github.com/coreos/rkt/pull/1826))
   158  - always use https:// when fetching docker images ([#1837](https://github.com/coreos/rkt/pull/1837))
   159  - stage0: add container hash data into TPM ([#1775](https://github.com/coreos/rkt/pull/1775))
   160  - host flavor: fix systemd copying into stage1 for Debian packaging ([#1811](https://github.com/coreos/rkt/pull/1811))
   161  - clarify network error messages ([#1707](https://github.com/coreos/rkt/pull/1707))
   162  - documentation: add more build-time requirements ([#1834](https://github.com/coreos/rkt/pull/1834))
   163  
   164  ## v0.12.0
   165  
   166  rkt v0.12.0 is an incremental release with UX improvements like fine-grained security controls and implicit generation of empty volumes, performance improvements, bug fixes and testing enhancements.
   167  
   168  #### New features and UX changes
   169  
   170  - implement `rkt cat-manifest` for pods ([#1744](https://github.com/coreos/rkt/pull/1744))
   171  - generate an empty volume if a required one is not provided ([#1753](https://github.com/coreos/rkt/pull/1753))
   172  - make disabling security features granular; `--insecure-skip-verify` is now `--insecure-options={feature(s)-to-disable}` ([#1738](https://github.com/coreos/rkt/pull/1738)). See rkt's [Global Options](https://github.com/coreos/rkt/blob/master/Documentation/commands.md#global-options) documentation.
   173  - allow skipping the on-disk integrity check using `--insecure-options=ondisk`. This greatly speeds up start time. ([#1804](https://github.com/coreos/rkt/pull/1804))
   174  - set empty volumes' permissions following the [spec](https://github.com/appc/spec/blob/master/spec/pods.md#pod-manifest-schema) ([1803](https://github.com/coreos/rkt/pull/1803))
   175  - flannel networking support in kvm flavor ([#1563](https://github.com/coreos/rkt/pull/1563))
   176  
   177  #### Bug fixes
   178  
   179  - store used MCS contexts on the filesystem ([#1742](https://github.com/coreos/rkt/pull/1742))
   180  - fix Docker images with whiteout-ed hard links ([#1653](https://github.com/coreos/rkt/pull/1653))
   181  - fix Docker images relying on /dev/stdout ([#1617](https://github.com/coreos/rkt/pull/1617))
   182  - use authentication for discovery and trust ([#1801](https://github.com/coreos/rkt/pull/1801))
   183  - fix build in Docker ([#1798](https://github.com/coreos/rkt/pull/1798))
   184  - fix kvm networking ([#1530](https://github.com/coreos/rkt/pull/1530))
   185  
   186  #### Improved testing
   187  
   188  - add functional tests for rkt api service ([#1761](https://github.com/coreos/rkt/pull/1761))
   189  - fix TestSocketActivation on systemd-v219 ([#1768](https://github.com/coreos/rkt/pull/1768))
   190  - fix the ACE validator test ([#1802](https://github.com/coreos/rkt/pull/1802))
   191  
   192  #### Other changes
   193  
   194  - Bumped appc spec to 0.7.3 ([#1800](https://github.com/coreos/rkt/pull/1800))
   195  
   196  ## v0.11.0
   197  
   198  rkt v0.11.0 is an incremental release with mostly bug fixes and testing improvements.
   199  
   200  #### New features and UX changes
   201  
   202  - support resuming ACI downloads ([#1444](https://github.com/coreos/rkt/pull/1444))
   203  - `rkt image gc` now also removes images from the store ([#1697](https://github.com/coreos/rkt/pull/1697))
   204  
   205  #### Build
   206  
   207  - handle building multiple flavors ([#1683](https://github.com/coreos/rkt/pull/1683))
   208  - verbosity control ([#1685](https://github.com/coreos/rkt/pull/1685), [#1686](https://github.com/coreos/rkt/pull/1686))
   209  - fix bugs in `make clean` ([#1695](https://github.com/coreos/rkt/pull/1695))
   210  
   211  #### Improved testing
   212  
   213  - nicer output in tests ([#1698](https://github.com/coreos/rkt/pull/1698))
   214  - refactor test code ([#1709](https://github.com/coreos/rkt/pull/1709))
   215  - skip CI tests when the source was not modified ([#1619](https://github.com/coreos/rkt/pull/1619))
   216  - better output when tests fail ([#1728](https://github.com/coreos/rkt/pull/1728))
   217  - fix tests in `10.*` IP range ([#1736](https://github.com/coreos/rkt/pull/1736))
   218  - document how to run functional tests ([#1736](https://github.com/coreos/rkt/pull/1736))
   219  
   220  #### Improved documentation
   221  
   222  - add some help on how to run rkt as a daemon ([#1684](https://github.com/coreos/rkt/pull/1684))
   223  
   224  #### API service
   225  
   226  - do not return manifest in `ListPods()` and `ListImages()` ([#1688](https://github.com/coreos/rkt/pull/1688))
   227  
   228  #### Bug fixes
   229  
   230  - parameter `--mount` fixed in kvm flavour ([#1687](https://github.com/coreos/rkt/pull/1687))
   231  - fix rkt leaking containers in machinectl on CoreOS ([#1694](https://github.com/coreos/rkt/pull/1694), [#1704](https://github.com/coreos/rkt/pull/1704))
   232  - `rkt status` now returns the stage1 pid ([#1699](https://github.com/coreos/rkt/pull/1699))
   233  - fix crash in `rkt status` when an image is removed ([#1701](https://github.com/coreos/rkt/pull/1701))
   234  - fix fd leak in store ([#1716](https://github.com/coreos/rkt/pull/1716))
   235  - fix exec line parsing in ACI manifest ([#1652](https://github.com/coreos/rkt/pull/1652))
   236  - fix build on 32-bit systems ([#1729](https://github.com/coreos/rkt/pull/1729))
   237  
   238  ## v0.10.0
   239  
   240  rkt v0.10.0 is an incremental release with numerous bug fixes and a few small new features and UX improvements.
   241  
   242  #### New features and UX changes
   243  
   244  - added implementation for basic API service (`rkt api-service`) ([#1508](https://github.com/coreos/rkt/pull/1508))
   245  - mount arbitrary volumes with `--mount` ([#1582](https://github.com/coreos/rkt/pull/1582), [#1678](https://github.com/coreos/rkt/pull/1678))
   246  - `--net=none` only exposes the loopback interface ([#1635](https://github.com/coreos/rkt/pull/1635))
   247  - better formatting for rkt help ([#1597](https://github.com/coreos/rkt/pull/1597))
   248  - metadata service registration (`--mds-register`) disabled by default ([#1635](https://github.com/coreos/rkt/pull/1635))
   249  
   250  #### Improved documentation
   251  - [compare rkt and other projects](https://github.com/coreos/rkt/blob/master/Documentation/rkt-vs-other-projects.md) ([#1588](https://github.com/coreos/rkt/pull/1588))
   252  - [Stage 1 systemd Architecture](https://github.com/coreos/rkt/blob/master/Documentation/devel/architecture.md) ([#1631](https://github.com/coreos/rkt/pull/1631))
   253  - [packaging rkt in Linux distributions](https://github.com/coreos/rkt/blob/master/Documentation/packaging.md) ([#1511](https://github.com/coreos/rkt/pull/1511))
   254  
   255  #### Improved testing
   256  - new test for user namespaces (`--private-users`) ([#1580](https://github.com/coreos/rkt/pull/1580))
   257  - fix races in tests ([#1608](https://github.com/coreos/rkt/pull/1608))
   258  
   259  #### Bug fixes
   260  - suppress unnecessary output when `--debug` is not used ([#1557](https://github.com/coreos/rkt/pull/1557))
   261  - fix permission of rootfs with overlayfs ([#1607](https://github.com/coreos/rkt/pull/1607))
   262  - allow relative path in parameters ([#1615](https://github.com/coreos/rkt/pull/1615))
   263  - fix pod garbage collection failure in some cases ([#1621](https://github.com/coreos/rkt/pull/1621))
   264  - fix `rkt list` when an image was removed ([#1655](https://github.com/coreos/rkt/pull/1655))
   265  - user namespace (`--private-users`) regression with rkt group fixed ([#1654](//github.com/coreos/rkt/pull/1654))
   266  
   267  ## v0.9.0
   268  
   269  rkt v0.9.0 is a significant milestone release with a number of internal and user-facing changes.
   270  
   271  There are several notable breaking changes from the previous release:
   272  - The on-disk format for pod trees has changed slightly, meaning that `rkt gc` and `rkt run-prepared` may not work for pods created by previous versions of rkt. To work around this, we recommend removing the pods with an older version of rkt.
   273  - The `--private-net` flag has been renamed to `--net` and its semantic has changed (in particular, it is now enabled by default) - see below for details.
   274  - Several changes to CLI output (e.g. column names) from the `rkt list` and `rkt image list` subcommands.
   275  - The image fetching behaviour has changed, with the introduction of new flags to `rkt run` and `rkt fetch` and the removal of `--local` - see below for details.
   276  
   277  #### New features and UX changes
   278  
   279  ###### `--private-net` --> `--net`, and networking is now private by default
   280  The `--private-net` flag has been changed to `--net`, and has been now made the default behaviour. ([#1532](https://github.com/coreos/rkt/pull/1532), [#1418](https://github.com/coreos/rkt/pull/1418))
   281  That is, a `rkt run` command will now by default set up a private network for the pod.
   282  To achieve the previous default behaviour of the pod sharing the networking namespace of the host, use `--net=host`.
   283  The flag still allows the specification of multiple networks via CNI plugins, and overriding plugin configuration on a per-network basis.
   284  For more details, see the [networking documentation](Documentation/networking.md).
   285  
   286  ###### New image fetching behaviour
   287  When fetching images during `rkt fetch` or `rkt run`, rkt would previously behave inconsistently for different formats (e.g when performing discovery or when retrieving a Docker image) when deciding whether to use a cached version or not.
   288  `rkt run` featured a `--local` flag to adjust this behaviour but it provided an unintuitive semantic and was not available to the `rkt fetch` command.
   289  Instead, rkt now features two new flags, `--store-only` and `--no-store`, on both the `rkt fetch` and `rkt run` commands, to provide more consistent, controllable, and predictable behaviour regarding when images should be retrieved.
   290  For full details of the new behaviour see the [image fetching documentation](Documentation/image-fetching-behavior.md).
   291  
   292  ###### Unprivileged users
   293  A number of changes were made to the permissions of rkt's internal store to facilitate unprivileged users to access information about images and pods on the system ([#1542](https://github.com/coreos/rkt/pull/1542), [#1569](https://github.com/coreos/rkt/pull/1569)).
   294  In particular, the set-group-ID bit is applied to the directories touched by `rkt install` so that the `rkt` group (if it exists on the system) can retain read-access to information about pods and images.
   295  This will be used by the rkt API service (targeted for the next release) so that it can run as an unprivileged user on the system.
   296  This support is still considered partially experimental.
   297  Some tasks like `rkt image gc` remain a root-only operation.
   298  
   299  ###### /etc/hosts support
   300  If no `/etc/hosts` exists in an application filesystem at the time it starts running, rkt will now provide a basic default version of this file.
   301  If rkt detects one already in the app's filesystem (whether through being included in an image, or a volume mounted in), it will make no changes. ([#1541](https://github.com/coreos/rkt/pull/1541))
   302  
   303  ##### Other new features
   304  - rkt now supports setting supplementary group IDs on processes ([#1514](https://github.com/coreos/rkt/pull/1514)).
   305  - rkt's use of cgroups has been reworked to facilitate rkt running on a variety of operating systems like Void and older non-systemd distributions ([#1437](https://github.com/coreos/rkt/pull/1437), [#1320](https://github.com/coreos/rkt/pull/1320), [#1076](https://github.com/coreos/rkt/pull/1076), [#1042](https://github.com/coreos/rkt/pull/1042))
   306  - If `rkt run` is used with an image that does not have an app section, rkt will now create one if the user provides an `--exec` flag ([#1427](https://github.com/coreos/rkt/pull/1427))
   307  - A new `rkt image gc` command adds initial support for garbage collecting images from the store ([#1487](https://github.com/coreos/rkt/pull/1487)). This removes treeStores not referenced by any non-GCed rkt pod.
   308  - `rkt list` now provides more information including image version and hash ([#1559](https://github.com/coreos/rkt/pull/1559))
   309  - `rkt image list` output now shows shortened hash identifiers by default, and human readable date formats.
   310    To use the previous output format, use the `--full` flag. ([#1455](https://github.com/coreos/rkt/pull/1455))
   311  - `rkt prepare` gained the `--exec` flag, which restores flag-parity with `rkt run` ([#1410](https://github.com/coreos/rkt/pull/1410))
   312  - lkvm stage1 backend has experimental support for `rkt enter` ([#1303](https://github.com/coreos/rkt/pull/1303))
   313  - rkt now supports empty volume types ([#1502](https://github.com/coreos/rkt/pull/1502))
   314  - An early, experimental read-only API definition has been added ([#1359](https://github.com/coreos/rkt/pull/1359), [#1518](https://github.com/coreos/rkt/pull/1518)).
   315  
   316  #### Bug fixes
   317  - Fixed bug in `--stage1-image` option which prevented it from using URLs ([#1524](https://github.com/coreos/rkt/pull/1524))
   318  - Fixed bug in `rkt trust`'s handling of `--root` ([#1494](https://github.com/coreos/rkt/pull/1494))
   319  - Fixed bug when decompressing xz-compressed images ([#1462](https://github.com/coreos/rkt/pull/1462), [#1224](https://github.com/coreos/rkt/pull/1224))
   320  - In earlier versions of rkt, hooks had an implicit timeout of 30 seconds, causing some pre-start jobs which took a long time to be killed. This implicit timeout has been removed. ([#1547](https://github.com/coreos/rkt/pull/1547))
   321  - When running with the lkvm stage1, rkt now sets `$HOME` if it is not already set, working around a bug in the lkvm tool ([#1447](https://github.com/coreos/rkt/pull/1447), [#1393](https://github.com/coreos/rkt/pull/1393))
   322  - Fixed bug preventing `run-prepared` from working if the metadata service was not available ([#1436](https://github.com/coreos/rkt/pull/1436))
   323  
   324  #### Other changes
   325  - Bumped appc spec to 0.7.1 ([#1543](https://github.com/coreos/rkt/pull/1543))
   326  - Bumped CNI and netlink dependencies ([#1476](https://github.com/coreos/rkt/pull/1476))
   327  - Bumped ioprogress to a version which prevents the download bar from being drawn when rkt is not drawing to a terminal ([#1423](https://github.com/coreos/rkt/pull/1423), [#1282](https://github.com/coreos/rkt/pull/1282))
   328  - Significantly reworked rkt's internal use of systemd to orchestrate apps, which should facilitate more granular control over pod lifecycles ([#1407](https://github.com/coreos/rkt/pull/1407))
   329  - Reworked rkt's handling of images with non-deterministically dependencies ([#1240](https://github.com/coreos/rkt/pull/1240), [#1198](https://github.com/coreos/rkt/pull/1198)).
   330  - rkt functional tests now run appc's ACE validator, which should ensure that rkt is always compliant with the specification. ([#1473](https://github.com/coreos/rkt/pull/1473))
   331  - A swathe of improvements to the build system
   332    - `make clean` should now work
   333    - Different rkt stage1 images are now built with different names ([#1406](https://github.com/coreos/rkt/pull/1406))
   334    - rkt can now build on older Linux distributions (like CentOS 6) ([#1529](https://github.com/coreos/rkt/pull/1529))
   335  - Various internal improvements to the functional test suite to improve coverage and consolidate code
   336  - The "ACI" field header in `rkt image` output has been changed to "IMAGE NAME"
   337  - `rkt image rm` now exits with status 1 on any failure ([#1486](https://github.com/coreos/rkt/pull/1486))
   338  - Fixed permissions in the default stage1 image ([#1503](https://github.com/coreos/rkt/pull/1503))
   339  - Added documentation for `prepare` and `run-prepared` subcommands ([#1526](https://github.com/coreos/rkt/pull/1526))
   340  - rkt should now report more helpful errors when encountering manifests it does not understand ([#1471](https://github.com/coreos/rkt/pull/1471))
   341  
   342  
   343  ## v0.8.1
   344  
   345  rkt v0.8.1 is an incremental release with numerous bug fixes and clean-up to the build system. It also introduces a few small new features and UX improvements.
   346  
   347  - New features and UX changes:
   348    - `rkt rm` is now variadic: it can now remove multiple pods in one command, by UUID
   349    - The `APPNAME` column in `rkt image list` output has been changed to the more accurate `NAME`. This involves a schema change in rkt's on-disk datastore, but this should be upgraded transparently.
   350    - Headers are now sent when following HTTP redirects while trying to retrieve an image
   351    - The default metadata service port number was changed from a registered/reserved IANA port to an arbitrary port in the non-dynamic range
   352    - Added the ability to override arguments for network plugins
   353    - rkt will now error out if someone attempts to use `--private-users` with the lkvm backend
   354  - Bug fixes:
   355    - Fixed creation of /tmp in apps' root filesystems with correct permissions
   356    - Fixed garbage collection after umounts (for example, if a system reboots before a pod is cleanly destroyed)
   357    - Fixed a race in interactive mode when using the lkvm backend that could cause a deadlock or segfault
   358    - Fixed bad parameter being passed to the metadata service ("uid" -> "uuid")
   359    - Fixed setting of file permissions during stage1 set up
   360    - Fixed a potential race condition during simultaneous `iptables` invocation
   361    - Fixed ACI download progress being sent to stderr instead of stdout, now consistent with the output during retrieval of Docker images
   362    - `rkt help prepare` will now show the correct default stage1 image
   363    - rkt will refuse to add isolators with nil Limits, preventing a panic caused by an ambiguity in upstream appc schema
   364  - Other changes:
   365    - Reworked the SELinux implementation to use `systemd-nspawn`'s native context-switching feature
   366    - Added a workaround for a bug in Docker <1.8 when it is run on the same system as rkt (see https://github.com/coreos/rkt/issues/1210#issuecomment-132793300)
   367    - Added a `rkt-xxxx-tapN` name to tap devices that rkt creates
   368    - Functional tests now clean intermediate images between tests
   369    - Countless improvements and cleanup to the build system
   370    - Numerous documentation improvements, including splitting out all top-level `rkt` subcommands into their own documents
   371  
   372  ## v0.8.0
   373  
   374  rkt 0.8.0 includes support for running containers under an LKVM hypervisor
   375  and experimental user namespace support.
   376  
   377  Full changelog:
   378  
   379  - Documentation improvements
   380  - Better integration with systemd:
   381   - journalctl -M
   382   - machinectl {reboot,poweroff}
   383  - Update stage1's systemd to v222
   384  - Add more functional tests
   385  - Build system improvements
   386  - Fix bugs with garbage-collection
   387  - LKVM stage1 support with network and volumes
   388  - Smarter image discovery: ETag and Cache-Control support
   389  - Add CNI DHCP plugin
   390  - Support systemd socket activation
   391  - Backup CAS database when migrating
   392  - Improve error messages
   393  - Add the ability to override ACI exec
   394  - Optimize rkt startup times when a stage1 is present in the store
   395  - Trust keys fetched via TLS by default
   396  - Add the ability to garbage-collect a specific pod
   397  - Add experimental user namespace support
   398  - Bugfixes
   399  
   400  ## v0.7.0
   401  
   402  rkt 0.7.0 includes new subcommands for `rkt image` to manipulate images from
   403  the local store.
   404  
   405  It also has a new build system based on autotools and integration with SELinux.
   406  
   407  Full changelog:
   408  
   409  - New subcommands for `rkt image`: extract, render and export
   410  - Metadata service:
   411    - Auth now based on tokens
   412    - Registration done by default, unless --mds-register=false is passed
   413  - Build:
   414    - Remove support for Go 1.3
   415    - Replace build system with autoconf and make
   416  - Network: fixes for plugins related to mnt namespace
   417  - Signature: clearer error messages
   418  - Security:
   419    - Support for SELinux
   420    - Check signature before downloading
   421  - Commands: fix error messages and parameter parsing
   422  - Output: reduce output verbosity
   423  - Systemd integration: fix stop bug
   424  - Tests: Improve tests output
   425  
   426  ## v0.6.1
   427  
   428  The highlight of this release is the support of per-app memory and CPU
   429  isolators. This means that, in addition to restricting a pod’s CPU and memory
   430  usage, individual apps inside a pod can also be restricted now.
   431  
   432  rkt 0.6.1 also includes a new CLI/subcommand framework, more functional testing
   433  and journalctl integration by default.
   434  
   435  Full changelog:
   436  
   437  * Updated to v0.6.1 of the appc spec
   438  * support per-app memory and CPU isolators
   439  * allow network selection to the --private-net flag which can be useful for
   440    grouping certain pods together while separating others
   441  * move to the Cobra CLI/subcommand framework
   442  * per-app logging via journalctl now supported by default
   443  * stage1 runs an unpatched systemd v220
   444  * to help packagers, rkt can generate stage1 from the binaries on the host at
   445    runtime
   446  * more functional tests
   447  * bugfixes
   448  
   449  ## v0.5.6
   450  
   451  rkt 0.5.6 includes better integration with systemd on the host, some minor bug
   452  fixes and a new ipvlan network plugin.
   453  
   454  - Updated to v0.5.2 of the appc spec
   455  - support running from systemd unit files for top-level isolation
   456  - support per-app logging via journalctl. This is only supported if stage1 has
   457    systemd v219 or v220
   458  - add ipvlan network plugin
   459  - new rkt subcommand: cat-manifest
   460  - extract ACI in a chroot to avoid malformed links modifying the host
   461    filesystem
   462  - improve rkt error message if the user doesn’t provide required volumes
   463  - fix rkt status when using overlayfs
   464  - support for some arm architectures
   465  - documentation improvements
   466  
   467  
   468  ## v0.5.5
   469  
   470  rkt 0.5.5 includes a move to [cni](https://github.com/appc/cni) network
   471  plugins, a number of minor bug fixes and two new experimental commands for
   472  handling images: `rkt images` and `rkt rmimage`. 
   473  
   474  Full changelog:
   475  - switched to using [cni](https://github.com/appc/cni) based network plugins
   476  - fetch images dependencies recursively when ACIs have dependent images
   477  - fix the progress bar used when downloading images with no content-length
   478  - building the initial stage1 can now be done on various versions of systemd
   479  - support retrying signature downloads in the case of a 202
   480  - remove race in doing a rkt enter
   481  - various documentation fixes to getting started and other guides
   482  - improvements to the functional testing using a new gexpect, testing for
   483    non-root apps, run context, port test, and more
   484  
   485  
   486  ## v0.5.4
   487  
   488  rkt 0.5.4 introduces a number of new features - repository authentication,
   489  per-app arguments + local image signature verification, port forwarding and
   490  more. Further, although we aren't yet guaranteeing API/ABI stability between
   491  releases, we have added important work towards this goal including functional
   492  testing and database migration code.
   493  
   494  This release also sees the removal of the `--spawn-metadata-svc` flag to 
   495  `rkt run`. The flag was originally provided as a convenience, making it easy
   496  for users to get started with the metadata service.  In rkt v0.5.4 we removed
   497  it in favor of explicitly starting it via `rkt metadata-service` command. 
   498  
   499  Full changelog:
   500  - added configuration support for repository authentication (HTTP Basic Auth,
   501    OAuth, and Docker repositories). Full details in
   502    `Documentation/configuration.md`
   503  - `rkt run` now supports per-app arguments and per-image `--signature`
   504    specifications
   505  - `rkt run` and `rkt fetch` will now verify signatures for local image files
   506  - `rkt run` with `--private-net` now supports port forwarding (using
   507    `--port=NAME:1234`)
   508  - `rkt run` now supports a `--local` flag to use only local images (i.e. no
   509    discovery or remote image retrieval will be performed)
   510  - added initial support for running directly from a pod manifest
   511  - the store DB now supports migrations for future versions
   512  - systemd-nspawn machine names are now set to pod UUID
   513  - removed the `--spawn-metadata-svc` option from `rkt run`; this mode was
   514    inherently racy and really only for convenience. A separate 
   515    `rkt metadata-service` invocation should be used instead.
   516  - various internal codebase refactoring: "cas" renamed to "store", tasks to
   517    encapsulate image fetch operations, etc
   518  - bumped docker2aci to support authentication for Docker registries and fix a
   519    bug when retrieving images from Google Container Registry
   520  - fixed a bug where `--interactive` did not work with arguments
   521  - garbage collection for networking is now embedded in the stage1 image
   522  - when rendering images into the treestore, a global syncfs() is used instead
   523    of a per-file sync(). This should significantly improve performance when
   524    first extracting large images
   525  - added extensive functional testing on semaphoreci.com/coreos/rkt
   526  - added a test-auth-server to facilitate testing of fetching images
   527  
   528  
   529  ## v0.5.3
   530  This release contains minor updates over v0.5.2, notably finalising the move to
   531  pods in the latest appc spec and becoming completely name consistent on `rkt`.
   532  - {Container,container} changed globally to {Pod,pod}
   533  - {Rocket,rocket} changed globally to `rkt`
   534  - `rkt install` properly sets permissions for all directories
   535  - `rkt fetch` leverages the cas.Store TmpDir/TmpFile functions (now exported)
   536    to generate temporary files for downloads
   537  - Pod lifecycle states are now exported for use by other packages
   538  - Metadata service properly synchronizes access to pod state
   539  
   540  
   541  ## v0.5.2
   542  
   543  This release is a minor update over v0.5.1, incorporating several bug fixes and
   544  a couple of small new features:
   545  - `rkt enter` works when overlayfs is not available
   546  - `rkt run` now supports the `--no-overlay` option referenced (but not
   547    implemented!) in the previous release
   548  - the appc-specified environment variables (PATH, HOME, etc) are once again set
   549    correctly during `rkt run`
   550  - metadata-service no longer manipulates IP tables rules as it connects over a
   551    unix socket by default
   552  - pkg/lock has been improved to also support regular (non-directory) files
   553  - images in the cas are now locked at runtime (as described in [#460](https://github.com/coreos/rkt/pull/460))
   554  
   555  
   556  ## v0.5.1
   557  
   558  This release updates Rocket to follow the latest version of the appc spec,
   559  v0.5.1. This involves the major change of moving to _pods_ and _Pod Manifests_
   560  (which enhance and supplant the previous _Container Runtime Manifest_). The
   561  Rocket codebase has been updated across the board to reflect the schema/spec
   562  change, as well as changing various terminology in other human-readable places:
   563  for example, the previous ambiguous (unqualified) "container" is now replaced
   564  everywhere with "pod".
   565  
   566  This release also introduces a number of key features and minor changes:
   567  - overlayfs support, enabled for `rkt run` by default (disable with
   568    `--no-overlayfs`)
   569  - to facilitate overlayfs, the CAS now features a tree store which stores
   570    expanded versions of images
   571  - the default stage1 (based on systemd) can now be built from source, instead
   572    of only derived from an existing binary distribution as previously. This is
   573    configurable using the new `RKT_STAGE1_USR_FROM` environment variable when
   574    invoking the build script - see fdcd64947
   575  - the metadata service now uses a Unix socket for registration; this limits who
   576    can register/unregister pods by leveraging filesystem permissions on the
   577    socket
   578  - `rkt list` now abbreviates UUIDs by default (configurable with `--full`)
   579  - the ImageManifest's `readOnly` field (for volume mounts) is now overridden by
   580    the rkt command line
   581  - a simple debug script (in scripts/debug) to facilitate easier debugging of
   582    applications running under Rocket by injecting Busybox into the pod
   583  - documentation for the metadata service, as well as example systemd unit files
   584  
   585  
   586  ## v0.4.2
   587  
   588  - First support for interactive containers, with the `rkt run --interactive`
   589    flag. This is currently only supported if a container has one app. [#562](https://github.com/coreos/rkt/pull/562) #[601](https://github.com/coreos/rkt/pull/601)
   590  - Add container IP address information to `rkt list`
   591  - Provide `/sys` and `/dev/shm` to apps (per spec)
   592  - Introduce "latest" pattern handling for local image index
   593  - Implement FIFO support in tar package
   594  - Restore atime and mtime during tar extraction
   595  - Bump docker2aci dependency
   596  
   597  
   598  ## v0.4.1
   599  
   600  This is primarily a bug fix release with the addition of the `rkt install`
   601  subcommand to help people setup a unprivileged `rkt fetch` based on unix users.
   602  
   603  - Fix marshalling error when running containers with resource isolators
   604  - Fixup help text on run/prepare about volumes
   605  - Fixup permissions in `rkt trust` created files
   606  - Introduce the `rkt install` subcommand
   607  
   608  
   609  ## v0.4.0
   610  
   611  This release is mostly a milestone release and syncs up with the latest release
   612  of the [appc spec](https://github.com/appc/spec/releases/tag/v0.4.0) yesterday.
   613  
   614  Note that due to the introduction of a database for indexing the local CAS,
   615  users upgrading from previous versions of Rocket on a system may need to clear
   616  their local cache by removing the `cas` directory. For example, using the
   617  standard Rocket setup, this would be accomplished with 
   618  `rm -fr /var/lib/rkt/cas`.
   619  
   620  Major changes since v0.3.2:
   621  - Updated to v0.4.0 of the appc spec
   622  - Introduced a database for indexing local images in the CAS (based on
   623    github.com/cznic/ql)
   624  - Refactored container lifecycle to support a new "prepared" state, to
   625  - pre-allocate a container UUID without immediately running the application
   626  - Added support for passing arguments to apps through the `rkt run` CLI
   627  - Implemented ACI rendering for dependencies
   628  - Renamed `rkt metadatasvc` -> `rkt metadata-service`
   629  - Added documentation around networking, container lifecycle, and rkt commands
   630  
   631  
   632  ## v0.3.2
   633  
   634  This release introduces much improved documentation and a few new features.
   635  
   636  The highlight of this release is that Rocket can now natively run Docker
   637  images. To do this, it leverages the appc/docker2aci library which performs a
   638  straightforward conversion betwen images in the Docker format and the appc
   639  format.
   640  
   641  A simple example:
   642  
   643  ```
   644  $ rkt --insecure-skip-verify run docker://redis docker://tenstartups/redis-commander
   645  rkt: fetching image from docker://redis
   646  rkt: warning: signature verification has been disabled
   647  Downloading layer: 511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158
   648  ```
   649  
   650  Note that since Docker images do not support image signature verifications, the
   651  `-insecure-skip-verify` must be used.
   652  
   653  Another important change in this release is that the default location for the
   654  stage1 image used by `rkt run` can now be set at build time, by setting the
   655  `RKT_STAGE1_IMAGE` environment variable when invoking the build script. (If
   656  this is not set, `rkt run` will continue with its previous behaviour of looking
   657  for a stage1.aci in the same directory as the binary itself. This makes it
   658  easier for distributions to package Rocket and include the stage1 wherever
   659  they choose (for example, `/usr/lib/rkt/stage1.aci`). For more information, see
   660  https://github.com/coreos/rocket/pull/520
   661  
   662  
   663  ## v0.3.1
   664  
   665  The primary motivation for this release is to resynchronise versions with the
   666  appc spec. To minimise confusion in the short term we intend to keep the
   667  major/minor version of Rocket aligned with the version of spec it implements;
   668  hence, since yesterday v0.3.0 of the appc spec was released, today Rocket
   669  becomes v0.3.1. After the spec (and Rocket) reach v1.0.0, we may relax this
   670  restriction.
   671  
   672  This release also resolves an upstream bug in the appc discovery code which was
   673  causing rkt trust to fail in certain cases.
   674  
   675  
   676  ## v0.3.0
   677  
   678  This is largely a momentum release but it does introduce a few new user-facing
   679  features and some important changes under the hood which will be of interest to
   680  developers and distributors.
   681  
   682  First, the CLI has a couple of new commands:
   683  - `rkt trust` can be used to easily add keys to the public keystore for ACI
   684    signatures (introduced in the previous release). This supports retrieving
   685    public keys directly from a URL or using discovery to locate public keys - a
   686    simple example of the latter is `rkt trust --prefix coreos.com/etcd`. See the
   687    commit for other examples.
   688  - `rkt list` is an extremely simple tool to list the containers on the system
   689  
   690  As mentioned, v0.3.0 includes two significant changes to the Rocket build process:
   691  - Instead of embedding the (default) stage1 using go-bindata, Rocket now
   692    consumes a stage1 in the form of an actual ACI, containing a rootfs and
   693    stage1 init/exec binaries. By default, Rocket will look for a `stage1.aci` in
   694    the same directory as the location of the binary itself, but the stage1 can
   695    be explicitly specified with the new `-stage1-image` flag (which deprecates
   696    `-stage1-init` and `-stage1-rootfs`). This makes it much more straightforward
   697    to use alternative stage1 images with rkt and facilitates packing it for
   698    different distributions like Fedora.
   699  - Rocket now vendors a copy of the appc/spec instead of depending on HEAD. This
   700    means that Rocket can be built in a self-contained and reproducible way and
   701    that master will no longer break in response to changes to the spec. It also
   702    makes explicit the specific version of the spec against which a particular
   703    release of Rocket is compiled.
   704  
   705  As a consequence of these two changes, it is now possible to use the standard
   706  Go workflow to build the Rocket CLI (e.g. `go get github.com/coreos/rocket/rkt`
   707  will build rkt). Note however that this does not implicitly build a stage1, so
   708  that will still need to be done using the included ./build script, or some
   709  other way for those desiring to use a different stage1.
   710  
   711  
   712  ## v0.2.0
   713  
   714  This introduces countless features and improvements over v0.1.1. Highlights
   715  include several new commands (`rkt status`, `rkt enter`, `rkt gc`) and
   716  signature validation.
   717  
   718  
   719  ## v0.1.1
   720  
   721  The most significant change in this release is that the spec has been split
   722  into its own repository (https://github.com/appc/spec), and significantly
   723  updated since the last release - so many of the changes were to update to match
   724  the latest spec.
   725  
   726  Numerous improvements and fixes over v0.1.0:
   727  - Rocket builds on non-Linux (in a limited capacity)
   728  - Fix bug handling uncompressed images
   729  - More efficient image handling in CAS
   730  - mkrootfs now caches and GPG checks images
   731  - stage1 is now properly decoupled from host runtime
   732  - stage1 supports socket activation
   733  - stage1 no longer warns about timezones
   734  - cas now logs download progress to stdout
   735  - rkt run now acquires an exclusive lock on the container directory and records
   736    the PID of the process
   737  
   738  
   739  ## v0.1.0
   740  
   741  - tons of documentation improvements added
   742  - actool introduced along with documentation
   743  - image discovery introduced to rkt run and rkt fetch
   744  
   745  
   746  ## v0.0.0
   747  
   748  Initial release.