diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1139da4c74..00fc4be6af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,55 @@
+
+## [v0.9.12](https://github.com/garden-io/garden/compare/v0.9.11...v0.9.12) (2019-05-21)
+
+### Bug Fixes
+
+* make global CLI opts available to commands ([70bce731](https://github.com/garden-io/garden/commit/70bce731))
+* build deps not watched when using -w flag ([36e8c67b](https://github.com/garden-io/garden/commit/36e8c67b))
+* **config:** recursion error with invalid template strings ([0cbcb988](https://github.com/garden-io/garden/commit/0cbcb988))
+* **config:** validation fix for template strings ([961dd707](https://github.com/garden-io/garden/commit/961dd707))
+* **dashboard:** add taskError event + small ui tweaks ([d308b89c](https://github.com/garden-io/garden/commit/d308b89c))
+* **docs:** update the path to run garden-debug ([0df0e849](https://github.com/garden-io/garden/commit/0df0e849))
+* **k8s:** use correct container handlers when building modules ([e150a990](https://github.com/garden-io/garden/commit/e150a990))
+* **k8s:** ensure env is prepared ([c2cd689d](https://github.com/garden-io/garden/commit/c2cd689d))
+* **k8s:** helm modules weren't identified as hot reloadable ([0b7ce98e](https://github.com/garden-io/garden/commit/0b7ce98e))
+* **k8s:** fix type error when Kubernetes is not running ([412fe573](https://github.com/garden-io/garden/commit/412fe573))
+* **k8s:** ensure test results get stored if test fails ([7ec1bae8](https://github.com/garden-io/garden/commit/7ec1bae8))
+* **logger:** fix spinner pos ([12d0dd4b](https://github.com/garden-io/garden/commit/12d0dd4b))
+* **logger:** add info symbol to active basic entries ([08bb5945](https://github.com/garden-io/garden/commit/08bb5945))
+
+### Code Refactoring
+
+* **core:** tighten config validation and clean up some cruft ([39fb3125](https://github.com/garden-io/garden/commit/39fb3125))
+* **core:** fold push task into build task ([733e2dbc](https://github.com/garden-io/garden/commit/733e2dbc))
+* **dashboard:** use useReducer in useApi hook ([8bc67d0b](https://github.com/garden-io/garden/commit/8bc67d0b))
+* **dashboard:** remove LoadWrapper ([29ddc83b](https://github.com/garden-io/garden/commit/29ddc83b))
+* **dashboard:** use a single generic node info container ([09d3d58c](https://github.com/garden-io/garden/commit/09d3d58c))
+
+### Features
+
+* add test/task statuses to get status command ([a1e2122b](https://github.com/garden-io/garden/commit/a1e2122b))
+* render results as JSON for json logger ([4ca179e6](https://github.com/garden-io/garden/commit/4ca179e6))
+* **dashboard:** overall dashboard improvements ([253316f2](https://github.com/garden-io/garden/commit/253316f2))
+* **dashboard:** implement new overview page ([d3ae347f](https://github.com/garden-io/garden/commit/d3ae347f))
+
+### Improvement
+
+* font sizes and header ([55f7d961](https://github.com/garden-io/garden/commit/55f7d961))
+* **commands:** added task/test fields to get-status response ([1f34f294](https://github.com/garden-io/garden/commit/1f34f294))
+* **dashboard:** fix ui issues ([488369ec](https://github.com/garden-io/garden/commit/488369ec))
+* **dashboard:** start dashboard before init and keep same port ([e3bc9ee1](https://github.com/garden-io/garden/commit/e3bc9ee1))
+* **task-graph:** raise concurrency limit ([a6343d51](https://github.com/garden-io/garden/commit/a6343d51))
+
+### BREAKING CHANGE
+
+
+This removes the previously deprecated ability to do nested formatting
+strings. It's not a helpful feature for most cases, and just complicates
+the parser logic. Also wasn't documented really, so it should be safe to
+remove without a minor version bump.
+
+
## [v0.9.11](https://github.com/garden-io/garden/compare/v0.9.10...v0.9.11) (2019-04-29)
@@ -20,6 +71,11 @@
* **dashboard:** add 'more info' pane to stack graph ([bee72e65](https://github.com/garden-io/garden/commit/bee72e65))
+### Improvement
+
+* **k8s:** better status checks ([615c02aa](https://github.com/garden-io/garden/commit/615c02aa))
+* **tasks:** minor logging improvements ([18e04859](https://github.com/garden-io/garden/commit/18e04859))
+
## [v0.9.10](https://github.com/garden-io/garden/compare/v0.9.9...v0.9.10) (2019-04-19)
@@ -48,6 +104,10 @@
* **vcs:** handle case when file is removed while listing VCS files ([7aeec2fa](https://github.com/garden-io/garden/commit/7aeec2fa))
* **vcs:** exclude .garden from version hashing ([0dc12082](https://github.com/garden-io/garden/commit/0dc12082))
+### Improvement
+
+* **config-graph:** add more data to rendered graph nodes ([05f32c33](https://github.com/garden-io/garden/commit/05f32c33))
+
## [v0.9.8](https://github.com/garden-io/garden/compare/v0.9.7...v0.9.8) (2019-04-08)
@@ -70,6 +130,10 @@
* **config:** add var alias for variables template key ([ede49e5d](https://github.com/garden-io/garden/commit/ede49e5d))
* **core:** add module include field and use content hash for versions ([8bd0b5bb](https://github.com/garden-io/garden/commit/8bd0b5bb))
+### Improvement
+
+* **k8s:** store test results cluster-wide ([61ea396a](https://github.com/garden-io/garden/commit/61ea396a))
+
## [v0.9.7](https://github.com/garden-io/garden/compare/v0.9.6...v0.9.7) (2019-03-28)
@@ -88,6 +152,10 @@
* **k8s:** add kubernetes module type ([1488cd82](https://github.com/garden-io/garden/commit/1488cd82))
+### Improvement
+
+* **container:** check for Docker version on first use ([b898c403](https://github.com/garden-io/garden/commit/b898c403))
+
## [v0.9.6](https://github.com/garden-io/garden/compare/v0.9.5...v0.9.6) (2019-03-25)
@@ -125,6 +193,12 @@
* **maven-container:** add mvnOpts field and remove default option ([187dc7d9](https://github.com/garden-io/garden/commit/187dc7d9))
* **maven-container:** automatically fetch Maven and OpenJDK ([5045cd34](https://github.com/garden-io/garden/commit/5045cd34))
+### Improvement
+
+* **k8s:** better deployment status checking ([d84c97e4](https://github.com/garden-io/garden/commit/d84c97e4))
+* **k8s:** don't require username input when namespace is set ([d61290ac](https://github.com/garden-io/garden/commit/d61290ac))
+* **k8s:** more granular status message while deploying ([c2c70609](https://github.com/garden-io/garden/commit/c2c70609))
+
## [v0.9.5](https://github.com/garden-io/garden/compare/v0.9.4...v0.9.5) (2019-03-12)
@@ -155,6 +229,11 @@
* add maven-container plugin type ([74148980](https://github.com/garden-io/garden/commit/74148980))
* **container:** add env field to task spec ([950536f0](https://github.com/garden-io/garden/commit/950536f0))
+### Improvement
+
+* **k8s:** better logging while deploying services ([4cd5d053](https://github.com/garden-io/garden/commit/4cd5d053))
+* **k8s:** update helm to v2.13.0 ([0685a9b7](https://github.com/garden-io/garden/commit/0685a9b7))
+
## [v0.9.4](https://github.com/garden-io/garden/compare/v0.9.3...v0.9.4) (2019-03-04)
diff --git a/README.md b/README.md
index d1d7853507..a3bea48100 100644
--- a/README.md
+++ b/README.md
@@ -20,7 +20,7 @@ With the Stack Graph, each part of your stack can _describe itself_ using simple
- Spin up your whole stack with a single command, and (optionally) watch for changes. Because of the Stack Graph, only what's needed gets re-built, re-deployed, and/or re-tested, so you get a **much faster feedback loop**.
- Easily write [integration test suites](https://docs.garden.io/using-garden/features-and-usage#testing-and-dependencies) that have runtime dependencies. Run tests before pushing your code to CI, and avoid having to mock or stub your own services.
-- Define [tasks](https://github.com/garden-io/garden/tree/v0.9.11/examples/tasks) that run as part of your deployment process—e.g. database migrations or scaffolding.
+- Define [tasks](https://github.com/garden-io/garden/tree/v0.9.12/examples/tasks) that run as part of your deployment process—e.g. database migrations or scaffolding.
- [Hot reload](https://docs.garden.io/using-garden/hot-reload) lets you near-instantaneously update code and static files in containers as they run, for services that support in-place reloading.
- [Remote sources](https://docs.garden.io/examples/remote-sources) support allows your project to automatically pull code from different repositories.
- The built-in web **dashboard** gives you a full overview of your stack (and many more UI features are planned to further aid with development).
@@ -46,13 +46,13 @@ Overview:
- [Basics](https://docs.garden.io/basics)—installation instructions, our quick start guide, and an overview of the main concepts around Garden.
- [Using Garden](https://docs.garden.io/using-garden)—features and usage, Garden configuration files, usage with remote clusters, and setting up hot reload.
-- [Example Projects](https://docs.garden.io/examples)—guides based on some of the [examples](https://github.com/garden-io/garden/tree/v0.9.11/examples).
+- [Example Projects](https://docs.garden.io/examples)—guides based on some of the [examples](https://github.com/garden-io/garden/tree/v0.9.12/examples).
- [Reference](https://docs.garden.io/reference)—glossary, commands reference, configuration files reference, and template strings reference.
- [FAQs](https://docs.garden.io/faqs).
## Examples
-The [examples](https://github.com/garden-io/garden/tree/v0.9.11/examples) folder of our repository shows a myriad of different ways to use Garden.
+The [examples](https://github.com/garden-io/garden/tree/v0.9.12/examples) folder of our repository shows a myriad of different ways to use Garden.
For written guides based on some of these examples, check out the [examples section](https://docs.garden.io/examples) of our documentation.
@@ -94,7 +94,7 @@ tests:
dependencies: [my-other-service]
```
-Please browse our [examples directory](https://github.com/garden-io/garden/tree/v0.9.11/examples) for full project configurations and further context.
+Please browse our [examples directory](https://github.com/garden-io/garden/tree/v0.9.12/examples) for full project configurations and further context.
## Support
diff --git a/docs/examples/hello-world.md b/docs/examples/hello-world.md
index 6d4a1b8149..b53f66b358 100644
--- a/docs/examples/hello-world.md
+++ b/docs/examples/hello-world.md
@@ -6,9 +6,9 @@ In this example, we'll have a practical look at the main characteristics of a Ga
- Ports, endpoints, and health check settings
- Tests
-This project contains four configuration files. [This one](https://github.com/garden-io/garden/tree/v0.9.11/examples/hello-world/garden.yml) for project-wide settings, and three separate ones for each of the modules: [`hello-container`](https://github.com/garden-io/garden/tree/v0.9.11/examples/hello-world/services/hello-container/garden.yml), [`hello-function`](https://github.com/garden-io/garden/tree/v0.9.11/examples/hello-world/services/hello-function/garden.yml), and [`hello-npm-package`](https://github.com/garden-io/garden/tree/v0.9.11/examples/hello-world/libraries/hello-npm-package/garden.yml).
+This project contains four configuration files. [This one](https://github.com/garden-io/garden/tree/v0.9.12/examples/hello-world/garden.yml) for project-wide settings, and three separate ones for each of the modules: [`hello-container`](https://github.com/garden-io/garden/tree/v0.9.12/examples/hello-world/services/hello-container/garden.yml), [`hello-function`](https://github.com/garden-io/garden/tree/v0.9.12/examples/hello-world/services/hello-function/garden.yml), and [`hello-npm-package`](https://github.com/garden-io/garden/tree/v0.9.12/examples/hello-world/libraries/hello-npm-package/garden.yml).
-_Note: The source code for this project can be found at: [https://github.com/garden-io/garden/tree/v0.9.11/examples/hello-world](https://github.com/garden-io/garden/tree/v0.9.11/examples/hello-world)._
+_Note: The source code for this project can be found at: [https://github.com/garden-io/garden/tree/v0.9.12/examples/hello-world](https://github.com/garden-io/garden/tree/v0.9.12/examples/hello-world)._
# Configuring dependencies
diff --git a/docs/examples/remote-sources.md b/docs/examples/remote-sources.md
index cc0f8af597..1538b05634 100644
--- a/docs/examples/remote-sources.md
+++ b/docs/examples/remote-sources.md
@@ -10,11 +10,11 @@ Important concepts:
> Remote _module_: The remote source code for a single Garden module. In this case, the `garden.yml` config file is stored in the main project repository while the module code itself is in the remote repository.
-_Note: The source code for this project can be found at: [https://github.com/garden-io/garden/tree/v0.9.11/examples/remote-sources](https://github.com/garden-io/garden/tree/v0.9.11/examples/remote-sources)._
+_Note: The source code for this project can be found at: [https://github.com/garden-io/garden/tree/v0.9.12/examples/remote-sources](https://github.com/garden-io/garden/tree/v0.9.12/examples/remote-sources)._
## About
-This project is the same as the [vote example](https://github.com/garden-io/garden/tree/v0.9.11/examples/vote)—except that in this case the services live in their own repositories. The repositories are:
+This project is the same as the [vote example](https://github.com/garden-io/garden/tree/v0.9.12/examples/vote)—except that in this case the services live in their own repositories. The repositories are:
* [Database services](https://github.com/garden-io/garden-example-remote-sources-db-services) (contains the Postgres and Redis services)
* [Web services](https://github.com/garden-io/garden-example-remote-sources-web-services) (contains the Python Vote web service and the Node.js Result web service)
diff --git a/docs/examples/simple-project.md b/docs/examples/simple-project.md
index 00b1f159ba..99b24ef490 100644
--- a/docs/examples/simple-project.md
+++ b/docs/examples/simple-project.md
@@ -17,7 +17,7 @@ This tutorial assumes that you already have a running [installation of Garden](.
## Clone the example repo
-The code for this tutorial can be found in our Github repository under the [examples directory](https://github.com/garden-io/garden/tree/v0.9.11/examples). We'll use the [simple-project-start](https://github.com/garden-io/garden/tree/v0.9.11/examples/simple-project-start/) example and work our way from there. The final version is under [simple-project](https://github.com/garden-io/garden/tree/v0.9.11/examples/simple-project).
+The code for this tutorial can be found in our Github repository under the [examples directory](https://github.com/garden-io/garden/tree/v0.9.12/examples). We'll use the [simple-project-start](https://github.com/garden-io/garden/tree/v0.9.12/examples/simple-project-start/) example and work our way from there. The final version is under [simple-project](https://github.com/garden-io/garden/tree/v0.9.12/examples/simple-project).
First, let's clone the examples repo, change into the directory, and take a look inside:
diff --git a/docs/examples/tls-project.md b/docs/examples/tls-project.md
index 43eb77cd70..dedbf98fb2 100644
--- a/docs/examples/tls-project.md
+++ b/docs/examples/tls-project.md
@@ -5,7 +5,7 @@ This project shows how you can configure a TLS certificate to use for local deve
For the example to work you need to configure a local certificate authority (CA) on your computer for development. We'll use
[mkcert](https://github.com/FiloSottile/mkcert) for this purpose.
-_Note: The source code for this project can be found at: [https://github.com/garden-io/garden/tree/v0.9.11/examples/local-tls](https://github.com/garden-io/garden/tree/v0.9.11/examples/local-tls)._
+_Note: The source code for this project can be found at: [https://github.com/garden-io/garden/tree/v0.9.12/examples/local-tls](https://github.com/garden-io/garden/tree/v0.9.12/examples/local-tls)._
## Setup
diff --git a/docs/examples/using-garden-in-ci.md b/docs/examples/using-garden-in-ci.md
index d350a37fe0..33802ceae4 100644
--- a/docs/examples/using-garden-in-ci.md
+++ b/docs/examples/using-garden-in-ci.md
@@ -23,7 +23,7 @@ The guide is based on the [Remote Kubernetes](https://docs.garden.io/using-garde
## Project overview
-The project is based on our [demo-project](https://github.com/garden-io/garden/tree/v0.9.11/examples/simple-project) example, but configured for multiple environments. Additionally it contains a CircleCI config file. You'll find the entire source code [here](https://github.com/garden-io/ci-demo-project).
+The project is based on our [demo-project](https://github.com/garden-io/garden/tree/v0.9.12/examples/simple-project) example, but configured for multiple environments. Additionally it contains a CircleCI config file. You'll find the entire source code [here](https://github.com/garden-io/ci-demo-project).
The CI pipeline in configured so that Garden tests the project and deploys it to a **preview** environment on every pull request. Additionally, it tests the project and deploys it to a separate **staging** environment on every merge to the `master` branch.
diff --git a/docs/faqs.md b/docs/faqs.md
index f09c56b536..6de5ec9ed9 100644
--- a/docs/faqs.md
+++ b/docs/faqs.md
@@ -56,7 +56,7 @@ We currently have a rough version of a Docker Swarm plug-in for Garden, but don'
### Does Garden only work locally?
-The Garden orchestrator itself doesn't care where your services are built, tested and deployed. However, the current selection of plug-ins does support local development better than remote development. For Kubernetes development in particular, it is currently much easier to set up the `local-kubernetes` plugin, and feedback loops are generally faster than with the more generic `kubernetes` plugin (see [this example](https://github.com/garden-io/garden/tree/v0.9.11/examples/remote-k8s) for how to configure remote clusters).
+The Garden orchestrator itself doesn't care where your services are built, tested and deployed. However, the current selection of plug-ins does support local development better than remote development. For Kubernetes development in particular, it is currently much easier to set up the `local-kubernetes` plugin, and feedback loops are generally faster than with the more generic `kubernetes` plugin (see [this example](https://github.com/garden-io/garden/tree/v0.9.12/examples/remote-k8s) for how to configure remote clusters).
However, we are working to bridge that gap, since we strongly believe that remote building, testing and deployment is the way of the future. You can already use our [hot reloading](./using-garden/hot-reload.md) feature with remote clusters, for example.
diff --git a/docs/using-garden/using-helm-charts.md b/docs/using-garden/using-helm-charts.md
index 1d533367d1..01a6ff1302 100644
--- a/docs/using-garden/using-helm-charts.md
+++ b/docs/using-garden/using-helm-charts.md
@@ -2,7 +2,7 @@
The [Helm](https://helm.sh/) package manager is one of the most commonly used tools for managing Kubernetes manifests. Garden supports using your own Helm charts, alongside your container modules, via the `kubernetes` and `local-kubernetes` providers. This guide shows you how to configure and use 3rd-party (or otherwise external) Helm charts, as well as your own charts in your Garden project. We also go through how to set up tests, tasks and hot-reloading for your charts.
-In this guide we'll be using the [vote-helm](https://github.com/garden-io/garden/tree/v0.9.11/examples/vote-helm) project. If you prefer to just check out a complete example, the project itself is also a good resource.
+In this guide we'll be using the [vote-helm](https://github.com/garden-io/garden/tree/v0.9.12/examples/vote-helm) project. If you prefer to just check out a complete example, the project itself is also a good resource.
You may also want to check out the full [helm module reference](../reference/config.md#helm).
diff --git a/garden-service/package-lock.json b/garden-service/package-lock.json
index ef44469f6e..e2a8ef81f0 100644
--- a/garden-service/package-lock.json
+++ b/garden-service/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "garden-cli",
- "version": "0.9.11",
+ "version": "0.9.12",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
diff --git a/garden-service/package.json b/garden-service/package.json
index 217c03f125..d57b572a38 100644
--- a/garden-service/package.json
+++ b/garden-service/package.json
@@ -1,6 +1,6 @@
{
"name": "garden-cli",
- "version": "0.9.11",
+ "version": "0.9.12",
"description": "A full-featured development framework for containers and serverless",
"repository": {
"type": "git",