Skip to content

Commit f844a3d

Browse files
authored
docs: Cleaning up changelog for v1.0.4 (#6050)
1 parent 9c49dd4 commit f844a3d

7 files changed

Lines changed: 82 additions & 1 deletion
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
version: "v1.0.4"
3+
category: "bug-fixes"
4+
---
5+
6+
#### `--auth-provider-cmd` no longer runs once per dependency cache directory
7+
8+
Resolving `dependency` outputs ran the configured `--auth-provider-cmd` again from inside each `.terragrunt-cache` working directory, on top of the call already made for the unit.
9+
10+
Terragrunt now reuses the credentials already obtained for the dependency when reading outputs from a cached working directory, so `--auth-provider-cmd` is invoked once per dependency instead of twice.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
version: "v1.0.4"
3+
category: "experiments-updated"
4+
---
5+
6+
#### `stack-dependencies` — Stricter validation and clearer parse errors for `autoinclude`
7+
8+
Malformed configuration inside an `autoinclude` block previously produced misleading messages or, in some cases, was silently ignored during stack discovery.
9+
10+
Two changes tighten this up:
11+
12+
- A `dependency` block inside `autoinclude` must declare exactly one label. Zero labels (`dependency {}`) and multiple labels (`dependency "a" "b" {}`) are now rejected at parse time with a diagnostic that points at the offending block.
13+
- Parse failures encountered while expanding `autoinclude` files during `stack generate`, `find`, and `list` are surfaced with the underlying HCL diagnostic instead of being swallowed or remapped to a generic discovery error.
14+
15+
Reported in [#5980](https://github.com/gruntwork-io/terragrunt/issues/5980).

docs/src/data/changelog/v1.0.3/cas-local-paths.mdx renamed to docs/src/data/changelog/v1.0.4/cas-local-paths.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
version: "v1.0.3"
2+
version: "v1.0.4"
33
category: "experiments-updated"
44
---
55

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
version: "v1.0.4"
3+
category: "experiments-updated"
4+
---
5+
6+
#### `catalog-redesign` — Units and stacks, scaffolded values, and key-binding cleanup
7+
8+
The redesigned `terragrunt catalog` TUI gains two new component kinds, a guided scaffolding flow for placing them, and a small key-binding cleanup.
9+
10+
**Units and stacks join modules and templates**
11+
12+
Catalog discovery now classifies units (directories containing a `terragrunt.hcl`) and stacks (directories containing a `terragrunt.stack.hcl`) as first-class component kinds, alongside OpenTofu/Terraform modules and boilerplate templates. The list view picks them up automatically and they appear under their own tabs; press `tab` and `shift+tab` to cycle.
13+
14+
When more than one classification could apply to the same directory (for example, a stack directory that also contains a unit), Terragrunt resolves it to a single kind under a fixed precedence: template, stack, unit, module.
15+
16+
**Copy and scaffolded values**
17+
18+
Selecting a unit or stack from the catalog now offers a copy action that materializes the component into your working directory. Terragrunt walks the copied component for `values.<name>` references and, if it finds any, writes a sibling `terragrunt.values.hcl` stub. Names referenced outside a `try(...)` are listed as required with a `"TODO"` placeholder; names referenced through a `try(...)` are listed as optional, pre-populated with the literal default from the fallback. An existing `terragrunt.values.hcl` is left alone.
19+
20+
After the TUI exits, Terragrunt prints a short callout pointing at the directory it wrote to and any follow-up command you need to run, instead of leaving you to find the new directory yourself.
21+
22+
**Catalog key bindings**
23+
24+
The `ctrl+j` binding on the catalog list has been removed in favor of `enter` alone for choosing a focused entry, and dropped from the navigation set used while filtering. The mini help footer is updated to match.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
version: "v1.0.4"
3+
category: "performance-improvements"
4+
---
5+
6+
#### `run_cmd` and Git repo-root results memoized without the Provider Cache Server
7+
8+
Within a single command, repeated `run_cmd(...)` calls and repeated Git repo-root lookups across units used to share their cached results only when the Provider Cache Server was running. Commands invoked without `--provider-cache` (the common case for `find`, `list`, and `run --all` against estates that do not need provider caching) re-evaluated each `run_cmd` and re-shelled to `git rev-parse --show-toplevel` for every unit.
9+
10+
Both caches are now active for every command, so identical `run_cmd` arguments and repeated repo-root lookups are reused across units regardless of whether the Provider Cache Server is enabled.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
version: "v1.0.4"
3+
category: "bug-fixes"
4+
---
5+
6+
#### `get_repo_root()` returns OS-native separators on Windows
7+
8+
`git rev-parse --show-toplevel` always emits forward-slash paths, even on Windows. Terragrunt returned that string unchanged from `get_repo_root()`, so configurations that compared the result against `path/filepath`-style paths or fed it back into helpers expecting OS-native separators saw spurious mismatches and broken joins on Windows.
9+
10+
The output is now normalized to OS-native separators before being returned, so `get_repo_root()` produces `C:\repo\path` on Windows and `/repo/path` on Linux and macOS.
11+
12+
Reported in [#5976](https://github.com/gruntwork-io/terragrunt/issues/5976).
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
version: "v1.0.4"
3+
category: "performance-improvements"
4+
---
5+
6+
#### Fewer `git rev-parse` invocations on large estates
7+
8+
The `get_repo_root()` HCL function, the runner, and the `find` and `list` discovery commands all ask Git for the enclosing repository root. Previously, two units in the same repository each triggered their own `git rev-parse --show-toplevel`, even when the answer was identical. On large estates this added up to one fork per unit (and sometimes more) for a value that never changed.
9+
10+
A repository discovered for one working directory is now reused for any other working directory inside it, for the duration of the command. Nested repositories (a checkout vendored inside another) still resolve to their own root.

0 commit comments

Comments
 (0)