Changelog

Keep up with all the latest features across Gruntwork products.

May 23, 2025

    Improvements to Pipelines Change Detection

  • We're excited to introduce significant improvements to how Gruntwork Pipelines detects and processes changes in your infrastructure code. These enhancements make Pipelines more predictable and responsive to the full range of modifications in your codebase.

    We've added several opt-in feature flags that you can enable by setting environment variables in your Pipelines configuration. You can enable these independently, or set PIPELINES_FEATURE_EXPERIMENT_ALL to true to enable the full set of functionality described below.

    We expect to enable these behaviors by default in a future major version of Pipelines. Check out our feature flags documentation for more details on how to implement these improvements in your workflow in the meantime.

    Improved Unit File Change Detection

    Feature Flag: PIPELINES_FEATURE_EXPERIMENT_COLOCATED_FILE_UNIT_CHANGE_DETECTION

    This flag enhances how Pipelines detects changes within Terragrunt Units (any non-root directory of the repo that contains a terragrunt.hcl file) to better align with our semantic notion of a unit.

    When enabled, any file modified within a Terragrunt Unit will trigger a ModuleChanged event for that unit, causing Pipelines to run a Terragrunt Plan/Apply operation for the affected directory. This includes files like terragrunt.lock.hcl and other support files within the unit. Previously, these would trigger a FileChanged event, which disregarded the semantic connection to the unit being affected.

    For example, consider a unit containing these files:

    tags.yml dir1/terragrunt.hcl dir1/myvars.json

    With this new flag enabled:

    • A change to dir1/myvars.json is detected as a ModuleChanged event for dir1, triggering a Terragrunt Plan/Apply for this directory.
    • A change to tags.yml is still detected as a FileChanged event, causing Pipelines to run Terragrunt with queue-include-units-reading for this file.

    Smarter Change Consolidation

    Feature Flag: PIPELINES_FEATURE_EXPERIMENT_AGGRESSIVE_CONSOLIDATION

    This flag improves how Pipelines consolidates and executes Terragrunt operations to improve dependency handling and minimize redundant change execution. When enabled, Pipelines will consolidate as many Terragrunt plan/apply changes as possible into a single run --all job. This reduces duplicated work when, for example, both FileChanged and EnvCommon events would trigger plans for the same unit.

    Minimizing Blast Radius

    Feature Flag: PIPELINES_FEATURE_EXPERIMENT_MINIMIZE_BLAST_RADIUS

    Safety is a core principle of Gruntwork Pipelines. In that spirit, we’re making improvements to ensure that the blast radius of your changes remain as localized as possible by default. With this flag enabled, Pipelines will execute Terragrunt run --all with the --queue-strict-include option, which helps reduce the blast radius of per-unit changes as dependencies will no longer run automatically when dependents are modified. This ensures that run --all behaviors are consistent with runs for individual units.

May 17, 2025

    Ignore changes to non-infra files and directories

  • Tired of triggering Pipelines on README updates? We've added a file exclusion mechanism to help you focus Pipelines on what matters. The new ignore list lets you exclude specific files and directories from change detection, such as documentation files, test fixtures, or any other non-infrastructure files that change frequently.

    Add the ignore_list key to the repository block of your Pipelines config.yml. This supports a comma-separated list of patterns with wildcards, allowing you to exclude files like documentation (**.md), specific files in any directory (README.md,**/README.md), or entire directories and their contents (docs/**). Check out our docs for the complete syntax and additional examples.

April 30, 2025

    Pipelines now supports GitLab Self-Hosted

  • Good news for GitLab users! Gruntwork Pipelines now supports GitLab Enterprise Self Hosted instances, in addition to our existing GitHub Cloud support.

    This means you can now get all the great features of Pipelines right within your own self-hosted GitLab environment. Going self-hosted gives you more flexibility and control over your runtime, security, and compliance.

    It's ready to go right now, check out the docs for more info on how to get started!

    Stay tuned as GitHub Enterprise / Self Hosted support is also on the way.

April 16, 2025

    Gruntwork Pipelines now supports Terragrunt Stacks

  • Gruntwork Pipelines now natively supports Terragrunt Stacks. Stacks help you manage your infrastructure at scale by logically grouping collections of OpenTofu/Terraform units into versioned entities, keeping your IaC dry and your blast radius small. For a detailed overview, see our announcement blog post.

    Now when you push updates involving terragrunt.stack.hcl files in your pull/merge requests, Gruntwork Pipelines automatically evaluates the required changes and orchestrates the necessary infrastructure updates. This process ensures:

    1. Small IaC Footprint: Pipelines uses terragrunt stack generate to identify impacted units, so you don't need to check in the generated units—only the terragrunt.stack.hcl files.
    2. Minimal Blast Radius: Pipelines identifies the minimum set of infrastructure units affected by your changes, avoiding unnecessary operations and limiting risk.
    3. Complete Management: All relevant infrastructure actions triggered by your terragrunt.stack.hcl updates (create, read, update, destroy) are handled automatically.
    4. DAG Aware Execution: Updates are applied while respecting the dependency graph (DAG) order so that adds, changes, and destroys all occur successfully.

    You can freely mix changes to terragrunt.stack.hcl and terragrunt.hcl files within the same Pull/Merge Request. Pipelines will handle the rest.

    This functionality is available now for both GitHub and GitLab. Refer to our docs and the migration guide for more information on how to get started with stacks.

April 15, 2025

    Introducing our product changelog

  • At Gruntwork, we’re always shipping new features—but we know it can be hard to keep track with updates spread across multiple tools. That’s why we’re excited to launch our new Product Changelog: a single place to stay up to date with the latest improvements and highlights.

    We’ll keep it short, sweet, and useful. This isn’t a full list of every change, and we won’t use it to market to you—just quick, meaningful updates with links if you want to dive deeper.

    Have thoughts or feedback? We’d love to hear from you! Let us know at feedback@gruntwork.io.