Releases: terraform-linters/tflint
v0.43.0
0.43.0 (2022-11-19)
This release adds support for dynamic blocks, including block expansion and iterator evaluation. Previously, dynamic blocks were always treated as a single block.
Plugin developers should be careful with dynamic blocks after this version. If you set ExpandModeNone
(or IncludeNotCreated
), dynamic blocks will not be fully expanded. Instead, dynamic blocks can be retrieved as-is via the GetModuleContent
API.
Enhancements
BugFixes
- #1579 #1591: build(deps): Bump github.com/zclconf/go-cty from 1.11.1 to 1.12.1
- #1582: terraform: Convert variable types before applying defaults (@wata727)
- #1592: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.14.1 to 2.15.0
- #1598: Fix panic when file read fails (@wata727)
Chores
- #1546: Convert bug report issue template to form (@bendrucker)
- #1584: build(deps): Bump github.com/zclconf/go-cty-yaml from 1.0.2 to 1.0.3
- #1585: Set up a security policy (@wata727)
- #1586: Follow up of upstream LICENSE updates (@wata727)
- #1588: Add COSIGN_EXPERIMENTAL=1 flag to the verification example (@wata727)
- #1589: Bump up GoReleaser version (@wata727)
- #1590: build(deps): Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1
- #1593: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.5 to 1.4.6
- #1594: build(deps): Bump alpine from 3.16.2 to 3.16.3
v0.42.2
v0.42.1
v0.42.0
0.42.0 (2022-10-23)
This release adds support for evaluating local.*
, each.key
, each.value
, and count.index
. Support for each.*
and count.index
requires plugins built with SDK v0.14+.
Starting with this release, resources/modules with count
or for_each
set will be expanded. Previously it was only expanded if count = 0
or for_each = {}
, but it is now always expanded and multiple resources/modules are passed to plugins.
Enhancements
- #1525: terraform: Add local values support (@wata727)
- #1530: plugin: Add support for schema mode (@wata727)
- #1535: plugin: Allow plugins to set TFLint version constraints (@wata727)
- #1537: terraform: Add support for count/each value (@wata727)
- #1560: Bump tflint-plugin-sdk and bundled terraform plugin (@wata727)
BugFixes
Chores
- #1526: Move block expanding to under the terraform package (@wata727)
- #1527: docs: Update compatibility guide (@wata727)
- #1528 #1539: build(deps): Bump sigstore/cosign-installer from 2.6.0 to 2.8.0
- #1529: workflow(docker): Improve multi-arch image build (@wata727)
- #1534: docs: Add notice about Chocolatey package (@wata727)
- #1538: build(deps): Bump google.golang.org/grpc from 1.49.0 to 1.50.0
- #1550: build(deps): Bump github.com/zclconf/go-cty from 1.11.0 to 1.11.1
- #1558: docs: Add API compatibility note (@wata727)
- #1559: Add test when the count is string (@wata727)
- #1561: build(deps): Bump golang.org/x/text from 0.3.7 to 0.4.0
v0.41.0
v0.40.1
v0.40.0
0.40.0 (2022-09-08)
This release contains major changes to the plugin system. All plugins must be built with tflint-plugin-sdk v0.12.0+ to support this version. See also https://github.com/terraform-linters/tflint-plugin-sdk/releases/tag/v0.12.0
Starting with this version, the built-in rules for the Terraform Language have been cut out into the tflint-ruleset-terraform plugin. Since the plugin is bundled with the TFLint binary, you will still be able to use the rules as before. However, be aware that some default behavior has changed.
GPG key ID: 8CE69160EB3F2FE9
Breaking Changes
- #1470: Remove
--loglevel
CLI flag (@wata727) - #1496: plugin: Switch internal Terraform rules to the bundled plugin (@wata727)
- Rules for the Terraform Language have been cut out into a plugin, allowing you to enable or disable rules in bulk. Just declare the plugin block in
.tflint.hcl
like any other plugin. - The following rules are newly enabled by default. To keep the same behavior as before, these rules should be disabled.
terraform_deprecated_index
terraform_required_providers
terraform_required_version
terraform_typed_variables
terraform_unused_declarations
- See also tflint-ruleset-terraform documentation for plugin configuration.
- Rules for the Terraform Language have been cut out into a plugin, allowing you to enable or disable rules in bulk. Just declare the plugin block in
Enhancements
- #1480: plugin: Add support for GetModulePath API (@wata727)
- #1481: plugin: Make GetRuleConfigContent doesn't return an error even if config not found (@wata727)
- #1482: formatter(compact): print
hcl.Diagnostics
errors in compact format (@bendrucker) - #1492: annotations: allow ignoring multiple rules (@bendrucker)
BugFixes
Chores
- #1483: build(deps): Bump github.com/mattn/go-colorable from 0.1.12 to 0.1.13
- #1484: build(deps): Bump alpine from 3.16.1 to 3.16.2
- #1485: build: Improve Go workflows (@wata727)
- #1487: Revert "Add a notice about verification of keyless signing" (@wata727)
- #1489: build(deps): Bump github.com/zclconf/go-cty from 1.10.0 to 1.11.0
- #1490: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.4 to 1.4.5
- #1491: build(deps): Bump sigstore/cosign-installer from 2.5.0 to 2.5.1
- #1499: use mktemp when installing tflint (@dawez)
- #1500: Move cli_test.go to integration test (@wata727)
- #1504: build: Use default cosign version (@wata727)
v0.39.3
0.39.3 (2022-08-12)
GPG key ID: 8CE69160EB3F2FE9
Enhancements
- #1426: terraform_empty_list_equality: improve expression detection (@bmbferreira)
BugFixes
Chores
- #1467 #1475: deps: update to use go1.19 (@chenrui333)
- #1472: Add a notice about verification of keyless signing (@wata727)
- #1476: runner: fix typo (@bendrucker)
v0.39.2
0.39.2 (2022-08-05)
GPG key ID: 8CE69160EB3F2FE9
BugFixes
Chores
- #1466: workflow(homebrew): update to use personal fork (@chenrui333)
v0.39.1
0.39.1 (2022-07-29)
GPG key ID: 8CE69160EB3F2FE9
BugFixes
- #1452: terraform_required_version: fix regression with multiple blocks (@bendrucker)
- #1454: terraform_required_providers: fix regression with configuration_aliases (@bendrucker)
- #1456: Fix panic that occurs when using sensitive count (@wata727)
- #1458: terraformrules: Get module contents with
IncludeNotCreated: true
(@wata727)