Releases: aws/aws-cdk
Releases · aws/aws-cdk
v0.39.0
Bug Fixes
- codepipeline: mark crossRegionReplicationBuckets and crossRegionSupport as experimental. (#3226) (f8256e7)
- assets: packages
assets
,aws-ecr-assets
andaws-s3-assets
are now experimental instead of stable
BREAKING CHANGES
- codepipeline: Pipeline.crossRegionReplicationBuckets is now experimental
- codepipeline: Pipeline.crossRegionSupport is now experimental
- codepipeline: CrossRegionSupport is now experimental
- assets: package
assets
is now experimental instead of stable - aws-ecr-assets: package
aws-ecr-assets
is now experimental instead of stable - aws-s3-assets: package
aws-s3-assets
is now experimental instead of stable
v0.38.0
Bug Fixes
- cli: exclusively is also '-e' for destroy (#3216) (d6f5207), closes #2367
- cloudwatch: AlarmWidget takes IAlarm (#3219) (9948bfd), closes #3068
- core: fix build errors in fsharp init-template (#3229) (7d020f1)
- core: UpdateReplacePolicy mirrors DeletionPolicy (#3217) (d61bd2c), closes #2901
- ecr: repository grant uses correct resource ARN (#3220) (cc2275c), closes #2473
- iam: fix managed policies for User (#3221) (ec1c5b7), closes #2557
- make capitalization of Ip/Az consistent (#3202) (d60d673)
Features
- use classes for structs in Python (#3232) (161a459)
- codebuild: allow specifying principals and credentials for pulling build images. (#3049) (3319fe5), closes #2175
BREAKING CHANGES
- codebuild:
LinuxBuildImage.fromDockerHub()
has been renamed tofromDockerRegistry()
andWindowsBuildImage.fromDockerHub()
has been renamed tofromDockerRegistry()
- iam:
aws-iam.User
andGroup
:managedPolicyArns
=>
managedPolicies
. - in all identifiers, renamed
IPv4
=>Ipv4
,IPv6
=>
Ipv6
,AZs
=>Azs
.
v0.37.0
Bug Fixes
- core: fix some return types (#3192) (b5997c3)
- ecs: grant drain-hook policy container-instance permissions (#3199) (7796cd7), closes #3190
- sns: allow tokens to be used in UrlSubscription (#2938) (5ce4141)
- ssm: correctly deduplicate parameter names (#3183) (47bf435), closes #3076
- stepfunctions: Downscope SageMaker permissions (#2991) (69c82c8)
BREAKING CHANGES
- core:
construct.findChild()
now only looks up direct children - ec2:
Port.toRuleJSON
was renamed totoRuleJson
- codebuild:
PipelineProject.addSecondaryArtifact
now returns void (formerly any) - codebuild:
Project.addSecondaryArtifact
now returns void (formerly any)
v0.36.2
Bug Fixes
- cli: generate metadata resource for region-independent stacks (#3149) (0fb7ea3), closes #3142
- cli: stop processing on metadata errors (#3168) (0936bde)
- codepipeline: correctly pass the replication buckets to Action.bind() (#3131) (99ae5e7)
- codepipeline: grant missing permisisons to the CloudFormationExecuteChangeSetAction. (#3178) (958acc2), closes #3160
- codepipeline: grant the CodeCommit source Action read-write permissions to the Pipeline's Bucket. (#3175) (bd46e49), closes #3170
- core: prevent volatile physical name generation (#2984) (af2680c)
- ecs: remove temporary workaround for long arn support (#3072) (9fdb63f), closes #2176
Features
v0.36.1
Bug Fixes
- aws-codepipeline-actions: use SecretValue (#3097) (b84caab)
- cli: fix broken sample-app templates for TypeScript and JavaScript (#3101) (800ecf2)
- cli: fix broken test in Java init template (#3108) (f696efc), closes #3065
- cli: fix Python sample-app template (#3071) (796d6bb), closes #3058 #3069
- cli: improve description of --json to reflect behavior (#3086) (68cfa54), closes #2965
- cli: Python blank app should call app.synth(), not app.run() (16345dc), closes #3123
- cli: update TypeScript lib init template (#3134) (629e963)
- code: make CfnResource#_toCloudFormation null-safe (#3121) (71cb421), closes #3093
- codepipeline-actions: set service as backing resource for EcsDeployAction (#3085) (f2293e0)
- core: improve context providers error message for env-agnostic stacks (#3137) (5b80146), closes #2922 #3078 #3120 #3130
- documentation: auto-labeling fixed (#3089) (7fb82ad)
- documentation: removed duplicate generated template (#3090) (590b05c)
- elasticloadbalancingv2: fix to be able to set deregistrationDelay (#3075) (22ab4b4)
- events: correct token resolution in RuleTargetInput (#3127) (a20c841), closes #3119
- sns: create subscriptions in consumer scope (#3065) (64a203f), closes #3064
Features
- apigateway: support custom domain names (#3135) (52b136b), closes #3103
- aws-apigateway: expand RestApi support to models, parameters and validators (#2960) (12e6380), closes #905 #1695 #727 #723 #2957
- codepipeline: generate a Role for every AWS-owned Action used in a Pipeline. (#3105) (921dcc9)
- core: add Tokenization.isResolvable for aspects (#3122) (d3a417e), closes #3026
- dynamodb: support RemovalPolicy (#3028) (a6175be), closes #2710
v0.36.0
Bug Fixes
- certificatemanager: increase wait time for DNS validation (#2961) (5b5ca48), closes #2914
- cli: disable line folding in YAML (#2964) (0dabb02), closes #2703
- cloudfront: fixes typos in cloudfront docs (#3021) (46b3292), closes #3019
- core: incorrect arg type on Fn.eachMemberIn (#2958) (5baa31f), closes #2950
- core: record DependableTrait directly on instance (#2962) (e535929), closes #2713
- elbv2: restrict ALB access logs bucket permissions to minimum (#2929) (370b905)
- rds: correctly expose DatabaseCluster's read endpoint (#2970) (2d50c18), closes #2969
- ecr: align IRepository events to RepositoryBase (#3036) (f51760f), closes #2921
- route53: dummy hosted zone has right name (#2995) (76b5309), closes #2076
- sfn: pass support non-object Result types (#2811) (5282a08)
- stepfunctions: fix passing of Token in RunLambdaTask (#2939) (58a80ab), closes #2937
- cli: ensure asset zips are consistently produced (#2931) (9101161), closes #1997 #2759
Code Refactoring
- rename all L1 enum-like members to ALL_CAPS #3024 #3023, #3018 #980 #2989 #2918 #2287
- cx-api: bump cli <=> cdk protocol version (#2956) (8ab84ec), closes #2922
- cloudformation: extract "custom-resources" module (#3027) (767687d), closes #2951
- codepipeline: API cleanup. (#2982) (13025c4)
- codepipeline: change the API of cross-region replication Buckets. (#2977) (98afdeb)
- codepipeline: introduce IAction and unify the Action.bind() signature (#3012) (089fc93)
- core: additional api cleanups (#2972) (7fb6fd6), closes #2971
- core: CfnResource.options => cfnOptions (#3030) (e537e4c)
- core: rename "Stack.autoRun" to "autoSynth" (#3016) (3b44791)
- core: rename @aws-cdk/cdk to @aws-cdk/core (#2932) (4a0272d), closes #2733
- ecs: hide
clusterName
from Services (#2980) (a6e4f6a)
Features
- Support physical names in the entire Construct Library (#2894) (d9d3a99)
- codepipeline-actions: Add CAPABILITY_AUTO_EXPAND (#2851) (#2852) (c9340a6)
- core: environment-agnostic cloud assemblies (#2922) (c75d245), closes #2866
- core: Introduced Duration class (#2857) (2ceec6c)
- ecs: change the default Amazon Linux generation to v2 (#3009) (32e3421), closes #3005
- ecs: set default health check grace period to 60s (#2942) (0535d36), closes #2936
- events: make target optional in
onXxx()
methods (#2921) (ea10f0d), closes #2913 - issues: new format for issue templates (#2917) (67f6de0)
- sns: add support for subscription filter policy (#2778) (ae789ed)
BREAKING CHANGES
- IMPORTANT: previous versions of the CDK CLI will not be fully compatible with this version of the framework and vice versa.
- core: the
@aws-cdk/cdk
module was renamed to@aws-cdk/core
, python:aws_cdk.core
, java: the artifactcdk
in groupIdsoftware.amazon.awscdk
was renamed tocore
- all enum and public static readonly members have been renamed to use "ALL_CAPS" capitalization
- properties throughout the AWS Construct Libraries that represent lengths of time have been re-typed to be
@aws-cdk/cdk.Duration
instead ofnumber
, and were renamed to exclude any unit indication. - core: The deprecated
app.run()
has been removed (useapp.synth()
). - core: The
CfnResource.options
property was renamed toCfnResource.cfnOptions
to avoid conflicts with properties introduced by derived classes. - core
CfnXxx.cfnResourceTypeName
is nowCFN_RESOURCE_TYPE_NAME
in generated CFN resources. - core:
ContextProvider
is no longer designed to be extended. UseContextProvider.getValue
andContextProvider.getKey
as utilities. - core:
Context.getSsmParameter
has been removed. Usessm.StringParameter.valueFromLookup
- core:
Context.getAvailabilityZones
has been removed. Usestack.availabilityZones
- core:
Context.getDefaultAccount
andgetDefaultRegion
have been removed an no longer available. Use the environment variablesCDK_DEFAULT_ACCOUNT
andCDK_DEFAULT_REGION
instead. - core:
StackProps.autoRun
was renamed toStackProps.autoSynth
. - core:
CfnElement.refAsString
renamed toref
ofstring
type. TheIResolvable
version have been removed. - core:
IStringValue
renamed toIStringProducer
- core:
Include
renamed toCfnInclude
- core:
Cfn
prefix was added to the following types:CfnCreationPolicy
,CfnResourceAutoScalingCreationPolicy
,CfnResourceAutoScalingCreationPolicy
,CfnDeletionPolicy
,CfnUpdatePolicy
,CfnAutoScalingRollingUpdate
,CfnAutoScalingReplacingUpdate
,CfnAutoScalingScheduledAction
,CfnCodeDeployLambdaAliasUpdate
,CfnTag
CfnRuleAssertion
,CfnDynamicReferenceProps
- core:
deepMerge
is no longer exported. - core:
CfnOutputProps.export
was renamed toexportName
. - core:
CfnOutput
all properties are now private - core:
StringListCfnOutput
has been removed - core: all instance methods of
Fn
were madestatic
, and theFn
constructor was made private. - ec2:
VpcNetworkProvider
has been removed. UseVpc.fromLookup
. - ec2:
ec2.MachineImage
will now resolve AMIs from SSM during deployment. - ecs:
ecs.EcsOptimizedAmi
will now resolve AMis from SSM during deployment. - ecs: previously, the default generation is conditionally set to Amazon Linux v1 if
hardwareType
wasSTANDARD
. Now it always de...
v0.35.0
Bug Fixes
- cli: Move version check TTL file to home directory (#2774) (1ae11c0)
- cli: correctly pass Stack-level Tags (#2829) (e0718ef), closes #2822
- cli: Hide @types/yargs types from types (#2907) (095d8e2), closes #2895
- cloudformation-diff: string.replace error on
cdk context
(#2870) (b8a1c8e), closes #2854 - codebuild: API cleanup. (#2745) (c3667d7)
- codebuild: correctly handle permissions for Projects inside VPC. (#2662) (390baf1), closes #2651 #2652
- core: make IResolvable.creationStack required (#2912) (7c6ebb6)
- core: use default account/region when environment is not specified (#2867) (e9a4a79), closes #2728 #2853 #2866
- ecs: downscope permissions required by instance draining hook (#2761) (9ea6148)
- ecs-patterns: update constructs for ECS/Fargate consistency (#2795) (1378e2d)
- events-targets: event targets can have the same construct id (#2744) (210dd0f), closes #2377
- iam: support adding permissions to imported roles (#2805) (936464f), closes #2381 #2651 #2652 #2662
- cli: Correct java init template (#2889) (b3b3ba9)
- rds: allow setting backupRetentionPeriod=0 (#2875) (b0730dd)
- rds: fix unresolved endpoint socket address (#2846) (902636a), closes #2711
- sqs: remove 'Batch' permissions (#2806) (654cb37), closes #2381
Code Refactoring
- apigateway: API cleanups (#2903) (53e1191)
- assets: API cleanups (#2910) (83eee09)
- codebuild: introduce BuildSpec object (#2820) (86a2192)
- codepipeline: rename
name
inStageProps
tostageName
. (#2882) (be574a1) - core: revisit the Stack API (#2818) (47afdc2), closes #2728
- dynamodb: API cleanups (#2905) (d229836)
- ecs: Asset ContainerImage no longer takes Construct arguments (#2906) (8f400e7)
- ecs: rename
hwType
tohardwareType
(#2916) (1aa0589), closes #2896 - lambda: renamed the lambda.Runtime enum values from NodeJS to Nodejs (#2815) (10c37dd), closes #980
- lambda: Standardize Lambda API (#2876) (6446b78)
- logs: API cleanups (#2909) (06221ac)
- secretsmanager: API cleanups (#2908) (60f46c8)
- ssm: API cleanups (#2904) (bd1bcf5)
- clean up API for removal policy across the library (#2893) (65014ab)
- sns: move subscribers to
aws-sns-subscribers
(#2804) (9ef899c) - events: clean up Events APIs (#2840) (1e23921), closes #2840
- iam: cleanup of IAM library (#2823) (b735d1c), closes #2823
Features
- cli: Expose props in CFN resources and remove propertyOverrides (#2372) (#2372) (aa61dfb), closes #2100
- cli: deploy/destory require explicit stack selection if app contains more than a single stack (#2772) (118a716), closes #2731
- cli: Remove stack rename support (#2819) (0f30e39), closes #2670
- cloudformation: add option to restrict data returned AwsCustomResource (#2859) (a691900), closes #2825
- cloudformation: Add removalPolicy on CustomResource (#2770) (859248a)
- cloudfront: add Lambda associations (#2760) (b088c8c)
- codepipeline: final form of the CodeBuild Pipeline action. (#2716) (c10fc9a)
- core: show token creation stack trace upon resolve error (#2886) (f4c8dcd)
- ecs: add metrics for Fargate services (#2798) (acf015d)
- ecs-patterns: LoadBalancedFargateService - allow specifying containerName and role (#2764) (df12197)
- elasticloadbalancing: add crossZone load balancing (#2787) (192bab7), closes #2786
- lambda: Expose $LATEST function version (#2792) (55d1bc8), closes #2776
- s3: add CORS Property to S3 Bucket (#2101) (#2843) (1a386d8)
- s3: add missing storage classes and API cleanups (#2834) (5cd9609), closes #2708
- stepfunctions: add grantStartExecution() ([#2793](https://github.com...
v0.34.0
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.
v0.33.0
IMPORTANT: apps created with the CDK version 0.33.0 and above cannot be used with an older CLI version.
Bug Fixes
- core: Fn.cidr should return a list and not a string (#2678) (9d2ea2a), closes #2671
- cli: fix ts-node usage on Windows (#2660) (5fe0af5)
- cli: make
cdk docs
open the new API reference (#2633) (6450758) - cli: correctly pass build args to docker build (#2634) (9c58d6f)
- core: hide
dependencyRoots
from public API (#2668) (2ba5ad2), closes #2348 - autoscaling: move lifecycle hook targets to their own module (#2628) (b282132), closes #2447
- codepipeline: no longer allow providing an index when adding a Stage to a Pipeline. (#2624) (ce39b12)
- codepipeline-actions: correctly serialize the userParameters passed to the Lambda invoke Action. (#2537) (ceaf54a)
- cx-api: improve compatibility messages for cli <=> app (#2676) (38a9894)
- ecs: move high level ECS constructs into aws-ecs-patterns (#2623) (f901313)
- logs: move log destinations into 'aws-logs-destinations' (#2655) (01601c2), closes #2444
- s3: move notification destinations into their own module (#2659) (185951c), closes #2445
Features
- cli: decouple "synth" and "deploy" through cloud assemblies (#2636) (c52bcfc), closes #1893 #2093 #1954 #2310 #2073 #1245 #341 #956 #233 #2016
- acm: allow specifying region for validated certificates (#2626) (1a7d4db)
- apigateway: support for UsagePlan, ApiKey, UsagePlanKey (#2564) (203f114), closes #723
- autoscaling: allow setting spotPrice (#2571) (d640055), closes #2208
- cfn: update CloudFormation spec to v3.3.0 (#2669) (0f553ee)
- cli: disable
noUnusedLocals
andnoUnusedParameters
from typescript templates (#2654) (b061826) - cloudformation: aws-api custom resource (#1850) (9a48b66)
- cloudwatch: support all Y-Axis properties (#2406) (8904c3e), closes #2385
BREAKING CHANGES
- logs: using a Lambda or Kinesis Stream as CloudWatch log subscription destination now requires an integration object from the
@aws-cdk/aws-logs-destinations
package. - codepipeline-actions: removed the
addPutJobResultPolicy
property when creating LambdaInvokeAction. - cli:
--interactive
has been removed - cli:
--numbered
has been removed - cli:
--staging
is now a boolean flag that indicates whether assets should be copied to the--output
directory or directly referenced (--no-staging
is useful for e.g. local debugging with SAM CLI) - assets: Assets (e.g. Lambda code assets) are now referenced relative to the output directory.
- assert:
SynthUtils.templateForStackName
has been removed (useSynthUtils.synthesize(stack).template
). - cx-api:
cxapi.SynthesizedStack
renamed tocxapi.CloudFormationStackArtifact
with multiple API changes. - core:
cdk.App.run()
now returns acxapi.CloudAssembly
instead ofcdk.ISynthesisSession
. - s3: using a Topic, Queue or Lambda as bucket notification destination now requires an integration object from the
@aws-cdk/aws-s3-notifications
package. - autoscaling: using a Topic, Queue or Lambda as Lifecycle Hook Target now requires an integration object from the
@aws-cdk/aws-autoscaling-hooktargets
package. - codepipeline: the property atIndex has been removed from the StagePlacement interface.
- aws-ecs: These changes move all L3 and higher constructs out of the aws-ecs module into the aws-ecs-patterns module. The following constructs have been moved into the aws-ecs-patterns module:
EcsQueueWorkerService
,FargateQueueWorkerService
,LoadBalancedEcsService
,LoadBalancedFargateService
andLoadBalancedFargateServiceApplets
. - cloudwatch: rename
leftAxisRange
=>leftYAxis
,rightAxisRange
=>rightYAxis
, renameYAxisRange
=>YAxisProps
.
v0.32.0
Bug Fixes
- update all 'onXxx' methods to be CloudWatch Events (#2609) (28942d2), closes #2278
- appscaling: fix StepScaling (#2522) (1f004f6)
- aws-ecs: allow linux parameters to be settable (#2397) (417e5e8), closes #2380
- aws-glue: fix glue tableArn and integer schema name (#2585) (99e173e)
- cdk: CfnMapping.findInMap with tokens (#2531) (756e2b6), closes #1363
- cloudfront: Use regional endpoint for S3 bucket origins (64c3c6b)
- codebuild: correctly pass the VPC subnet IDs to the Policy Statement's condition when using a VPC. (#2506) (145da28), closes #2335
- codecommit: add a Repository.fromRepositoryName() method. (#2515) (6fc3718), closes #2514
- codedeploy: change the load balancer API in server Deployment Group. (#2548) (8e05d49), closes #2449
- codepipeline: correctly validate Artifacts used by Actions in the same Stage. (#2558) (cfe46f6), closes #2549
- core: Correctly search for loaded modules in node 12 (#2612) (286866a), closes nodejs/node#27583
- ec2: allow disabling privateDnsEnabled on VPCs (#2596) (4d2fbe9), closes #2556
- ec2: fix VPC endpoint name for SageMaker Notebooks (#2598) (aec8ec2)
- iam: allow CompositePrincipal construction with spread (#2507) (eb13741)
- lambda: compare Runtimes by value instead of identity (#2543) (584579e)
- lambda: deprecate old Lambda runtimes (#2594) (20f4ec1)
- route53-targets: move Alias Targets into their own package (#2617) (f40fe98), closes #2448
- s3: Make IBucket.arnForObject accept only (exactly) one key pattern (5ac6e77)
Code Refactoring
- remove "export"s and normalize resource names (#2580) (68efa04), closes #2577 #2578 #2458 #2419 #2579 #2313 #2551
- use construct interfaces in public api (awslint:ref-via-interface) (#2499) (f9c6ad6), closes #2412
Features
- assets: Add deploy-time content hash (#2334) (9b4db42), closes #1400
- aws-cdk: use ts-node for TypeScript templates (#2527) (4f7b48d), closes #1532
- aws-codepipeline: Pipeline now accepts existing IAM role (#2587) (eb35807), closes #2572
- aws-ecs: add ECS/Fargate QueueWorkerService constructs (#2568) (7dd0e1a)
- aws-ecs: include GPU & ARM based ECS optimized AMI options (#2453) (45abfcd)
- aws-ecs-patterns: add ScheduledEc2Task L3 construct (#2336) (b9cbb6a)
- cdk: support encoding Tokens as numbers (#2534) (b9eeaa0), closes #1455
- cli: Add javascript for init-templates/app (#2525) (2c5676a), closes #398
- cli: add javascript init-templates 'sample-app' (#2535) (67960f8)
- codebuild: add support for local cache modes (#2529) (e7ad990), closes #1956
- codebuild: rename standard 1.0 image and add standard 2.0 image (#2541) (e4e24ab), closes #2306
- config: AWS Config, Managed and Custom rules (#2326) (deed353)
- ecs: allow to specify log retention for aws log driver (#2511) (1feda0c)
- events: group CW Event Targets in module (#2576) (7cb8e5e), closes #2403 #2404 #2581
- lambda: add NodeJS10x runtime (#2544) (553577a)
- s3: add MetricsConfiguration Property to S3 Bucket (#2163) (1cc43b3)
- stepfunctions: add service integrations (#1646) (e4ac767)
- stepfunctions: ExecutionTime metric (#2498) (84fda45)
- toolkit: allow to pass build args to docker build (#2604) (c51596e)
- toolkit: show when new version is available (#2484) (6cf4bd3), closes #297
BREAKING CHANGES
- route53-targets: using a CloudFront Distribution or an ELBv2
Load Balancer as an Alias Record Target now requires an integration
object from the@aws-cdk/aws-route53-targets
package. - s3: The
IBucket.arnForObject
method no longer
concatenates path fragments on your behalf. Pass the/
-concatenated
key pattern instead. - All
export
methods from all AWS resources have been removed. CloudFormation Exports are now automatically created when attributes are referenced across stacks within the same app. To export resources manually, you can explicitly define aCfnOutput
. - kms:
kms.EncryptionKey
renamed tokms.Key
- ec2:
ec2.VpcNetwork
renamed toec2.Vpc
- ec2:
ec2.VpcSubnet
renamed toec2.Subnet
- cloudtrail:
cloudtrail.CloudTrail
renamedto
cloudtrail.Trail` - Deleted a few
XxxAttribute
andXxxImportProps
interfaces which were no longer in used after their correspondingexport
method was deleted and there was no use for them in imports. - ecs:
ecs.ClusterAttributes
now acceptsIVpc
andISecurityGroup
instead of attributes. You can use th...