Skip to content

Releases: terraform-linters/tflint-plugin-sdk

v0.15.0

26 Dec 07:05

Choose a tag to compare

0.15.0 (2022-12-26)

Enhancements

  • #224: Add GetOriginalwd method

Chores

  • #214: Bump github.com/hashicorp/hcl/v2 from 2.14.1 to 2.15.0
  • #219: Bump google.golang.org/grpc from 1.50.1 to 1.51.0
  • #220: Bump github.com/hashicorp/go-plugin from 1.4.5 to 1.4.8
  • #221: Bump github.com/go-test/deep from 1.0.8 to 1.1.0
  • #222: Bump github.com/hashicorp/go-hclog from 1.3.1 to 1.4.0
  • #223: Bump golang.org/x/tools from 0.1.12 to 0.4.0

v0.14.0

23 Oct 08:09

Choose a tag to compare

0.14.0 (2022-10-23)

This release includes several new features for plugin developers. Introduced the Schema Mode to get all attributes, and added an option to set constraints on compatible TFLint versions. These may not work with older TFLint versions, so set version constraints as needed.

The evaluation of each.* and count.* added in TFLint v0.42 requires plugins built with this version. In earlier versions, these values are always unknown.

IncludeNotCreated in GetModuleContentOption has been deprecated. Use ExpandModeNone instead. The old option will still work, but will be removed in a future version.

Enhancements

  • #201: hclext: Add schema mode to BodySchema
    • This is available only for TFLint v0.42+. Schema mode is ignored in earlier versions. Set >= 0.42.0 as a version constraint if you cannot tolerate being ignored.
  • #202: host2plugin: Allow plugins to set host version constraints
    • This is available only for TFLint v0.42+. Version constraints are ignored in earlier versions. Note that version constraints may not work in v0.40, v0.41.
  • #203: host2plugin: Add SDKVersion
  • #205: hclext: Add hclext.BoundExpr
    • This is necessary due to the evaluation of each.* and count.* added in TFLint v0.42. Plugins not built with SDK v0.14+ will always evaluate to unknown values.
  • #206: hclext: Add Copy() to structures
  • #207: hclext: Add WalkAttribute to hclext.BodyContent
  • #208: plugin2host: Add ExpandMode to GetModuleContentOption
    • IncludeNotCreated is deprecated. Use ExpandModeNone instread.

Chores

  • #199: Bump github.com/hashicorp/hcl/v2 from 2.14.0 to 2.14.1
  • #200: Bump github.com/hashicorp/go-hclog from 1.3.0 to 1.3.1
  • #209: Bump google.golang.org/grpc from 1.49.0 to 1.50.1

v0.13.0

17 Sep 12:54

Choose a tag to compare

0.13.0 (2022-09-17)

Enhancements

  • #198: host2plugin: Allow ruleset to accept Only option
    • This change is necessary due to a priority bug with the --only option. Most plugins are unaffected by this change.

Chores

  • #197: Bump github.com/google/go-cmp from 0.5.8 to 0.5.9

v0.12.0

07 Sep 14:49

Choose a tag to compare

0.12.0 (2022-09-07)

This release adds GetModulePath() API. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.40+.

See also terraform-linters/tflint-ruleset-template#62 for an example of upgrading the SDK.

Breaking Changes

  • #171: Add GetModulePath method
  • #188: Bump protocol version

Enhancements

  • #169: hclext: Add hclext.Blocks's OfType helper
  • #170: hclext: Add AsNative helper
  • #172: tflint: Add GetProviderContent helper
  • #174: tflint: Add tflint.ErrSensitive
  • #177: helper: Add support for JSON syntax in TestRunner
  • #178: Allow calling DecodeRuleConfig without rule config
  • #180: terraform: Add lang.ReferencesInExpr
  • #181: tflint: Add WalkExpressions function

BugFixes

  • #190: logger: Do not set location offset in go-plugin

Chores

  • #161 #182: Bump github.com/hashicorp/go-plugin from 1.4.3 to 1.4.5
  • #166 #194: Bump github.com/hashicorp/hcl/v2 from 2.12.0 to 2.14.0
  • #168 #187: Bump google.golang.org/grpc from 1.46.0 to 1.49.0
  • #173 #195: Bump github.com/hashicorp/go-hclog from 1.2.0 to 1.3.0
  • #175: Bump google.golang.org/protobuf from 1.28.0 to 1.28.1
  • #176: build: go 1.19
  • #179: build: Use go-version-file instead of go-version
  • #183: Bump golang.org/x/tools from 0.1.11 to 0.1.12
  • #184: Bump github.com/go-test/deep from 1.0.3 to 1.0.8
  • #185: Remove unused ruleset function
  • #186: Bump github.com/zclconf/go-cty from 1.10.0 to 1.11.0

v0.11.0

05 May 07:33

Choose a tag to compare

0.11.0 (2022-05-05)

Enhancements

  • #160: tflint: Add IncludeNotCreated option to GetModuleContent

Chores

  • #150: Bump google.golang.org/protobuf from 1.27.1 to 1.28.0
  • #154: Bump actions/setup-go from 2 to 3
  • #155: Bump google.golang.org/grpc from 1.45.0 to 1.46.0
  • #156: Bump github.com/hashicorp/hcl/v2 from 2.11.1 to 2.12.0
  • #157: plugin2host: Return sources instead of *hcl.File in GetRuleConfigContent
  • #158: Bump github.com/google/go-cmp from 0.5.7 to 0.5.8
  • #159: Bump github/codeql-action from 1 to 2

v0.10.1

02 Apr 12:29

Choose a tag to compare

0.10.1 (2022-04-02)

BugFixes

  • #153: helper: Skip un-used variable block attributes

v0.10.0

27 Mar 07:16

Choose a tag to compare

0.10.0 (2022-03-27)

This release contains a major update to the plugin system. Previously, this SDK uses traditional net/rpc + gob, but now it uses gRPC + Protocol Buffers.

The API also contains many incompatible changes. See terraform-linters/tflint-ruleset-template#48 for how to migrate. TFLint v0.35+ is required to work with new plugin systems.

Breaking Changes

Chores

  • #133 #145: build: Go 1.18
  • #134: Bump github.com/hashicorp/go-plugin from 1.4.2 to 1.4.3
  • #136: Bump github.com/zclconf/go-cty from 1.9.0 to 1.10.0
  • #138: Bump github.com/hashicorp/hcl/v2 from 2.10.0 to 2.11.1
  • #139: Bump github.com/hashicorp/go-version from 1.3.0 to 1.4.0
  • #141: Bump github.com/google/go-cmp from 0.5.6 to 0.5.7
  • #143: Bump actions/checkout from 2 to 3
  • #144: Bump github.com/hashicorp/go-hclog from 0.16.2 to 1.2.0

v0.9.1

17 Jul 09:02

Choose a tag to compare

0.9.1 (2021-07-17)

BugFixes

  • #128: tflint: Add workaround when parsing a config that has a trailing heredoc

Chores

  • #125: Bump github.com/zclconf/go-cty from 1.8.4 to 1.9.0
  • #126: Bump github.com/hashicorp/go-hclog from 0.16.1 to 0.16.2

v0.9.0

03 Jul 10:05

Choose a tag to compare

0.9.0 (2021-07-03)

This release adds Files() API. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.30+.

See also terraform-linters/tflint-ruleset-template#37 for an example of upgrading the SDK.

Breaking Changes

  • #122: Implement Files() method
  • #124: Bump protocol version

Chores

  • #109: Bump github.com/hashicorp/go-version from 1.2.1 to 1.3.0
  • #112: Bump github.com/hashicorp/hcl/v2 from 2.9.1 to 2.10.0
  • #117: Bump github.com/hashicorp/go-hclog from 0.15.0 to 0.16.1
  • #120: Bump github.com/google/go-cmp from 0.5.5 to 0.5.6
  • #121: Bump github.com/hashicorp/go-plugin from 1.4.0 to 1.4.2
  • #123: Bump github.com/zclconf/go-cty from 1.8.1 to 1.8.4

v0.8.2

04 Apr 06:21

Choose a tag to compare

0.8.2 (2021-04-04)

Changes

  • #101: helper: Use a consistent env var for TF_WORKSPACE

BugFixes

  • #107: client: Pass only type to EvalExpr when passed detailed types

Chores

  • #102: Upgrade to Go 1.16
  • #103 #106: Bump github.com/hashicorp/hcl/v2 from 2.8.2 to 2.9.1
  • #105: Bump github.com/google/go-cmp from 0.5.4 to 0.5.5
  • #108: Bump github.com/zclconf/go-cty from 1.8.0 to 1.8.1