Skip to content
Pre-release
Pre-release

@hc-github-team-tf-core hc-github-team-tf-core released this Jul 28, 2021

1.1.0 (Unreleased)

NEW FEATURES:

  • cli: terraform add generates resource configuration templates (#28874)
  • config: a new type() function, only available in terraform console (#28501)

ENHANCEMENTS:

  • config: Terraform now checks the syntax of and normalizes module source addresses (the source argument in module blocks) during configuration decoding rather than only at module installation time. This is largely just an internal refactoring, but a visible benefit of this change is that the terraform init messages about module downloading will now show the canonical module package address Terraform is downloading from, after interpreting the special shorthands for common cases like GitHub URLs. (#28854)

BUG FIXES:

  • core: Fixed an issue where provider configuration input variables were not properly merging with values in configuration (#29000)
  • cli: Fixed a crashing bug with some edge-cases when reporting syntax errors that happen to be reported at the position of a newline. (#29048)
Assets 2

@hc-github-team-tf-core hc-github-team-tf-core released this Jul 21, 2021

1.0.3 (July 21, 2021)

ENHANCEMENTS

  • terraform plan: The JSON logs (-json option) will now include resource_drift, showing changes detected outside of Terraform during the refresh step. (#29072)
  • core: The automatic provider installer will now accept providers that are recorded in their registry as using provider protocol version 6. (#29153)
  • backend/etcdv3: New argument max_request_bytes allows larger requests and for the client, to match the server request limit. (#28078)

BUG FIXES:

  • terraform plan: Will no longer panic when trying to render null maps. (#29207)
  • backend/pg: Prevent the creation of multiple workspaces with the same name. (#29157)
  • backend/oss: STS auth is now supported. (#29167)
  • config: Dynamic blocks with unknown for_each values were not being validated. Ensure block attributes are valid even when the block is unknown (#29208)
  • config: Unknown values in string templates could lose sensitivity, causing the planned change to be inaccurate (#29208)
2 people reacted
Assets 2
Pre-release
Pre-release

@hc-github-team-tf-core hc-github-team-tf-core released this Jul 14, 2021

1.1.0 (Unreleased)

NEW FEATURES:

  • cli: terraform add generates resource configuration templates (#28874)
  • config: a new type() function, only available in terraform console (#28501)

ENHANCEMENTS:

  • config: Terraform now checks the syntax of and normalizes module source addresses (the source argument in module blocks) during configuration decoding rather than only at module installation time. This is largely just an internal refactoring, but a visible benefit of this change is that the terraform init messages about module downloading will now show the canonical module package address Terraform is downloading from, after interpreting the special shorthands for common cases like GitHub URLs. (#28854)

BUG FIXES:

  • core: Fixed an issue where provider configuration input variables were not properly merging with values in configuration (#29000)
  • cli: Fixed a crashing bug with some edge-cases when reporting syntax errors that happen to be reported at the position of a newline. (#29048)
10 people reacted
Assets 2

@hc-github-team-tf-core hc-github-team-tf-core released this Jul 7, 2021

1.0.2 (July 07, 2021)

BUG FIXES:

  • terraform show: Fix crash when rendering JSON plan with sensitive values in state (#29049)
  • config: The floor and ceil functions no longer lower the precision of arguments to what would fit inside a 64-bit float, instead preserving precision in a similar way as most other arithmetic functions. (#29110)
  • config: The flatten function was incorrectly treating null values of an unknown type as if they were unknown values. Now it will treat them the same as any other non-list/non-tuple value, flattening them down into the result as-is. (#29110)
22 people reacted
Assets 2
Pre-release
Pre-release

@hc-github-team-tf-core hc-github-team-tf-core released this Jun 30, 2021

1.1.0 (Unreleased)

NEW FEATURES:

  • cli: terraform add generates resource configuration templates (#28874)
  • config: a new type() function, only available in terraform console (#28501)

ENHANCEMENTS:

  • config: Terraform now checks the syntax of and normalizes module source addresses (the source argument in module blocks) during configuration decoding rather than only at module installation time. This is largely just an internal refactoring, but a visible benefit of this change is that the terraform init messages about module downloading will now show the canonical module package address Terraform is downloading from, after interpreting the special shorthands for common cases like GitHub URLs. (#28854)

BUG FIXES:

  • core: Fixed an issue where provider configuration input variables were not properly merging with values in configuration (#29000)
  • cli: Fixed a crashing bug with some edge-cases when reporting syntax errors that happen to be reported at the position of a newline. (#29048)
2 people reacted
Assets 2

@hc-github-team-tf-core hc-github-team-tf-core released this Jun 24, 2021

1.0.1 (June 24, 2021)

ENHANCEMENTS:

  • json-output: The JSON plan output now indicates which state values are sensitive. (#28889)
  • cli: The darwin builds can now make use of the host DNS resolver, which will fix many network related issues on MacOS.

BUG FIXES:

  • backend/remote: Fix faulty Terraform Cloud version check when migrating state to the remote backend with multiple local workspaces (#28864)
  • cli: Fix crash with deposed instances in json plan output (#28922)
  • core: Fix crash when provider modifies and unknown block during plan (#28941)
  • core: Diagnostic context was missing for some errors when validating blocks (#28979)
  • core: Fix crash when calling setproduct with unknown values (#28984)
  • json-output: Fix an issue where the JSON configuration representation was missing fully-unwrapped references. (#28884)
  • json-output: Fix JSON plan resource drift to remove unchanged resources. (#28975)
27 people reacted
Assets 2
Pre-release
Pre-release

@hc-github-team-tf-core hc-github-team-tf-core released this Jun 16, 2021

1.1.0 (Unreleased)

NEW FEATURES:

  • lang/funcs: add a new type() function, only available in terraform console (#28501)

ENHANCEMENTS:

  • configs: Terraform now checks the syntax of and normalizes module source addresses (the source argument in module blocks) during configuration decoding rather than only at module installation time. This is largely just an internal refactoring, but a visible benefit of this change is that the terraform init messages about module downloading will now show the canonical module package address Terraform is downloading from, after interpreting the special shorthands for common cases like GitHub URLs. (#28854)
  • command/show: The -json output now indicates which state values are sensitive. (#28889)

BUG FIXES:

  • command/show: Fix an issue where the json configuration representation was missing fully-unwrapped references. (#28884)
5 people reacted
Assets 2

@hc-github-team-tf-core hc-github-team-tf-core released this Jun 8, 2021

1.0.0 (June 08, 2021)

Terraform v1.0 is an unusual release in that its primary focus is on stability, and it represents the culmination of several years of work in previous major releases to make sure that the Terraform language and internal architecture will be a suitable foundation for forthcoming additions that will remain backward compatible.

Terraform v1.0.0 intentionally has no significant changes compared to Terraform v0.15.5. You can consider the v1.0 series as a direct continuation of the v0.15 series; we do not intend to issue any further releases in the v0.15 series, because all of the v1.0 releases will be only minor updates to address bugs.

For all future minor releases with major version 1, we intend to preserve backward compatibility as described in detail in the Terraform v1.0 Compatibility Promises. The later Terraform v1.1.0 will, therefore, be the first minor release with new features that we will implement with consideration of those promises.

1k people reacted
Assets 2

@hc-github-team-tf-core hc-github-team-tf-core released this Jun 2, 2021

0.15.5 (June 02, 2021)

BUG FIXES:

  • terraform plan and terraform apply: Don't show "Objects have changed" notification when the detected changes are only internal details related to legacy SDK quirks. (#28796)
  • core: Prevent crash during planning when encountering a deposed instance that has been removed from the configuration. (#28766)
  • core: Fix crash when rendering changes to deposed instances outside of Terraform. (#28796)
  • core: Restore a missing error when attempting to import a non-existent remote object. (#28808)
  • core: Fix bug where Terraform failed to release the state lock when applying a stale saved plan failed. (#28819)
44 people reacted
Assets 2

@hc-github-team-tf-core hc-github-team-tf-core released this May 19, 2021

0.15.4 (May 19, 2021)

NEW FEATURES:

  • Noting changes made outside of Terraform: Terraform has always, by default, made a point during the planning operation of reading the current state of remote objects in order to detect any changes made outside of Terraform, to make sure the plan will take those into account.

    Terraform will now report those detected changes as part of the plan result, in order to give additional context about the planned changes. We've often heard that people find it confusing when a plan includes a change that doesn't seem to be prompted by any recent change in the configuration, and so this feature is aiming to provide the previously-missing explanation for situations where Terraform is planning to undo a change.

    It can also be useful just as general information when the change won't be undone by Terraform: if you've intentionally made a change outside of Terraform and mirrored that change in your configuration then Terraform will now confirm that it noticed the change you made and took it into account when planning.

    By default this new output is for information only and doesn't change any behavior. If Terraform detects a change you were expecting then you don't need to take any additional action to respond to it. However, we've also added a new planning mode -refresh-only which allows you to explicitly plan and apply the action of writing those detected changes to the Terraform state, which serves as a plannable replacement for terraform refresh. We don't have any plans to remove the long-standing terraform refresh command, but we do recommend using terraform apply -refresh-only instead in most cases, because it will provide an opportunity to review what Terraform detected before updating the Terraform state.

UPGRADE NOTES:

  • This release adds some new reserved reference prefixes to make them available for later work. These are resource., template., arg., and lazy.. We don't expect these additions to cause problems for most existing configurations, but could cause a conflict if you are using a custom provider which has a resource type named exactly "resource", "template", "arg", or "lazy". In that unlikely event, you can escape references to resources of those types by adding a resource. prefix; for example, if you have a resource "template" "foo" then you can change references to it from template.foo to resource.template.foo in order to escape the new meaning.

ENHANCEMENTS:

  • config: The various functions that compute hashs of files on disk, like filesha256, will now stream the contents of the given file into the hash function in smaller chunks. Previously they would always read the entire file into memory before hashing it, due to following a similar implementation strategy as the file function. (#28681)
  • config: Some new escaping syntax which is not yet useful but will be part of the backward-compatibility story for certain future language editions. (#28709)
  • core: Rsource diagnostics are no longer lost on remote state storage fails (#28724)
  • core: Diagnostics from provisioner failures are now shown in CLI output (#28753)
  • terraform init: add a new -migrate-state flag instead of automatic state migration, to prevent failing when old backend config is not usable (#28718)
  • terraform plan and terraform apply: will now report any changes Terraform detects during the "refresh" phase for each managed object, providing confirmation that Terraform has seen those changes and, where appropriate, extra context to help understand the planned change actions that follow. (#28634)
  • terraform plan and terraform apply: now have a new option -refresh-only to activate the "refresh only" planning mode, which causes Terraform to ignore any changes suggested by the configuration but still detect any changes made outside of Terraform since the latest terraform apply. (#28634)
  • backend/gcs: Terraform Core now supports Workload Identity Federation. The federated JSON credentials must be loaded through the GOOGLE_APPLICATION_CREDENTIALS environment variable. This is also available in the Google Provider in versions newer than v3.61. (#28296)
  • backend/remote: supports several new CLI options when running plans and applies with Terraform Cloud: -refresh=false, -replace, and -refresh-only. (#28746)

BUG FIXES:

  • core: Fix sensitivity handling with plan values, which could cause the sensitive marks to be lost during apply leading to a perpetual diff (#28687)
  • core: Fix crash when specifying SSH bastion_port in a resource connection block (#28665)
  • core: Terraform will now upgrade and refresh (unless disabled) deposed objects during planning, in a similar manner as for objects that have been removed from the configuration. "Deposed" is how Terraform represents the situation where a create_before_destroy replacement failed to destroy the old object, in which case Terraform needs to track both the new and old objects until the old object is successfully deleted. Refreshing these during planning means that you can, if you wish, delete a "deposed" object manually outside of Terraform and then have Terraform detect that you've done so. (#28634)
  • config: Improve the sensitivity support for lookup and length functions, which were accidentally omitted from the larger update in 0.15.1 (#28509)
  • backend/gcs: Fixed a bug where service account impersonation didn't work if the original identity was another service account (#28139)
2 people reacted
Assets 2