⚠ BREAKING CHANGES TO EXPERIMENTAL FEATURES
- core: The type of the
image
property inBundlingOptions
is changed fromBundlingDockerImage
toDockerImage
. - core: The return type of the
DockerImage.fromBuild()
API is
changed fromBundlingDockerImage
toDockerImage
. - lambda-nodejs: The type of
image
property in the
Bundling
class is changed fromBundlingDockerImage
to
DockerImage
. - lambda-nodejs: The type of
dockerImage
property in
BundlingOptions
is changed fromBundlingDockerImage
to
DockerImage
. - apigatewayv2: The type of
allowMethods
property undercorsPreflight
section is changed fromHttpMethod
toCorsHttpMethod
. - lambda-nodejs: the default runtime of a
NodejsFunction
is now Node.js 14.x if the environment from which it is deployed uses Node.js >= 14 and Node.js 12.x otherwise. - appmesh: Backend, backend default and Virtual Service client policies structures are being altered
- appmesh: you must use the backend default interface to define backend defaults in
VirtualGateway
.
The property name also changed frombackendsDefaultClientPolicy
tobackendDefaults
- appmesh: you must use the backend default interface to define backend defaults in
VirtualNode
,
(the property name also changed frombackendsDefaultClientPolicy
tobackendDefaults
),
and theBackend
class to define a backend - appmesh: you can no longer attach a client policy to a
VirtualService
- apigatewayv2:
HttpApiMapping
(and related interfaces forAttributed
andProps
) has been renamed toApiMapping
- apigatewayv2:
CommonStageOptions
has been renamed toStageOptions
- apigatewayv2:
HttpStage.fromStageName
has been removed in favour ofHttpStage.fromHttpStageAttributes
- apigatewayv2:
DefaultDomainMappingOptions
has been removed in favour ofDomainMappingOptions
- apigatewayv2:
HttpApiProps.defaultDomainMapping
has been changed fromDefaultDomainMappingOptions
toDomainMappingOptions
- apigatewayv2:
HttpApi.defaultStage
has been changed fromHttpStage
toIStage
- apigatewayv2:
IHttpApi.defaultStage
has been removed
Features
- acmpca: make the ACM PCA module Generally Available (stable) (#13778) (7ca79ff)
- amplify-domain: Added config for auto subdomain creation (#13342) (4c63f09)
- apigatewayv2: http api - default authorizer options (#13172) (53d9661)
- apigatewayv2: websocket api (#13031) (fe1c839), closes #2872
- appmesh: add missing route match features (#13350) (b71efd9), closes #11645
- appmesh: add route retry policies (#13353) (66f7053), closes #11642
- aws-elasticloadbalancingv2: add protocol version for ALB TargetGroups (#13570) (165a3d8), closes #12869
- aws-events: Event Bus target (#12926) (ea91aa3), closes #9473
- aws-route53-targets: add global accelerator target to route53 alias targets (#13407) (2672a55), closes #12839
- cfnspec: cloudformation spec v30.0.0 (#13365) (ae0185d)
- cfnspec: cloudformation spec v30.1.0 (#13519) (7711981)
- cfnspec: cloudformation spec v31.0.0 (#13633) (9b1c786)
- cfnspec: cloudformation spec v31.1.0 (#13763) (41a2b2e)
- cloudwatch: EC2 actions (#13281) (319cfcd), closes #13228
- codebuild: allow setting queued timeout (#13467) (e09250b), closes #11364
- codepipeline-actions: Add detectChanges option to BitBucketSourceAction (#13656) (f2436bf)
- cognito: user pools - sign in with apple (#13160) (b965589)
- core:
description
parameter in the CustomResourceProvider (#13275) (78831cf), closes #13277 #13276 - core: customize bundling output packaging (#13152) (6eca979)
- dynamodb: custom timeout for replication operation (#13354) (6a5a4f2), closes #10249
- ec2: Add VPC endpoint for RDS (#12497) (fc87574), closes #12402
- ec2: client vpn endpoint (#12234) (4fde59a), closes #4206
- ec2: ESP and AH IPsec protocols for Security Groups (#13471) (f5a6647), closes #13403
- ec2: multipart user data (#11843) (ed94c5e), closes #8315
- ecr: add imageTagMutability prop (#10557) (c4dc3bc), closes #4640
- ecs: ability to access tag parameter value of TagParameterContainerImage (#13340) (e567a41), closes #13202
- ecs: add port mappings to containers with props (#13262) (f511639), closes #13261
- ecs: allow selection of container and port for SRV service discovery records (#12798) (a452bc3), closes #12796
- ecs: allow users to provide a CloudMap service to associate with an ECS service (#13192) (a7d314c), closes #10057
- ecs-patterns: Add ECS deployment circuit breaker support to higher-level constructs (#12719) (e80a98a), closes #12534 #12360
- elbv2: allow control of ingress rules on redirect listener (#12768) (b7b441f), closes #12766
- events:
EventBus.grantPutEventsTo
method for granular grants (#13429) (122a232), closes #11228 - events: archive events (#12060) (465cd9c), closes #11531
- events: dead letter queue for Lambda Targets (#11617) (1bb3650), closes #11612
- events: dead-letter queue support for CodeBuild (#13448) (abfc0ea), closes #13447
- events: dead-letter queue support for StepFunctions (#13450) (0ebcb41), closes #13449
- events: retry-policy support (#13660) (7966f8d), closes #13659
- events,applicationautoscaling: schedule can be a token (#13064) (b1449a1)
- iam: SAML identity provider (#13393) (faa0c06), closes #5320
- init-templates: app template comes with hint comments for 'env' (#13696) (b940710), closes #12321
- lambda: Code.fromDockerBuild (#13318) (ad01099), closes #13273
- lambda-event-sources: msk and self-managed kafka event sources (#12507) (73209e1), closes #12099
- lambda-event-sources: support for batching window to sqs event source (#13406) (6743e3b), closes #11722 #11724 #13770
- lambda-event-sources: tumbling window (#13412) (e9f2773), closes #13411
- neptune: high level constructs for db clusters and instances (#12763) (c366837), closes aws#12762
- neptune: Support IAM authentication (#13462) (6c5b1f4), closes #13461
- rds: make rds secret name configurable (#13626) (62a91b7), closes #8984
- region-info: added AppMesh ECR account for af-south-1 region (#12814) (b3fba43)
- sns: enable passing PolicyDocument to TopicPolicy (#10559) (0d9c300), closes #7934
- stepfunctions-tasks: Support calling ApiGateway REST and HTTP APIs (#13033) (cc608d0), closes #11565 #11566 #11565
Bug Fixes
-
apigatewayv2: error while configuring ANY as an allowed method in CORS (#13313) (34bb338), closes #13280 #13643
-
appmesh: Move Client Policy from Virtual Service to backend structure (#12943) (d3f4284), closes #11996
-
autoscaling: AutoScaling on percentile metrics doesn't work (#13366) (46114bb), closes #13144
-
aws-ecs: drain hook lambda allows tasks to stop gracefully (#13559) (3e1148e), closes #13506
-
cfn-include: allow boolean values for string-typed properties (#13508) (e5dab7c)
-
cfn-include: allow dynamic mappings to be used in Fn::FindInMap (#13428) (623675d)
-
cloudfront: cannot add two EdgeFunctions with same aliases (#13324) (1f35351), closes #13237
-
cloudwatch: cannot create Alarms from labeled metrics that start with a digit (#13560) (278029f), closes #13434
-
cloudwatch: MathExpression period of <5 minutes is not respected (#13078) (d9ee914), closes #9156
-
cloudwatch: metric
label
not rendered into Alarms (#13070) (cbcc712) -
codebuild: allow FILE_PATH webhook filter for BitBucket (#13186) (cbed348), closes #13175
-
codebuild: allow passing the ARN of the Secret in environment variables (#13706) (6f6e079), closes #12703
-
codebuild: Fixed build spec file format to return yaml (#13445) (fab93c6)
-
codebuild: module fails to load with error "Cannot use import statement outside a module" (b1ffd33), closes #13699 #13699
-
codedeploy: script installing CodeDeploy agent fails (#13758) (25e8d04), closes #13755
-
codedeploy: Use aws-cli instead of awscli for yum (#13655) (449ce12)
-
codepipeline-actions: BitBucketAction fails with S3 "Access denied" error (#13637) (77ce45d), closes #13557
-
cognito: imported userpool not retaining environment from arn (#13715) (aa9fd9c), closes #13691
-
core:
toJsonString()
cannot handle list intrinsics (#13544) (a5be042), closes #13465 -
core: custom resource provider NODEJS_12 now looks like Lambda's NODEJS_12_X, add Node 14 (#13301) (3413b2f)
-
dynamodb: replicas not created on table replacement (#13300) (c7c424f), closes #12332
-
ec2: fix typo's in WindowsImage constants (#13446) (781aa97)
-
ec2: NAT provider's default outbound rules cannot be disabled (#12674) (664133a), closes #12673
-
ec2: Security Groups support all protocols (#13593) (8c6b3eb), closes #13403
-
ec2: Throw error on empty InitFile content (#13009) (#13119) (81a78a3)
-
ecr: Allow referencing an EcrImage by digest instead of tag (#13299) (266a621), closes #5082
-
ecr: Generate valid CloudFormation for imageScanOnPush (#13420) (278fba5), closes #13418
-
ecs: services essential container exceptions thrown too soon (#13240) (c174f6c), closes #13239
-
elasticloadbalancingv2: should allow more than 2 certificates (#13332) (d3155e9), closes #13150
-
elasticloadbalancingv2: upgrade to v1.92.0 drops certificates on ALB if more than 2 certificates exist (#13490) (01b94f8), closes #13332 #13437
-
events: cannot trigger multiple Lambdas from the same Rule (#13260) (c8c1762), closes #13231
-
init: Python init template's stack ID doesn't match other languages (#13480) (3f1c02d)
-
use NodeJS 14 for all packaged custom resources (#13488) (20a2820), closes #13534 #13484
-
events: imported ECS Task Definition cannot be used as target (#13293) (6f7cebd), closes #12811
-
events: imported EventBus does not correctly register source account (#13481) (57e5404), closes #13469
-
events,applicationautoscaling: specifying a schedule rate in seconds results in an error (#13689) (5d62331), closes #13566
-
iam: oidc-provider can't pull from hosts requiring SNI (#13397) (90dbfb5)
-
iam: policy statement tries to validate tokens (#13493) (8d592ea), closes #13479
-
lambda: fromDockerBuild output is located under /asset (#13539) (77449f6), closes #13439
-
lambda: incorrect values for prop UntrustedArtifactOnDeployment (#13667) (0757686), closes #13586
-
lambda-nodejs: paths with spaces break esbuild (#13312) (f983fbb), closes #13311
-
neptune: create correct IAM statement in grantConnect() (#13641) (2e7f046), closes #13640
-
python: change Python namespace to
aws_cdk
(#13489) (2ff5ca1) -
rds: fail with a descriptive error if Cluster's instance count is a deploy-time value (#13765) (dd22e8f), closes #13558
-
region-info: ap-northeast-3 data not correctly registered (#13564) (64da84b), closes #13561
-
s3: Notifications fail to deploy due to incompatible node runtime (#13624) (26bc3d4)
-
s3: Notifications fail to deploy due to incompatible node runtime (#13624) (aa32cf6)
-
stepfunctions:
SageMakeUpdateEndpoint
adds insufficient permissions (#13170) (6126e49), closes #11594 -
stepfunctions: no validation on state machine name (#13387) (6c3d407), closes #13289
-
core: remove all references to BundlingDockerImage in the public API (#13814) (9cceb3f)
-
lambda-nodejs: prepare code to reduce merge conflicts when deprecated APIs are stripped (#13738) (ca391b5)