github.com/terraform-linters/tflint-plugin-sdk@v0.22.0/CHANGELOG.md (about) 1 ## 0.22.0 (2025-01-11) 2 3 ### Enhancements 4 5 - [#358](https://github.com/terraform-linters/tflint-plugin-sdk/pull/358) [#361](https://github.com/terraform-linters/tflint-plugin-sdk/pull/361): Introduce ephemeral marks 6 7 ### Changes 8 9 - [#362](https://github.com/terraform-linters/tflint-plugin-sdk/pull/362): require Go 1.23+ 10 - [#363](https://github.com/terraform-linters/tflint-plugin-sdk/pull/363): helper: Ignore issues order in `helper.AssertIssues` 11 12 ### Chores 13 14 - [#343](https://github.com/terraform-linters/tflint-plugin-sdk/pull/343) [#356](https://github.com/terraform-linters/tflint-plugin-sdk/pull/356): Bump github.com/hashicorp/hcl/v2 from 2.21.0 to 2.23.0 15 - [#349](https://github.com/terraform-linters/tflint-plugin-sdk/pull/349) [#355](https://github.com/terraform-linters/tflint-plugin-sdk/pull/355) [#364](https://github.com/terraform-linters/tflint-plugin-sdk/pull/364): Bump google.golang.org/protobuf from 1.34.2 to 1.36.2 16 - [#350](https://github.com/terraform-linters/tflint-plugin-sdk/pull/350): Bump github.com/hashicorp/go-plugin from 1.6.1 to 1.6.2 17 - [#352](https://github.com/terraform-linters/tflint-plugin-sdk/pull/352) [#365](https://github.com/terraform-linters/tflint-plugin-sdk/pull/365): Bump golang.org/x/tools from 0.23.0 to 0.29.0 18 - [#353](https://github.com/terraform-linters/tflint-plugin-sdk/pull/353): Bump google.golang.org/grpc from 1.65.0 to 1.69.2 19 - [#354](https://github.com/terraform-linters/tflint-plugin-sdk/pull/354) [#360](https://github.com/terraform-linters/tflint-plugin-sdk/pull/360): Bump github.com/zclconf/go-cty from 1.15.0 to 1.16.0 20 - [#357](https://github.com/terraform-linters/tflint-plugin-sdk/pull/357): Bump golang.org/x/net to v0.33.0 21 - [#359](https://github.com/terraform-linters/tflint-plugin-sdk/pull/359): Bump protoc, protoc-gen-go, and protoc-gen-go-grpc to the latest version 22 23 ## 0.21.0 (2024-07-29) 24 25 ### Enhancements 26 27 - [#337](https://github.com/terraform-linters/tflint-plugin-sdk/pull/337): helper: Add support sensitive variables in TestRunner 28 29 ### Chores 30 31 - [#324](https://github.com/terraform-linters/tflint-plugin-sdk/pull/324): Bump github.com/hashicorp/go-plugin from 1.6.0 to 1.6.1 32 - [#328](https://github.com/terraform-linters/tflint-plugin-sdk/pull/328): Bump github.com/hashicorp/go-version from 1.6.0 to 1.7.0 33 - [#330](https://github.com/terraform-linters/tflint-plugin-sdk/pull/330): Bump google.golang.org/protobuf from 1.34.0 to 1.34.2 34 - [#332](https://github.com/terraform-linters/tflint-plugin-sdk/pull/332): Bump github.com/go-test/deep from 1.1.0 to 1.1.1 35 - [#333](https://github.com/terraform-linters/tflint-plugin-sdk/pull/333): Bump github.com/hashicorp/hcl/v2 from 2.20.1 to 2.21.0 36 - [#334](https://github.com/terraform-linters/tflint-plugin-sdk/pull/334): Bump golang.org/x/tools from 0.20.0 to 0.23.0 37 - [#335](https://github.com/terraform-linters/tflint-plugin-sdk/pull/335): Bump google.golang.org/grpc from 1.63.2 to 1.65.0 38 - [#336](https://github.com/terraform-linters/tflint-plugin-sdk/pull/336): Bump github.com/zclconf/go-cty from 1.14.4 to 1.15.0 39 40 ## 0.20.0 (2024-05-02) 41 42 ### Enhancements 43 44 - [#316](https://github.com/terraform-linters/tflint-plugin-sdk/pull/316): Bump github.com/hashicorp/hcl/v2 from 2.19.1 to 2.20.1 45 - This is required for provider-defined functions support 46 47 ### Chores 48 49 - [#311](https://github.com/terraform-linters/tflint-plugin-sdk/pull/311): Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 50 - [#314](https://github.com/terraform-linters/tflint-plugin-sdk/pull/314): Bump github.com/zclconf/go-cty from 1.14.2 to 1.14.4 51 - [#317](https://github.com/terraform-linters/tflint-plugin-sdk/pull/317): Bump github.com/hashicorp/go-hclog from 1.6.2 to 1.6.3 52 - [#319](https://github.com/terraform-linters/tflint-plugin-sdk/pull/319): Bump golang.org/x/tools from 0.18.0 to 0.20.0 53 - [#320](https://github.com/terraform-linters/tflint-plugin-sdk/pull/320): Bump google.golang.org/grpc from 1.61.1 to 1.63.2 54 - [#321](https://github.com/terraform-linters/tflint-plugin-sdk/pull/321): Bump golang.org/x/net from 0.21.0 to 0.23.0 55 - [#322](https://github.com/terraform-linters/tflint-plugin-sdk/pull/322): deps: Go 1.22.2 56 - [#323](https://github.com/terraform-linters/tflint-plugin-sdk/pull/323): Bump google.golang.org/protobuf from 1.33.0 to 1.34.0 57 58 ## 0.19.0 (2024-02-25) 59 60 ### Chores 61 62 - [#281](https://github.com/terraform-linters/tflint-plugin-sdk/pull/281) [#307](https://github.com/terraform-linters/tflint-plugin-sdk/pull/307): deps: Go 1.22 63 - [#283](https://github.com/terraform-linters/tflint-plugin-sdk/pull/283): Bump actions/checkout from 3 to 4 64 - [#294](https://github.com/terraform-linters/tflint-plugin-sdk/pull/294): Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 65 - [#297](https://github.com/terraform-linters/tflint-plugin-sdk/pull/297): Bump github.com/hashicorp/hcl/v2 from 2.17.0 to 2.19.1 66 - [#299](https://github.com/terraform-linters/tflint-plugin-sdk/pull/299): Bump google.golang.org/grpc from 1.57.0 to 1.61.1 67 - [#300](https://github.com/terraform-linters/tflint-plugin-sdk/pull/300): Bump github.com/hashicorp/go-plugin from 1.4.10 to 1.6.0 68 - [#301](https://github.com/terraform-linters/tflint-plugin-sdk/pull/301): Bump github.com/zclconf/go-cty from 1.13.2 to 1.14.2 69 - [#302](https://github.com/terraform-linters/tflint-plugin-sdk/pull/302): Bump golang.org/x/tools from 0.11.0 to 0.18.0 70 - [#303](https://github.com/terraform-linters/tflint-plugin-sdk/pull/303): Bump github/codeql-action from 2 to 3 71 - [#304](https://github.com/terraform-linters/tflint-plugin-sdk/pull/304): Bump actions/setup-go from 4 to 5 72 - [#305](https://github.com/terraform-linters/tflint-plugin-sdk/pull/305): Bump github.com/hashicorp/go-hclog from 1.5.0 to 1.6.2 73 - [#306](https://github.com/terraform-linters/tflint-plugin-sdk/pull/306): Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 74 75 ## 0.18.0 (2023-07-29) 76 77 ### Breaking Changes 78 79 - [#268](https://github.com/terraform-linters/tflint-plugin-sdk/pull/268): helper: Un-export `NewLocalRunner` and `AddLocalFile` 80 - [#273](https://github.com/terraform-linters/tflint-plugin-sdk/pull/273): Internalize unnecessarily published plugin packages 81 - [#274](https://github.com/terraform-linters/tflint-plugin-sdk/pull/274): tflint: Remove deprecated IncludeNotCreated option 82 83 ### Enhancements 84 85 - [#271](https://github.com/terraform-linters/tflint-plugin-sdk/pull/271): hclext: Add support for expression unwrapping in hclext.BoundExpr 86 87 ### Chores 88 89 - [#267](https://github.com/terraform-linters/tflint-plugin-sdk/pull/267): Bump google.golang.org/protobuf from 1.30.0 to 1.31.0 90 - [#270](https://github.com/terraform-linters/tflint-plugin-sdk/pull/270): Bump golang.org/x/tools from 0.10.0 to 0.11.0 91 - [#272](https://github.com/terraform-linters/tflint-plugin-sdk/pull/272): Bump google.golang.org/grpc from 1.55.0 to 1.57.0 92 93 ## 0.17.0 (2023-06-18) 94 95 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. 96 97 This SDK version no longer supports TFLint v0.40/v0.41. This means that plugins built using this SDK require TFLint v0.42+. 98 99 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`. 100 101 ### Breaking Changes 102 103 - [#258](https://github.com/terraform-linters/tflint-plugin-sdk/pull/258): tflint: Remove `Check` method from `tflint.RuleSet` interface 104 - [#263](https://github.com/terraform-linters/tflint-plugin-sdk/pull/263): Drop support for TFLint v0.40/v0.41 105 106 ### Enhancements 107 108 - [#254](https://github.com/terraform-linters/tflint-plugin-sdk/pull/254): Introduce autofix API 109 110 ### Chores 111 112 - [#253](https://github.com/terraform-linters/tflint-plugin-sdk/pull/253): Configure aqua to install protoc 113 - [#255](https://github.com/terraform-linters/tflint-plugin-sdk/pull/255): Bump google.golang.org/grpc from 1.54.0 to 1.55.0 114 - [#257](https://github.com/terraform-linters/tflint-plugin-sdk/pull/257): Bump github.com/zclconf/go-cty from 1.13.1 to 1.13.2 115 - [#261](https://github.com/terraform-linters/tflint-plugin-sdk/pull/261): Bump github.com/hashicorp/go-plugin from 1.4.9 to 1.4.10 116 - [#262](https://github.com/terraform-linters/tflint-plugin-sdk/pull/262): Bump github.com/hashicorp/hcl/v2 from 2.16.2 to 2.17.0 117 - [#264](https://github.com/terraform-linters/tflint-plugin-sdk/pull/264): Bump golang.org/x/tools from 0.8.0 to 0.10.0 118 119 ## 0.16.1 (2023-04-13) 120 121 ### BugFixes 122 123 - [#252](https://github.com/terraform-linters/tflint-plugin-sdk/pull/252): ruleset: Fix NewRunner hook not injecting a custom runner 124 125 ### Chores 126 127 - [#251](https://github.com/terraform-linters/tflint-plugin-sdk/pull/251): Bump golang.org/x/tools from 0.7.0 to 0.8.0 128 129 ## 0.16.0 (2023-04-02) 130 131 This release deprecates the `runner.EnsureNoError` helper. This helper is still available in this version, but we recommend migrating to the function callback approach. 132 133 ```go 134 // Before 135 var val string 136 err := runner.EvaluateExpr(expr, &val, nil) 137 err = runner.EnsureNoError(err, func () error { 138 // Test values 139 }) 140 if err != nil { 141 return err 142 } 143 144 // After 145 err := runner.EvaluateExpr(expr, func (val string), error { 146 // Test values 147 }, nil) 148 ``` 149 150 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/76 for an example of upgrading the SDK. 151 152 ### Enhancements 153 154 - [#225](https://github.com/terraform-linters/tflint-plugin-sdk/pull/225): ruleset: Allow a runner to be redefined within a ruleset 155 - The `NewRunner` method has been added to the `tflint.RuleSet` interface. 156 - [#239](https://github.com/terraform-linters/tflint-plugin-sdk/pull/239): plugin2host: Send marked values over the wire 157 - With this change, sensitive values can now be handled by plugins (requires TFLint v0.46+). Previously, `tflint.ErrSensitive` was always returned. 158 - [#246](https://github.com/terraform-linters/tflint-plugin-sdk/pull/246) [#247](https://github.com/terraform-linters/tflint-plugin-sdk/pull/247): runner: Add support for function callbacks as the target of `EvaluateExpr` 159 - This allows reproducing the same behavior as before without using `EnsureNoError`. 160 - [#248](https://github.com/terraform-linters/tflint-plugin-sdk/pull/248): runner: Add support for the bool type as a target value of `EvaluateExpr` 161 162 ### Changes 163 164 - [#236](https://github.com/terraform-linters/tflint-plugin-sdk/pull/236): runner: Deprecate `EnsureNoError` helper 165 - This helper is still available in this version, but we recommend migrating to the function callback approach. 166 167 ### Chores 168 169 - [#233](https://github.com/terraform-linters/tflint-plugin-sdk/pull/233): Bump golang.org/x/net from 0.3.0 to 0.7.0 170 - [#234](https://github.com/terraform-linters/tflint-plugin-sdk/pull/234): Go 1.20 171 - [#235](https://github.com/terraform-linters/tflint-plugin-sdk/pull/235): plugin2host: Handle eval errors on the client side 172 - [#238](https://github.com/terraform-linters/tflint-plugin-sdk/pull/238): Bump github.com/hashicorp/go-plugin from 1.4.8 to 1.4.9 173 - [#240](https://github.com/terraform-linters/tflint-plugin-sdk/pull/240): Bump github.com/hashicorp/hcl/v2 from 2.15.0 to 2.16.2 174 - [#241](https://github.com/terraform-linters/tflint-plugin-sdk/pull/241): Bump golang.org/x/tools from 0.4.0 to 0.7.0 175 - [#243](https://github.com/terraform-linters/tflint-plugin-sdk/pull/243): Bump actions/setup-go from 3 to 4 176 - [#244](https://github.com/terraform-linters/tflint-plugin-sdk/pull/244): Bump github.com/zclconf/go-cty from 1.12.1 to 1.13.1 177 - [#245](https://github.com/terraform-linters/tflint-plugin-sdk/pull/245): Bump google.golang.org/protobuf from 1.28.1 to 1.30.0 178 - [#249](https://github.com/terraform-linters/tflint-plugin-sdk/pull/249): Bump github.com/hashicorp/go-hclog from 1.4.0 to 1.5.0 179 - [#250](https://github.com/terraform-linters/tflint-plugin-sdk/pull/250): Bump google.golang.org/grpc from 1.51.0 to 1.54.0 180 181 ## 0.15.0 (2022-12-26) 182 183 ### Enhancements 184 185 - [#224](https://github.com/terraform-linters/tflint-plugin-sdk/pull/224): Add GetOriginalwd method 186 187 ### Chores 188 189 - [#214](https://github.com/terraform-linters/tflint-plugin-sdk/pull/214): Bump github.com/hashicorp/hcl/v2 from 2.14.1 to 2.15.0 190 - [#219](https://github.com/terraform-linters/tflint-plugin-sdk/pull/219): Bump google.golang.org/grpc from 1.50.1 to 1.51.0 191 - [#220](https://github.com/terraform-linters/tflint-plugin-sdk/pull/220): Bump github.com/hashicorp/go-plugin from 1.4.5 to 1.4.8 192 - [#221](https://github.com/terraform-linters/tflint-plugin-sdk/pull/221): Bump github.com/go-test/deep from 1.0.8 to 1.1.0 193 - [#222](https://github.com/terraform-linters/tflint-plugin-sdk/pull/222): Bump github.com/hashicorp/go-hclog from 1.3.1 to 1.4.0 194 - [#223](https://github.com/terraform-linters/tflint-plugin-sdk/pull/223): Bump golang.org/x/tools from 0.1.12 to 0.4.0 195 196 ## 0.14.0 (2022-10-23) 197 198 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. 199 200 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. 201 202 `IncludeNotCreated` in `GetModuleContentOption` has been deprecated. Use `ExpandModeNone` instead. The old option will still work, but will be removed in a future version. 203 204 ### Enhancements 205 206 - [#201](https://github.com/terraform-linters/tflint-plugin-sdk/pull/201): hclext: Add schema mode to BodySchema 207 - 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. 208 - [#202](https://github.com/terraform-linters/tflint-plugin-sdk/pull/202): host2plugin: Allow plugins to set host version constraints 209 - 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. 210 - [#203](https://github.com/terraform-linters/tflint-plugin-sdk/pull/203): host2plugin: Add SDKVersion 211 - [#205](https://github.com/terraform-linters/tflint-plugin-sdk/pull/205): hclext: Add hclext.BoundExpr 212 - 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. 213 - [#206](https://github.com/terraform-linters/tflint-plugin-sdk/pull/206): hclext: Add Copy() to structures 214 - [#207](https://github.com/terraform-linters/tflint-plugin-sdk/pull/207): hclext: Add WalkAttribute to hclext.BodyContent 215 - [#208](https://github.com/terraform-linters/tflint-plugin-sdk/pull/208): plugin2host: Add ExpandMode to GetModuleContentOption 216 - `IncludeNotCreated` is deprecated. Use `ExpandModeNone` instread. 217 218 ### Chores 219 220 - [#199](https://github.com/terraform-linters/tflint-plugin-sdk/pull/199): Bump github.com/hashicorp/hcl/v2 from 2.14.0 to 2.14.1 221 - [#200](https://github.com/terraform-linters/tflint-plugin-sdk/pull/200): Bump github.com/hashicorp/go-hclog from 1.3.0 to 1.3.1 222 - [#209](https://github.com/terraform-linters/tflint-plugin-sdk/pull/209): Bump google.golang.org/grpc from 1.49.0 to 1.50.1 223 224 ## 0.13.0 (2022-09-17) 225 226 ### Enhancements 227 228 - [#198](https://github.com/terraform-linters/tflint-plugin-sdk/pull/198): host2plugin: Allow ruleset to accept Only option 229 - This change is necessary due to a priority bug with the `--only` option. Most plugins are unaffected by this change. 230 231 ### Chores 232 233 - [#197](https://github.com/terraform-linters/tflint-plugin-sdk/pull/197): Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 234 235 ## 0.12.0 (2022-09-07) 236 237 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+. 238 239 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/62 for an example of upgrading the SDK. 240 241 ### Breaking Changes 242 243 - [#171](https://github.com/terraform-linters/tflint-plugin-sdk/pull/171): Add GetModulePath method 244 - [#188](https://github.com/terraform-linters/tflint-plugin-sdk/pull/188): Bump protocol version 245 246 ### Enhancements 247 248 - [#169](https://github.com/terraform-linters/tflint-plugin-sdk/pull/169): hclext: Add hclext.Blocks's OfType helper 249 - [#170](https://github.com/terraform-linters/tflint-plugin-sdk/pull/170): hclext: Add AsNative helper 250 - [#172](https://github.com/terraform-linters/tflint-plugin-sdk/pull/172): tflint: Add GetProviderContent helper 251 - [#174](https://github.com/terraform-linters/tflint-plugin-sdk/pull/174): tflint: Add tflint.ErrSensitive 252 - [#177](https://github.com/terraform-linters/tflint-plugin-sdk/pull/177): helper: Add support for JSON syntax in TestRunner 253 - [#178](https://github.com/terraform-linters/tflint-plugin-sdk/pull/178): Allow calling DecodeRuleConfig without rule config 254 - [#180](https://github.com/terraform-linters/tflint-plugin-sdk/pull/180): terraform: Add `lang.ReferencesInExpr` 255 - [#181](https://github.com/terraform-linters/tflint-plugin-sdk/pull/181): tflint: Add WalkExpressions function 256 257 ### BugFixes 258 259 - [#190](https://github.com/terraform-linters/tflint-plugin-sdk/pull/190): logger: Do not set location offset in go-plugin 260 261 ### Chores 262 263 - [#161](https://github.com/terraform-linters/tflint-plugin-sdk/pull/161) [#182](https://github.com/terraform-linters/tflint-plugin-sdk/pull/182): Bump github.com/hashicorp/go-plugin from 1.4.3 to 1.4.5 264 - [#166](https://github.com/terraform-linters/tflint-plugin-sdk/pull/166) [#194](https://github.com/terraform-linters/tflint-plugin-sdk/pull/194): Bump github.com/hashicorp/hcl/v2 from 2.12.0 to 2.14.0 265 - [#168](https://github.com/terraform-linters/tflint-plugin-sdk/pull/168) [#187](https://github.com/terraform-linters/tflint-plugin-sdk/pull/187): Bump google.golang.org/grpc from 1.46.0 to 1.49.0 266 - [#173](https://github.com/terraform-linters/tflint-plugin-sdk/pull/173) [#195](https://github.com/terraform-linters/tflint-plugin-sdk/pull/195): Bump github.com/hashicorp/go-hclog from 1.2.0 to 1.3.0 267 - [#175](https://github.com/terraform-linters/tflint-plugin-sdk/pull/175): Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 268 - [#176](https://github.com/terraform-linters/tflint-plugin-sdk/pull/176): build: go 1.19 269 - [#179](https://github.com/terraform-linters/tflint-plugin-sdk/pull/179): build: Use `go-version-file` instead of `go-version` 270 - [#183](https://github.com/terraform-linters/tflint-plugin-sdk/pull/183): Bump golang.org/x/tools from 0.1.11 to 0.1.12 271 - [#184](https://github.com/terraform-linters/tflint-plugin-sdk/pull/184): Bump github.com/go-test/deep from 1.0.3 to 1.0.8 272 - [#185](https://github.com/terraform-linters/tflint-plugin-sdk/pull/185): Remove unused ruleset function 273 - [#186](https://github.com/terraform-linters/tflint-plugin-sdk/pull/186): Bump github.com/zclconf/go-cty from 1.10.0 to 1.11.0 274 275 ## 0.11.0 (2022-05-05) 276 277 ### Enhancements 278 279 - [#160](https://github.com/terraform-linters/tflint-plugin-sdk/pull/160): tflint: Add IncludeNotCreated option to GetModuleContent 280 281 ### Chores 282 283 - [#150](https://github.com/terraform-linters/tflint-plugin-sdk/pull/150): Bump google.golang.org/protobuf from 1.27.1 to 1.28.0 284 - [#154](https://github.com/terraform-linters/tflint-plugin-sdk/pull/154): Bump actions/setup-go from 2 to 3 285 - [#155](https://github.com/terraform-linters/tflint-plugin-sdk/pull/155): Bump google.golang.org/grpc from 1.45.0 to 1.46.0 286 - [#156](https://github.com/terraform-linters/tflint-plugin-sdk/pull/156): Bump github.com/hashicorp/hcl/v2 from 2.11.1 to 2.12.0 287 - [#157](https://github.com/terraform-linters/tflint-plugin-sdk/pull/157): plugin2host: Return sources instead of `*hcl.File` in GetRuleConfigContent 288 - [#158](https://github.com/terraform-linters/tflint-plugin-sdk/pull/158): Bump github.com/google/go-cmp from 0.5.7 to 0.5.8 289 - [#159](https://github.com/terraform-linters/tflint-plugin-sdk/pull/159): Bump github/codeql-action from 1 to 2 290 291 ## 0.10.1 (2022-04-02) 292 293 ### BugFixes 294 295 - [#153](https://github.com/terraform-linters/tflint-plugin-sdk/pull/153): helper: Skip un-used variable block attributes 296 297 ## 0.10.0 (2022-03-27) 298 299 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. 300 301 The API also contains many incompatible changes. See https://github.com/terraform-linters/tflint-ruleset-template/pull/48 for how to migrate. TFLint v0.35+ is required to work with new plugin systems. 302 303 ### Breaking Changes 304 305 - [#135](https://github.com/terraform-linters/tflint-plugin-sdk/pull/135) [#146](https://github.com/terraform-linters/tflint-plugin-sdk/pull/146) [#147](https://github.com/terraform-linters/tflint-plugin-sdk/pull/147) [#148](https://github.com/terraform-linters/tflint-plugin-sdk/pull/148) [#149](https://github.com/terraform-linters/tflint-plugin-sdk/pull/149): plugin: gRPC-based new plugin system 306 307 ### Chores 308 309 - [#133](https://github.com/terraform-linters/tflint-plugin-sdk/pull/133) [#145](https://github.com/terraform-linters/tflint-plugin-sdk/pull/145): build: Go 1.18 310 - [#134](https://github.com/terraform-linters/tflint-plugin-sdk/pull/134): Bump github.com/hashicorp/go-plugin from 1.4.2 to 1.4.3 311 - [#136](https://github.com/terraform-linters/tflint-plugin-sdk/pull/136): Bump github.com/zclconf/go-cty from 1.9.0 to 1.10.0 312 - [#138](https://github.com/terraform-linters/tflint-plugin-sdk/pull/138): Bump github.com/hashicorp/hcl/v2 from 2.10.0 to 2.11.1 313 - [#139](https://github.com/terraform-linters/tflint-plugin-sdk/pull/139): Bump github.com/hashicorp/go-version from 1.3.0 to 1.4.0 314 - [#141](https://github.com/terraform-linters/tflint-plugin-sdk/pull/141): Bump github.com/google/go-cmp from 0.5.6 to 0.5.7 315 - [#143](https://github.com/terraform-linters/tflint-plugin-sdk/pull/143): Bump actions/checkout from 2 to 3 316 - [#144](https://github.com/terraform-linters/tflint-plugin-sdk/pull/144): Bump github.com/hashicorp/go-hclog from 0.16.2 to 1.2.0 317 318 ## 0.9.1 (2021-07-17) 319 320 ### BugFixes 321 322 - [#128](https://github.com/terraform-linters/tflint-plugin-sdk/pull/128): tflint: Add workaround when parsing a config that has a trailing heredoc 323 324 ### Chores 325 326 - [#125](https://github.com/terraform-linters/tflint-plugin-sdk/pull/125): Bump github.com/zclconf/go-cty from 1.8.4 to 1.9.0 327 - [#126](https://github.com/terraform-linters/tflint-plugin-sdk/pull/126): Bump github.com/hashicorp/go-hclog from 0.16.1 to 0.16.2 328 329 ## 0.9.0 (2021-07-03) 330 331 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+. 332 333 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/37 for an example of upgrading the SDK. 334 335 ### Breaking Changes 336 337 - [#122](https://github.com/terraform-linters/tflint-plugin-sdk/pull/122): Implement Files() method 338 - [#124](https://github.com/terraform-linters/tflint-plugin-sdk/pull/124): Bump protocol version 339 340 ### Chores 341 342 - [#109](https://github.com/terraform-linters/tflint-plugin-sdk/pull/109): Bump github.com/hashicorp/go-version from 1.2.1 to 1.3.0 343 - [#112](https://github.com/terraform-linters/tflint-plugin-sdk/pull/112): Bump github.com/hashicorp/hcl/v2 from 2.9.1 to 2.10.0 344 - [#117](https://github.com/terraform-linters/tflint-plugin-sdk/pull/117): Bump github.com/hashicorp/go-hclog from 0.15.0 to 0.16.1 345 - [#120](https://github.com/terraform-linters/tflint-plugin-sdk/pull/120): Bump github.com/google/go-cmp from 0.5.5 to 0.5.6 346 - [#121](https://github.com/terraform-linters/tflint-plugin-sdk/pull/121): Bump github.com/hashicorp/go-plugin from 1.4.0 to 1.4.2 347 - [#123](https://github.com/terraform-linters/tflint-plugin-sdk/pull/123): Bump github.com/zclconf/go-cty from 1.8.1 to 1.8.4 348 349 ## 0.8.2 (2021-04-04) 350 351 ### Changes 352 353 - [#101](https://github.com/terraform-linters/tflint-plugin-sdk/pull/101): helper: Use a consistent env var for TF_WORKSPACE 354 355 ### BugFixes 356 357 - [#107](https://github.com/terraform-linters/tflint-plugin-sdk/pull/107): client: Pass only type to EvalExpr when passed detailed types 358 359 ### Chores 360 361 - [#102](https://github.com/terraform-linters/tflint-plugin-sdk/pull/102): Upgrade to Go 1.16 362 - [#103](https://github.com/terraform-linters/tflint-plugin-sdk/pull/103) [#106](https://github.com/terraform-linters/tflint-plugin-sdk/pull/106): Bump github.com/hashicorp/hcl/v2 from 2.8.2 to 2.9.1 363 - [#105](https://github.com/terraform-linters/tflint-plugin-sdk/pull/105): Bump github.com/google/go-cmp from 0.5.4 to 0.5.5 364 - [#108](https://github.com/terraform-linters/tflint-plugin-sdk/pull/108): Bump github.com/zclconf/go-cty from 1.8.0 to 1.8.1 365 366 ## 0.8.1 (2021-02-02) 367 368 ### BugFixes 369 370 - [#100](https://github.com/terraform-linters/tflint-plugin-sdk/pull/100): tflint: Make sure RuleNames always return all rules 371 372 ## 0.8.0 (2021-01-31) 373 374 This release fixes some bugs when using `Config` API. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.24+. 375 376 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/26 for an example of upgrading the SDK. 377 378 ### Breaking Changes 379 380 - [#96](https://github.com/terraform-linters/tflint-plugin-sdk/pull/96): Use msgpack to encoding to pass cty.Value in variable default 381 - [#98](https://github.com/terraform-linters/tflint-plugin-sdk/pull/98): Use json for transfering cty.Type 382 383 ### BugFixes 384 385 - [#97](https://github.com/terraform-linters/tflint-plugin-sdk/pull/97): Fix heredoc parsing in parseConfig 386 387 ### Chores 388 389 - [#94](https://github.com/terraform-linters/tflint-plugin-sdk/pull/94): Bump github.com/hashicorp/hcl/v2 from 2.8.1 to 2.8.2 390 - [#99](https://github.com/terraform-linters/tflint-plugin-sdk/pull/99): Allow use of ${terraform.workspace} in tests 391 392 ## 0.7.1 (2021-01-10) 393 394 ### BugFixes 395 396 - [#93](https://github.com/terraform-linters/tflint-plugin-sdk/pull/93): tflint: Add workaround for parsing heredoc expressions 397 398 ## 0.7.0 (2021-01-03) 399 400 This release changes the Runner interface. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.23+. 401 402 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/23 for an example of upgrading the SDK. 403 404 ### Breaking Changes 405 406 - [#83](https://github.com/terraform-linters/tflint-plugin-sdk/pull/83): tflint: Add wantType argument to EvaluateExpr 407 - [#92](https://github.com/terraform-linters/tflint-plugin-sdk/pull/92): Bump protocol version 408 409 ### Enhancements 410 411 - [#79](https://github.com/terraform-linters/tflint-plugin-sdk/pull/79): tflint: Extend runner API for accessing the root provider configuration 412 - [#82](https://github.com/terraform-linters/tflint-plugin-sdk/pull/82): tflint: Add support for fetching rule config 413 - [#85](https://github.com/terraform-linters/tflint-plugin-sdk/pull/85): tflint: Add `IsNullExpr` API 414 - [#88](https://github.com/terraform-linters/tflint-plugin-sdk/pull/88): Avoid to read file directly from plugin side 415 - [#91](https://github.com/terraform-linters/tflint-plugin-sdk/pull/91): Make terraform configuration compatible with v0.14 416 417 ### Chores 418 419 - [#80](https://github.com/terraform-linters/tflint-plugin-sdk/pull/80): 420 Bump github.com/google/go-cmp from 0.5.3 to 0.5.4 421 - [#86](https://github.com/terraform-linters/tflint-plugin-sdk/pull/86): Bump github.com/zclconf/go-cty from 1.7.0 to 1.7.1 422 - [#87](https://github.com/terraform-linters/tflint-plugin-sdk/pull/87): Bump github.com/hashicorp/hcl/v2 from 2.7.1 to 2.8.1 423 - [#90](https://github.com/terraform-linters/tflint-plugin-sdk/pull/90): Revise README 424 425 ## 0.6.0 (2020-11-23) 426 427 This release adds support for JSON configuration syntax. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.21+. 428 429 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/19 for an example of upgrading the SDK. 430 431 ### Breaking Changes 432 433 - [#72](https://github.com/terraform-linters/tflint-plugin-sdk/pull/72): Allow serving custom RuleSet by plugins 434 - Change `tflint.Ruleset` struct to the interface. The previous behavior can be reproduced by using the `tflint.BuiltinRuleSet`. If you do not need plugin-specific processing, please use `tflint.BuiltinRuleSet` directly. 435 - [#78](https://github.com/terraform-linters/tflint-plugin-sdk/pull/78): Bump protocol version 436 437 ### Enhancements 438 439 - [#69](https://github.com/terraform-linters/tflint-plugin-sdk/pull/69): Add support for JSON configuration syntax 440 - [#75](https://github.com/terraform-linters/tflint-plugin-sdk/pull/75): helper: Update helper runner 441 442 ### Chores 443 444 - [#68](https://github.com/terraform-linters/tflint-plugin-sdk/pull/68): Bump actions/setup-go from v2.1.2 to v2.1.3 445 - [#71](https://github.com/terraform-linters/tflint-plugin-sdk/pull/71): Bump github.com/zclconf/go-cty from 1.6.1 to 1.7.0 446 - [#73](https://github.com/terraform-linters/tflint-plugin-sdk/pull/73): Bump github.com/hashicorp/go-hclog from 0.14.1 to 0.15.0 447 - [#74](https://github.com/terraform-linters/tflint-plugin-sdk/pull/74): Bump github.com/hashicorp/go-plugin from 1.3.0 to 1.4.0 448 - [#76](https://github.com/terraform-linters/tflint-plugin-sdk/pull/76): Bump github.com/google/go-cmp from 0.5.2 to 0.5.3 449 - [#77](https://github.com/terraform-linters/tflint-plugin-sdk/pull/77): Bump github.com/hashicorp/hcl/v2 from 2.7.0 to 2.7.1 450 451 ## 0.5.0 (2020-09-13) 452 453 This release adds `Config()` API to accessing the Terraform configuration. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.20+. 454 455 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/15 for an example of upgrading the SDK. 456 457 ### Breaking Changes 458 459 - [#59](https://github.com/terraform-linters/tflint-plugin-sdk/pull/59): Make terraform configuration compatible with v0.13 460 - Remove `Backend.ConfigRange`, `ModleCall.ConfigRange`, `ModuleCall.CountRange`, and `ModuleCall.ForEachRange` 461 - [#65](https://github.com/terraform-linters/tflint-plugin-sdk/pull/65): Tweaks package structures 462 - Renamed package names 463 - `terraform.Backend` => `configs.Backend` 464 - `terraform.Resource` => `configs.Resource` 465 - `terraform.ModuleCall` => `configs.ModuleCall` 466 - [#67](https://github.com/terraform-linters/tflint-plugin-sdk/pull/67): plugin: Bump protocol version 467 468 ### Enhancements 469 470 - [#60](https://github.com/terraform-linters/tflint-plugin-sdk/pull/60): tflint: Add `Runner.Config()` 471 472 ### Internal Changes 473 474 - [#54](https://github.com/terraform-linters/tflint-plugin-sdk/pull/54): Accept DisabledByDefault config attribute 475 476 ### Chores 477 478 - [#55](https://github.com/terraform-linters/tflint-plugin-sdk/pull/55): chore(deps): bump go to v1.15 479 - [#56](https://github.com/terraform-linters/tflint-plugin-sdk/pull/56): Update GitHub Actions by Dependabot 480 - [#57](https://github.com/terraform-linters/tflint-plugin-sdk/pull/57): Bump actions/setup-go from v1 to v2.1.2 481 - [#58](https://github.com/terraform-linters/tflint-plugin-sdk/pull/58): Bump github.com/google/go-cmp from 0.5.1 to 0.5.2 482 - [#63](https://github.com/terraform-linters/tflint-plugin-sdk/pull/63): Bump github.com/zclconf/go-cty from 1.5.1 to 1.6.1 483 - [#66](https://github.com/terraform-linters/tflint-plugin-sdk/pull/66): Make terraform configuration compatible with v0.13.2 484 485 ## 0.4.0 (2020-08-17) 486 487 This release adds `WalkModuleCalls()` API to accessing the module calls. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.19+. 488 489 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/11 for an example of upgrading the SDK. 490 491 ### Breaking Changes 492 493 - [#53](https://github.com/terraform-linters/tflint-plugin-sdk/pull/53): plugin: Bump protocol version 494 495 ### Enhancements 496 497 - [#50](https://github.com/terraform-linters/tflint-plugin-sdk/pull/50): client: Implement `WalkModuleCalls` 498 499 ### Chores 500 501 - [#51](https://github.com/terraform-linters/tflint-plugin-sdk/pull/51): Bump github.com/google/go-cmp from 0.5.0 to 0.5.1 502 - [#52](https://github.com/terraform-linters/tflint-plugin-sdk/pull/52): Bump github.com/hashicorp/go-version from 1.0.0 to 1.2.1 503 504 ## 0.3.0 (2020-07-19) 505 506 This release adds `Backend()` API to accessing the Terraform backend configuration. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.18+. 507 508 See also https://github.com/terraform-linters/tflint-ruleset-template/pull/10 for an example of upgrading the SDK. 509 510 ### Breaking Changes 511 512 - [#48](https://github.com/terraform-linters/tflint-plugin-sdk/pull/48): plugin: Bump protocol version 513 514 ### Enhancements 515 516 - [#47](https://github.com/terraform-linters/tflint-plugin-sdk/pull/47): client: Add `Runner.Backend()` 517 - [#49](https://github.com/terraform-linters/tflint-plugin-sdk/pull/49): helper: Add Backend() helper 518 519 ## 0.2.0 (2020-06-27) 520 521 This release adds APIs to access more Terraform's configurations. 522 523 Previously, only `WalkResourceAttributes` that can access top-level attributes were available, but `WalkResourceBlocks` that can access blocks and `WalkResources` that can access the entire resource including meta-arguments are now available. 524 525 In addition, the communication system between the plugin and the host has changed, and it is no longer dependent on the HCL structure implementation. This is a breaking change and all plugins need to be built using this version in order to work with TFLint v0.17+. 526 527 ### Breaking Changes 528 529 - [#24](https://github.com/terraform-linters/tflint-plugin-sdk/pull/24): tflint: Sending expression nodes as a text representation 530 - [#41](https://github.com/terraform-linters/tflint-plugin-sdk/pull/41): tflint: Remove Metadata 531 - [#45](https://github.com/terraform-linters/tflint-plugin-sdk/pull/45): plugin: Bump protocol version 532 533 ### Enhancements 534 535 - [#23](https://github.com/terraform-linters/tflint-plugin-sdk/pull/23): helper: Compare Rule types with custom comparer 536 - [#29](https://github.com/terraform-linters/tflint-plugin-sdk/pull/29) [#33](https://github.com/terraform-linters/tflint-plugin-sdk/pull/33): tflint: Add WalkResourceBlocks API 537 - [#35](https://github.com/terraform-linters/tflint-plugin-sdk/pull/35): tflint: Allow to omit metadata expr on EmitIssue 538 - [#34](https://github.com/terraform-linters/tflint-plugin-sdk/pull/34) [#37](https://github.com/terraform-linters/tflint-plugin-sdk/pull/37): tflint: Add WalkResources API 539 - [#40](https://github.com/terraform-linters/tflint-plugin-sdk/pull/40): helper: Add WalkResourceBlocks helper 540 541 ### Chores 542 543 - [#27](https://github.com/terraform-linters/tflint-plugin-sdk/pull/27): Bump github.com/hashicorp/go-hclog from 0.13.0 to 0.14.1 544 - [#38](https://github.com/terraform-linters/tflint-plugin-sdk/pull/38): Revise package structure 545 - [#39](https://github.com/terraform-linters/tflint-plugin-sdk/pull/39): Bump github.com/google/go-cmp from 0.4.1 to 0.5.0 546 - [#42](https://github.com/terraform-linters/tflint-plugin-sdk/pull/42): Bump github.com/zclconf/go-cty from 1.4.1 to 1.5.1 547 - [#43](https://github.com/terraform-linters/tflint-plugin-sdk/pull/43): Create Dependabot config file 548 - [#44](https://github.com/terraform-linters/tflint-plugin-sdk/pull/44): Setup Code Scanning 549 550 ## 0.1.1 (2020-05-23) 551 552 ### Changes 553 554 - [#20](https://github.com/terraform-linters/tflint-plugin-sdk/pull/20): helper: Make Issues of TestRunner non-nil 555 556 ### Chores 557 558 - [#15](https://github.com/terraform-linters/tflint-plugin-sdk/pull/15): Bump github.com/hashicorp/go-hclog from 0.10.1 to 0.13.0 559 - [#16](https://github.com/terraform-linters/tflint-plugin-sdk/pull/16): Bump github.com/google/go-cmp from 0.3.1 to 0.4.1 560 - [#17](https://github.com/terraform-linters/tflint-plugin-sdk/pull/17): Bump github.com/hashicorp/hcl/v2 from 2.2.0 to 2.5.1 561 - [#18](https://github.com/terraform-linters/tflint-plugin-sdk/pull/18): Adding gitignore file 562 - [#19](https://github.com/terraform-linters/tflint-plugin-sdk/pull/19): Add tests and CI setups 563 - [#21](https://github.com/terraform-linters/tflint-plugin-sdk/pull/21): Bump github.com/hashicorp/go-plugin from 1.0.1 to 1.3.0 564 - [#22](https://github.com/terraform-linters/tflint-plugin-sdk/pull/22): Bump github.com/zclconf/go-cty from 1.1.1 to 1.4.1 565 566 ## 0.1.0 (2020-01-18) 567 568 Initial release