github garden-io/garden 0.12.20

latest releases: edge-bonsai, 0.13.43, 0.13.42...
3 years ago

Garden 0.12.20 is out! 🎉

This release includes several improvements to performance and stability.

Garden now computes versions in a more granular fashion, which results in better caching in many circumstances. See the section below for more details.

Additionally, we're introducing some nice additions to template strings: Template functions, and the this context.

Finally, many thanks to everyone who's been providing feedback and suggestions!

More granular version hashes

This release addresses a long-standing issue where changes to runtime configuration (e.g. services, test and tasks) would also impact build versions of container images.

We now tackle versioning more specifically for each entity within any given module. Module types can control which parts of a configuration should affect the build version, which is applied in different ways by different module type handlers.

This change does mean that service, task and test versions are always different from module (i.e. build) versions. This is because the versions are now computed with the service/test/task configuration hashed on top of the module configuration, even if there is no natural distinction between the build version and a runtime version for that particular module.

This generally has no practical downsides except that users might be expecting versions to match, which they would previously sometimes do, e.g. a container service would have the same version as its module—which is in fact the problem we're solving here.

Template functions

This release adds a collection of helper functions to our template syntax.

Initially we've added a handful of specific helpers that users have requested, but we'll be happy to add more since that generally is
very simple to do now that the basic structure and syntax support is in place.

See the added docs for the usage instructions and the helpers available in the first iteration.

this context for template strings

This adds ${this.name}, ${this.buildPath} and ${this.path} to the template context when resolving modules.

Changelog

Features

  • config: add this context when resolving modules (4b242404)
  • enterprise: add requests to workflows (d33194c0)
  • enterprise: add utility commands to manage enterprise resources (9ac421ce)
  • k8s: apply container service annotations to Pod templates as well (f5abdd48)
  • template: add template helper functions (c08afe7b)

Improvements

  • k8s: update k8s client library (2ab568e6)
  • cli: allow garden delete services with no arguments (6a728e51)
  • core: more granular version hashes (d6f13737)
  • enterprise: better error message on login 401 errors (b84239b3)
  • k8s: cache DNS lookups for cluster hostnames (667646bd)

Bug Fixes

  • core: default back to rsync build staging on Windows (d96e490e)
  • core: potential edge-case issue with versions and generateFiles (7a74588a)
  • core: fix logout when authenticated against different GE instance (ace99fc0)
  • enterprise: fix api response shape (8e0ac895)
  • k8s: bad error message when failing to get build status (d8481b23)

Don't miss a new garden release

NewReleases is sending notifications on new releases.