Terragrunt version v1.0.8 was released on June 10, 2026, introducing significant performance optimizations for monorepos and improved observability through native OpenTelemetry environment variable support. This release addresses quadratic scaling in file tracking and fixes several critical parsing bugs in the AWS role assumption logic.
The full release notes and downloads are on the GitHub release page.
Performance Improvements and Monorepo Scaling ¶
The most impactful change for platform engineers managing large codebases is the optimization of the mark-many-as-read experiment. Previously, Terragrunt used a bookkeeping method for recording files marked as read during the parsing phase that scaled quadratically. Every new file path was checked against every path recorded so far. For units with large local module sources or deep monorepo structures, this cost was paid repeatedly for every unit and every command.
In this release, recording a path now takes constant time regardless of how many paths were previously recorded. This change is particularly beneficial for high scale environments where Terragrunt must parse hundreds of configuration files across a complex directory tree. The underlying list of read files remains compatible with existing find and list commands, ensuring that automation scripts relying on these reports continue to function without modification.
Improved AWS Role Assumption and Parsing ¶
A critical bug was fixed in how Terragrunt handles the assume_role attribute. In previous versions, commas inside nested list expressions were incorrectly treated as top level separators. This caused generated configurations to fail with parsing errors when attributes like transitive_tag_keys or policy_arns were used.
The following configuration would previously trigger a missing item separator error:
assume_role = {
role_arn = "arn:aws:iam::123456789012:role/test-role"
transitive_tag_keys = ["Project", "Projects"]
}
With the v1.0.8 release, Terragrunt correctly preserves commas inside nested list and object expressions during the parsing of assume_role blocks. This ensures that AWS infrastructure relying on complex role assumption policies can be managed reliably through Terragrunt.
Observability and Telemetry Enhancements ¶
Platform operators running Terragrunt in CI/CD pipelines often need to distinguish between different invocations in their observability backends. Previously, Terragrunt hardcoded the service.name attribute to terragrunt for every trace and metric, which ignored standard OpenTelemetry environment variables.
Terragrunt now honors the OTEL_SERVICE_NAME and OTEL_RESOURCE_ATTRIBUTES variables. This allows engineers to set unique service names or add custom resource attributes to every span and metric emitted by the tool. For example, setting OTEL_SERVICE_NAME to a specific environment name or pipeline ID makes it easier to filter and analyze traces in tools like Honeycomb or Jaeger. The default service name remains terragrunt if no variables are set, maintaining backward compatibility for existing collectors.
S3 Source and Documentation Updates ¶
This release expands support for AWS S3 source URLs by including virtual hosted style endpoints. Previously, URLs using the <bucket>.s3.<region>.amazonaws.com format were rejected as invalid. Terragrunt now accepts every standard AWS S3 endpoint form, including modern path style URLs. This change simplifies the migration of legacy S3 module sources to modern Terragrunt configurations.
Additionally, the documentation site now provides a clean Markdown version of every page. By appending .md to any documentation URL, users can retrieve the raw content without the surrounding HTML navigation. This feature is particularly useful for teams using AI tooling or LLMs to assist with infrastructure as code development, as it reduces token usage and provides cleaner context for code generation.
Upgrade Notes ¶
There are no breaking changes in this release, but users of the filter-flag experiment should note that it is now considered permanently enabled. Functionality that was previously gated behind this experiment, such as hcl validate --inputs with git filters, will now work by default.
Windows users who utilize the Nushell environment will also benefit from a fix that restores the console mode on exit. Previously, Terragrunt could leave the shell in a state where it was unable to read input correctly. This release ensures that the original console state is recorded at startup and restored when the process terminates.
Where to get it ¶
- Release page: https://github.com/gruntwork-io/terragrunt/releases/tag/v1.0.8
- Repository: https://github.com/gruntwork-io/terragrunt
- Version tag:
v1.0.8