Last 7 days
1
Features: 0
Changes: 0
Fixes: 1
Deprecations: 0
Infrastructure as code workflow and CLI from HashiCorp.
Latest Terraform changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Terraform release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
1
1
5
25
Fixed child module validation to correctly raise errors or warnings for invalid blocks (list, import, backend, cloud).
Fixed terraform init error when installing providers from a service‑discovery alias (e.g., localterraform.com).
Added concurrency safety to configs.Parser and SourceBundleParser
Fixed JSON plan output so resources removed via a removed block are no longer incorrectly listed under planned values.
Added support for module version evaluating to null in dynamic module sources.
Add Linux s390x (zLinux) build generation
Fixed migration of resources in deeply nested modules with implicit provider configurations.
Added output values to plan component instance change description for stacks.
Fixed crashes and panics related to invalid configuration blocks, undeclared variable values, and modules without expanded instances
Added Windows ARM64 build support, S3 backend authentication via aws login, a new convert function, and enabled variables/locals in module source and version attributes; introduced deprecated attributes on variables and outputs that emit...
Fix Terraform Stacks plugin installation error (issue 38406)
Prevent crash when displaying relevant attributes after provider upgrades
Upgrade Go version to 1.25.8.
terraform test now returns an error when the provider configuration is invalid
Fixed Terraform stacks validation failure when resolving relative module paths.
Fix nil pointer dereference crash during terraform init when backend returns an error
Fixed stack handling by converting absolute `path.module` and `path.root` values to relative paths
Added component registry source resolution support for Terraform Stacks.
Allow ephemeral outputs in root modules during testing.
Introduce List Resources via .tfquery.hcl and a new `terraform query` command that can generate import configurations and support offline validation
Fixed impure functions that could cause templatefile consistency checks to fail
Fixed crash when displaying cloud plan without a cloud backend
Imported from changelog source; review and generate a concise summary before publishing.
Fixed test cleanup node execution order.
Fix regression where `terraform test` with zero tests returned a non-zero exit code
Introduced `terraform stacks` CLI for stack operations and added GA `terraform rpcapi` for internal RPC usage.
Fixed a bug where partial ephemeral values were incorrectly rejected in ephemeral outputs.
Include resource identity in import apply UI output
Added Terraform backend for OCI Object Storage and new import block identity attribute support.
Disabled X25519Kyber768Draft00 cipher in TLS to avoid timeouts with certain AWS firewalls
Fixed CLI crash when using remote backend with post-plan tasks in HCP Terraform
Added Azure backend support for ADO Pipelines OIDC token refresh using request URL, token, and new service connection ID.
Temporarily revert Windows symlink handling to avoid conflicts with existing junction configurations.
Add write‑only resource attributes and make S3 native state locking generally available, deprecating DynamoDB‑based locking.
element(...): fixed crash on negative tuple index
Fixed empty map type conversion to return correct type information
Imported from changelog source; review and generate a concise summary before publishing.
Imported from changelog source; review and generate a concise summary before publishing.
Fixed CLI parsing of complex environment variable values during apply.
Introduce Ephemeral resources and values plus an ephemeralasnull function for non‑persisted data, expanding Terraform’s configuration model.
init now highlights missing subdirectories of registry modules in error messages.
Imported from changelog source; review and generate a concise summary before publishing.
Fix crashes in the plan renderer when handling unknown nested blocks.
Cloud block can now interact with workspaces that have HCP resource IDs.
Fixed core destroy plan validation to avoid failures with incomplete state
Terraform now returns a more specific error when a variable validation rule fails and the error message source is unknown.
Fix panic caused by self-referencing direct instances in count and for-each meta attributes.
Upgrade go-getter library to v1.7.5, fixing CVE‑2024‑6257 (may impact init/get performance on large repos).
Added general‑expression support for input variable validation and introduced a new `templatestring` built‑in for dynamic template rendering.
Fix duplicate warning diagnostics when providing values for unknown variables in test run blocks.
Fixed exponential slowdown in core when modules use depends_on.
Fixed panic when providers are configured within an overridden module during terraform test.
Fixed panics in apply, plan, and test commands and restored TF_ENV variables for test modules
Fix crashes in terraform plan/apply when referencing missing or unchanged module outputs, and when moving or importing modules with complex attributes.
Introduced provider‑contributed functions (provider::name::func()) and new built‑in functions like issensitive, decode/encode tfvars, and encode expr for richer configuration logic.
Fixed S3 backend retry failure caused by transport stream rewind error during network issues
Fixed automatic loading of variable files in terraform test on Windows platforms.
Fix crash in terraform test when dynamic typed attributes lack values in mocks
Fixed S3 backend error when IAM lacks access to the default workspace prefix.
Fixed crash in `terraform test` when variables or functions are referenced inside file-level variable blocks.
Introduced extensive testing capabilities: new mock blocks (provider, override resource/data/module, removed), ability for test providers to reference variables, outputs, and functions, and simplified destroy ordering.
Fix terraform test destroy behavior for run blocks without infrastructure, avoiding verification failures.
Fix parsing errors in S3 backend shared config and credentials files
Add endpoints.sso parameter to backend/s3 for overriding AWS SSO API endpoint
Added skip_s3_checksum parameter to backend/s3 to disable checksum on S3 uploads.
Improved terraform test performance with provisioners and optimized variable parsing per run block.
Added support for skipping account‑ID lookup in the S3 backend for AWS API implementations lacking IAM, STS, or metadata services.
Added GA `terraform test` command with .tftest.hcl run blocks; introduced numerous S3 backend config changes (nested assume_role/endpoints, new env vars, custom CA bundle, EC2 metadata, retry mode, allowed/forbidden account IDs) and depr...
Fix incompatibility with Terraform 1.5+ state files that include check block results in remote state handling.
Imported from changelog source; review and generate a concise summary before publishing.
Fix terraform init to reject downloading remote modules to invalid paths.
Fixed unsafe read panic when reading from multiple Terraform remote state data sources.
Fixes a crash in `terraform init` when backend blocks contain invalid configuration.
Fixed crash when nested data sources are targeted by `terraform import`.
Fixed a core bug where Terraform could fail evaluating module outputs used in provider configs during destroy operations
Imported from changelog source; review and generate a concise summary before publishing.
Fixed core plan validation error for providers using nested set attributes with computed object attributes.
Added independent check blocks for assertions and scoped data sources, plus new plantimestamp and strcontains functions.
Fix plan rendering bugs with null strings, unknown map values, and duplicate renders on older TFE backends
Revert change from issue 32892 to address an upstream crash
Rebuilt version 1.4.3 as 1.4.4 with the missing CGO_ENABLED=0 flag set correctly.
Fixed handling of sensitive values in non-root module outputs to avoid marking the entire output as sensitive.
Fix crash when using setproduct in Terraform configurations
Fixed module overriding behavior for depends_on and ensured provider version mirroring respects lock files
Updated `textencodebase64` to correctly encode the Euro symbol for GB18030, GBK, and CP936 encodings per standards.
Fix crash when planning to remove already deposed resource instances.
Fixed a rare bug causing inaccurate before/after sensitive annotations in JSON plan output for deeply nested structures, preventing glitched display in Terraform Cloud.
Fix exact version constraint parsing for modules using prerelease versions
Fixed a crash scenario where Terraform would panic if an orphaned resource instance with condition checks was deleted externally.
Fixed crashes and serialization errors for empty destroy plans and optional object defaults.
Fixed multiple bugs causing crashes, invalid refreshes, and unnecessary evaluations during destroy and apply operations.
Fix error when removing a resource that the provider has already deleted.
Fixed crash caused by Terraform re-registering output value preconditions during apply phase
Enabled CGO for macOS (darwin) Terraform binaries to address DNS resolver issues on recent macOS versions.
Added optional object type attributes with default values, new string functions (startswith, endswith) and the timecmp timestamp function.
Adds a link to documentation when a checksum is missing from the lock file during `terraform init`.
Flatten function no longer panics when given a null value treated as a list, set, or tuple.
Added validation for direct references to deprecated computed attributes in configuration.
Add warnings and guidance (with documentation link) for terraform init failures related to .terraform.lock.hcl and missing checksums.
Fixed error message displayed when a prerelease field is included in the required version global constraint.
Improved validation of required providers to avoid duplicate required names
Deprecated several remote state backends (artifactory, etcd, etcdv3, manta, swift) due to being unmaintained and potentially vulnerable
Improved error message for invalid variable arguments with spaces.
Fixed SSH provisioner connections failing with signed ed25519 keys.
Adds built‑in TF_TOKEN environment variable support, precondition/postcondition blocks, and a replace_triggered_by lifecycle argument for richer validation and resource replacement.
Fix CLI crashes related to sensitive values in sets and double‑quoted map keys, and prevent core errors when handling data sources with incompatible schema changes.
Fix missing identifying attributes (e.g. "id", "name") in CLI plan diffs for nested objects
Optimize terraform show JSON generation to avoid quadratic performance on deeply nested objects, preventing long runtimes and timeouts
- CLI console type function now produces a diagnostic error for complex usages instead of crashing.
Updated AWS SDK for S3 backend to support the ap‑southeast‑3 region.
Fixed handling of non‑nullable variables when null inputs are provided, ensuring default values are applied correctly
Fix provider lock file cleanup during `terraform init` to prevent missing or corrupted provider plugin errors.
Fix panic when using -target with moved blocks inside modules.
Fixed crash caused by orphaned module instances when count or for_each values changed.
Critical bug in v1.1.0/1.1.1 could cause Terraform to forget all existing infrastructure on apply; upgrade immediately.
Added support for STS endpoint in backend/OSS.
Fix panic when looking up OSS endpoints
Fixed panic when planning new resources with nested object attributes
CLI now validates required version early during init to report incompatibility before syntax errors.
Removed obsolete check for computed attributes with optional structural attributes.
Enhanced S3 backend with improved SSO handling and added new AWS SDK endpoints.
Add output change summary to Terraform plan JSON logs for parity with UI
Fixed backend/consul bug where oversized state values could be rejected.
Add resource drift info to Terraform plan JSON logs and support provider protocol v6 in automatic installer
Fixed crash in `terraform show` when rendering JSON plans with sensitive values in state.
Add sensitivity flag to JSON plan output for state values
Terraform v1.0.0 is a stability-focused release with no new features, essentially matching v0.15.5.
Suppress spurious "Objects have changed" notifications for internal SDK quirks during plan and apply.
Terraform now reports out‑of‑band resource changes in plan output and adds a “refresh‑only” planning mode to write those changes to state, superseding the old refresh command.
Add data to terraform show JSON output indicating which changes caused a resource replacement
Added `replace=` planning option to `terraform plan` and `apply` to force resource replacement and preview the effect before applying.
Updated CLI to use the latest HashiCorp public key
Update CLI to use the latest HashiCorp public key.
Imported from changelog source; review and generate a concise summary before publishing.
Updated the CLI's HashiCorp public key.
Improved Terraform functions to preserve sensitive attribute values in results, enhancing security handling.
Removed many deprecated constructs (list/map functions, vendor provisioners, legacy provider alias blocks, gcs path and atlas backends, init/destroy options) and introduced explicit configuration aliases – breaking changes for upgrade.
Fix CLI to rewrite provider lock file only when its contents have changed.
Fix error when migrating existing state to a new workspace on Terraform Cloud/Enterprise (backend/remote).
Updated HCL to prevent panics and errors when indexing sensitive values in configs and provisioners
CLI now emits an “already installed” event when a provider is already installed
Added support for AWS Single Sign‑On cached credentials in the S3 backend.
Added SCRAM‑SHA‑256 authentication support to the Postgres backend.
Disables remote Terraform version check for plan and apply, fixing custom version bundle usage in Terraform Enterprise.
Remote state data source no longer enforces Terraform version checks, allowing access to state files from newer Terraform versions until an incompatible version upgrade is required.
Remote state data source no longer enforces Terraform version checks on the state file
Added "raw" output mode for terraform output, providing raw string representation of primitive values while retaining json mode for all types.
Disable remote backend version compatibility check for workspaces set to the "latest" pseudo version.
Add remote backend version compatibility verification with optional ignore‑remote‑version flag.
Added support for sensitive input variables and lock file generation, plus hardened TLS verification and client‑side downgrade protection.
Fix Terraform provider configuration attachment issue (26567).
Deprecate built‑in vendor provisioners (habitat, puppet, chef, salt) with future removal planned.
Fix crash with Terraform binary on OpenBSD
Added network‑based provider mirrors, enabling HTTP server sources for provider packages (feature).
Added >32‑bit address support for cidrsubnet/cidrhost and allowed top‑level provider plugin directories to be symlinks (feature).
Added count/for_each and depends_on support for modules, plus custom variable validation blocks and a new Kubernetes backend.
Fix core memory usage issue causing quadratic growth when many instances are used by avoiding full resource state per instance.