github gruntwork-io/terragrunt v0.88.0

19 hours ago

🛠️ Breaking Changes

Default Command Forwarding Removed

Terragrunt no longer forwards unknown top‑level commands to OpenTofu by default.

Invoking an unknown command now fails with guidance to use the explicit run form.

This is the next step in the removal of deprecated features in Terragrunt on the road to Terragrunt 1.0, with more to follow. Read the CLI Redesign migration guide for guidance on adapting to future breaking changes.

For a full list of deprecated features that will be removed prior to the release of Terragrunt 1.0, see the removal schedule.

❌ Old Behavior (Deprecated)

terragrunt workspace ls
terragrunt graph

✅ New Behavior

terragrunt run -- workspace ls
terragrunt run -- graph

🔧 Migration Guide

Keep using shortcuts for common commands:

terragrunt plan
terragrunt apply

Replace usage of any OpenTofu/Terraform command that isn’t a supported shortcut with explicit usage of the run command:

terragrunt workspace ls => terragrunt run -- workspace ls
terragrunt graph => terragrunt run -- graph

When mixing Terragrunt and OpenTofu flags, separate them with --:

terragrunt run -- apply -auto-approve
terragrunt run -- output -json
terragrunt run --all -- plan -var foo=bar

Command-specific flags must be used after their commands

As part of the changes to remove the deprecated behavior of forwarding unknown commands to OpenTofu by default, users can no longer treat flags as global flags unless they are in-fact global flags.

For example, the following will still work:

terragrunt --log-level debug plan
terragrunt --no-color plan

But the following will no longer be supported:

terragrunt --provider-cache run --all plan

Instead, you must supply flags after the commands they are used by:

terragrunt run --all --provider-cache plan

Flag Scope Changes (backend + feature flags)

Backend migration and feature-related flags are now command-scoped and should appear after the relevant subcommand.

These flags are accepted on run, backend, scaffold, find, and list

Affected flags:

  • backend-bootstrap
  • backend-require-bootstrap
  • disable-bucket-update
  • feature key=value

❌ Old Behavior (Deprecated)

Command-specific flags could be set anywhere in the arguments for a command:

terragrunt --backend-bootstrap backend delete --all
terragrunt --feature stage=true plan

✅ New Behavior

Place flags after the respective command they control:

terragrunt backend bootstrap --backend-bootstrap
terragrunt plan --feature stage=true
terragrunt find --feature stage=true

🔧 Migration Guide

Move these flags to follow the subcommand they apply to

terragrunt --feature stage=true plan => terragrunt plan --feature stage=true

What's Changed

Full Changelog: v0.87.7...v0.88.0

Don't miss a new terragrunt release

NewReleases is sending notifications on new releases.