Bug Fixes
- build: Correct buildspec so it does not fail (#2737) (e362ac8)
- certificatemanager: correct certificateArn typo in the README (#2712) (2bfc1c2)
- cli: don't fail if region cannot be determined (#2721) (0c72ef3), closes #2697
- cli: remove support for applets (#2691) (0997ee2)
- cloudwatch: move SNS Alarm Action to
aws-cloudwatch-actions
(#2688) (e3df21a) - codebuild: grant the Project's Role permissions to the KMS Key if it was passed. (#2715) (4e12fe6)
- core: apply overrides after rendering properties (#2685) (f2636e5), closes #2677
- core: Make filterUndefined null-safe (#2789) (e4fb811), closes awslabs/jsii#523
- ecs: remove LoadBalancedFargateServiceApplet, no longer supported (#2779) (a610017)
- ecs-patterns: expose service on queue worker services (#2780) (6d83cb9)
- pkglint: Adjust stability banner style (#2768) (da94d8b)
- route53: support zone roots as record names (#2705) (08a2852)
- stepfunctions: improve Task payload encoding (#2706) (1c13faa)
Code Refactoring
- Construct props must not use the 'any' type (awslint:props-no-any) (#2701) (cb2b334), closes #2673
- remove deprecated modules (#2693) (421bf6d)
- core: improvements to Construct API (#2767) (3f7a0ad), closes #1934 #2766
- core: misc cleanups to App-related APIs (#2731) (b2e1964), closes #1891 #2750
- kms: Rename EncryptionKeyAlias to Alias (#2769) (da8e1d5)
Features
- core: node.defaultChild as a shortcut to escape hatch (#2684) (8cd3c23), closes #2290
- core+cli: support tagging of stacks (#2185) (d0e19d5), closes #932
- event-targets: add support for fargate/awsvpc tasks (#2707) (2754dde)
- events: support SQS queues as rule targets (#2683) (078e34a), closes #1786
- rds: add engineVersion to DatabaseCluster (#2698) (0593d51), closes #2212
- rds: add support for database instances (#2187) (b864041), closes #2075 #1693
- route53: improve constructs for basic records (#2741) (696f53f)
- s3: default to KMS if encryptionKey is specified (#2719) (ae4a04f), closes #2714
- tokens: enable type coercion (#2680) (0f54698), closes #2679
BREAKING CHANGES
- route53:
recordValue: string
prop inroute53.TxtRecord
changed tovalues: string[]
recordValue
prop inroute53.CnameRecord
renamed todomainName
route53.AliasRecord
has been removed, useroute53.ARecord
orroute53.AaaaRecord
with thetarget
prop.- kms: The
EncryptionKeyAlias
class was renamed toAlias
.
Associated types (such asEncryptionKeyAliasProps
) were renamed in the
same way. - cli: This release requires CDK CLI >= 0.34.0
- core:
App.run()
was renamed toApp.synth()
(soft deprecation, it will be removed in the next release). - core:
node.stack
is nowStack.of(construct)
(fixes #2766) - core:
node.resolve
has been moved tostack.resolve
. - core:
node.stringifyJson
has been moved tostack.stringifyJson
. - core:
node.validateTree
is nowConstructNode.validate(node)
- core:
node.prepareTree
is nowConstructNode.prepare(node)
- core:
node.getContext
is nownode.tryGetContext
- core:
node.recordReference
is nownode.addReference
- core:
node.apply
is nownode.applyAspect
- core:
node.ancestors()
is nownode.scopes
- core:
node.required
has been removed. - core:
node.typename
has been removed. - core:
node.addChild
is now private - core:
node.findReferences()
is nownode.references
- core:
node.findDependencies()
is nownode.dependencies
- core:
stack.dependencies()
is nowstack.dependencies
- core:
CfnElement.stackPath
has been removed. - core:
CloudFormationLang
is now internal (usestack.toJsonString()
) - cloudwatch: using an SNS topic as CloudWatch Alarm Actxion now
requires an integration object from the@aws-cdk/aws-cloudwatch-actions
package. - event-targets:
targets.EcsEc2Task
renamed totargets.EcsTask
- SNS - Subscription
endpoint
is now typestring
(previouslyany
) - Step Functions -
result
in the Pass state is now typemap
(previouslyany
) - the following modules are no longer released:
@aws-cdk/applet-js
,@aws-cdk/aws-autoscaling-api
,@aws-cdk/aws-codedeploy-api
- cli: applets are no longer supported as an app type, use "decdk" instead.
- core: Properties passed to
addPropertyOverride
should match in capitalization to the CloudFormation schema (normally pascal case). For example,addPropertyOverride('accessControl', 'xxx')
should now beaddPropertyOverride('AccessControl', 'xxx')
. - rds:
rds.RotationSingleUser
renamed tords.SecretRotation
- rds:
rds.ClusterParameterGroup
no longer hassetParameter()
andremoveParameter()
methods, use the parameters prop directly in the constructor instead.