Skip to content

Releases: aws/aws-cdk

v0.22.0

11 Jan 10:18
Compare
Choose a tag to compare

This is a major release with multiple breaking changes in the core layers.
Please consult the breaking changes section below for details.

We are focusing these days on finalizing the common patterns and APIs of the CDK
framework and the AWS Construct Library, which is why you are seeing all these
breaking changes. Expect a few more releases with changes of that nature as we
stabilize these APIs, so you might want to hold off with upgrading. We will
communicate when this foundational work is complete.

Bug Fixes

  • core: automatic cross-stack refs for CFN resources (#1510) (ca5ee35)
  • ecs: correct typo and other minor mistakes in ecs readme (#1448) (9c91b20)
  • elbv2: unable to specify load balancer name (#1486) (5b24583), closes #973 #1481
  • lambda: use IRole instead of Role to allow imports (#1509) (b909dcd)
  • toolkit: fix typo in --rename option description (#1438) (1dd56d4)
  • toolkit: support multiple toolkit stacks in the same environment (#1427) (095da14), closes #1416

Features

BREAKING CHANGES

  • Construct API has been moved under construct.node in order to reduce pollution of APIs of derived classes.
  • Construct parent renamed to scope and now available under the construct.node API
  • Cross-stack references: if you are using export() and import() to share constructs between stacks, you can stop doing that, instead of FooImportProps accept an IFoo directly on the consuming stack, and use that object as usual.
  • ArnUtils.fromComponents() and ArnUtils.parse() have been moved onto Stack.
  • All CloudFormation pseudo-parameter (such as AWS::AccountId etc) are now also accessible via Stack, as stack.accountId etc.
  • All CloudFormation intrinsic functions are now represented as static methods under the Fn class (e.g. Fn.join(...) instead of new FnJoin(...).toString())
  • resolve() has been moved to this.node.resolve().
  • CloudFormationJSON.stringify() has been moved to this.node.stringifyJson(). validate() now should be protected.
  • The deprecated cloudformation.XxxResource classes have been removed. Use the CfnXxx classes instead.
  • Any CfnXxx resource attributes that represented a list of strings are now typed as string[]s (via #1144). Attributes that represent strings, are still typed as string (#712) and all other attribute types are represented as cdk.Token.
  • route53: The route53.TXTRecord class was renamed to route53.TxtRecord.
  • route53: record classes now require a zone when created (not assuming zone is the parent construct).
  • lambda: the static "metric" methods moved from lambda.FunctionRef to lambda.Function.
  • Many AWS resource classes have been changed to conform to API guidelines:
    • XxxRef abstract classes are now IXxx interfaces
    • XxxRefProps are now XxxImportProps
    • XxxRef.import(...) are now Xxx.import(...) accept XxxImportProps and return IXxx
    • export(): XxxImportProps is now defined in IXxx and implemented by imported resources

v0.21.0

20 Dec 16:43
91ecdda
Compare
Choose a tag to compare

Bug Fixes

  • aws-cloudformation: change the type of Role in CodePipeline Actions to IRole. (#1364) (3d07e48), closes #1361
  • codebuild: Rename includeBuildID property of S3BucketBuildArtifacts (#1354) (84eb7ad), closes #1347
  • toolkit: scrutiny dialog should fail with no tty (#1382) (478a714), closes #1380

Features

BREAKING CHANGES

  • aws-cloudformation: this changes the type of the role property in CFN CodePipeline Actions
    from Role to IRole. This is needed to use imported Roles when creating Actions.
  • aws-codebuild: this changes the API of CodeBuild's GitHub and BitBucket Sources
    to take an owner/repo pair instead of an entire cloneUrl,
    to make it consistent with the GitHubSourceAction in the CodePipeline package. Also adds handling the reportBuildStatus and insecureSsl Source properties.
  • codebuild: the includeBuildID property of
    S3BucketBuildArtifacts was renamed to includeBuildId (note the
    lower-case trailing d).

v0.20.0

13 Dec 10:46
cbeea75
Compare
Choose a tag to compare

Bug Fixes

Features

BREAKING CHANGES

  • assert: the behavior change of haveResource can cause tests to
    fail. If allowing extension of the expected values is the intended behavior, you can
    switch to the haveResourceLike matcher instead, which exposes the previous
    behavior.

v0.19.0

04 Dec 12:41
2625a05
Compare
Choose a tag to compare

Bug Fixes

Features

  • aws-codebuild: allow using docker image assets as build images (#1233) (72413c1), closes #1232 #1219
  • aws-codebuild: rename the Project methods for adding Actions to CodePipeline. (#1254) (825e448), closes #1211
  • aws-ecr: add an ECR Repository source CodePipeline Action. (#1255) (01cc8a2)
  • app-delivery: IAM policy for deploy stack (#1165) (edc9a21), closes #1165 #1151
  • Update to CloudFormation spec v2.16.0 (#1280) (9df5c54)

BREAKING CHANGES

  • aws-codebuild: ecr.RepositoryRef has been replaced by ecr.IRepository, which
    means that RepositoryRef.import is now Repository.import. Futhermore, the CDK
    Toolkit must also be upgraded since the docker asset protocol was modified.
    IRepository.grantUseImage was renamed to IRepository.grantPull.
  • aws-codebuild: addBuildToPipeline was renamed to addToPipeline
    and addTestToPipeline was renamed to addPipelineToTest in order to align
    with naming conventions.
  • CloudFormationCapabilities.IAM renamed to
    CloudFormation.AnonymousIAM and PipelineCloudFormationDeployActionProps.capabilities?: CloudFormationCapabilities[] has been changed to
    PipelineCloudFormationDeployActionProps.capabilities?: CloudFormationCapabilities no longer an array.
    PipelineCloudFormationDeployActionProps.fullPermissions?: has been
    renamed to PipelineCloudFormationDeployActionProps.adminPermissions:
    and is required instead of optional.

v0.18.1

21 Nov 12:59
9f7af21
Compare
Choose a tag to compare

Bug Fixes

v0.18.0

19 Nov 13:43
1c9ccfc
Compare
Choose a tag to compare

Bug Fixes

Features

  • aws-autoscaling: add instance AutoScaling (#1134) (d397dd7), closes #1042 #1113
  • aws-codebuild: add support for additional sources and artifact in Projects. (#1110) (d911b08)
  • aws-ec2: add VPC context provider (#1168) (e8380fa), closes #1095
  • aws-ecs: expose service and target group on the LoadBalancedFargateService (#1175) (e799699)
  • aws-ecs: instance autoscaling and drain hook (#1192) (811462e), closes #1162
  • aws-ecs: Support HTTPS in load balanced Fargate service (#1115) (76a5cc7)
  • aws-ecs: TLS support for Fargate service applet (#1184) (18166ce)
  • update to CloudFormation spec v2.13.0 (#1203) (c531c84)
  • aws-elasticloadbalancingv2: add metrics (#1173) (68d481d), closes #853
  • docs: getting started instructions for csharp (#1185) (2915ac1), closes #696
  • toolkit: add 'cdk context' command (#1169) (2db536e), closes #311
  • toolkit: by default hide AWS::CDK::Metadata from "cdk diff" (#1186) (ef0017a), closes #465
  • toolkit: improve diff user interface (#1187) (9c3c5c7), closes #1121 #1120
  • aws-codepipeline: switch to webhooks instead of polling by default for the GitHub (#1074)

BREAKING CHANGES

  • aws-codebuild: this changes the way CodeBuild Sources are constructed (we moved away from multiple parameters in the constructor, in favor of the more idiomatic property interface).
  • aws-elasticloadbalancingv2: targetGroup.listenerDependency() has been renamed to targetGroup.loadBalancerDependency().

v0.17.0

14 Nov 10:09
fba780f
Compare
Choose a tag to compare

Bug Fixes

  • aws-ecs: remove DockerHub constructor class (#1153) (ed14638)
  • aws-ec2: add dependency on gateway attachment for public routes (#1142) (15b255c), closes #1140
  • s3-deployment: bundle modules correctly (#1154) (0cb1adf)

Features

  • aws-codedeploy: add an addToPipeline method to Deployment Group. (#1166) (bdbeb7c)
  • aws-codepipeline, aws-cloudformation: support cross-region CloudFormation pipeline action (#1152) (8e701ad)
  • toolkit: print available templates when --language is omitted (#1159) (5726c45)

BREAKING CHANGES

  • aws-ec2: Method signature of
    VpcPublicSubnet.addDefaultIGWRouteEntry changed in order to add a
    dependency on gateway attachment completing before creating the public
    route to the gateway. Instead of passing a gateway ID string, pass in a
    cloudformation.InternetGatewayResource object and a
    cloudformation.VPCGatewayAttachmentResource object.
  • If you were using DockerHub.image() to reference docker hub images,
    use ContainerImage.fromDockerHub() instead.

v0.16.0

12 Nov 20:15
fbb091a
Compare
Choose a tag to compare

Bug Fixes

  • aws-elasticloadbalancingv2: listener dependency (#1146) (e9d3d93), closes #1139
  • aws-elasticloadbalancingv2: unhealthy threshold (#1145) (a70a50d)

Features

  • aws-codedeploy: CodeDeploy Pipeline Action using the L2 DeploymentGroup Construct. (#1085) (ce999b6)
  • aws-route53: route53 Alias record support (#1131) (72f0124)
  • cdk: allow Tokens to be encoded as lists (#1144) (cd7947c), closes #744

BREAKING CHANGES

  • aws-codedeploy: this changes the API of the CodeDeploy Pipeline Action
    to take the DeploymentGroup AWS Construct as an argument instead of the names
    of the Application and Deployment Group.

v0.15.2

08 Nov 13:25
570bd9f
Compare
Choose a tag to compare

Bug Fixes

Features

  • aws-ecs: Add desired count to LoadBalanced[Fargate|EC2]Service (#1111) (cafcc11)

v0.15.1

06 Nov 21:36
eac5370
Compare
Choose a tag to compare

Bug Fixes

  • Update peer dependencies to refer to correct version so NPM installs don't fail.
  • Switch back to js-yaml as yaml was emitting unquoted single colons as list elements.