Changelogs » Cfn-lint

PyUp Safety actively tracks 263,166 Python packages for vulnerabilities and notifies you when to upgrade.

Cfn-lint

2.12.0

Fixes
  - Fix rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) 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](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1025) which was duplicative to the more extensive rule E8002
  - Fix rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) 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

1.10.0


        

0.36.1

CloudFormation Specifications
  - Update CloudFormation specs to 18.4.0 (pull [1707](https://github.com/aws-cloudformation/cfn-python-lint/pull/1707))
  - Add `ap-northeast-3` to `scripts/update_specs_services_from_ssm.py` (pull [1703](https://github.com/aws-cloudformation/cfn-python-lint/pull/1703))

0.36.0

Features
  - Update rule [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) to validate that input artifacts are output artifacts from a previous action and that output artifact names are unique in the pipeline (pull [1690](https://github.com/aws-cloudformation/cfn-python-lint/pull/1690))
  - New rule [E3007](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3007) to validate parameter and resource names are unique (pull [1698](https://github.com/aws-cloudformation/cfn-python-lint/pull/1698))
  CloudFormation Specifications
  - Update CloudFormation specs to 18.3.0 (pull [1697](https://github.com/aws-cloudformation/cfn-python-lint/pull/1697))
  - Expand `AllowedValues` for `AWS::AmazonMQ::Broker.EngineVersion` and `AWS::Glue::Trigger.Condition.State` (pull [1680](https://github.com/aws-cloudformation/cfn-python-lint/pull/1680), [1681](https://github.com/aws-cloudformation/cfn-python-lint/pull/1681))
  Fixes
  - Expand `templated_exceptions` property types that require package command for rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) and [W3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3002) (pull [1684](https://github.com/aws-cloudformation/cfn-python-lint/pull/1684))
  - Pin pyrsistent to `0.16.0` with Python versions less than `3.5` (pull [1693](https://github.com/aws-cloudformation/cfn-python-lint/pull/1693))
  - Fix an issue with SSM Spec patching that resulted in resource `PropertyTypes` not being added to the spec patches (pull [1696](https://github.com/aws-cloudformation/cfn-python-lint/pull/1696))
  - Update directives to use the resource name key as the start (pull [1692](https://github.com/aws-cloudformation/cfn-python-lint/pull/1692))

0.35.1

CloudFormation Specifications
  - Update CloudFormation specs to 18.1.0 (pull [1671](https://github.com/aws-cloudformation/cfn-python-lint/pull/1671))
  - Expand `AllowedValues` for `AWS::CloudFront::Distribution.MinimumProtocolVersion`, `AWS::Config::ConfigurationRecorder.ResourceTypes`, and `AWS::Glue::Connection.ConnectionInput.ConnectionType` (pull [1661](https://github.com/aws-cloudformation/cfn-python-lint/pull/1661), [1664](https://github.com/aws-cloudformation/cfn-python-lint/pull/1664), [1673](https://github.com/aws-cloudformation/cfn-python-lint/pull/1673))
  - Add localzone `us-west-2-lax-1b` (pull [1670](https://github.com/aws-cloudformation/cfn-python-lint/pull/1670))
  Fixes
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to include `routing.http.desync_mitigation_mode` (pull [1660](https://github.com/aws-cloudformation/cfn-python-lint/pull/1660))
  - Update excludes for rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to include `ResponseMappingTemplate` (pull [1667](https://github.com/aws-cloudformation/cfn-python-lint/pull/1667))
  - Update rule [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019) and [E1010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1010) to handle resource attributes of type `Map` (pull [1659](https://github.com/aws-cloudformation/cfn-python-lint/pull/1659))

0.35.0

CloudFormation Specifications
  - Update CloudFormation specs to 17.0.0 (pull [1653](https://github.com/aws-cloudformation/cfn-python-lint/pull/1653))
  - Fix ElasticMapReduce and ManagedBlockchain InstanceType patching (pull [1654](https://github.com/aws-cloudformation/cfn-python-lint/pull/1654))
  - Include a regex pattern to check MetricValue is either a number or starts with `$` (pull [1647](https://github.com/aws-cloudformation/cfn-python-lint/pull/1647))
  - Add more types to `AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification.PredefinedMetricType` (pull [1652](https://github.com/aws-cloudformation/cfn-python-lint/pull/1652))
  - Add more values to `AWS::Lambda::Function.Runtime` (pull [1651](https://github.com/aws-cloudformation/cfn-python-lint/pull/1651) and pull [1649](https://github.com/aws-cloudformation/cfn-python-lint/pull/1649))
  - Add more values to `AWS::Budgets::Budget.BudgetType` (pull [1643](https://github.com/aws-cloudformation/cfn-python-lint/pull/1643))
  Fixes
  - Update rule [E3031](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3031) to convert int or float to string before doing an allowed pattern match on it (pull [1647](https://github.com/aws-cloudformation/cfn-python-lint/pull/1647))
  - Add exceptions to rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) (pull [1646](https://github.com/aws-cloudformation/cfn-python-lint/pull/1646) and pull [1648](https://github.com/aws-cloudformation/cfn-python-lint/pull/1648))
  - Update rule [E8003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8003) to look for string based parameters (pull [1640](https://github.com/aws-cloudformation/cfn-python-lint/pull/1640))

0.34.1

CloudFormation Specifications
  - Update CloudFormation specs to 16.3.0 (pull [1635](https://github.com/aws-cloudformation/cfn-python-lint/pull/1635))
  Fixes
  - Update rule [E3001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3001) to catch when Resource `Type` is not a string (pull [1631](https://github.com/aws-cloudformation/cfn-python-lint/pull/1631))
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to handle `${}` in Step Function State Machines and Definition Substitutions (pull [1628](https://github.com/aws-cloudformation/cfn-python-lint/pull/1628))
  - Update rule [W4002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW4002) to only look at `Ref` and `Sub` (pull [1627](https://github.com/aws-cloudformation/cfn-python-lint/pull/1627))

0.34.0

Features
  - Add rule [W4002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW4002) that checks if `Metadata` references a `NoEcho` parameter (pull [1613](https://github.com/aws-cloudformation/cfn-python-lint/pull/1613))
  CloudFormation Specifications
  - Update CloudFormation specs to 16.1.0 (pull [1622](https://github.com/aws-cloudformation/cfn-python-lint/pull/1622))
  - Remove `AWS::EC2::LaunchTemplate.BlockDeviceMapping` from `OnlyOne` (pull [1617](https://github.com/aws-cloudformation/cfn-python-lint/pull/1617))
  - Add more `AllowedValues` to `AWS::Glue::Trigger.Predicate.Logical` (pull [1616](https://github.com/aws-cloudformation/cfn-python-lint/pull/1616))
  - Add more `AllowedValues` to `AWS::ApplicationAutoScaling::ScalingPolicy.PredefinedMetricSpecification.PredefinedMetricType` (pull [1604](https://github.com/aws-cloudformation/cfn-python-lint/pull/1604))
  - Add more `AllowedValues` to `AWS::S3::Bucket.TopicConfiguration.Event` (pull [1606](https://github.com/aws-cloudformation/cfn-python-lint/pull/1606))
  - Add more `AllowedValues` to `AWS::EC2::CapacityReservation.InstancePlatform` (pull [1605](https://github.com/aws-cloudformation/cfn-python-lint/pull/1605))
  - Fix an issue for applying `AllowedValues` to `AWS::RDS::DBInstance MonitoringInterval` and `PerformanceInsightsRetentionPeriod` (pull [1607](https://github.com/aws-cloudformation/cfn-python-lint/pull/1607))
  - Fix an issue for applying `Maximum` and `Minimum` to `AWS::ElasticLoadBalancingV2::ListenerRule.Priority` (pull [1608](https://github.com/aws-cloudformation/cfn-python-lint/pull/1608))
  Fixes
  - Update rule [E3503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3503) to not fail on if ValidationDomain or DomainName aren't present (pull [1620](https://github.com/aws-cloudformation/cfn-python-lint/pull/1620))

0.33.2

Features
  - Upgrade SAM Translator to v1.25.0 (pull [1594](https://github.com/aws-cloudformation/cfn-python-lint/pull/1594))
  CloudFormation Specifications
  - Update CloudFormation specs to 15.3.0 (pull [1600](https://github.com/aws-cloudformation/cfn-python-lint/pull/1600))
  Fixes
  - Update rule [E3401](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3401) to not fail on Apex records (pull [1599](https://github.com/aws-cloudformation/cfn-python-lint/pull/1599))

0.33.1

CloudFormation Specifications
  - Update CloudFormation specs to 15.1.0 (pull [1593](https://github.com/aws-cloudformation/cfn-python-lint/pull/1593))
  - Add additional allowed values for `AWS::SecretsManager::SecretTargetAttachment.TargetType` (pull [1573](https://github.com/aws-cloudformation/cfn-python-lint/pull/1573))
  - Add property types for `AvailabilityZone` in the `AWS::DMS::ReplicationInstance` and `AWS::EC2::Subnet` resources (pull [1585](https://github.com/aws-cloudformation/cfn-python-lint/pull/1585))
  - Expand allowed values for `AWS::CodeBuild::Project.Environment.Type` (pull [1589](https://github.com/aws-cloudformation/cfn-python-lint/pull/1589))
  Fixes
  - Update rule [E2004](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2004) to not check AllowedValues when the Type is `AWS::SSM::Parameter::Value<String>` (pull [1571](https://github.com/aws-cloudformation/cfn-python-lint/pull/1571))
  - Update Transform logic to not update DefinitionUri to S3 when not using DefinitionUri originally (pull [1576](https://github.com/aws-cloudformation/cfn-python-lint/pull/1576))

0.33.0

Features
  - Upgrade SAM Translator to v1.24.0 (pull [1562](https://github.com/aws-cloudformation/cfn-python-lint/pull/1562))
  - Warning messages for Python 3.4 and 2.7 (pull [1337](https://github.com/aws-cloudformation/cfn-python-lint/pull/1337))
  - Add `--output-file` parameter to output the results into a file (pull [1511](https://github.com/aws-cloudformation/cfn-python-lint/pull/1511))
  - Remove usage of jsonpointer (pull [1546](https://github.com/aws-cloudformation/cfn-python-lint/pull/1546))
  - Add rule [E3042](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3042) that checks AWS::ECS::TaskDefinition.ContainerDefinition has at least one essential container (pull [1548](https://github.com/aws-cloudformation/cfn-python-lint/pull/1548))
  CloudFormation Specifications
  - Update CloudFormation specs to 14.4.0 (pull [1555](https://github.com/aws-cloudformation/cfn-python-lint/pull/1555))
  - Add allowed patterns and values for properties in `AWS::S3::Bucket.InventoryConfiguration` (pull [1551](https://github.com/aws-cloudformation/cfn-python-lint/pull/1551))
  Fixes
  - Update Transform logic to support local files for the state machine defintion (pull [1562](https://github.com/aws-cloudformation/cfn-python-lint/pull/1562))

0.32.1

Features
  - Adding [`Hooks`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/blue-green.html) template section to rule [E1001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1001) (pull [1543](https://github.com/aws-cloudformation/cfn-python-lint/pull/1543))

0.32.0

Features
  - New rule [E3041](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3041) to check if `HostedZoneName` is a super domain for `Name` (pull [1483](https://github.com/aws-cloudformation/cfn-python-lint/pull/1483))
  - Update SAM Translator dependency to `1.23.0` (pull [1536](https://github.com/aws-cloudformation/cfn-python-lint/pull/1536))
  - Move Template and Runner classes into their own files (pull [1523](https://github.com/aws-cloudformation/cfn-python-lint/pull/1523))
  CloudFormation Specifications
  - Update CloudFormation specs to 14.3.0 (pull [1538](https://github.com/aws-cloudformation/cfn-python-lint/pull/1538))
  - Add instance type allowed values to ElastiCache, Elasticsearch, ElasticMapReduce, ManagedBlockchain, GameLift, and AppStream (pull [1535](https://github.com/aws-cloudformation/cfn-python-lint/pull/1535) and [1541](https://github.com/aws-cloudformation/cfn-python-lint/pull/1541))

0.31.1

Fixes
  - Exempting resource types [AWS::Serverless transform](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) creates that violated rule [W3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3011) (pull [1529](https://github.com/aws-cloudformation/cfn-python-lint/pull/1529))

0.31.0

Features
  - Add support for `.cfnlintrc.yaml` and `.cfnlintrc.yml` (pull [1504](https://github.com/aws-cloudformation/cfn-python-lint/pull/1504))
  - Add JUnit XML output format (pull [1506](https://github.com/aws-cloudformation/cfn-python-lint/pull/1506))
  CloudFormation Specifications
  - Update CloudFormation specs to 14.2.0 (pull [1526](https://github.com/aws-cloudformation/cfn-python-lint/pull/1526))
  - Update `AWS::AutoScaling::LaunchConfiguration` `SecurityGroups` to support GroupID and Names (pull [1505](https://github.com/aws-cloudformation/cfn-python-lint/pull/1505))
  - Add min max and allowed values for multiple WAFv2 rate rules `Limit` rules (pull [1507](https://github.com/aws-cloudformation/cfn-python-lint/pull/1507))

0.30.1

Features
  - Add the ability to specify a config file using parameter `--config-file` (pull [1462](https://github.com/aws-cloudformation/cfn-python-lint/pull/1462))
  - Speed up `--update-specs` to not download files if they haven't updated (pull [1383](https://github.com/aws-cloudformation/cfn-python-lint/pull/1383))
  CloudFormation Specifications
  - Add region `eu-south-1` (pull [1496](https://github.com/aws-cloudformation/cfn-python-lint/pull/1496))
  - Add region `af-south-1` (pull [1494](https://github.com/aws-cloudformation/cfn-python-lint/pull/1494))
  - Update CloudFormation specs to 14.0.0 (pull [1494](https://github.com/aws-cloudformation/cfn-python-lint/pull/1494))
  - Add new Config supported types `AWS::SecretsManager::Secret` and `AWS::SNS::Topic` (pull [1492](https://github.com/aws-cloudformation/cfn-python-lint/pull/1492))
  Fixes
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to have an exception for `RequestMappingTemplate` in AppSync (pull [1488](https://github.com/aws-cloudformation/cfn-python-lint/pull/1488))
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to have an exception for `ConnectionID` in API Gateway (pull [1493](https://github.com/aws-cloudformation/cfn-python-lint/pull/1493))

0.29.6

CloudFormation Specifications
  - Update Lambda runtimes to support `dotnetcore3.1` (pull [1469](https://github.com/aws-cloudformation/cfn-python-lint/pull/1469))
  - Update DMS Engine approved values with multiple items (pull [1472](https://github.com/aws-cloudformation/cfn-python-lint/pull/1472))
  - Add description allowed value regex to `AWS::EC2::SecurityGroup` Ingress/Egress (pull [1476](https://github.com/aws-cloudformation/cfn-python-lint/pull/1476))
  - Update CloudFormation specs to 13.0.0 (pull [1480](https://github.com/aws-cloudformation/cfn-python-lint/pull/1480))
  Fixes
  - Set `importlib_resources` to 1.4 for all Pythons except 3.4 (pull [1479](https://github.com/aws-cloudformation/cfn-python-lint/pull/1479))

0.29.5

CloudFormation Specifications
  - Update CloudFormation specs to 12.3.0 (pull [1464](https://github.com/aws-cloudformation/cfn-python-lint/pull/1464))
  Fixes
  - Fix an issue when including `cfn-lint` and needing `networkx` (pull [1458](https://github.com/aws-cloudformation/cfn-python-lint/issues/1458))

0.29.4

Features
  - Add `--build-graph` parameter to create a graph of dependencies (pull [1411](https://github.com/aws-cloudformation/cfn-python-lint/pull/1411))
  CloudFormation Specifications
  - Update CloudFormation specs to 12.1.0 (pull [1455](https://github.com/aws-cloudformation/cfn-python-lint/pull/1455))
  Fixes
  - Add `found unknown escape character` to start of err problem to determine when to use json parsing (pull [1454](https://github.com/aws-cloudformation/cfn-python-lint/pull/1454))

0.29.3

CloudFormation Specifications
  - Update CloudFormation specs to 12.0.0 (pull [1448](https://github.com/aws-cloudformation/cfn-python-lint/pull/1448))
  Fixes
  - Add region `ca-central-1d` (pull [1447](https://github.com/aws-cloudformation/cfn-python-lint/pull/1447))

0.29.2

Fixes
  - Update exceptions in rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to include `BuildSpec` (pull [1444](https://github.com/aws-cloudformation/cfn-python-lint/pull/1444))

0.29.1

Features
  - Switch DB Instance Engine check from [E3030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3030) to [E3040](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3040) so the comparison is case insensitive (pull [1441](https://github.com/aws-cloudformation/cfn-python-lint/pull/1441))
  CloudFormation Specifications
  - Update CloudFormation specs to 11.6.0 (pull [1433](https://github.com/aws-cloudformation/cfn-python-lint/pull/1433))
  - Add `ruby2.7` to supported list of ruby runtimes (pull [1436](https://github.com/aws-cloudformation/cfn-python-lint/pull/1436))
  Fixes
  - Update regex in rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to be more optimal and not hang on large strings (pull [1430](https://github.com/aws-cloudformation/cfn-python-lint/pull/1430))

0.29.0

Features
  - Update SAM Translator package to 1.21.0 (pull [1406](https://github.com/aws-cloudformation/cfn-python-lint/pull/1406))
  - Update rule [E3027](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3027) to check that either Day of Month or Day of Week is a question mark (pull [1405](https://github.com/aws-cloudformation/cfn-python-lint/pull/1405))
  - New rule [E3029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3029) to check `AWS::RDS::DBInstance` `Aurora` databases don't have certain properties (pull [1409](https://github.com/aws-cloudformation/cfn-python-lint/pull/1409))
  - Build a resource graph for checking circular dependencies (pull [1391](https://github.com/aws-cloudformation/cfn-python-lint/pull/1391))
  CloudFormation Specifications
  - Update Exclusive and Only One specs to include additional rules around Security Group Rules (pull [1407](https://github.com/aws-cloudformation/cfn-python-lint/pull/1407))
  - Update CloudFormation specs to 11.5.0 (pull [1416](https://github.com/aws-cloudformation/cfn-python-lint/pull/1416))
  - Patch spec so that TTL is Long on Route53 Change Record Sets (pull [1417](https://github.com/aws-cloudformation/cfn-python-lint/pull/1417))

0.28.4

CloudFormation Specifications
  - Update CloudFormation specs to 11.4.0 (pull [1403](https://github.com/aws-cloudformation/cfn-python-lint/pull/1403))
  Fixes
  - Properly display yaml parse errors when the error was a tab (pull [1402](https://github.com/aws-cloudformation/cfn-python-lint/pull/1402))

0.28.3

Features
  - Define an initial Docker file (pull [1361](https://github.com/aws-cloudformation/cfn-python-lint/pull/1361))
  CloudFormation Specifications
  - Update CloudFormation specs to 11.2.0 (pull [1390](https://github.com/aws-cloudformation/cfn-python-lint/pull/1390))
  - Add allowed values for `AWS::RDS::DBInstance` `Engine` (pull [1398](https://github.com/aws-cloudformation/cfn-python-lint/pull/1398))
  Fixes
  - Update rule [E3039](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3039) to properly filter down attributes before checking values (pull [1392](https://github.com/aws-cloudformation/cfn-python-lint/pull/1392))
  - Update rule [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019) to not join GetAtt if they aren't strings (pull [1389](https://github.com/aws-cloudformation/cfn-python-lint/pull/1389))
  - Consolidate region and spec information into singular item (pull [1357](https://github.com/aws-cloudformation/cfn-python-lint/pull/1357))

0.28.2

CloudFormation Specifications
  - Update CloudFormation specs to 11.1.0 (pull [1380](https://github.com/aws-cloudformation/cfn-python-lint/pull/1380))
  - Patch specs from updated SSM and pricing data as of 2020.02.21 (pull [1380](https://github.com/aws-cloudformation/cfn-python-lint/pull/1380))
  - Update AWS Config supported types to those active on 2020.02.20 (pull [1378](https://github.com/aws-cloudformation/cfn-python-lint/pull/1378))
  Fixes
  - Update condition logic to return dict_node instead of the standard dict node (pull [1375](https://github.com/aws-cloudformation/cfn-python-lint/pull/1375))
  - Fix `--update-specs` on Windows to have the appropriate seperator (pull [1371](https://github.com/aws-cloudformation/cfn-python-lint/pull/1371))
  - Update the documentation for `--update-documentation` (pull [1374](https://github.com/aws-cloudformation/cfn-python-lint/pull/1374))

0.28.1

Features
  - Add option to disable [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) using a regex pattern on the variable name (pull [1362](https://github.com/aws-cloudformation/cfn-python-lint/pull/1362))
  Fixes
  - Update decode node class to pass back an empty list when default is None and the key doesn't exist (pull [1364](https://github.com/aws-cloudformation/cfn-python-lint/pull/1364))

0.28.0

Features
  - Add rule [E3028](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3028) to check that `ScalingConfiguration` is only specified with Aurora databases (pull [1338](https://github.com/aws-cloudformation/cfn-python-lint/pull/1338))
  - Add rule [E3039](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3039) to check that `AttributeDefinitions` match `KeySchemas` (pull [1284](https://github.com/aws-cloudformation/cfn-python-lint/pull/1284))
  CloudFormation Specifications
  - Add `AFTER_7_DAYS` to `TransitionToIA` as accepted value (pull [1352](https://github.com/aws-cloudformation/cfn-python-lint/pull/1352))
  - Update CloudFormation specs to 11.0.0 (pull [1355](https://github.com/aws-cloudformation/cfn-python-lint/pull/1355))
  - Patch specs from updated SSM and pricing data as of 2020.02.15 (pull [1356](https://github.com/aws-cloudformation/cfn-python-lint/pull/1356))

0.27.5

Features
  - Add scripts to build an offline installer (pull [1307](https://github.com/aws-cloudformation/cfn-python-lint/pull/1307))
  CloudFormation Specifications
  - Update CloudFormation specs to 10.5.0 (pull [1347](https://github.com/aws-cloudformation/cfn-python-lint/pull/1347))
  - Patch specs from updated SSM and pricing data as of 2020.02.09 (pull [1348](https://github.com/aws-cloudformation/cfn-python-lint/pull/1348))

0.27.4

Features
  - Add Python 3.8 support (pull [1334](https://github.com/aws-cloudformation/cfn-python-lint/pull/1334))
  - Add more resources to rule [I3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3011) (pull [1331](https://github.com/aws-cloudformation/cfn-python-lint/pull/1331))
  CloudFormation Specifications
  - Patch specs from updated SSM service data as of 2020.01.30 (pull [1339](https://github.com/aws-cloudformation/cfn-python-lint/pull/1339))
  - Patch more wafv2 resources (pull [1343](https://github.com/aws-cloudformation/cfn-python-lint/pull/1343))
  Fixes
  - Pin version of jsonpatch for Python 3.4 (pull [1336](https://github.com/aws-cloudformation/cfn-python-lint/pull/1336))

0.27.3

CloudFormation Specifications
  - Update CloudFormation specs to 10.4.0 (pull [1330](https://github.com/aws-cloudformation/cfn-python-lint/pull/1330))

0.27.2

Fixes
  - Update rule [E3026](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3026) to better check for condition scenarios and not fail (pull [1327](https://github.com/aws-cloudformation/cfn-python-lint/pull/1327))

0.27.1

CloudFormation Specifications
  - Update CloudFormation patches to include pricing and SSM data from 2020.01.20 (pull [1322](https://github.com/aws-cloudformation/cfn-python-lint/pull/1322))
  Fixes
  - Update rule [E6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6001) to allow `Fn::Transform` (pull [1321](https://github.com/aws-cloudformation/cfn-python-lint/pull/1321))

0.27.0

Features
  - Add additional configuration checks to rule [E2001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2001) (pull [1301](https://github.com/aws-cloudformation/cfn-python-lint/pull/1301))
  - Add additional configuration checks to rule [E6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6001) (pull [1301](https://github.com/aws-cloudformation/cfn-python-lint/pull/1301))
  - Move `Export` `Name` required from `Outputs` in rule [E6002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6002) to [E6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6001) (pull [1301](https://github.com/aws-cloudformation/cfn-python-lint/pull/1301))
  - Move checking for list in `Outputs` `Value` in rule [E6003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6003) to [E6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6001) (pull [1301](https://github.com/aws-cloudformation/cfn-python-lint/pull/1301))
  - Add rules [I1002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI1002), [I1003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI1003), [I2010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI2010), [I2011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI2011), [I2012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI2012), [I3010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3010), [I3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3011), [I6010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI6010), [I6011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI6011), [I6012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI6012), [I7010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI7010), [I7011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI7011), [I7012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI7012) to alert when approaching limits (pull [1271](https://github.com/aws-cloudformation/cfn-python-lint/pull/1271))
  CloudFormation Specifications
  - Update CloudFormation specs to 10.3.0 (pull [1317](https://github.com/aws-cloudformation/cfn-python-lint/pull/1317))
  - Patch wafV2 Resources in the CloudFormation spec (pull [1313](https://github.com/aws-cloudformation/cfn-python-lint/pull/1313))
  Fixes
  - Update rules [E6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6001), [E6002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6002), [E6003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6003) to filter out unneeded columns when processing conditions (pull [1316](https://github.com/aws-cloudformation/cfn-python-lint/pull/1316))
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to allow for exlusions in `NotResource` (pull [1315](https://github.com/aws-cloudformation/cfn-python-lint/pull/1315))
  - Update rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to check for string types before doing regex (pull [1311](https://github.com/aws-cloudformation/cfn-python-lint/pull/1311))

0.26.3

Features
  - Add extra attributes to rules [E1024](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1024), [E3027](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3027), [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) (pull [1272](https://github.com/aws-cloudformation/cfn-python-lint/pull/1272))
  CloudFormation Specifications
  - Move `AWS::S3::Bucket.RoutingRuleCondition` properties from OnlyOne to AtLeastOne (pull [1283](https://github.com/aws-cloudformation/cfn-python-lint/pull/1283))
  - Add `AWS::SSM::Parameter.Value` to the `AWS::EC2::VPC.Id` type (pull [1288](https://github.com/aws-cloudformation/cfn-python-lint/pull/1288))
  - Add `CNAME` as an allowed value to `ServiceDiscoveryDnsType` (pull [1296](https://github.com/aws-cloudformation/cfn-python-lint/pull/1296))
  - Patch `AWS::WAFv2::RegexPatternSet.RegularExpressionList` removing extra layer (pull [1300](https://github.com/aws-cloudformation/cfn-python-lint/pull/1300))
  - Add `LambdaProvisionedConcurrencyUtilization` as allowed value to Application Autoscaling Metric (pull [1303](https://github.com/aws-cloudformation/cfn-python-lint/pull/1303))
  - Add some exclusive attributes to `AWS::CloudWatch::Alarm` for `Metrics` and `Threshold` (pull [1306](https://github.com/aws-cloudformation/cfn-python-lint/pull/1306))
  Fixes
  - pyyaml has ended support for Python 3.4.  Pin pyyaml to version 5.2 for Python 3.4 (pull [1290](https://github.com/aws-cloudformation/cfn-python-lint/pull/1290))
  - Convert from using imp to importlib for python 3.x (pull [1292](https://github.com/aws-cloudformation/cfn-python-lint/pull/1292))

0.26.2

Features
  - Update `aws-sam-translator` to `1.19.1` (pull [1275](https://github.com/aws-cloudformation/cfn-python-lint/pull/1275))
  CloudFormation Specifications
  - Update CloudFormation specs to 10.2.0 (pull [1273](https://github.com/aws-cloudformation/cfn-python-lint/pull/1273))
  - Update EOL dates for Python 2.7 (pull [1270](https://github.com/aws-cloudformation/cfn-python-lint/pull/1270))
  Fixes
  - Update rule [W3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3011) /[I3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3011)  to include resource path in message (pull [1266](https://github.com/aws-cloudformation/cfn-python-lint/pull/1266))

0.26.1

Features
  - New rule [I3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3011) to check stateful resources have a set UpdateReplacePolicy/DeletionPolicy (pull [1232](https://github.com/aws-cloudformation/cfn-python-lint/pull/1232))
  CloudFormation Specifications
  - Update CloudFormation specs to 10.1.0 (pull [1255](https://github.com/aws-cloudformation/cfn-python-lint/pull/1255))
  - Add `ALLOW_` values to `ExplicitAuthFlows` (pull [1261](https://github.com/aws-cloudformation/cfn-python-lint/pull/1261))
  Fixes
  - Update rule [W3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3011) to ignore W3011 if explicit DeletionPolicy/UpdateReplacePolicy value is Delete (pull [1253](https://github.com/aws-cloudformation/cfn-python-lint/pull/1253))
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to not alert when looking at Parameters (pull [1256](https://github.com/aws-cloudformation/cfn-python-lint/pull/1256))
  - Update rule [E2504](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2504) to allow for ephemeral(0-23) (pull [1260](https://github.com/aws-cloudformation/cfn-python-lint/pull/1260))

0.26.0

Features
  - Created a new `mandatory-checks` parameter to require rules to be reported on and not ignored (pull [1243](https://github.com/aws-cloudformation/cfn-python-lint/pull/1243))
  - Allow using modules when doing `append-rules` (pull [1216](https://github.com/aws-cloudformation/cfn-python-lint/pull/1216))
  - Add support for the new zone `us-west-2-lax-1a` (pull [1241](https://github.com/aws-cloudformation/cfn-python-lint/pull/1241))
  CloudFormation Specifications
  - Update CloudFormation specs to 10.0.0 (pull [1247](https://github.com/aws-cloudformation/cfn-python-lint/pull/1247))
  Fixes
  - Update rule [E8001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8001) to allow for `Condition` (pull [1246](https://github.com/aws-cloudformation/cfn-python-lint/pull/1246))

0.25.7

CloudFormation Specifications
  - Update pricing and services from 2019.12.02 (pull [1237](https://github.com/aws-cloudformation/cfn-python-lint/pull/1237))
  - Update to specs to 9.1.1 (pull [1237](https://github.com/aws-cloudformation/cfn-python-lint/pull/1237))
  Fixes
  - `EnableVersionUpgrade` added to the recognized values for `UpdatePolicy` (pull [1231](https://github.com/aws-cloudformation/cfn-python-lint/pull/1231))
  - Include `pathlib2` in python 3.4 requirements (pull [1236](https://github.com/aws-cloudformation/cfn-python-lint/pull/1236))
  - Look at the top level Condition operator (pull [1235](https://github.com/aws-cloudformation/cfn-python-lint/pull/1235))
  - Include more testing for using cfn-lint as a module (pull [1234](https://github.com/aws-cloudformation/cfn-python-lint/pull/1234))

0.25.5

CloudFormation Specifications
  - Update CloudFormation specs to 9.1.0 (pull [1224](https://github.com/aws-cloudformation/cfn-python-lint/pull/1224))
  - Add Allowed Pattern to Bucket Names (pull [1208](https://github.com/aws-cloudformation/cfn-python-lint/pull/1208))
  Fixes
  - Update rule [E2001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2001) to look for required properties (pull [1227](https://github.com/aws-cloudformation/cfn-python-lint/pull/1227))
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to allow `routing.http.drop_invalid_header_fields.enabled` for application load balancers (pull [1220](https://github.com/aws-cloudformation/cfn-python-lint/pull/1220))
  - Update rule [E1028](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1028) to check that Fn::If value is a list of length 3 (pull [1226](https://github.com/aws-cloudformation/cfn-python-lint/pull/1226))

0.25.3

CloudFormation Specifications
  - Change DocDB allowed EngineVersion value to 3.6.0 (pull [1213](https://github.com/aws-cloudformation/cfn-python-lint/pull/1213))
  Fixes
  - Update rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) to handle nested IFs when looking at lists (pull [1212](https://github.com/aws-cloudformation/cfn-python-lint/pull/1212))
  - Update rule [W2501](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2501) to only look at a Resource Properties (pull [1214](https://github.com/aws-cloudformation/cfn-python-lint/pull/1214))

0.25.2

CloudFormation Specifications
  - Add capacityOptimized to spot fleet allocation strategy (pull [1200](https://github.com/aws-cloudformation/cfn-python-lint/pull/1200))
  - Update Lambda runtime options to be valid as of 2019.11.19 (pull [1204](https://github.com/aws-cloudformation/cfn-python-lint/pull/1204))

0.25.1

CloudFormation Specifications
  - Update allowed values for AWS Config types (pull [1197](https://github.com/aws-cloudformation/cfn-python-lint/pull/1197))
  - Update CloudFormation specs to 8.1.0 (pull [1197](https://github.com/aws-cloudformation/cfn-python-lint/pull/1197))

0.25.0

Features
  - Add rule [I1022](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI1022) to recommend Sub over Join when join is using empty delimiter (pull [1067](https://github.com/aws-cloudformation/cfn-python-lint/pull/1067))
  - Remove setuptools requirement (pull [1188](https://github.com/aws-cloudformation/cfn-python-lint/pull/1188))
  CloudFormation Specifications
  - Update Lambda runtime versions EOL date (pull [1180](https://github.com/aws-cloudformation/cfn-python-lint/pull/1180))
  - Update CloudFormation specs to 8.0.0 (pull [1187](https://github.com/aws-cloudformation/cfn-python-lint/pull/1187))
  - Update Pricing and SSM data to 2019.11.08 (pull [1187](https://github.com/aws-cloudformation/cfn-python-lint/pull/1187))
  Fixes
  - Update rule [W2501](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2501) to include more properties to validate security of a parameter (pull [1181](https://github.com/aws-cloudformation/cfn-python-lint/pull/1181))
  - Fix YAML parsing to not fail on merging and aliases (pull [1182](https://github.com/aws-cloudformation/cfn-python-lint/pull/1182))
  - Fix an issue with SAM when CORS is present in pre-transformed template (pull [1185](https://github.com/aws-cloudformation/cfn-python-lint/pull/1185))
  - Update rule [W7001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW7001) to look at pre-transformed FindInMaps (pull [1186](https://github.com/aws-cloudformation/cfn-python-lint/pull/1186))

0.24.8

CloudFormation Specifications
  - Update CloudFormation specs to 7.2.0 (pull [1177](https://github.com/aws-cloudformation/cfn-python-lint/pull/1177))
  - Update Pricing and SSM data to 2019.11.01 (pull [1177](https://github.com/aws-cloudformation/cfn-python-lint/pull/1177))

0.24.7

CloudFormation Specifications
  - Patch in Tags for SNS Topics (pull [1174](https://github.com/aws-cloudformation/cfn-python-lint/pull/1174))
  - Update Pricing and SSM data to 2019.10.31 (pull [1175](https://github.com/aws-cloudformation/cfn-python-lint/pull/1175))
  Fixes
  - Consolidate PSEUDOPARAMS into cfnlint.helpers (pull [1172](https://github.com/aws-cloudformation/cfn-python-lint/pull/1172))

0.24.6

Features
  - Update SAM Translator to 1.15.1 (pull [1166](https://github.com/aws-cloudformation/cfn-python-lint/pull/1166))

0.24.5

CloudFormation Specifications
  - Update CloudFormation specs to 7.1.0 (pull [1163](https://github.com/aws-cloudformation/cfn-python-lint/pull/1163))
  - Update Pricing and SSM data to 2019.10.21 (pull [1163](https://github.com/aws-cloudformation/cfn-python-lint/pull/1163))
  Fixes
  - Update rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to support parameters inside a map type (pull [1164](https://github.com/aws-cloudformation/cfn-python-lint/pull/1164))
  - Update rule [E2510](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2510) to allow SSM parameter types for CIDR blocks (pull [1162](https://github.com/aws-cloudformation/cfn-python-lint/pull/1162))

0.24.4

CloudFormation Specifications
  - Update CloudFormation specs to 6.3.0 (pull [1155](https://github.com/aws-cloudformation/cfn-python-lint/pull/1155))
  - Update Pricing and SSM data to 2019.10.05 (pull [1155](https://github.com/aws-cloudformation/cfn-python-lint/pull/1155))
  - Update Update CloudWatch alarm comparison operators (pull [1154](https://github.com/aws-cloudformation/cfn-python-lint/pull/1154))
  Fixes
  - Update rule [E1022](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1022) to allow lists in custom resources (pull [1151](https://github.com/aws-cloudformation/cfn-python-lint/pull/1151))

0.24.3

Features
  - Add link to updated IntelliJ integration (pull [1138](https://github.com/aws-cloudformation/cfn-python-lint/pull/1138))
  - Add link to emacs integration (pull [1118](https://github.com/aws-cloudformation/cfn-python-lint/pull/1118))
  CloudFormation Specifications
  - Update CloudFormation specs to 6.2.0 (pull [1145](https://github.com/aws-cloudformation/cfn-python-lint/pull/1145))
  - Update Pricing and SSM data to 2019.09.28 (pull [1145](https://github.com/aws-cloudformation/cfn-python-lint/pull/1145))
  - Remove manual patches that are no longer needed (pull [1146](https://github.com/aws-cloudformation/cfn-python-lint/pull/1146))
  - Update CloudFormation spec links for a few regions that using old links (pull [1148](https://github.com/aws-cloudformation/cfn-python-lint/pull/1148))
  Fixes
  - Update rule [E3001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3001) to allow `DeletionPolicy` and `UpdateReplacePolciy` to be allowed on all resources (pull [1139](https://github.com/aws-cloudformation/cfn-python-lint/pull/1139))
  - Update rule [W2030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2030) to not check Paramter default values when using a Resource Condition (pull [1140](https://github.com/aws-cloudformation/cfn-python-lint/pull/1140))
  - Update rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to allow new types in Step Functions (pull [1143](https://github.com/aws-cloudformation/cfn-python-lint/pull/1143))

0.24.2

CloudFormation Specifications
  - Add missing values for LifecyclePolicy API (pull [1128](https://github.com/aws-cloudformation/cfn-python-lint/pull/1128))
  - Update CloudFormation specs to 6.1.0 (pull [1134](https://github.com/aws-cloudformation/cfn-python-lint/pull/1134))
  - Update Pricing and SSM data to 2019.09.20 (pull [1134](https://github.com/aws-cloudformation/cfn-python-lint/pull/1134))
  Fixes
  - Update [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029)
  to include cognito-identity keys to list of excluded resourse when checking if Fn sub is needed (pull [1136](https://github.com/aws-cloudformation/cfn-python-lint/pull/1136))

0.24.1

CloudFormation Specifications
  - Update CloudFormation specs to 6.0.0 (pull [1126](https://github.com/aws-cloudformation/cfn-python-lint/pull/1126))
  Fixes
  - Update AWS::SQS::Queue.ReceiveMessageWaitTimeSeconds to allow 0 value (pull [1123](https://github.com/aws-cloudformation/cfn-python-lint/pull/1123))
  - AWS::EC2::SecurityGroup.Description StringMin and StringMax should be integers (pull [1125](https://github.com/aws-cloudformation/cfn-python-lint/pull/1125))
  - AWS::ApiGateway::GatewayResponse.ResponseType typo (pull [1126](https://github.com/aws-cloudformation/cfn-python-lint/pull/1126))

0.24.0

Features
  - Move rule classes from cfnlint into cfnlint.rules (pull [1098](https://github.com/aws-cloudformation/cfn-python-lint/pull/1098))
  CloudFormation Specifications
  - Update IAM policies as of 2019.09.03 (pull [1120](https://github.com/aws-cloudformation/cfn-python-lint/pull/1120))
  - Update CloudFormation specs from pricing and SSM data as of 2019.09.03 (pull [1120](https://github.com/aws-cloudformation/cfn-python-lint/pull/1120))
  - Add a lot of min/max values to the specs (pull [1110](https://github.com/aws-cloudformation/cfn-python-lint/pull/1110) and pull [1116](https://github.com/aws-cloudformation/cfn-python-lint/pull/1116))
  Fixes
  - Add me-south-1 to supported regions (pull [1113](https://github.com/aws-cloudformation/cfn-python-lint/pull/1113))
  - Fix an issue where the spec file was referencing instance profiles for Glue Resources (pull [1114](https://github.com/aws-cloudformation/cfn-python-lint/pull/1114))

0.23.5

CloudFormation Specifications
  - Switch AWS Batch SpotIamFleetRole to Role Arn (pull [1111](https://github.com/aws-cloudformation/cfn-python-lint/pull/1111))

0.23.4

CloudFormation Specifications
  - Update CloudFormatin specs to 5.3.0 (pull [1108](https://github.com/aws-cloudformation/cfn-python-lint/pull/1108))
  - Update CloudFormatin specs from pricing and SSM data on 2019.08.22 (pull [1104](https://github.com/aws-cloudformation/cfn-python-lint/pull/1104))
  - Add 416 to the CloudFront Error Codes (pull [1100](https://github.com/aws-cloudformation/cfn-python-lint/pull/1100))
  - Move a lot of types into separate files (pull [1074](https://github.com/aws-cloudformation/cfn-python-lint/pull/1074))
  Fixes
  - Don't fail getting directives when resources are malformed (pull [1099](https://github.com/aws-cloudformation/cfn-python-lint/pull/1099))

0.23.3

CloudFormation Specifications
  - Add me-east-1 CloudFormation spec (pull [1095](https://github.com/aws-cloudformation/cfn-python-lint/pull/1095))
  - Update CloudFormatin specs to 5.1.0 (pull [1093](https://github.com/aws-cloudformation/cfn-python-lint/pull/1093))
  - Update spec patching from SSM and pricing to 2019.08.13 (pull [1093](https://github.com/aws-cloudformation/cfn-python-lint/pull/1093))
  Fixes
  - Remove requests and switch to urllib(2) (pull [1093](https://github.com/aws-cloudformation/cfn-python-lint/pull/1093))
  - Fix rule [E3003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3003) to not fail when running into a basic property in the CloudFormation spec (pull [1096](https://github.com/aws-cloudformation/cfn-python-lint/pull/1096))

0.23.2

CloudFormation Specifications
  - Update CloudFormation spec to version 5.0.0 (pull [1087](https://github.com/aws-cloudformation/cfn-python-lint/pull/1087))
  - Remove Ref check from IAM Policy Name (pull [1087](https://github.com/aws-cloudformation/cfn-python-lint/pull/1087))

0.23.1

Fixes
  - Fix an issue where anything piped into cfn-lint would result in ignoring the templates parameter (pull [1081](https://github.com/aws-cloudformation/cfn-python-lint/pull/1081))

0.23.0

Features
  - Add support for regions cn-north-1 and cn-northwest-1 (pull [1051](https://github.com/aws-cloudformation/cfn-python-lint/pull/1051))
  - Add rule [E3027](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3027) to validate the format of AWS Event ScheduleExpression (pull [1028](https://github.com/aws-cloudformation/cfn-python-lint/pull/1028))
  - Update SAM Translator support to release 1.13.0 (pull [1054](https://github.com/aws-cloudformation/cfn-python-lint/pull/1054))
  - Extend rule [W2509](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2509) and [E2004](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2004) to check for more types of CIDR properties (pull [1058](https://github.com/aws-cloudformation/cfn-python-lint/pull/1058))
  - Add Availability Zones for me-south-1 region (pull [1070](https://github.com/aws-cloudformation/cfn-python-lint/pull/1070))
  - Update README to document using cfn-lint with github actions (pull [1072](https://github.com/aws-cloudformation/cfn-python-lint/pull/1072))
  CloudFormation Specifications
  - Restructure some of the patching to make organization easier (pull [1030](https://github.com/aws-cloudformation/cfn-python-lint/pull/1030))
  - Update specs from pricing and SSM data as of 2019.08.01 (pull [1078](https://github.com/aws-cloudformation/cfn-python-lint/pull/1078))
  - Remove IAM::User Tags and move IAM::Role Tag support to regions where it works (pull [1077](https://github.com/aws-cloudformation/cfn-python-lint/pull/1077))
  Fixes
  - Apply SAM Transform when template Transforms are a list (pull [1056](https://github.com/aws-cloudformation/cfn-python-lint/pull/1056))
  - Fix an issue where templates provided via stdin where not getting linted (pull [1060](https://github.com/aws-cloudformation/cfn-python-lint/pull/1060))
  - Fix rule [E2015](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2015) to convert integers to string when testing min/max length (pull [1063](https://github.com/aws-cloudformation/cfn-python-lint/pull/1063))
  - Update excludes for [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to include TopicRulePayload (pull [1066](https://github.com/aws-cloudformation/cfn-python-lint/pull/1066))

0.22.4

Features
  - Add ALL_REGIONS option for -r flag (pull [1026](https://github.com/aws-cloudformation/cfn-python-lint/pull/1026))
  CloudFormation Specifications
  - Add SSM parameter type values to [E2510](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2510) (pull [1036](https://github.com/aws-cloudformation/cfn-python-lint/pull/1036))
  - Add allowed values for AWS::IAM Resources (pull [1027](https://github.com/aws-cloudformation/cfn-python-lint/pull/1027))
  - Update CloudFormation spec to version 4.3.0 (pull [1048](https://github.com/aws-cloudformation/cfn-python-lint/pull/1048))
  - Update specs from pricing and SSM data as of 2019.07.25
  Fixes
  - Removed duplicate from list of Availability Zones (pull [1035](https://github.com/aws-cloudformation/cfn-python-lint/pull/1035))
  - Fixed example regex in CIDR rule (pull [1029](https://github.com/aws-cloudformation/cfn-python-lint/pull/1029))
  - Support for Serverless transform when it's in a list of one Transforms (pull [1042](https://github.com/aws-cloudformation/cfn-python-lint/pull/1042))
  - Don't fail rules that include a Transform (pull [1041](https://github.com/aws-cloudformation/cfn-python-lint/pull/1041))
  - Don't fail when AWS::NoValue used when we're looking for a list (pull [1039](https://github.com/aws-cloudformation/cfn-python-lint/pull/1039))
  - Fixed [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) to support AWS::NoValue (pull [1038](https://github.com/aws-cloudformation/cfn-python-lint/pull/1038))
  - Added FindInMap as valid function within Fn::Cidr (pull [1034](https://github.com/aws-cloudformation/cfn-python-lint/pull/1034))

0.22.3

CloudFormation Specifications
  - Patch in `AWS::SageMaker::CodeRepository` to the CloudFormation spec (issue [1005](https://github.com/aws-cloudformation/cfn-python-lint/issues/1005))
  - Patch in Tags into IAM Roles and Users (issue [1015](https://github.com/aws-cloudformation/cfn-python-lint/issues/1015))
  - Update CloudFormation spec to version 4.2.0 (pull [1023](https://github.com/aws-cloudformation/cfn-python-lint/pull/1023))
  - Update specs from pricing and SSM data as of 2019.07.13
  Fixes
  - Add more Availability Zones (pull [1021](https://github.com/aws-cloudformation/cfn-python-lint/pull/1021))

0.22.2

CloudFormation Specifications
  - Patch in `AWS::Cognito::UserPool` resource information for `ap-south-1` and `ap-southeast-1` (issue [1002](https://github.com/aws-cloudformation/cfn-python-lint/issues/1002))
  - Remove manual patching for `AWS::Backup::BackupPlan` resource information and fix a few spec issues (pull [1006](https://github.com/aws-cloudformation/cfn-python-lint/pull/1006))
  - Fix a few spec regex patterns that were missing escapes of `-` inside `[]` (issue [997](https://github.com/aws-cloudformation/cfn-python-lint/issues/997))
  - Update pricing script to include bare metal instance types (issue [998](https://github.com/aws-cloudformation/cfn-python-lint/issues/998))
  - Create a regex pattern for IAM Policy Names (issue [996](https://github.com/aws-cloudformation/cfn-python-lint/issues/996))
  - Patch CloudFormation specs from SSM data on 2019.07.10
  Fixes
  - Fix a warning when loading resources using a `\` in the prefix (issue [1009](https://github.com/aws-cloudformation/cfn-python-lint/issues/1009))

0.22.1

CloudFormation Specifications
  - Add `INSTANCE` to `DLMPolicyResourceType` allowed values (pull [995](https://github.com/aws-cloudformation/cfn-python-lint/pull/995))
  - Update specs from weird 4.1.0 release (pull [994](https://github.com/aws-cloudformation/cfn-python-lint/pull/994))
  - Update instance types and patches from SSM to date 2019.07.04 (pull [1001](https://github.com/aws-cloudformation/cfn-python-lint/pull/1001))
  - Add all the allowed values of the AWS::EFS Resources (pull [990](https://github.com/aws-cloudformation/cfn-python-lint/pull/990))
  Fixes
  - Fix an issue where rules were being loaded twice (pull [980](https://github.com/aws-cloudformation/cfn-python-lint/pull/980))
  - Fix an issue with rule [E1010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1010) to split GetAtt strings into two values (issue [986](https://github.com/aws-cloudformation/cfn-python-lint/issues/986))
  - Update rules [E8004](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8004), [E8003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8003), [E8005](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8005), and [E8006](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8006) to not flag functions used in Service Catalog rules section (issue [979](https://github.com/aws-cloudformation/cfn-python-lint/issues/979))
  - Patched testing for Lambda Runtime EOL and end dates to test as if a specific date (pull [999](https://github.com/aws-cloudformation/cfn-python-lint/pull/999))

0.22.0

CloudFormation Specifications
  - Update specs to 4.1.0
  - Added LaunchTemplateId/LaunchTemplateName of the AutoScalingGroup to the OnlyOne
  - Patch resource AWS::EC2::LaunchTemplate property TagSpecifications
  - Add AWS::EC2::LaunchTemplate property to LaunchTemplateName min/max/pattern
  - Add AWS::EC2::LaunchTemplate allowed values for the ResourceType property
  - Remove/Add services to region tables based on SSM endpoints
  Fixes
  - Update JsonSchem to 3.0 to support the new version 1.12.0 of aws-sam-translator
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to allow NLBs to use UDP
  - Update rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to include many special characters for DNS records
  - Sort filenames when getting a bunch of templates from a folder
  - Fix typos in the integration documentation

0.21.6

Features
  - Remove rule [W2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2507) and use rule [E3008](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3008) instead
  - Remove rule [W2508](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2508) and use rule [E3008](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3008) instead
  CloudFormation Specifications
  - Update specs to 3.4.0
  - Add all the allowed values of the AWS::ECS Resources.
  - Update CloudFormation Spec to include the Backup Resources
  - Add Cognito RefreshTokenValidity number limits
  Fixes
  - Fix copy-paste typo in Not function check
  - Don't fail when conditions are used with parameters and allowed values
  - More IAM Resource exceptions for Sub Needed check

0.21.5

Features
  - Update rule [E3001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3001) to validate that a Resource Condition is a string
  CloudFormation Specifications
  - Add all the allowed values of the AWS::EC2 CapacityReservation Resources
  - Update Launch Configuration IamInstanceProfile to support Ref or GetAtt to an IAM Instance Profile
  Fixes
  - Fix `lessthan` type in a bunch of rules
  - Update rule [E2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2507) to handle intrinsics when testing the values for `Effect`
  - Fix rule [E8002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8002) to not error when the Condition isn't a string

0.21.4

Features
  - Include more resource types in [W3037](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW30307)
  CloudFormation Specifications
  - Add Resource Type `AWS::CDK::Metadata`
  Fixes
  - Uncap requests dependency in setup.py
  - Check Join functions have lists in the correct sections
  - Pass a parameter value for AutoPublishAlias when doing a Transform
  - Show usage examples when displaying the help

0.21.3

Fixes
  - Support dumping strings for datetime objects when doing a Transform

0.21.2

CloudFormation Specifications
  - Update CloudFormation specs to 3.3.0
  - Update instance types from pricing API as of 2019.05.23

0.21.1

Features
  - Add `Info` logging capability and set the default logging to `NotSet`
  Fixes
  - Only do rule logging (start/stop/time) when the rule is going to be called
  - Update rule [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019) to allow `Fn::Transform` inside a `Fn::Sub`
  - Update rule [W2001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2001) to not break when `Fn::Transform` inside a `Fn::Sub`
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to allow conditions to be used and to not default to `network` load balancer when an object is used for the Load Balancer type

0.21.0

Features
  - New rule [E3038](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3038) to check if a Serverless resource includes the appropriate Transform
  - New rule [E2531](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2531) to validate a Lambda's runtime against the deprecated dates
  - New rule [W2531](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2531) to validate a Lambda's runtime against the EOL dates
  - Update rule [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) to include updates to Code Pipeline capabilities
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to include checking of values for load balancer attributes
  CloudFormation Specifications
  - Update CloudFormation specs to 3.2.0
  - Update instance types from pricing API as of 2019.05.20
  Fixes
  - Include setuptools in setup.py requires

0.20.3

CloudFormation Specifications
  - Update instance types from pricing API as of 2019.05.16
  Fixes
  - Update [E7001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE7001) to allow float/doubles for mapping values
  - Update [W1020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1020) to check pre-transformed Fn::Sub(s) to determine if a Sub is needed
  - Pin requests to be below or equal to 2.21.0 to prevent issues with botocore

0.20.2

Features
  - Add support for List<String> Parameter types
  CloudFormation Specifications
  - Add allowed values for AWS::EC2 EIP, FlowLog, CustomerGateway, DHCPOptions, EC2Fleet
  - Create new property type for Security Group IDs or Names
  - Add new Lambda runtime environment for NodeJs 10.x
  - Move AWS::ServiceDiscovery::Service Health checks from Only One to Exclusive
  - Update Glue Crawler Role to take an ARN or a name
  - Remove PrimitiveType from MaintenanceWindowTarget Targets
  - Add Min/Max values for Load Balancer Ports to be between 1-65535
  Fixes
  - Include License file in the pypi package to help with downstream projects
  - Filter out dynamic references from rule [E3031](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3031) and [E3030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3030)
  - Convert Python linting and Code Coverage from Python 3.6 to 3.7

0.20.1

Fixes
  - Update rule [E8003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8003) to support more functions inside a Fn::Equals

0.20.0

Features
  - Allow a rule's exception to be defined in a [resource's metadata](https://github.com/aws-cloudformation/cfn-python-lint/resource-based-metadata)
  - Add rule [configuration capabilities](https://github.com/aws-cloudformation/cfn-python-lint/configure-rules)
  - Update rule [E3012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3012) to allow for non strict property checking
  - Add rule [E8003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8003) to test Fn::Equals structure and syntax
  - Add rule [E8004](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8004) to test Fn::And structure and syntax
  - Add rule [E8005](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8005) to test Fn::Not structure and syntax
  - Add rule [E8006](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8006) to test Fn::Or structure and syntax
  - Include Path to error in the JSON output
  - Update documentation to describe how to install cfn-lint from brew
  CloudFormation Specifications
  - Update CloudFormation specs to version 3.0.0
  - Add new region ap-east-1
  - Add list min/max and string min/max for CloudWatch Alarm Actions
  - Add allowed values for EC2::LaunchTemplate
  - Add allowed values for EC2::Host
  - Update allowed values for Amazon MQ to include 5.15.9
  - Add AWS::Greengrass::ResourceDefinition to GreenGrass supported regions
  - Add AWS::EC2::VPCEndpointService to all regions
  - Update AWS::ECS::TaskDefinition ExecutionRoleArn to be a IAM Role ARN
  - Patch spec files for SSM MaintenanceWindow to look for Target and not Targets
  - Update ManagedPolicyArns list size to be 20 which is the hard limit.  10 is the soft limit.
  Fixes
  - Fix rule [E3033](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3033) to check the string size when the string is inside a list
  - Fix an issue in which AWS::NotificationARNs was not a list
  - Add AWS::EC2::Volume to rule [W3010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3010)
  - Fix an issue with [W2001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2001) where SAM translate would remove the Ref to a parameter causing this error to falsely trigger
  - Fix rule [W3010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3010) to not error when the availability zone is 'all'

0.19.1

Fixes
  - Fix core Condition processing to support direct Condition in another Condition
  - Fix the W2030 to check numbers against string allowed values

0.19.0

Features
  - Add NS and PTR Route53 record checking to rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020)
  - New rule [E3050](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3050) to check if a Ref to IAM Role has a Role path of '/'
  - New rule [E3037](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3037) to look for duplicates in a list that doesn't support duplicates
  - New rule [I3037](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3037) to look for duplicates in a list when duplicates are allowed
  CloudFormation Specifications
  - Add Min/Max values to AWS::ElasticLoadBalancingV2::TargetGroup HealthCheckTimeoutSeconds
  - Add Max JSON size to AWS::IAM::ManagedPolicy PolicyDocument
  - Add allowed values for AWS::EC2 SpotFleet, TransitGateway, NetworkAcl
  NetworkInterface, PlacementGroup, and Volume
  - Add Min/max values to AWS::Budgets::Budget.Notification Threshold
  - Update RDS Instance types by database engine and license definitions using the pricing API
  - Update AWS::CodeBuild::Project ServiceRole to support Role Name or ARN
  - Update AWS::ECS::Service Role to support Role Name or ARN
  Fixes
  - Update [E3025](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3025) to support the new structure of data in the RDS instance type json
  - Update [E2540](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2540) to remove all nested conditions from the object
  - Update [E3030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2540) to not do strict type checking
  - Update [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to support conditions nested in the record sets
  - Update [E3008](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3008) to better handle CloudFormation sub stacks with different GetAtt formats

0.18.1

CloudFormation Specifications
  - Update CloudFormation Specs to 2.30.0
  - Fix IAM Regex Path to support more character types
  - Update AWS::Batch::ComputeEnvironment.ComputeResources InstanceRole to reference an
  InstanceProfile or GetAtt the InstanceProfile Arn
  - Allow VPC IDs to Ref a Parameter of type String
  Fixes
  - Fix [E3502](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3502) to check the size of the property instead of the parent object

0.18.0

Features
  - New rule [E3032](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3032) to check the size of lists
  - New rule [E3502](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3502) to check JSON Object Size using definitions in the spec file
  - New rule [E3033](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3033) to test the minimum and maximum length of a string
  - New rule [E3034](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3034) to validate the min and max of a number
  - Remove Ebs Iops check from [E2504](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2504) and use rule [E3034](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3034) instead
  - Remove rule [E2509](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2509) and use rule [E3033](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3033) instead
  - Remove rule [E2508](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2508) as it replaced by [E3032](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3032) and [E3502](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3502)
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to check that there are at least two 2 Subnets or SubnetMappings for ALBs
  - SAM requirement upped to minimal version of 1.10.0
  CloudFormation Specifications
  - Extend specs to include:
  - `ListMin` and `ListMax` for the minimum and maximum size of a list
  - `JsonMax` to check the max size of a JSON Object
  - `StringMin` and `StringMax` to check the minimum and maximum length of a String
  - `NumberMin` and `NumberMax` to check the minimum and maximum value of a Number, Float, Long
  - Update State and ExecutionRoleArn to be required on AWS::DLM::LifecyclePolicy
  - Add AllowedValues for PerformanceInsightsRetentionPeriod for AWS::RDS::Instance
  - Add AllowedValues for the AWS::GuardDuty Resources
  - Add AllowedValues for AWS::EC2 VPC and VPN Resources
  - Switch IAM Instance Profiles for certain resources to the type that only takes the name
  - Add regex pattern for IAM Instance Profile when a name (not Arn) is used
  - Add regex pattern for IAM Paths
  - Add Regex pattern for IAM Role Arn
  - Update OnlyOne spec to require require at least one of Subnets or SubnetMappings with ELB v2
  Fixes
  - Fix serverless transform to use DefinitionBody when Auth is in the API definition
  - Fix rule [W2030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2030) to not error when checking SSM or List Parameters

0.17.1

Features
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to make sure NLBs don't have a Security Group configured
  CloudFormation Specifications
  - Add all the allowed values of the `AWS::Glue` Resources
  - Update OnlyOne check for `AWS::CloudWatch::Alarm` to only `MetricName` or `Metrics`
  - Update Exclusive check for `AWS::CloudWatch::Alarm` for properties mixed with `Metrics` and `Statistic`
  - Update CloudFormation specs to 2.29.0
  - Fix type with MariaDB in the AllowedValues
  - Update pricing information for data available on 2018.3.29
  Fixes
  - Fix rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to not look for a sub is needed when looking for iot strings in policies
  - Fix rule [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) to allow for ActionId Versions of length 1-9 and meets regex `[0-9A-Za-z_-]+`
  - Fix rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to allow for `Parameters` inside a `Pass` action
  - Fix an issue when getting the location of an error in which numbers are causing an attribute error

0.17.0

Features
  - Add new rule [E3026](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3026) to validate Redis cluster settings including AutomaticFailoverEnabled and NumCacheClusters.  Status: Released
  - Add new rule [W3037](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3037) to validate IAM resource policies.  Status: Experimental
  - Add new parameter `-e/--include-experimental` to allow for new rules in that aren't ready to be fully released
  CloudFormation Specifications
  - Update Spec files to 2.28.0
  - Add all the allowed values of the AWS::Redshift::* Resources
  - Add all the allowed values of the AWS::Neptune::* Resources
  - Patch spec to make AWS::CloudFront::Distribution.LambdaFunctionAssociation.LambdaFunctionARN required
  - Patch spec to make AWS::DynamoDB::Table AttributeDefinitions required
  Fixes
  - Remove extra blank lines when there is no errors in the output
  - Add exception to rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to have exceptions for EMR CloudWatchAlarmDefinition
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to allow for literals in a Sub
  - Remove sub checks from rule [E3031](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3031) as it won't match in all cases of an allowed pattern regex check
  - Correct typos for errors in rule [W1001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1001)
  - Switch from parsing a template as Yaml to Json when finding an escape character
  - Fix an issue with SAM related to transforming templates with Serverless Application and Lambda Layers
  - Fix an issue with rule [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) when non strings were used for Stage Names

0.16.0

Features
  - Add rule [E3031](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3031) to look for regex patterns based on the patched spec file
  - Remove regex checks from rule [E2509](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2509)
  - Add parameter `ignore-templates` to allow the ignoring of templates when doing bulk linting
  CloudFormation Specifications
  - Update Spec files to 2.26.0
  - Add all the allowed values of the AWS::DirectoryService::* Resources
  - Add all the allowed values of the AWS::DynamoDB::* Resources
  - Added AWS::Route53Resolver resources to the Spec Patches of ap-southeast-2
  - Patch the spec file with regex patterns
  - Add all the allowed values of the AWS::DocDb::* Resources
  Fixes
  - Update rule [E2504](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2504) to have '20000' as the max value
  - Update rule [E1016](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1016) to not allow ImportValue inside of Conditions
  - Update rule [E2508](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2508) to check conditions when providing limit checks on managed policies
  - Convert unicode to strings when in Py 3.4/3.5 and updating specs
  - Convert from `awslabs` to `aws-cloudformation` organization
  - Remove suppression of logging that was removed from samtranslator >1.7.0 and incompatibility with

0.15.0

Features
  - Add scaffolding for arbitrary Match attributes, adding attributes for Type checks
  - Add rule [E3024](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3024) to validate that ProvisionedThroughput is not specified with BillingMode PAY_PER_REQUEST
  CloudFormation Specifications
  - Update Spec files to 2.24.0
  - Update OnlyOne spec to have BlockDeviceMapping to include NoDevice with Ebs and VirtualName
  - Add all the allowed values of the AWS::CloudFront::* Resources
  - Add all the allowed values of the AWS::DAX::* Resources
  Fixes
  - Update config parsing to use the builtin Yaml decoder
  - Add condition support for Inclusive [E2521](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2521), Exclusive [E2520](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2520), and AtLeastOne [E2522](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2522) rules
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to better check Resource strings inside IAM Policies
  - Improve the line/column information of a Match with array support

0.14.1

CloudFormation Specifications
  - Update CloudFormation Specs to version 2.23.0
  - Add allowed values for AWS::Config::* resources
  - Add allowed values for AWS::ServiceDiscovery::* resources
  - Fix allowed values for Apache MQ
  Fixes
  - Update rule [E3008](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3008) to not error when using a list from a custom resource
  - Support simple types in the CloudFormation spec
  - Add tests for the formatters

0.14.0

Features
  - Add rule [E3035](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3035) to check the values of DeletionPolicy
  - Add rule [E3036](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3036) to check the values of UpdateReplacePolicy
  - Add rule [E2014](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2014) to check that there are no REFs in the Parameter section
  - Update rule [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to support TLS on NLBs
  CloudFormation Specifications
  - Update CloudFormation spec to version 2.22.0
  - Add allowed values for AWS::Cognito::* resources
  Fixes
  - Update rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) to allow GetAtts to Custom Resources under a Condition

0.13.2

Features
  - Introducing the cfn-lint logo!
  - Update SAM dependency version
  Fixes
  - Fix CloudWatchAlarmComparisonOperator allowed values.
  - Fix typo resoruce_type_spec in several files
  - Better support for nested And, Or, and Not when processing Conditions

0.13.1

CloudFormation Specifications
  - Add allowed values for AWS::CloudTrail::Trail resources
  - Patch spec to have AWS::CodePipeline::CustomActionType Version included
  Fixes
  - Fix conditions logic to use AllowedValues when REFing a Parameter that has AllowedValues specified

0.13.0

Features
  - New rule [W1011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1011) to check if a FindInMap is using the correct map name and keys
  - New rule [W1001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1001) to check if a Ref/GetAtt to a resource that exists when Conditions are used
  - Removed logic in [E1011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1011) and moved it to [W1011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1011) for validating keys
  - Add property relationships for AWS::ApplicationAutoScaling::ScalingPolicy into Inclusive, Exclusive, and AtLeastOne
  - Update rule [E2505](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2505) to check the netmask bit
  - Include the ability to update the CloudFormation Specs using the Pricing API
  CloudFormation Specifications
  - Update to version 2.21.0
  - Add allowed values for AWS::Budgets::Budget
  - Add allowed values for AWS::CertificateManager resources
  - Add allowed values for AWS::CodePipeline resources
  - Add allowed values for AWS::CodeCommit resources
  - Add allowed values for EC2 InstanceTypes from pricing API
  - Add allowed values for RedShift InstanceTypes from pricing API
  - Add allowed values for MQ InstanceTypes from pricing API
  - Add allowed values for RDS InstanceTypes from pricing API
  Fixes
  - Fixed README indentation issue with .pre-commit-config.yaml
  - Fixed rule [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) to allow for multiple inputs/outputs in a CodeBuild task
  - Fixed rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to allow for a period or no period at the end of a ACM registration record
  - Update rule [E3001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3001) to support UpdateReplacePolicy
  - Fix a cli issue where `--template` wouldn't be used when a .cfnlintrc was in the same folder
  - Update rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) and [E1024](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3002) to support packaging of AWS::Lambda::LayerVersion content

0.12.1

CloudFormation Specifications
  - Add AWS::WorkSpaces::Workspace.WorkspaceProperties ComputeTypeName, RunningMode allowed values
  - Fix AWS::CloudWatch::Alarm to point Metrics at AWS::CloudWatch::Alarm.MetricDataQuery
  Fixes
  - Update rule [E1024](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1024) to support Fn::Sub inside Fn::Cidr

0.12.0

Features
  - Update rule [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019) to not allow for lists directly when doing a Ref or GetAtt to a list
  - Move parameter checks from rule [E3030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3030) to a new rule [W2030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2030)
  CloudFormation Specifications
  - Updated to version 2.19.0
  - Add S3 Bucket Allowed Values
  - Add Route53 Allowed Values
  - Add CodeDeploy Allowed Values
  - Add AWS::SecretsManager::SecretTargetAttachment TargetType Allowed Values
  - Add AWS::SES::ReceiptRule.Rule TlsPolicy Allowed Values
  - Add AWS::AutoScaling::AutoScalingGroup, AWS::Route53::RecordSetGroup, and AWS::AutoScaling::AutoScalingGroup to OnlyOne
  Fixes
  - Improve [W7001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW7001) error message

0.11.1

CloudFormation Specifications
  - Support Ref to IAM::Role or IAM::InstanceProfile with values looking for an ARN
  - AWS::Batch::ComputeEnvironment InstanceRole is an InstanceProfile not Role
  Fixes
  - Add debug options to print a stack trace for rule E0002
  - Update rule [E2015](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2015) to include a try/catch around AllowedPattern testing to catch errors caused by non Python supported regex

0.11.0

Features
  - Add rule [E3030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3030) to use the newly patched spec to check resource properties values.  Update the following rules replaced by [E3030](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3030).
  - Delete rule [W2512](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2512)
  - Delete rule [E2531](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2531)
  - Move allowed values check in rule [E2505](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2505)
  - Add rule [E3008](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3008) to use the newly patched spec to check a resource properties Ref and GetAtt.  Update the following rules replaced by [E3008](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3008).
  - Delete rule [E2502](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2502)
  - Delete rule [W2505](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2505)
  - Improve rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) 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](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2501) to be more informative
  - Update rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to allow `Parameters` in a `Task` in a Step Function
  - Fix rule [E1010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1010) 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

0.10.2

Features
  - Code coverage testing integrated into the CI process
  - Update CloudFormation specs to 2.18.0
  Fixes
  - Fix rule [E2505](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2505) to allow for SSM parameters when checking Cidr and Tenancy parameters
  - Fix rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to not error on API Gateway stageVariables

0.10.1

Features
  - Support stdin for reading and testing templates
  Fixes
  - Remove dependency on regex package as it requires gcc
  - Remove rule [E3507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3507) because it depends on regex package

0.10.0

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](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2531) error message
  - Allow Fn::Sub inside a Fn::Sub for rule [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019)
  - Add hardcoded list check as invalid in rule [E6003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6003)
  - 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

0.9.2

Features
  - Update specs to version 2.15.0
  Fixes
  - Fix rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to allow multiple text records of up to 255 characters
  - Fix rule [E3016](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3016) to handle conditions in Update Policies
  - Fix rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to not fail when using a Fn::Sub and a number for a param

0.9.1

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](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2015) 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](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) [E3003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3003) to support functions that may be able to support objects

0.9.0

Features
  - Add rule [E8002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE8002) to validate if resource Conditions or Fn::If conditions are defined
  - Improve rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) 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

0.8.3

Features
  - Add rule [E3022](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3022) to validate that there is only one SubnetRouteTableAssociation per subnet
  Fixes
  - Fix rule [E2502](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2502) to check Arn and Name for AWS::EC2::LaunchTemplate resources
  - Fix rule [E3016](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3016) 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)

0.8.2

Fixes
  - Update rule [E2502](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2502) to allow GetAtt against a nested stack or custom resource
  - Update rules [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) and [E2540](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2540) to support conditions inside the CodePipeline
  - Fix types in rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to now include InputPath and OutputPath
  - Update rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to skip missing sub when looking at parameters in IAM policies
  - Update rule [E2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2507) to allow for strings in the IAM policy
  - Update rule [E2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2507) to allow the policy statement to be an object along with a list

0.8.1

Features
  - Update Specs to the versions released October 19th, 2018
  Fixes
  - Fix rule [E2541](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2541) to not fail on non-string values

0.8.0

Features
  - Created a process to patch the CloudFormation Spec and patched a bunch of issues
  - Support pre-commit hooks for linting templates
  - Add rule [E3021](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3021) to that 5 or less targets are added to a CloudWatch Event
  - Add rule [E1029](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1029) to look for Sub variables that aren't inside a Sub
  - Add rule [I3011](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdI3011) to validate that DynamDB Tables have deletion policy specified as the default is to delete the database.
  - Add support for `info` errors
  Fixes
  - Update search_deep_keys to look for items in the Global section which is lost in a Transformation
  - Clean up failures when loading files that are not yaml or json

0.7.4

Features
  - Support parsing multiple files from the command line
  - New rule [E3016](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3016) to validate a resources UpdatePolicy configuration
  Fixes
  - Removes sub parameter check from rule [E1012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1012). The same check is covered by
  [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019)
  - Fix rule [E1010](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1010) when using a string not an array with Fn::Sub
  - Fix rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) ignore intrinsic functions when checking values

0.7.3

Features
  - Update the custom objects for the template to directly allow the calling of getting items and checking items that is condition safe
  - Update CloudFormation Specs to 2018-09-21 released specs
  Fixes
  - Fix rule [E2540](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2540) to not fail when the stage names aren't strings
  - Fix rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) to not fail when processing Ref AWS::NoValue
  - Core functionality updated to fail when extending rules directory doesn't exist
  - Fix rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) metadata isn't supported as a resource property
  - Fix rule [E2509](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2509) to not error when using a function for description

0.7.2

Fixes
  - Fix rule [W2501](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2501) to support dashes in KMS Key name
  - Fix rule [E2543](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2543) to not fail when the type of a step isn't known
  - Fix rule [E2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2507) to have an exception for ECR Policies.  Resource isn't required.
  - Several Python cleanup items around initializing lists, how version is loaded, and dropping 'discover' in testing

0.7.1

Fixes
  - Fix core decoding so the true error of a template parsing issue is visible to the user

0.7.0

Features
  - New Rule [W1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1019) to make sure any Sub variables are used in the string
  - New Rule [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2532) to start basic validation of state machine syntax
  - New Rule [W1020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW1020) to see if Sub is needed and variables are being used
  - New Rule [E1028](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1028) validate that first element in a Fn::If array is a string
  - New Rule [W3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3002) to warn when templated templates are used
  - Update Rule [E2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2507) to check resource base policies
  - Add Rule [W2511](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2511) to warn when using an older version of IAM Policy Version
  Fixes
  - Update Rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) to allow for templated code
  - Update Rule [E1024](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1024) to allow Cidr function to use GetAtt
  - Fix core functionality to not error if the template is an array or string instead of an object

0.6.1

Fixes
  - Fixes an issue where Template.get_values would return `Ref: AWS::NoValue`. This will no longer be returned as it is considered to be a Null value.

0.6.0

Features
  - Update formatters to be similar from JSON and text outputs and modularize for easier growth later
  - Don't raise an error with [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) when doing ACM DNS validation registration
  - Add rule [E7003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE7003) to validate that mapping keys are strings.
  - Add rule [E1027](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1027) to validate that dynamic reference secure strings are to supported properties
  - Add rule [E1004](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1004) to validate that the Template Description is only a string
  - Add rule [E6005](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6005) to validate that an Output Description is only a string
  - Add rule [E6012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE6012) to validate that an Output Description is less than the maximum length
  Fixes
  - Fix core libraries to handle conditions around resource properties so that the resource and property checks still run
  - Fix core libraries to handle the special property type `Tag` so that its checked when a rule is doing a Property Check

0.5.2

Fixes
  - Support additional attributes in spec file for [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3003)
  - Check custom resources as if they are 'AWS::CloudFormation::CustomResource' in rule [E3003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3003)
  - Fix [W6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW6001) when an ImportValue is used to another function
  - Fix [W2501](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW2501) to support the new dynamic reference feature

0.5.1

Features
  - Update rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to support CAA and CNAME record checks
  - Update specs to ones released on August 16, 2018

0.5.0

Features
  - Load all instances of CloudFormationLintRule in a file. Class doesn't need to match the filename anymore
  - Allow load yaml to accept a string allowing people to use cfn-lint as a module
  - Add rule [W6001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW6001) to test outputs that are just using an import value
  - Update specs to ones released on August 10, 2018
  Fixes
  - Update [E2507](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2507) to support conditions and using get_values to test all condition paths
  - Update [E2521](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2521), [E2523](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2523) to support conditions and using get_values to test all condition paths
  - Rewrite [E2503](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2503) to support intrinsic functions and conditions and lower case protocols
  - Fix [E1018](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1018) to support Sub inside a Split function
  - Fix [E3003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3003) description messages to be more informative
  - Fix [E3001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3001) to not require parameters when CreationPolicy is used
  - Fix SAM region when no region is available from a local AWS profile or environment variable.

0.4.2

Features
  - Update rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to support AAAA record checks
  Fixes
  - Fix many rules that would fail if a sub parameter had a space at the beginning or end
  - Fix crashing issues when trying to get resources that aren't properly configured

0.4.1

Features
  - Update CloudFormation Specs to July 20th, 2018
  Fixes
  - Fix an issue with Exclusive resource properties and RDS with Snapshot and Password

0.4.0

Features
  - Update CloudFormation specs to July 16th, 2018
  - Support comma lists for regions, append rules, and ignore check parameters
  - Added documentation explaining Resource Specification based rules
  Fixes
  - Fix a bunch of typos across many different rules
  - Support DeepCopy with Template and custom String classes used for marking up templates
  - Fix Rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) to support CommaDelimitedList when looking for List Parameters
  - Fix core engine to check that something is a Dict instead of assuming it is

0.3.5

Features
  - Update CloudFormation Specs to July 12th, 2018
  - Rule [E7012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE7012) added to check the limits of attributes in a Mapping
  - Rule [E2012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2012) added to check maximum size of a parameter value
  - Rule [E1003](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1003) added to check the maximum length of the template Description
  - Guide created to help new users write new rules
  Fixes
  - Catch KeyError when trying to discover the line and column number of an error
  - Update Lambda rules to support dotnet core
  - Fix rule [E1017](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1017) so we unpack first element of select as a dict
  - Fix rule [E1024](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1024) to support ImportValue and appropriately checking number for the last element

0.3.3

Features
  - Support for Yaml C Parser when available.
  - Catch rule processing errors and raise a lint error in their place.
  - Add rules for the limit on Parameter, Mapping, Resource and Output names
  - Add Rule [W3005](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW3005) to warn for when DependsOn is specified but not needed
  - Add Rule [E2509](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2509) to check if Security Group Descriptions are properly configured
  - Add `source_url` to rules so rule reference documentation can be provided
  Fixes
  - Fixed issues when Conditions had lists for values
  - Fixed issue where underscore was allowed for AlphaNumeric names

0.3.2

Features
  - Try/Catch added to rule processing so code failures in rules won't crash cfn-lint
  - Parse YAML files using C parser when available.  Greatly speeds up YAML parsing.
  Fixes
  - Template class updated to handle conditions where lists are in the true/false values
  - Fix regex for checking Resource, Output, etc. names to not include underscore

0.3.1

Features
  - Update rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020) to validate A recordsets
  Fixes
  - Require "aws-sam-translator" dependency be at least 1.6.0
  - Add support for wildcards in rule [E3013](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3013) - Support conditions in Lists for rule [E3002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3002) - Include filename when we run into Null and Duplicate values when parsing yaml
  - Rule W2510 now allows for AllowedValues instead of just Min/MaxValue for compliance of Lambda MemorySize
  - Rule [E2530](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2530) updated to checked AllowedValues for compliance of Lambda MemorySize

0.3.0

Features
  - Serverless Transforms now handled by SAM libraries
  - Add Rule [E2508](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2508): Add checks for IAM
  - Managed Policies attached to IAM user, group or role can't be more than 10
  - An IAM user can be a member of no more than 10 groups
  - There can only be 1 role in an instance profile
  - AssumeRolePolicyDocument size is less than <2048 characters
  - Add Rule [E1002](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1002): Check overall template size to make sure its below
  - Add Rule [E3013](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3013): CloudFront aliases should contain valid domain names
  - Add Rule [E3020](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3020): Check if all RecordSets are correctly configured
  - Strings end and start with double quotes
  - Size is less than 256 characters
  - Record Types are within the specification
  - Short hand parameter switches and no longer need --template
  Fixes
  - Don't report a Condition not being used if it is used by another Condition

0.2.2

Fixes
  - Fixed issues with Yaml and Json parsing for complex strings in Python 2.7
  - Added eu-central-1 Availability Zones to acceptable AZ list
  - Added nodejs8.10 to supported Lambda
  - Added Version as an attribute for a Custom Resource
  - Parseable output is now colon(:) delimited

0.2.1

Features
  - Added AllowedValues for Cidr parameter checking Rule W2509
  - Add Rule [E2004](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE2004) to check Allowed values for Cidr parameters are a valid Cidr range
  - Disable mapping Name checks [W7001](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdW7001) if dynamic mapping names are used (Ref, FindInMap)
  - New Rule [E1026](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1026) to make sure Ref's in 'Conditions' are to parameters and not resources
  - Updated CloudFormation specs to June 5th, 2018
  Fixes
  - Fixed an issue with Rule [E1019](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE1019) not giving errors when there was a bad pseudo parameter
  - Fixed an issue where conditions with Refs were validated as strings instead of Refs
  - Fix crash errors when an empty yaml file is provided
  - Updated condition functions to return the full object (Ref isn't translated while looking for AWS::NoValue)
  - Support Map Type properties when doing PrimitiveType check [E3012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3012) - Fix an issue when boolean values not being checked when using check_value

0.2.0

Features
  - Standard cfn-lint Errors ([E0000](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE0000)) for null, duplicate, and parse errors
  - Add a new check for CloudFormation limits
  - Add a new check for Parameter, Resource, Output, and Mapping names
  - Update specs to those released on May 25th, 2018
  - Strong type checking for property values result in Errors ([E3012](https://github.com/aws-cloudformation/cfn-python-lint/blob/master/docs/rules.mdE3012))
  Fixes
  - Transform logic updated to not add a Role if one is specified for a serverless function
  - Fixed logic around Fn::If when the result is an object
  - Fix conditions when checking property value structure

0.1.0

Features
  - Update CloudFormation specs to include recent releases
  - Add checks for duplicate resource names
  - Add checks for null values in templates
  - Add support in Circular Dependency checks to go multiple levels deep
  - Add check for unused mappings
  - Add check for unused and not found conditions
  - Convert Errors to Warnings that don't cause a failure when implementing a template
  Fixes
  - Fix check for cfn-lint configurations in templates
  - Fix Sub Functions checks failing on sub stacks or custom resources
  - Fix Serverless Transforms not failing when trying to create multiple RestApiIds
  - Fix TOX encoding issues with certain JSON files
  - Update Lambda Memory size to 3008
  - Fix FindInMap failing when the first parameter is also FindInMap
  - Fix key search function to appropriately respond to nested finds (FindInMap inside a FindInMap)

0.0.10

Features
  - Capability to merge and modify the CloudFormation spec with provided JSON
  - Allows for changing what properties are required
  - Can change what resource types are allowed
  - Remove warnings that were in error checks to keep errors focused on issues preventing success
  - Improve circular dependency checks to go multiple levels deep
  - Check null and duplicate values in JSON and YAML templates
  Fixes
  - Some primitive type properties were not getting checked
  - Include support for Long as a number based check
  - Improve get condition values to support more complex scenarios

0.0.8

Features
  - Added a rule to check for only one resource property in a set
  - Added a rule for more than one of resource properties in a set
  - Added a rule for mutually exclusive resource properties
  
  Fixes
  - Support parsing JSON files that have tabs
  - Better error handling for when a property is a list instead of an object
  - Error handling for when files can't be read or don't exist

0.0.7

Features
  - Fix for supporting more parameter types when checking REFs to parameters for Security Groups

0.0.6

Features
  - Exit code non zero on errors or warnings

0.0.5

Features
  - Testing CloudFormation resources against the Resource Spec
  - Test Functions against supported included functions
  - Test overall CloudFormation structure
  - Test Regionalization of a template against the Resource Spec
  - Ability to add additional rules on parameter
  - In depth checks of values around AWS::EC2::VPC, AWS::EC2::Subnet, and AWS::EC2::SecurityGroup