Skip to content

Releases: aws-cloudformation/cfn-lint

Release v0.11.0

07 Jan 17:51
Compare
Choose a tag to compare
Features
  • Add rule E3030 to use the newly patched spec to check resource properties values. Update the following rules replaced by E3030.
    • Delete rule W2512
    • Delete rule E2531
    • Move allowed values check in rule E2505
  • Add rule E3008 to use the newly patched spec to check a resource properties Ref and GetAtt. Update the following rules replaced by E3008.
  • Improve rule E3020 to check MX records
CloudFormation Specifications
  • Update CloudFormation specs to 2.18.1
  • Append the CloudFormation spec to include:
    • AllowedValues for resource properties
    • Allowed Ref/GetAtts for resource properties
  • Add specs for regions eu-north-1, us-gov-east-1, us-gov-west-1
  • Add AWS::StepFunctions::StateMachine in all supported regions
  • Add AWS::CloudWatch::Alarm.Metric, AWS::CloudWatch::Alarm.MetricDataQuery and AWS::CloudWatch::Alarm.MetricStat in all supported regions
  • Add AWS::Lambda::LayerVersion, AWS::Lambda::LayerVersion.Content, and AWS::Lambda::LayerVersionPermission in all supported regions
Fixes
  • Fix description on rule W2501 to be more informative
  • Update rule E2532 to allow Parameters in a Task in a Step Function
  • Fix rule E1010 to allow Refs in the GetAtt attribute section
  • Add AWS::CloudFormation::Init as an exception for rule E1029
  • Add Informational error messages to JSON outputs
  • Fix file searching **/* to recursively search in Python 3.5 and greater
  • Update CopyRight from 2018 to 2019

Release v0.10.2

14 Dec 21:35
ee38f69
Compare
Choose a tag to compare
Features
  • Code coverage testing integrated into the CI process
  • Update CloudFormation specs to 2.18.0
Fixes
  • Fix rule E2505 to allow for SSM parameters when checking Cidr and Tenancy parameters
  • Fix rule E1029 to not error on API Gateway stageVariables

Release v0.10.1

04 Dec 22:44
Compare
Choose a tag to compare
Features
  • Support stdin for reading and testing templates
Fixes
  • Remove dependency on regex package as it requires gcc
  • Remove rule E3507 because it depends on regex package

Release v0.10.0

04 Dec 14:07
Compare
Choose a tag to compare
Features
  • Update specs to version 2.16.0
Fixes
  • Require pathlib2 in Python versions earlier than 3.4.0
  • Update aws-sam-translator to v1.8.0
  • Update requests dependency to be at least version 2.15.0
  • Add Python 3.7 support for Lambda
  • Provide valid Python runtimes in rule E2531 error message
  • Allow Fn::Sub inside a Fn::Sub for rule E1019
  • Add hardcoded list check as invalid in rule E6003
  • Fix home expansion with when looking for .cfnlintrc in Python 3.4
  • Add testing in Travis for Py34, Py35, Py37
  • Prevent spaces after the comma in spec file
  • Update allowed Lambda Runtimes to include provided and ruby

Release v0.9.2

21 Nov 03:18
Compare
Choose a tag to compare
Features
  • Update specs to version 2.15.0
Fixes
  • Fix rule E3020 to allow multiple text records of up to 255 characters
  • Fix rule E3016 to handle conditions in Update Policies
  • Fix rule E2532 to not fail when using a Fn::Sub and a number for a param

Release v0.9.1

16 Nov 19:38
Compare
Choose a tag to compare
Features
  • Add support for eu-west-3 and ap-northeast-3
  • Add Resource Type AWS::CloudFormation::Macro to CloudFormation Spec
Fixes
  • Fix the error message for YAML null being off by 1 line and 1 column number
  • Add Custom Error for when trying to access an attribute in the classes that make up the template
  • Fix an issue with deepcopy not creating copies with start and end marks
  • Fix 4 rules that would fail when trying to create the path of the error and running into an integer
  • Fix rule E2015 to force parameter default values to be a string when testing against the AllowedPattern regex pattern
  • Fix a bug in the config engine in which append rules would have gone to override spec
  • Remove exit calls from functions that are used in integrations preventing pre-mature failures
  • Fix rule E3002 E3003 to support functions that may be able to support objects

Release v0.9.0

12 Nov 15:20
Compare
Choose a tag to compare
Features
  • Add rule E8002 to validate if resource Conditions or Fn::If conditions are defined
  • Improve rule E3002 to validate custom resources when custom specs are addended to the resource spec using override-spec
  • Allow for configuration of cfn-lint using configuration files in the project and home folder called .cfnlintrc
  • Updated specs to versions release 2.12.0
Fixes
  • Fix rule E3002 to not fail when looking for lists of objects and using a FindInMap or GetAtt to a custom resource as both could suppliy a list of objects
  • Remove rule E1025 which was duplicative to the more extensive rule E8002
  • Fix rule E3020 to allow for quotes when checking the length
  • Add generic exception handling to SAM transforming functions
  • Complete redo how we handle arguments to fix issues created when linting multiple files with cfn-lint configurations in the file
  • New CloudFormation spec patch to not require CidrBlock on resource type AWS::EC2::NetworkAclEntry
  • New updates to AtLeastOne.json definition to require CidrBlock or Ipv6CidrBlock on resource type AWS::EC2::NetworkAclEntry
  • A few documentation improvements

Release v0.8.3

01 Nov 12:20
Compare
Choose a tag to compare
Features
  • Add rule E3022 to validate that there is only one SubnetRouteTableAssociation per subnet
Fixes
  • Fix rule E2502 to check Arn and Name for AWS::EC2::LaunchTemplate resources
  • Fix rule E3016 to remove use of Path which may not be defined in certain scenarios
  • Fix base rule Class so that resource_property_types and resource_sub_property_types is initialized from on every new rule and not copied from previous rules that were initialized
  • Fix conversions of transformed templates in which keys stayed as str(s) instead of str_node(s)

Release v0.8.2

25 Oct 20:21
Compare
Choose a tag to compare
Fixes
  • Update rule E2502 to allow GetAtt against a nested stack or custom resource
  • Update rules E2541 and E2540 to support conditions inside the CodePipeline
  • Fix types in rule E2532 to now include InputPath and OutputPath
  • Update rule E1029 to skip missing sub when looking at parameters in IAM policies
  • Update rule E2507 to allow for strings in the IAM policy
  • Update rule E2507 to allow the policy statement to be an object along with a list

Release v0.8.1

19 Oct 18:28
60027ac
Compare
Choose a tag to compare
Features
  • Update Specs to the versions released October 19th, 2018
Fixes
  • Fix rule E2541 to not fail on non-string values