v4.0.0
What's new in Pipelines v4
Pipelines v4 is nearly a full rewrite of the pipelines implementation within GitHub. Prior to v4 the bulk of the "glue" logic to stitch together various components of the workflow was written in bash. In v4 we've replaced the majority of the bash code with golang code which is both faster, more maintainable and has significantly improved test coverage. v4 also includes a handful of new features:
Support for newer Terragrunt Versions (through to 1.0)
Pipelines v3 has maximum Terragrunt version of 0.84.  Pipelines v4 removes this restriction and will support all Terragrunt versions from 0.86.3 through to 1.0+.
Updated Configuration: Deprecating YML and promoting HCL out of beta
As of this release we are promoting HCL to the default configuration language for Pipelines. This release includes additions to the pipelines HCL configuration specification that bring it up to full feature parity with YML, and we intend to build forwards using only HCL. As a result, the YML configuration for Pipelines is now deprecated and will be removed in a future release.
Run-All Log Parsing
Pipelines will now request a custom log format from Terragrunt (via TG_LOG_CUSTOM_FORMAT) and then parse the resulting output into different streams, and present each Unit's output independently and deinterlaced in the pipelines comment engine.
Azure Support
Pipelines v4 includes support for Azure OIDC and state storage. New configuration options are now available in HCL configuration for Azure.
Improved / Faster commenting engine
Pipelines v4 includes a rewrite of several components of the commenting engine which should result in less time spent calculating and posting PR comments.
Improved Drift Detection filters
Pipelines v4 includes a more expressive syntax for filters when triggering drift detection.
Removal of several feature flags
The following feature flags are now all enabled by default:
- PIPELINES_FEATURE_EXPERIMENT_AGGRESSIVE_CONSOLIDATION
 - PIPELINES_FEATURE_EXPERIMENT_COLOCATED_FILE_UNIT_CHANGE_DETECTION
 - PIPELINES_FEATURE_EXPERIMENT_MINIMIZE_BLAST_RADIUS
 
--queue-include-units-reading used instead of --units-that-include
Pipelines will now always use --queue-include-units-reading instead of --units-that-include.
Previously, Pipelines would only use the former flag for FileChanged events for the sake of providing greater backwards compatibility, but the minimum supported version of Terragrunt in Pipelines now supports --units-that-include, and this is no longer necessary.
By making this change, Pipelines now behaves more in-line with customer expectations, as customers expect that a file with an .hcl extension read via an HCL function like read_terragrunt_config() should still result in inclusion into the run queue.
Updated Terminology: Module -> Unit
Pipelines v4 now refers to leaf folders with a terragrunt.hcl file as units.  Prior versions used the term module.  This change aligns Pipelines' terminology with Terragrunt's.
Migration Guide
Please see a full migration guide at https://docs.gruntwork.io/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4
What's Changed
- Use updated actions for comments by @oredavids in #125
 - Use updated preflight action that uses logic in binary by @oredavids in #127
 - Pass cli, actions, and credentials versions as inputs by @Resonance1584 in #126
 - Fix pipelines comment token used in pipelines-root.yml preflight call by @oredavids in #131
 - fix: Addressing misnamed step status by @yhakbar in #134
 - Use provision-account action that uses binary's create account by @oredavids in #132
 - fix: Using modern env vars instead of legacy 
TERRAGRUNT_environment variables by @yhakbar in #133 - Use baseline-core action that uses the pipelines binary by @oredavids in #136
 - Use pipelines propose-baseline-infra-change by @Resonance1584 in #137
 - Use pipelines binary's auth for child account baselining by @oredavids in #138
 - 2025 07 04 fix commenting by @Resonance1584 in #139
 - Support status-update in baselining by @Resonance1584 in #143
 - Pipelines CLI v0.40.0-rc17 by @Resonance1584 in #146
 - Drift Detection 2.0 Workflow by @Resonance1584 in #147
 - DEV-1010 Per unit drift detection by @Resonance1584 in #152
 - chore: Remove requirement for tokens by @yhakbar in #153
 - chore: Bumping 
miseversion to2025.10.0by @yhakbar in #154 - Revert "chore: Bumping 
miseversion to2025.10.0" by @yhakbar in #155 - chore: Bumping 
miseversion to2025.10.0by @yhakbar in #156 - Use pipelines binary for delegated repo setup by @oredavids in #151
 - Use updated actions to correctly report delegated repo job status by @oredavids in #157
 - Use pipelines binary unlock commands by @Resonance1584 in #158
 - Remove pipelines-bootstrap action by @oredavids in #159
 - Fix invalid output by @Resonance1584 in #160
 - 2025 10 08 v4.0.0 rc1 by @Resonance1584 in #162
 - fix: Adding concatenation of command and args back by @yhakbar in #163
 - chore: Bumping Pipelines CLI version to 
v0.40.1by @yhakbar in #164 - Use updated preflight action and binary by @oredavids in #165
 
Full Changelog: v3.9.0...v4.0.0