Releases: terraform-linters/tflint-plugin-sdk
v0.21.0
0.21.0 (2024-07-29)
Enhancements
- #337: helper: Add support sensitive variables in TestRunner
Chores
- #324: Bump github.com/hashicorp/go-plugin from 1.6.0 to 1.6.1
- #328: Bump github.com/hashicorp/go-version from 1.6.0 to 1.7.0
- #330: Bump google.golang.org/protobuf from 1.34.0 to 1.34.2
- #332: Bump github.com/go-test/deep from 1.1.0 to 1.1.1
- #333: Bump github.com/hashicorp/hcl/v2 from 2.20.1 to 2.21.0
- #334: Bump golang.org/x/tools from 0.20.0 to 0.23.0
- #335: Bump google.golang.org/grpc from 1.63.2 to 1.65.0
- #336: Bump github.com/zclconf/go-cty from 1.14.4 to 1.15.0
v0.20.0
0.20.0 (2024-05-02)
Enhancements
- #316: Bump github.com/hashicorp/hcl/v2 from 2.19.1 to 2.20.1
- This is required for provider-defined functions support
Chores
- #311: Bump google.golang.org/protobuf from 1.32.0 to 1.33.0
- #314: Bump github.com/zclconf/go-cty from 1.14.2 to 1.14.4
- #317: Bump github.com/hashicorp/go-hclog from 1.6.2 to 1.6.3
- #319: Bump golang.org/x/tools from 0.18.0 to 0.20.0
- #320: Bump google.golang.org/grpc from 1.61.1 to 1.63.2
- #321: Bump golang.org/x/net from 0.21.0 to 0.23.0
- #322: deps: Go 1.22.2
- #323: Bump google.golang.org/protobuf from 1.33.0 to 1.34.0
v0.19.0
0.19.0 (2024-02-25)
Chores
- #281 #307: deps: Go 1.22
- #283: Bump actions/checkout from 3 to 4
- #294: Bump github.com/google/go-cmp from 0.5.9 to 0.6.0
- #297: Bump github.com/hashicorp/hcl/v2 from 2.17.0 to 2.19.1
- #299: Bump google.golang.org/grpc from 1.57.0 to 1.61.1
- #300: Bump github.com/hashicorp/go-plugin from 1.4.10 to 1.6.0
- #301: Bump github.com/zclconf/go-cty from 1.13.2 to 1.14.2
- #302: Bump golang.org/x/tools from 0.11.0 to 0.18.0
- #303: Bump github/codeql-action from 2 to 3
- #304: Bump actions/setup-go from 4 to 5
- #305: Bump github.com/hashicorp/go-hclog from 1.5.0 to 1.6.2
- #306: Bump google.golang.org/protobuf from 1.31.0 to 1.32.0
v0.18.0
v0.17.0
0.17.0 (2023-06-18)
This release adds support for autofix API. The EmitIssueWithFix
API allows you to implement autofix in your plugin using tflint.Fixer
. Autofix is available in TFLint v0.47+. In earlier versions, the autofix is ignored.
This SDK version no longer supports TFLint v0.40/v0.41. This means that plugins built using this SDK require TFLint v0.42+.
Also, the Check
method has been removed from tflint.RuleSet
as a minor change. This means that if you override the Check
method in a custom ruleset that embeds tflint.RuleSet
, it will not be called. This is classified as a breaking change, but since the Check
method is not supposed to be overwritten, it is recommended to use something like NewRunner
.
Breaking Changes
- #258: tflint: Remove
Check
method fromtflint.RuleSet
interface - #263: Drop support for TFLint v0.40/v0.41
Enhancements
- #254: Introduce autofix API
Chores
- #253: Configure aqua to install protoc
- #255: Bump google.golang.org/grpc from 1.54.0 to 1.55.0
- #257: Bump github.com/zclconf/go-cty from 1.13.1 to 1.13.2
- #261: Bump github.com/hashicorp/go-plugin from 1.4.9 to 1.4.10
- #262: Bump github.com/hashicorp/hcl/v2 from 2.16.2 to 2.17.0
- #264: Bump golang.org/x/tools from 0.8.0 to 0.10.0
v0.16.1
v0.16.0
0.16.0 (2023-04-02)
This release deprecates the runner.EnsureNoError
helper. This helper is still available in this version, but we recommend migrating to the function callback approach.
// Before
var val string
err := runner.EvaluateExpr(expr, &val, nil)
err = runner.EnsureNoError(err, func () error {
// Test values
})
if err != nil {
return err
}
// After
err := runner.EvaluateExpr(expr, func (val string), error {
// Test values
}, nil)
See also terraform-linters/tflint-ruleset-template#76 for an example of upgrading the SDK.
Enhancements
- #225: ruleset: Allow a runner to be redefined within a ruleset
- The
NewRunner
method has been added to thetflint.RuleSet
interface.
- The
- #239: plugin2host: Send marked values over the wire
- With this change, sensitive values can now be handled by plugins (requires TFLint v0.46+). Previously,
tflint.ErrSensitive
was always returned.
- With this change, sensitive values can now be handled by plugins (requires TFLint v0.46+). Previously,
- #246 #247: runner: Add support for function callbacks as the target of
EvaluateExpr
- This allows reproducing the same behavior as before without using
EnsureNoError
.
- This allows reproducing the same behavior as before without using
- #248: runner: Add support for the bool type as a target value of
EvaluateExpr
Changes
- #236: runner: Deprecate
EnsureNoError
helper- This helper is still available in this version, but we recommend migrating to the function callback approach.
Chores
- #233: Bump golang.org/x/net from 0.3.0 to 0.7.0
- #234: Go 1.20
- #235: plugin2host: Handle eval errors on the client side
- #238: Bump github.com/hashicorp/go-plugin from 1.4.8 to 1.4.9
- #240: Bump github.com/hashicorp/hcl/v2 from 2.15.0 to 2.16.2
- #241: Bump golang.org/x/tools from 0.4.0 to 0.7.0
- #243: Bump actions/setup-go from 3 to 4
- #244: Bump github.com/zclconf/go-cty from 1.12.1 to 1.13.1
- #245: Bump google.golang.org/protobuf from 1.28.1 to 1.30.0
- #249: Bump github.com/hashicorp/go-hclog from 1.4.0 to 1.5.0
- #250: Bump google.golang.org/grpc from 1.51.0 to 1.54.0
v0.15.0
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
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.
- This is available only for TFLint v0.42+. Schema mode is ignored in earlier versions. Set
- #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.*
andcount.*
added in TFLint v0.42. Plugins not built with SDK v0.14+ will always evaluate to unknown values.
- This is necessary due to the evaluation of
- #206: hclext: Add Copy() to structures
- #207: hclext: Add WalkAttribute to hclext.BodyContent
- #208: plugin2host: Add ExpandMode to GetModuleContentOption
IncludeNotCreated
is deprecated. UseExpandModeNone
instread.