Terragrunt v1.0.0 promises stability and standardizes runtime behavior

A stability pledge at last
Terragrunt has reached v1.0.0 and, it has been reported that the project will no longer introduce breaking changes in minor releases — major bumps only from here on out. That’s the kind of promise teams have been asking for. Want guarantees? The maintainers point to a dedicated “Terragrunt 1.0 Guarantees” page in the docs for the full list. Relief for ops teams. A sigh of relief, even.
Small changes, big impact
This release tightens up runtime behavior. Terragrunt now creates a .terragrunt-cache directory for every run, making execution more predictable and simplifying troubleshooting; if you rely on hidden files being copied into the cache, use the terraform block’s include_in_copy attribute. The find and list commands will discover stacks in hidden directories by default (hello, .terragrunt-stack), and there’s now an opt-in --no-hidden flag — the old --hidden flag is deprecated and effectively a no-op. Also: render --format=json no longer triggers dependent discovery by default; HCL/JSON rendering is leaner now, and the maintainers suggest using find and graph filters when you actually need dependency traversal.
Tooling and compatibility notes
Tooling saw a notable change: Terragrunt has removed the bundled tflint binary after tflint adopted a BUSL license, and the included version had to be frozen; you’ll need tflint installed locally if you call it via a before_hook, though Terragrunt will still help by auto-running tflint init. Paths are tidier too — HCL functions now return OS-native file paths (Windows gets backslashes), and the CLI will warn and block cases where both terragrunt.hcl and terragrunt.stack.hcl coexist in the same directory. Long story short: fewer surprises, a couple of forced moves, and cleaner behavior. Read the release docs before you upgrade — better safe than sorry.
Sources: github.com/gruntwork-io, Lobsters
Comments