🛠️ Breaking Changes
Undocumented behavior removed
We have removed several undocumented features that served as temporary stop-gaps to facilitate experimentation.
The following environment variables no longer affect Terragrunt behavior:
TERRAGRUNT_TEMP_QUOTE_NULLTMP_UNDOCUMENTED_REPORT_PADDERTMP_UNDOCUMENTED_REPORT_UNIT_COLORIZETMP_UNDOCUMENTED_COLORIZE_DEFAULT_SUMMARY_PADDING
✨ New Features
Depth control for dependency traversal
Graph-based expressions in the --filter flag now support limiting the depth of graph traversal they perform when discovering units. You can now append/prepend a number to the end of a graph expression ellipsis to control how deep in graph traversal Terragrunt will look for dependents/dependencies.
e.g.
# Find 'service' and only its direct dependencies (1 level deep)
terragrunt find --filter 'service...1'
# Find 'vpc' and only components that directly depend on it (1 level)
terragrunt find --filter '1...vpc'
# Find 'db' with 2 levels of dependencies and 1 level of dependents
terragrunt find --filter '1...db...2'This should result in significant performance and usability improvements for users with large dependency graphs.
Special thanks to @sofianedjerbi for contributing this feature!
🧪 Experiments Updated
IaC Engines Updated to use v0.1.0 of terragrunt-engine-go
The iac-engine experiment has been updated to use v0.1.0 of the terragrunt-engine-go library.
Given that this is still experimental functionality, no effort has been made to maintain backwards compatibility with existing engines. If you are currently using the OpenTofu engine, you will need to upgrade to v0.1.0 of the engine. The Terraform engine will be updated in the near future.
This update pulls in changes to the protobuf schema used in communication between Terragrunt and IaC engines to give engines the ability to log messages in Terragrunt and reduces the overall size of messages passed to Terragrunt for stdout/stderr messages.
⚙️ Process Updates
Curl to Bash script available
In addition to all the other installation mechanisms available to install Terragrunt, a convenient curl to bash script has been added to minimize the friction in installing and getting started with Terragrunt, and removing any dependency on third party tools if you don’t want to use them.
curl -sL https://terragrunt.gruntwork.io/install | bashThe installation can be customized, with full customization options available via the --help flag.
curl -sL https://terragrunt.gruntwork.io/install | bash -s -- --helpIn addition to providing this script, the ASDF plugin for Terragrunthas been updated to automatically perform signature verification on an opt-out basis for any version of Terragrunt equal or newer to v0.98.0. The Terragrunt entry in the Aqua registryhas been updated to do the same, meaning mise users will automatically benefit from this as well.
If you don’t want to use the curl to bash script, or any of the other distribution methods available, the instructions for performing signature verification manually have been updated in the installation documentation as well.
📖 Documentation Updates
OpenTofu/Terraform compatibility matrix now available as API
In addition to providing a compatibility matrix in the Supported Versions documentation, compatibility verification is also available via an API endpoint here:
https://terragrunt.gruntwork.io/api/v1/compatibility
See the compatibility API documentation for more details, including availability of query string parameters for filtering responses.
🐛 Bug Fixes
Exit Codes for run --all more consistent
A bug in the logic for handling exit codes when any one unit failed in a run resulted in 0 exit codes being returned despite some failures in units. This bug has been fixed.
Automatic retry for provider queries
To address intermittent errors in queries to the OpenTofu/Terraform provider registries, the list of error messages that warrant an automatic retry has been extended with a match for timeouts from provider registries.
What's Changed
- feat(filter): add depth control for dependency traversal by @sofianedjerbi in #5268
- feat: Using updated
v0.1.0version ofterragrunt-engine-goby @yhakbar in #5381 - fix: Update error messages to deduplicate by @Resonance1584 in #5375
- fix: Addressing empty mark as read by @yhakbar in #5387
- fix: Fixing exit codes for
run --allby @yhakbar in #5385 - fix: Adding auto-retry for provider queries by @yhakbar in #5395
- process: install script for Terragrunt by @denis256 in #5364
- docs: compatibility API by @denis256 in #5383
- docs: Updates to LP by @karlcarstensen in #5391
- chore: Upgrade
golangci-linttov2.8.0by @yhakbar in #5365 - chore: Removing
runfnpackage by @yhakbar in #5359 - chore: Removing undocumented behavior by @yhakbar in #5396
New Contributors
- @sofianedjerbi made their first contribution in #5268
- @blacksmith-sh[bot] made their first contribution in #5388
Full Changelog: v0.98.0...v0.99.0-rc2026012301