github.com/tetrafolium/tflint@v0.8.0/CHANGELOG.md (about) 1 ## 0.8.0 (2019-05-25) 2 3 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. 4 5 We strongly recommend [upgrading to Terraform v0.12](https://www.terraform.io/upgrade-guides/0-12.html) before trying TFLint v0.8. `terraform 0.12upgrade` is helpful to upgrade your configuration files. 6 7 ### Breaking Changes 8 9 - Always return an error when failed to evaluate an expression. 10 - Until now, except for module arguments, even if an error occurred, it was ignored. 11 - Expressions including unsupported named values (such as `${module.foo}`) are not evaluated, so no error occurs. 12 - Drop support for `${terraform.env}`. 13 - Previously `${terraform.env}` was a valid expression that returned the same as `${terraform.workspace}`. 14 - This is because Terraform v0.12 doesn't support `${terraform.env}`. 15 - The file name of a module includes module ID instead of the source attribute. 16 - Up to now it was output like `github.com/wata727/example-module/instance.tf`, but it will be changed like `module_id/instance.tf`. 17 - Always parse all configuration files under the current directory. 18 - 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. 19 - Also, file arguments are only used to filter the issues obtained. Therefore, you cannot pass files other than under the current directory. 20 - 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. 21 - These behaviors have been changed as it depends on Terraform's `configload` package. 22 - In addition, modules are always loaded regardless of `ignore_module`. 23 - Raise an error when using invalid syntax as a Terraform configuration. 24 - For example, it didn't raise an error when using `resources`(not `resource`) block because it is valid as HCL syntax in previous versions. 25 - Remove `--debug` option. 26 - Please use `TFLINT_LOG` environment variables instead. 27 - Raise an error when a file passed by `--config` does not exist. 28 - Previously the error was ignored and the default config was referenced. 29 - Remove duplicate resource rules. 30 - This is due to technical difficulty and user experience. 31 32 ### Enhancements 33 34 - HCL2 support 35 - See also https://www.hashicorp.com/blog/terraform-0-1-2-preview 36 - Built-in Functions support 37 - Until now, if an expression includes function calls, it was ignored. 38 - `TF_DATA_DIR` and `TF_WORKSPACE` environment variables are now available. 39 - Until now, these variables are ignored. 40 - It is now possible to handle values doesn't have a default without raising errors. 41 - 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](https://github.com/wata727/tflint/issues/205) 42 - Terraform v0.11 module support 43 - Until now, it is failed to properly load a part of Terraform v0.11 module. See also [#167](https://github.com/wata727/tflint/issues/167) 44 - Support for automatic loading `*.auto.tfvars` files. 45 - Previously it was not loaded automatically. 46 47 ### BugFixes 48 49 - Improve expression checks 50 - Since it used to be checked by a regular expression, there were many bugs, but it was greatly improved by using the `terraform/lang` package. See [#204](https://github.com/wata727/tflint/issues/204) [#160](https://github.com/wata727/tflint/issues/160) 51 - Stop overwriting the config under the current directory by the config under the homedir. 52 - Fixed the problem that overwrites the config under the current directory by homedir config. 53 - Improve to check for `aws_db_instance_readable_password`. 54 - Previously, false positive occurred when setting values files or environment variables, but this problem has been fixed. 55 - Make `transit_gateway_id` as a valid target on `aws_route_specified_multiple_targets` 56 57 ### Project Changes 58 59 - Change license: MIT -> MPL 2.0 60 - See [#245](https://github.com/wata727/tflint/pull/245) 61 - Update documentations 62 - See [#272](https://github.com/wata727/tflint/pull/272) 63 64 ## 0.7.6 (2019-05-17) 65 66 ### BugFixes 67 68 - [#276](https://github.com/wata727/tflint/pull/276): Update aws_route_not_specified_target to handle transit_gateway_id. ([@davewongillies](https://github.com/davewongillies)) 69 70 ## 0.7.5 (2019-04-03) 71 72 ### Enhancements 73 74 - Update RDS DB size list ([#269](https://github.com/wata727/tflint/pull/269)) 75 - Add M5 and R5 families to ElastiCache ([#270](https://github.com/wata727/tflint/pull/270)) 76 77 ### Others 78 79 - Add go report card ([#261](https://github.com/wata727/tflint/pull/261)) 80 - automate the installation of tflint on linux ([#267](https://github.com/wata727/tflint/pull/267)) 81 82 ## 0.7.4 (2019-02-09) 83 84 ### Enhancements 85 86 - Add support for db.m5 series db types ([#258](https://github.com/wata727/tflint/pull/258)) 87 88 ## 0.7.3 (2018-12-28) 89 90 ### Enhancements 91 92 - Update ec2-instances-info dependency ([#257](https://github.com/wata727/tflint/pull/257)) 93 94 ### Others 95 96 - Add "features" word to docs for people explicitly looking ([#237](https://github.com/wata727/tflint/pull/237)) 97 98 ## 0.7.2 (2018-08-26) 99 100 ### Enhancements 101 102 - Update valid instance list ([#226](https://github.com/wata727/tflint/pull/226)) 103 104 ## 0.7.1 (2018-07-19) 105 106 ### Bugfix 107 108 - Add missing db instances as valid types ([#214](https://github.com/wata727/tflint/pull/214)) 109 - Update valid instance types ([#215](https://github.com/wata727/tflint/pull/215)) 110 111 ### Others 112 113 - Migrate to dep from Glide ([#208](https://github.com/wata727/tflint/pull/208)) 114 - Add `rule` section in README ([#213](https://github.com/wata727/tflint/pull/213)) 115 116 ## 0.7.0 (2018-06-04) 117 118 ### Enhancements 119 120 - Add new `rule` configuration syntax ([#197](https://github.com/wata727/tflint/pull/197)) 121 122 ### Others 123 124 - Recommend `rule` syntax instead of `ignore_rules` in README ([#200](https://github.com/wata727/tflint/pull/200)) 125 126 ## 0.6.0 (2018-05-18) 127 128 ### Enhancements 129 130 - Support terraform.workspace variable ([#181](https://github.com/wata727/tflint/pull/181)) 131 - Accept glob and multiple input ([#183](https://github.com/wata727/tflint/pull/183)) 132 - Fallback to config under the home directory ([#186](https://github.com/wata727/tflint/pull/186)) 133 - Add new --quiet option ([#190](https://github.com/wata727/tflint/pull/190)) 134 135 ### Changes 136 137 - Remove aws_instance_not_specified_iam_profile ([#180](https://github.com/wata727/tflint/pull/180)) 138 139 ### Bugfix 140 141 - Handle color for Windows ([#184](https://github.com/wata727/tflint/pull/184)) 142 - Fix interpolation checking ([#189](https://github.com/wata727/tflint/pull/189)) 143 - Detect pinned sources using regular expressions ([#194](https://github.com/wata727/tflint/pull/194)) 144 145 ### Others 146 147 - AppVeyor :rocket: ([#185](https://github.com/wata727/tflint/pull/185)) 148 - Add note for installation ([#196](https://github.com/wata727/tflint/pull/196)) 149 150 ## 0.5.4 (2018-01-07) 151 152 ### Bugfix 153 154 - Handle empty config file ([#166](https://github.com/wata727/tflint/pull/166)) 155 156 ## 0.5.3 (2017-12-09) 157 158 ### Enhancements 159 160 - Support module path for v0.11.0 ([#161](https://github.com/wata727/tflint/pull/161)) 161 - Ignore module initialization when settings `ignore_module` ([#163](https://github.com/wata727/tflint/pull/163)) 162 163 ## 0.5.2 (2017-11-12) 164 165 ### Enhancements 166 167 - Use `cristim/ec2-instances-info` instead of hard-coded list ([#159](https://github.com/wata727/tflint/pull/159)) 168 169 ### BugFix 170 171 - Use `strings.Trim` instead of `strings.Replace` ([#158](https://github.com/wata727/tflint/pull/158)) 172 173 ### Others 174 175 - Set Docker container default workdir to /data ([#152](https://github.com/wata727/tflint/pull/152)) 176 - Add ca-certificates to Docker image for TLS requests to AWS ([#155](https://github.com/wata727/tflint/pull/155)) 177 178 ## 0.5.1 (2017-10-18) 179 180 Re-release due to [#151](https://github.com/wata727/tflint/issues/151) 181 There is no change in the code from v0.5.0 182 183 ## 0.5.0 (2017-10-14) 184 185 Minor version update. This release includes environment variable support. 186 187 ### Enhancements 188 189 - Support variables from environment variables ([#147](https://github.com/wata727/tflint/pull/147)) 190 - Support moudle path for v0.10.7 ([#149](https://github.com/wata727/tflint/pull/149)) 191 192 ### Others 193 194 - Add Makefile target for creating docker image ([#145](https://github.com/wata727/tflint/pull/145)) 195 - Update Go version ([#146](https://github.com/wata727/tflint/pull/146)) 196 197 ## 0.4.3 (2017-09-30) 198 199 Patch version update. This release includes Terraform v0.10.6 supports. 200 201 ### Enhancements 202 203 - Add G3 instances support ([#139](https://github.com/wata727/tflint/pull/139)) 204 - Support new digest module path ([#144](https://github.com/wata727/tflint/pull/144)) 205 206 ### Others 207 208 - Fix unclear error messages ([#137](https://github.com/wata727/tflint/pull/137)) 209 210 ## 0.4.2 (2017-08-03) 211 212 Patch version update. This release includes a hotfix. 213 214 ### BugFix 215 216 - Fix panic for integer variables interpolation ([#131](https://github.com/wata727/tflint/pull/131)) 217 218 ## 0.4.1 (2017-07-29) 219 220 Patch version update. This release includes terraform meta information interpolation syntax support. 221 222 ### NewDetectors 223 224 - Add AwsECSClusterDuplicateNameDetector ([#128](https://github.com/wata727/tflint/pull/128)) 225 226 ### Enhancements 227 228 - Support "${terraform.env}" syntax ([#126](https://github.com/wata727/tflint/pull/126)) 229 - Environment state handling ([#127](https://github.com/wata727/tflint/pull/127)) 230 231 ### Others 232 233 - Update deps ([#130](https://github.com/wata727/tflint/pull/130)) 234 235 ## 0.4.0 (2017-07-09) 236 237 Minor version update. This release includes big core API changes. 238 239 ### Enhancements 240 241 - Overrides module ([#118](https://github.com/wata727/tflint/pull/118)) 242 - Add document link and detector name on output ([#122](https://github.com/wata727/tflint/pull/122)) 243 - Add Terraform version options ([#123](https://github.com/wata727/tflint/pull/123)) 244 - Report `aws_instance_not_specified_iam_profile` only when `terraform_version` is less than 0.8.8 ([#124](https://github.com/wata727/tflint/pull/124)) 245 246 ### Others 247 248 - Provide abstract HCL access ([#112](https://github.com/wata727/tflint/pull/112)) 249 - Fix override logic ([#117](https://github.com/wata727/tflint/pull/117)) 250 - Fix some output messages and documentation ([#125](https://github.com/wata727/tflint/pull/125)) 251 252 ## 0.3.6 (2017-06-05) 253 254 Patch version update. This release includes hotfix for module evaluation. 255 256 ### BugFix 257 258 - DO NOT USE Evaluator :bow: ([#114](https://github.com/wata727/tflint/pull/114)) 259 260 ### Others 261 262 - Add HCL syntax highlighting in README ([#110](https://github.com/wata727/tflint/pull/110)) 263 - Update README.md ([#111](https://github.com/wata727/tflint/pull/111)) 264 265 ## 0.3.5 (2017-04-23) 266 267 Patch version update. This release includes new detectors and bugfix for module. 268 269 ### NewDetectors 270 271 - Module source pinned ref check ([#100](https://github.com/wata727/tflint/pull/100)) 272 - Add AwsCloudWatchMetricAlarmInvalidUnitDetector ([#108](https://github.com/wata727/tflint/pull/108)) 273 274 ### Enhancements 275 276 - Support F1 instances ([#107](https://github.com/wata727/tflint/pull/107)) 277 278 ### BugFix 279 280 - Interpolate module attributes ([#105](https://github.com/wata727/tflint/pull/105)) 281 282 ### Others 283 284 - Improve CLI ([#102](https://github.com/wata727/tflint/pull/102)) 285 - Add integration test ([#106](https://github.com/wata727/tflint/pull/106)) 286 287 ## 0.3.4 (2017-04-10) 288 289 Patch version update. This release includes new detectors for `aws_route` 290 291 ### NewDetectors 292 293 - Add AwsRouteInvalidRouteTableDetector ([#90](https://github.com/wata727/tflint/pull/90)) 294 - Add AwsRouteNotSpecifiedTargetDetector ([#91](https://github.com/wata727/tflint/pull/91)) 295 - Add AwsRouteSpecifiedMultipleTargetsDetector ([#92](https://github.com/wata727/tflint/pull/92)) 296 - Add AwsRouteInvalidGatewayDetector ([#93](https://github.com/wata727/tflint/pull/93)) 297 - Add AwsRouteInvalidEgressOnlyGatewayDetector ([#94](https://github.com/wata727/tflint/pull/94)) 298 - Add AwsRouteInvalidNatGatewayDetector ([#95](https://github.com/wata727/tflint/pull/95)) 299 - Add AwsRouteInvalidVpcPeeringConnectionDetector ([#96](https://github.com/wata727/tflint/pull/96)) 300 - Add AwsRouteInvalidInstanceDetector ([#97](https://github.com/wata727/tflint/pull/97)) 301 - Add AwsRouteInvalidNetworkInterfaceDetector ([#98](https://github.com/wata727/tflint/pull/98)) 302 303 ### BugFix 304 305 - Fix panic when security groups are on EC2-Classic ([#89](https://github.com/wata727/tflint/pull/89)) 306 307 ### Others 308 309 - Transfer from hakamadare/tflint to wata727/tflint ([#84](https://github.com/wata727/tflint/pull/84)) 310 311 ## 0.3.3 (2017-04-02) 312 313 Patch version update. This release includes support for shared credentials. 314 315 ### Enhancements 316 317 - Support shared credentials ([#79](https://github.com/wata727/tflint/pull/79)) 318 - Add checkstyle format ([#82](https://github.com/wata727/tflint/pull/82)) 319 320 ### Others 321 322 - Add NOTE to aws_instance_not_specified_iam_profile ([#81](https://github.com/wata727/tflint/pull/81)) 323 - Refactoring for default printer ([#83](https://github.com/wata727/tflint/pull/83)) 324 325 ## 0.3.2 (2017-03-25) 326 327 Patch version update. This release includes hotfix. 328 329 ### BugFix 330 331 - Fix panic when parsing empty list ([#78](https://github.com/wata727/tflint/pull/78)) 332 333 ### Others 334 335 - Fix unstable test ([#74](https://github.com/wata727/tflint/pull/74)) 336 - Update README to reference Homebrew tap ([#75](https://github.com/wata727/tflint/pull/75)) 337 338 ## 0.3.1 (2017-03-12) 339 340 Patch version update. This release includes support for tfvars. 341 342 ### Enhancements 343 344 - Support I3 instance types ([#66](https://github.com/wata727/tflint/pull/66)) 345 - Support TFVars ([#67](https://github.com/wata727/tflint/pull/67)) 346 347 ### Others 348 349 - Add Dockerfile ([#59](https://github.com/wata727/tflint/pull/59)) 350 - Fix link ([#60](https://github.com/wata727/tflint/pull/60)) 351 - Update help message ([#61](https://github.com/wata727/tflint/pull/61)) 352 - Move cache from detector to awsclient ([#62](https://github.com/wata727/tflint/pull/62)) 353 - Refactoring detector ([#65](https://github.com/wata727/tflint/pull/65)) 354 - glide up ([#68](https://github.com/wata727/tflint/pull/68)) 355 - Update go version ([#69](https://github.com/wata727/tflint/pull/69)) 356 357 ## 0.3.0 (2017-02-12) 358 359 Minor version update. This release includes core enhancements for terraform state file. 360 361 ### NewDetectors 362 363 - Add RDS readable password detector ([#46](https://github.com/wata727/tflint/pull/46)) 364 - Add duplicate security group name detector ([#49](https://github.com/wata727/tflint/pull/49)) 365 - Add duplicate ALB name detector ([#52](https://github.com/wata727/tflint/pull/52)) 366 - Add duplicate ELB name detector ([#54](https://github.com/wata727/tflint/pull/54)) 367 - Add duplicate DB Instance Identifier Detector ([#55](https://github.com/wata727/tflint/pull/55)) 368 - Add duplicate ElastiCache Cluster ID detector ([#56](https://github.com/wata727/tflint/pull/56)) 369 370 ### Enhancements 371 372 - Interpret TFState ([#48](https://github.com/wata727/tflint/pull/48)) 373 - Add --fast option ([#58](https://github.com/wata727/tflint/pull/58)) 374 375 ### BugFix 376 377 - r4.xlarge is valid type ([#43](https://github.com/wata727/tflint/pull/43)) 378 379 ### Others 380 381 - Add sideci.yml ([#42](https://github.com/wata727/tflint/pull/42)) 382 - Update README ([#50](https://github.com/wata727/tflint/pull/50)) 383 - SideCI Settings ([#57](https://github.com/wata727/tflint/pull/57)) 384 385 ## 0.2.1 (2017-01-10) 386 387 Patch version update. This release includes new argument options. 388 389 ### NewDetectors 390 391 - add db instance invalid type detector ([#32](https://github.com/wata727/tflint/pull/32)) 392 - add rds previous type detector ([#33](https://github.com/wata727/tflint/pull/33)) 393 - add invalid type detector for elasticache ([#34](https://github.com/wata727/tflint/pull/34)) 394 - add previous type detector for elasticache ([#35](https://github.com/wata727/tflint/pull/35)) 395 396 ### Enhancements 397 398 - Return error code when issue exists ([#31](https://github.com/wata727/tflint/pull/31)) 399 400 ### Others 401 402 - fix install version ([#30](https://github.com/wata727/tflint/pull/30)) 403 - CLI Test By Interface ([#36](https://github.com/wata727/tflint/pull/36)) 404 - Fix --error-with-issues description ([#37](https://github.com/wata727/tflint/pull/37)) 405 - glide up ([#38](https://github.com/wata727/tflint/pull/38)) 406 407 ## 0.2.0 (2016-12-24) 408 409 Minor version update. This release includes enhancements and several fixes 410 411 ### New Detectors 412 413 - add AWS Instance Invalid AMI deep detector ([#7](https://github.com/wata727/tflint/pull/7)) 414 - add invalid key name deep detector ([#11](https://github.com/wata727/tflint/pull/11)) 415 - add invalid subnet deep detector ([#12](https://github.com/wata727/tflint/pull/12)) 416 - add invalid vpc security group deep detector ([#13](https://github.com/wata727/tflint/pull/13)) 417 - add invalid security group detector for ELB ([#16](https://github.com/wata727/tflint/pull/16)) 418 - add invalid subnet detector for ELB ([#17](https://github.com/wata727/tflint/pull/17)) 419 - add invalid instance detector for ELB ([#18](https://github.com/wata727/tflint/pull/18)) 420 - add invalid security group detector for ALB ([#20](https://github.com/wata727/tflint/pull/20)) 421 - add invalid subnet detector for ALB ([#21](https://github.com/wata727/tflint/pull/21)) 422 - add invalid security group detector for RDS ([#22](https://github.com/wata727/tflint/pull/22)) 423 - add invalid DB subnet group detector for RDS ([#23](https://github.com/wata727/tflint/pull/23)) 424 - add invalid parameter group detector for RDS ([#24](https://github.com/wata727/tflint/pull/24)) 425 - add invalid option group detector for RDS ([#25](https://github.com/wata727/tflint/pull/25)) 426 - add invalid parameter group detector for ElastiCache ([#27](https://github.com/wata727/tflint/pull/27)) 427 - add invalid subnet group detector for ElastiCache ([#28](https://github.com/wata727/tflint/pull/28)) 428 - add invalid security group detector for ElastiCache ([#29](https://github.com/wata727/tflint/pull/29)) 429 430 ### Enhancements 431 432 - Support t2 and r4 types ([#5](https://github.com/wata727/tflint/pull/5)) 433 - Improve ineffecient module detector method ([#10](https://github.com/wata727/tflint/pull/10)) 434 - do not call API when target resources are not found ([#15](https://github.com/wata727/tflint/pull/15)) 435 - support list type variables evaluation ([#19](https://github.com/wata727/tflint/pull/19)) 436 437 ### Bug Fixes 438 439 - Fix panic deep detecting with module ([#8](https://github.com/wata727/tflint/pull/8)) 440 441 ### Others 442 443 - Fix `Fatalf` format in test ([#3](https://github.com/wata727/tflint/pull/3)) 444 - Remove Zero width space in README.md ([#4](https://github.com/wata727/tflint/pull/4)) 445 - Fix typos ([#6](https://github.com/wata727/tflint/pull/6)) 446 - documentation ([#26](https://github.com/wata727/tflint/pull/26)) 447 448 ## 0.1.0 (2016-11-27) 449 450 Initial release 451 452 ### Added 453 454 - Add Fundamental features 455 456 ### Deprecated 457 458 - Nothing 459 460 ### Removed 461 462 - Nothing 463 464 ### Fixed 465 466 - Nothing