Releases: aws/aws-cdk
Releases · aws/aws-cdk
v0.22.0
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
- apigateway: add tracingEnabled property to APIGW Stage (#1482) (fefa764)
- assets: enable local tooling scenarios such as lambda debugging (#1433) (0d2b633), closes #1432
- aws-cdk: better stack dependency handling (#1511) (b4bbaf0), closes #1508 #1505
- aws-codepipeline: jenkins build and test actions (#1216) (471e8eb)
- aws-codepipeline: support notifications on the ManualApprovalAction (#1368) (068fa46), closes #1222
- aws-ecs: add support Amazon Linux 2 (#1484) (82ec0ff), closes #1483
- aws-kms: allow tagging kms keys (#1485) (f43b4d4)
- aws-lambda: add input and output artifacts to the CodePipeline action (#1390) (fbd7728), closes #1384
- cdk: transparently use constructs from another stack (d7371f0), closes #1324
- cli: allow specifying options using env vars (#1447) (7cd84a0)
- aws resource api linting (breaking changes) (#1434) (8c17ca7), closes #742 #1428
- core: cloudformation condition chaining (#1494) (2169015), closes #1457
- diff: better diff of arbitrary json objects (#1488) (607f997)
- route53: support cname records (#1487) (17eddd1), closes #1420
- step-functions: support parameters option (#1492) (935054a), closes #1480
- core: construct base class changes (breaking) (#1444) (fb22a32), closes #1431 #1441 #189 #1441 #1431
- core: idiomize cloudformation intrinsics functions (#1428) (04217a5), closes #202
- cloudformation: no more generated attribute types in CFN layer (L1) (#1489) (4d6d5ca), closes #1455 #1406
- cloudformation: stop generating legacy cloudformation resources (#1493) (81b4174)
BREAKING CHANGES
- Construct API has been moved under
construct.node
in order to reduce pollution of APIs of derived classes. - Construct
parent
renamed toscope
and now available under theconstruct.node
API - Cross-stack references: if you are using
export()
andimport()
to share constructs between stacks, you can stop doing that, instead ofFooImportProps
accept anIFoo
directly on the consuming stack, and use that object as usual. ArnUtils.fromComponents()
andArnUtils.parse()
have been moved ontoStack
.- All CloudFormation pseudo-parameter (such as
AWS::AccountId
etc) are now also accessible viaStack
, asstack.accountId
etc. - All CloudFormation intrinsic functions are now represented as static methods under the
Fn
class (e.g.Fn.join(...)
instead ofnew FnJoin(...).toString()
) resolve()
has been moved tothis.node.resolve()
.CloudFormationJSON.stringify()
has been moved tothis.node.stringifyJson()
.validate()
now should beprotected
.- The deprecated
cloudformation.XxxResource
classes have been removed. Use theCfnXxx
classes instead. - Any
CfnXxx
resource attributes that represented a list of strings are now typed asstring[]
s (via #1144). Attributes that represent strings, are still typed asstring
(#712) and all other attribute types are represented ascdk.Token
. - route53: The
route53.TXTRecord
class was renamed toroute53.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
tolambda.Function
. - Many AWS resource classes have been changed to conform to API guidelines:
XxxRef
abstract classes are nowIXxx
interfacesXxxRefProps
are nowXxxImportProps
XxxRef.import(...)
are nowXxx.import(...)
acceptXxxImportProps
and returnIXxx
export(): XxxImportProps
is now defined inIXxx
and implemented by imported resources
v0.21.0
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
- aws-codebuild: change the API of GitHub and BitBucket Sources. (#1345) (9cebf0d)
- add "engines.node" key to all packages (#1358) (b595cf0), closes #1337
- deprecate "cloudformation" namespace in favor of "CfnXxx" (#1311) (d20938c), closes #878 awslabs/jsii#283 awslabs/jsii#270
- update CloudFormation resources v2.18.0 (#1407) (0f80b56), closes #1409
- aws-codebuild: allow setting Webhook for GitHub Sources. (#1387) (d5cae61)
- aws-ec2: can now use PrefixList in ingress rules (#1360) (c3cfcd5)
- aws-iam: configure ExternalId for Role (#1359) (3d200c9), closes #235
- aws-lambda: Add python 3.7 runtime (#1379) (8c733ef)
- cdk: add the CodeDeployLambdaAlias Update Policy. (#1346) (d648b58), closes #1177
- core: convert "/" in construct id to "--" and disallow tokens (#1375) (011aac0), closes #1351 #1374
- iam: CompositePrincipal and allow multiple principal types (#1377) (b942ae5), closes #1201
BREAKING CHANGES
- aws-cloudformation: this changes the type of the
role
property in CFN CodePipeline Actions
fromRole
toIRole
. 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 toincludeBuildId
(note the
lower-case trailingd
).
v0.20.0
Bug Fixes
- assert: Adjust assertion behavior to be stricter (#1289) (0919bf4), closes awslabs/cdk-ops#186
- aws-cdk: fix profile use in non-'aws' partitions (#1283) (5478913), closes #1262 #1109
- upgrade jsii to v0.7.12 (#1328) (62b7941)
- aws-cdk: fix YAML line wrapping issue (#1334) (48b9bdd), closes #1309
- aws-codecommit: make the onCommit CloudWatch Event respect creating the branch as well. (#1320) (cb1aed9)
- aws-ecr: add the
addToPipeline
method to IRepository. (#1329) (c4a9b74) - aws-ecs: fix healthCheckGracePeriodSeconds (#1266) (3a89e21), closes #1265
- aws-ecs: set permissions for 'awslogs' log driver (#1291) (f5bc59b), closes #1279
- aws-lambda: code.asset now supports jar files, fixes #1294 (#1330) (3076070)
- aws-logs: set default log retention of LogGroup to 731 instead of 730 (#1344) (71dc09f), closes #1343
Features
- aws-cdk: directory assets follow symlinks (#1318) (2dfd593), closes #731
- aws-s3: orphan buckets by default (#1273) (2eb47ad), closes #1269
- core: include jsii runtime version in analytics (#1288) (f06de18), closes awslabs/jsii#325 #1258 awslabs/cdk-ops#127
- core: only include cdk libs in version reporting (#1290) (6184423), closes awslabs/cdk-ops#172
- docs: add design process description & basic style guide (#1229) (5ffa7e2), closes awslabs/cdk-ops#177
- toolkit: include toolkit version in AWS::CDK::Metadata (#1287) (5004f50), closes #1286
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 thehaveResourceLike
matcher instead, which exposes the previous
behavior.
v0.19.0
Bug Fixes
- aws-cdk: add '-h' flag to bring up help (#1274) (47dafb0), closes #1259
- aws-cloudfront: Allow to disable IPv6 on cloudfront distribution (#1244) (10b7092), closes #1243
- aws-cloudtrail: correct S3 bucket policy and dependency chain (#1268) (0de2da8), closes #1172
- aws-ec2: fix code generation of IcmpPing (#1235) (6a13a18), closes #1231
- cdk: don't use instanceof in App (#1249) (a45c3bd), closes #1245
- cdk init: rename 'dotnet' to 'csharp' (#1210) (da6a799), closes #1123
- cdk init: update 'app' init template (#1209) (0287109), closes #1124 #1128 #1214
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 byecr.IRepository
, which
means thatRepositoryRef.import
is nowRepository.import
. Futhermore, the CDK
Toolkit must also be upgraded since the docker asset protocol was modified.
IRepository.grantUseImage
was renamed toIRepository.grantPull
. - aws-codebuild:
addBuildToPipeline
was renamed toaddToPipeline
andaddTestToPipeline
was renamed toaddPipelineToTest
in order to align
with naming conventions. CloudFormationCapabilities.IAM
renamed to
CloudFormation.AnonymousIAM
andPipelineCloudFormationDeployActionProps.capabilities?: CloudFormationCapabilities[]
has been changed to
PipelineCloudFormationDeployActionProps.capabilities?: CloudFormationCapabilities
no longer an array.
PipelineCloudFormationDeployActionProps.fullPermissions?:
has been
renamed toPipelineCloudFormationDeployActionProps.adminPermissions:
and is required instead of optional.
v0.18.1
v0.18.0
Bug Fixes
- aws-cdk: make bootstrapping not require --app (#1191) (c7b1004), closes #1188
- aws-ecs: don't emit DesiredCount in daemon mode (#1199) (7908de4), closes #1197
- aws-elasticloadbalancingv2: 'targetType' on groups (#1174) (b4293f2)
- aws-elasticloadbalancingv2: fix rule dependency (#1170) (aeb0f4f), closes #1160
- deps: upgrade jsii to 0.7.11 (#1202) (f3a5f12)
- docs: fix "getting started" documentation (#1045) (29b611f)
- toolkit: typo in
cdk bootstrap
output (#1176) (b83fe85)
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 totargetGroup.loadBalancerDependency()
.
v0.17.0
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,
useContainerImage.fromDockerHub()
instead.
v0.16.0
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.