<commit_before>## 0.13.0-beta2 (UNRELEASED)

BUG FIXES:

* backend/remote: do not panic if PrepareConfig or Configure receive null values (can occur when the user cancels the init command) [GH-25135]
* command: Fix `0.13upgrade` usage help text to include options [GH-25127]

## 0.13.0-beta1 (June 03, 2020)

NEW FEATURES:

* **`count` and `for_each` for modules**: Similar to the arguments of the same name in `resource` and `data` blocks, these create multiple instances of a module from a single `module` block. ([#24461](https://github.com/hashicorp/terraform/issues/24461))
* **`depends_on` for modules**: Modules can now use the `depends_on` argument to ensure that all module resource changes will be applied after any changes to the `depends_on` targets have been applied. ([#25005](https://github.com/hashicorp/terraform/issues/25005))
* **Automatic installation of third-party providers**: Terraform now supports a decentralized namespace for providers, allowing for automatic installation of community providers from third-party namespaces in the public registry and from private registries. (More details will be added about this prior to release.)
* **Custom validation rules for input variables**: A new [`validation` block type](https://www.terraform.io/docs/configuration/variables.html#custom-validation-rules) inside `variable` blocks allows module authors to define validation rules at the public interface into a module, so that errors in the calling configuration can be reported in the caller's context rather than inside the implementation details of the module. ([#25054](https://github.com/hashicorp/terraform/issues/25054))

BREAKING CHANGES:

* As part of implementing a new decentralized namespace for providers, Terraform now requires an explicit `source` specification for any provider that is not in the "hashicorp" namespace in the main public registry. (More details will be added about this prior to release, including links to upgrade steps.) ([#24477](https://github.com/hashicorp/terraform/issues/24477))
* backend/oss: Changes to the TableStore schema now require a primary key named `LockID` of type `String` ([#24149](https://github.com/hashicorp/terraform/issues/24149))
* command/0.12upgrade: this command has been replaced with a deprecation notice directing users to install terraform v0.12 to run `terraform 0.12upgrade`.  ([#24403](https://github.com/hashicorp/terraform/issues/24403))
* command/import: remove the deprecated `-provider` command line argument ([#24090](https://github.com/hashicorp/terraform/issues/24090))
* command/import: fixed a bug where the `import` command was not properly attaching the configured provider for a resource to be imported, making the `-provider` command line argument unnecessary. ([#22862](https://github.com/hashicorp/terraform/issues/22862))
* command/providers: the output of this command is now a flat list that does not display providers per module. ([#24634](https://github.com/hashicorp/terraform/issues/24634))
* config: Inside `provisioner` blocks that have `when = destroy` set, and inside any `connection` blocks that are used by such `provisioner` blocks, it is now an error to refer to any objects other than `self`, `count`, or `each` ([#24083](https://github.com/hashicorp/terraform/issues/24083))<commit_msg>Update CHANGELOG for #25134<commit_after>## 0.13.0-beta2 (UNRELEASED)

NOTES:

* backend/s3: Deprecated `lock_table`, `skip_get_ec2_platforms`, and `skip_requesting_account_id` arguments have been removed [GH-25134]
* backend/s3: Credential ordering has changed from static, environment, shared credentials, EC2 metadata, default AWS Go SDK (shared configuration, web identity, ECS, EC2 Metadata) to static, environment, shared credentials, default AWS Go SDK (shared configuration, web identity, ECS, EC2 Metadata) [GH-25134]
* backend/s3: The `AWS_METADATA_TIMEOUT` environment variable no longer has any effect as we now depend on the default AWS Go SDK EC2 Metadata client timeout of one second with two retries [GH-25134]

ENHANCEMENTS:

* backend/s3: Always enable shared configuration file support (no longer require `AWS_SDK_LOAD_CONFIG` environment variable) [GH-25134]
* backend/s3: Automatically expand `~` prefix for home directories in `shared_credentials_file` argument [GH-25134]
* backend/s3: Add `assume_role_duration_seconds`, `assume_role_policy_arns`, `assume_role_tags`, and `assume_role_transitive_tag_keys` arguments [GH-25134]

BUG FIXES:

* backend/remote: do not panic if PrepareConfig or Configure receive null values (can occur when the user cancels the init command) [GH-25135]
* backend/s3: Ensure configured profile is used [GH-25134]
* backend/s3: Ensure configured STS endpoint is used during AssumeRole API calls [GH-25134]
* backend/s3: Prefer AWS shared configuration over EC2 metadata credentials by default [GH-25134]
* backend/s3: Prefer ECS credentials over EC2 metadata credentials by default [GH-25134]
* backend/s3: Remove hardcoded AWS Provider messaging [GH-25134]
* command: Fix `0.13upgrade` usage help text to include options [GH-25127]

## 0.13.0-beta1 (June 03, 2020)

NEW FEATURES:

* **`count` and `for_each` for modules**: Similar to the arguments of the same name in `resource` and `data` blocks, these create multiple instances of a module from a single `module` block. ([#24461](https://github.com/hashicorp/terraform/issues/24461))
* **`depends_on` for modules**: Modules can now use the `depends_on` argument to ensure that all module resource changes will be applied after any changes to the `depends_on` targets have been applied. ([#25005](https://github.com/hashicorp/terraform/issues/25005))
* **Automatic installation of third-party providers**: Terraform now supports a decentralized namespace for providers, allowing for automatic installation of community providers from third-party namespaces in the public registry and from private registries. (More details will be added about this prior to release.)
* **Custom validation rules for input variables**: A new [`validation` block type](https://www.terraform.io/docs/configuration/variables.html#custom-validation-rules) inside `variable` blocks allows module authors to define validation rules at the public interface into a module, so that errors in the calling configuration can be reported in the caller's context rather than inside the implementation details of the module. ([#25054](https://github.com/hashicorp/terraform/issues/25054))

BREAKING CHANGES:

* As part of implementing a new decentralized namespace for providers, Terraform now requires an explicit `source` specification for any provider that is not in the "hashicorp" namespace in the main public registry. (More details will be added about this prior to release, including links to upgrade steps.) ([#24477](https://github.com/hashicorp/terraform/issues/24477))
* backend/oss: Changes to the TableStore schema now require a primary key named `LockID` of type `String` ([#24149](https://github.com/hashicorp/terraform/issues/24149))
* command/0.12upgrade: this command has been replaced with a deprecation notice directing users to install terraform v0.12 to run `terraform 0.12upgrade`.  ([#24403](https://github.com/hashicorp/terraform/issues/24403))
* command/import: remove the deprecated `-provider` command line argument ([#24090](https://github.com/hashicorp/terraform/issues/24090))
* command/import: fixed a bug where the `import` command was not properly attaching the configured provider for a resource to be imported, making the `-provider` command line argument unnecessary. ([#22862](https://github.com/hashicorp/terraform/issues/22862))
* command/providers: the output of this command is now a flat list that does not display providers per module. ([#24634](https://github.com/hashicorp/terraform/issues/24634))
* config: Inside `provisioner` blocks that have `when = destroy` set, and inside any `connection` blocks that are used by such `provisioner` blocks, it is now an error to refer to any objects other than `self`, `count`, or `each` ([#24083](https://github.com/hashicorp/terraform/issues/24083))
{'fraction_non_alphanumeric': 0.09507389162561576, 'fraction_numerical': 0.043596059113300493, 'mean_word_length': 5.565076798706548, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 22, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3566685', 'n_tokens_mistral': 2454, 'n_tokens_neox': 2206, 'n_words': 929}