Highlights
- Python support (experimental)
- You can now run the CLI through
npx cdk
- Make sure to go through the BREAKING CHANGES section below
Bug Fixes
- autoscaling: verify public subnets for associatePublicIpAddress (#2077) (1e3d41e)
- ec2: descriptive error message when selecting 0 subnets (#2025) (0de2206), closes #2011
- lambda: use Alias ARN directly (#2091) (bc40494)
- rds: remove Instance class (#2081) (6699fed)
- secretsmanager: allow templated string creation (#2010) (4e105a3)
- secretsmanager/ssm: verify presence of parameter name (#2066) (b93350f)
- serverless: rename aws-serverless to aws-sam (#2074) (4a82f13)
- stepfunctions: make Fail.error optional (#2042) (86e9d03)
Code Refactoring
- readonly struct properties and hide internals (#2106) (66dd228), closes awslabs/cdk-ops#321
Features
- toolkit:: new 'cdk' package to allow executing the cli through
npx cdk
(#2113) (32bca05) - Python Support (#2009) (e6083fa)
- core: present reason for cyclic references (#2061) (e82e208)
- lambda: add support for log retention (#2067) (63132ec), closes #667 #667
- rds: cluster retention, reference KMS key by object (#2063) (99ab46d)
- secretsmanager/rds: support credential rotation (#2052) (bf79c82)
- toolkit: introduce the concept of auto-deployed Stacks. (#2046) (abacc66)
BREAKING CHANGES
- lambda:
cloudWatchLogsRetentionTimeDays
in@aws-cdk/aws-cloudtrail
now uses alogs.RetentionDays
instead of aLogRetention
. - core:
stack._toCloudFormation
method is now unavailable and is replaced by@aws-cdk/assert.SynthUtils.toCloudFormation(stack)
. - rds: replaced
kmsKeyArn: string
bykmsKey: kms.IEncryptionKey
inDatabaseClusterProps
- autoscaling:
VpcNetwork.isPublicSubnet()
has been renamed to
VpcNetwork.isPublicSubnetIds()
. - serverless: renamed
aws-serverless
toaws-sam
- ec2:
vpcPlacement
has been renamed tovpcSubnets
on all objects,subnetsToUse
has been renamed tosubnetType
.
natGatewayPlacement
has been renamed tonatGatewaySubnets
. - All properties of all structs (interfaces that do not begin with an "I") are now readonly since it is passed by-value and not by-ref (Python is the first language to require that). This may impact code in all languages that assumed it is possible to mutate these structs. Let us know if this blocks you in any way.