Skip to content

Conversation

@kjoremiljo-renovate
Copy link
Contributor

@kjoremiljo-renovate kjoremiljo-renovate bot commented Jan 1, 2026

This PR contains the following updates:

Package Update Change Pending
gruntwork-io/boilerplate minor v0.10.1 -> v0.11.1
gruntwork-io/terragrunt minor v0.96.1 -> v0.99.1
hashicorp/terraform patch 1.14.3 -> 1.14.4 1.14.5
mikefarah/yq minor v4.50.1 -> v4.52.2
oslokommune/ok minor v5.15.3 -> v5.16.0

Release Notes

gruntwork-io/boilerplate (gruntwork-io/boilerplate)

v0.11.1

Compare Source

What's Changed

Full Changelog: gruntwork-io/boilerplate@v0.11.0...v0.11.1

v0.11.0

Compare Source

❌ No Release Assets

Use release v0.11.1 instead which fixes the deploy pipeline to create release assets.

🛠️ Breaking Changes

ProcessTemplate and ProcessTemplateWithContext now take variables.Dependency as a pointer.

What's Changed

New Contributors

Full Changelog: gruntwork-io/boilerplate@v0.10.1...v0.11.0

gruntwork-io/terragrunt (gruntwork-io/terragrunt)

v0.99.1

Compare Source

🐛 Bug Fixes

Pass through null inputs

Fixes a bug where null inputs weren't being passed through correctly to OpenTofu/Terraform.

What's Changed

Full Changelog: gruntwork-io/terragrunt@v0.99.0...v0.99.1

v0.99.0

Compare Source

🛠️ 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_NULL
  • TMP_UNDOCUMENTED_REPORT_PADDER
  • TMP_UNDOCUMENTED_REPORT_UNIT_COLORIZE
  • TMP_UNDOCUMENTED_COLORIZE_DEFAULT_SUMMARY_PADDING
Internal tflint deprecated

Terragrunt has been shipping with a version of tflint compiled into the binary to allow for more convenient usage without installing tflint directly. However due to the adoption of a BUSL license in tflint, the version included in Terragrunt was frozen.

We have now deprecated use of the internal tflint hook, and will be fully removing it in the future. We still do work to integrate with tflint; Including automatically running tflint init and passing through variables. For now using the internal version will only emit a warning, and you can opt in to the future behavior today in one of two ways:

  • The legacy-internal-tflint strict control (recommended)

  • Adding the --terragrunt-external-tflint flag to your hook usage (this also works in previous versions of Terragrunt); this flag is stripped prior to running the external tflint. Example:

    terraform {
        before_hook "tflint" {
        commands = ["apply", "plan"]
        execute = ["tflint", "--terragrunt-external-tflint", "--minimum-failure-severity=error", "--config", "custom.tflint.hcl"]
      }
    }

✨ 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 delivers major performance gains for large dependency graphs.

Special thanks to @​sofianedjerbi for contributing this feature!

Run report schema extended

The run report has been extended to include the Ref, Cmd and Args fields when relevant to a run.

  • The Ref field will be populated for runs performed in Git worktrees due to their discovery from a Git-based expression in a filter.
  • The Cmd field will contain the sub command of OpenTofu/Terraform executed in a run (e.g. plan , apply) and the Args field will contain the arguments passed to that subcommand (e.g. -auto-approve, -destroy). These can differ between runs when using Git-based expressions, as additions or modifications of units between Git references can result in a plan or apply, whereas removal of units can result in plan -destroy or apply -destroy .

🧪 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 | bash

The installation can be customized, with full customization options available via the --help flag.

curl -sL https://terragrunt.gruntwork.io/install | bash -s -- --help

In addition to providing this script, the ASDF plugin for Terragrunt has 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 registry has 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.

JSON schema for --auth-provider-cmd published

A JSON schema has been published for the schema expected for the stdout of commands invoked using --auth-provider-cmd. You can access the schema here.

You can use tools like this JSON schema validator or other simple utilities to programmatically validate that the stdout of JSON responses in your commands invoked by --auth-provider-cmd obey the expected schema.

🐛 Bug Fixes

Exit Codes for run --all more consistent

Fixed an issue where run --all incorrectly returned a 0 exit code when individual units failed.

Automatic retry for provider queries

To address intermittent errors in queries to the OpenTofu/Terraform provider registries, we expanded the automatic retry logic to include timeouts from provider registries.

What's Changed

New Contributors

Full Changelog: gruntwork-io/terragrunt@v0.98.0...v0.99.0

v0.98.0

Compare Source

✨ New Features

The --filter flag now implies --all

When using the --filter flag, it is now optional to also supply --all. Terragrunt will automatically set the --all flag when you use the --filter flag.

🐛 Bug Fixes

Plan files are now correctly passed as CLI arguments for destroy operations

A bug in the logic used for injecting plan files as arguments to the apply -destroy command resulted in the plan file argument being injected prior to the -auto-approve flag, which is disallowed in OpenTofu/Terraform. That bug has been fixed.

GCS bootstrap authentication fixed

A bug in the authentication logic for GCS backends prevented successful bootstrapping of backends when using the --auth-provider-cmd flag. That bug has been fixed.

Git-based and Graph-based combinations fixed

A bug in the discovery logic for Git worktrees prevented using a combination of Git-based and Graph-based filter expressions in the same filter from working correctly.

e.g.

 terragrunt find --filter '...^[HEAD^...HEAD]...'

That bug has been fixed.

Proper exit codes returned from -detailed-exitcode

A bug in the logic for handling retries combined with the OpenTofu/Terraform plan -detailed-exitcode and the Terragrunt --all flag resulted in the wrong exit code being returned when a failed run succeeded on a subsequent retry with a status code related to drift (exit code 2).

That logic has been corrected, and properly follows the rules outlined under the --all flag:

When not using -detailed-exitcode:

  • Terragrunt will return the highest exit code of all runs performed.

When using -detailed-exitcode:

  • If any run has an exit code that is 1, or greater than 2, run --all will return the highest exit code.
  • Otherwise, if any run returns an exit code of 2, run --all will return an exit code of 2.
  • Otherwise, run --all will return an exit code of 0.
OpenTelemetry traces in console mode fixed

A bug in OpenTelemetry trace exporting prevented traces from being exported when in console mode. That bug has been fixed.

Negation logic fixed

A bug in how negation logic was handled in filter expressions prevented successful exclusion of stacks from generation and over excluded units in runs when users only supplied negative filters.

⚙️ Process Improvements

GPG Signing

Release artifacts are now signed using both GPG and Cosign.

To start performing signature validation on assets, in addition to the asset you’re downloading from the GitHub releases page, you’ll want to download some of the following files:

VERSION="v0.XX.X"  # Replace with actual version of Terragrunt you are installing
curl -LO "https://github.com/gruntwork-io/terragrunt/releases/download/${VERSION}/SHA256SUMS"

# For GPG:
curl -LO "https://github.com/gruntwork-io/terragrunt/releases/download/${VERSION}/SHA256SUMS.gpgsig"

# For Cosign:
curl -LO "https://github.com/gruntwork-io/terragrunt/releases/download/${VERSION}/SHA256SUMS.sig"
curl -LO "https://github.com/gruntwork-io/terragrunt/releases/download/${VERSION}/SHA256SUMS.pem"

To verify with GPG:

curl -s https://gruntwork.io/.well-known/pgp-key.txt | gpg --import

gpg --verify SHA256SUMS.gpgsig SHA256SUMS

sha256sum -c SHA256SUMS --ignore-missing

To verify with Cosign:

cosign verify-blob SHA256SUMS \
  --signature SHA256SUMS.sig \
  --certificate SHA256SUMS.pem \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity-regexp "github.com/gruntwork-io/terragrunt"

sha256sum -c SHA256SUMS --ignore-missing

Terragrunt installation documentation will be updated soon to recommend this on every installation, the Gruntwork maintained asdf plugin will be updated to do this automatically, and all Gruntwork recommended mechanisms for installing Terragrunt will support this going forward.

Upgrade to Go 1.25.5

The Golang toolchain used to build Terragrunt has been upgraded to v1.25.5.

Package reorganization

All top-level Golang packages in the Terragrunt project have been migrated to either internal or pkg. The distinction between the two indicates maintainer expectations as to whether either are being actively being consumed as libraries by third parties (with internal being impossible to import without vendoring in go modules).

Note that this does not indicate any backwards compatibility guarantee for usage of the Terragrunt as a library. It will remain unstable, and can change at any time.

What's Changed

Full Changelog: gruntwork-io/terragrunt@v0.97.2...v0.98

v0.97.2

Compare Source

🏎️ Performance Improvements

Partial parse used for get_working_dir()

To assess where Terragrunt is going to run OpenTofu, it needs partially parsed information from the relevant terragrunt.hcl file of the unit running the HCL get_working_dir() function. The function was performing a full parse of the terragrunt.hcl file, which can be slow for users with large HCL configurations.

Given that the parse only requires access to the value of source in the terraform block, a partial parse is now performed by the function, only looking at the contents of the terraform block, improving performance significantly.

🐛 Bug Fixes

False positive parsing errors suppressed

When parsing an include that defined dependencies, the HCL parser used by Terragrunt would emit spurious errors that are internally ignored. Those messages are now suppressed.

Signal propagation for interrupts fixed

A bug in how Terragrunt forwarded signals to processes it spawned (like running tofu) resulted in underlying processes receiving SIGKILL signals rather than the original signal (e.g. SIGINT) sent to the Terragrunt process. That has been fixed.

🧹 Chores

Avoiding contextcheck suppression

While not changing much functionally in Terragrunt, this release did involve quite a lot of changes to Terragrunt internals. The majority of these changes related to better propagation of the Golang [context](https://pkg.go.dev/context) object to better obey Golang best practices. These issues were reported by the contextcheck linter in the codebase, but the findings were suppressed due to the scope of work required to address them.

These changes should make it so that context is propagated correctly more reliably in the codebase, increasing the usefulness of things like OpenTelemetry tracing and reduced resource usage.

Note that some public function signatures have changed in the Terragrunt codebase, which may be a breaking change to users consuming Terragrunt as a library. Given that we do not offer any stability guarantees for usage of Terragrunt as a library, these changes are still to be included in a patch release.

What's Changed

Full Changelog: gruntwork-io/terragrunt@v0.97.1...v0.97.2

v0.97.1

Compare Source

✨ New Features

All HCL functions instrumented with OpenTelemetry

All Terragrunt HCL functions now emit OpenTelemetry spans when they run, making it easier to understand HCL function usage and performance.

HCL parsing telemetry improved

Additional fidelity has been added to traces emitted during parsing to give insight as to why configuration parsing is being performed, and how.

🐛 Bug Fixes

plan -destroy called correctly for --filter-affected

A bug in the logic for --filter-affected resulted in removed units getting planned/applied instead of being destroyed when users supplied --filter-allow-destroy. That bug has been fixed.

Nested spans in track parents appropriately even when the TRACEPARENT environment variable is used.

A bug in the logic for propagating TRACEPARENT as the ultimate parent of traces started in Terragrunt prevented child traces from properly tracking parent spans. That bug has been fixed.

Reports on runs in worktrees now use relative directories to worktree root

Instead of displaying runs of units in Git worktrees during Git-based filter expression runs with the absolute path of their directories in a temporary directory, they now display with the path to the unit relative to the root of the worktree.

Unnecessary relationship discovery prevented

Discovery of relationships between units has been made opt-in in the discovery process. This will result in no changes to usage of commands like run --all, but will significantly improve the performance of commands like list and stack generate.

What's Changed

Full Changelog: gruntwork-io/terragrunt@v0.97.0...v0.97.1

v0.97.0

Compare Source

⚒️ Breaking Changes

The --queue-strict-include flag is deprecated

Terragrunt no longer automatically includes dependencies of included units. As such the --queue-strict-include flag is no longer useful in the Terragrunt CLI.

The flag has been deprecated, and no longer does anything. This flag will not be removed before 2.0.

Run report no longer reports --queue-exclude-dir as a reason for exclusion

Run reports no longer report on units excluded from runs as a consequence of the --queue-exclude-dir flag.

The --units-that-include flag is deprecated

The --units-that-include flag is now an alias for the reading= attribute filter, just like the --queue-include-units-reading flag.

Given that the two flags no longer differ in functionality, and that the functionality of the --units-that-include is no longer strictly including units that are included, the flag has been deprecated.

The double-star strict control is complete

The globbing behavior of Terragrunt in CLI flags has been updated to match all paths when ending with a trailing ** .

🧪 Experiments Completed

The filter-flag experiment is completed

The filter-flag experiment is completed, and the --filter flag is now generally available.

You can use filter expressions as a single unified API for controlling the Run Queue, replacing the need to use the following CLI flags:

Legacy —queue flag Equivalent —filter expression
—-queue-include-dir=path —-filter='{./path}'
—-queue-exclude-dir=path —-filter='!{./path}'
--queue-include-units-reading=root.hcl --filter='reading=root.hcl'
--units-that-include=root.hcl --filter='reading=root.hcl'
--queue-include-external-dependencies --filter='{./**}...'
--queue-excludes-file=excludes.txt --filters-file='filters.txt' *
--graph --filter='...{.}'
  • Note that the file used for the --queue-excludes-file does not directly translate to the kind of file you can use for a --filters-file. To learn more, see the documentation.

The table above also explains the aliasing that has been done internally to replace queue flags with their filter equivalents. The aliasing for these queue flags is present purely for backwards compatibility purposes, but they are not going to emit deprecation warnings, and will not be removed before the Terragrunt 1.0 release.

You are heavily encouraged to adopt the new --filter flag for your infrastructure targeting needs as soon as feasible in your workflows. It will offer a significantly more flexible and powerful experience.

To learn more see the Filters feature documentation.

🐛 Bug Fixes

The get_original_terragrunt_dir() function is now supported in terragrunt.stack.hcl files

When authoring explicit stacks, using the get_original_terragrunt_dir() HCL function in terragrunt.stack.hcl files will now return the directory where the terragrunt.stack.hcl file lives, even when the configuration is read from another stack/unit using read_terragrunt_config().

Using Git-based expressions with the --out-dir flag is fixed

When using Git-based expressions using the --filter flag, the relative path of units relative to their respective Git worktree roots is used for determining where the plan file will be saved, rather than a path in the relevant Git worktree.

Color for output fetching is suppressed more reliably

Terragrunt will use tofu output -json / terraform output -json more reliably when users expect a lack of colors (like when colors are suppressed for Terragrunt).

What's Changed

New Contributors

Full Changelog: https://github.com/gruntwork-io/terragrunt/compare/v0.96.1..v.0.97.0

hashicorp/terraform (hashicorp/terraform)

v1.14.4

Compare Source

1.14.4 (January 28, 2026)

BUG FIXES:

  • backend: Fix nil pointer dereference crash during terraform init when the destination backend returns an error (#​38027)

  • Fixes an issue where any warning diagnostics generated during terraform query execution failed to render in the cloud backend session (#​38040)

  • actions in modules without instances failed the plan graph (#​38089)

mikefarah/yq (mikefarah/yq)

v4.52.2

Compare Source

v4.52.1: - TOML roundtrip and more!

Compare Source

  • TOML encoder support - you can now roundtrip! #​1364
    • Parent now supports negative indices, and added a 'root' command for referencing the top level document

    • Fixed scalar encoding for HCL

    • Add --yaml-compact-seq-indent / -c flag for compact sequence indentation (#​2583) Thanks @​jfenal

    • Add symlink check to file rename util (#​2576) Thanks @​Elias-elastisys

    • Powershell fixed default command used for __completeNoDesc alias (#​2568) Thanks @​teejaded

    • Unwrap scalars in shell output mode. (#​2548) Thanks @​flintwinters

    • Added K8S KYAML output format support (#​2560) Thanks @​robbat2

    • Bumped dependencies

    • Special shout out to @​ccoVeille for reviewing my PRs!

Thanks to everyone that contributed ❤️

oslokommune/ok (oslokommune/ok)

v5.16.0

Compare Source

Features
Bug Fixes
  • pk: avoid dropping duplicate templates in picker (3899dea)

Configuration

📅 Schedule: Branch creation - Monday through Friday ( * * * * 1-5 ) in timezone Europe/Oslo, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box


ℹ️ Renovate runs on an hourly schedule, but you can manually trigger an immediate run by starting 👉 this workflow 👈

@kjoremiljo-renovate kjoremiljo-renovate bot requested a review from a team as a code owner January 1, 2026 12:20
@kjoremiljo-renovate kjoremiljo-renovate bot force-pushed the ok-renovate/setup-ok-tool-versions branch from aaf46c4 to 8a1f7e8 Compare January 8, 2026 16:16
@kjoremiljo-renovate kjoremiljo-renovate bot changed the title chore(deps): update dependency oslokommune/ok to v5.16.0 chore(deps): update setup-ok tool versions Jan 8, 2026
@kjoremiljo-renovate kjoremiljo-renovate bot force-pushed the ok-renovate/setup-ok-tool-versions branch 5 times, most recently from 5ddb2d1 to 63286e3 Compare January 16, 2026 08:18
@kjoremiljo-renovate kjoremiljo-renovate bot force-pushed the ok-renovate/setup-ok-tool-versions branch 6 times, most recently from 39c5709 to 49c409d Compare February 2, 2026 23:17
@kjoremiljo-renovate kjoremiljo-renovate bot force-pushed the ok-renovate/setup-ok-tool-versions branch 3 times, most recently from df0b80d to 187b7ae Compare February 5, 2026 18:30
@kjoremiljo-renovate kjoremiljo-renovate bot force-pushed the ok-renovate/setup-ok-tool-versions branch from 187b7ae to 31f2dcc Compare February 9, 2026 00:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants