See https://github.com/terraform-linters/tflint/releases for later releases.
This release introduces autofix feature. Running tflint --fix
will automatically fix issues as possible. Note that not all rules support autofix. In order to support autofix, plugins must be built with SDK v0.17+ and implement autofix.
The bundled Terraform ruleset has been updated to v0.4.0 with autofix support. In other words, for Terraform rules, you can use autofix as it is. See the tflint-ruleset-terraform v0.4.0 changelog for details.
- #1749: plugin: Drop support for plugin SDK v0.12/v0.13 (@wata727)
- Plugins built using SDKs v0.12/v0.13 are no longer supported. If you get "SDK version is incompatible" error, you need to update the plugin to use SDK v0.14+.
- #1750 #1781: Bump tflint-plugin-sdk and bundled terraform plugin
- The SDK has been updated to v0.17.0 and the bundled Terraform plugin to v0.4.0. Terraform ruleset v0.3.0 contains breaking changes. Check the changelog for details.
- #1779: cmd: Drop support for CLI arguments (@wata727)
- Argument support has been removed based on the deprecation warning added in v0.46. As of v0.47, it returns an error instead of a warning. See #1687 for details.
- #1751: plugin: support GitHub Enterprise Server as plugin source (@bendrucker)
- #1755: Introduce autofix (@wata727)
- #1773: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.16.2 to 2.17.0
- TFLint v0.47 host server return
cty.Value
now supports refinemnet. This is a change that only affects plugin developers. See HCL v2.17.0 changelog for details.
- TFLint v0.47 host server return
- #1780: terraform: Add support for Terraform v1.5 (@wata727)
- Added support for the
planttimestamp
andstrcontains
functions.
- Added support for the
- #1754 #1766: build(deps): Bump sigstore/cosign-installer from 3.0.2 to 3.0.5
- #1759: build(deps): Bump google.golang.org/grpc from 1.54.0 to 1.55.0
- #1762: build(deps): Bump alpine from 3.17.3 to 3.18.0
- #1763: build(deps): Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0
- #1764: build(deps): Bump golang.org/x/crypto from 0.8.0 to 0.9.0
- #1767: build(deps): Bump github.com/zclconf/go-cty from 1.13.1 to 1.13.2
- #1771: fix(install_linux): Update unzip arguments (@alexjurkiewicz)
- #1772 #1775: build(deps): Bump golangci/golangci-lint-action from 3.4.0 to 3.6.0
- #1774: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.9 to 1.4.10
- #1776: build(deps): Bump golang.org/x/text from 0.9.0 to 0.10.0
- #1746: sarif: fix incorrect
endLine
(@tbutler-qontigo)
- #1738: build(deps): Bump sigstore/cosign-installer from 3.0.1 to 3.0.2
- #1739: build(deps): Bump golang.org/x/crypto from 0.7.0 to 0.8.0
- #1741: build(deps): Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0
- #1743: build(deps): Bump github.com/terraform-linters/tflint-plugin-sdk from 0.16.0 to 0.16.1
This release adds deprecation warnings for future breaking changes. Warn when using command line arguments like tflint dir
and tflint main.tf
. The former can be replaced with tflint --chdir=dir
and the latter with tflint --filter=main.tf
. See #1687 for details.
The GPG key signed signature attached to TFLint releases has been deprecated. This signature will not be added to releases after May 1, 2023. Please migrate to verification with Cosign.
- #1700: plugin: Handle eval errors on the plugin side (@wata727)
- #1722: plugin: Handle sensitive values on the plugin side (@wata727)
- #1730: deps: Bump tflint-plugin-sdk to v0.16.0 (@wata727)
- #1686: sarif: add tool version, exclude empty range/position, slash paths (@bendrucker)
- #1587: Deprecate GPG key signed signature (@wata727)
- #1662: deps: bump to go1.20 (@chenrui333 @bendrucker)
- #1681: docs: Update usage output (@wata727)
- #1682 #1733: build(deps): Bump alpine from 3.17.1 to 3.17.3
- #1683: build(deps): Bump golang.org/x/text from 0.6.0 to 0.7.0
- #1684: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.16.0 to 2.16.1
- #1685 #1729: build(deps): Bump google.golang.org/grpc from 1.52.3 to 1.54.0
- #1691: build(deps): Bump github.com/hashicorp/go-getter from 1.6.2 to 1.7.0
- #1692: build(deps): Bump golang.org/x/net from 0.5.0 to 0.7.0
- #1695 #1714: build(deps): Bump golang.org/x/oauth2 from 0.4.0 to 0.6.0
- #1701: build(deps): Bump github.com/sourcegraph/jsonrpc2 from 0.1.0 to 0.2.0
- #1702 #1712: build(deps): Bump github.com/spf13/afero from 1.9.3 to 1.9.5
- #1704 #1711: build(deps): Bump golang.org/x/crypto from 0.0.0-20220517005047-85d78b3ac167 to 0.7.0
- #1708: docs: revise plugin rate limiting guide (@bendrucker)
- #1710: build(deps): Bump sigstore/cosign-installer from 2.8.1 to 3.0.1
- #1715: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.8 to 1.4.9
- #1717: build(deps): Bump github.com/fatih/color from 1.14.1 to 1.15.0
- #1723: build(deps): Bump actions/setup-go from 3 to 4
- #1724: build(deps): Bump github.com/zclconf/go-cty from 1.12.1 to 1.13.1
- #1736: Fix GoReleaser config for Cosign v2 (@wata727)
This release adds support for some CLI flags. File arguments (e.g. tflint main.tf
) have been deprecated by the new --filter
flag. It works in v0.45 but will be removed in a future version. We recommend migrating to tflint --filter=main.tf
.
All arguments are deprecated from this release. If you're using arguments, you'll need to migrate to the --chdir
or --filter
flags.
This release updates the expiration date of the built-in GPG public key. Existing keys will expire on 2023-05-01, so you are encouraged to update by then.
- #1638: cmd: Add
--filter
option (@wata727) - #1654: cmd: Add
--minimum-failure-severity
flag, sets minimum issue severity for non-zero exit (@nicolajv) - #1671: cmd: Add
--no-module
option (@wata727) - #1679: plugin: Set the GPG key expiration to 2025-05-01 (@wata727)
- #1664: plugin: Fix panic when plugin path could not be loaded (@wata727)
- #1678: cmd: Reject all directory arguments with --chdir/--recursive (@wata727)
- #1642: build(deps): Bump golang.org/x/text from 0.5.0 to 0.6.0
- #1651: build(deps): Bump golangci/golangci-lint-action from 3.3.1 to 3.4.0
- #1652: build(deps): Bump github.com/fatih/color from 1.13.0 to 1.14.1
- #1653: build(deps): Bump alpine from 3.17.0 to 3.17.1
- #1658: docs: Fix typo in architecture guide (@Ankushpandey-ti)
- #1659: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.15.0 to 2.16.0
- #1660: build(deps): Bump google.golang.org/grpc from 1.51.0 to 1.52.3
- #1661: docs: Mention OPA ruleset (@wata727)
- #1666: docs: Add Environment Variables documentation (@wata727)
- #1667: docs: Mention Renovate TFLint plugins support (@wata727)
- #1670: tflint: Allow config to be merged even with initial values (@wata727)
- #1673: build(deps): Bump docker/build-push-action from 3 to 4
- #1674: build(deps): Bump golang from 1.19-alpine3.16 to 1.20-alpine3.16
- #1635: terraform: Fix
path.module
when using--chdir
/--recursive
(@wata727) - #1636: cmd: Fix file arguments handling when using
--chdir
(@wata727)
This release added support for --chdir
and --recursive
flags. Mostly loader related improvements, including some refactorings.
The directory argument (e.g. tflint dir
) has been deprecated. It works in v0.44 but will be removed in a future version. We recommend migrating to tflint --chdir=dir
.
The --recursive
flag is an experimental feature. It may not suit all workflows. We may change behavior frequently to keep improving.
- #1612: cmd: Add
--chdir
option (@wata727)- This change deprecates the directory argument. If you are using
tflint dir
, you should migrate totflint --chdir=dir
. In most cases the directory argument can be replaced with--chdir
. - The directory argument works in v0.44 but will be removed in a future version.
- This change deprecates the directory argument. If you are using
- #1622 #1629: cmd: Add
--recursive
option (@wata727 @bendrucker)- The
--recursive
option is an experimental feature. Behavior may change in future versions.
- The
- #1626: plugin: Add support for GetOriginalwd API (@wata727)
GetOriginalwd()
is available from SDK v0.15.
- #1630: Bump tflint-plugin-sdk to v0.15.0 (@wata727)
- #1631: Bump bundled terraform ruleset to v0.2.2 (@wata727)
- #1610: terraform: Move loader to under the terraform package (@wata727)
- Changed the directory for autoloading value files when using a directory argument. Previously,
terraform.tfvars
and*.auto.tfvars
in the current directory were loaded, but since v0.44, value files in the argument directory are loaded. - In any case, the directory argument is deprecated and we recommend migrating to
--chdir
.
- Changed the directory for autoloading value files when using a directory argument. Previously,
- #1602: build(deps): Bump github.com/spf13/afero from 1.9.2 to 1.9.3
- #1603: build(deps): Bump google.golang.org/grpc from 1.50.1 to 1.51.0
- #1607: docs: Revise developer guide (@wata727)
- #1611: build(deps): Bump alpine from 3.16.3 to 3.17.0
- #1614: build(deps): Bump golang.org/x/text from 0.4.0 to 0.5.0
- #1615: tests: pass $GITHUB_TOKEN (@bendrucker)
- #1620: build(deps): Bump github.com/go-test/deep from 1.0.8 to 1.1.0
- #1621: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.6 to 1.4.8
- #1623: build(deps): Bump goreleaser/goreleaser-action from 3 to 4
- #1627 #1628: chores: Fix flaky CI (@wata727)
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.
- #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)
- #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
- #1568: build(deps): Bump golangci/golangci-lint-action from 3.2.0 to 3.3.0
- #1569: build(deps): Bump sigstore/cosign-installer from 2.8.0 to 2.8.1
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.
- #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)
- #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
- #1510: Move evaluation impl to under the terraform package (@wata727)
- #1523: Update Terraform compatibility notices (@wata727)
- #1514: Ignore default preset by
disabled_by_default
- #1516: Prefer
--only
option over other rules config (@wata727)
- #1509: Remove unused functions (@wata727)
- #1511: build(deps): Bump github.com/google/go-cmp from 0.5.8 to 0.5.9
- #1512: build(deps): Bump sigstore/cosign-installer from 2.5.1 to 2.6.0
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.
- #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
- #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)
- #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)
- #1426: terraform_empty_list_equality: improve expression detection (@bmbferreira)
- #1467 #1475: deps: update to use go1.19 (@chenrui333)
- #1472: Add a notice about verification of keyless signing (@wata727)
- #1476: runner: fix typo (@bendrucker)
- #1466: workflow(homebrew): update to use personal fork (@chenrui333)
- #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)
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.
- #1428: Replace config loader with a new loader (@wata727)
- #1433: terraformrules: Remove dependencies on Terraform internal packages from rules (@wata727)
- #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)
- #1359: feat: add new rule to check comparisons with empty list (@bmbferreira)
- #1409: formatter(junit): use standard range string in failure message (@bendrucker)
- #1415: tflint: Skip evaluation of module arguments if the module call is not evaluated (@wata727)
- #1416: cmd: Lookup issues by normalized path (@wata727)
- #1405: build(deps): Bump alpine from 3.15.4 to 3.16.0
- #1410: build(deps): Bump golang from 1.18.2-alpine3.15 to 1.18.3-alpine3.15
- #1414: build(deps): Bump sigstore/cosign-installer from 2.3.0 to 2.4.0
- #1419: Tweak issue templates (@wata727)
- #1401 #1403: terraform: Add support for Terraform v1.2 syntax (@lonegunmanb @wata727)
- #1378: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.3 to 1.4.4
- #1379: build(deps): Bump docker/metadata-action from 3 to 4
- #1380: build(deps): Bump docker/login-action from 1 to 2
- #1381: build(deps): Bump docker/setup-buildx-action from 1 to 2
- #1382: build(deps): Bump docker/build-push-action from 2 to 3
- #1383: build(deps): Bump docker/setup-qemu-action from 1 to 2
- #1385: Remove a redundant log message (@alexjurkiewicz)
- #1386: build(deps): Bump golangci/golangci-lint-action from 3.1.0 to 3.2.0
- #1387: build(deps): Bump golang from 1.18.1-alpine3.15 to 1.18.2-alpine3.15
- #1389: build(deps): Bump github.com/hashicorp/go-version from 1.4.0 to 1.5.0
- #1390: build(deps): Bump github.com/hashicorp/go-getter from 1.5.11 to 1.6.1
- #1391: build(deps): Bump goreleaser/goreleaser-action from 2 to 3
- #1404: Remove testify (@wata727)
- #1376: Fix unintended errors when enabling Terraform rules by CLI (@wata727)
- #1377: Fix panic when enabling plugins by CLI (@wata727)
- #1369: tflint: Add format option to the config file (@wata727)
- #1370: cmd: Add
--color
option (@wata727)
- #1365: Refactor tflint.LoadConfig (@wata727)
- Previously,
GetRuleConfigContent
always returned reserved attributes (e.g.enabled
), regardless of the passed schema, but new gRPC server will not return them.
- Previously,
- #1368: plugin: Allow accepting IncludeNotCreated option (@wata727)
- #1336: build: Go 1.18 (@wata727)
- #1339 #1347 #1350: build(deps): Bump alpine from 3.15.1 to 3.15.4
- #1344: build: CI only checks docker build for linux/amd64 (@wata727)
- #1346 #1371: build(deps): Bump github.com/terraform-linters/tflint-plugin-sdk from 0.10.0 to 0.11.0
- #1348: discovery: reword message on protocol version err (@bendrucker)
- #1349: build(deps): Bump github.com/hashicorp/go-uuid from 1.0.2 to 1.0.3
- #1360: build(deps): Bump golang from 1.18.0-alpine3.15 to 1.18.1-alpine3.15
- #1361: Add signatures for keyless signing (@wata727)
- #1364: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.11.1 to 2.12.0
- #1366: build(deps): Bump github.com/google/go-cmp from 0.5.7 to 0.5.8
- #1367: build(deps): Bump sigstore/cosign-installer from 2.2.1 to 2.3.0
This release contains major changes to the plugin system. All plugins must be built with tflint-plugin-sdk v0.10.0+ to support this version. See also https://github.com/terraform-linters/tflint-plugin-sdk/releases/tag/v0.10.0
Another important change is the end support of bundled plugins. Users who use the AWS provider should follow this change.
- #1286: plugin: Drop support for bundled plugins (@wata727)
- Previously, you have been able to use rules for AWS resources, including
aws_instance_invalid_type
, without installing tflint-ruleset-aws explicitly. However, after this release, you will need to explicitly install the plugin. - Please note that even if you are affected by this change, you will not see any warnings in this release. Before updating, it is recommended to check if there is a warning that bundled plugin is enabled in the previous version (v0.31.0+). See also #1160
- Previously, you have been able to use rules for AWS resources, including
- #1292 #1312 #1333 #1334 #1335: Add support for gRPC server for the new plugin system (@wata727)
- This change is not important to end-users, but it is important to plugin developers. See the tflint-plugin-sdk's CHANGELOG for detailed changes.
- #1297: formatter(json,sarif): print structured error data (@sxlijin)
- Add
summary
,severity
, andrange
fields to errors in JSON formatter - Add
tflint-errors
driver in SARIF formatter
- Add
- #1290: terraform_required_providers: ignore builtin providers (@bendrucker)
- #1206: Build Docker image for linux/aarch64 (@ivy)
- #1287 #1316 #1320: build(deps): Bump actions/setup-go from 2.1.4 to 3
- #1288 #1293 #1295 #1308 #1327: build(deps): Bump github.com/spf13/afero from 1.6.0 to 1.8.2
- #1289: build(deps): Bump github.com/hashicorp/go-getter from 1.5.9 to 1.5.10
- #1294 #1305: build(deps): Bump github.com/terraform-linters/tflint-ruleset-aws from 0.10.1 to 0.12.0
- But this dependency was removed in this release finally.
- #1296: build(deps): Bump github.com/hashicorp/go-version from 1.3.0 to 1.4.0
- #1298: build(deps): Bump github.com/hashicorp/go-getter from 1.5.10 to 1.5.11
- #1301: build(deps): Bump github.com/google/go-cmp from 0.5.6 to 0.5.7
- #1313: Add missing E2E test cases (@wata727)
- #1318: build(deps): Bump github.com/jstemmer/go-junit-report from 0.9.1 to 1.0.0
- #1319: build(deps): Bump golangci/golangci-lint-action from 2 to 3.1.0
- #1321: feat: get architecture for install (@techsolx)
- #1324: build(deps): Bump actions/checkout from 2 to 3
- #1329: build(deps): Bump github.com/stretchr/testify from 1.7.0 to 1.7.1
- #1330: build(deps): Bump actions/cache from 2.1.7 to 3
- #1331: build(deps): Bump golang from 1.17-alpine3.15 to 1.18.0-alpine3.15
- #1332: build(deps): Bump alpine from 3.15.0 to 3.15.1
- #1277: docs: Update Compatibility guide (@wata727)
- #1278: build(deps): Bump github.com/terraform-linters/tflint-ruleset-aws from 0.10.0 to 0.10.1
- #1279: build(deps): Bump github.com/owenrumney/go-sarif from 1.0.12 to 1.1.1
- #1284: docs: linking
terraform_module_version
rule docs (@PatMyron)
- #1244: build(deps): Bump github.com/owenrumney/go-sarif from 1.0.11 to 1.0.12
- #1247: remove precommit hooks (@bendrucker)
- #1251 #1272: build(deps): Bump github.com/terraform-linters/tflint-ruleset-aws from 0.8.0 to 0.10.0
- #1252: build(deps): Bump github.com/zclconf/go-cty from 1.9.1 to 1.10.0
- #1253: refactor: move from io/ioutil to io and os packages (@Juneezee)
- #1261: add missing rule to index, alphabetize (@nmarchini)
- #1264: build(deps): Bump actions/cache from 2.1.6 to 2.1.7
- #1265 #1273: build(deps): Bump alpine from 3.14.2 to 3.15.0
- #1266: build(deps): Bump github.com/mattn/go-colorable from 0.1.11 to 0.1.12
- #1269: plugin: log when
GITHUB_TOKEN
is set (@bendrucker) - #1271: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.10.1 to 2.11.1
- #1240: formatter: Fix an edge case for SARIF format (@kadrach)
- #1243: tflint: Inherit config when plugins are enabled from CLI (@wata727)
- #1220: build: Remove some os/arch build targets (@wata727)
- End of support for pre-built binaries for the following os/arch
- All arch for FreeBSD/OpenBSD/NetBSD
- windows/arm and windows/arm64
- darwin/386
- End of support for pre-built binaries for the following os/arch
- #1228: Adds SARIF as a supported output format (@kadrach)
- #1229 #1237: build(deps): Bump github.com/terraform-linters/tflint-ruleset-aws from 0.7.1 to 0.8.0
- #1235: config: Add
plugin_dir
config (@wata727)
- #1225: terraform_unused_required_providers: handle module provider overrides (@bendrucker)
- #1226: terraform_module_pinned_source: do not assume gitlab URLs are git protocol (@bendrucker)
- #1222 #1236: build(deps): Bump github.com/hashicorp/go-getter from 1.5.7 to 1.5.9
- #1223: fix incorrect documentation (@darrenjones24)
- #1224 #1230 #1234: build(deps): Bump github.com/mattn/go-colorable from 0.1.8 to 0.1.11
- #1231: build(deps): Bump github.com/fatih/color from 1.12.0 to 1.13.0
- #1218: build: Update GoReleaser version (@wata727)
- v0.32.0 release doesn't include darwin/arm64 build. This change fixes the issue.
- #1191: cmd: Change exit status (@wata727)
- Previously, TFLint returned 2 when an internal error occurred and 3 when an issue was found. From this version, it returns 1 in the former case and 2 in the latter case.
- #1182: add rule: terraform_module_version (@bendrucker)
- #1197: terraform_module_pinned_source: detect invalid URLs (@bendrucker)
- #1201 #1212: build(deps): Bump github.com/terraform-linters/tflint-ruleset-aws from 0.6.0 to 0.7.1
- #1178 #1200: build(deps): Bump alpine from 3.14.0 to 3.14.2
- #1183 #1184: install: allow passing
$TFLINT_INSTALL_PATH
(@bendrucker @williamboman) - #1185: install: support arm64 arch (@williamboman)
- #1186: build(deps): Bump github.com/hashicorp/go-getter from 1.5.6 to 1.5.7
- #1187: build(deps): Bump golang.org/x/text from 0.3.6 to 0.3.7
- #1188: build: bump to use go1.17 (@chenrui333)
- #1195: build(deps): Bump github.com/zclconf/go-cty from 1.9.0 to 1.9.1
- #1199: build(deps): Bump actions/setup-go from 2.1.3 to 2.1.4
- #1205: Remove bundled AWS plugin language from README (@rjhornsby)
- #1208: Tidy up go generate workflow (@bendrucker @chenrui333)
- #1209: Use golangci-lint for linting (@bendrucker @mmorel-35)
- #1214: Enable additional linters (@bendrucker @mmorel-35)
- #1215: build: get cache paths from go env (@bendrucker)
- #1216: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.2 to 1.4.3
- #1169: fix: return error if plugin is not a file (@josh-barker-coles)
- #1156: grammar fix on installation script (@radius314)
- #1158: terraform: Remove unused internal packages impl (@wata727)
- #1161: build(deps): Bump github.com/zclconf/go-cty from 1.8.4 to 1.9.0
- #1164: Update README about Docker images (@wata727)
- #1166: build(deps): Bump github.com/terraform-linters/tflint-plugin-sdk from 0.9.0 to 0.9.1
- #1167: build(deps): Bump github.com/google/uuid from 1.2.0 to 1.3.0
- #1172: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.10.0 to 2.10.1
- #1174: Bump github.com/sourcegraph/jsonrpc2 to v0.1.0 (@wata727)
- #1175: build(deps): Bump github.com/hashicorp/go-getter from 1.5.5 to 1.5.6
This release follows the package internalization of Terraform v1.0, and copied some packages as part of TFLint. As a result, the hashicorp/terraform dependency has remove from go.mod, but the copied packages are still included. Therefore, it does not have a significant impact on users. See #937 for more information.
Also, this release adds a new API for the plugin system. For this update, plugins must be built with tflint-plugin-sdk v0.9.0 to work with TFLint v0.30.0. For details, please see the CHANGELOG of tflint-plugin-sdk.
Finally, the Docker image was previously hosted under wata727/tflint, but has been moved to the GitHub Container Registry. If you are using this image, please migrate to ghcr.io/terraform-linters/tflint.
- #1132: plugin: Expose Files() runner method to Server (@jonathansp)
- #1143: plugin: Allow authenticated requests via GITHUB_TOKEN (@wata727)
- #1148 #1154: Bump bundled AWS ruleset plugin (@wata727)
- #1137: build(deps): Bump alpine from 3.13 to 3.14.0
- #1141: Copy internal packages from Terraform v1.0 (@wata727)
- #1144: build(deps): Bump golang.org/x/text from 0.3.5 to 0.3.6
- #1145: build(deps): Bump github.com/bmatcuk/doublestar from 1.1.5 to 1.3.4
- #1146: build(deps): Bump github.com/zclconf/go-cty from 1.8.3 to 1.8.4
- #1147: build(deps): Bump github.com/fatih/color from 1.10.0 to 1.12.0
- #1149: build(deps): Bump github.com/agext/levenshtein from 1.2.2 to 1.2.3
- #1150: build(deps): Bump github.com/golang/mock from 1.5.0 to 1.6.0
- #1151: build(deps): Bump github.com/google/go-github/v35 from 35.2.0 to 35.3.0
- #1152: build(deps): Bump github.com/hashicorp/go-uuid from 1.0.1 to 1.0.2
- #1153: build(deps): Bump github.com/hashicorp/go-getter from 1.5.3 to 1.5.5
- #1155: docker: Migrate to GitHub Container Registry (@wata727)
- #1131: Fix description for terraform_required_version (@dcousens)
- #1134: build: Add support for darwin/arm64 build (@wata727)
This release introduces the --init
option for installing plugins automatically. This makes it easy to install plugin binaries published on GitHub Release that meet conventions. See Configuring Plugins for details.
- #1119: cmd: Add --init for installing plugins automatically (@wata727)
- #1126: terraform_module_pinned_source: support additional default_branches (@bendrucker)
- #1130: Bump bundled AWS ruleset plugin (@wata727)
- #1120: build(deps): Bump github.com/hashicorp/terraform from 0.15.1 to 0.15.3
- #1121: build(deps): Bump github.com/zclconf/go-cty from 1.8.2 to 1.8.3
- #1124: Refactor terraform_module_pinned_source rule (@bendrucker)
- #1127: install: handle running as root (without sudo) (@bendrucker)
- #1128: build(deps): Bump actions/cache from 2.1.5 to 2.1.6
- #1108: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.9.1 to 2.10.0
- #1109: build(deps): Bump github.com/zclconf/go-cty from 1.8.1 to 1.8.2
- #1110: build(deps): Bump github.com/hashicorp/go-plugin from 1.4.0 to 1.4.1
- #1113: Log at INFO level when TFLint cannot statically evaluate an expression (@bendrucker)
- #1115: Set the GPG key expiration to 2023-05-01 (@wata727)
- #1116: build(deps): Bump github.com/hashicorp/terraform from 0.15.0 to 0.15.1
- #1105: Fix crash when passed --enable-rule with a configured rule (@wata727)
- #1106: Fix crash when passed --only with a configured rule (@wata727)
- #1100: build(deps): Bump actions/cache from v2.1.4 to v2.1.5
- #1104: add integration test for map[string]string attr (@bendrucker)
This release adds support for Terraform v0.15. We strongly recommend that you update to Terraform v0.15 before updating TFLint to this version. See the upgrade guide for details.
- #1085: formatter: Add support for --format compact (@wata727)
- #1093: Bump bundled plugins (@wata727)
- #1080: plugin: Wrap errors to avoid gob encoding errors (@wata727)
- #1084 #1092: plugin: Pass types to EvalExpr (@wata727)
- #1077: build(deps): Bump github.com/google/go-cmp from 0.5.4 to 0.5.5
- #1081 #1091: build(deps): Bump github.com/hashicorp/terraform from 0.14.7 to 0.14.9
- #1082: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.9.0 to 2.9.1
- #1086: update dockerfile to use alpine 3.13 (@chenrui333)
- #1087: update dependabot to manage docker deps (@chenrui333)
- #1088: build(deps): Bump github.com/zclconf/go-cty from 1.8.0 to 1.8.1
- #1089: build(deps): Bump github.com/jessevdk/go-flags from 1.4.0 to 1.5.0
- #1042: Added option to enable plugins from the cli (@janritter)
- #1076: Bump bundled plugins (@wata727)
- #1070: pass --loglevel to plugins as TFLINT_LOG (@bendrucker)
- #1072: tflint: Remove duplicate variable references (@wata727)
- #1057: add stargazers chart (@chenrui333)
- #1058 #1064: build(deps): Bump github.com/hashicorp/terraform from 0.14.5 to 0.14.7
- #1059: build(deps): Bump actions/cache from v2.1.3 to v2.1.4
- #1060: docker: remove unused build tools (@pujan14)
- #1062 #1073: chore: update go to v1.16 (@chenrui333)
- #1065: build(deps): Bump github.com/golang/mock from 1.4.4 to 1.5.0
- #1071: terraform_naming_convention: test with count = 0 (@bendrucker)
- #1074: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.8.2 to 2.9.0
- #1075: build(deps): Bump github.com/zclconf/go-cty from 1.7.1 to 1.8.0
This release fixes some bugs about the plugin system. For this update, the plugin must be built with tflint-plugin-sdk v0.8.0 to work with TFLint v0.24.0. For details, please see the CHANGELOG of tflint-plugin-sdk.
- #1052: Bump tflint-plugin-sdk and bundled plugins (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.24.0, you need to build with tflint-plugin-sdk v0.8.0.
- #1043: Call ApplyConfig before ValidateRules (@richardTowers)
- #1040: Fix panic on empty backend in Config() (@syndicut)
- #1041: Fix gob encoder error on unknown value (@syndicut)
- #1034: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.8.1 to 2.8.2
- #1035 #1044: build(deps): Bump github.com/hashicorp/terraform from 0.14.3 to 0.14.5
- #1046: go: cache builds (@bendrucker)
- #1047: add module/build caching to e2e + gen (@bendrucker)
- #1032: Add workaround for parsing heredoc expressions (@wata727)
- #1033: Bump bundled AWS plugin to v0.1.2 (@wata727)
This release changes the AWS rules implementation into the AWS ruleset plugin. As a result, there are breaking changes to the config for deep checking. If you are using this feature, please declare the plugin
settings in .tflint.hcl
as follows. See the tflint-ruleset-aws plugin configurations for details.
plugin "aws" {
enabled = true
deep_check = true
// Write credentials here...
}
For backward compatibility, The AWS ruleset plugin is bundled with the binary. So you can still use AWS rules without installing the plugin separetely. The plugin is automatically enabled if there are AWS resources in your Terraform configuration, but it can also be turned on explicitly. See #1009 for details.
- #1009: Switch AWS rules implementation to the tflint-ruleset-aws plugin (@wata727)
- #1023: Remove global deep checking options (@wata727)
- Remove
--deep
,--aws-access-key
,--aws-secret-key
,--aws-profile
,--aws-creds-file
, and--aws-region
CLI flags. Please configure these via.tflint.hcl
file. - Remove global
deep_check
andaws_credentials
configs from.tflint.hcl
. Please configure these inplugin
blocks.
- Remove
- #1026: Bump tflint-plugin-sdk and bundled plugins (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.23.0, you need to build with tflint-plugin-sdk v0.7.0.
- #986: plugin: Extend runner API for accessing the root provider (@wata727)
- #1003: plugin: Add support for fetching rule config (@wata727)
- #1007: rule: terraform_unused_required_providers (@bendrucker)
- #1008: plugin: Add
IsNullExpr
API (@wata727) - #1017: plugin: Add
File
API (@wata727)
- #1019: tflint: Add workaround to get the range of
configs.mergeBody
(@wata727) - #1020: tflint: Skip walking expressions of merged bodies (@wata727)
- #1010: build(deps): Bump github.com/hashicorp/hcl/v2 from 2.8.0 to 2.8.1
- #1011: build(deps): Bump github.com/zclconf/go-cty from 1.7.0 to 1.7.1
- #1013: build(deps): Bump github.com/hashicorp/terraform from 0.14.2 to 0.14.3
- #1015: docs: add homebrew badge (@chenrui333)
- #1018: Tweaks E2E testing (@wata727)
- #1021: deps: match afero version to terraform (@bendrucker)
- #1024: Cleanup AWS relevant implementations (@wata727)
- #1025: Revise documentation (@wata727)
This release updates to Terraform 0.14! This adds support for parsing configuration that uses features introduced in Terraform 0.14. See Terraform's changelog for further details.
- #992 #1001: bump terraform from 0.13.5 to 0.14.2 (@bendrucker)
- #989: aws_route_not_specified_target: Add vpc_endpoint_id route target (@Tensho)
- #998: terraform_required_providers: emit error when only source is specified (@bendrucker)
- #999: runner: clean Terraform source path for comparison
- #988: bump github.com/google/go-cmp from 0.5.3 to 0.5.4
- #993 #993: Bump github.com/aws/aws-sdk-go from 1.35.35 to 1.36.2
- #996: bump aws sdk submodule to 1.36.3 (@bmbferreira)
- #994: Bump github.com/hashicorp/hcl/v2 from 2.7.1 to 2.7.2
This release adds support for JSON configuration syntax in plugins. For this update, the plugin must be built with tflint-plugin-sdk v0.6.0 to work with TFLint v0.21.0. For details, please see the CHANGELOG of tflint-plugin-sdk.
- #982: Bump tflint-plugin-sdk to v0.6.0 (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.21.0, you need to build with tflint-plugin-sdk v0.6.0.
- #958: plugin: Add support for JSON configuration syntax (@wata727)
- #959: rules: Add support m6g/r6g DB instance types (@wata727)
- #967: plugin: Allow to declare custom attributes in config files (@wata727)
- #976 #981: Bump terraform-provider-aws to v3.16.0 from v3.11.0 (@bendrucker @wata727)
- #963: langserver: escape language server paths in Windows (@filiptepper)
- #955 #979: Bump github.com/hashicorp/hcl/v2 from 2.6.0 to 2.7.1
- #956 #962 #965 #969 #973 #974 #980: Bump github.com/aws/aws-sdk-go from 1.35.7 to 1.35.33
- #960: Bump github.com/zclconf/go-cty from 1.6.1 to 1.7.0
- #961: Bump github.com/hashicorp/terraform from 0.13.4 to 0.13.5
- #964: Bump github.com/fatih/color from 1.9.0 to 1.10.0
- #966 #970 #978: Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.0.4 to 2.3.0
- #968: Bump github.com/hashicorp/go-plugin from 1.3.0 to 1.4.0
- #971: Bump actions/cache from v2.1.2 to v2.1.3
- #972: Bump github.com/google/go-cmp from 0.5.2 to 0.5.3
- #977: chore: Allow "latest" as TFLINT_VERSION in the installation script (@wata727)
- #931 #952: Bump terraform-provider-aws to v3.11.0 from v3.6.0 (@bendrucker @wata727)
- #954: support for m6g and r6g instance types (@jpatallah)
- #932 #940 #945: Bump github.com/aws/aws-sdk-go from 1.34.27 to 1.35.7
- #938: Bump github.com/mattn/go-colorable from 0.1.7 to 0.1.8
- #939: Bump github.com/hashicorp/terraform from 0.13.3 to 0.13.4
- #941: Bump actions/setup-go from v2.1.2 to v2.1.3
- #944: Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.0.3 to 2.0.4
- #946: Bump github.com/hashicorp/aws-sdk-go-base from 0.6.0 to 0.7.0
- #947: Bump github.com/spf13/afero from 1.4.0 to 1.4.1
- #948: Bump actions/cache from v2.1.1 to v2.1.2
- #910 #924: Adding a rule to check aws_s3_bucket names match a common regex/prefix (@sam-burrell)
- #920: terraform_required_providers: ignore terraform provider (@bendrucker)
- #915 #922: Bump github.com/aws/aws-sdk-go from 1.34.18 to 1.34.27
- #916 #921: Bump github.com/hashicorp/terraform-plugin-sdk/v2 from 2.0.1 to 2.0.3
- #918: Bump tf to v0.13.3 (@chenrui333)
- #923: Bump github.com/spf13/afero from 1.3.5 to 1.4.0
- #925: GCP support status is now experimental (@wata727)
This release introduces a new CLI flag --only
. This allows you to run the analysis with only certain rules enabled.
Also, this release is built with Go v1.15. As a result, darwin/386 build will no longer available from the release. Due to a release process issue, this release does not include pre-built binaries, so please check v0.20.1.
- #913: Bump tflint-plugin-sdk to v0.5.0 (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.20.0, you need to build with tflint-plugin-sdk v0.5.0.
- #875: Capability to only run explicitly-provided rules (@markliederbach)
- #889: required_providers: handle implicit providers (@bendrucker)
- #901 #912: Bump terraform-provider-aws to v3.6.0 from v3.2.0 (@bendrucker @wata727)
- #904: plugin: Add
Provider
field toterraform.Resource
(@wata727) - #911: plugin: Add
Config()
method to the plugin server (@wata727)
- #871: chore(deps): bump go to v1.15 (@chenrui333 @bendrucker)
- #887 #897 #899 #905: Bump github.com/aws/aws-sdk-go from 1.34.5 to 1.34.18
- #891 #902: chore(deps): terraform 0.13.2 (@chenrui333)
- #892: update dependabot to include github action dep support (@chenrui333)
- #893: Bump actions/cache from v1 to v2.1.1
- #894: Bump actions/setup-go from v1 to v2.1.2
- #895: Bump github.com/google/go-cmp from 0.5.1 to 0.5.2
- #900 #906: Bump github.com/zclconf/go-cty from 1.5.1 to 1.6.1
- #903: Updated comments to reflect true intent of three methods (@ritesh-modi)
- #907: Bump github.com/spf13/afero from 1.3.4 to 1.3.5
- #908: Remove replace directive (@jpreese)
- #870: Support custom formats in terraform_naming_convention rule (@angelyan)
- #885: plugin: Clarify plugin's incompatible API version errors (@wata727)
TFLint v0.19 relies on and is compatible with Terraform v0.13! 🎉
This version is also compatible with most Terraform v0.12 configurations without an immediate update to Terraform v0.13. Custom variable validation was officially added in v0.13. Any modules that enabled this featue during the experiment phase must remove the experiment setting to be compatible with Terraform v0.13. Consult the Terraform 0.13.0 changelog for a full list of breaking changes. We recommend all users update when possible.
- #874: Bump tflint-plugin-sdk to v0.4.0 (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.19.0, you need to build with tflint-plugin-sdk v0.4.0.
- #804: Terraform v0.13 (@bendrucker)
- #843: formatter: add support for --format junit (@bendrucker)
- #848: plugin: Expose
Server.ModuleCalls
for SDK (@pd) - #849: deprecated_interpolations: evaluate all block types/expressions (@bendrucker)
- #850: terraform_required_providers: warn on provider.version (@bendrucker)
- #873: Bump terraform-provider-aws to v3.2.0 from v2.70.0 (@wata727)
- #859: standard_module_structure: fix false positives when passing a directory (@bendrucker)
- #854 #864 #865 #876: Bump github.com/aws/aws-sdk-go from 1.33.7 to 1.34.5
- #855: Bump github.com/google/go-cmp from 0.5.0 to 0.5.1
- #856 #861 #866: Bump github.com/spf13/afero from 1.3.1 to 1.3.4
- #862: Bump github.com/golang/mock from 1.4.3 to 1.4.4
- #870: test installation on hashicorp/terraform docker image (@bendrucker)
This release adds Backend()
API for accessing the Terraform backend configuration. If you want to use the API, the plugin must be built with tflint-plugin-sdk v0.3.0. For details, please see the CHANGELOG of tflint-plugin-sdk.
- #845: Bump tflint-plugin-sdk to v0.3.0 (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.18.0, you need to build with tflint-plugin-sdk v0.3.0.
- #838: plugin: Add
Backend()
to plugin server (@pd) - #844: Add
--loglevel
option (@wata727) - #846: Bump terraform-provider-aws to v2.70.0 from v2.68.0 (@wata727)
- #840: tflint: Fix module resolution when terraform init is invoked from another directory (@mkielar)
- #830: Bump github.com/spf13/afero from 1.3.0 to 1.3.1
- #847: Bump github.com/aws/aws-sdk-go from 1.32.12 to 1.33.7
This release contains several improvements for plugins. In order to take advantage of the improved features, the plugin must be built with tflint-plugin-sdk v0.2.0. For details, please see the CHANGELOG of tflint-plugin-sdk.
- #823: Bump tflint-plugin-sdk to v0.2.0 (@wata727)
- This change breaks plugin API backward compatibility. In order for plugins to work against v0.17.0, you need to build with tflint-plugin-sdk v0.2.0.
- #795: rules: RDS on VMware instance types (@PatMyron)
- #796: plugin: Add Blocks API (@wata727)
- #800 #807: plugin: Add Resources API (@iwarapter) (@wata727)
- #801: rules: Add terraform_standard_module_structure rule (@bendrucker)
- #828: Bump terraform-provider-aws to v2.68.0 from v2.65.0 (@wata727)
- #775: plugin: Support text-based expression sending and receiving on the server (@wata727)
- #785: tflint: Do not walk resource attributes if the resource is not created (@wata727)
- #797: plugin: Allow to omit metadata expr on EmitIssue (@wata727)
- #792: Bump github.com/hashicorp/hcl/v2 from 2.5.1 to 2.6.0
- #793: Bump github.com/hashicorp/aws-sdk-go-base from 0.4.0 to 0.5.0
- #794: Bump github.com/hashicorp/hcl/v2 from 2.5.1 to 2.6.0 in /tools
- #799: Bump github.com/zclconf/go-cty from 1.4.2 to 1.5.0
- #803 #809: awsrules: add tags package with generator (@bendrucker)
- #805 #818 #825: Bump github.com/aws/aws-sdk-go from 1.31.7 to 1.32.11
- #806: Replacing loadConfigFromFile return func by cfg variable (@cedarkuo)
- #811: Bump github.com/hashicorp/terraform-plugin-sdk from 1.13.1 to 1.14.0 in /tools
- #812: Bump github.com/google/go-cmp from 0.4.1 to 0.5.0
- #813: Bump github.com/hashicorp/go-version from 1.2.0 to 1.2.1
- #815: Bump github.com/spf13/afero from 1.2.2 to 1.3.0
- #819: Move tools packages into packages they are responsible for generating (@bendrucker)
- #820: readme: replace wget w/ curl in macOS install example (@bendrucker)
- #821 #822: chore(deps): bump terraform to v0.12.28 (@chenrui333)
- #824: Create Dependabot config file
- #826: Bump github.com/mattn/go-colorable from 0.1.6 to 0.1.7
- #784: add terraform_deprecated_index (disallows foo.0) (@bendrucker)
- #787: Change the plugins dir with TFLINT_PLUGIN_DIR environment variable (@wata727)
- #789: Allow no extensions on windows (@jpreese)
- #790: Bump terraform-provider-aws to v2.65.0 from v2.62.0 (@wata727)
- #767: terraform_workspace_remote: document disabling with local execution (@bendrucker)
- #772: Bump tflint-plugin-sdk to v0.1.1 from v0.1.0 (@wata727)
- #773: Bump github.com/hashicorp/terraform-plugin-sdk from 1.12.0 to 1.13.0 in /tools
- #774: Bump github.com/aws/aws-sdk-go from 1.30.29 to 1.31.4
- #776: Bump tf to v0.12.26 (@chenrui333)
- #777: Update install linux script (@cedarkuo)
- #779: Bump github.com/aws/aws-sdk-go from 1.31.4 to 1.31.7
- #780: Bump github.com/zclconf/go-cty from 1.4.1 to 1.4.2
- #782: Update extend.md (@jpreese)
- #762: Add terraform_comment_syntax rule (@bendrucker)
- #745: Expose raw hcl.File objects to rules (@bendrucker)
- See also #741
- #759: Ignore lang.ReferencesInExpr errors when walking all expressions (@bendrucker)
- #763: Make rule config which is enabled with CLI non-nilable (@wata727)
- #753: Bump go to 1.14.3 and alpine to 3.11 (@chenrui333)
- #754: Add support TFLINT_VERSION environment variable to installation script (@wata727)
- #755: Mention about other providers support (@wata727)
- #756: Bump github.com/google/go-cmp from 0.4.0 to 0.4.1
- #757: Bump github.com/hashicorp/hcl/v2 from 2.5.0 to 2.5.1
- #758: Bump github.com/aws/aws-sdk-go from 1.30.24 to 1.30.29
In this release, some great Terraform rules are added by great contributors! Please note that many rules are not enabled by default. You need to set it appropriately according to your policy.
The naming convention rules have been merged into the terraform_naming_convetion
rule, so if you are using the terraform_dash_in_*
rules you will need to change your configuration. See the documentation for details.
- #737: Remove terraform_dash_in_* rules (@wata727)
- The
terraform_dash_in_data_source_name
,terraform_dash_in_module_name
,terraform_dash_in_output_name
, andterraform_dash_in_resource_name
rules have been removed. Use theterraform_naming_convention
rule instead.
- The
- #697: Add terraform_naming_convention rule (@jgeurts)
- #731: Add terraform_required_providers rule (@bendrucker)
- #738: Add terraform_workspace_remote rule (@bendrucker)
- #739: Add terraform_unused_declarations rule (@bendrucker)
- #752: Bump terraform-provider-aws to v2.62.0 from v2.59.0 (@wata727)
- #732: Copy edits for rules docs (@bendrucker)
- #740: testing: compare Rule types and ignore struct fields (@bendrucker)
- #743: Split runner file into multiple files (@wata727)
- #746: Bump github.com/aws/aws-sdk-go from 1.30.14 to 1.30.24
- #747: Bump github.com/hashicorp/hcl/v2 from 2.3.0 to 2.5.0
- #749: Bump github.com/hashicorp/terraform-plugin-sdk from 1.10.0 to 1.12.0 in /tools
- #750: Bump tf to v0.12.25 (@chenrui333)
- #751: Bump github.com/hashicorp/hcl/v2 from 2.3.0 to 2.5.1 in /tools
- #721: Add a rule to enforce Terraform types for variables (@mveitas)
- #725: Adding rule for terraform_required_version (@mveitas)
- #729: Bump terraform-provider-aws to v2.59.0 from v2.56.0 (@wata727)
- #707: Bump github.com/hashicorp/go-plugin from 1.2.0 to 1.2.2
- #727: Bump github.com/hashicorp/terraform-plugin-sdk from 1.9.0 to 1.10.0 in /tools
- #730: Bump github.com/aws/aws-sdk-go from 1.30.3 to 1.30.14
- #685: Add dash checks for data sources and modules (@gkze)
- #702: Bump terraform-aws-provider to v2.56.0 from v2.54.0 (@wata727)
- #684: Automate homebrew formula upgrade process (@chenrui333)
- #686: Fixes the example of excluding resource types (@bwhaley)
- #690: Bump github.com/hashicorp/terraform-plugin-sdk from 1.8.0 to 1.9.0 in /tools
- #699: Bump github.com/aws/aws-sdk-go from 1.29.29 to 1.30.3
- #676: Bump terraform to v0.12.24 (@chenrui333)
- #681: Bump terraform-provider-aws to v2.54.0 from v2.53.0 (@wata727)
- #682: Bump github.com/aws/aws-sdk-go from 1.29.24 to 1.29.29
- #670: Adds support for aws_autoscaling_group tag blocks and tags attributes (@bwhaley)
- #679: Add bucket-owner-full-control to allowed S3 ACLs (@sds)
- #680: Add bucket-owner-read to allowed S3 ACLs (@wata727)
- #664: Use checkout action v2 (@chenrui333)
- #671: Bump github.com/golang/mock from 1.4.1 to 1.4.3
- #675: Bump github.com/hashicorp/go-plugin from 1.1.0 to 1.2.0
- #650: Bump github.com/zclconf/go-cty from 1.3.0 to 1.3.1
- #653: Bump terraform to v0.12.23 (@chenrui333)
- #665: Bump github.com/aws/aws-sdk-go from 1.28.9 to 1.29.24
- #667: Bump terraform-provider-aws to v2.53.0 from v2.50.0 (@wata727)
- #647: Bump github.com/hashicorp/go-plugin from 1.0.1 to 1.1.0
- #649: Bump golang to v1.14 (@chenrui333)
- #657: Run linters in GitHub Actions (@wata727)
- #660: Bump github.com/hashicorp/terraform-plugin-sdk from 1.7.0 to 1.8.0 in /tools
- #666: Add install guide for Windows (choco install) (@aaronsteers)
- #630: Bump github.com/zclconf/go-cty from 1.2.1 to 1.3.0
- #640: Bump github.com/golang/mock from 1.4.0 to 1.4.1
- #641: Bump github.com/mattn/go-colorable from 0.1.4 to 0.1.6
This release introduces advanced rule configuration syntax. This allows you to customize each rule with its own options. At the moment, only the terraform_module_pinned_source
rule has its own options. See documentation for details.
- #624: Merge terraform_module_semver_source into terraform_module_pinned_source (@wata727)
- The
terraform_module_semver_source
rule has been removed. Instead, use theterraform_module_pinned_source
rule withsemver
style option.
- The
- #609: Add new terraform_deprecated_interpolation rule (@wata727)
- #619: Show the actual value in messages (@wata727)
- #629: Bump terraform to v0.12.21 (@chenrui333)
- #617: Check for tags on AWS resources (@bwhaley)
- #635: Bump terraform-provider-aws to v2.50.0 from v2.46.0 (@wata727)
- #607: Add FAQ (@wata727)
- #608: Remove go111module on env variable in Dockerfile (@cedarkuo)
- #610: Add docker build actions (@wata727)
- #637: Regenerate tags rule (@wata727)
This release ships an experimental plugin system again! The new plugin system supports all operating systems and works perfectly correctly. See the documentation about how to use and create plugins.
- #568: Add new rule: terraform_dash_in_output_name (@osulli)
- #578: Bump github.com/fatih/color from 1.7.0 to 1.9.0
- #579 #597: Bump terraform to v0.12.20 (@chenrui333)
- #585: Introduce go-plugin based plugin system (@wata727)
- #601: Bump github.com/aws/aws-sdk-go from 1.26.8 to 1.28.9
- #605: Bump terraform-provider-aws to v2.46.0 from v2.43.0 (@wata727)
- #519: Set up cache and artifact action (@wata727)
- #573: Bump github.com/hashicorp/hcl/v2 from 2.0.0 to 2.3.0 in /tools
- #576: Bump github.com/google/go-cmp from 0.3.1 to 0.4.0
- #583: Bump golang to v1.13.6 for Docker image (@chenrui333)
- #594: Bump github.com/golang/mock from 1.3.1 to 1.4.0
- #603: Bump github.com/hashicorp/terraform-plugin-sdk from 1.4.1 to 1.6.0 in /tools
- #563: Add elasticache support for t3 family (@BrunoChauvet)
- #564: Bump github.com/aws/aws-sdk-go from 1.25.48 to 1.26.8
- #565: Bump terraform-provider-aws to v2.43.0 from v2.41.0 (@wata727)
- #545: Bump terraform to v0.12.18 (@chenrui333)
- #542: Fix the pre-commit hook (@Dunedan)
- #556: Remove legacy TF 0.11 fields from module records (@madddi)
- #526 #532: Bump terraform to v0.12.17 from v0.12.15 (@chenrui333)
- #537: Bump github.com/aws/aws-sdk-go from 1.25.31 to 1.25.48
- #541: Bump terraform-provider-aws to v2.41.0 from v2.36.0 (@wata727)
- #530: update the docker image name (@ozbillwang)
- #534: Bump the base image to v1.13.5 (@chenrui333)
- #535: Pin actions/checkout@v1 (@wata727)
This is the first release in the terraform-linters organization. This release includes an experimental plugin system. You can easily add custom rules using the Go plugin system. Please see here for the detail.
- #496: Check invalid rule names (@abitrolly)
- #500: Experimental plugin support (@wata727)
- #506 #514: Bump github.com/aws/aws-sdk-go from 1.25.4 to 1.25.31 (@chenrui333,@wata727)
- #506 #523: Bump terraform to v0.12.15 from v0.12.10 (@chenrui333,@wata727)
- #518: Add an optional checker for semver versions (@alexwlchan)
- #522: Bump terraform-provider-aws from v2.32.0 to v2.36.0 (@wata727)
- #517: When checking if a source is pinned, allow for Mercurial/Bitbucket (@alexwlchan)
- #488: Update base image to alpine v3.10 (@chenrui333)
- #503: add note about recursive check (@IslamAzab)
- #515: Rename import path (@wata727)
- #516: Run tests on GitHub Actions (@wata727)
- #520: oneliner linux should follow redirects when fetching latest release (@alexsn)
- #467: Bump github.com/mattn/go-colorable from 0.1.2 to 0.1.4
- #476: Bump github.com/hashicorp/aws-sdk-go-base from 0.3.0 to 0.4.0
- #482: TFLint is now compatible with Terraform v0.12.10
- See https://github.com/hashicorp/terraform/releases/tag/v0.12.10
- Support new built-in functions:
parseint
andcidrsubnets
- #484: Bump terraform-provider-aws from v2.30.0 to v2.32.0
- #471: Bump TFLint version in issue template (@abitrolly)
- #474: Switch to HCL 2.0 in the HCL repository (@explodingcamera)
- #487: Test tools in GitHub Actions
This release includes an experimental Language Server Procotol support. Using LSP makes it easy to integrate TFLint with your favorite editor. Currently, only diagnostics are provided.
- #454: Remove deprecated
ignore-rule
option--ignore-rule
CLI flag and config attribute are removed. Please use--disable-rule
, or define arule
block withenabled = false
in your TFLint config file.- Note that
--disable-rule
behaves differently than--ignore-rule
. Since--ignore-rule
is deprecated, it was overridden by the value defined in rule blocks, but--disable-rule
always takes precedence.
- #439: Experimental language server support
tflint --langserver
launches a Language Server which speaks LSP v3.14.0.
- #455: Add
--enable-rule
and--disable-rule
options - #456: Allow specifying multiple
--ignore-module
and--var-file
flags- You can use these flags multiple times. The previous style is still valid for backward compatibility.
- #459: rule: Add m5, r5, and z1d RDS instance families and m3 and r3 families will be previous generations
- #460: rule: Add m3 and r3 ElastiCache node types as previous generations
- #461: rule: Add m3, c3, g2, r3, and i2 EC2 instance families as previous generations
- #462: rule: Add aws-exec-read bucket ACL as a valid value
- #463: Bump terraform-provider-aws from v2.28.1 to v2.30.0
- Add g4dn instance family
- The limit of length for config rule name will be changed 128 characters from 64
- Add regexp validation for config rule name
- #449: docs: Add annotations page
- #450: Add issue templates
- #451: docs: Assume role is supported
- #457: Tweak log levels
- #458: Remove project package
- #445: TFLint is now compatible with Terraform v0.12.9
- #446: Bump terraform-provider-aws from v2.27.0 to v2.28.1
- No changes for rules
- #442: aws_s3_bucket_invalid_region_rule: Fix false positives
- #443: config: Fix panic when the expression includes invalid references
- #435: docs: Add Linix oneliner to download latest
tflint
(@abitrolly) - #437: docs: Fix typo in dash rule (@abitrolly)
- #429 #433: build: Upgrade to go 1.13 (@chenrui333)
- #431: build: Disable CGO in GoReleaser (@craigfurman)
This release includes major changes to the output format. In particular, third-party tool developers should be aware of changes to the JSON output format. Please see the "Breaking Changes" section for details.
- #396: Emit issues to the root module instead of each module
- Previously issues found inside a module were reported along with the line number for that module, but it now reports on root module arguments that caused issues with the module.
- #407: formatter: Multiple errors and context-rich pretty print
- The output format of default and JSON has been changed. See the pull request for details.
- #413: Remove
--quiet
option- This behavior is the default for new output formats.
- #395: config: Add support for
path.*
named values - #415: Add
--no-color
option - #421: Add mappings for new resources
- 44 rules have been added.
- #424: TFLint is now compatible with Terraform v0.12.8
- #426: Bump terraform-provider-aws from v2.25.0 to v2.27.0
aws_cur_report_definition_invalid_s3_region
rule now allowsap-east-1
as a valid value.aws_instance_invalid_type
,aws_launch_configuration_invalid_type
andaws_launch_template_invalid_instance_type
rules now allowi3en.metal
as a valid value.aws_ssm_parameter_invalid_tier
rule now allowsIntelligent-Tiering
as a valid value.
- #423: client: Add support for role assumption
- The
assume_role
block in theprovider
block is now taken into account.
- The
- #410: Automatically generate API-based rules
- #411: Add tools task to Makefile and clean up
- #412: docs: Tweak documentations
- #414: docs: Fix exit status
- #417: Refactoring tests
- #419: Bump github.com/spf13/afero from 1.2.1 to 1.2.2
- #428: Correct ineffassign (@gliptak)
- #406: Remove GoReleaser before hooks
- #404: Bump terraform-provider-aws from v2.24.0 to v2.25.0
- No changes for rules.
- #405: Bump terraform from v0.12.6 to v0.12.7
- New functions
regex
andregexall
are available. - See https://github.com/hashicorp/terraform/releases/tag/v0.12.7
- New functions
- #394: Remove image task from Makefile
- #397: Bump github.com/hashicorp/terraform from 0.12.6 to 0.12.7 in /tools
- #399: Release via GitHub Actions
- #401: Manually maintain updated SDK-based validation rules
- #393: Eval provider attributes
- There is a bug that returned an error when using a variable in the
provider
block attributes.
- There is a bug that returned an error when using a variable in the
- #361: Get an AWS session in the same way as Terraform
- It will take a region and access keys in the
provider
block written in configuration files into account. - Added support for ECS/CodeBuild task roles and EC2 roles.
- There are breaking changes to credential priorities. It affects under the following cases:
- If you have a region or access keys in the
provider
block, it prefers them over environment variables and shared credentials. - If there are environment variables and shared credentials, it prefers the environment variables. Previously, it prefers shared credentials.
- If you have a region or access keys in the
- It will take a region and access keys in the
- #378: Remove aws_instance_default_standard_volume rule
- #379: Remove aws_db_instance_readable_password rule
- #384: Add terraform_dash_in_resource_name rule (@kulinacs)
- This rule is disabled by default.
- #388: Bump terraform-provider-aws from v2.20.0 to v2.24.0
- Added
me-south-1
as a valid region inaws_route53_health_check_invalid_cloudwatch_alarm_region
rule andaws_route53_zone_association_invalid_vpc_region
rule. - Added
capacityOptimized
as a valid strategy inaws_spot_fleet_request_invalid_allocation_strategy
rule.
- Added
- #387: Bump github.com/google/go-cmp from 0.3.0 to 0.3.1
- #389: Add Terraform compatibility badge
- #390: Remove legacy module walkers
- #375: Update dependencies to Terraform 0.12.6 (@lawliet89)
- Resource
for-each
syntax doesn't report an error, but TFLint still ignoreeach.*
expressions. - See https://github.com/hashicorp/terraform/releases/tag/v0.12.6
- Resource
- #377: Bump terraform-provider-aws from v2.20.0 to v2.22.0
aws_secretsmanager_secret_invalid_policy
rule now allows up to 20480.aws_secretsmanager_secret_version_invalid_secret_string
rule now allows up to 10240.aws_ssm_maintenance_window_target_invalid_resource_type
rule now allowsRESOURCE_GROUP
as a valid type.
- #368: Update brew instructions (@arbourd)
- TFLint's formula is now hosted by
homebrew/core
🎉
- TFLint's formula is now hosted by
- #373: Bump github.com/hashicorp/terraform from 0.12.5 to 0.12.6 in /tools
- #360: Allow settings shared credentials file path
- Added
--aws-creds-file
in CLI flags - Added
shared_credentials_file
in config attributes
- Added
- #365: TFLint is now compatible with Terraform v0.12.5
- #367: TFLint is now compatible with Terraform AWS provider v2.20.0
- Updated
aws_cloudwatch_metric_alarm_invalid_comparison_operator
rule
- Updated
- #348: Update launch configuration instance types
- #350: Add terraform_documented_variables/outputs rules
- #356: Bump terraform-aws-provider from v2.16.0 to v2.18.0
- #355: Fix a false positive for
log-delivery-write
ACL
This release includes breaking changes due to the removal of some CLI flags and options. Please see the "Breaking Changes" section for details.
As a major improvement, added 700+ rules in this release. These rules are automatically generated from aws-sdk validations and can be used without deep checking. For example, you can check whether a resource name matches the regular expression, whether it satisfies length constraints, whether it is included in the list of valid values, etc. before running terraform plan
or terraform apply
.
- #310: Remove
--fast
option- It disables only
aws_instance_invalid_ami
when passed this flag. But the rule is already faster in v0.8.2. Therefore, this flag is not necessary.
- It disables only
- #311: Remove terraform_version option
terraform_version
option is no longer used.
- #313: Make non-zero exit status default if issues found
- Previously, it has return 0 as exit status even if an issue was found, but now it will return 2.
- If you would like to keep the previous behavior, you can use
--force
option.
- #329: Disable module inspection by default
- You no longer need to run
terraform init
just to runtflint
. - If you also want to check module calls, pass the
--module
option. In that case, you need to runterraform init
as before.
- You no longer need to run
- #340: Replace aws_cloudwatch_metric_alarm_invalid_init with auto-generated
- The output message has changed, but there has been no other change.
- #274: Auto generate rules from AWS API models
- These rules are based on Terraform AWS provider v2.16.0.
- #332, #336: TFLint is now compatible with Terraform v0.12.3
- #343: Update valid instance type list
- #341: Fix false negatives in the S3 invalid ACL rule
- #326: Set up CI with Azure Pipelines
- #337: Check mapping attribute types
- #339: Remove appveyor.yml
- #338: Mappings are checked based on Terraform v0.12.3 schema
- #345: Revise documentations
- #318: Added 3 checks for AWS Launch Configuration. (@krzyzakp)
aws_launch_configuration_invalid_iam_profile
aws_launch_configuration_invalid_image_id
aws_launch_configuration_invalid_type
- #321: Add
--var
options. - #322: Add new rule: aws_s3_bucket_invalid_acl. (@ineffyble)
- #324: TFLint is now compatible with Terraform v0.12.1.
- #320: Avoid InvalidAMIID errors.
- #319: Added pre-commit hooks. (@krzyzakp)
- #323: Bump github.com/aws/aws-sdk-go from 1.19.41 to 1.19.46
- #308: Make aws_instance_invalid_ami rule faster.
- The
--fast
option to disable this rule will be removed in v0.9.
- The
- #309: Accept a directory as an argument.
- #298: Revise docker image.
- #300: Bump github.com/mattn/go-colorable from 0.1.1 to 0.1.2.
- #301: Bump github.com/mitchellh/go-homedir from 1.0.0 to 1.1.0.
- #302: Bump github.com/aws/aws-sdk-go from 1.19.18 to 1.19.41.
- #303: Bump github.com/k0kubun/pp from 2.3.0+incompatible to 2.4.0+incompatible.
- #304: Bump github.com/hashicorp/go-version from 1.1.0 to 1.2.0.
- #305: Bump github.com/golang/mock from 1.2.0 to 1.3.1.
- #306: Bump github.com/google/go-cmp from 0.2.0 to 0.3.0.
- #307: Remove mock package.
- #277: Ignore annotation support.
tflint-ignore: rule_name
annotation is now availble. See README.md.
- #293: Fix false negatives when
aws_instance_default_standard_volume
rule checksdynamic
blocks. - #297: Fix panic when checking whether an expression is null.
- #292: Migrating to Go Modules.
This release includes major changes due to being dependent on Terraform v0.12 internal API. While we try to keep backward compatibility as much as possible, it does include some breaking changes.
We strongly recommend upgrading to Terraform v0.12 before trying TFLint v0.8. terraform 0.12upgrade
is helpful to upgrade your configuration files.
- Always return an error when failed to evaluate an expression.
- Until now, except for module arguments, even if an error occurred, it was ignored.
- Expressions including unsupported named values (such as
${module.foo}
) are not evaluated, so no error occurs.
- Drop support for
${terraform.env}
.- Previously
${terraform.env}
was a valid expression that returned the same as${terraform.workspace}
. - This is because Terraform v0.12 doesn't support
${terraform.env}
.
- Previously
- The file name of a module includes module ID instead of the source attribute.
- Up to now it was output like
github.com/terraform-linters/example-module/instance.tf
, but it will be changed likemodule_id/instance.tf
.
- Up to now it was output like
- Always parse all configuration files under the current directory.
- When passing a file name as an argument, TFLint only parsed that file so far, but it now parses all configuration files under the current directory.
- Also, file arguments are only used to filter the issues obtained. Therefore, you cannot pass files other than under the current directory.
- As a known issue, If file arguments are passed, module's issues are not reported. This will be improved by changing handling of module's issues in the future.
- These behaviors have been changed as it depends on Terraform's
configload
package. - In addition, modules are always loaded regardless of
ignore_module
.
- Raise an error when using invalid syntax as a Terraform configuration.
- For example, it didn't raise an error when using
resources
(notresource
) block because it is valid as HCL syntax in previous versions.
- For example, it didn't raise an error when using
- Remove
--debug
option.- Please use
TFLINT_LOG
environment variables instead.
- Please use
- Raise an error when a file passed by
--config
does not exist.- Previously the error was ignored and the default config was referenced.
- Remove duplicate resource rules.
- This is due to technical difficulty and user experience.
- HCL2 support
- Built-in Functions support
- Until now, if an expression includes function calls, it was ignored.
TF_DATA_DIR
andTF_WORKSPACE
environment variables are now available.- Until now, these variables are ignored.
- It is now possible to handle values doesn't have a default without raising errors.
- In the past, an error occurred when there was a reference to a variable that had no default value in an attribute of a module. See #205
- Terraform v0.11 module support
- Until now, it is failed to properly load a part of Terraform v0.11 module. See also #167
- Support for automatic loading
*.auto.tfvars
files.- Previously it was not loaded automatically.
- Improve expression checks
- Stop overwriting the config under the current directory by the config under the homedir.
- Fixed the problem that overwrites the config under the current directory by homedir config.
- Improve to check for
aws_db_instance_readable_password
.- Previously, false positive occurred when setting values files or environment variables, but this problem has been fixed.
- Make
transit_gateway_id
as a valid target onaws_route_specified_multiple_targets
- #276: Update aws_route_not_specified_target to handle transit_gateway_id. (@davewongillies)
- Add support for db.m5 series db types (#258)
- Update ec2-instances-info dependency (#257)
- Add "features" word to docs for people explicitly looking (#237)
- Update valid instance list (#226)
- Add new
rule
configuration syntax (#197)
- Recommend
rule
syntax instead ofignore_rules
in README (#200)
- Support terraform.workspace variable (#181)
- Accept glob and multiple input (#183)
- Fallback to config under the home directory (#186)
- Add new --quiet option (#190)
- Remove aws_instance_not_specified_iam_profile (#180)
- Handle color for Windows (#184)
- Fix interpolation checking (#189)
- Detect pinned sources using regular expressions (#194)
- Handle empty config file (#166)
- Support module path for v0.11.0 (#161)
- Ignore module initialization when settings
ignore_module
(#163)
- Use
cristim/ec2-instances-info
instead of hard-coded list (#159)
- Use
strings.Trim
instead ofstrings.Replace
(#158)
- Set Docker container default workdir to /data (#152)
- Add ca-certificates to Docker image for TLS requests to AWS (#155)
Re-release due to #151
There is no change in the code from v0.5.0
Minor version update. This release includes environment variable support.
Patch version update. This release includes Terraform v0.10.6 supports.
- Fix unclear error messages (#137)
Patch version update. This release includes a hotfix.
- Fix panic for integer variables interpolation (#131)
Patch version update. This release includes terraform meta information interpolation syntax support.
- Add AwsECSClusterDuplicateNameDetector (#128)
- Update deps (#130)
Minor version update. This release includes big core API changes.
- Overrides module (#118)
- Add document link and detector name on output (#122)
- Add Terraform version options (#123)
- Report
aws_instance_not_specified_iam_profile
only whenterraform_version
is less than 0.8.8 (#124)
- Provide abstract HCL access (#112)
- Fix override logic (#117)
- Fix some output messages and documentation (#125)
Patch version update. This release includes hotfix for module evaluation.
- DO NOT USE Evaluator 🙇 (#114)
Patch version update. This release includes new detectors and bugfix for module.
- Support F1 instances (#107)
- Interpolate module attributes (#105)
Patch version update. This release includes new detectors for aws_route
- Add AwsRouteInvalidRouteTableDetector (#90)
- Add AwsRouteNotSpecifiedTargetDetector (#91)
- Add AwsRouteSpecifiedMultipleTargetsDetector (#92)
- Add AwsRouteInvalidGatewayDetector (#93)
- Add AwsRouteInvalidEgressOnlyGatewayDetector (#94)
- Add AwsRouteInvalidNatGatewayDetector (#95)
- Add AwsRouteInvalidVpcPeeringConnectionDetector (#96)
- Add AwsRouteInvalidInstanceDetector (#97)
- Add AwsRouteInvalidNetworkInterfaceDetector (#98)
- Fix panic when security groups are on EC2-Classic (#89)
- Transfer from hakamadare/tflint to terraform-linters/tflint (#84)
Patch version update. This release includes support for shared credentials.
Patch version update. This release includes hotfix.
- Fix panic when parsing empty list (#78)
Patch version update. This release includes support for tfvars.
- Add Dockerfile (#59)
- Fix link (#60)
- Update help message (#61)
- Move cache from detector to awsclient (#62)
- Refactoring detector (#65)
- glide up (#68)
- Update go version (#69)
Minor version update. This release includes core enhancements for terraform state file.
- Add RDS readable password detector (#46)
- Add duplicate security group name detector (#49)
- Add duplicate ALB name detector (#52)
- Add duplicate ELB name detector (#54)
- Add duplicate DB Instance Identifier Detector (#55)
- Add duplicate ElastiCache Cluster ID detector (#56)
- r4.xlarge is valid type (#43)
Patch version update. This release includes new argument options.
- add db instance invalid type detector (#32)
- add rds previous type detector (#33)
- add invalid type detector for elasticache (#34)
- add previous type detector for elasticache (#35)
- Return error code when issue exists (#31)
- fix install version (#30)
- CLI Test By Interface (#36)
- Fix --error-with-issues description (#37)
- glide up (#38)
Minor version update. This release includes enhancements and several fixes
- add AWS Instance Invalid AMI deep detector (#7)
- add invalid key name deep detector (#11)
- add invalid subnet deep detector (#12)
- add invalid vpc security group deep detector (#13)
- add invalid security group detector for ELB (#16)
- add invalid subnet detector for ELB (#17)
- add invalid instance detector for ELB (#18)
- add invalid security group detector for ALB (#20)
- add invalid subnet detector for ALB (#21)
- add invalid security group detector for RDS (#22)
- add invalid DB subnet group detector for RDS (#23)
- add invalid parameter group detector for RDS (#24)
- add invalid option group detector for RDS (#25)
- add invalid parameter group detector for ElastiCache (#27)
- add invalid subnet group detector for ElastiCache (#28)
- add invalid security group detector for ElastiCache (#29)
- Support t2 and r4 types (#5)
- Improve ineffecient module detector method (#10)
- do not call API when target resources are not found (#15)
- support list type variables evaluation (#19)
- Fix panic deep detecting with module (#8)
- Fix
Fatalf
format in test (#3) - Remove Zero width space in README.md (#4)
- Fix typos (#6)
- documentation (#26)
Initial release
- Add Fundamental features
- Nothing
- Nothing
- Nothing