Releases: gruntwork-io/terragrunt
v0.77.22
🧪 Experiments Completed
The cli-redesign
experiment is now complete
The cli-redesign experiment is now complete.
If you were previously using the flag --experiment cli-redesign
to opt in to experimental functionality, you no longer have to do so. Note that if you are, you will simply get a warning that it is no longer necessary.
What's Changed
- feat: Adding base tests by @yhakbar in #4176
- chore: Complete CLI Redesign experiment by @yhakbar in #4189
Full Changelog: v0.77.21...v0.77.22
v0.77.21
✨ New Features
Introduction of hcl
commands
As part of the CLI Redesign experiment, the hcl
commands have been introduced.
The hcl
commands allow users to directly interact with HCL content independent of the underlying functionality they support.
The functionality of the hcl
commands replace existing functionality that is soon to be deprecated:
hclfmt
-->hcl fmt
hclvalidate
-->hcl validate
validate-inputs
-->hcl validate --inputs
validate-inputs --strict-validate
-->hcl validate --inputs --strict
What's Changed
- feat:
hcl
commands docs by @levkohimins in #4180 - feat: add symbol link experiemnt in discovery process by @denis256 in #4177
- feat: Implementation of
hcl
commands by @levkohimins in #4169 - fix: Adding redirect from /docs/reference/experiment-mode to /docs/reference/experiments by @yhakbar in #4178
- fix: Fix spelling by @hpe-noinarisak in #4179
- fix: Update status of cli-redesign experiment by @yhakbar in #4188
- build(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0 by @dependabot in #4160
New Contributors
- @hpe-noinarisak made their first contribution in #4179
Full Changelog: v0.77.20...v0.77.21
v0.77.20
What's Changed
- build: Added
build-no-proxy.yml
workflow by @yhakbar in #4171 - build: Added
lint.yml
andstrict-lint.yml
workflows for GitHub Actions by @yhakbar in #4172 - build: Added codespell workflow by @yhakbar in #4173
- build: Added markdownlint v2 to GitHub Actions workflows by @yhakbar in #4175
- docs: Improved getting started guide by @yhakbar in #4174
- build(deps): bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0 by @dependabot in #4161
- build(deps): bump golang.org/x/term from 0.30.0 to 0.31.0 by @dependabot in #4159
- build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.78.2 to 1.79.2 by @dependabot in #4158
Full Changelog: v0.77.19...v0.77.20
v0.77.19
v0.77.18
✨ New Features
Support for HCL formatting with the render
command
As part of the CLI Redesign experiment, the render
command now supports HCL formatting for rendered configurations, which is the default output format.
Using the render
command with HCL formatting allows users to get a quick, minimal evaluation of Terragrunt unit configurations with as much pre-processing done as possible.
For example, the following terragrunt.hcl
file:
# terragrunt.hcl
locals {
aws_region = "us-east-1"
}
inputs = {
aws_region = local.aws_region
}
Renders to the following HCL:
$ terragrunt render
locals {
aws_region = "us-east-1"
}
inputs = {
aws_region = "us-east-1"
}
Using the render
command with HCL formatting offers a way to resolve complex HCL function evaluation, include merging or string interpolation, etc. to achieve equivalent Terragrunt HCL configurations that are easier to reason about.
What's Changed
Full Changelog: v0.77.17...v0.77.18
v0.77.17
✨ New Features
Introduction of the render
command
As part of the CLI Redesign experiment, the render
command has been introduced.
The render
command allows users to easily render Terragrunt unit configurations with reduced complexity, making it easier to understand configurations at a glance.
For example, the following terragrunt.hcl
file:
# terragrunt.hcl
locals {
aws_region = "us-east-1"
}
inputs = {
aws_region = local.aws_region
}
Renders to the following JSON:
$ terragrunt render --format json
{
"locals": { "aws_region": "us-east-1" },
"inputs": { "aws_region": "us-east-1" }
// NOTE: other attributes are omitted for brevity
}
The introduction of the render
command is part of the eventual deprecation of the existing render-json
command, which will be deprecated by the end of the CLI Redesign. The render
command is a higher level command, that offers the ability to write to stdout, in addition to writing to files, and will support HCL configurations in addition to JSON (coming soon).
To learn more about the render
command, read the official documentation here.
What's Changed
- feat: Adding
render
command by @yhakbar in #4145 - feat: Adding docs for
backend migrate
by @yhakbar in #4140 - build(deps): bump ruby/setup-ruby from 1.229.0 to 1.230.0 by @dependabot in #4162
Full Changelog: v0.77.16...v0.77.17
v0.77.16
✨ New Features
Introduction of the backend migrate
command
As part of the CLI Redesign experiment, the backend migrate
command has been introduced.
The backend migrate
command allows you to simply migrate state between different units (or renames of units) without manually running OpenTofu/Terraform state migration commands.
To learn more about the backend migrate
command, read the official docs.
What's Changed
- feat: Added support for migrating state between different backends by @levkohimins in #4154
- feat: Enhanced error explainer to detect and report issues related to
stack
values by @denis256 in #4163 - fix: Improved the deprecation message for experimental command flags by @levkohimins in #4146
- fix: Prevent
TF_CLI_CONFIG_FILE
environment variable from being overwritten, except duringinit
andproviders
commands by @levkohimins in #4155
Full Changelog: v0.77.15...v0.77.16
v0.77.15
✨ New Features
Introduction of the dag graph
command
As part of the CLI Redesign experiment, the dag graph
command has been introduced.
What's Changed
- docs: Added migration guide for adopting Terragrunt Stacks by @yhakbar in #4152
- feat: Added dag graph command by @denis256 in #4143
Full Changelog: v0.77.14...v0.77.15
v0.77.14
✨ New Features
Support for --exclude
and --queue-construct-as
in find
and list
The find
and list
commands have been updated to leverage new capabilities involving greater understanding of the Terragrunt run queue.
Users can now leverage the --queue-construct-as
(or just --as
) flag in the find
and list
commands to discover configurations as if a particular Terragrunt command was being run (e.g. plan
, destroy
).
For example:
$ terragrunt find --queue-construct-as=plan
stacks/live/dev
stacks/live/prod
units/live/dev/vpc
units/live/prod/vpc
units/live/dev/db
units/live/prod/db
units/live/dev/ec2
units/live/prod/ec2
$ terragrunt find --as=destroy
stacks/live/dev
stacks/live/prod
units/live/dev/ec2
units/live/prod/ec2
units/live/dev/db
units/live/prod/db
units/live/dev/vpc
units/live/prod/vpc
The find
and list
commands will now construct the Terragrunt run queue as if a particular command was being run, potentially altering the position of elements in the run queue, based on their dependencies (dependencies before dependents for plans, applies, etc. and dependents before dependencies for destroys).
In addition, users can leverage the --exclude
flag on the find
command to get information on the exclude
block included in results. The exclude
block is also factored in to discovery results when the --queue-construct-as
flag is passed, allowing users to dry-run behavior of the exclude
block before performing any Terragrunt runs.
What's Changed
Full Changelog: v0.77.13...v0.77.14
v0.77.13
What's Changed
- build(deps): bump google.golang.org/grpc from 1.71.0 to 1.71.1 by @dependabot in #4132
- build(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 by @dependabot in #4133
- build(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 by @dependabot in #4131
- build(deps): bump github.com/getsops/sops/v3 from 3.9.4 to 3.10.1 by @dependabot in #4130
Full Changelog: v0.77.12...v0.77.13