* Fixed an issue where resources being removed from state via `removed` block were incorrectly listed under `planned_values` in json representations of the plan file. ([#38665](https://github.com/hashicorp/terraform/issues/38665))
* console: Fixed a panic caused by evaluating an expression involving deprecated values ([#38676](https://github.com/hashicorp/terraform/issues/38676))
* Fix exit code for plan, query, and refresh commands for variable-related errors ([#38685](https://github.com/hashicorp/terraform/issues/38685))
* Fix two module installation edge cases with `null` and sensitive/ephemeral module sources ([#38704](https://github.com/hashicorp/terraform/issues/38704))
body:Fixed an issue where resources being removed from state via `removed` block were incorrectly listed under `planned_values` in json representations of the plan file.
* Fixed an issue where resources being removed from state via `removed` block were incorrectly listed under `planned_values` in json representations of the plan file. ([#38665](https://github.com/hashicorp/terraform/issues/38665))
* console: Fixed a panic caused by evaluating an expression involving deprecated values ([#38676](https://github.com/hashicorp/terraform/issues/38676))
* Fix exit code for plan, query, and refresh commands for variable-related errors ([#38685](https://github.com/hashicorp/terraform/issues/38685))
* Fix two module installation edge cases with `null` and sensitive/ephemeral module sources ([#38704](https://github.com/hashicorp/terraform/issues/38704))
## 1.15.5 (May 27, 2026)
@ -159,15 +171,7 @@ NOTES:
UPGRADE NOTES:
* backend/s3: The `AWS_USE_FIPS_ENDPOINT` and `AWS_USE_DUALSTACK_ENDPOINT` environment variables now only respect `true` or `false` values, aligning with the AWS SDK for Go. This replaces the previous behavior which treated any non-empty value as `true`. ([#37601](https://github.com/hashicorp/terraform/issues/37601))
EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
- The experimental "deferred actions" feature, enabled by passing the `-allow-deferral` option to `terraform plan`, permits `count` and `for_each` arguments in `module`, `resource`, and `data` blocks to have unknown values and allows providers to react more flexibly to unknown values.
- `terraform test cleanup`: The experimental `test cleanup` command. In experimental builds of Terraform, a manifest file and state files for each failed cleanup operation during test operations are saved within the `.terraform` local directory. The `test cleanup` command will attempt to clean up the local state files left behind automatically, without requiring manual intervention.
- `terraform test`: `backend` blocks and `skip_cleanup` attributes:
- Test authors can now specify `backend` blocks within `run` blocks in Terraform Test files. Run blocks with `backend` blocks will load state from the specified backend instead of starting from empty state on every execution. This allows test authors to keep long-running test infrastructure alive between test operations, saving time during regular test operations.
- Test authors can now specify `skip_cleanup` attributes within test files and within run blocks. The `skip_cleanup` attribute tells `terraform test` not to clean up state files produced by run blocks with this attribute set to true. The state files for affected run blocks will be written to disk within the `.terraform` directory, where they can then be cleaned up manually using the also experimental `terraform test cleanup` command.