Releases: terraform-linters/tflint
v0.48.0
What's Changed
Breaking Changes
- Bump tflint-plugin-sdk to v0.18.0 by @wata727 in #1813
- This change causes the deprecated
IncludeNotCreated
option to be ignored. Most plugin users will not be affected.
- This change causes the deprecated
BugFixes
- langserver: Trap os.Interrupt and syscall.SIGTERM by @wata727 in #1809
- Bump github.com/hashicorp/hcl to v2.18.0 by @wata727 in #1833
- tflint: Allow commas with spaces in annotations by @wata727 in #1834
Chores
- build(deps): Bump alpine from 3.18.0 to 3.18.2 by @dependabot in #1784
- build(deps): Bump google.golang.org/grpc from 1.55.0 to 1.56.0 by @dependabot in #1785
- build(deps): Bump golang.org/x/oauth2 from 0.8.0 to 0.9.0 by @dependabot in #1786
- build(deps): Bump sigstore/cosign-installer from 3.0.5 to 3.1.0 by @dependabot in #1792
- build(deps): Bump google.golang.org/grpc from 1.56.0 to 1.56.1 by @dependabot in #1793
- build(deps): Bump sigstore/cosign-installer from 3.1.0 to 3.1.1 by @dependabot in #1798
- Remove hard-coded versions from integration tests by @wata727 in #1799
- build(deps): Bump golang.org/x/text from 0.10.0 to 0.11.0 by @dependabot in #1806
- build(deps): Bump golang.org/x/crypto from 0.10.0 to 0.11.0 by @dependabot in #1804
- build(deps): Bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 by @dependabot in #1803
- build(deps): Bump google.golang.org/grpc from 1.56.1 to 1.56.2 by @dependabot in #1805
- Remove obsoleted PGP public key by @wata727 in #1800
- Add make release for release automation by @wata727 in #1802
- build(deps): Bump google.golang.org/grpc from 1.56.2 to 1.57.0 by @dependabot in #1815
- build(deps): Bump golang.org/x/crypto from 0.11.0 to 0.12.0 by @dependabot in #1820
- build(deps): Bump golang.org/x/text from 0.11.0 to 0.12.0 by @dependabot in #1821
- build(deps): Bump golang.org/x/oauth2 from 0.10.0 to 0.11.0 by @dependabot in #1822
- deps: upgrade to use go1.21 by @chenrui333 in #1823
- build(deps): Bump github.com/google/uuid from 1.3.0 to 1.3.1 by @dependabot in #1829
- build(deps): Bump golangci/golangci-lint-action from 3.6.0 to 3.7.0 by @dependabot in #1830
Full Changelog: v0.47.0...v0.48.0
v0.47.0
0.47.0 (2023-06-18)
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.
Breaking Changes
- #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.
Enhancements
- #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
Chores
- #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
v0.46.1
v0.46.0
0.46.0 (2023-04-09)
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.
Enhancements
- #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)
Changes
BugFixes
- #1686: sarif: add tool version, exclude empty range/position, slash paths (@bendrucker)
Chores
- #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)
v0.45.0
0.45.0 (2023-02-13)
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.
Enhancements
- #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)
BugFixes
- #1664: plugin: Fix panic when plugin path could not be loaded (@wata727)
- #1678: cmd: Reject all directory arguments with --chdir/--recursive (@wata727)
Chores
- #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
v0.44.1
v0.44.0
0.44.0 (2022-12-26)
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.
Enhancements
- #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)
Changes
- #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,
Chores
- #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)
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