Assets
12
Features
- appsync: implement resolvable fields for code-first schema (#9660) (9e3b798)
- appsync: separating schema from graphql api (#9903) (8d71fa1)
- cli: automatically determine region on EC2 instances (#9313) (1cf986d)
- core: facility to warn when deprecated APIs are used (#9585) (b1d0ac0)
- custom-resources: function name for AwsCustomResource (#9774) (6da6581), closes #9771
- eks: envelope encryption for secrets (#9438) (65fd3e6), closes #9140
- rds: deletion protection for RDS cluster (#9871) (ef98b9f), closes #6944
- rds: grantConnect for database instances (#9887) (e893828), closes #1558
- region-info: add information for af-south-1 and eu-south-1 regions (#9569) (9d76c26)
- s3: imported buckets can have an explicit region (#9936) (f0c76ac), closes #8280 #9556
- stepfunctions-tasks: add support for CodeBuild StartBuild API (#9757) (dae54ec), closes #8043
Bug Fixes
- appsync: add dependency between apikey and schema (#9737) (4448794), closes #8168 #9736 #8168
- bootstrap: add alias for the asset key (#9872) (952e686), closes #6719
- cfn-include: allow numbers to be passed to string properties (#9849) (4c8c6f1), closes #9784
- cfn-include: short form for Condition (#9865) (371e8da), closes #9785
- core: Access Denied using legacy synthesizer with new bootstrap (#9831) (960ef12)
- core: Duration incorrectly renders Days (#9935) (0ca09a7), closes #9906
- elasticloadbalancingv2: imported listener ignores conditions attribute (#9939) (1c9b733), closes #8385 #9262 #9320 #9643
- lambda: cannot use latest version in multiple cloudfront distributions (#9966) (71c60f2), closes #4459
- lambda: grantInvoke fails on second invocation (#9960) (0fc5899), closes #8553
- lambda-nodejs: incorrect working directory for local bundling (#9870) (a4185a0), closes #9632
Assets
12
⚠ BREAKING CHANGES
- cloudfront: Distribution:
.domainsmust be specified ifcertificateis provided. - appsync: appsync.addXxxDataSource
nameanddescriptionprops are now optional and in anDataSourceOptionsinterface.
- appsync: the props
nameanddescriptioninaddXxxDataSourcehave been moved into new propsoptionsof typeDataSourceOptions - appsync:
DataSourceOptions.namedefaults to id - appsync:
DataSourceOptions.descriptiondefaults to undefined
Features
- amplify: automatic branch deletion (#9663) (4ee37a4), closes #9650
- appsync: code-first schema allows for object type definition (#9417) (6f1782f), closes #9307
- appsync: import existing graphql api (#9254) (5732b8e), closes #6959
- aws-cloudwatch: log query widget visualisation types (#9694) (8debcf8), closes #9675
- cli: MFA support (#6510) (611c48d), closes #1248
- make imported resources account/region-aware (#8280) (d6278b3), closes #2807 #5740 #7012
- cfn-include: add support for retrieving Mapping objects from the template (#9777) (a038304), closes #9711
- cfn-include: add support for retrieving Rule objects from the template (#9783) (e4720bf), closes #9712
- cloudfront: Distribution - alternate domains (#9699) (97e44a7)
- codebuild: support images with WINDOWS_SERVER_2019_CONTAINER environment type (#9526) (d3813e7), closes #9484
- custom-resources: optional latest SDK installation for AwsCustomResource (#9515) (effdd3c), closes #9289 #9322
- ec2: CloudFormation init for files, packages, sources, users, & groups (#9664) (d6c44e8), closes #9065 #8788 #8788
- ecs: add EfsVolumeConfiguration to Volume (#8467) (85ff9fd)
- ecs: add support for automatic HTTPS redirect (#9341) (84a3ef6), closes #8488
- pipelines: add PolicyStatements to CodeBuild project role (#9527) (c570d9c), closes aws/aws-cdk#9163
- rds: CloudWatch logs exports for DB clusters (#9772) (118e5c6), closes #7810
- rds: Validate log types for clusters (#9797) (85fdeb5), closes #9772 #9772 #9772
Bug Fixes
- apigateway: access log format does not allow tokens (#9769) (a7c5c75), closes #9687
- build: Prereq check - support paths with spaces. (9ca1d02), closes #9749
- cfn-include: handle numbers expressed as strings in templates (#9525) (e9a4102), closes #9524
- cli: "fancy" progress reporting not disabled on all CI systems (#9516) (97ef371), closes #8696 #8893
- cli: CLI does not use regional endpoints (#9835) (34450b0), closes #9223
- cli: stack monitor reads complete stack history every 5 seconds (#9795) (cace51a), closes #9470
- cli: SynthUtils is not used (#9836) (9f1007e)
- cloudformation-diff: DependsOn singleton arrays aren't equal to string values (#9814) (49cdb47)
- cloudfront: all origin access identities have identical names (#9829) (ca79188), closes #9580
- cloudfront: Distribution ignores webAclId (#9828) (366c781), closes #9635 #9824
- cloudfront: Update Suported Security Protocol enum and set TLS_V1_2_2019 as a default version (#9738) (f6c25ad), closes #9212
- codebuild: fails on using PR Events together with FILE_PATH filters in a FilterGroup (#9725) (fdaf6bc), closes #8867
- codepipeline: Service Catalog action generated incorrect file path (#9773) (286ff50), closes #9767
- eks: AMI changes in managed SSM store param causes rolling update of ASG (#9746) (44f7753), closes #7273
- elbv2: NLB Target Group does not inherit protocol (#9331) (#9651) (171ab59)
- lambda: compute platform missing for autocreated profiling group (#9716) (a8f4c9f)
- lambda-nodejs: cannot bundle when entry file is named index.ts (#9724) (bb90fbe), closes #9709
- lambda-nodejs: NodejsFunction construct incompatible with lambda@edge (#9562) (dfe2c5c), closes #9328 #9453
- lambda-python: install rsync if necessary (#9763) (6edb6e6), closes #9704 #9349 #9582
Assets
12
⚠ BREAKING CHANGES
- eks:
cluster.addResourcewas renamed tocluster.addManifestandKubernetesResourcewas renamed toKubernetesManifest - cloudfront: (cloudfront) Changed IDs for Distributions (will cause resource replacement).
Features
- cfn-include: allow passing Parameters to the included template (#9543) (cb6de0a)
- cfnspec: cloudformation spec v16.3.0 (#9452) (fb5068d)
- cloudfront: Distribution support for logging, geo restrictions, http version and IPv6 (#9635) (4c62702)
- codebuild: add support for GPU build images (#8879) (b1b4cee), closes #8408
- codeguruprofiler: add support for ComputePlatform in ProfilingGroup (#9391) (5a64bc5)
- ec2: CloudFormation-init support (#9065) (014c13a), closes #8788 #9063 #9063
- eks: ability to query runtime information from the cluster (#9535) (4bc8188), closes #8394
- synthetics: Synthetics L2 Support (#8824) (691b349), closes #7687
Bug Fixes
- cloudfront: ensures origin groups are added with their own ID as a target (#9593) (246842f), closes #9561 #9561
- cloudfront: Escape hatch support for Distribution (#9648) (cc229c2), closes #9620
- codepipeline: S3 source Action with trigger=Events fails for bucketKey a Token (#9575) (43214b4), closes #9554
- ec2: can't use imported Subnets in a SubnetSelection (#9579) (1c4eae8)
Assets
12
Features
- cloudwatch: alarm status widget (#9456) (41940d3)
- cognito: better control sms role creation (#9513) (a772fe8), closes #6943
- core: local bundling provider (#9564) (3da0aa9)
- core: new annotations api (#9563) (ae9ed62), closes /github.com/aws/aws-cdk-rfcs/blob/master/text/0192-remove-constructs-compat.md#09
- core: new APIs for Aspects and Tags (#9558) (a311428), closes /github.com/aws/aws-cdk-rfcs/blob/master/text/0192-remove-constructs-compat.md#02
- ecs: Option to encrypt lifecycle hook SNS Topic (#9343) (38aad67)
- events: use existing Role when running ECS Task (#8145) (aad951a), closes #7859
- global-accelerator: referencing Global Accelerator security group (#9358) (1fe9684)
- iam: validate policies for missing resources/principals (#9269) (60d01b1), closes #7615
- lambda: autoscaling for lambda aliases (#8883) (d9d9b90)
- readme: include partitions.io cdk board in "getting help" (#9541) (f098014)
- "stack relative exports" flag (#9604) (398f872)
- secretsmanager: Specify secret value at creation (#9594) (07fedff), closes #5810
Bug Fixes
- cfn-include: allowedValues aren't included when specified by a parameter (#9532) (e7dc82f)
- codedeploy: ServerDeploymentGroup takes AutoScalingGroup instead of IAutoScalingGroup (#9252) (9ff55ae), closes #9175
- docdb:
autoMinorVersionUpgradeproperty was not set totrueby default as stated in the docstring (#9505) (e878f9c) - ec2: Volume grants have an overly complicated API (#9115) (74e8391), closes #9114
- efs: LifecyclePolicy of AFTER_7_DAYS is not applied (#9475) (f78c346), closes #9474
- eks: clusters in a FAILED state are not detected (#9553) (d651948)
- eks: private endpoint access doesn't work with
Vpc.fromLookup(#9544) (dd0f4cb), closes #9542 #5383 - lambda: cannot create lambda in public subnets (#9468) (b46fdc9)
- pipelines: CodeBuild images have (too) old Node version (#9446) (bd45f34), closes #9070
- pipelines: manual approval of changeset uses wrong ordering (#9508) (5c01da8), closes #9101 #9101
Assets
12
⚠ BREAKING CHANGES
- apigatewayv2: The parameter for the method
bind()on
IHttpRouteIntegrationhas changed to accept one of type
HttpRouteIntegrationBindOptions. The previous parameter
IHttpRouteis now a property inside the new parameter under
the keyroute. - eks: The experimental
eks.Clusterconstruct no longer supports settingkubectlEnabled: false. A temporary drop-in alternative iseks.LegacyCluster, but we have plans to completely remove support for it in an upcoming release sinceeks.Clusterhas matured and should provide all the needed capabilities. Please comment on #9332 if there are use cases that are not supported byeks.Cluster. - eks: endpoint access is configured to private and public by default instead of just public
lambda.Versionandapigateway.Deploymentresources with auto-generated IDs will be replaced as we fixed a bug which ignored resource dependencies when generating these logical IDs.- core: in unit tests, the
node.pathof constructs within stacks created the root of the tree vianew Stack()will now have a prefixDefault/which represents an implicitApproot.
Related: aws/aws-cdk-rfcs#192
- cloudfront: the property OriginBase.originId has been removed
Features
- apigateway: additionalProperties in RestApi Model supports JsonSchema type (#8848) (5e087e5), closes #8069
- apigateway: configure endpoint types on SpecRestApi (#9068) (7673e48), closes #9060
- apigateway: import API keys (#9155) (e3f6ae3), closes #8367
- appsync: add x-ray parameter to AppSync (#9389) (51921ad)
- cloudfront: add support for Origin Groups (#9360) (11e146c), closes #9109
- cloudfront: Behaviors support cached methods, compression, viewer protocol, and smooth streaming (#9411) (2451fa9), closes #7086 #9107
- core: implicit app for root stacks (#9342) (1d85a9f)
- core: warn if an aspect was added via another aspect (#8639) (9d7bef7)
- eks: default masters role (#9464) (b80c271), closes #9463
- eks: deprecate "kubectlEnabled: false" (#9454) (2791017), closes #9332
- eks: endpoint access customization (#9095) (692864c), closes #5220 /github.com/aws/aws-cdk/pull/9095#issuecomment-665621701
- s3: Introduce S3 Inventory (#9102) (b0f359e)
Bug Fixes
-
apigatewayv2: cyclic dependency between HttpApi and the lambda function (#9100) (7b29774), closes #9075
-
athena: WorkGroup tags corruption (#9085) (b688913), closes #6936
-
aws-lambda-python: use cp instead of rsync (#9355) (056bcaf), closes #9349
-
cfn-include: no longer concatenate elements of Fn::Join without tokens (#9476) (d038b61)
-
core: can't have multiple CfnRules in a Stack (#9500) (76a7bfd), closes #8251 #9485
-
core: docs for CfnMapping are not clear (#9451) (c1e3c57), closes #9432
-
dynamodb: allow using PhysicalName.GENERATE_IF_NEEDED as the Table name (#9377) (8ab7b10), closes #9374
-
ecs: Scope-down IAM permissions for ECS drain (#9502) (9fbeec3)
-
ecs: Scope-down IAM permissions on Cluster ASG (#9493) (1670289)
-
ecs-patterns: Adds missing option to secure ingress of ALB in Ap… (#9434) (ba1427f)
-
lambda: bundling docker image does not exist for Go runtime (#9465) (7666d9b), closes #9435
-
cloudfront: remove the originId property from OriginBase (#9380) (70b9f63)
-
do not use "synthesize" and "prepare" in the cdk (#9410) (e3ae645), closes /github.com/aws/aws-cdk/pull/9410#issuecomment-668552361
Assets
12
⚠ BREAKING CHANGES
- appsync: appsync prop
schemaDefinitionno longer takes string, instead it is required to configure schema definition mode.
- appsync: schemaDefinition takes param
SchemaDefinition.XXXto declare how schema will be configured- SchemaDefinition.CODE allows schema definition through CDK
- SchemaDefinition.FILE allows schema definition through schema.graphql file
- cloudfront: Removed origin classes from the aws-cloudfront module.
- aws-cloudfront: Removed S3Origin and HttpOrigin from the aws-cloudfront module. Use the S3Origin and HttpOrigin classes in the aws-cloudfront-origins module instead.
- aws-cloudfront: Renamed Origin to OriginBase.
- cloudfront: the property Origin.domainName has been removed
Features
- cfn-include: add support for the Fn::Sub function (#9275) (2a48495)
- core: make the CfnParameter class mutable (#9365) (860966a), closes #9364
Bug Fixes
-
certificatemanager: DNS validation for wildcard certificates (#9291) (419278b), closes #9248
-
pipelines: reduce assets IAM policy size (#9333) (88d563f), closes #9316
-
appsync: strongly type schema definition mode (#9283) (b46aa99), closes #9301
-
cloudfront: README updates and notes of breaking changes (#9356) (fbb0418), closes #9326
-
cloudfront: small refactoring of the Origin API (#9281) (cbfdc15), closes #9109
Assets
12
⚠ BREAKING CHANGES
- lambda: the
bundlingDockerImageprop of aRuntimenow points to the AWS SAM build image (amazon/aws-sam-cli-build-image-<runtime>) instead of the LambCI build image (lambci/lambda:build-<runtime>) - appsync:
pipelineConfigis now an array ofstringinstead ofCfnResolver.PipelineConfigPropertyfor usability.
- appsync:
pipelineConfigparameter takes instring []
Features
- appsync: grant APIs for managing permissions (#8993) (e6dca52), closes #6772 #7871 #7313
- aws-codepipeline: experimental support for ServiceCatalog deploy action (#9214) (950e51f)
- cfn-include: handle resources not in the CloudFormation schema (#9199) (d287525), closes #9197
- cfnspec: cloudformation spec v16.1.0 (#9074) (d1ca04f)
- cfnspec: cloudformation spec v16.1.0 (#9216) (d4b68d3)
- cloudfront: new aws-cloudfront-origins module, support for ALB/NLB origins (#9209) (27ee332), closes #9207
- cloudfront: support Lambda@Edge for behaviors (#9220) (d3e5533), closes #9108
- lambda: official lambda build docker images (#9211) (ae0cf2a), closes #9205
- lambda-python: introducing LambdaPython (#9182) (4cc2834)
- route53-patterns: the route53-patterns module is now stable (#9232) (add23bf)
Bug Fixes
- appsync: resolver unable to set pipelineConfig (#9093) (dac9bb3), closes #6923
- cloudfront: Set MinimumProtocolVersion and SslSupportMethod when specifying distribution certificate (#9200) (f99c327)
- cloudtrail: missing sns publish permissions (#9239) (b4339a1)
- codepipeline-actions: CodeDeployEcsDeployAction does not properly handle unnamed Artifacts (#9147) (ac612c6), closes #8971
- pipelines: Reduce template size by combining IAM roles and policies (#9243) (1ac6863), closes #9066 #9225 #9237
- rds: SQL Server instance engine uses incorrect major version (#9215) (eee8689), closes #9171
- route53-targets: Add China Partition Support for CloudFrontTarget (#9174) (52a966a)
- stepfunctions-tasks: EvaluateExpression error when key specified multiple times (#8858) (6506327), closes #8856
Assets
12
Features
- autoscaling: enable group metrics collections (#7432) (9867555)
- cloudfront: Custom origins and more origin properties (#9137) (c807ff2), closes #9106
- cloudfront: support origin groups for failover (#8740) (345389f)
Bug Fixes
- apigatewayv2: Invalid mapping key value (#9141) (c88ad5f)
- core: bundling corrupts stdout (#9202) (fadad22), closes #9186
- kinesis: unable to use CfnParameter valueAsNumber to specify retentionPeriod (#9176) (3749c2a), closes #9038
- lambda-nodejs: permission denied on npm cache (#9167) (4327843)
- pipelines: prevent self-mutation on asset updates (#9183) (05fc934), closes #9080
- pipelines: standardYarnSynth cannot have custom install command (#9180) (fdfed40), closes #9162
Assets
12
Features
- ec2: access a vpc's internet gateway (#7939) (cb5dad8), closes #5327
- lambda-nodejs: connection reuse with aws-sdk (#9083) (44c0400)

