diff --git a/CHANGELOG.md b/CHANGELOG.md index 3991f0ab2a..514739f3d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +### v1.7.0 +## What's Changed +* Don't validate [W2001](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#W2001) when using Transform by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3501 +* Fix an issue with endless loops in Fn::Sub by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3503 +* Move rule to [E2532](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#E2532) to [E3601](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#E3601) by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3502 +* Add start to SSM json schemas by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3471 +* Add two new rules to validate fargate tasks by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3464 +* Update CloudFormation schemas to 2024-07-15 by @github-actions in https://github.com/aws-cloudformation/cfn-lint/pull/3494 +* Convert resolver errors to warnings by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3493 + +**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.6.1...v1.7.0 + ### v1.6.1 ## What's Changed * SAM transform replace AutoPublishCodeSha256 by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3497 diff --git a/README.md b/README.md index 104b4cbb54..27923927c8 100644 --- a/README.md +++ b/README.md @@ -342,7 +342,7 @@ If you'd like cfn-lint to be run automatically when making changes to files in y ```yaml repos: - repo: https://github.com/aws-cloudformation/cfn-lint - rev: v1.6.1 # The version of cfn-lint to use + rev: v1.7.0 # The version of cfn-lint to use hooks: - id: cfn-lint files: path/to/cfn/dir/.*\.(json|yml|yaml)$ @@ -353,7 +353,7 @@ If you are using a `.cfnlintrc` and specifying the `templates` or `ignore_templa ```yaml repos: - repo: https://github.com/aws-cloudformation/cfn-lint - rev: v1.6.1 # The version of cfn-lint to use + rev: v1.7.0 # The version of cfn-lint to use hooks: - id: cfn-lint-rc ``` diff --git a/src/cfnlint/version.py b/src/cfnlint/version.py index 8098865dd9..e0f0c51188 100644 --- a/src/cfnlint/version.py +++ b/src/cfnlint/version.py @@ -3,4 +3,4 @@ SPDX-License-Identifier: MIT-0 """ -__version__ = "1.6.1" +__version__ = "1.7.0" diff --git a/test/unit/module/template/test_template.py b/test/unit/module/template/test_template.py index 2692152b3f..f82ed945e5 100644 --- a/test/unit/module/template/test_template.py +++ b/test/unit/module/template/test_template.py @@ -41,23 +41,23 @@ def test_build_graph(self): # ruff: noqa: E501 expected_content = """digraph "template" { -MyModule [color=black, label="MyModule\\n", shape=ellipse, type=Resource]; -RootRole [color=black, label="RootRole\\n", shape=ellipse, type=Resource]; -RolePolicies [color=black, label="RolePolicies\\n", shape=ellipse, type=Resource]; -RootInstanceProfile [color=black, label="RootInstanceProfile\\n", shape=ellipse, type=Resource]; -MyEC2Instance [color=black, label="MyEC2Instance\\n", shape=ellipse, type=Resource]; -mySnsTopic [color=black, label="mySnsTopic\\n", shape=ellipse, type=Resource]; -MyEC2Instance1 [color=black, label="MyEC2Instance1\\n", shape=ellipse, type=Resource]; -ElasticIP [color=black, label="ElasticIP\\n", shape=ellipse, type=Resource]; -ElasticLoadBalancer [color=black, label="ElasticLoadBalancer\\n", shape=ellipse, type=Resource]; -IamPipeline [color=black, label="IamPipeline\\n", shape=ellipse, type=Resource]; -CustomResource [color=black, label="CustomResource\\n", shape=ellipse, type=Resource]; -WaitCondition [color=black, label="WaitCondition\\n", shape=ellipse, type=Resource]; -LambdaFunction [color=black, label="LambdaFunction\\n", shape=ellipse, type=Resource]; -RolePolicies -> RootRole [color=black, key=0, label=Ref, source_paths="['Properties', 'Roles', 0]"]; -RootInstanceProfile -> RootRole [color=black, key=0, label=Ref, source_paths="['Properties', 'Roles', 0]"]; -MyEC2Instance -> RootInstanceProfile [color=black, key=0, label=Ref, source_paths="['Properties', 'IamInstanceProfile']"]; -ElasticLoadBalancer -> MyEC2Instance [color=black, key=0, label=Ref, source_paths="['Properties', 'Instances', 0]"]; +MyModule [label="MyModule\\n", color=black, shape=ellipse, type=Resource]; +RootRole [label="RootRole\\n", color=black, shape=ellipse, type=Resource]; +RolePolicies [label="RolePolicies\\n", color=black, shape=ellipse, type=Resource]; +RootInstanceProfile [label="RootInstanceProfile\\n", color=black, shape=ellipse, type=Resource]; +MyEC2Instance [label="MyEC2Instance\\n", color=black, shape=ellipse, type=Resource]; +mySnsTopic [label="mySnsTopic\\n", color=black, shape=ellipse, type=Resource]; +MyEC2Instance1 [label="MyEC2Instance1\\n", color=black, shape=ellipse, type=Resource]; +ElasticIP [label="ElasticIP\\n", color=black, shape=ellipse, type=Resource]; +ElasticLoadBalancer [label="ElasticLoadBalancer\\n", color=black, shape=ellipse, type=Resource]; +IamPipeline [label="IamPipeline\\n", color=black, shape=ellipse, type=Resource]; +CustomResource [label="CustomResource\\n", color=black, shape=ellipse, type=Resource]; +WaitCondition [label="WaitCondition\\n", color=black, shape=ellipse, type=Resource]; +LambdaFunction [label="LambdaFunction\\n", color=black, shape=ellipse, type=Resource]; +RolePolicies -> RootRole [key=0, source_paths="['Properties', 'Roles', 0]", label=Ref, color=black]; +RootInstanceProfile -> RootRole [key=0, source_paths="['Properties', 'Roles', 0]", label=Ref, color=black]; +MyEC2Instance -> RootInstanceProfile [key=0, source_paths="['Properties', 'IamInstanceProfile']", label=Ref, color=black]; +ElasticLoadBalancer -> MyEC2Instance [key=0, source_paths="['Properties', 'Instances', 0]", label=Ref, color=black]; } """.split( "\n"