Releases: terraform-linters/tflint
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)
Chores
v0.39.0
0.39.0 (2022-07-28)
In this release, the dependencies on Terraform's internal API have been significantly changed. Normally, you should be unlikely to be directly affected by this change, but you may get different results in small details, such as error messages. See the Changes section for more details.
GPG key ID: 8CE69160EB3F2FE9
Changes
- #1428: Replace config loader with a new loader (@wata727)
- #1433: terraformrules: Remove dependencies on Terraform internal packages from rules (@wata727)
Enhancements
BugFixes
Chores
- #1421: build(deps): Bump github.com/hashicorp/go-getter from 1.6.1 to 1.6.2
- #1425: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.12.0 to 2.13.0
- #1429: build(deps): Bump github.com/hashicorp/go-version from 1.5.0 to 1.6.0
- #1430 #1433: build(deps): Bump sigstore/cosign-installer from 2.4.0 to 2.5.0
- #1431: Installing on mac m1 (@caruccio)
- #1438 #1442: build(deps): Bump github.com/spf13/afero from 1.8.2 to 1.9.2
- #1439: build(deps): Bump golang from 1.18.3-alpine3.15 to 1.18.4-alpine3.15
- #1444: build(deps): Bump alpine from 3.16.0 to 3.16.1
- #1446: Bump cosign to v1.10.0 (@wata727)
v0.38.1
0.38.1 (2022-06-21)
GPG key ID: 8CE69160EB3F2FE9
0.38.0 (2022-06-21)
Enhancements
- #1359: feat: add new rule to check comparisons with empty list (@bmbferreira)
- #1409: formatter(junit): use standard range string in failure message (@bendrucker)
BugFixes
- #1415: tflint: Skip evaluation of module arguments if the module call is not evaluated (@wata727)
- #1416: cmd: Lookup issues by normalized path (@wata727)