Releases: garden-io/garden
edge-cedar
This is an automatic build of Garden 0.14 (Cedar).
Note: This is not a stable release
0.14.20
Garden 0.14.20 is out! 🎉
This release introduces local volume mounting for Kubernetes and Helm Deploys — a new way to get instant file visibility in your local development clusters without needing background sync processes.
Local volume mounts (experimental)
When developing against a local Kubernetes cluster (Docker Desktop, Orbstack, kind, or minikube), you can now configure localVolumes on your kubernetes or helm Deploy actions to mount host directories directly into running containers via hostPath volumes.
This is an alternative to Mutagen-based code synchronization that gives you:
- Zero sync delay — file changes are visible instantly because the container reads directly from your host filesystem
- No background process — no Mutagen daemon to start, monitor, or troubleshoot
- Works with any file watcher — hot-reload tools (nodemon, webpack-dev-server, air, etc.) already in your container just work
Garden handles the platform-specific path conversion automatically for each cluster type and OS (Docker Desktop path prefixes, kind extraMounts validation, minikube auto-mounting).
An excludes option lets you overlay emptyDir volumes on subdirectories like node_modules that shouldn't come from the host.
spec:
localVolumes:
volumes:
- name: frontend-src
sourcePath: .
containerPath: /app
excludes:
- node_modulesSee the local volume mounts guide and the examples/local-volume-mounts project for full details.
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
- Garden v0.14.20 for Alpine AMD64 (tar.gz)
- Garden v0.14.20 for Linux AMD64 (tar.gz)
- Garden v0.14.20 for Linux ARM64 (tar.gz)
- Garden v0.14.20 for MacOS AMD64 (tar.gz)
- Garden v0.14.20 for MacOS ARM64 (tar.gz)
- Garden v0.14.20 for Windows AMD64 (.zip)
Changelog
0.14.20 (2026-02-27)
Features
- k8s: local volume mounting assistance (57f95326b)
0.14.19
Garden 0.14.19 is out! 🎉
This is a mainenance release with no new user-facing changes (mostly library updates to improve security).
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
0.14.18
Garden 0.14.18 is out! 🎉
This is a big release with several new features:
Highlights
Experimental garden plan command
A new garden plan command (and garden deploy --plan flag) lets you preview what would happen before actually executing actions. For Deploy actions, it shows a diff of Kubernetes resources that would be created, updated, or deleted. For Build, Run, and Test actions, it shows what commands would be executed. This is especially useful for reviewing infrastructure changes before deployment.
Traefik as bundled ingress controller
Traefik is now supported as a bundled ingress controller for local Kubernetes clusters. The existing nginx controller is deprecated (but still the default) — users will see a deprecation warning and can migrate with a single command: garden plugins kubernetes migrate-ingress-controller. Traefik includes cluster-specific configurations for kind, k3s, minikube, microk8s, and generic clusters.
Major improvements to custom commands
Custom commands now support a steps field, allowing you to define multiple ordered steps in a single command. Additionally, many more templating expressions are supported, and needed references are auto-resolved before executing.
removeOnCleanup flag for Deploys
A new removeOnCleanup flag on Deploy actions lets you control whether resources are removed when running garden cleanup. This gives more fine-grained control over which deployments should persist across cleanup operations.
Action-specific log level override
You can now set the log level on a per-action basis, making it easier to debug specific actions without flooding your terminal with verbose output from the entire graph.
Variable supersession visibility
The garden get remote-vars command now shows whether a variable has been superseded, making it easier to understand variable resolution and precedence.
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
- Garden v0.14.18 for Alpine AMD64 (tar.gz)
- Garden v0.14.18 for Linux AMD64 (tar.gz)
- Garden v0.14.18 for Linux ARM64 (tar.gz)
- Garden v0.14.18 for MacOS AMD64 (tar.gz)
- Garden v0.14.18 for MacOS ARM64 (tar.gz)
- Garden v0.14.18 for Windows AMD64 (.zip)
Changelog
0.14.18 (2026-02-25)
Bug Fixes
- core: do not leave dangling remote source dirs if clone fails (#7984) (7365dbb55)
- logger: minor fix (c0519a460)
Features
- commands: major improvements to custom commands (1ee512f47)
- k8s: support Traefik as bundled ingress controller (8b1fa1a8f)
Improvements
- core: show if var is superseded in get remote-vars command (a866eb284)
edge-bonsai
This is an automatic build of Garden 0.13 (Bonsai).
Note: This is not a stable release
0.14.17
Garden 0.14.17 is out! 🎉
This release adds a few new features, outlined below, as well some bug fixes. Enjoy!
Many thanks to Kevin Castro me@kevincastro.dev for their contribution to this release!
Overview
Garden plan command
Experimental garden plan command and garden deploy --plan option which shows what would happen if you ran the specified actions, without actually executing them. This is useful for previewing changes before deployment, especially for Kubernetes resources.
Conditionally remove deploys on cleanup
You can now set removeOnCleanup: false on your Deploy actions if you do not want them removed when running the garden cleanup command. This is useful to e.g. prevent PVCs being deleted when cleaning up an environment.
This can be overridden with garden cleanup --force which will remove all deploys, even if removeOnCleanup: false.
For example:
kind: Deploy
type: kubernetes
name: pvc-that-should-not-be-removed
removeOnCleanup: false
spec:
# ...Action-specific log levels
You can now set the log level of individual actions. For example:
kind: Run
type: exec
name: script-that-produces-too-much-output
logLevel: silent
---
kind: Test
type: container
name: test-that-needs-investigating
logLevel: sillyNote that Garden always logs actionn errors, even if the action specific log level is silent.
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
- Garden v0.14.17 for Alpine AMD64 (tar.gz)
- Garden v0.14.17 for Linux AMD64 (tar.gz)
- Garden v0.14.17 for Linux ARM64 (tar.gz)
- Garden v0.14.17 for MacOS AMD64 (tar.gz)
- Garden v0.14.17 for MacOS ARM64 (tar.gz)
- Garden v0.14.17 for Windows AMD64 (.zip)
Changelog
0.14.17 (2026-02-11)
Features
- experimental
garden plancommand anddeploy --plan(f086c3fba) - core: add removeOnCleanup flag to Deploys (#7967) (402051d16)
- core: action-specific log level override (#7965) (025cf5e41)
Improvements
Bug Fixes
- cloud: throw if user doesn't have access to org (#7953) (7a4207a3c)
- cloud: better error around invalid org IDs (5d450dae4)
- cloud: more fixes to project config rewriting (f801065d6)
- core: fixes to project config rewriting logic (440994221)
- k8s: clean up webhooks for bundled ingress (#7962) (3f77ac467)
- plugins: add retry to tool fetching (ad0682098)
- terraform: fix force-unlock plugin command (e95112913)
Fixed Issues
0.13.63
Garden 0.13.63 is out! 🎉
This is a maintenance release that includes bug fixes and updates versions of utility images.
Assets
Download the Garden binary for your platform from below or simply run garden self-update 0.13.63 if you already have it installed.
- Garden v0.13.63 for Alpine AMD64 (tar.gz)
- Garden v0.13.63 for Linux AMD64 (tar.gz)
- Garden v0.13.63 for Linux ARM64 (tar.gz)
- Garden v0.13.63 for MacOS AMD64 (tar.gz)
- Garden v0.13.63 for MacOS ARM64 (tar.gz)
- Garden v0.13.63 for Windows AMD64 (.zip)
Changelog
0.13.63 (2026-02-11)
Bug fixes and maintenance work
0.14.16
Garden 0.14.16 is out! 🎉
This is a maintenance release that includes more sophisticated failure detection during Helm deploys and a fix to the installation procedure for Garden's bundled ingress controller.
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
- Garden v0.14.16 for Alpine AMD64 (tar.gz)
- Garden v0.14.16 for Linux AMD64 (tar.gz)
- Garden v0.14.16 for Linux ARM64 (tar.gz)
- Garden v0.14.16 for MacOS AMD64 (tar.gz)
- Garden v0.14.16 for MacOS ARM64 (tar.gz)
- Garden v0.14.16 for Windows AMD64 (.zip)
Changelog
0.14.16 (2026-02-04)
Bug Fixes
0.14.15
Garden 0.14.15 is out! 🎉
Note
This is an immediate follow up to the Garden 0.14.14 release which was missing a feature that got accidentally left out. So we'll include the release notes from both releases below.
This release adds a few new features, outlined below. Enjoy!
Allow upserting Garden Cloud variables
The create remote-variables command can now update existing variables if they exist via the new --uspert CLI flag.
This is useful e.g. for Cloud users who want to rotate their secrets.
Load secrets from a file, or generate from script
This adds from: "file" and from: "command" to entries in the importVariables stanza in project configs.
This enables users to populate Garden secrets and variables from other sources than Garden Cloud.
Terraform and Pulumi: New option to specify path to local binary
We now allow passing an absolute path to the version field on the Terraform and Pulumi providers.
This tells Garden to use the binary found at that path (or throw an error if none is found).
This offers more control than just using the global one on PATH when none of the bundled versions are suitable.
Print link to logs in Garden Cloud when applicable
For Garden Cloud users we now print links to error logs when running Test and Run actions instead of dumping the entire output to the console (which can add a lot of noise).
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
- Garden v0.14.15 for Alpine AMD64 (tar.gz)
- Garden v0.14.15 for Linux AMD64 (tar.gz)
- Garden v0.14.15 for Linux ARM64 (tar.gz)
- Garden v0.14.15 for MacOS AMD64 (tar.gz)
- Garden v0.14.15 for MacOS ARM64 (tar.gz)
- Garden v0.14.15 for Windows AMD64 (.zip)
Changelog
Features
- cloud: allow upserting remote variables (3e9eb9126)
- cloud: print links to logs (3039a54fd)
- terraform: allow specifying binary path (5d4e35758)
- variables: support loading vars/secrets from files and exec (ed859d32c)
Bug Fixes
- aec: set last-deployed annotation when creating namespaces (985e325f8)
Fixed Issues
0.14.14
Garden 0.14.14 is out! 🎉
This release adds a few new features, outlined below. Enjoy!
Allow upserting Garden Cloud variables
The create remote-variables command can now update existing variables if they exist via the new --uspert CLI flag.
This is useful e.g. for Cloud users who want to rotate their secrets.
Load secrets from a file, or generate from script
This adds from: "file" and from: "command" to entries in the importVariables stanza in project configs.
This enables users to populate Garden secrets and variables from other sources than Garden Cloud.
Terraform and Pulumi: New option to specify path to local binary
We now allow passing an absolute path to the version field on the Terraform and Pulumi providers.
This tells Garden to use the binary found at that path (or throw an error if none is found).
This offers more control than just using the global one on PATH when none of the bundled versions are suitable.
Assets
Download the Garden binary for your platform from below or simply run garden self-update if you already have it installed.
- Garden v0.14.14 for Alpine AMD64 (tar.gz)
- Garden v0.14.14 for Linux AMD64 (tar.gz)
- Garden v0.14.14 for Linux ARM64 (tar.gz)
- Garden v0.14.14 for MacOS AMD64 (tar.gz)
- Garden v0.14.14 for MacOS ARM64 (tar.gz)
- Garden v0.14.14 for Windows AMD64 (.zip)
Changelog
Bug Fixes
- aec: set last-deployed annotation when creating namespaces (985e325f8)
Features
- cloud: allow upserting remote variables (3e9eb9126)
- terraform: allow specifying binary path (5d4e35758)
- variables: support loading vars/secrets from files and exec (ed859d32c)